@etherisc/gif-next 0.0.2-9141c0d → 0.0.2-9a053fa-993
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +204 -1
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +4 -0
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +174 -0
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +4 -0
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +174 -0
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +356 -0
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +279 -0
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/components/Pool.sol/Pool.json +387 -0
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/components/Product.sol/Product.json +305 -0
- package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +4 -0
- package/artifacts/contracts/experiment/errors/Require.sol/Require.json +105 -0
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +4 -0
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +105 -0
- package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +4 -0
- package/artifacts/contracts/experiment/inheritance/A.sol/A.json +128 -0
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +4 -0
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +42 -0
- package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +4 -0
- package/artifacts/contracts/experiment/inheritance/B.sol/B.json +76 -0
- package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +4 -0
- package/artifacts/contracts/experiment/inheritance/C.sol/C.json +89 -0
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +4 -0
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +128 -0
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +4 -0
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +37 -0
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +4 -0
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +50 -0
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +4 -0
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +63 -0
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +4 -0
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +59 -0
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +4 -0
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +124 -0
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +4 -0
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +74 -0
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +4 -0
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +124 -0
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +4 -0
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +207 -0
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +4 -0
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +10 -0
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +4 -0
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +10 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +4 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +2022 -0
- package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +4 -0
- package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +24 -0
- package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.dbg.json +4 -0
- package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.json +50 -0
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +4 -0
- package/artifacts/contracts/instance/Instance.sol/Instance.json +2288 -0
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +313 -0
- package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +333 -0
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.json +10 -0
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +333 -0
- package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +276 -0
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +4 -0
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.json +10 -0
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +276 -0
- package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +188 -0
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +10 -0
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +188 -0
- package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.json +134 -0
- package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.json +182 -0
- package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.json +221 -0
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +4 -0
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.json +10 -0
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +261 -0
- package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +261 -0
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +4 -0
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +10 -0
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +149 -0
- package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +149 -0
- package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.json +10 -0
- package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.json +10 -0
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +4 -0
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +10 -0
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +538 -0
- package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +4 -0
- package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +76 -0
- package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +538 -0
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +519 -0
- package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.json +300 -0
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +364 -0
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +376 -0
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +477 -0
- package/artifacts/contracts/instance/service/IService.sol/IService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IService.sol/IService.json +300 -0
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +499 -0
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +685 -0
- package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.json +300 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +4 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +597 -0
- package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +4 -0
- package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +452 -0
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +305 -0
- package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +24 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +4 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.json +472 -0
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +35 -0
- package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +4 -0
- package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +24 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +121 -0
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +164 -0
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +121 -0
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +164 -0
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +4 -0
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +95 -0
- package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +4 -0
- package/artifacts/contracts/test/TestPool.sol/TestPool.json +387 -0
- package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +4 -0
- package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +393 -0
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +4 -0
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +137 -0
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +4 -0
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +82 -0
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +4 -0
- package/artifacts/contracts/test/TestService.sol/TestService.json +407 -0
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +4 -0
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +338 -0
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +4 -0
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +222 -0
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +4 -0
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +230 -0
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +10 -0
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +174 -0
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +10 -0
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +92 -0
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +10 -0
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +92 -0
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/StateId.sol/StateIdLib.json +92 -0
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +4 -0
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +236 -0
- package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +4 -0
- package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +453 -0
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/types/Version.sol/VersionLib.json +78 -0
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +30 -0
- package/contracts/components/BaseComponent.sol +89 -0
- package/contracts/components/IBaseComponent.sol +19 -0
- package/contracts/components/IPoolComponent.sol +57 -0
- package/contracts/components/IProductComponent.sol +19 -0
- package/contracts/components/Pool.sol +174 -0
- package/contracts/components/Product.sol +117 -0
- package/contracts/experiment/errors/Require.sol +38 -0
- package/contracts/experiment/errors/Revert.sol +44 -0
- package/contracts/experiment/inheritance/A.sol +53 -0
- package/contracts/experiment/inheritance/B.sol +28 -0
- package/contracts/experiment/inheritance/C.sol +34 -0
- package/contracts/experiment/inheritance/IA.sol +13 -0
- package/contracts/experiment/inheritance/IB.sol +10 -0
- package/contracts/experiment/inheritance/IC.sol +12 -0
- package/contracts/experiment/statemachine/Dummy.sol +27 -0
- package/contracts/experiment/statemachine/ISM.sol +25 -0
- package/contracts/experiment/statemachine/README.md +112 -0
- package/contracts/experiment/statemachine/SM.sol +57 -0
- package/contracts/experiment/statemachine/SimpleStateMachine.sol +31 -0
- package/contracts/experiment/types/TypeA.sol +47 -0
- package/contracts/experiment/types/TypeB.sol +29 -0
- package/contracts/instance/IInstance.sol +50 -0
- package/contracts/instance/IInstanceLinked.sol +8 -0
- package/contracts/instance/IServiceLinked.sol +12 -0
- package/contracts/instance/Instance.sol +62 -0
- package/contracts/instance/InstanceBase.sol +74 -0
- package/contracts/instance/module/access/Access.sol +149 -0
- package/contracts/instance/module/access/IAccess.sol +53 -0
- package/contracts/instance/module/bundle/BundleModule.sol +228 -0
- package/contracts/instance/module/bundle/IBundle.sol +53 -0
- package/contracts/instance/module/component/ComponentModule.sol +104 -0
- package/contracts/instance/module/component/IComponent.sol +53 -0
- package/contracts/instance/module/lifecycle/ILifecycle.sol +47 -0
- package/contracts/instance/module/lifecycle/LifecycleModule.sol +89 -0
- package/contracts/instance/module/policy/IPolicy.sol +60 -0
- package/contracts/instance/module/policy/PolicyModule.sol +84 -0
- package/contracts/instance/module/pool/IPoolModule.sol +41 -0
- package/contracts/instance/module/pool/PoolModule.sol +87 -0
- package/contracts/instance/module/product/IProductModule.sol +6 -0
- package/contracts/instance/module/product/ProductModule.sol +8 -0
- package/contracts/instance/module/treasury/ITreasury.sol +104 -0
- package/contracts/instance/module/treasury/TokenHandler.sol +48 -0
- package/contracts/instance/module/treasury/TreasuryModule.sol +148 -0
- package/contracts/instance/service/ComponentOwnerService.sol +174 -0
- package/contracts/instance/service/ComponentServiceBase.sol +41 -0
- package/contracts/instance/service/IComponentOwnerService.sol +22 -0
- package/contracts/instance/service/IPoolService.sol +30 -0
- package/contracts/instance/service/IProductService.sol +58 -0
- package/contracts/instance/service/IService.sol +15 -0
- package/contracts/instance/service/PoolService.sol +98 -0
- package/contracts/instance/service/ProductService.sol +358 -0
- package/contracts/instance/service/ServiceBase.sol +39 -0
- package/contracts/registry/ChainNft.sol +159 -0
- package/contracts/registry/IChainNft.sol +21 -0
- package/contracts/registry/IRegistry.sol +57 -0
- package/contracts/registry/IRegistryLinked.sol +8 -0
- package/contracts/registry/Registry.sol +381 -0
- package/contracts/shared/ERC165.sol +21 -0
- package/contracts/shared/IOwnable.sol +6 -0
- package/contracts/shared/IRegisterable.sol +24 -0
- package/contracts/shared/IVersionable.sol +52 -0
- package/contracts/shared/Registerable.sol +86 -0
- package/contracts/shared/Versionable.sol +92 -0
- package/contracts/test/TestFee.sol +25 -0
- package/contracts/test/TestPool.sol +22 -0
- package/contracts/test/TestProduct.sol +44 -0
- package/contracts/test/TestRegisterable.sol +19 -0
- package/contracts/test/TestRoleId.sol +14 -0
- package/contracts/test/TestService.sol +35 -0
- package/contracts/{Dip.sol → test/TestToken.sol} +5 -5
- package/contracts/test/TestVersion.sol +47 -0
- package/contracts/test/TestVersionable.sol +20 -0
- package/contracts/types/AddressSet.sol +58 -0
- package/contracts/types/Blocknumber.sol +118 -0
- package/contracts/types/ChainId.sol +38 -0
- package/contracts/types/Fee.sol +32 -0
- package/contracts/types/NftId.sol +57 -0
- package/contracts/types/NftIdSet.sol +60 -0
- package/contracts/types/ObjectType.sol +115 -0
- package/contracts/types/RoleId.sol +36 -0
- package/contracts/types/StateId.sol +95 -0
- package/contracts/types/Timestamp.sol +123 -0
- package/contracts/types/UFixed.sol +206 -0
- package/contracts/types/Version.sol +91 -0
- package/package.json +20 -8
- package/artifacts/contracts/Dip.sol/DIP.dbg.json +0 -4
- package/artifacts/contracts/Dip.sol/DIP.json +0 -338
- package/artifacts/contracts/Lock.sol/Lock.dbg.json +0 -4
- package/artifacts/contracts/Lock.sol/Lock.json +0 -74
- package/contracts/Lock.sol +0 -34
@@ -0,0 +1,597 @@
|
|
1
|
+
{
|
2
|
+
"_format": "hh-sol-artifact-1",
|
3
|
+
"contractName": "ChainNft",
|
4
|
+
"sourceName": "contracts/registry/ChainNft.sol",
|
5
|
+
"abi": [
|
6
|
+
{
|
7
|
+
"inputs": [
|
8
|
+
{
|
9
|
+
"internalType": "address",
|
10
|
+
"name": "registry",
|
11
|
+
"type": "address"
|
12
|
+
}
|
13
|
+
],
|
14
|
+
"stateMutability": "nonpayable",
|
15
|
+
"type": "constructor"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"anonymous": false,
|
19
|
+
"inputs": [
|
20
|
+
{
|
21
|
+
"indexed": true,
|
22
|
+
"internalType": "address",
|
23
|
+
"name": "owner",
|
24
|
+
"type": "address"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"indexed": true,
|
28
|
+
"internalType": "address",
|
29
|
+
"name": "approved",
|
30
|
+
"type": "address"
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"indexed": true,
|
34
|
+
"internalType": "uint256",
|
35
|
+
"name": "tokenId",
|
36
|
+
"type": "uint256"
|
37
|
+
}
|
38
|
+
],
|
39
|
+
"name": "Approval",
|
40
|
+
"type": "event"
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"anonymous": false,
|
44
|
+
"inputs": [
|
45
|
+
{
|
46
|
+
"indexed": true,
|
47
|
+
"internalType": "address",
|
48
|
+
"name": "owner",
|
49
|
+
"type": "address"
|
50
|
+
},
|
51
|
+
{
|
52
|
+
"indexed": true,
|
53
|
+
"internalType": "address",
|
54
|
+
"name": "operator",
|
55
|
+
"type": "address"
|
56
|
+
},
|
57
|
+
{
|
58
|
+
"indexed": false,
|
59
|
+
"internalType": "bool",
|
60
|
+
"name": "approved",
|
61
|
+
"type": "bool"
|
62
|
+
}
|
63
|
+
],
|
64
|
+
"name": "ApprovalForAll",
|
65
|
+
"type": "event"
|
66
|
+
},
|
67
|
+
{
|
68
|
+
"anonymous": false,
|
69
|
+
"inputs": [
|
70
|
+
{
|
71
|
+
"indexed": true,
|
72
|
+
"internalType": "address",
|
73
|
+
"name": "from",
|
74
|
+
"type": "address"
|
75
|
+
},
|
76
|
+
{
|
77
|
+
"indexed": true,
|
78
|
+
"internalType": "address",
|
79
|
+
"name": "to",
|
80
|
+
"type": "address"
|
81
|
+
},
|
82
|
+
{
|
83
|
+
"indexed": true,
|
84
|
+
"internalType": "uint256",
|
85
|
+
"name": "tokenId",
|
86
|
+
"type": "uint256"
|
87
|
+
}
|
88
|
+
],
|
89
|
+
"name": "Transfer",
|
90
|
+
"type": "event"
|
91
|
+
},
|
92
|
+
{
|
93
|
+
"inputs": [],
|
94
|
+
"name": "GLOBAL_REGISTRY_ID",
|
95
|
+
"outputs": [
|
96
|
+
{
|
97
|
+
"internalType": "uint256",
|
98
|
+
"name": "",
|
99
|
+
"type": "uint256"
|
100
|
+
}
|
101
|
+
],
|
102
|
+
"stateMutability": "view",
|
103
|
+
"type": "function"
|
104
|
+
},
|
105
|
+
{
|
106
|
+
"inputs": [],
|
107
|
+
"name": "NAME",
|
108
|
+
"outputs": [
|
109
|
+
{
|
110
|
+
"internalType": "string",
|
111
|
+
"name": "",
|
112
|
+
"type": "string"
|
113
|
+
}
|
114
|
+
],
|
115
|
+
"stateMutability": "view",
|
116
|
+
"type": "function"
|
117
|
+
},
|
118
|
+
{
|
119
|
+
"inputs": [],
|
120
|
+
"name": "PROTOCOL_NFT_ID",
|
121
|
+
"outputs": [
|
122
|
+
{
|
123
|
+
"internalType": "uint256",
|
124
|
+
"name": "",
|
125
|
+
"type": "uint256"
|
126
|
+
}
|
127
|
+
],
|
128
|
+
"stateMutability": "view",
|
129
|
+
"type": "function"
|
130
|
+
},
|
131
|
+
{
|
132
|
+
"inputs": [],
|
133
|
+
"name": "SYMBOL",
|
134
|
+
"outputs": [
|
135
|
+
{
|
136
|
+
"internalType": "string",
|
137
|
+
"name": "",
|
138
|
+
"type": "string"
|
139
|
+
}
|
140
|
+
],
|
141
|
+
"stateMutability": "view",
|
142
|
+
"type": "function"
|
143
|
+
},
|
144
|
+
{
|
145
|
+
"inputs": [
|
146
|
+
{
|
147
|
+
"internalType": "address",
|
148
|
+
"name": "to",
|
149
|
+
"type": "address"
|
150
|
+
},
|
151
|
+
{
|
152
|
+
"internalType": "uint256",
|
153
|
+
"name": "tokenId",
|
154
|
+
"type": "uint256"
|
155
|
+
}
|
156
|
+
],
|
157
|
+
"name": "approve",
|
158
|
+
"outputs": [],
|
159
|
+
"stateMutability": "nonpayable",
|
160
|
+
"type": "function"
|
161
|
+
},
|
162
|
+
{
|
163
|
+
"inputs": [
|
164
|
+
{
|
165
|
+
"internalType": "address",
|
166
|
+
"name": "owner",
|
167
|
+
"type": "address"
|
168
|
+
}
|
169
|
+
],
|
170
|
+
"name": "balanceOf",
|
171
|
+
"outputs": [
|
172
|
+
{
|
173
|
+
"internalType": "uint256",
|
174
|
+
"name": "",
|
175
|
+
"type": "uint256"
|
176
|
+
}
|
177
|
+
],
|
178
|
+
"stateMutability": "view",
|
179
|
+
"type": "function"
|
180
|
+
},
|
181
|
+
{
|
182
|
+
"inputs": [
|
183
|
+
{
|
184
|
+
"internalType": "uint256",
|
185
|
+
"name": "tokenId",
|
186
|
+
"type": "uint256"
|
187
|
+
}
|
188
|
+
],
|
189
|
+
"name": "burn",
|
190
|
+
"outputs": [],
|
191
|
+
"stateMutability": "nonpayable",
|
192
|
+
"type": "function"
|
193
|
+
},
|
194
|
+
{
|
195
|
+
"inputs": [
|
196
|
+
{
|
197
|
+
"internalType": "uint256",
|
198
|
+
"name": "idIndex",
|
199
|
+
"type": "uint256"
|
200
|
+
}
|
201
|
+
],
|
202
|
+
"name": "calculateTokenId",
|
203
|
+
"outputs": [
|
204
|
+
{
|
205
|
+
"internalType": "uint256",
|
206
|
+
"name": "id",
|
207
|
+
"type": "uint256"
|
208
|
+
}
|
209
|
+
],
|
210
|
+
"stateMutability": "view",
|
211
|
+
"type": "function"
|
212
|
+
},
|
213
|
+
{
|
214
|
+
"inputs": [
|
215
|
+
{
|
216
|
+
"internalType": "uint256",
|
217
|
+
"name": "tokenId",
|
218
|
+
"type": "uint256"
|
219
|
+
}
|
220
|
+
],
|
221
|
+
"name": "exists",
|
222
|
+
"outputs": [
|
223
|
+
{
|
224
|
+
"internalType": "bool",
|
225
|
+
"name": "",
|
226
|
+
"type": "bool"
|
227
|
+
}
|
228
|
+
],
|
229
|
+
"stateMutability": "view",
|
230
|
+
"type": "function"
|
231
|
+
},
|
232
|
+
{
|
233
|
+
"inputs": [
|
234
|
+
{
|
235
|
+
"internalType": "uint256",
|
236
|
+
"name": "tokenId",
|
237
|
+
"type": "uint256"
|
238
|
+
}
|
239
|
+
],
|
240
|
+
"name": "getApproved",
|
241
|
+
"outputs": [
|
242
|
+
{
|
243
|
+
"internalType": "address",
|
244
|
+
"name": "",
|
245
|
+
"type": "address"
|
246
|
+
}
|
247
|
+
],
|
248
|
+
"stateMutability": "view",
|
249
|
+
"type": "function"
|
250
|
+
},
|
251
|
+
{
|
252
|
+
"inputs": [],
|
253
|
+
"name": "getRegistryAddress",
|
254
|
+
"outputs": [
|
255
|
+
{
|
256
|
+
"internalType": "address",
|
257
|
+
"name": "",
|
258
|
+
"type": "address"
|
259
|
+
}
|
260
|
+
],
|
261
|
+
"stateMutability": "view",
|
262
|
+
"type": "function"
|
263
|
+
},
|
264
|
+
{
|
265
|
+
"inputs": [
|
266
|
+
{
|
267
|
+
"internalType": "address",
|
268
|
+
"name": "owner",
|
269
|
+
"type": "address"
|
270
|
+
},
|
271
|
+
{
|
272
|
+
"internalType": "address",
|
273
|
+
"name": "operator",
|
274
|
+
"type": "address"
|
275
|
+
}
|
276
|
+
],
|
277
|
+
"name": "isApprovedForAll",
|
278
|
+
"outputs": [
|
279
|
+
{
|
280
|
+
"internalType": "bool",
|
281
|
+
"name": "",
|
282
|
+
"type": "bool"
|
283
|
+
}
|
284
|
+
],
|
285
|
+
"stateMutability": "view",
|
286
|
+
"type": "function"
|
287
|
+
},
|
288
|
+
{
|
289
|
+
"inputs": [
|
290
|
+
{
|
291
|
+
"internalType": "address",
|
292
|
+
"name": "to",
|
293
|
+
"type": "address"
|
294
|
+
},
|
295
|
+
{
|
296
|
+
"internalType": "uint256",
|
297
|
+
"name": "tokenId",
|
298
|
+
"type": "uint256"
|
299
|
+
}
|
300
|
+
],
|
301
|
+
"name": "mint",
|
302
|
+
"outputs": [],
|
303
|
+
"stateMutability": "nonpayable",
|
304
|
+
"type": "function"
|
305
|
+
},
|
306
|
+
{
|
307
|
+
"inputs": [
|
308
|
+
{
|
309
|
+
"internalType": "address",
|
310
|
+
"name": "to",
|
311
|
+
"type": "address"
|
312
|
+
},
|
313
|
+
{
|
314
|
+
"internalType": "string",
|
315
|
+
"name": "uri",
|
316
|
+
"type": "string"
|
317
|
+
}
|
318
|
+
],
|
319
|
+
"name": "mint",
|
320
|
+
"outputs": [
|
321
|
+
{
|
322
|
+
"internalType": "uint256",
|
323
|
+
"name": "tokenId",
|
324
|
+
"type": "uint256"
|
325
|
+
}
|
326
|
+
],
|
327
|
+
"stateMutability": "nonpayable",
|
328
|
+
"type": "function"
|
329
|
+
},
|
330
|
+
{
|
331
|
+
"inputs": [],
|
332
|
+
"name": "name",
|
333
|
+
"outputs": [
|
334
|
+
{
|
335
|
+
"internalType": "string",
|
336
|
+
"name": "",
|
337
|
+
"type": "string"
|
338
|
+
}
|
339
|
+
],
|
340
|
+
"stateMutability": "view",
|
341
|
+
"type": "function"
|
342
|
+
},
|
343
|
+
{
|
344
|
+
"inputs": [
|
345
|
+
{
|
346
|
+
"internalType": "uint256",
|
347
|
+
"name": "tokenId",
|
348
|
+
"type": "uint256"
|
349
|
+
}
|
350
|
+
],
|
351
|
+
"name": "ownerOf",
|
352
|
+
"outputs": [
|
353
|
+
{
|
354
|
+
"internalType": "address",
|
355
|
+
"name": "",
|
356
|
+
"type": "address"
|
357
|
+
}
|
358
|
+
],
|
359
|
+
"stateMutability": "view",
|
360
|
+
"type": "function"
|
361
|
+
},
|
362
|
+
{
|
363
|
+
"inputs": [
|
364
|
+
{
|
365
|
+
"internalType": "address",
|
366
|
+
"name": "from",
|
367
|
+
"type": "address"
|
368
|
+
},
|
369
|
+
{
|
370
|
+
"internalType": "address",
|
371
|
+
"name": "to",
|
372
|
+
"type": "address"
|
373
|
+
},
|
374
|
+
{
|
375
|
+
"internalType": "uint256",
|
376
|
+
"name": "tokenId",
|
377
|
+
"type": "uint256"
|
378
|
+
}
|
379
|
+
],
|
380
|
+
"name": "safeTransferFrom",
|
381
|
+
"outputs": [],
|
382
|
+
"stateMutability": "nonpayable",
|
383
|
+
"type": "function"
|
384
|
+
},
|
385
|
+
{
|
386
|
+
"inputs": [
|
387
|
+
{
|
388
|
+
"internalType": "address",
|
389
|
+
"name": "from",
|
390
|
+
"type": "address"
|
391
|
+
},
|
392
|
+
{
|
393
|
+
"internalType": "address",
|
394
|
+
"name": "to",
|
395
|
+
"type": "address"
|
396
|
+
},
|
397
|
+
{
|
398
|
+
"internalType": "uint256",
|
399
|
+
"name": "tokenId",
|
400
|
+
"type": "uint256"
|
401
|
+
},
|
402
|
+
{
|
403
|
+
"internalType": "bytes",
|
404
|
+
"name": "data",
|
405
|
+
"type": "bytes"
|
406
|
+
}
|
407
|
+
],
|
408
|
+
"name": "safeTransferFrom",
|
409
|
+
"outputs": [],
|
410
|
+
"stateMutability": "nonpayable",
|
411
|
+
"type": "function"
|
412
|
+
},
|
413
|
+
{
|
414
|
+
"inputs": [
|
415
|
+
{
|
416
|
+
"internalType": "address",
|
417
|
+
"name": "operator",
|
418
|
+
"type": "address"
|
419
|
+
},
|
420
|
+
{
|
421
|
+
"internalType": "bool",
|
422
|
+
"name": "approved",
|
423
|
+
"type": "bool"
|
424
|
+
}
|
425
|
+
],
|
426
|
+
"name": "setApprovalForAll",
|
427
|
+
"outputs": [],
|
428
|
+
"stateMutability": "nonpayable",
|
429
|
+
"type": "function"
|
430
|
+
},
|
431
|
+
{
|
432
|
+
"inputs": [
|
433
|
+
{
|
434
|
+
"internalType": "uint256",
|
435
|
+
"name": "tokenId",
|
436
|
+
"type": "uint256"
|
437
|
+
},
|
438
|
+
{
|
439
|
+
"internalType": "string",
|
440
|
+
"name": "uri",
|
441
|
+
"type": "string"
|
442
|
+
}
|
443
|
+
],
|
444
|
+
"name": "setURI",
|
445
|
+
"outputs": [],
|
446
|
+
"stateMutability": "nonpayable",
|
447
|
+
"type": "function"
|
448
|
+
},
|
449
|
+
{
|
450
|
+
"inputs": [
|
451
|
+
{
|
452
|
+
"internalType": "bytes4",
|
453
|
+
"name": "interfaceId",
|
454
|
+
"type": "bytes4"
|
455
|
+
}
|
456
|
+
],
|
457
|
+
"name": "supportsInterface",
|
458
|
+
"outputs": [
|
459
|
+
{
|
460
|
+
"internalType": "bool",
|
461
|
+
"name": "",
|
462
|
+
"type": "bool"
|
463
|
+
}
|
464
|
+
],
|
465
|
+
"stateMutability": "view",
|
466
|
+
"type": "function"
|
467
|
+
},
|
468
|
+
{
|
469
|
+
"inputs": [],
|
470
|
+
"name": "symbol",
|
471
|
+
"outputs": [
|
472
|
+
{
|
473
|
+
"internalType": "string",
|
474
|
+
"name": "",
|
475
|
+
"type": "string"
|
476
|
+
}
|
477
|
+
],
|
478
|
+
"stateMutability": "view",
|
479
|
+
"type": "function"
|
480
|
+
},
|
481
|
+
{
|
482
|
+
"inputs": [
|
483
|
+
{
|
484
|
+
"internalType": "uint256",
|
485
|
+
"name": "index",
|
486
|
+
"type": "uint256"
|
487
|
+
}
|
488
|
+
],
|
489
|
+
"name": "tokenByIndex",
|
490
|
+
"outputs": [
|
491
|
+
{
|
492
|
+
"internalType": "uint256",
|
493
|
+
"name": "",
|
494
|
+
"type": "uint256"
|
495
|
+
}
|
496
|
+
],
|
497
|
+
"stateMutability": "view",
|
498
|
+
"type": "function"
|
499
|
+
},
|
500
|
+
{
|
501
|
+
"inputs": [
|
502
|
+
{
|
503
|
+
"internalType": "address",
|
504
|
+
"name": "owner",
|
505
|
+
"type": "address"
|
506
|
+
},
|
507
|
+
{
|
508
|
+
"internalType": "uint256",
|
509
|
+
"name": "index",
|
510
|
+
"type": "uint256"
|
511
|
+
}
|
512
|
+
],
|
513
|
+
"name": "tokenOfOwnerByIndex",
|
514
|
+
"outputs": [
|
515
|
+
{
|
516
|
+
"internalType": "uint256",
|
517
|
+
"name": "",
|
518
|
+
"type": "uint256"
|
519
|
+
}
|
520
|
+
],
|
521
|
+
"stateMutability": "view",
|
522
|
+
"type": "function"
|
523
|
+
},
|
524
|
+
{
|
525
|
+
"inputs": [
|
526
|
+
{
|
527
|
+
"internalType": "uint256",
|
528
|
+
"name": "tokenId",
|
529
|
+
"type": "uint256"
|
530
|
+
}
|
531
|
+
],
|
532
|
+
"name": "tokenURI",
|
533
|
+
"outputs": [
|
534
|
+
{
|
535
|
+
"internalType": "string",
|
536
|
+
"name": "",
|
537
|
+
"type": "string"
|
538
|
+
}
|
539
|
+
],
|
540
|
+
"stateMutability": "view",
|
541
|
+
"type": "function"
|
542
|
+
},
|
543
|
+
{
|
544
|
+
"inputs": [],
|
545
|
+
"name": "totalMinted",
|
546
|
+
"outputs": [
|
547
|
+
{
|
548
|
+
"internalType": "uint256",
|
549
|
+
"name": "",
|
550
|
+
"type": "uint256"
|
551
|
+
}
|
552
|
+
],
|
553
|
+
"stateMutability": "view",
|
554
|
+
"type": "function"
|
555
|
+
},
|
556
|
+
{
|
557
|
+
"inputs": [],
|
558
|
+
"name": "totalSupply",
|
559
|
+
"outputs": [
|
560
|
+
{
|
561
|
+
"internalType": "uint256",
|
562
|
+
"name": "",
|
563
|
+
"type": "uint256"
|
564
|
+
}
|
565
|
+
],
|
566
|
+
"stateMutability": "view",
|
567
|
+
"type": "function"
|
568
|
+
},
|
569
|
+
{
|
570
|
+
"inputs": [
|
571
|
+
{
|
572
|
+
"internalType": "address",
|
573
|
+
"name": "from",
|
574
|
+
"type": "address"
|
575
|
+
},
|
576
|
+
{
|
577
|
+
"internalType": "address",
|
578
|
+
"name": "to",
|
579
|
+
"type": "address"
|
580
|
+
},
|
581
|
+
{
|
582
|
+
"internalType": "uint256",
|
583
|
+
"name": "tokenId",
|
584
|
+
"type": "uint256"
|
585
|
+
}
|
586
|
+
],
|
587
|
+
"name": "transferFrom",
|
588
|
+
"outputs": [],
|
589
|
+
"stateMutability": "nonpayable",
|
590
|
+
"type": "function"
|
591
|
+
}
|
592
|
+
],
|
593
|
+
"bytecode": "0x60806040523480156200001157600080fd5b506040516200429038038062004290833981810160405281019062000037919062000248565b60405180606001604052806029815260200162004267602991396040518060400160405280600481526020017f44495052000000000000000000000000000000000000000000000000000000008152508160009081620000989190620004f4565b508060019081620000aa9190620004f4565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200011f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000116906200063c565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555046600c819055506200017a600c54620001a660201b60201c565b600d81905550600d54600a620001919190620007e1565b600e819055506003600f8190555050620008e6565b60005b60008214620001d9578080620001bf9062000832565b915050600a82620001d19190620008ae565b9150620001a9565b919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200021082620001e3565b9050919050565b620002228162000203565b81146200022e57600080fd5b50565b600081519050620002428162000217565b92915050565b600060208284031215620002615762000260620001de565b5b6000620002718482850162000231565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002fc57607f821691505b602082108103620003125762000311620002b4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200037c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200033d565b6200038886836200033d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003d5620003cf620003c984620003a0565b620003aa565b620003a0565b9050919050565b6000819050919050565b620003f183620003b4565b620004096200040082620003dc565b8484546200034a565b825550505050565b600090565b6200042062000411565b6200042d818484620003e6565b505050565b5b8181101562000455576200044960008262000416565b60018101905062000433565b5050565b601f821115620004a4576200046e8162000318565b62000479846200032d565b8101602085101562000489578190505b620004a162000498856200032d565b83018262000432565b50505b505050565b600082821c905092915050565b6000620004c960001984600802620004a9565b1980831691505092915050565b6000620004e48383620004b6565b9150826002028217905092915050565b620004ff826200027a565b67ffffffffffffffff8111156200051b576200051a62000285565b5b620005278254620002e3565b6200053482828562000459565b600060209050601f8311600181146200056c576000841562000557578287015190505b620005638582620004d6565b865550620005d3565b601f1984166200057c8662000318565b60005b82811015620005a6578489015182556001820191506020850194506020810190506200057f565b86831015620005c65784890151620005c2601f891682620004b6565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f4552524f523a4e46542d3031303a52454749535452595f5a45524f0000000000600082015250565b600062000624601b83620005db565b91506200063182620005ec565b602082019050919050565b60006020820190508181036000830152620006578162000615565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620006ec57808604811115620006c457620006c36200065e565b5b6001851615620006d45780820291505b8081029050620006e4856200068d565b9450620006a4565b94509492505050565b600082620007075760019050620007da565b81620007175760009050620007da565b81600181146200073057600281146200073b5762000771565b6001915050620007da565b60ff84111562000750576200074f6200065e565b5b8360020a9150848211156200076a57620007696200065e565b5b50620007da565b5060208310610133831016604e8410600b8410161715620007ab5782820a905083811115620007a557620007a46200065e565b5b620007da565b620007ba84848460016200069a565b92509050818404811115620007d457620007d36200065e565b5b81810290505b9392505050565b6000620007ee82620003a0565b9150620007fb83620003a0565b92506200082a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006f5565b905092915050565b60006200083f82620003a0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036200087457620008736200065e565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620008bb82620003a0565b9150620008c883620003a0565b925082620008db57620008da6200087f565b5b828204905092915050565b61397180620008f66000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063598e2892116100f9578063a3f4df7e11610097578063d0def52111610071578063d0def5211461052b578063e985e9c51461055b578063f21de1e81461058b578063f76f8d78146105a9576101c4565b8063a3f4df7e146104c1578063b88d4fde146104df578063c87b56dd146104fb576101c4565b8063862440e2116100d3578063862440e21461044d57806395d89b4114610469578063a22cb46514610487578063a2309ff8146104a3576101c4565b8063598e2892146103cf5780636352211e146103ed57806370a082311461041d576101c4565b80632e85b1f31161016657806342842e0e1161014057806342842e0e1461033757806342966c68146103535780634f558e791461036f5780634f6ccce71461039f576101c4565b80632e85b1f3146102cd5780632f745c59146102eb57806340c10f191461031b576101c4565b8063081812fc116101a2578063081812fc14610247578063095ea7b31461027757806318160ddd1461029357806323b872dd146102b1576101c4565b806301ffc9a7146101c95780630559ea47146101f957806306fdde0314610229575b600080fd5b6101e360048036038101906101de91906124c9565b6105c7565b6040516101f09190612511565b60405180910390f35b610213600480360381019061020e9190612562565b610641565b604051610220919061259e565b60405180910390f35b61023161067e565b60405161023e9190612649565b60405180910390f35b610261600480360381019061025c9190612562565b610710565b60405161026e91906126ac565b60405180910390f35b610291600480360381019061028c91906126f3565b610756565b005b61029b61086d565b6040516102a8919061259e565b60405180910390f35b6102cb60048036038101906102c69190612733565b61087a565b005b6102d56108da565b6040516102e2919061259e565b60405180910390f35b610305600480360381019061030091906126f3565b6108e0565b604051610312919061259e565b60405180910390f35b610335600480360381019061033091906126f3565b610985565b005b610351600480360381019061034c9190612733565b610a3b565b005b61036d60048036038101906103689190612562565b610a5b565b005b61038960048036038101906103849190612562565b610b1f565b6040516103969190612511565b60405180910390f35b6103b960048036038101906103b49190612562565b610b31565b6040516103c6919061259e565b60405180910390f35b6103d7610ba2565b6040516103e4919061259e565b60405180910390f35b61040760048036038101906104029190612562565b610ba8565b60405161041491906126ac565b60405180910390f35b61043760048036038101906104329190612786565b610c2e565b604051610444919061259e565b60405180910390f35b610467600480360381019061046291906128e8565b610ce5565b005b610471610de7565b60405161047e9190612649565b60405180910390f35b6104a1600480360381019061049c9190612970565b610e79565b005b6104ab610e8f565b6040516104b8919061259e565b60405180910390f35b6104c9610e99565b6040516104d69190612649565b60405180910390f35b6104f960048036038101906104f49190612a51565b610eb5565b005b61051560048036038101906105109190612562565b610f17565b6040516105229190612649565b60405180910390f35b61054560048036038101906105409190612ad4565b610fc5565b604051610552919061259e565b60405180910390f35b61057560048036038101906105709190612b30565b6110b5565b6040516105829190612511565b60405180910390f35b610593611149565b6040516105a091906126ac565b60405180910390f35b6105b1611173565b6040516105be9190612649565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061063a5750610639826111ac565b5b9050919050565b6000600d546064600c54600e54856106599190612b9f565b6106639190612be1565b61066d9190612b9f565b6106779190612be1565b9050919050565b60606000805461068d90612c44565b80601f01602080910402602001604051908101604052809291908181526020018280546106b990612c44565b80156107065780601f106106db57610100808354040283529160200191610706565b820191906000526020600020905b8154815290600101906020018083116106e957829003601f168201915b5050505050905090565b600061071b8261128e565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061076182610ba8565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c890612ce7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107f06112d9565b73ffffffffffffffffffffffffffffffffffffffff16148061081f575061081e816108196112d9565b6110b5565b5b61085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590612d79565b60405180910390fd5b61086883836112e1565b505050565b6000600880549050905090565b61088b6108856112d9565b8261139a565b6108ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c190612e0b565b60405180910390fd5b6108d583838361142f565b505050565b61083581565b60006108eb83610c2e565b821061092c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092390612e9d565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0c90612f2f565b60405180910390fd5b60106000815480929190610a2890612f4f565b9190505550610a378282611728565b5050565b610a5683838360405180602001604052806000815250610eb5565b505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae290612f2f565b60405180910390fd5b610af48161128e565b610afd81611746565b600a60008281526020019081526020016000206000610b1c9190612400565b50565b6000610b2a82611894565b9050919050565b6000610b3b61086d565b8210610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7390613009565b60405180910390fd5b60088281548110610b9057610b8f613029565b5b90600052602060002001549050919050565b61044d81565b600080610bb4836118d5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1c906130a4565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9590613136565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6c90612f2f565b60405180910390fd5b6000815111610db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db0906131a2565b60405180910390fd5b610dc28261128e565b80600a60008481526020019081526020016000209081610de2919061336e565b505050565b606060018054610df690612c44565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2290612c44565b8015610e6f5780601f10610e4457610100808354040283529160200191610e6f565b820191906000526020600020905b815481529060010190602001808311610e5257829003601f168201915b5050505050905090565b610e8b610e846112d9565b8383611912565b5050565b6000601054905090565b6040518060600160405280602981526020016139136029913981565b610ec6610ec06112d9565b8361139a565b610f05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efc90612e0b565b60405180910390fd5b610f1184848484611a7e565b50505050565b6060610f228261128e565b600a60008381526020019081526020016000208054610f4090612c44565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6c90612c44565b8015610fb95780601f10610f8e57610100808354040283529160200191610fb9565b820191906000526020600020905b815481529060010190602001808311610f9c57829003601f168201915b50505050509050919050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104e90612f2f565b60405180910390fd5b61105f611ada565b905060008251111561108d5781600a6000838152602001908152602001600020908161108b919061336e565b505b6110978382611728565b601060008154809291906110aa90612f4f565b919050555092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600481526020017f444950520000000000000000000000000000000000000000000000000000000081525081565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061127757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611287575061128682611b04565b5b9050919050565b61129781611894565b6112d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cd906130a4565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661135483610ba8565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806113a683610ba8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806113e857506113e781856110b5565b5b8061142657508373ffffffffffffffffffffffffffffffffffffffff1661140e84610710565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661144f82610ba8565b73ffffffffffffffffffffffffffffffffffffffff16146114a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149c906134b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150b90613544565b60405180910390fd5b6115218383836001611b6e565b8273ffffffffffffffffffffffffffffffffffffffff1661154182610ba8565b73ffffffffffffffffffffffffffffffffffffffff1614611597576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158e906134b2565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46117238383836001611ccc565b505050565b611742828260405180602001604052806000815250611cd2565b5050565b600061175182610ba8565b9050611761816000846001611b6e565b61176a82610ba8565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611890816000846001611ccc565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff166118b6836118d5565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611980576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611977906135b0565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611a719190612511565b60405180910390a3505050565b611a8984848461142f565b611a9584848484611d2d565b611ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acb90613642565b60405180910390fd5b50505050565b6000611ae7600f54610641565b9050600f6000815480929190611afc90612f4f565b919050555090565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611b7a84848484611eb4565b6001811115611bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb5906136d4565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611c0557611c0081611eba565b611c44565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611c4357611c428582611f03565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611c8657611c8181612070565b611cc5565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611cc457611cc38482612141565b5b5b5050505050565b50505050565b611cdc83836121c0565b611ce96000848484611d2d565b611d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1f90613642565b60405180910390fd5b505050565b6000611d4e8473ffffffffffffffffffffffffffffffffffffffff166123dd565b15611ea7578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611d776112d9565b8786866040518563ffffffff1660e01b8152600401611d999493929190613749565b6020604051808303816000875af1925050508015611dd557506040513d601f19601f82011682018060405250810190611dd291906137aa565b60015b611e57573d8060008114611e05576040519150601f19603f3d011682016040523d82523d6000602084013e611e0a565b606091505b506000815103611e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4690613642565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611eac565b600190505b949350505050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001611f1084610c2e565b611f1a91906137d7565b9050600060076000848152602001908152602001600020549050818114611fff576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061208491906137d7565b90506000600960008481526020019081526020016000205490506000600883815481106120b4576120b3613029565b5b9060005260206000200154905080600883815481106120d6576120d5613029565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806121255761212461380b565b5b6001900381819060005260206000200160009055905550505050565b600061214c83610c2e565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361222f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222690613886565b60405180910390fd5b61223881611894565b15612278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226f906138f2565b60405180910390fd5b612286600083836001611b6e565b61228f81611894565b156122cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c6906138f2565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46123d9600083836001611ccc565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b50805461240c90612c44565b6000825580601f1061241e575061243d565b601f01602090049060005260206000209081019061243c9190612440565b5b50565b5b80821115612459576000816000905550600101612441565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124a681612471565b81146124b157600080fd5b50565b6000813590506124c38161249d565b92915050565b6000602082840312156124df576124de612467565b5b60006124ed848285016124b4565b91505092915050565b60008115159050919050565b61250b816124f6565b82525050565b60006020820190506125266000830184612502565b92915050565b6000819050919050565b61253f8161252c565b811461254a57600080fd5b50565b60008135905061255c81612536565b92915050565b60006020828403121561257857612577612467565b5b60006125868482850161254d565b91505092915050565b6125988161252c565b82525050565b60006020820190506125b3600083018461258f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156125f35780820151818401526020810190506125d8565b60008484015250505050565b6000601f19601f8301169050919050565b600061261b826125b9565b61262581856125c4565b93506126358185602086016125d5565b61263e816125ff565b840191505092915050565b600060208201905081810360008301526126638184612610565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126968261266b565b9050919050565b6126a68161268b565b82525050565b60006020820190506126c1600083018461269d565b92915050565b6126d08161268b565b81146126db57600080fd5b50565b6000813590506126ed816126c7565b92915050565b6000806040838503121561270a57612709612467565b5b6000612718858286016126de565b92505060206127298582860161254d565b9150509250929050565b60008060006060848603121561274c5761274b612467565b5b600061275a868287016126de565b935050602061276b868287016126de565b925050604061277c8682870161254d565b9150509250925092565b60006020828403121561279c5761279b612467565b5b60006127aa848285016126de565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6127f5826125ff565b810181811067ffffffffffffffff82111715612814576128136127bd565b5b80604052505050565b600061282761245d565b905061283382826127ec565b919050565b600067ffffffffffffffff821115612853576128526127bd565b5b61285c826125ff565b9050602081019050919050565b82818337600083830152505050565b600061288b61288684612838565b61281d565b9050828152602081018484840111156128a7576128a66127b8565b5b6128b2848285612869565b509392505050565b600082601f8301126128cf576128ce6127b3565b5b81356128df848260208601612878565b91505092915050565b600080604083850312156128ff576128fe612467565b5b600061290d8582860161254d565b925050602083013567ffffffffffffffff81111561292e5761292d61246c565b5b61293a858286016128ba565b9150509250929050565b61294d816124f6565b811461295857600080fd5b50565b60008135905061296a81612944565b92915050565b6000806040838503121561298757612986612467565b5b6000612995858286016126de565b92505060206129a68582860161295b565b9150509250929050565b600067ffffffffffffffff8211156129cb576129ca6127bd565b5b6129d4826125ff565b9050602081019050919050565b60006129f46129ef846129b0565b61281d565b905082815260208101848484011115612a1057612a0f6127b8565b5b612a1b848285612869565b509392505050565b600082601f830112612a3857612a376127b3565b5b8135612a488482602086016129e1565b91505092915050565b60008060008060808587031215612a6b57612a6a612467565b5b6000612a79878288016126de565b9450506020612a8a878288016126de565b9350506040612a9b8782880161254d565b925050606085013567ffffffffffffffff811115612abc57612abb61246c565b5b612ac887828801612a23565b91505092959194509250565b60008060408385031215612aeb57612aea612467565b5b6000612af9858286016126de565b925050602083013567ffffffffffffffff811115612b1a57612b1961246c565b5b612b26858286016128ba565b9150509250929050565b60008060408385031215612b4757612b46612467565b5b6000612b55858286016126de565b9250506020612b66858286016126de565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612baa8261252c565b9150612bb58361252c565b9250828202612bc38161252c565b91508282048414831517612bda57612bd9612b70565b5b5092915050565b6000612bec8261252c565b9150612bf78361252c565b9250828201905080821115612c0f57612c0e612b70565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612c5c57607f821691505b602082108103612c6f57612c6e612c15565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612cd16021836125c4565b9150612cdc82612c75565b604082019050919050565b60006020820190508181036000830152612d0081612cc4565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612d63603d836125c4565b9150612d6e82612d07565b604082019050919050565b60006020820190508181036000830152612d9281612d56565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612df5602d836125c4565b9150612e0082612d99565b604082019050919050565b60006020820190508181036000830152612e2481612de8565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000612e87602b836125c4565b9150612e9282612e2b565b604082019050919050565b60006020820190508181036000830152612eb681612e7a565b9050919050565b7f4552524f523a4e46542d3030313a43414c4c45525f4e4f545f5245474953545260008201527f5900000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f196021836125c4565b9150612f2482612ebd565b604082019050919050565b60006020820190508181036000830152612f4881612f0c565b9050919050565b6000612f5a8261252c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f8c57612f8b612b70565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000612ff3602c836125c4565b9150612ffe82612f97565b604082019050919050565b6000602082019050818103600083015261302281612fe6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061308e6018836125c4565b915061309982613058565b602082019050919050565b600060208201905081810360008301526130bd81613081565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006131206029836125c4565b915061312b826130c4565b604082019050919050565b6000602082019050818103600083015261314f81613113565b9050919050565b7f4552524f523a4352472d3031313a5552495f454d505459000000000000000000600082015250565b600061318c6017836125c4565b915061319782613156565b602082019050919050565b600060208201905081810360008301526131bb8161317f565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026132247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826131e7565b61322e86836131e7565b95508019841693508086168417925050509392505050565b6000819050919050565b600061326b6132666132618461252c565b613246565b61252c565b9050919050565b6000819050919050565b61328583613250565b61329961329182613272565b8484546131f4565b825550505050565b600090565b6132ae6132a1565b6132b981848461327c565b505050565b5b818110156132dd576132d26000826132a6565b6001810190506132bf565b5050565b601f821115613322576132f3816131c2565b6132fc846131d7565b8101602085101561330b578190505b61331f613317856131d7565b8301826132be565b50505b505050565b600082821c905092915050565b600061334560001984600802613327565b1980831691505092915050565b600061335e8383613334565b9150826002028217905092915050565b613377826125b9565b67ffffffffffffffff8111156133905761338f6127bd565b5b61339a8254612c44565b6133a58282856132e1565b600060209050601f8311600181146133d857600084156133c6578287015190505b6133d08582613352565b865550613438565b601f1984166133e6866131c2565b60005b8281101561340e578489015182556001820191506020850194506020810190506133e9565b8683101561342b5784890151613427601f891682613334565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061349c6025836125c4565b91506134a782613440565b604082019050919050565b600060208201905081810360008301526134cb8161348f565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061352e6024836125c4565b9150613539826134d2565b604082019050919050565b6000602082019050818103600083015261355d81613521565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061359a6019836125c4565b91506135a582613564565b602082019050919050565b600060208201905081810360008301526135c98161358d565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061362c6032836125c4565b9150613637826135d0565b604082019050919050565b6000602082019050818103600083015261365b8161361f565b9050919050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006136be6035836125c4565b91506136c982613662565b604082019050919050565b600060208201905081810360008301526136ed816136b1565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061371b826136f4565b61372581856136ff565b93506137358185602086016125d5565b61373e816125ff565b840191505092915050565b600060808201905061375e600083018761269d565b61376b602083018661269d565b613778604083018561258f565b818103606083015261378a8184613710565b905095945050505050565b6000815190506137a48161249d565b92915050565b6000602082840312156137c0576137bf612467565b5b60006137ce84828501613795565b91505092915050565b60006137e28261252c565b91506137ed8361252c565b925082820390508181111561380557613804612b70565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006138706020836125c4565b915061387b8261383a565b602082019050919050565b6000602082019050818103600083015261389f81613863565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006138dc601c836125c4565b91506138e7826138a6565b602082019050919050565b6000602082019050818103600083015261390b816138cf565b905091905056fe44657a656e7472616c697a656420496e737572616e63652050726f746f636f6c205265676973747279a26469706673582212207aa4e02bdaafea8b9e4c8cf55d062e2091ac80190615fb6e2ba4b980fc8a1dae64736f6c6343000814003344657a656e7472616c697a656420496e737572616e63652050726f746f636f6c205265676973747279",
|
594
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101c45760003560e01c8063598e2892116100f9578063a3f4df7e11610097578063d0def52111610071578063d0def5211461052b578063e985e9c51461055b578063f21de1e81461058b578063f76f8d78146105a9576101c4565b8063a3f4df7e146104c1578063b88d4fde146104df578063c87b56dd146104fb576101c4565b8063862440e2116100d3578063862440e21461044d57806395d89b4114610469578063a22cb46514610487578063a2309ff8146104a3576101c4565b8063598e2892146103cf5780636352211e146103ed57806370a082311461041d576101c4565b80632e85b1f31161016657806342842e0e1161014057806342842e0e1461033757806342966c68146103535780634f558e791461036f5780634f6ccce71461039f576101c4565b80632e85b1f3146102cd5780632f745c59146102eb57806340c10f191461031b576101c4565b8063081812fc116101a2578063081812fc14610247578063095ea7b31461027757806318160ddd1461029357806323b872dd146102b1576101c4565b806301ffc9a7146101c95780630559ea47146101f957806306fdde0314610229575b600080fd5b6101e360048036038101906101de91906124c9565b6105c7565b6040516101f09190612511565b60405180910390f35b610213600480360381019061020e9190612562565b610641565b604051610220919061259e565b60405180910390f35b61023161067e565b60405161023e9190612649565b60405180910390f35b610261600480360381019061025c9190612562565b610710565b60405161026e91906126ac565b60405180910390f35b610291600480360381019061028c91906126f3565b610756565b005b61029b61086d565b6040516102a8919061259e565b60405180910390f35b6102cb60048036038101906102c69190612733565b61087a565b005b6102d56108da565b6040516102e2919061259e565b60405180910390f35b610305600480360381019061030091906126f3565b6108e0565b604051610312919061259e565b60405180910390f35b610335600480360381019061033091906126f3565b610985565b005b610351600480360381019061034c9190612733565b610a3b565b005b61036d60048036038101906103689190612562565b610a5b565b005b61038960048036038101906103849190612562565b610b1f565b6040516103969190612511565b60405180910390f35b6103b960048036038101906103b49190612562565b610b31565b6040516103c6919061259e565b60405180910390f35b6103d7610ba2565b6040516103e4919061259e565b60405180910390f35b61040760048036038101906104029190612562565b610ba8565b60405161041491906126ac565b60405180910390f35b61043760048036038101906104329190612786565b610c2e565b604051610444919061259e565b60405180910390f35b610467600480360381019061046291906128e8565b610ce5565b005b610471610de7565b60405161047e9190612649565b60405180910390f35b6104a1600480360381019061049c9190612970565b610e79565b005b6104ab610e8f565b6040516104b8919061259e565b60405180910390f35b6104c9610e99565b6040516104d69190612649565b60405180910390f35b6104f960048036038101906104f49190612a51565b610eb5565b005b61051560048036038101906105109190612562565b610f17565b6040516105229190612649565b60405180910390f35b61054560048036038101906105409190612ad4565b610fc5565b604051610552919061259e565b60405180910390f35b61057560048036038101906105709190612b30565b6110b5565b6040516105829190612511565b60405180910390f35b610593611149565b6040516105a091906126ac565b60405180910390f35b6105b1611173565b6040516105be9190612649565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061063a5750610639826111ac565b5b9050919050565b6000600d546064600c54600e54856106599190612b9f565b6106639190612be1565b61066d9190612b9f565b6106779190612be1565b9050919050565b60606000805461068d90612c44565b80601f01602080910402602001604051908101604052809291908181526020018280546106b990612c44565b80156107065780601f106106db57610100808354040283529160200191610706565b820191906000526020600020905b8154815290600101906020018083116106e957829003601f168201915b5050505050905090565b600061071b8261128e565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061076182610ba8565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c890612ce7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107f06112d9565b73ffffffffffffffffffffffffffffffffffffffff16148061081f575061081e816108196112d9565b6110b5565b5b61085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590612d79565b60405180910390fd5b61086883836112e1565b505050565b6000600880549050905090565b61088b6108856112d9565b8261139a565b6108ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c190612e0b565b60405180910390fd5b6108d583838361142f565b505050565b61083581565b60006108eb83610c2e565b821061092c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092390612e9d565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0c90612f2f565b60405180910390fd5b60106000815480929190610a2890612f4f565b9190505550610a378282611728565b5050565b610a5683838360405180602001604052806000815250610eb5565b505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae290612f2f565b60405180910390fd5b610af48161128e565b610afd81611746565b600a60008281526020019081526020016000206000610b1c9190612400565b50565b6000610b2a82611894565b9050919050565b6000610b3b61086d565b8210610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7390613009565b60405180910390fd5b60088281548110610b9057610b8f613029565b5b90600052602060002001549050919050565b61044d81565b600080610bb4836118d5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1c906130a4565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9590613136565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6c90612f2f565b60405180910390fd5b6000815111610db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db0906131a2565b60405180910390fd5b610dc28261128e565b80600a60008481526020019081526020016000209081610de2919061336e565b505050565b606060018054610df690612c44565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2290612c44565b8015610e6f5780601f10610e4457610100808354040283529160200191610e6f565b820191906000526020600020905b815481529060010190602001808311610e5257829003601f168201915b5050505050905090565b610e8b610e846112d9565b8383611912565b5050565b6000601054905090565b6040518060600160405280602981526020016139136029913981565b610ec6610ec06112d9565b8361139a565b610f05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efc90612e0b565b60405180910390fd5b610f1184848484611a7e565b50505050565b6060610f228261128e565b600a60008381526020019081526020016000208054610f4090612c44565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6c90612c44565b8015610fb95780601f10610f8e57610100808354040283529160200191610fb9565b820191906000526020600020905b815481529060010190602001808311610f9c57829003601f168201915b50505050509050919050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104e90612f2f565b60405180910390fd5b61105f611ada565b905060008251111561108d5781600a6000838152602001908152602001600020908161108b919061336e565b505b6110978382611728565b601060008154809291906110aa90612f4f565b919050555092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600481526020017f444950520000000000000000000000000000000000000000000000000000000081525081565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061127757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611287575061128682611b04565b5b9050919050565b61129781611894565b6112d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cd906130a4565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661135483610ba8565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806113a683610ba8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806113e857506113e781856110b5565b5b8061142657508373ffffffffffffffffffffffffffffffffffffffff1661140e84610710565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661144f82610ba8565b73ffffffffffffffffffffffffffffffffffffffff16146114a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149c906134b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150b90613544565b60405180910390fd5b6115218383836001611b6e565b8273ffffffffffffffffffffffffffffffffffffffff1661154182610ba8565b73ffffffffffffffffffffffffffffffffffffffff1614611597576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158e906134b2565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46117238383836001611ccc565b505050565b611742828260405180602001604052806000815250611cd2565b5050565b600061175182610ba8565b9050611761816000846001611b6e565b61176a82610ba8565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611890816000846001611ccc565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff166118b6836118d5565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611980576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611977906135b0565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611a719190612511565b60405180910390a3505050565b611a8984848461142f565b611a9584848484611d2d565b611ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acb90613642565b60405180910390fd5b50505050565b6000611ae7600f54610641565b9050600f6000815480929190611afc90612f4f565b919050555090565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611b7a84848484611eb4565b6001811115611bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb5906136d4565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611c0557611c0081611eba565b611c44565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611c4357611c428582611f03565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611c8657611c8181612070565b611cc5565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611cc457611cc38482612141565b5b5b5050505050565b50505050565b611cdc83836121c0565b611ce96000848484611d2d565b611d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1f90613642565b60405180910390fd5b505050565b6000611d4e8473ffffffffffffffffffffffffffffffffffffffff166123dd565b15611ea7578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611d776112d9565b8786866040518563ffffffff1660e01b8152600401611d999493929190613749565b6020604051808303816000875af1925050508015611dd557506040513d601f19601f82011682018060405250810190611dd291906137aa565b60015b611e57573d8060008114611e05576040519150601f19603f3d011682016040523d82523d6000602084013e611e0a565b606091505b506000815103611e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4690613642565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611eac565b600190505b949350505050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001611f1084610c2e565b611f1a91906137d7565b9050600060076000848152602001908152602001600020549050818114611fff576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061208491906137d7565b90506000600960008481526020019081526020016000205490506000600883815481106120b4576120b3613029565b5b9060005260206000200154905080600883815481106120d6576120d5613029565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806121255761212461380b565b5b6001900381819060005260206000200160009055905550505050565b600061214c83610c2e565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361222f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222690613886565b60405180910390fd5b61223881611894565b15612278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226f906138f2565b60405180910390fd5b612286600083836001611b6e565b61228f81611894565b156122cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c6906138f2565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46123d9600083836001611ccc565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b50805461240c90612c44565b6000825580601f1061241e575061243d565b601f01602090049060005260206000209081019061243c9190612440565b5b50565b5b80821115612459576000816000905550600101612441565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124a681612471565b81146124b157600080fd5b50565b6000813590506124c38161249d565b92915050565b6000602082840312156124df576124de612467565b5b60006124ed848285016124b4565b91505092915050565b60008115159050919050565b61250b816124f6565b82525050565b60006020820190506125266000830184612502565b92915050565b6000819050919050565b61253f8161252c565b811461254a57600080fd5b50565b60008135905061255c81612536565b92915050565b60006020828403121561257857612577612467565b5b60006125868482850161254d565b91505092915050565b6125988161252c565b82525050565b60006020820190506125b3600083018461258f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156125f35780820151818401526020810190506125d8565b60008484015250505050565b6000601f19601f8301169050919050565b600061261b826125b9565b61262581856125c4565b93506126358185602086016125d5565b61263e816125ff565b840191505092915050565b600060208201905081810360008301526126638184612610565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126968261266b565b9050919050565b6126a68161268b565b82525050565b60006020820190506126c1600083018461269d565b92915050565b6126d08161268b565b81146126db57600080fd5b50565b6000813590506126ed816126c7565b92915050565b6000806040838503121561270a57612709612467565b5b6000612718858286016126de565b92505060206127298582860161254d565b9150509250929050565b60008060006060848603121561274c5761274b612467565b5b600061275a868287016126de565b935050602061276b868287016126de565b925050604061277c8682870161254d565b9150509250925092565b60006020828403121561279c5761279b612467565b5b60006127aa848285016126de565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6127f5826125ff565b810181811067ffffffffffffffff82111715612814576128136127bd565b5b80604052505050565b600061282761245d565b905061283382826127ec565b919050565b600067ffffffffffffffff821115612853576128526127bd565b5b61285c826125ff565b9050602081019050919050565b82818337600083830152505050565b600061288b61288684612838565b61281d565b9050828152602081018484840111156128a7576128a66127b8565b5b6128b2848285612869565b509392505050565b600082601f8301126128cf576128ce6127b3565b5b81356128df848260208601612878565b91505092915050565b600080604083850312156128ff576128fe612467565b5b600061290d8582860161254d565b925050602083013567ffffffffffffffff81111561292e5761292d61246c565b5b61293a858286016128ba565b9150509250929050565b61294d816124f6565b811461295857600080fd5b50565b60008135905061296a81612944565b92915050565b6000806040838503121561298757612986612467565b5b6000612995858286016126de565b92505060206129a68582860161295b565b9150509250929050565b600067ffffffffffffffff8211156129cb576129ca6127bd565b5b6129d4826125ff565b9050602081019050919050565b60006129f46129ef846129b0565b61281d565b905082815260208101848484011115612a1057612a0f6127b8565b5b612a1b848285612869565b509392505050565b600082601f830112612a3857612a376127b3565b5b8135612a488482602086016129e1565b91505092915050565b60008060008060808587031215612a6b57612a6a612467565b5b6000612a79878288016126de565b9450506020612a8a878288016126de565b9350506040612a9b8782880161254d565b925050606085013567ffffffffffffffff811115612abc57612abb61246c565b5b612ac887828801612a23565b91505092959194509250565b60008060408385031215612aeb57612aea612467565b5b6000612af9858286016126de565b925050602083013567ffffffffffffffff811115612b1a57612b1961246c565b5b612b26858286016128ba565b9150509250929050565b60008060408385031215612b4757612b46612467565b5b6000612b55858286016126de565b9250506020612b66858286016126de565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612baa8261252c565b9150612bb58361252c565b9250828202612bc38161252c565b91508282048414831517612bda57612bd9612b70565b5b5092915050565b6000612bec8261252c565b9150612bf78361252c565b9250828201905080821115612c0f57612c0e612b70565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612c5c57607f821691505b602082108103612c6f57612c6e612c15565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612cd16021836125c4565b9150612cdc82612c75565b604082019050919050565b60006020820190508181036000830152612d0081612cc4565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612d63603d836125c4565b9150612d6e82612d07565b604082019050919050565b60006020820190508181036000830152612d9281612d56565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612df5602d836125c4565b9150612e0082612d99565b604082019050919050565b60006020820190508181036000830152612e2481612de8565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000612e87602b836125c4565b9150612e9282612e2b565b604082019050919050565b60006020820190508181036000830152612eb681612e7a565b9050919050565b7f4552524f523a4e46542d3030313a43414c4c45525f4e4f545f5245474953545260008201527f5900000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f196021836125c4565b9150612f2482612ebd565b604082019050919050565b60006020820190508181036000830152612f4881612f0c565b9050919050565b6000612f5a8261252c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f8c57612f8b612b70565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000612ff3602c836125c4565b9150612ffe82612f97565b604082019050919050565b6000602082019050818103600083015261302281612fe6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061308e6018836125c4565b915061309982613058565b602082019050919050565b600060208201905081810360008301526130bd81613081565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006131206029836125c4565b915061312b826130c4565b604082019050919050565b6000602082019050818103600083015261314f81613113565b9050919050565b7f4552524f523a4352472d3031313a5552495f454d505459000000000000000000600082015250565b600061318c6017836125c4565b915061319782613156565b602082019050919050565b600060208201905081810360008301526131bb8161317f565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026132247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826131e7565b61322e86836131e7565b95508019841693508086168417925050509392505050565b6000819050919050565b600061326b6132666132618461252c565b613246565b61252c565b9050919050565b6000819050919050565b61328583613250565b61329961329182613272565b8484546131f4565b825550505050565b600090565b6132ae6132a1565b6132b981848461327c565b505050565b5b818110156132dd576132d26000826132a6565b6001810190506132bf565b5050565b601f821115613322576132f3816131c2565b6132fc846131d7565b8101602085101561330b578190505b61331f613317856131d7565b8301826132be565b50505b505050565b600082821c905092915050565b600061334560001984600802613327565b1980831691505092915050565b600061335e8383613334565b9150826002028217905092915050565b613377826125b9565b67ffffffffffffffff8111156133905761338f6127bd565b5b61339a8254612c44565b6133a58282856132e1565b600060209050601f8311600181146133d857600084156133c6578287015190505b6133d08582613352565b865550613438565b601f1984166133e6866131c2565b60005b8281101561340e578489015182556001820191506020850194506020810190506133e9565b8683101561342b5784890151613427601f891682613334565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061349c6025836125c4565b91506134a782613440565b604082019050919050565b600060208201905081810360008301526134cb8161348f565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061352e6024836125c4565b9150613539826134d2565b604082019050919050565b6000602082019050818103600083015261355d81613521565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061359a6019836125c4565b91506135a582613564565b602082019050919050565b600060208201905081810360008301526135c98161358d565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061362c6032836125c4565b9150613637826135d0565b604082019050919050565b6000602082019050818103600083015261365b8161361f565b9050919050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006136be6035836125c4565b91506136c982613662565b604082019050919050565b600060208201905081810360008301526136ed816136b1565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061371b826136f4565b61372581856136ff565b93506137358185602086016125d5565b61373e816125ff565b840191505092915050565b600060808201905061375e600083018761269d565b61376b602083018661269d565b613778604083018561258f565b818103606083015261378a8184613710565b905095945050505050565b6000815190506137a48161249d565b92915050565b6000602082840312156137c0576137bf612467565b5b60006137ce84828501613795565b91505092915050565b60006137e28261252c565b91506137ed8361252c565b925082820390508181111561380557613804612b70565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006138706020836125c4565b915061387b8261383a565b602082019050919050565b6000602082019050818103600083015261389f81613863565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006138dc601c836125c4565b91506138e7826138a6565b602082019050919050565b6000602082019050818103600083015261390b816138cf565b905091905056fe44657a656e7472616c697a656420496e737572616e63652050726f746f636f6c205265676973747279a26469706673582212207aa4e02bdaafea8b9e4c8cf55d062e2091ac80190615fb6e2ba4b980fc8a1dae64736f6c63430008140033",
|
595
|
+
"linkReferences": {},
|
596
|
+
"deployedLinkReferences": {}
|
597
|
+
}
|