@etherisc/gif-next 0.0.2-bca36d7-613 → 0.0.2-bdcb44f-543
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +140 -2
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/components/Component.sol/Component.json +774 -0
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/components/Distribution.sol/Distribution.json +895 -226
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/{shared/RegisterableUpgradable.sol/RegisterableUpgradable.json → components/IComponent.sol/IComponent.json} +164 -159
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +699 -22
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +838 -58
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +524 -9
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/components/Pool.sol/Pool.json +874 -197
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/components/Product.sol/Product.json +570 -225
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +764 -0
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/{AccessManagedSimple.sol/AccessManagedSimple.json → Cloneable.sol/Cloneable.json} +74 -3
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +2196 -125
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +194 -165
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +909 -1099
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +199 -145
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +213 -141
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +501 -210
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +338 -77
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +4 -0
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +261 -0
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/instance/base/{ComponentServiceBase.sol/ComponentServiceBase.json → ComponentService.sol/ComponentService.json} +215 -144
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +2 -2
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +2 -2
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +59 -16
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +968 -0
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +665 -0
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +1096 -0
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +661 -0
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +754 -0
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +637 -0
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +1553 -0
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +793 -0
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.json +556 -0
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +633 -0
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/{IComponentOwnerService.sol/IComponentOwnerService.json → IClaimService.sol/IClaimService.json} +150 -207
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +596 -184
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +519 -0
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +37 -251
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +47 -414
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +1000 -0
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +689 -0
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +727 -0
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +649 -0
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +777 -0
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +649 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +354 -61
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +234 -216
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +314 -188
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +229 -313
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +304 -138
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +547 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +498 -0
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +40 -29
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +129 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +21 -34
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/{experiment/inheritance/IB.sol/IB.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +18 -20
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +31 -183
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +120 -27
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +248 -0
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +294 -61
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +129 -51
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +84 -0
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +127 -170
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +129 -51
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +2 -2
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
- package/artifacts/contracts/test/TestService.sol/TestService.json +148 -227
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +8 -190
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +100 -0
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +26 -3
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +100 -0
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +124 -0
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +25 -7
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +22 -3
- package/contracts/components/Component.sol +221 -0
- package/contracts/components/Distribution.sol +206 -79
- package/contracts/components/IComponent.sol +68 -0
- package/contracts/components/IDistributionComponent.sol +44 -8
- package/contracts/components/IPoolComponent.sol +126 -37
- package/contracts/components/IProductComponent.sol +10 -5
- package/contracts/components/Pool.sol +288 -169
- package/contracts/components/Product.sol +126 -134
- package/contracts/instance/BundleManager.sol +125 -0
- package/contracts/instance/Cloneable.sol +46 -0
- package/contracts/instance/IInstance.sol +74 -10
- package/contracts/instance/IInstanceService.sol +33 -4
- package/contracts/instance/Instance.sol +123 -274
- package/contracts/instance/InstanceAccessManager.sol +87 -78
- package/contracts/instance/InstanceReader.sol +29 -26
- package/contracts/instance/InstanceService.sol +429 -77
- package/contracts/instance/InstanceServiceManager.sol +11 -13
- package/contracts/instance/ObjectManager.sol +84 -0
- package/contracts/instance/base/ComponentService.sol +134 -0
- package/contracts/instance/module/IAccess.sol +27 -18
- package/contracts/instance/module/IBundle.sol +2 -0
- package/contracts/instance/module/IDistribution.sol +2 -0
- package/contracts/instance/module/IPolicy.sol +30 -3
- package/contracts/instance/module/ISetup.sol +12 -9
- package/contracts/instance/service/ApplicationService.sol +349 -0
- package/contracts/instance/service/ApplicationServiceManager.sol +35 -0
- package/contracts/instance/service/BundleService.sol +299 -0
- package/contracts/instance/service/BundleServiceManager.sol +51 -0
- package/contracts/instance/service/ClaimService.sol +151 -0
- package/contracts/instance/service/ClaimServiceManager.sol +35 -0
- package/contracts/instance/service/DistributionService.sol +394 -0
- package/contracts/instance/service/DistributionServiceManager.sol +51 -0
- package/contracts/instance/service/IApplicationService.sol +82 -0
- package/contracts/instance/service/IBundleService.sol +55 -0
- package/contracts/instance/service/IClaimService.sol +61 -0
- package/contracts/instance/service/IDistributionService.sol +74 -0
- package/contracts/instance/service/IPolicyService.sol +70 -0
- package/contracts/instance/service/IPoolService.sol +6 -23
- package/contracts/instance/service/IProductService.sol +6 -73
- package/contracts/instance/service/PolicyService.sol +402 -0
- package/contracts/instance/service/PolicyServiceManager.sol +54 -0
- package/contracts/instance/service/PoolService.sol +109 -0
- package/contracts/instance/service/PoolServiceManager.sol +51 -0
- package/contracts/instance/service/ProductService.sol +233 -0
- package/contracts/instance/service/ProductServiceManager.sol +54 -0
- package/contracts/registry/ChainNft.sol +1 -1
- package/contracts/registry/IRegistry.sol +49 -8
- package/contracts/registry/IRegistryService.sol +46 -14
- package/contracts/registry/Registry.sol +261 -220
- package/contracts/registry/RegistryAccessManager.sol +216 -0
- package/contracts/registry/RegistryService.sol +112 -273
- package/contracts/registry/RegistryServiceManager.sol +24 -26
- package/contracts/registry/ReleaseManager.sol +322 -0
- package/contracts/registry/TokenRegistry.sol +116 -0
- package/contracts/shared/ERC165.sol +14 -8
- package/contracts/shared/INftOwnable.sol +11 -10
- package/contracts/shared/IPolicyHolder.sol +26 -0
- package/contracts/shared/IRegisterable.sol +4 -6
- package/contracts/shared/IRegistryLinked.sol +12 -0
- package/contracts/shared/IService.sol +4 -1
- package/contracts/shared/IVersionable.sol +4 -47
- package/contracts/shared/NftOwnable.sol +67 -83
- package/contracts/shared/PolicyHolder.sol +81 -0
- package/contracts/shared/ProxyManager.sol +100 -25
- package/contracts/shared/Registerable.sol +16 -31
- package/contracts/shared/RegistryLinked.sol +48 -0
- package/contracts/shared/Service.sol +26 -22
- package/contracts/shared/Versionable.sol +4 -92
- package/contracts/test/TestRegisterable.sol +1 -1
- package/contracts/test/TestService.sol +4 -3
- package/contracts/types/ClaimId.sol +52 -0
- package/contracts/types/DistributorType.sol +2 -2
- package/contracts/types/NftIdSet.sol +26 -24
- package/contracts/types/ObjectType.sol +9 -5
- package/contracts/types/PayoutId.sol +54 -0
- package/contracts/types/RoleId.sol +19 -6
- package/contracts/types/Seconds.sol +54 -0
- package/contracts/types/StateId.sol +4 -0
- package/contracts/types/Timestamp.sol +12 -13
- package/contracts/types/Version.sol +4 -1
- package/package.json +3 -3
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -314
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -267
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
- package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
- package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
- package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
- package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
- package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
- package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
- package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
- package/contracts/components/BaseComponent.sol +0 -86
- package/contracts/components/IBaseComponent.sol +0 -24
- package/contracts/experiment/cloning/Cloner.sol +0 -47
- package/contracts/experiment/errors/Require.sol +0 -38
- package/contracts/experiment/errors/Revert.sol +0 -44
- package/contracts/experiment/inheritance/A.sol +0 -53
- package/contracts/experiment/inheritance/B.sol +0 -28
- package/contracts/experiment/inheritance/C.sol +0 -34
- package/contracts/experiment/inheritance/IA.sol +0 -13
- package/contracts/experiment/inheritance/IB.sol +0 -10
- package/contracts/experiment/inheritance/IC.sol +0 -12
- package/contracts/experiment/statemachine/Dummy.sol +0 -27
- package/contracts/experiment/statemachine/ISM.sol +0 -25
- package/contracts/experiment/statemachine/SM.sol +0 -57
- package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
- package/contracts/experiment/types/TypeA.sol +0 -47
- package/contracts/experiment/types/TypeB.sol +0 -29
- package/contracts/instance/AccessManagedSimple.sol +0 -122
- package/contracts/instance/AccessManagerSimple.sol +0 -692
- package/contracts/instance/IAccessManagerSimple.sol +0 -391
- package/contracts/instance/base/ComponentServiceBase.sol +0 -49
- package/contracts/instance/base/IInstanceBase.sol +0 -23
- package/contracts/instance/service/ComponentOwnerService.sol +0 -317
- package/contracts/instance/service/IComponentOwnerService.sol +0 -20
- package/contracts/shared/RegisterableUpgradable.sol +0 -16
@@ -3,27 +3,6 @@
|
|
3
3
|
"contractName": "Instance",
|
4
4
|
"sourceName": "contracts/instance/Instance.sol",
|
5
5
|
"abi": [
|
6
|
-
{
|
7
|
-
"inputs": [
|
8
|
-
{
|
9
|
-
"internalType": "address",
|
10
|
-
"name": "accessManagerAddress",
|
11
|
-
"type": "address"
|
12
|
-
},
|
13
|
-
{
|
14
|
-
"internalType": "address",
|
15
|
-
"name": "registryAddress",
|
16
|
-
"type": "address"
|
17
|
-
},
|
18
|
-
{
|
19
|
-
"internalType": "NftId",
|
20
|
-
"name": "registryNftId",
|
21
|
-
"type": "uint96"
|
22
|
-
}
|
23
|
-
],
|
24
|
-
"stateMutability": "nonpayable",
|
25
|
-
"type": "constructor"
|
26
|
-
},
|
27
6
|
{
|
28
7
|
"inputs": [
|
29
8
|
{
|
@@ -62,44 +41,6 @@
|
|
62
41
|
"name": "AccessManagedUnauthorized",
|
63
42
|
"type": "error"
|
64
43
|
},
|
65
|
-
{
|
66
|
-
"inputs": [
|
67
|
-
{
|
68
|
-
"internalType": "address",
|
69
|
-
"name": "registry",
|
70
|
-
"type": "address"
|
71
|
-
},
|
72
|
-
{
|
73
|
-
"internalType": "NftId",
|
74
|
-
"name": "nftId",
|
75
|
-
"type": "uint96"
|
76
|
-
}
|
77
|
-
],
|
78
|
-
"name": "ErrorAlreadyLinked",
|
79
|
-
"type": "error"
|
80
|
-
},
|
81
|
-
{
|
82
|
-
"inputs": [
|
83
|
-
{
|
84
|
-
"internalType": "address",
|
85
|
-
"name": "contractAddress",
|
86
|
-
"type": "address"
|
87
|
-
}
|
88
|
-
],
|
89
|
-
"name": "ErrorContractNotRegistered",
|
90
|
-
"type": "error"
|
91
|
-
},
|
92
|
-
{
|
93
|
-
"inputs": [
|
94
|
-
{
|
95
|
-
"internalType": "RoleId",
|
96
|
-
"name": "roleId",
|
97
|
-
"type": "uint64"
|
98
|
-
}
|
99
|
-
],
|
100
|
-
"name": "ErrorGrantNonexstentRole",
|
101
|
-
"type": "error"
|
102
|
-
},
|
103
44
|
{
|
104
45
|
"inputs": [
|
105
46
|
{
|
@@ -127,172 +68,63 @@
|
|
127
68
|
"internalType": "NftId",
|
128
69
|
"name": "nftId",
|
129
70
|
"type": "uint96"
|
130
|
-
},
|
131
|
-
{
|
132
|
-
"internalType": "ObjectType",
|
133
|
-
"name": "objectType",
|
134
|
-
"type": "uint8"
|
135
|
-
}
|
136
|
-
],
|
137
|
-
"name": "ErrorNoLifecycle",
|
138
|
-
"type": "error"
|
139
|
-
},
|
140
|
-
{
|
141
|
-
"inputs": [
|
142
|
-
{
|
143
|
-
"internalType": "address",
|
144
|
-
"name": "account",
|
145
|
-
"type": "address"
|
146
|
-
}
|
147
|
-
],
|
148
|
-
"name": "ErrorNotOwner",
|
149
|
-
"type": "error"
|
150
|
-
},
|
151
|
-
{
|
152
|
-
"inputs": [
|
153
|
-
{
|
154
|
-
"internalType": "address",
|
155
|
-
"name": "registryAddress",
|
156
|
-
"type": "address"
|
157
71
|
}
|
158
72
|
],
|
159
|
-
"name": "
|
73
|
+
"name": "ErrorNftOwnableAlreadyLinked",
|
160
74
|
"type": "error"
|
161
75
|
},
|
162
76
|
{
|
163
77
|
"inputs": [
|
164
78
|
{
|
165
79
|
"internalType": "address",
|
166
|
-
"name": "
|
80
|
+
"name": "contractAddress",
|
167
81
|
"type": "address"
|
168
82
|
}
|
169
83
|
],
|
170
|
-
"name": "
|
84
|
+
"name": "ErrorNftOwnableContractNotRegistered",
|
171
85
|
"type": "error"
|
172
86
|
},
|
173
87
|
{
|
174
88
|
"inputs": [],
|
175
|
-
"name": "
|
89
|
+
"name": "ErrorNftOwnableInitialOwnerZero",
|
176
90
|
"type": "error"
|
177
91
|
},
|
178
92
|
{
|
179
93
|
"inputs": [
|
180
94
|
{
|
181
95
|
"internalType": "address",
|
182
|
-
"name": "
|
96
|
+
"name": "account",
|
183
97
|
"type": "address"
|
184
98
|
}
|
185
99
|
],
|
186
|
-
"name": "
|
187
|
-
"type": "error"
|
188
|
-
},
|
189
|
-
{
|
190
|
-
"inputs": [],
|
191
|
-
"name": "ErrorRegistryNotInitialized",
|
192
|
-
"type": "error"
|
193
|
-
},
|
194
|
-
{
|
195
|
-
"inputs": [
|
196
|
-
{
|
197
|
-
"internalType": "RoleId",
|
198
|
-
"name": "roleId",
|
199
|
-
"type": "uint64"
|
200
|
-
}
|
201
|
-
],
|
202
|
-
"name": "ErrorRenounceNonexstentRole",
|
203
|
-
"type": "error"
|
204
|
-
},
|
205
|
-
{
|
206
|
-
"inputs": [
|
207
|
-
{
|
208
|
-
"internalType": "RoleId",
|
209
|
-
"name": "roleId",
|
210
|
-
"type": "uint64"
|
211
|
-
}
|
212
|
-
],
|
213
|
-
"name": "ErrorRevokeNonexstentRole",
|
214
|
-
"type": "error"
|
215
|
-
},
|
216
|
-
{
|
217
|
-
"inputs": [
|
218
|
-
{
|
219
|
-
"internalType": "RoleId",
|
220
|
-
"name": "roleId",
|
221
|
-
"type": "uint64"
|
222
|
-
}
|
223
|
-
],
|
224
|
-
"name": "ErrorRoleIdInvalid",
|
225
|
-
"type": "error"
|
226
|
-
},
|
227
|
-
{
|
228
|
-
"inputs": [
|
229
|
-
{
|
230
|
-
"internalType": "RoleId",
|
231
|
-
"name": "roleId",
|
232
|
-
"type": "uint64"
|
233
|
-
}
|
234
|
-
],
|
235
|
-
"name": "ErrorRoleIdNotActive",
|
236
|
-
"type": "error"
|
237
|
-
},
|
238
|
-
{
|
239
|
-
"inputs": [
|
240
|
-
{
|
241
|
-
"internalType": "RoleId",
|
242
|
-
"name": "roleId",
|
243
|
-
"type": "uint64"
|
244
|
-
}
|
245
|
-
],
|
246
|
-
"name": "ErrorRoleIdTooBig",
|
247
|
-
"type": "error"
|
248
|
-
},
|
249
|
-
{
|
250
|
-
"inputs": [
|
251
|
-
{
|
252
|
-
"internalType": "RoleId",
|
253
|
-
"name": "roleId",
|
254
|
-
"type": "uint64"
|
255
|
-
}
|
256
|
-
],
|
257
|
-
"name": "ErrorRoleIdTooSmall",
|
258
|
-
"type": "error"
|
259
|
-
},
|
260
|
-
{
|
261
|
-
"inputs": [
|
262
|
-
{
|
263
|
-
"internalType": "RoleId",
|
264
|
-
"name": "roleId",
|
265
|
-
"type": "uint64"
|
266
|
-
}
|
267
|
-
],
|
268
|
-
"name": "ErrorRoleNameEmpty",
|
100
|
+
"name": "ErrorNftOwnableNotOwner",
|
269
101
|
"type": "error"
|
270
102
|
},
|
271
103
|
{
|
272
104
|
"inputs": [
|
273
105
|
{
|
274
|
-
"internalType": "
|
275
|
-
"name": "
|
276
|
-
"type": "
|
106
|
+
"internalType": "NftId",
|
107
|
+
"name": "nftId",
|
108
|
+
"type": "uint96"
|
277
109
|
},
|
278
110
|
{
|
279
|
-
"internalType": "
|
280
|
-
"name": "
|
281
|
-
"type": "
|
111
|
+
"internalType": "ObjectType",
|
112
|
+
"name": "objectType",
|
113
|
+
"type": "uint8"
|
282
114
|
}
|
283
115
|
],
|
284
|
-
"name": "
|
116
|
+
"name": "ErrorNoLifecycle",
|
285
117
|
"type": "error"
|
286
118
|
},
|
287
119
|
{
|
288
120
|
"inputs": [
|
289
121
|
{
|
290
122
|
"internalType": "address",
|
291
|
-
"name": "
|
123
|
+
"name": "registryAddress",
|
292
124
|
"type": "address"
|
293
125
|
}
|
294
126
|
],
|
295
|
-
"name": "
|
127
|
+
"name": "ErrorNotRegistry",
|
296
128
|
"type": "error"
|
297
129
|
},
|
298
130
|
{
|
@@ -300,27 +132,11 @@
|
|
300
132
|
"name": "InvalidInitialization",
|
301
133
|
"type": "error"
|
302
134
|
},
|
303
|
-
{
|
304
|
-
"inputs": [],
|
305
|
-
"name": "InvalidShortString",
|
306
|
-
"type": "error"
|
307
|
-
},
|
308
135
|
{
|
309
136
|
"inputs": [],
|
310
137
|
"name": "NotInitializing",
|
311
138
|
"type": "error"
|
312
139
|
},
|
313
|
-
{
|
314
|
-
"inputs": [
|
315
|
-
{
|
316
|
-
"internalType": "string",
|
317
|
-
"name": "str",
|
318
|
-
"type": "string"
|
319
|
-
}
|
320
|
-
],
|
321
|
-
"name": "StringTooLong",
|
322
|
-
"type": "error"
|
323
|
-
},
|
324
140
|
{
|
325
141
|
"anonymous": false,
|
326
142
|
"inputs": [
|
@@ -515,6 +331,32 @@
|
|
515
331
|
"stateMutability": "view",
|
516
332
|
"type": "function"
|
517
333
|
},
|
334
|
+
{
|
335
|
+
"inputs": [],
|
336
|
+
"name": "GIF_MAJOR_VERSION",
|
337
|
+
"outputs": [
|
338
|
+
{
|
339
|
+
"internalType": "uint256",
|
340
|
+
"name": "",
|
341
|
+
"type": "uint256"
|
342
|
+
}
|
343
|
+
],
|
344
|
+
"stateMutability": "view",
|
345
|
+
"type": "function"
|
346
|
+
},
|
347
|
+
{
|
348
|
+
"inputs": [],
|
349
|
+
"name": "NFT_OWNABLE_STORAGE_LOCATION_V1",
|
350
|
+
"outputs": [
|
351
|
+
{
|
352
|
+
"internalType": "bytes32",
|
353
|
+
"name": "",
|
354
|
+
"type": "bytes32"
|
355
|
+
}
|
356
|
+
],
|
357
|
+
"stateMutability": "view",
|
358
|
+
"type": "function"
|
359
|
+
},
|
518
360
|
{
|
519
361
|
"inputs": [],
|
520
362
|
"name": "PUBLIC_ROLE",
|
@@ -581,61 +423,166 @@
|
|
581
423
|
"inputs": [
|
582
424
|
{
|
583
425
|
"internalType": "NftId",
|
584
|
-
"name": "
|
426
|
+
"name": "applicationNftId",
|
585
427
|
"type": "uint96"
|
586
428
|
},
|
587
429
|
{
|
588
430
|
"components": [
|
589
431
|
{
|
590
432
|
"internalType": "NftId",
|
591
|
-
"name": "
|
433
|
+
"name": "productNftId",
|
592
434
|
"type": "uint96"
|
593
435
|
},
|
594
436
|
{
|
595
|
-
"
|
596
|
-
|
597
|
-
|
598
|
-
"name": "fractionalFee",
|
599
|
-
"type": "uint256"
|
600
|
-
},
|
601
|
-
{
|
602
|
-
"internalType": "uint256",
|
603
|
-
"name": "fixedFee",
|
604
|
-
"type": "uint256"
|
605
|
-
}
|
606
|
-
],
|
607
|
-
"internalType": "struct Fee",
|
608
|
-
"name": "fee",
|
609
|
-
"type": "tuple"
|
437
|
+
"internalType": "NftId",
|
438
|
+
"name": "bundleNftId",
|
439
|
+
"type": "uint96"
|
610
440
|
},
|
611
441
|
{
|
612
|
-
"internalType": "
|
613
|
-
"name": "
|
614
|
-
"type": "
|
442
|
+
"internalType": "ReferralId",
|
443
|
+
"name": "referralId",
|
444
|
+
"type": "bytes8"
|
445
|
+
},
|
446
|
+
{
|
447
|
+
"internalType": "RiskId",
|
448
|
+
"name": "riskId",
|
449
|
+
"type": "bytes8"
|
615
450
|
},
|
616
451
|
{
|
617
452
|
"internalType": "uint256",
|
618
|
-
"name": "
|
453
|
+
"name": "sumInsuredAmount",
|
619
454
|
"type": "uint256"
|
620
455
|
},
|
621
456
|
{
|
622
457
|
"internalType": "uint256",
|
623
|
-
"name": "
|
458
|
+
"name": "premiumAmount",
|
624
459
|
"type": "uint256"
|
625
460
|
},
|
626
461
|
{
|
627
462
|
"internalType": "uint256",
|
628
|
-
"name": "
|
463
|
+
"name": "premiumPaidAmount",
|
629
464
|
"type": "uint256"
|
630
465
|
},
|
631
466
|
{
|
632
|
-
"internalType": "
|
633
|
-
"name": "
|
467
|
+
"internalType": "Seconds",
|
468
|
+
"name": "lifetime",
|
634
469
|
"type": "uint40"
|
635
470
|
},
|
471
|
+
{
|
472
|
+
"internalType": "bytes",
|
473
|
+
"name": "applicationData",
|
474
|
+
"type": "bytes"
|
475
|
+
},
|
476
|
+
{
|
477
|
+
"internalType": "bytes",
|
478
|
+
"name": "policyData",
|
479
|
+
"type": "bytes"
|
480
|
+
},
|
481
|
+
{
|
482
|
+
"internalType": "uint16",
|
483
|
+
"name": "claimsCount",
|
484
|
+
"type": "uint16"
|
485
|
+
},
|
486
|
+
{
|
487
|
+
"internalType": "uint16",
|
488
|
+
"name": "openClaimsCount",
|
489
|
+
"type": "uint16"
|
490
|
+
},
|
491
|
+
{
|
492
|
+
"internalType": "uint256",
|
493
|
+
"name": "payoutAmount",
|
494
|
+
"type": "uint256"
|
495
|
+
},
|
636
496
|
{
|
637
497
|
"internalType": "Timestamp",
|
638
|
-
"name": "
|
498
|
+
"name": "activatedAt",
|
499
|
+
"type": "uint40"
|
500
|
+
},
|
501
|
+
{
|
502
|
+
"internalType": "Timestamp",
|
503
|
+
"name": "expiredAt",
|
504
|
+
"type": "uint40"
|
505
|
+
},
|
506
|
+
{
|
507
|
+
"internalType": "Timestamp",
|
508
|
+
"name": "closedAt",
|
509
|
+
"type": "uint40"
|
510
|
+
}
|
511
|
+
],
|
512
|
+
"internalType": "struct IPolicy.PolicyInfo",
|
513
|
+
"name": "policy",
|
514
|
+
"type": "tuple"
|
515
|
+
}
|
516
|
+
],
|
517
|
+
"name": "createApplication",
|
518
|
+
"outputs": [],
|
519
|
+
"stateMutability": "nonpayable",
|
520
|
+
"type": "function"
|
521
|
+
},
|
522
|
+
{
|
523
|
+
"inputs": [
|
524
|
+
{
|
525
|
+
"internalType": "NftId",
|
526
|
+
"name": "bundleNftId",
|
527
|
+
"type": "uint96"
|
528
|
+
},
|
529
|
+
{
|
530
|
+
"components": [
|
531
|
+
{
|
532
|
+
"internalType": "NftId",
|
533
|
+
"name": "poolNftId",
|
534
|
+
"type": "uint96"
|
535
|
+
},
|
536
|
+
{
|
537
|
+
"components": [
|
538
|
+
{
|
539
|
+
"internalType": "UFixed",
|
540
|
+
"name": "fractionalFee",
|
541
|
+
"type": "uint256"
|
542
|
+
},
|
543
|
+
{
|
544
|
+
"internalType": "uint256",
|
545
|
+
"name": "fixedFee",
|
546
|
+
"type": "uint256"
|
547
|
+
}
|
548
|
+
],
|
549
|
+
"internalType": "struct Fee",
|
550
|
+
"name": "fee",
|
551
|
+
"type": "tuple"
|
552
|
+
},
|
553
|
+
{
|
554
|
+
"internalType": "bytes",
|
555
|
+
"name": "filter",
|
556
|
+
"type": "bytes"
|
557
|
+
},
|
558
|
+
{
|
559
|
+
"internalType": "uint256",
|
560
|
+
"name": "capitalAmount",
|
561
|
+
"type": "uint256"
|
562
|
+
},
|
563
|
+
{
|
564
|
+
"internalType": "uint256",
|
565
|
+
"name": "lockedAmount",
|
566
|
+
"type": "uint256"
|
567
|
+
},
|
568
|
+
{
|
569
|
+
"internalType": "uint256",
|
570
|
+
"name": "balanceAmount",
|
571
|
+
"type": "uint256"
|
572
|
+
},
|
573
|
+
{
|
574
|
+
"internalType": "Seconds",
|
575
|
+
"name": "lifetime",
|
576
|
+
"type": "uint40"
|
577
|
+
},
|
578
|
+
{
|
579
|
+
"internalType": "Timestamp",
|
580
|
+
"name": "expiredAt",
|
581
|
+
"type": "uint40"
|
582
|
+
},
|
583
|
+
{
|
584
|
+
"internalType": "Timestamp",
|
585
|
+
"name": "closedAt",
|
639
586
|
"type": "uint40"
|
640
587
|
}
|
641
588
|
],
|
@@ -657,9 +604,9 @@
|
|
657
604
|
"type": "uint96"
|
658
605
|
},
|
659
606
|
{
|
660
|
-
"internalType": "
|
607
|
+
"internalType": "ClaimId",
|
661
608
|
"name": "claimId",
|
662
|
-
"type": "
|
609
|
+
"type": "uint16"
|
663
610
|
},
|
664
611
|
{
|
665
612
|
"components": [
|
@@ -694,24 +641,6 @@
|
|
694
641
|
"stateMutability": "nonpayable",
|
695
642
|
"type": "function"
|
696
643
|
},
|
697
|
-
{
|
698
|
-
"inputs": [
|
699
|
-
{
|
700
|
-
"internalType": "RoleId",
|
701
|
-
"name": "roleId",
|
702
|
-
"type": "uint64"
|
703
|
-
},
|
704
|
-
{
|
705
|
-
"internalType": "string",
|
706
|
-
"name": "name",
|
707
|
-
"type": "string"
|
708
|
-
}
|
709
|
-
],
|
710
|
-
"name": "createCustomRole",
|
711
|
-
"outputs": [],
|
712
|
-
"stateMutability": "nonpayable",
|
713
|
-
"type": "function"
|
714
|
-
},
|
715
644
|
{
|
716
645
|
"inputs": [
|
717
646
|
{
|
@@ -745,18 +674,35 @@
|
|
745
674
|
}
|
746
675
|
],
|
747
676
|
"internalType": "struct Fee",
|
748
|
-
"name": "
|
677
|
+
"name": "minDistributionOwnerFee",
|
749
678
|
"type": "tuple"
|
750
679
|
},
|
751
680
|
{
|
752
|
-
"
|
753
|
-
|
754
|
-
|
681
|
+
"components": [
|
682
|
+
{
|
683
|
+
"internalType": "UFixed",
|
684
|
+
"name": "fractionalFee",
|
685
|
+
"type": "uint256"
|
686
|
+
},
|
687
|
+
{
|
688
|
+
"internalType": "uint256",
|
689
|
+
"name": "fixedFee",
|
690
|
+
"type": "uint256"
|
691
|
+
}
|
692
|
+
],
|
693
|
+
"internalType": "struct Fee",
|
694
|
+
"name": "distributionFee",
|
695
|
+
"type": "tuple"
|
755
696
|
},
|
756
697
|
{
|
757
698
|
"internalType": "address",
|
758
699
|
"name": "wallet",
|
759
700
|
"type": "address"
|
701
|
+
},
|
702
|
+
{
|
703
|
+
"internalType": "uint256",
|
704
|
+
"name": "sumDistributionFees",
|
705
|
+
"type": "uint256"
|
760
706
|
}
|
761
707
|
],
|
762
708
|
"internalType": "struct ISetup.DistributionSetupInfo",
|
@@ -773,25 +719,20 @@
|
|
773
719
|
"inputs": [
|
774
720
|
{
|
775
721
|
"internalType": "NftId",
|
776
|
-
"name": "
|
722
|
+
"name": "nftId",
|
777
723
|
"type": "uint96"
|
778
724
|
},
|
779
|
-
{
|
780
|
-
"internalType": "NumberId",
|
781
|
-
"name": "payoutId",
|
782
|
-
"type": "uint32"
|
783
|
-
},
|
784
725
|
{
|
785
726
|
"components": [
|
786
727
|
{
|
787
|
-
"internalType": "
|
788
|
-
"name": "
|
789
|
-
"type": "
|
728
|
+
"internalType": "DistributorType",
|
729
|
+
"name": "distributorType",
|
730
|
+
"type": "bytes8"
|
790
731
|
},
|
791
732
|
{
|
792
|
-
"internalType": "
|
793
|
-
"name": "
|
794
|
-
"type": "
|
733
|
+
"internalType": "bool",
|
734
|
+
"name": "active",
|
735
|
+
"type": "bool"
|
795
736
|
},
|
796
737
|
{
|
797
738
|
"internalType": "bytes",
|
@@ -799,13 +740,18 @@
|
|
799
740
|
"type": "bytes"
|
800
741
|
},
|
801
742
|
{
|
802
|
-
"internalType": "
|
803
|
-
"name": "
|
804
|
-
"type": "
|
743
|
+
"internalType": "uint256",
|
744
|
+
"name": "sumCommisions",
|
745
|
+
"type": "uint256"
|
746
|
+
},
|
747
|
+
{
|
748
|
+
"internalType": "uint256",
|
749
|
+
"name": "numPoliciesSold",
|
750
|
+
"type": "uint256"
|
805
751
|
}
|
806
752
|
],
|
807
|
-
"internalType": "struct
|
808
|
-
"name": "
|
753
|
+
"internalType": "struct IDistribution.DistributorInfo",
|
754
|
+
"name": "info",
|
809
755
|
"type": "tuple"
|
810
756
|
}
|
811
757
|
],
|
@@ -817,40 +763,60 @@
|
|
817
763
|
{
|
818
764
|
"inputs": [
|
819
765
|
{
|
820
|
-
"internalType": "
|
821
|
-
"name": "
|
822
|
-
"type": "
|
823
|
-
},
|
824
|
-
{
|
825
|
-
"internalType": "NumberId",
|
826
|
-
"name": "payoutId",
|
827
|
-
"type": "uint32"
|
766
|
+
"internalType": "Key32",
|
767
|
+
"name": "distributorKey",
|
768
|
+
"type": "bytes32"
|
828
769
|
},
|
829
770
|
{
|
830
771
|
"components": [
|
831
772
|
{
|
832
|
-
"internalType": "
|
833
|
-
"name": "
|
834
|
-
"type": "
|
773
|
+
"internalType": "string",
|
774
|
+
"name": "name",
|
775
|
+
"type": "string"
|
835
776
|
},
|
836
777
|
{
|
837
|
-
"internalType": "
|
838
|
-
"name": "
|
778
|
+
"internalType": "UFixed",
|
779
|
+
"name": "minDiscountPercentage",
|
839
780
|
"type": "uint256"
|
840
781
|
},
|
782
|
+
{
|
783
|
+
"internalType": "UFixed",
|
784
|
+
"name": "maxDiscountPercentage",
|
785
|
+
"type": "uint256"
|
786
|
+
},
|
787
|
+
{
|
788
|
+
"internalType": "UFixed",
|
789
|
+
"name": "commissionPercentage",
|
790
|
+
"type": "uint256"
|
791
|
+
},
|
792
|
+
{
|
793
|
+
"internalType": "uint32",
|
794
|
+
"name": "maxReferralCount",
|
795
|
+
"type": "uint32"
|
796
|
+
},
|
797
|
+
{
|
798
|
+
"internalType": "uint32",
|
799
|
+
"name": "maxReferralLifetime",
|
800
|
+
"type": "uint32"
|
801
|
+
},
|
802
|
+
{
|
803
|
+
"internalType": "bool",
|
804
|
+
"name": "allowSelfReferrals",
|
805
|
+
"type": "bool"
|
806
|
+
},
|
807
|
+
{
|
808
|
+
"internalType": "bool",
|
809
|
+
"name": "allowRenewals",
|
810
|
+
"type": "bool"
|
811
|
+
},
|
841
812
|
{
|
842
813
|
"internalType": "bytes",
|
843
814
|
"name": "data",
|
844
815
|
"type": "bytes"
|
845
|
-
},
|
846
|
-
{
|
847
|
-
"internalType": "Timestamp",
|
848
|
-
"name": "paidAt",
|
849
|
-
"type": "uint40"
|
850
816
|
}
|
851
817
|
],
|
852
|
-
"internalType": "struct
|
853
|
-
"name": "
|
818
|
+
"internalType": "struct IDistribution.DistributorTypeInfo",
|
819
|
+
"name": "info",
|
854
820
|
"type": "tuple"
|
855
821
|
}
|
856
822
|
],
|
@@ -874,9 +840,9 @@
|
|
874
840
|
{
|
875
841
|
"components": [
|
876
842
|
{
|
877
|
-
"internalType": "
|
843
|
+
"internalType": "ClaimId",
|
878
844
|
"name": "claimId",
|
879
|
-
"type": "
|
845
|
+
"type": "uint16"
|
880
846
|
},
|
881
847
|
{
|
882
848
|
"internalType": "uint256",
|
@@ -908,7 +874,7 @@
|
|
908
874
|
"inputs": [
|
909
875
|
{
|
910
876
|
"internalType": "NftId",
|
911
|
-
"name": "
|
877
|
+
"name": "poolNftId",
|
912
878
|
"type": "uint96"
|
913
879
|
},
|
914
880
|
{
|
@@ -919,115 +885,40 @@
|
|
919
885
|
"type": "uint96"
|
920
886
|
},
|
921
887
|
{
|
922
|
-
"internalType": "
|
923
|
-
"name": "
|
924
|
-
"type": "
|
925
|
-
},
|
926
|
-
{
|
927
|
-
"internalType": "ReferralId",
|
928
|
-
"name": "referralId",
|
929
|
-
"type": "bytes8"
|
930
|
-
},
|
931
|
-
{
|
932
|
-
"internalType": "RiskId",
|
933
|
-
"name": "riskId",
|
934
|
-
"type": "bytes8"
|
935
|
-
},
|
936
|
-
{
|
937
|
-
"internalType": "uint256",
|
938
|
-
"name": "sumInsuredAmount",
|
939
|
-
"type": "uint256"
|
940
|
-
},
|
941
|
-
{
|
942
|
-
"internalType": "uint256",
|
943
|
-
"name": "premiumAmount",
|
944
|
-
"type": "uint256"
|
945
|
-
},
|
946
|
-
{
|
947
|
-
"internalType": "uint256",
|
948
|
-
"name": "premiumPaidAmount",
|
949
|
-
"type": "uint256"
|
950
|
-
},
|
951
|
-
{
|
952
|
-
"internalType": "uint256",
|
953
|
-
"name": "lifetime",
|
954
|
-
"type": "uint256"
|
955
|
-
},
|
956
|
-
{
|
957
|
-
"internalType": "bytes",
|
958
|
-
"name": "applicationData",
|
959
|
-
"type": "bytes"
|
960
|
-
},
|
961
|
-
{
|
962
|
-
"internalType": "bytes",
|
963
|
-
"name": "policyData",
|
964
|
-
"type": "bytes"
|
965
|
-
},
|
966
|
-
{
|
967
|
-
"internalType": "uint16",
|
968
|
-
"name": "claimsCount",
|
969
|
-
"type": "uint16"
|
970
|
-
},
|
971
|
-
{
|
972
|
-
"internalType": "uint16",
|
973
|
-
"name": "openClaimsCount",
|
974
|
-
"type": "uint16"
|
888
|
+
"internalType": "contract TokenHandler",
|
889
|
+
"name": "tokenHandler",
|
890
|
+
"type": "address"
|
975
891
|
},
|
976
892
|
{
|
977
893
|
"internalType": "uint256",
|
978
|
-
"name": "
|
894
|
+
"name": "maxCapitalAmount",
|
979
895
|
"type": "uint256"
|
980
896
|
},
|
981
897
|
{
|
982
|
-
"internalType": "
|
983
|
-
"name": "
|
984
|
-
"type": "
|
985
|
-
},
|
986
|
-
{
|
987
|
-
"internalType": "Timestamp",
|
988
|
-
"name": "expiredAt",
|
989
|
-
"type": "uint40"
|
898
|
+
"internalType": "bool",
|
899
|
+
"name": "isInterceptingBundleTransfers",
|
900
|
+
"type": "bool"
|
990
901
|
},
|
991
902
|
{
|
992
|
-
"internalType": "
|
993
|
-
"name": "
|
994
|
-
"type": "
|
995
|
-
}
|
996
|
-
],
|
997
|
-
"internalType": "struct IPolicy.PolicyInfo",
|
998
|
-
"name": "policy",
|
999
|
-
"type": "tuple"
|
1000
|
-
}
|
1001
|
-
],
|
1002
|
-
"name": "createPolicy",
|
1003
|
-
"outputs": [],
|
1004
|
-
"stateMutability": "nonpayable",
|
1005
|
-
"type": "function"
|
1006
|
-
},
|
1007
|
-
{
|
1008
|
-
"inputs": [
|
1009
|
-
{
|
1010
|
-
"internalType": "NftId",
|
1011
|
-
"name": "distributionNftId",
|
1012
|
-
"type": "uint96"
|
1013
|
-
},
|
1014
|
-
{
|
1015
|
-
"components": [
|
1016
|
-
{
|
1017
|
-
"internalType": "NftId",
|
1018
|
-
"name": "productNftId",
|
1019
|
-
"type": "uint96"
|
903
|
+
"internalType": "bool",
|
904
|
+
"name": "isExternallyManaged",
|
905
|
+
"type": "bool"
|
1020
906
|
},
|
1021
907
|
{
|
1022
|
-
"internalType": "
|
1023
|
-
"name": "
|
1024
|
-
"type": "
|
908
|
+
"internalType": "bool",
|
909
|
+
"name": "isVerifyingApplications",
|
910
|
+
"type": "bool"
|
1025
911
|
},
|
1026
912
|
{
|
1027
913
|
"internalType": "UFixed",
|
1028
914
|
"name": "collateralizationLevel",
|
1029
915
|
"type": "uint256"
|
1030
916
|
},
|
917
|
+
{
|
918
|
+
"internalType": "UFixed",
|
919
|
+
"name": "retentionLevel",
|
920
|
+
"type": "uint256"
|
921
|
+
},
|
1031
922
|
{
|
1032
923
|
"components": [
|
1033
924
|
{
|
@@ -1079,11 +970,6 @@
|
|
1079
970
|
"name": "performanceFee",
|
1080
971
|
"type": "tuple"
|
1081
972
|
},
|
1082
|
-
{
|
1083
|
-
"internalType": "bool",
|
1084
|
-
"name": "isIntercepting",
|
1085
|
-
"type": "bool"
|
1086
|
-
},
|
1087
973
|
{
|
1088
974
|
"internalType": "address",
|
1089
975
|
"name": "wallet",
|
@@ -1129,23 +1015,6 @@
|
|
1129
1015
|
"name": "poolNftId",
|
1130
1016
|
"type": "uint96"
|
1131
1017
|
},
|
1132
|
-
{
|
1133
|
-
"components": [
|
1134
|
-
{
|
1135
|
-
"internalType": "UFixed",
|
1136
|
-
"name": "fractionalFee",
|
1137
|
-
"type": "uint256"
|
1138
|
-
},
|
1139
|
-
{
|
1140
|
-
"internalType": "uint256",
|
1141
|
-
"name": "fixedFee",
|
1142
|
-
"type": "uint256"
|
1143
|
-
}
|
1144
|
-
],
|
1145
|
-
"internalType": "struct Fee",
|
1146
|
-
"name": "distributionFee",
|
1147
|
-
"type": "tuple"
|
1148
|
-
},
|
1149
1018
|
{
|
1150
1019
|
"components": [
|
1151
1020
|
{
|
@@ -1181,55 +1050,14 @@
|
|
1181
1050
|
"type": "tuple"
|
1182
1051
|
},
|
1183
1052
|
{
|
1184
|
-
"
|
1185
|
-
|
1186
|
-
|
1187
|
-
"name": "fractionalFee",
|
1188
|
-
"type": "uint256"
|
1189
|
-
},
|
1190
|
-
{
|
1191
|
-
"internalType": "uint256",
|
1192
|
-
"name": "fixedFee",
|
1193
|
-
"type": "uint256"
|
1194
|
-
}
|
1195
|
-
],
|
1196
|
-
"internalType": "struct Fee",
|
1197
|
-
"name": "poolFee",
|
1198
|
-
"type": "tuple"
|
1199
|
-
},
|
1200
|
-
{
|
1201
|
-
"components": [
|
1202
|
-
{
|
1203
|
-
"internalType": "UFixed",
|
1204
|
-
"name": "fractionalFee",
|
1205
|
-
"type": "uint256"
|
1206
|
-
},
|
1207
|
-
{
|
1208
|
-
"internalType": "uint256",
|
1209
|
-
"name": "fixedFee",
|
1210
|
-
"type": "uint256"
|
1211
|
-
}
|
1212
|
-
],
|
1213
|
-
"internalType": "struct Fee",
|
1214
|
-
"name": "stakingFee",
|
1215
|
-
"type": "tuple"
|
1053
|
+
"internalType": "bool",
|
1054
|
+
"name": "isIntercepting",
|
1055
|
+
"type": "bool"
|
1216
1056
|
},
|
1217
1057
|
{
|
1218
|
-
"
|
1219
|
-
|
1220
|
-
|
1221
|
-
"name": "fractionalFee",
|
1222
|
-
"type": "uint256"
|
1223
|
-
},
|
1224
|
-
{
|
1225
|
-
"internalType": "uint256",
|
1226
|
-
"name": "fixedFee",
|
1227
|
-
"type": "uint256"
|
1228
|
-
}
|
1229
|
-
],
|
1230
|
-
"internalType": "struct Fee",
|
1231
|
-
"name": "performanceFee",
|
1232
|
-
"type": "tuple"
|
1058
|
+
"internalType": "address",
|
1059
|
+
"name": "wallet",
|
1060
|
+
"type": "address"
|
1233
1061
|
}
|
1234
1062
|
],
|
1235
1063
|
"internalType": "struct ISetup.ProductSetupInfo",
|
@@ -1245,40 +1073,50 @@
|
|
1245
1073
|
{
|
1246
1074
|
"inputs": [
|
1247
1075
|
{
|
1248
|
-
"internalType": "
|
1249
|
-
"name": "
|
1250
|
-
"type": "
|
1251
|
-
},
|
1252
|
-
{
|
1253
|
-
"internalType": "NumberId",
|
1254
|
-
"name": "payoutId",
|
1255
|
-
"type": "uint32"
|
1076
|
+
"internalType": "Key32",
|
1077
|
+
"name": "referralKey",
|
1078
|
+
"type": "bytes32"
|
1256
1079
|
},
|
1257
1080
|
{
|
1258
1081
|
"components": [
|
1259
1082
|
{
|
1260
|
-
"internalType": "
|
1261
|
-
"name": "
|
1262
|
-
"type": "
|
1083
|
+
"internalType": "NftId",
|
1084
|
+
"name": "distributorNftId",
|
1085
|
+
"type": "uint96"
|
1263
1086
|
},
|
1264
1087
|
{
|
1265
|
-
"internalType": "
|
1266
|
-
"name": "
|
1088
|
+
"internalType": "string",
|
1089
|
+
"name": "referralCode",
|
1090
|
+
"type": "string"
|
1091
|
+
},
|
1092
|
+
{
|
1093
|
+
"internalType": "UFixed",
|
1094
|
+
"name": "discountPercentage",
|
1267
1095
|
"type": "uint256"
|
1268
1096
|
},
|
1269
1097
|
{
|
1270
|
-
"internalType": "
|
1271
|
-
"name": "
|
1272
|
-
"type": "
|
1098
|
+
"internalType": "uint32",
|
1099
|
+
"name": "maxReferrals",
|
1100
|
+
"type": "uint32"
|
1101
|
+
},
|
1102
|
+
{
|
1103
|
+
"internalType": "uint32",
|
1104
|
+
"name": "usedReferrals",
|
1105
|
+
"type": "uint32"
|
1273
1106
|
},
|
1274
1107
|
{
|
1275
1108
|
"internalType": "Timestamp",
|
1276
|
-
"name": "
|
1109
|
+
"name": "expiryAt",
|
1277
1110
|
"type": "uint40"
|
1111
|
+
},
|
1112
|
+
{
|
1113
|
+
"internalType": "bytes",
|
1114
|
+
"name": "data",
|
1115
|
+
"type": "bytes"
|
1278
1116
|
}
|
1279
1117
|
],
|
1280
|
-
"internalType": "struct
|
1281
|
-
"name": "
|
1118
|
+
"internalType": "struct IDistribution.ReferralInfo",
|
1119
|
+
"name": "referralInfo",
|
1282
1120
|
"type": "tuple"
|
1283
1121
|
}
|
1284
1122
|
],
|
@@ -1317,54 +1155,6 @@
|
|
1317
1155
|
"stateMutability": "nonpayable",
|
1318
1156
|
"type": "function"
|
1319
1157
|
},
|
1320
|
-
{
|
1321
|
-
"inputs": [
|
1322
|
-
{
|
1323
|
-
"internalType": "RoleId",
|
1324
|
-
"name": "roleId",
|
1325
|
-
"type": "uint64"
|
1326
|
-
},
|
1327
|
-
{
|
1328
|
-
"internalType": "string",
|
1329
|
-
"name": "name",
|
1330
|
-
"type": "string"
|
1331
|
-
}
|
1332
|
-
],
|
1333
|
-
"name": "createStandardRole",
|
1334
|
-
"outputs": [],
|
1335
|
-
"stateMutability": "nonpayable",
|
1336
|
-
"type": "function"
|
1337
|
-
},
|
1338
|
-
{
|
1339
|
-
"inputs": [
|
1340
|
-
{
|
1341
|
-
"internalType": "address",
|
1342
|
-
"name": "target",
|
1343
|
-
"type": "address"
|
1344
|
-
},
|
1345
|
-
{
|
1346
|
-
"components": [
|
1347
|
-
{
|
1348
|
-
"internalType": "ShortString",
|
1349
|
-
"name": "name",
|
1350
|
-
"type": "bytes32"
|
1351
|
-
},
|
1352
|
-
{
|
1353
|
-
"internalType": "bool",
|
1354
|
-
"name": "isCustom",
|
1355
|
-
"type": "bool"
|
1356
|
-
}
|
1357
|
-
],
|
1358
|
-
"internalType": "struct IAccess.TargetInfo",
|
1359
|
-
"name": "targetInfo",
|
1360
|
-
"type": "tuple"
|
1361
|
-
}
|
1362
|
-
],
|
1363
|
-
"name": "createTarget",
|
1364
|
-
"outputs": [],
|
1365
|
-
"stateMutability": "nonpayable",
|
1366
|
-
"type": "function"
|
1367
|
-
},
|
1368
1158
|
{
|
1369
1159
|
"inputs": [
|
1370
1160
|
{
|
@@ -1444,10 +1234,23 @@
|
|
1444
1234
|
},
|
1445
1235
|
{
|
1446
1236
|
"inputs": [],
|
1447
|
-
"name": "
|
1237
|
+
"name": "getBundleManager",
|
1238
|
+
"outputs": [
|
1239
|
+
{
|
1240
|
+
"internalType": "contract BundleManager",
|
1241
|
+
"name": "",
|
1242
|
+
"type": "address"
|
1243
|
+
}
|
1244
|
+
],
|
1245
|
+
"stateMutability": "view",
|
1246
|
+
"type": "function"
|
1247
|
+
},
|
1248
|
+
{
|
1249
|
+
"inputs": [],
|
1250
|
+
"name": "getBundleService",
|
1448
1251
|
"outputs": [
|
1449
1252
|
{
|
1450
|
-
"internalType": "contract
|
1253
|
+
"internalType": "contract IBundleService",
|
1451
1254
|
"name": "",
|
1452
1255
|
"type": "address"
|
1453
1256
|
}
|
@@ -1474,6 +1277,19 @@
|
|
1474
1277
|
"stateMutability": "view",
|
1475
1278
|
"type": "function"
|
1476
1279
|
},
|
1280
|
+
{
|
1281
|
+
"inputs": [],
|
1282
|
+
"name": "getDistributionService",
|
1283
|
+
"outputs": [
|
1284
|
+
{
|
1285
|
+
"internalType": "contract IDistributionService",
|
1286
|
+
"name": "",
|
1287
|
+
"type": "address"
|
1288
|
+
}
|
1289
|
+
],
|
1290
|
+
"stateMutability": "view",
|
1291
|
+
"type": "function"
|
1292
|
+
},
|
1477
1293
|
{
|
1478
1294
|
"inputs": [],
|
1479
1295
|
"name": "getInitialInfo",
|
@@ -1517,13 +1333,8 @@
|
|
1517
1333
|
}
|
1518
1334
|
],
|
1519
1335
|
"internalType": "struct IRegistry.ObjectInfo",
|
1520
|
-
"name": "",
|
1336
|
+
"name": "info",
|
1521
1337
|
"type": "tuple"
|
1522
|
-
},
|
1523
|
-
{
|
1524
|
-
"internalType": "bytes",
|
1525
|
-
"name": "data",
|
1526
|
-
"type": "bytes"
|
1527
1338
|
}
|
1528
1339
|
],
|
1529
1340
|
"stateMutability": "view",
|
@@ -1561,6 +1372,19 @@
|
|
1561
1372
|
"stateMutability": "view",
|
1562
1373
|
"type": "function"
|
1563
1374
|
},
|
1375
|
+
{
|
1376
|
+
"inputs": [],
|
1377
|
+
"name": "getMajorVersion",
|
1378
|
+
"outputs": [
|
1379
|
+
{
|
1380
|
+
"internalType": "VersionPart",
|
1381
|
+
"name": "majorVersion",
|
1382
|
+
"type": "uint8"
|
1383
|
+
}
|
1384
|
+
],
|
1385
|
+
"stateMutability": "pure",
|
1386
|
+
"type": "function"
|
1387
|
+
},
|
1564
1388
|
{
|
1565
1389
|
"inputs": [
|
1566
1390
|
{
|
@@ -1635,10 +1459,10 @@
|
|
1635
1459
|
},
|
1636
1460
|
{
|
1637
1461
|
"inputs": [],
|
1638
|
-
"name": "
|
1462
|
+
"name": "getPolicyService",
|
1639
1463
|
"outputs": [
|
1640
1464
|
{
|
1641
|
-
"internalType": "contract
|
1465
|
+
"internalType": "contract IPolicyService",
|
1642
1466
|
"name": "",
|
1643
1467
|
"type": "address"
|
1644
1468
|
}
|
@@ -1647,73 +1471,51 @@
|
|
1647
1471
|
"type": "function"
|
1648
1472
|
},
|
1649
1473
|
{
|
1650
|
-
"inputs": [
|
1651
|
-
|
1652
|
-
"internalType": "RoleId",
|
1653
|
-
"name": "roleId",
|
1654
|
-
"type": "uint64"
|
1655
|
-
}
|
1656
|
-
],
|
1657
|
-
"name": "getRole",
|
1474
|
+
"inputs": [],
|
1475
|
+
"name": "getPoolService",
|
1658
1476
|
"outputs": [
|
1659
1477
|
{
|
1660
|
-
"
|
1661
|
-
|
1662
|
-
|
1663
|
-
"name": "name",
|
1664
|
-
"type": "bytes32"
|
1665
|
-
},
|
1666
|
-
{
|
1667
|
-
"internalType": "bool",
|
1668
|
-
"name": "isCustom",
|
1669
|
-
"type": "bool"
|
1670
|
-
}
|
1671
|
-
],
|
1672
|
-
"internalType": "struct IAccess.RoleInfo",
|
1673
|
-
"name": "role",
|
1674
|
-
"type": "tuple"
|
1478
|
+
"internalType": "contract IPoolService",
|
1479
|
+
"name": "",
|
1480
|
+
"type": "address"
|
1675
1481
|
}
|
1676
1482
|
],
|
1677
1483
|
"stateMutability": "view",
|
1678
1484
|
"type": "function"
|
1679
1485
|
},
|
1680
1486
|
{
|
1681
|
-
"inputs": [
|
1682
|
-
|
1683
|
-
"internalType": "uint256",
|
1684
|
-
"name": "idx",
|
1685
|
-
"type": "uint256"
|
1686
|
-
}
|
1687
|
-
],
|
1688
|
-
"name": "getRoleId",
|
1487
|
+
"inputs": [],
|
1488
|
+
"name": "getProductService",
|
1689
1489
|
"outputs": [
|
1690
1490
|
{
|
1691
|
-
"internalType": "
|
1692
|
-
"name": "
|
1693
|
-
"type": "
|
1491
|
+
"internalType": "contract IProductService",
|
1492
|
+
"name": "",
|
1493
|
+
"type": "address"
|
1694
1494
|
}
|
1695
1495
|
],
|
1696
1496
|
"stateMutability": "view",
|
1697
1497
|
"type": "function"
|
1698
1498
|
},
|
1699
1499
|
{
|
1700
|
-
"inputs": [
|
1701
|
-
|
1702
|
-
|
1703
|
-
"name": "roleId",
|
1704
|
-
"type": "uint64"
|
1705
|
-
},
|
1500
|
+
"inputs": [],
|
1501
|
+
"name": "getRegistry",
|
1502
|
+
"outputs": [
|
1706
1503
|
{
|
1707
|
-
"internalType": "
|
1708
|
-
"name": "
|
1709
|
-
"type": "
|
1504
|
+
"internalType": "contract IRegistry",
|
1505
|
+
"name": "",
|
1506
|
+
"type": "address"
|
1710
1507
|
}
|
1711
1508
|
],
|
1712
|
-
"
|
1509
|
+
"stateMutability": "view",
|
1510
|
+
"type": "function"
|
1511
|
+
},
|
1512
|
+
{
|
1513
|
+
"inputs": [],
|
1514
|
+
"name": "getRegistryAddress",
|
1713
1515
|
"outputs": [
|
1714
1516
|
{
|
1715
1517
|
"internalType": "address",
|
1716
|
-
"name": "
|
1518
|
+
"name": "",
|
1717
1519
|
"type": "address"
|
1718
1520
|
}
|
1719
1521
|
],
|
@@ -1736,31 +1538,7 @@
|
|
1736
1538
|
"type": "uint8"
|
1737
1539
|
}
|
1738
1540
|
],
|
1739
|
-
"stateMutability": "view",
|
1740
|
-
"type": "function"
|
1741
|
-
},
|
1742
|
-
{
|
1743
|
-
"inputs": [
|
1744
|
-
{
|
1745
|
-
"internalType": "RoleId",
|
1746
|
-
"name": "roleId",
|
1747
|
-
"type": "uint64"
|
1748
|
-
},
|
1749
|
-
{
|
1750
|
-
"internalType": "address",
|
1751
|
-
"name": "member",
|
1752
|
-
"type": "address"
|
1753
|
-
}
|
1754
|
-
],
|
1755
|
-
"name": "grantRole",
|
1756
|
-
"outputs": [
|
1757
|
-
{
|
1758
|
-
"internalType": "bool",
|
1759
|
-
"name": "granted",
|
1760
|
-
"type": "bool"
|
1761
|
-
}
|
1762
|
-
],
|
1763
|
-
"stateMutability": "nonpayable",
|
1541
|
+
"stateMutability": "view",
|
1764
1542
|
"type": "function"
|
1765
1543
|
},
|
1766
1544
|
{
|
@@ -1810,15 +1588,78 @@
|
|
1810
1588
|
"stateMutability": "nonpayable",
|
1811
1589
|
"type": "function"
|
1812
1590
|
},
|
1591
|
+
{
|
1592
|
+
"inputs": [],
|
1593
|
+
"name": "initializeERC165",
|
1594
|
+
"outputs": [],
|
1595
|
+
"stateMutability": "nonpayable",
|
1596
|
+
"type": "function"
|
1597
|
+
},
|
1813
1598
|
{
|
1814
1599
|
"inputs": [
|
1815
1600
|
{
|
1816
1601
|
"internalType": "address",
|
1817
|
-
"name": "
|
1602
|
+
"name": "initialOwner",
|
1603
|
+
"type": "address"
|
1604
|
+
},
|
1605
|
+
{
|
1606
|
+
"internalType": "address",
|
1607
|
+
"name": "registryAddress",
|
1818
1608
|
"type": "address"
|
1819
1609
|
}
|
1820
1610
|
],
|
1821
|
-
"name": "
|
1611
|
+
"name": "initializeNftOwnable",
|
1612
|
+
"outputs": [],
|
1613
|
+
"stateMutability": "nonpayable",
|
1614
|
+
"type": "function"
|
1615
|
+
},
|
1616
|
+
{
|
1617
|
+
"inputs": [
|
1618
|
+
{
|
1619
|
+
"internalType": "address",
|
1620
|
+
"name": "registryAddress",
|
1621
|
+
"type": "address"
|
1622
|
+
},
|
1623
|
+
{
|
1624
|
+
"internalType": "NftId",
|
1625
|
+
"name": "parentNftId",
|
1626
|
+
"type": "uint96"
|
1627
|
+
},
|
1628
|
+
{
|
1629
|
+
"internalType": "ObjectType",
|
1630
|
+
"name": "objectType",
|
1631
|
+
"type": "uint8"
|
1632
|
+
},
|
1633
|
+
{
|
1634
|
+
"internalType": "bool",
|
1635
|
+
"name": "isInterceptor",
|
1636
|
+
"type": "bool"
|
1637
|
+
},
|
1638
|
+
{
|
1639
|
+
"internalType": "address",
|
1640
|
+
"name": "initialOwner",
|
1641
|
+
"type": "address"
|
1642
|
+
},
|
1643
|
+
{
|
1644
|
+
"internalType": "bytes",
|
1645
|
+
"name": "registryData",
|
1646
|
+
"type": "bytes"
|
1647
|
+
}
|
1648
|
+
],
|
1649
|
+
"name": "initializeRegisterable",
|
1650
|
+
"outputs": [],
|
1651
|
+
"stateMutability": "nonpayable",
|
1652
|
+
"type": "function"
|
1653
|
+
},
|
1654
|
+
{
|
1655
|
+
"inputs": [
|
1656
|
+
{
|
1657
|
+
"internalType": "address",
|
1658
|
+
"name": "registryAddress",
|
1659
|
+
"type": "address"
|
1660
|
+
}
|
1661
|
+
],
|
1662
|
+
"name": "initializeRegistryLinked",
|
1822
1663
|
"outputs": [],
|
1823
1664
|
"stateMutability": "nonpayable",
|
1824
1665
|
"type": "function"
|
@@ -1875,73 +1716,69 @@
|
|
1875
1716
|
{
|
1876
1717
|
"inputs": [
|
1877
1718
|
{
|
1878
|
-
"internalType": "
|
1879
|
-
"name": "
|
1880
|
-
"type": "
|
1881
|
-
}
|
1882
|
-
],
|
1883
|
-
"name": "renounceRole",
|
1884
|
-
"outputs": [
|
1885
|
-
{
|
1886
|
-
"internalType": "bool",
|
1887
|
-
"name": "revoked",
|
1888
|
-
"type": "bool"
|
1719
|
+
"internalType": "bytes4",
|
1720
|
+
"name": "interfaceId",
|
1721
|
+
"type": "bytes4"
|
1889
1722
|
}
|
1890
1723
|
],
|
1724
|
+
"name": "registerInterface",
|
1725
|
+
"outputs": [],
|
1891
1726
|
"stateMutability": "nonpayable",
|
1892
1727
|
"type": "function"
|
1893
1728
|
},
|
1894
1729
|
{
|
1895
1730
|
"inputs": [
|
1896
|
-
{
|
1897
|
-
"internalType": "RoleId",
|
1898
|
-
"name": "roleId",
|
1899
|
-
"type": "uint64"
|
1900
|
-
},
|
1901
1731
|
{
|
1902
1732
|
"internalType": "address",
|
1903
|
-
"name": "
|
1733
|
+
"name": "newAuthority",
|
1904
1734
|
"type": "address"
|
1905
1735
|
}
|
1906
1736
|
],
|
1907
|
-
"name": "
|
1908
|
-
"outputs": [
|
1909
|
-
{
|
1910
|
-
"internalType": "bool",
|
1911
|
-
"name": "revoked",
|
1912
|
-
"type": "bool"
|
1913
|
-
}
|
1914
|
-
],
|
1737
|
+
"name": "setAuthority",
|
1738
|
+
"outputs": [],
|
1915
1739
|
"stateMutability": "nonpayable",
|
1916
1740
|
"type": "function"
|
1917
1741
|
},
|
1918
1742
|
{
|
1919
1743
|
"inputs": [
|
1920
1744
|
{
|
1921
|
-
"internalType": "
|
1922
|
-
"name": "
|
1923
|
-
"type": "
|
1745
|
+
"internalType": "contract BundleManager",
|
1746
|
+
"name": "bundleManager",
|
1747
|
+
"type": "address"
|
1924
1748
|
}
|
1925
1749
|
],
|
1926
|
-
"name": "
|
1927
|
-
"outputs": [
|
1750
|
+
"name": "setBundleManager",
|
1751
|
+
"outputs": [],
|
1752
|
+
"stateMutability": "nonpayable",
|
1753
|
+
"type": "function"
|
1754
|
+
},
|
1755
|
+
{
|
1756
|
+
"inputs": [
|
1928
1757
|
{
|
1929
|
-
"internalType": "
|
1930
|
-
"name": "
|
1931
|
-
"type": "
|
1758
|
+
"internalType": "contract InstanceReader",
|
1759
|
+
"name": "instanceReader",
|
1760
|
+
"type": "address"
|
1932
1761
|
}
|
1933
1762
|
],
|
1934
|
-
"
|
1763
|
+
"name": "setInstanceReader",
|
1764
|
+
"outputs": [],
|
1765
|
+
"stateMutability": "nonpayable",
|
1935
1766
|
"type": "function"
|
1936
1767
|
},
|
1937
1768
|
{
|
1938
|
-
"inputs": [
|
1939
|
-
|
1769
|
+
"inputs": [
|
1770
|
+
{
|
1771
|
+
"internalType": "bytes4",
|
1772
|
+
"name": "interfaceId",
|
1773
|
+
"type": "bytes4"
|
1774
|
+
}
|
1775
|
+
],
|
1776
|
+
"name": "supportsInterface",
|
1940
1777
|
"outputs": [
|
1941
1778
|
{
|
1942
|
-
"internalType": "
|
1943
|
-
"name": "
|
1944
|
-
"type": "
|
1779
|
+
"internalType": "bool",
|
1780
|
+
"name": "",
|
1781
|
+
"type": "bool"
|
1945
1782
|
}
|
1946
1783
|
],
|
1947
1784
|
"stateMutability": "view",
|
@@ -1950,75 +1787,69 @@
|
|
1950
1787
|
{
|
1951
1788
|
"inputs": [
|
1952
1789
|
{
|
1953
|
-
"internalType": "
|
1954
|
-
"name": "
|
1955
|
-
"type": "
|
1790
|
+
"internalType": "NftId",
|
1791
|
+
"name": "bundleNftId",
|
1792
|
+
"type": "uint96"
|
1956
1793
|
}
|
1957
1794
|
],
|
1958
|
-
"name": "
|
1959
|
-
"outputs": [
|
1960
|
-
"stateMutability": "nonpayable",
|
1961
|
-
"type": "function"
|
1962
|
-
},
|
1963
|
-
{
|
1964
|
-
"inputs": [
|
1795
|
+
"name": "toBundleKey32",
|
1796
|
+
"outputs": [
|
1965
1797
|
{
|
1966
|
-
"internalType": "
|
1967
|
-
"name": "
|
1968
|
-
"type": "
|
1798
|
+
"internalType": "Key32",
|
1799
|
+
"name": "",
|
1800
|
+
"type": "bytes32"
|
1969
1801
|
}
|
1970
1802
|
],
|
1971
|
-
"
|
1972
|
-
"outputs": [],
|
1973
|
-
"stateMutability": "nonpayable",
|
1803
|
+
"stateMutability": "pure",
|
1974
1804
|
"type": "function"
|
1975
1805
|
},
|
1976
1806
|
{
|
1977
1807
|
"inputs": [
|
1978
1808
|
{
|
1979
|
-
"internalType": "
|
1980
|
-
"name": "
|
1981
|
-
"type": "
|
1982
|
-
}
|
1809
|
+
"internalType": "NftId",
|
1810
|
+
"name": "distNftId",
|
1811
|
+
"type": "uint96"
|
1812
|
+
}
|
1813
|
+
],
|
1814
|
+
"name": "toDistributionKey32",
|
1815
|
+
"outputs": [
|
1983
1816
|
{
|
1984
|
-
"internalType": "
|
1985
|
-
"name": "
|
1986
|
-
"type": "
|
1817
|
+
"internalType": "Key32",
|
1818
|
+
"name": "",
|
1819
|
+
"type": "bytes32"
|
1987
1820
|
}
|
1988
1821
|
],
|
1989
|
-
"
|
1990
|
-
"outputs": [],
|
1991
|
-
"stateMutability": "nonpayable",
|
1822
|
+
"stateMutability": "pure",
|
1992
1823
|
"type": "function"
|
1993
1824
|
},
|
1994
1825
|
{
|
1995
1826
|
"inputs": [
|
1996
1827
|
{
|
1997
|
-
"internalType": "
|
1998
|
-
"name": "
|
1999
|
-
"type": "
|
1828
|
+
"internalType": "NftId",
|
1829
|
+
"name": "distNftId",
|
1830
|
+
"type": "uint96"
|
2000
1831
|
}
|
2001
1832
|
],
|
2002
|
-
"name": "
|
1833
|
+
"name": "toDistributorKey32",
|
2003
1834
|
"outputs": [
|
2004
1835
|
{
|
2005
|
-
"internalType": "
|
1836
|
+
"internalType": "Key32",
|
2006
1837
|
"name": "",
|
2007
|
-
"type": "
|
1838
|
+
"type": "bytes32"
|
2008
1839
|
}
|
2009
1840
|
],
|
2010
|
-
"stateMutability": "
|
1841
|
+
"stateMutability": "pure",
|
2011
1842
|
"type": "function"
|
2012
1843
|
},
|
2013
1844
|
{
|
2014
1845
|
"inputs": [
|
2015
1846
|
{
|
2016
1847
|
"internalType": "NftId",
|
2017
|
-
"name": "
|
1848
|
+
"name": "distNftId",
|
2018
1849
|
"type": "uint96"
|
2019
1850
|
}
|
2020
1851
|
],
|
2021
|
-
"name": "
|
1852
|
+
"name": "toDistributorTypeKey32",
|
2022
1853
|
"outputs": [
|
2023
1854
|
{
|
2024
1855
|
"internalType": "Key32",
|
@@ -2075,39 +1906,124 @@
|
|
2075
1906
|
{
|
2076
1907
|
"inputs": [
|
2077
1908
|
{
|
2078
|
-
"internalType": "
|
2079
|
-
"name": "
|
2080
|
-
"type": "
|
2081
|
-
}
|
2082
|
-
|
2083
|
-
|
2084
|
-
|
1909
|
+
"internalType": "NftId",
|
1910
|
+
"name": "applicationNftId",
|
1911
|
+
"type": "uint96"
|
1912
|
+
},
|
1913
|
+
{
|
1914
|
+
"components": [
|
1915
|
+
{
|
1916
|
+
"internalType": "NftId",
|
1917
|
+
"name": "productNftId",
|
1918
|
+
"type": "uint96"
|
1919
|
+
},
|
1920
|
+
{
|
1921
|
+
"internalType": "NftId",
|
1922
|
+
"name": "bundleNftId",
|
1923
|
+
"type": "uint96"
|
1924
|
+
},
|
1925
|
+
{
|
1926
|
+
"internalType": "ReferralId",
|
1927
|
+
"name": "referralId",
|
1928
|
+
"type": "bytes8"
|
1929
|
+
},
|
1930
|
+
{
|
1931
|
+
"internalType": "RiskId",
|
1932
|
+
"name": "riskId",
|
1933
|
+
"type": "bytes8"
|
1934
|
+
},
|
1935
|
+
{
|
1936
|
+
"internalType": "uint256",
|
1937
|
+
"name": "sumInsuredAmount",
|
1938
|
+
"type": "uint256"
|
1939
|
+
},
|
1940
|
+
{
|
1941
|
+
"internalType": "uint256",
|
1942
|
+
"name": "premiumAmount",
|
1943
|
+
"type": "uint256"
|
1944
|
+
},
|
1945
|
+
{
|
1946
|
+
"internalType": "uint256",
|
1947
|
+
"name": "premiumPaidAmount",
|
1948
|
+
"type": "uint256"
|
1949
|
+
},
|
1950
|
+
{
|
1951
|
+
"internalType": "Seconds",
|
1952
|
+
"name": "lifetime",
|
1953
|
+
"type": "uint40"
|
1954
|
+
},
|
1955
|
+
{
|
1956
|
+
"internalType": "bytes",
|
1957
|
+
"name": "applicationData",
|
1958
|
+
"type": "bytes"
|
1959
|
+
},
|
1960
|
+
{
|
1961
|
+
"internalType": "bytes",
|
1962
|
+
"name": "policyData",
|
1963
|
+
"type": "bytes"
|
1964
|
+
},
|
1965
|
+
{
|
1966
|
+
"internalType": "uint16",
|
1967
|
+
"name": "claimsCount",
|
1968
|
+
"type": "uint16"
|
1969
|
+
},
|
1970
|
+
{
|
1971
|
+
"internalType": "uint16",
|
1972
|
+
"name": "openClaimsCount",
|
1973
|
+
"type": "uint16"
|
1974
|
+
},
|
1975
|
+
{
|
1976
|
+
"internalType": "uint256",
|
1977
|
+
"name": "payoutAmount",
|
1978
|
+
"type": "uint256"
|
1979
|
+
},
|
1980
|
+
{
|
1981
|
+
"internalType": "Timestamp",
|
1982
|
+
"name": "activatedAt",
|
1983
|
+
"type": "uint40"
|
1984
|
+
},
|
1985
|
+
{
|
1986
|
+
"internalType": "Timestamp",
|
1987
|
+
"name": "expiredAt",
|
1988
|
+
"type": "uint40"
|
1989
|
+
},
|
1990
|
+
{
|
1991
|
+
"internalType": "Timestamp",
|
1992
|
+
"name": "closedAt",
|
1993
|
+
"type": "uint40"
|
1994
|
+
}
|
1995
|
+
],
|
1996
|
+
"internalType": "struct IPolicy.PolicyInfo",
|
1997
|
+
"name": "policy",
|
1998
|
+
"type": "tuple"
|
1999
|
+
},
|
2085
2000
|
{
|
2086
|
-
"internalType": "
|
2087
|
-
"name": "",
|
2088
|
-
"type": "
|
2001
|
+
"internalType": "StateId",
|
2002
|
+
"name": "newState",
|
2003
|
+
"type": "uint8"
|
2089
2004
|
}
|
2090
2005
|
],
|
2091
|
-
"
|
2006
|
+
"name": "updateApplication",
|
2007
|
+
"outputs": [],
|
2008
|
+
"stateMutability": "nonpayable",
|
2092
2009
|
"type": "function"
|
2093
2010
|
},
|
2094
2011
|
{
|
2095
2012
|
"inputs": [
|
2096
2013
|
{
|
2097
|
-
"internalType": "
|
2098
|
-
"name": "
|
2099
|
-
"type": "
|
2100
|
-
}
|
2101
|
-
],
|
2102
|
-
"name": "toTargetKey32",
|
2103
|
-
"outputs": [
|
2014
|
+
"internalType": "NftId",
|
2015
|
+
"name": "applicationNftId",
|
2016
|
+
"type": "uint96"
|
2017
|
+
},
|
2104
2018
|
{
|
2105
|
-
"internalType": "
|
2106
|
-
"name": "",
|
2107
|
-
"type": "
|
2019
|
+
"internalType": "StateId",
|
2020
|
+
"name": "newState",
|
2021
|
+
"type": "uint8"
|
2108
2022
|
}
|
2109
2023
|
],
|
2110
|
-
"
|
2024
|
+
"name": "updateApplicationState",
|
2025
|
+
"outputs": [],
|
2026
|
+
"stateMutability": "nonpayable",
|
2111
2027
|
"type": "function"
|
2112
2028
|
},
|
2113
2029
|
{
|
@@ -2161,6 +2077,11 @@
|
|
2161
2077
|
"name": "balanceAmount",
|
2162
2078
|
"type": "uint256"
|
2163
2079
|
},
|
2080
|
+
{
|
2081
|
+
"internalType": "Seconds",
|
2082
|
+
"name": "lifetime",
|
2083
|
+
"type": "uint40"
|
2084
|
+
},
|
2164
2085
|
{
|
2165
2086
|
"internalType": "Timestamp",
|
2166
2087
|
"name": "expiredAt",
|
@@ -2213,9 +2134,9 @@
|
|
2213
2134
|
"type": "uint96"
|
2214
2135
|
},
|
2215
2136
|
{
|
2216
|
-
"internalType": "
|
2137
|
+
"internalType": "ClaimId",
|
2217
2138
|
"name": "claimId",
|
2218
|
-
"type": "
|
2139
|
+
"type": "uint16"
|
2219
2140
|
},
|
2220
2141
|
{
|
2221
2142
|
"components": [
|
@@ -2263,54 +2184,9 @@
|
|
2263
2184
|
"type": "uint96"
|
2264
2185
|
},
|
2265
2186
|
{
|
2266
|
-
"internalType": "
|
2267
|
-
"name": "
|
2268
|
-
"type": "
|
2269
|
-
},
|
2270
|
-
{
|
2271
|
-
"components": [
|
2272
|
-
{
|
2273
|
-
"internalType": "NumberId",
|
2274
|
-
"name": "claimId",
|
2275
|
-
"type": "uint32"
|
2276
|
-
},
|
2277
|
-
{
|
2278
|
-
"internalType": "uint256",
|
2279
|
-
"name": "amount",
|
2280
|
-
"type": "uint256"
|
2281
|
-
},
|
2282
|
-
{
|
2283
|
-
"internalType": "bytes",
|
2284
|
-
"name": "data",
|
2285
|
-
"type": "bytes"
|
2286
|
-
},
|
2287
|
-
{
|
2288
|
-
"internalType": "Timestamp",
|
2289
|
-
"name": "paidAt",
|
2290
|
-
"type": "uint40"
|
2291
|
-
}
|
2292
|
-
],
|
2293
|
-
"internalType": "struct IPolicy.PayoutInfo",
|
2294
|
-
"name": "payout",
|
2295
|
-
"type": "tuple"
|
2296
|
-
},
|
2297
|
-
{
|
2298
|
-
"internalType": "StateId",
|
2299
|
-
"name": "newState",
|
2300
|
-
"type": "uint8"
|
2301
|
-
}
|
2302
|
-
],
|
2303
|
-
"name": "updateClaim",
|
2304
|
-
"outputs": [],
|
2305
|
-
"stateMutability": "nonpayable",
|
2306
|
-
"type": "function"
|
2307
|
-
},
|
2308
|
-
{
|
2309
|
-
"inputs": [
|
2310
|
-
{
|
2311
|
-
"internalType": "NftId",
|
2312
|
-
"name": "policyNftId",
|
2313
|
-
"type": "uint96"
|
2187
|
+
"internalType": "ClaimId",
|
2188
|
+
"name": "claimId",
|
2189
|
+
"type": "uint16"
|
2314
2190
|
},
|
2315
2191
|
{
|
2316
2192
|
"internalType": "StateId",
|
@@ -2356,18 +2232,35 @@
|
|
2356
2232
|
}
|
2357
2233
|
],
|
2358
2234
|
"internalType": "struct Fee",
|
2359
|
-
"name": "
|
2235
|
+
"name": "minDistributionOwnerFee",
|
2360
2236
|
"type": "tuple"
|
2361
2237
|
},
|
2362
2238
|
{
|
2363
|
-
"
|
2364
|
-
|
2365
|
-
|
2239
|
+
"components": [
|
2240
|
+
{
|
2241
|
+
"internalType": "UFixed",
|
2242
|
+
"name": "fractionalFee",
|
2243
|
+
"type": "uint256"
|
2244
|
+
},
|
2245
|
+
{
|
2246
|
+
"internalType": "uint256",
|
2247
|
+
"name": "fixedFee",
|
2248
|
+
"type": "uint256"
|
2249
|
+
}
|
2250
|
+
],
|
2251
|
+
"internalType": "struct Fee",
|
2252
|
+
"name": "distributionFee",
|
2253
|
+
"type": "tuple"
|
2366
2254
|
},
|
2367
2255
|
{
|
2368
2256
|
"internalType": "address",
|
2369
2257
|
"name": "wallet",
|
2370
2258
|
"type": "address"
|
2259
|
+
},
|
2260
|
+
{
|
2261
|
+
"internalType": "uint256",
|
2262
|
+
"name": "sumDistributionFees",
|
2263
|
+
"type": "uint256"
|
2371
2264
|
}
|
2372
2265
|
],
|
2373
2266
|
"internalType": "struct ISetup.DistributionSetupInfo",
|
@@ -2407,25 +2300,20 @@
|
|
2407
2300
|
"inputs": [
|
2408
2301
|
{
|
2409
2302
|
"internalType": "NftId",
|
2410
|
-
"name": "
|
2303
|
+
"name": "nftId",
|
2411
2304
|
"type": "uint96"
|
2412
2305
|
},
|
2413
|
-
{
|
2414
|
-
"internalType": "NumberId",
|
2415
|
-
"name": "payoutId",
|
2416
|
-
"type": "uint32"
|
2417
|
-
},
|
2418
2306
|
{
|
2419
2307
|
"components": [
|
2420
2308
|
{
|
2421
|
-
"internalType": "
|
2422
|
-
"name": "
|
2423
|
-
"type": "
|
2309
|
+
"internalType": "DistributorType",
|
2310
|
+
"name": "distributorType",
|
2311
|
+
"type": "bytes8"
|
2424
2312
|
},
|
2425
2313
|
{
|
2426
|
-
"internalType": "
|
2427
|
-
"name": "
|
2428
|
-
"type": "
|
2314
|
+
"internalType": "bool",
|
2315
|
+
"name": "active",
|
2316
|
+
"type": "bool"
|
2429
2317
|
},
|
2430
2318
|
{
|
2431
2319
|
"internalType": "bytes",
|
@@ -2433,13 +2321,18 @@
|
|
2433
2321
|
"type": "bytes"
|
2434
2322
|
},
|
2435
2323
|
{
|
2436
|
-
"internalType": "
|
2437
|
-
"name": "
|
2438
|
-
"type": "
|
2324
|
+
"internalType": "uint256",
|
2325
|
+
"name": "sumCommisions",
|
2326
|
+
"type": "uint256"
|
2327
|
+
},
|
2328
|
+
{
|
2329
|
+
"internalType": "uint256",
|
2330
|
+
"name": "numPoliciesSold",
|
2331
|
+
"type": "uint256"
|
2439
2332
|
}
|
2440
2333
|
],
|
2441
|
-
"internalType": "struct
|
2442
|
-
"name": "
|
2334
|
+
"internalType": "struct IDistribution.DistributorInfo",
|
2335
|
+
"name": "info",
|
2443
2336
|
"type": "tuple"
|
2444
2337
|
},
|
2445
2338
|
{
|
@@ -2457,7 +2350,7 @@
|
|
2457
2350
|
"inputs": [
|
2458
2351
|
{
|
2459
2352
|
"internalType": "NftId",
|
2460
|
-
"name": "
|
2353
|
+
"name": "nftId",
|
2461
2354
|
"type": "uint96"
|
2462
2355
|
},
|
2463
2356
|
{
|
@@ -2474,40 +2367,60 @@
|
|
2474
2367
|
{
|
2475
2368
|
"inputs": [
|
2476
2369
|
{
|
2477
|
-
"internalType": "
|
2478
|
-
"name": "
|
2479
|
-
"type": "
|
2480
|
-
},
|
2481
|
-
{
|
2482
|
-
"internalType": "NumberId",
|
2483
|
-
"name": "payoutId",
|
2484
|
-
"type": "uint32"
|
2370
|
+
"internalType": "Key32",
|
2371
|
+
"name": "distributorKey",
|
2372
|
+
"type": "bytes32"
|
2485
2373
|
},
|
2486
2374
|
{
|
2487
2375
|
"components": [
|
2488
2376
|
{
|
2489
|
-
"internalType": "
|
2490
|
-
"name": "
|
2491
|
-
"type": "
|
2377
|
+
"internalType": "string",
|
2378
|
+
"name": "name",
|
2379
|
+
"type": "string"
|
2492
2380
|
},
|
2493
2381
|
{
|
2494
|
-
"internalType": "
|
2495
|
-
"name": "
|
2382
|
+
"internalType": "UFixed",
|
2383
|
+
"name": "minDiscountPercentage",
|
2384
|
+
"type": "uint256"
|
2385
|
+
},
|
2386
|
+
{
|
2387
|
+
"internalType": "UFixed",
|
2388
|
+
"name": "maxDiscountPercentage",
|
2389
|
+
"type": "uint256"
|
2390
|
+
},
|
2391
|
+
{
|
2392
|
+
"internalType": "UFixed",
|
2393
|
+
"name": "commissionPercentage",
|
2496
2394
|
"type": "uint256"
|
2497
2395
|
},
|
2396
|
+
{
|
2397
|
+
"internalType": "uint32",
|
2398
|
+
"name": "maxReferralCount",
|
2399
|
+
"type": "uint32"
|
2400
|
+
},
|
2401
|
+
{
|
2402
|
+
"internalType": "uint32",
|
2403
|
+
"name": "maxReferralLifetime",
|
2404
|
+
"type": "uint32"
|
2405
|
+
},
|
2406
|
+
{
|
2407
|
+
"internalType": "bool",
|
2408
|
+
"name": "allowSelfReferrals",
|
2409
|
+
"type": "bool"
|
2410
|
+
},
|
2411
|
+
{
|
2412
|
+
"internalType": "bool",
|
2413
|
+
"name": "allowRenewals",
|
2414
|
+
"type": "bool"
|
2415
|
+
},
|
2498
2416
|
{
|
2499
2417
|
"internalType": "bytes",
|
2500
2418
|
"name": "data",
|
2501
2419
|
"type": "bytes"
|
2502
|
-
},
|
2503
|
-
{
|
2504
|
-
"internalType": "Timestamp",
|
2505
|
-
"name": "paidAt",
|
2506
|
-
"type": "uint40"
|
2507
2420
|
}
|
2508
2421
|
],
|
2509
|
-
"internalType": "struct
|
2510
|
-
"name": "
|
2422
|
+
"internalType": "struct IDistribution.DistributorTypeInfo",
|
2423
|
+
"name": "info",
|
2511
2424
|
"type": "tuple"
|
2512
2425
|
},
|
2513
2426
|
{
|
@@ -2521,6 +2434,24 @@
|
|
2521
2434
|
"stateMutability": "nonpayable",
|
2522
2435
|
"type": "function"
|
2523
2436
|
},
|
2437
|
+
{
|
2438
|
+
"inputs": [
|
2439
|
+
{
|
2440
|
+
"internalType": "Key32",
|
2441
|
+
"name": "distributorKey",
|
2442
|
+
"type": "bytes32"
|
2443
|
+
},
|
2444
|
+
{
|
2445
|
+
"internalType": "StateId",
|
2446
|
+
"name": "newState",
|
2447
|
+
"type": "uint8"
|
2448
|
+
}
|
2449
|
+
],
|
2450
|
+
"name": "updateDistributorTypeState",
|
2451
|
+
"outputs": [],
|
2452
|
+
"stateMutability": "nonpayable",
|
2453
|
+
"type": "function"
|
2454
|
+
},
|
2524
2455
|
{
|
2525
2456
|
"inputs": [
|
2526
2457
|
{
|
@@ -2528,13 +2459,45 @@
|
|
2528
2459
|
"name": "policyNftId",
|
2529
2460
|
"type": "uint96"
|
2530
2461
|
},
|
2462
|
+
{
|
2463
|
+
"internalType": "NumberId",
|
2464
|
+
"name": "payoutId",
|
2465
|
+
"type": "uint32"
|
2466
|
+
},
|
2467
|
+
{
|
2468
|
+
"components": [
|
2469
|
+
{
|
2470
|
+
"internalType": "ClaimId",
|
2471
|
+
"name": "claimId",
|
2472
|
+
"type": "uint16"
|
2473
|
+
},
|
2474
|
+
{
|
2475
|
+
"internalType": "uint256",
|
2476
|
+
"name": "amount",
|
2477
|
+
"type": "uint256"
|
2478
|
+
},
|
2479
|
+
{
|
2480
|
+
"internalType": "bytes",
|
2481
|
+
"name": "data",
|
2482
|
+
"type": "bytes"
|
2483
|
+
},
|
2484
|
+
{
|
2485
|
+
"internalType": "Timestamp",
|
2486
|
+
"name": "paidAt",
|
2487
|
+
"type": "uint40"
|
2488
|
+
}
|
2489
|
+
],
|
2490
|
+
"internalType": "struct IPolicy.PayoutInfo",
|
2491
|
+
"name": "payout",
|
2492
|
+
"type": "tuple"
|
2493
|
+
},
|
2531
2494
|
{
|
2532
2495
|
"internalType": "StateId",
|
2533
2496
|
"name": "newState",
|
2534
2497
|
"type": "uint8"
|
2535
2498
|
}
|
2536
2499
|
],
|
2537
|
-
"name": "
|
2500
|
+
"name": "updatePayout",
|
2538
2501
|
"outputs": [],
|
2539
2502
|
"stateMutability": "nonpayable",
|
2540
2503
|
"type": "function"
|
@@ -2602,9 +2565,9 @@
|
|
2602
2565
|
"type": "uint256"
|
2603
2566
|
},
|
2604
2567
|
{
|
2605
|
-
"internalType": "
|
2568
|
+
"internalType": "Seconds",
|
2606
2569
|
"name": "lifetime",
|
2607
|
-
"type": "
|
2570
|
+
"type": "uint40"
|
2608
2571
|
},
|
2609
2572
|
{
|
2610
2573
|
"internalType": "bytes",
|
@@ -2684,7 +2647,7 @@
|
|
2684
2647
|
"inputs": [
|
2685
2648
|
{
|
2686
2649
|
"internalType": "NftId",
|
2687
|
-
"name": "
|
2650
|
+
"name": "poolNftId",
|
2688
2651
|
"type": "uint96"
|
2689
2652
|
},
|
2690
2653
|
{
|
@@ -2695,13 +2658,38 @@
|
|
2695
2658
|
"type": "uint96"
|
2696
2659
|
},
|
2697
2660
|
{
|
2698
|
-
"internalType": "contract TokenHandler",
|
2699
|
-
"name": "tokenHandler",
|
2700
|
-
"type": "address"
|
2661
|
+
"internalType": "contract TokenHandler",
|
2662
|
+
"name": "tokenHandler",
|
2663
|
+
"type": "address"
|
2664
|
+
},
|
2665
|
+
{
|
2666
|
+
"internalType": "uint256",
|
2667
|
+
"name": "maxCapitalAmount",
|
2668
|
+
"type": "uint256"
|
2669
|
+
},
|
2670
|
+
{
|
2671
|
+
"internalType": "bool",
|
2672
|
+
"name": "isInterceptingBundleTransfers",
|
2673
|
+
"type": "bool"
|
2674
|
+
},
|
2675
|
+
{
|
2676
|
+
"internalType": "bool",
|
2677
|
+
"name": "isExternallyManaged",
|
2678
|
+
"type": "bool"
|
2679
|
+
},
|
2680
|
+
{
|
2681
|
+
"internalType": "bool",
|
2682
|
+
"name": "isVerifyingApplications",
|
2683
|
+
"type": "bool"
|
2684
|
+
},
|
2685
|
+
{
|
2686
|
+
"internalType": "UFixed",
|
2687
|
+
"name": "collateralizationLevel",
|
2688
|
+
"type": "uint256"
|
2701
2689
|
},
|
2702
2690
|
{
|
2703
2691
|
"internalType": "UFixed",
|
2704
|
-
"name": "
|
2692
|
+
"name": "retentionLevel",
|
2705
2693
|
"type": "uint256"
|
2706
2694
|
},
|
2707
2695
|
{
|
@@ -2755,11 +2743,6 @@
|
|
2755
2743
|
"name": "performanceFee",
|
2756
2744
|
"type": "tuple"
|
2757
2745
|
},
|
2758
|
-
{
|
2759
|
-
"internalType": "bool",
|
2760
|
-
"name": "isIntercepting",
|
2761
|
-
"type": "bool"
|
2762
|
-
},
|
2763
2746
|
{
|
2764
2747
|
"internalType": "address",
|
2765
2748
|
"name": "wallet",
|
@@ -2785,7 +2768,7 @@
|
|
2785
2768
|
"inputs": [
|
2786
2769
|
{
|
2787
2770
|
"internalType": "NftId",
|
2788
|
-
"name": "
|
2771
|
+
"name": "poolNftId",
|
2789
2772
|
"type": "uint96"
|
2790
2773
|
},
|
2791
2774
|
{
|
@@ -2828,23 +2811,6 @@
|
|
2828
2811
|
"name": "poolNftId",
|
2829
2812
|
"type": "uint96"
|
2830
2813
|
},
|
2831
|
-
{
|
2832
|
-
"components": [
|
2833
|
-
{
|
2834
|
-
"internalType": "UFixed",
|
2835
|
-
"name": "fractionalFee",
|
2836
|
-
"type": "uint256"
|
2837
|
-
},
|
2838
|
-
{
|
2839
|
-
"internalType": "uint256",
|
2840
|
-
"name": "fixedFee",
|
2841
|
-
"type": "uint256"
|
2842
|
-
}
|
2843
|
-
],
|
2844
|
-
"internalType": "struct Fee",
|
2845
|
-
"name": "distributionFee",
|
2846
|
-
"type": "tuple"
|
2847
|
-
},
|
2848
2814
|
{
|
2849
2815
|
"components": [
|
2850
2816
|
{
|
@@ -2880,55 +2846,14 @@
|
|
2880
2846
|
"type": "tuple"
|
2881
2847
|
},
|
2882
2848
|
{
|
2883
|
-
"
|
2884
|
-
|
2885
|
-
|
2886
|
-
"name": "fractionalFee",
|
2887
|
-
"type": "uint256"
|
2888
|
-
},
|
2889
|
-
{
|
2890
|
-
"internalType": "uint256",
|
2891
|
-
"name": "fixedFee",
|
2892
|
-
"type": "uint256"
|
2893
|
-
}
|
2894
|
-
],
|
2895
|
-
"internalType": "struct Fee",
|
2896
|
-
"name": "poolFee",
|
2897
|
-
"type": "tuple"
|
2898
|
-
},
|
2899
|
-
{
|
2900
|
-
"components": [
|
2901
|
-
{
|
2902
|
-
"internalType": "UFixed",
|
2903
|
-
"name": "fractionalFee",
|
2904
|
-
"type": "uint256"
|
2905
|
-
},
|
2906
|
-
{
|
2907
|
-
"internalType": "uint256",
|
2908
|
-
"name": "fixedFee",
|
2909
|
-
"type": "uint256"
|
2910
|
-
}
|
2911
|
-
],
|
2912
|
-
"internalType": "struct Fee",
|
2913
|
-
"name": "stakingFee",
|
2914
|
-
"type": "tuple"
|
2849
|
+
"internalType": "bool",
|
2850
|
+
"name": "isIntercepting",
|
2851
|
+
"type": "bool"
|
2915
2852
|
},
|
2916
2853
|
{
|
2917
|
-
"
|
2918
|
-
|
2919
|
-
|
2920
|
-
"name": "fractionalFee",
|
2921
|
-
"type": "uint256"
|
2922
|
-
},
|
2923
|
-
{
|
2924
|
-
"internalType": "uint256",
|
2925
|
-
"name": "fixedFee",
|
2926
|
-
"type": "uint256"
|
2927
|
-
}
|
2928
|
-
],
|
2929
|
-
"internalType": "struct Fee",
|
2930
|
-
"name": "performanceFee",
|
2931
|
-
"type": "tuple"
|
2854
|
+
"internalType": "address",
|
2855
|
+
"name": "wallet",
|
2856
|
+
"type": "address"
|
2932
2857
|
}
|
2933
2858
|
],
|
2934
2859
|
"internalType": "struct ISetup.ProductSetupInfo",
|
@@ -2967,40 +2892,50 @@
|
|
2967
2892
|
{
|
2968
2893
|
"inputs": [
|
2969
2894
|
{
|
2970
|
-
"internalType": "
|
2971
|
-
"name": "
|
2972
|
-
"type": "
|
2973
|
-
},
|
2974
|
-
{
|
2975
|
-
"internalType": "NumberId",
|
2976
|
-
"name": "payoutId",
|
2977
|
-
"type": "uint32"
|
2895
|
+
"internalType": "Key32",
|
2896
|
+
"name": "referralKey",
|
2897
|
+
"type": "bytes32"
|
2978
2898
|
},
|
2979
2899
|
{
|
2980
2900
|
"components": [
|
2981
2901
|
{
|
2982
|
-
"internalType": "
|
2983
|
-
"name": "
|
2984
|
-
"type": "
|
2902
|
+
"internalType": "NftId",
|
2903
|
+
"name": "distributorNftId",
|
2904
|
+
"type": "uint96"
|
2985
2905
|
},
|
2986
2906
|
{
|
2987
|
-
"internalType": "
|
2988
|
-
"name": "
|
2907
|
+
"internalType": "string",
|
2908
|
+
"name": "referralCode",
|
2909
|
+
"type": "string"
|
2910
|
+
},
|
2911
|
+
{
|
2912
|
+
"internalType": "UFixed",
|
2913
|
+
"name": "discountPercentage",
|
2989
2914
|
"type": "uint256"
|
2990
2915
|
},
|
2991
2916
|
{
|
2992
|
-
"internalType": "
|
2993
|
-
"name": "
|
2994
|
-
"type": "
|
2917
|
+
"internalType": "uint32",
|
2918
|
+
"name": "maxReferrals",
|
2919
|
+
"type": "uint32"
|
2920
|
+
},
|
2921
|
+
{
|
2922
|
+
"internalType": "uint32",
|
2923
|
+
"name": "usedReferrals",
|
2924
|
+
"type": "uint32"
|
2995
2925
|
},
|
2996
2926
|
{
|
2997
2927
|
"internalType": "Timestamp",
|
2998
|
-
"name": "
|
2928
|
+
"name": "expiryAt",
|
2999
2929
|
"type": "uint40"
|
2930
|
+
},
|
2931
|
+
{
|
2932
|
+
"internalType": "bytes",
|
2933
|
+
"name": "data",
|
2934
|
+
"type": "bytes"
|
3000
2935
|
}
|
3001
2936
|
],
|
3002
|
-
"internalType": "struct
|
3003
|
-
"name": "
|
2937
|
+
"internalType": "struct IDistribution.ReferralInfo",
|
2938
|
+
"name": "referralInfo",
|
3004
2939
|
"type": "tuple"
|
3005
2940
|
},
|
3006
2941
|
{
|
@@ -3017,9 +2952,9 @@
|
|
3017
2952
|
{
|
3018
2953
|
"inputs": [
|
3019
2954
|
{
|
3020
|
-
"internalType": "
|
3021
|
-
"name": "
|
3022
|
-
"type": "
|
2955
|
+
"internalType": "Key32",
|
2956
|
+
"name": "referralKey",
|
2957
|
+
"type": "bytes32"
|
3023
2958
|
},
|
3024
2959
|
{
|
3025
2960
|
"internalType": "StateId",
|
@@ -3084,133 +3019,88 @@
|
|
3084
3019
|
"outputs": [],
|
3085
3020
|
"stateMutability": "nonpayable",
|
3086
3021
|
"type": "function"
|
3087
|
-
},
|
3088
|
-
{
|
3089
|
-
"inputs": [
|
3090
|
-
{
|
3091
|
-
"internalType": "RoleId",
|
3092
|
-
"name": "roleId",
|
3093
|
-
"type": "uint64"
|
3094
|
-
},
|
3095
|
-
{
|
3096
|
-
"internalType": "string",
|
3097
|
-
"name": "name",
|
3098
|
-
"type": "string"
|
3099
|
-
},
|
3100
|
-
{
|
3101
|
-
"internalType": "StateId",
|
3102
|
-
"name": "newState",
|
3103
|
-
"type": "uint8"
|
3104
|
-
}
|
3105
|
-
],
|
3106
|
-
"name": "updateRole",
|
3107
|
-
"outputs": [],
|
3108
|
-
"stateMutability": "nonpayable",
|
3109
|
-
"type": "function"
|
3110
|
-
},
|
3111
|
-
{
|
3112
|
-
"inputs": [
|
3113
|
-
{
|
3114
|
-
"internalType": "RoleId",
|
3115
|
-
"name": "roleId",
|
3116
|
-
"type": "uint64"
|
3117
|
-
},
|
3118
|
-
{
|
3119
|
-
"internalType": "StateId",
|
3120
|
-
"name": "newState",
|
3121
|
-
"type": "uint8"
|
3122
|
-
}
|
3123
|
-
],
|
3124
|
-
"name": "updateRoleState",
|
3125
|
-
"outputs": [],
|
3126
|
-
"stateMutability": "nonpayable",
|
3127
|
-
"type": "function"
|
3128
3022
|
}
|
3129
3023
|
],
|
3130
|
-
"bytecode": "0x60806040523480156200001157600080fd5b50604051620071c0380380620071c08339810160408190526200003491620017c9565b826200004081620000d4565b506200004b62000153565b620000556200030a565b6200005f62000444565b62000069620006b1565b6301ffc9a760e01b60005260046020527f9fe05126d2d9ecf60592e254dead906a4b2e492f36cca727682c38e9008c6ac1805460ff19166001179055600680546001600160a01b03191633908117909155620000cb90849084908490620007f8565b50505062001b28565b60005460ff1615620001385760405162461bcd60e51b815260206004820152602260248201527f4163636573734d616e616765643a20616c726561647920696e697469616c697a604482015261195960f21b60648201526084015b60405180910390fd5b620001438162000a53565b506000805460ff19166001179055565b60dc6000908152600160208190527f81c2bf9f7c6e8ac9bd8bcd9d323e94b867d2f5054aff8759d884773c680ec1ec805460ff19166064179055906002906200019a60dc90565b60ff1660ff1681526020019081526020016000206000620001c062000aaf60201b60201c565b60ff1660ff1681526020019081526020016000206000620001e662000ab460201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906002906200021a60dc90565b60ff1660ff16815260200190815260200160002060006200024062000ab460201b60201c565b60ff1660ff16815260200190815260200160002060006200026662000aaf60201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906002906200029a60dc90565b60ff1660ff1681526020019081526020016000206000620002c062000ab460201b60201c565b60ff1660ff1681526020019081526020016000206000620002e662000ab960201b60201c565b60ff1681526020810191909152604001600020805460ff1916911515919091179055565b7f1bd07f61ef326b4de236f5b68f225f46ff76ee2c375ae31a06da201c49c70c128054606460ff1991821681179092557f879b65b464eb639409179c76c21acf6fbada740970e2300d47ea857d08cacd3c8054909116600190811790915560009182526002602052907f7673bcbb3401a7cbae68f81d40eea2cf35afdaf7ecd016ebf3f02857fcc1260a906200039e606e90565b60ff1660ff1681526020019081526020016000206000620003c462000aaf60201b60201c565b60ff16815260208101919091526040016000908120805460ff191692151592909217909155600190600290620003f8606490565b60ff1660ff16815260200190815260200160002060006200041e62000ab460201b60201c565b60ff1660ff1681526020019081526020016000206000620002e662000abe60201b60201c565b60d26000908152600160208190527fcfa08e49dd9e66a4af3cdf0c2ef56f411154768307cac6dc23ee77c0386825be805460ff1916600a179055906002906200048b60d290565b60ff1660ff1681526020019081526020016000206000620004b162000ac360201b60201c565b60ff1660ff1681526020019081526020016000206000620004d762000ac860201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906002906200050b60d290565b60ff1660ff16815260200190815260200160002060006200053162000ac360201b60201c565b60ff1660ff16815260200190815260200160002060006200055762000acd60201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906002906200058b60d290565b60ff1660ff1681526020019081526020016000206000620005b162000ac360201b60201c565b60ff1660ff1681526020019081526020016000206000620005d762000ad260201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906002906200060b60d290565b60ff1660ff16815260200190815260200160002060006200063162000ad260201b60201c565b60ff1660ff16815260200190815260200160002060006200065762000aaf60201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906002906200068b60d290565b60ff1660ff1681526020019081526020016000206000620002c062000aaf60201b60201c565b60c86000908152600160208190527f345f7c6c888721344af4147de0834159e0b302300ba13c4e7b6c0b60d8f2314e805460ff1916606417905590600290620006f860c890565b60ff1660ff16815260200190815260200160002060006200071e62000aaf60201b60201c565b60ff1660ff16815260200190815260200160002060006200074462000ab460201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906002906200077860c890565b60ff1660ff16815260200190815260200160002060006200079e62000ab460201b60201c565b60ff1660ff1681526020019081526020016000206000620007c462000aaf60201b60201c565b60ff16815260208101919091526040016000908120805460ff191692151592909217909155600190600290620003f860c890565b600654600160a01b900460ff16156200086b5760405162461bcd60e51b815260206004820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201526d195b881a5b9a5d1a585b1a5e995960921b60648201526084016200012f565b600b80546001600160a01b0319166001600160a01b0386161790556040516368aebf7b60e01b8152600060048201526200092b9073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af4158015620008dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000902919062001823565b60408051808201909152600981526841646d696e526f6c6560b81b602082015260008062000ad7565b6040516368aebf7b60e01b81526001600160401b036004820152620009d79073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af415801562000987573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009ad919062001823565b60408051808201909152600a8152695075626c6963526f6c6560b01b602082015260008062000ad7565b620009fe838360466000856040518060200160405280600081525062000bbd60201b60201c565b6342e19e5f60e01b60005260046020527f643d55d460d5a1aae86a570cc022b7d04a019a39b894c5b0832a60546fd6598d805460ff1916600117905550506006805460ff60a01b1916600160a01b1790555050565b60008054610100600160a81b0319166101006001600160a01b038416908102919091179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b606490565b606e90565b60c890565b60d290565b600a90565b601490565b601e90565b602890565b801562000aee5762000aeb84848462000c8e565b50505b600062000afd85858562000f18565b8051600090815260076020526040812080546001600160401b0319166001600160401b038981169182179092556009805460018101825593527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af6004840401805460039094166008026101000a928302199093169102179055905062000bb662000b878662000f54565b604080518451602080830191909152850151151581830152815180820383018152606090910190915262000fdc565b5050505050565b62000bc9828762000fec565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d01000000000000000000000000008615150217815590506001810162000c488382620018fa565b506303fb044760e21b60005260046020527f91a409085efa2cad9dad64790cb14ef1d9b61e9173e901d74242d27ef0ced4a1805460ff1916600117905550505050505050565b6000808062000c9d8662000f54565b905062000caa8162001012565b9250821562000cdf5762000cbe81620010a0565b80602001905181019062000cd39190620019d7565b60200151915062000ce3565b8391505b856001600160401b038116158062000d0357506001600160401b03818116145b1562000d2e5760405163981bf42160e01b81526001600160401b03881660048201526024016200012f565b82801562000d4657506127106001600160401b038216105b1562000d7157604051633119b9df60e21b81526001600160401b03881660048201526024016200012f565b82801562000d8a57506127106001600160401b03821610155b1562000db55760405163094fb39160e01b81526001600160401b03881660048201526024016200012f565b600062000dc2876200114d565b905062000dcf8162001190565b60000362000dfc576040516321ab17ab60e01b81526001600160401b03891660048201526024016200012f565b60008181526007602090815260409182902054825163bc1b392d60e01b8152925162000ea3936001600160401b039092169273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9263bc1b392d92600480830193928290030181865af415801562000e6b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e91919062001823565b6001600160401b039081169116141590565b801562000eca57506000818152600760205260409020546001600160401b03898116911614155b1562000f0d5760008181526007602052604090819020549051631660fb9360e21b81526001600160401b039091166004820152602481018290526044016200012f565b505050935093915050565b604080518082018252600080825260208201528151808301909252908062000f40856200114d565b815260200183151581525090509392505050565b604051630f37f38f60e41b81526001600160401b038216600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063f37f38f090602401602060405180830381865af415801562000fb0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fd6919062001a30565b92915050565b62000fe88282620011b9565b5050565b600680546001600160a01b0319166001600160a01b03841617905562000fe881620015f1565b60008181526003602052604080822054905163b2466acf60e01b815261010090910460ff16600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf906024015b602060405180830381865af41580156200107a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fd6919062001a4a565b6000818152600360205260409020600101805460609190620010c2906200186b565b80601f0160208091040260200160405190810160405280929190818152602001828054620010f0906200186b565b8015620011415780601f10620011155761010080835404028352916020019162001141565b820191906000526020600020905b8154815290600101906020018083116200112357829003601f168201915b50505050509050919050565b600080829050601f815111156200117b578260405163305a27a960e01b81526004016200012f919062001a68565b8051620011888262001ab8565b179392505050565b600060ff8216601f81111562000fd657604051632cd44ac360e21b815260040160405180910390fd5b604051634b00e98f60e11b81526004810183905260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af41580156200120d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001233919062001add565b60405163b2466acf60e01b815260ff8216600482015290915073__$fb4566b39bd2075cb32f600f6f40bfaef2$__9063b2466acf90602401602060405180830381865af415801562001289573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012af919062001a4a565b620012fd5760405162461bcd60e51b815260206004820152601c60248201527f4552524f523a4b56532d3031303a545950455f554e444546494e45440000000060448201526064016200012f565b600083815260036020526040908190208054915163037c8cb160e51b815261010090920460ff1660048301529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__90636f91962090602401602060405180830381865af415801562001367573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200138d919062001a4a565b620013db5760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3031323a414c52454144595f4352454154454400000060448201526064016200012f565b33436000620013ea856200175e565b620013f75760646200140d565b60ff808616600090815260016020526040902054165b845460ff87811661ffff1990921691909117610100918316919091021762010000600160d01b031916620100006001600160a01b0386160263ffffffff60b01b191617600160b01b63ffffffff85169081029190911763ffffffff60d01b1916600160d01b919091021785556000888152600360205260409020909150600101620014998782620018fa565b50604051634b00e98f60e11b8152600481018890527ffcb75eb7b317145f986c763e1a3eab5f9b4dbaf7955504f70f986d799c3ab39d9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af41580156200150d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001533919062001add565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af415801562001584573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015aa919062001b02565b6040805160ff938416815260ff19929092166020830152918416818301526001600160a01b038616606082015232608082015290519081900360a00190a150505050505050565b6005546001600160a01b0316156200162c5760055460405163fcdbf2d960e01b81526001600160a01b0390911660048201526024016200012f565b6001600160a01b038116620016545760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b6000036200168c5760405163fdeac91f60e01b81526001600160a01b03821660048201526024016200012f565b600580546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263350fb35160e11b60048201526301ffc9a790602401602060405180830381865afa92505050801562001709575060408051601f3d908101601f19168201909252620017069181019062001a4a565b60015b620017335760405163fdeac91f60e01b81526001600160a01b03821660048201526024016200012f565b8062000fe85760405163fdeac91f60e01b81526001600160a01b03831660048201526024016200012f565b60ff81811660009081526001602052604080822054905163b2466acf60e01b8152921660048301529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf906024016200105c565b80516001600160a01b0381168114620017c457600080fd5b919050565b600080600060608486031215620017df57600080fd5b620017ea84620017ac565b9250620017fa60208501620017ac565b60408501519092506001600160601b03811681146200181857600080fd5b809150509250925092565b6000602082840312156200183657600080fd5b81516001600160401b03811681146200184e57600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200188057607f821691505b602082108103620018a157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620018f557600081815260208120601f850160051c81016020861015620018d05750805b601f850160051c820191505b81811015620018f157828155600101620018dc565b5050505b505050565b81516001600160401b0381111562001916576200191662001855565b6200192e816200192784546200186b565b84620018a7565b602080601f8311600181146200196657600084156200194d5750858301515b600019600386901b1c1916600185901b178555620018f1565b600085815260208120601f198616915b82811015620019975788860151825594840194600190910190840162001976565b5085821015620019b65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80518015158114620017c457600080fd5b600060408284031215620019ea57600080fd5b604080519081016001600160401b038111828210171562001a0f5762001a0f62001855565b6040528251815262001a2460208401620019c6565b60208201529392505050565b60006020828403121562001a4357600080fd5b5051919050565b60006020828403121562001a5d57600080fd5b6200184e82620019c6565b600060208083528351808285015260005b8181101562001a975785810183015185820160400152820162001a79565b506000604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620018a15760001960209190910360031b1b16919050565b60006020828403121562001af057600080fd5b815160ff811681146200184e57600080fd5b60006020828403121562001b1557600080fd5b815160ff19811681146200184e57600080fd5b6156888062001b386000396000f3fe608060405234801561001057600080fd5b50600436106104805760003560e01c806382f65adb11610257578063b68ec14611610146578063d2f21a29116100c3578063e9e96c7011610087578063e9e96c7014610ac2578063f48016ce14610b00578063f7bc431c14610b13578063f8b648ac1461065f578063fe1f18d614610b2657600080fd5b8063d2f21a2914610a89578063d5b221bd146105d9578063d78a83b114610a9c578063dee3262314610aaf578063e8951ee6146105ab57600080fd5b8063bf1db3f91161010a578063bf1db3f914610a3a578063bf7e214f14610a4d578063c2f1a2d2146105d9578063c4d66de814610a63578063cd50b97e14610a7657600080fd5b8063b68ec1461461065f578063b7d2b162146109ee578063bc8d400014610a01578063bd4fe04e14610a14578063bd5947e314610a2757600080fd5b8063954fab2c116101d4578063a13df2ab11610198578063a13df2ab146108f1578063a5961b4c14610904578063a76ee018146109b5578063a8989675146109c8578063b428b0b0146109db57600080fd5b8063954fab2c146108a5578063976b0a77146108b85780639a960d52146108cb5780639d7421f4146108de5780639df0280b146105ab57600080fd5b80638d4eae9d1161021b5780638d4eae9d1461083e5780638dc77f42146105ab5780638eaa6ac0146108515780638fb3603714610871578063950ad70b1461089257600080fd5b806382f65adb1461065f578063835933c9146107f057806386f0c47b146108035780638793a9ac14610823578063893d20e81461083657600080fd5b806338a699a4116103735780635dfa73db116102f057806375b238fc116102b457806375b238fc146107af57806375c82776146107b75780637a415802146105d95780637a9e5e4b146107ca5780637cef4842146107dd57600080fd5b80635dfa73db1461074d578063644c45e01461075657806364c55d9c146107815780636fa2985314610794578063735391271461079c57600080fd5b8063468a186711610337578063468a1867146106f657806354f6127f1461070957806357f96805146107295780635ab1bd531461073c5780635d4345cc146105ab57600080fd5b806338a699a4146106a2578063392f5f64146106b55780633ca7c02a146106bd5780633fd85561146106e357806340529b0f146105ab57600080fd5b8063167bd395116104015780632f61088a116103c55780632f61088a1461063957806331d311a71461064c57806333bb0a971461065f57806337f135d714610672578063384c9a571461068f57600080fd5b8063167bd395146105c65780631c45fe7a146105d95780631e23a2f5146105ec5780631eff4b22146105ff57806322f46b841461062657600080fd5b80630d358181116104485780630d3581811461055c5780630f526f7d146105825780630fec111c1461059557806310203d2c146105ab578063138461e0146105be57600080fd5b806301ffc9a71461048557806302cd3071146104c757806303014974146104ec57806309648a9d1461050d5780630b24cf5f14610547575b600080fd5b6104b2610493366004613c93565b6001600160e01b03191660009081526004602052604090205460ff1690565b60405190151581526020015b60405180910390f35b600c546001600160a01b03165b6040516001600160a01b0390911681526020016104be565b6104ff6104fa366004613cd2565b610b39565b6040519081526020016104be565b61053561051b366004613cef565b600090815260036020526040902054610100900460ff1690565b60405160ff90911681526020016104be565b61055a610555366004613ef9565b610b60565b005b61053561056a366004613f3e565b60ff9081166000908152600160205260409020541690565b61055a610590366004613f5b565b610ba4565b61059d610bc1565b6040516104be929190613fe4565b61055a6105b9366004613f5b565b610d43565b61055a610d58565b61055a6105d436600461408b565b610f7a565b61055a6105e73660046141e1565b611022565b61055a6105fa366004614255565b611063565b6104ff7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b61055a6106343660046142b6565b611089565b61055a610647366004614380565b61109f565b6104ff61065a3660046143c5565b61113a565b61055a61066d3660046143e2565b6111cb565b61067a600081565b60405163ffffffff90911681526020016104be565b6104b261069d366004613cd2565b6111f6565b6104b26106b0366004613cef565b61138c565b6009546104ff565b6106cb6001600160401b0381565b6040516001600160401b0390911681526020016104be565b6106cb6106f1366004613cef565b611417565b6104ff610704366004614443565b61145c565b61071c610717366004613cef565b6114b9565b6040516104be9190614460565b61055a610737366004614516565b61155e565b6005546001600160a01b03166104d4565b6106cb61271081565b600554600160a01b90046001600160601b03166040516001600160601b0390911681526020016104be565b61055a61078f366004614616565b611586565b6104d46115ae565b61055a6107aa366004614662565b611650565b6106cb600081565b61055a6107c53660046146d3565b611678565b61055a6107d83660046143c5565b61169e565b61055a6107eb36600461472b565b611719565b6104ff6107fe366004613cd2565b6117a3565b610816610811366004613cd2565b6117e6565b6040516104be9190614749565b61055a610831366004614762565b61188b565b6104d46118a0565b61055a61084c366004614821565b61197d565b61086461085f366004613cef565b6119a3565b6040516104be91906148b0565b610879611ae4565b6040516001600160e01b031990911681526020016104be565b61055a6108a03660046148e4565b611b08565b61055a6108b336600461493c565b611b6a565b61055a6108c6366004614983565b611b90565b61055a6108d9366004614b2b565b611daf565b61055a6108ec366004614b72565b611dd5565b6104ff6108ff366004614443565b611dfb565b6109a8610912366004613cef565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915250600090815260036020908152604091829020825160a081018452905460ff8082168352610100820416928201929092526001600160a01b03620100008304169281019290925263ffffffff600160b01b820481166060840152600160d01b90910416608082015290565b6040516104be9190614bc9565b61055a6109c3366004614bd7565b611e28565b61055a6109d6366004614c1e565b611ec3565b6104b26109e9366004614c5e565b611fb4565b6104b26109fc366004614c5e565b6121a8565b61055a610a0f366004614c8c565b612333565b61055a610a22366004614cd1565b612359565b61055a610a35366004614d12565b612381565b6104b2610a48366004613f3e565b6123a9565b60005461010090046001600160a01b03166104d4565b61055a610a713660046143c5565b6123f6565b61055a610a843660046142b6565b61246d565b61055a610a97366004613f5b565b612484565b6104d4610aaa366004614d52565b61249b565b61055a610abd366004613f5b565b6124c4565b6104b2610ad0366004614c1e565b60ff9283166000908152600260209081526040808320948616835293815283822092851682529190915220541690565b6104ff610b0e366004614d8e565b6124db565b61055a610b213660046143c5565b61255f565b61055a610b34366004613f5b565b6125db565b6001600160401b0381166000908152600860205260408120610b5a906125f0565b92915050565b610b6d335b6000366125fa565b610ba0610b7b83607861270d565b82604051602001610b8c9190614dbc565b604051602081830303815290604052612759565b5050565b610bad33610b65565b610ba0610bbb83608c61270d565b82612763565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e00160405280610c446005546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610c8c6118a0565b6001600160a01b03168152602001826001018054610ca990614e1c565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd590614e1c565b8015610d225780601f10610cf757610100808354040283529160200191610d22565b820191906000526020600020905b815481529060010190602001808311610d0557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b610d4c33610b65565b610ba0610bbb8361145c565b6005546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190614e56565b15610e25576005546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6005546001600160a01b0316610e4e5760405163cf29926160e01b815260040160405180910390fd5b60055460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610e97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebb9190614e56565b610ee3576040516372657a5160e01b81526001600160a01b0382166004820152602401610e1c565b600554604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610f2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f519190614e73565b600560146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b610f8333610b65565b610f8f6106b08361113a565b610fb7576040516325b6f39560e21b81526001600160a01b0383166004820152602401610e1c565b600b5460405163167bd39560e01b81526001600160a01b03848116600483015283151560248301529091169063167bd39590604401600060405180830381600087803b15801561100657600080fd5b505af115801561101a573d6000803e3d6000fd5b505050505050565b61102b33610b65565b61105d6110378561145c565b836040516020016110489190614e90565b6040516020818303038152906040528361276d565b50505050565b61106c33610b65565b610ba06110788361113a565b82604051602001610b8c9190614749565b61109233610b65565b610ba08282600180612778565b6110a833610b65565b6040516355ee627560e01b81526001600160c01b031983166004820152610ba09073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015611105573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111299190614ee3565b82604051602001610b8c9190614efc565b604051637a400b6760e11b8152601e6004820152606082901b6bffffffffffffffffffffffff1916602482015260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__9063f48016ce906044015b602060405180830381865af41580156111a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5a9190614ee3565b6111d433610b65565b6111f16111e08461145c565b82604051602001610b8c9190614e90565b505050565b60003381611203846117a3565b905061120e8161138c565b61123557604051627a416f60e01b81526001600160401b0385166004820152602401610e1c565b6001600160401b03841660009081526008602052604090206112579083612821565b1561138257600b54604051631517388760e21b81526001600160401b03861660048201526001600160a01b039091169063fe0776f59073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af41580156112c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ed9190614f2a565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b0385166024820152604401600060405180830381600087803b15801561133d57600080fd5b505af1158015611351573d6000803e3d6000fd5b5050506001600160401b0385166000908152600860205260409020611377915083612843565b506001949350505050565b5060009392505050565b60008181526003602052604080822054905163b2466acf60e01b815261010090910460ff16600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf906024015b602060405180830381865af41580156113f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5a9190614e56565b60006009828154811061142c5761142c614f47565b90600052602060002090600491828204019190066008029054906101000a90046001600160401b03169050919050565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660d25b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff16602482015260440161118a565b60008181526003602052604090206001018054606091906114d990614e1c565b80601f016020809104026020016040519081016040528092919081815260200182805461150590614e1c565b80156115525780601f1061152757610100808354040283529160200191611552565b820191906000526020600020905b81548152906001019060200180831161153557829003601f168201915b50505050509050919050565b61156733610b65565b610ba061157583608c61270d565b82604051602001610b8c9190614f5d565b61158f33610b65565b6111f161159d84606e61270d565b836040516020016110489190615000565b6005546040805163a3bcd81d60e01b815260048101919091526015604482015274436f6d706f6e656e744f776e65725365727669636560581b6064820152600360248201526000916001600160a01b03169063a3bcd81d906084015b602060405180830381865afa158015611627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164b9190615102565b905090565b61165933610b65565b610ba061166783606e61270d565b82604051602001610b8c9190615000565b61168133610b65565b61105d61168d8561145c565b83604051602001611048919061511f565b600054339061010090046001600160a01b031681146116da5760405162d1953b60e31b81526001600160a01b0382166004820152602401610e1c565b816001600160a01b03163b600003611710576040516361798f2f60e11b81526001600160a01b0383166004820152602401610e1c565b610ba082612858565b61172233610b65565b6040516355ee627560e01b81526001600160c01b031983166004820152610ba09073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af415801561177f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbb9190614ee3565b604051630f37f38f60e41b81526001600160401b038216600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063f37f38f09060240161118a565b604080518082018252600080825260208201529051630f37f38f60e41b81526001600160401b03831660048201526118789073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063f37f38f090602401602060405180830381865af4158015611854573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107179190614ee3565b806020019051810190610b5a919061514f565b61189433610b65565b610ba0610bbb836117a3565b6005546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015611905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119299190614e56565b1561196d57600554604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a9060240161160a565b506006546001600160a01b031690565b61198633610b65565b610ba061199283611dfb565b82604051602001610b8c9190615187565b6040805160e081018252600091810182815260608083018490526080830184905260a0830184905260c083019390935281526020810191909152600082815260036020908152604091829020825160e081018452815460ff80821695830195865261010082041660608301526001600160a01b0362010000820416608083015263ffffffff600160b01b8204811660a0840152600160d01b9091041660c08201529283526001810180549192840191611a5b90614e1c565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8790614e1c565b8015611ad45780601f10611aa957610100808354040283529160200191611ad4565b820191906000526020600020905b815481529060010190602001808311611ab757829003601f168201915b5050505050815250509050919050565b60008054600160a81b900460ff16611afc5750600090565b50638fb3603760e01b90565b611b1133610b65565b6000611b1f848460006128b4565b5090506000611b2f858584612b1f565b9050611b63611b3d866117a3565b82604051602001611b4e9190614749565b6040516020818303038152906040528561276d565b5050505050565b611b7333610b65565b6111f1611b7f84611dfb565b836040516020016110489190615187565b600654600160a01b900460ff1615611c015760405162461bcd60e51b815260206004820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201526d195b881a5b9a5d1a585b1a5e995960921b6064820152608401610e1c565b600b80546001600160a01b0319166001600160a01b0386161790556040516368aebf7b60e01b815260006004820152611cbe9073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af4158015611c70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c949190614f2a565b6040518060400160405280600981526020016841646d696e526f6c6560b81b815250600080612778565b6040516368aebf7b60e01b81526001600160401b036004820152611d679073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af4158015611d18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d3c9190614f2a565b6040518060400160405280600a8152602001695075626c6963526f6c6560b01b815250600080612778565b611d868383604660008560405180602001604052806000815250612b5b565b611d966342e19e5f60e01b612bef565b50506006805460ff60a01b1916600160a01b1790555050565b611db833610b65565b6111f1611dc48461145c565b83604051602001611048919061522c565b611dde33610b65565b6111f1611dea8461145c565b82604051602001610b8c919061511f565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660dc611485565b611e3133610b65565b6040516355ee627560e01b81526001600160c01b0319841660048201526111f19073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015611e8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb29190614ee3565b836040516020016110489190614efc565b60ff8381166000908152600160205260409081902054905163037c8cb160e51b81529116600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__90636f91962090602401602060405180830381865af4158015611f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4c9190614e56565b15611f5657505050565b60ff8084166000908152600260209081526040808320868516845282528083208585168452909152902054166111f157604051636bb20ea760e01b815260ff8085166004830152808416602483015282166044820152606401610e1c565b6000611fbf33610b65565b6000611fca846117a3565b9050611fd58161138c565b611ffd57604051636777365b60e01b81526001600160401b0385166004820152602401610e1c565b60008181526003602052604090205461202c90610100900460ff16612020606490565b60ff9081169116141590565b156120555760405163fe229d5d60e01b81526001600160401b0385166004820152602401610e1c565b6001600160401b03841660009081526008602052604090206120779084612821565b61138257600b54604051631517388760e21b81526001600160401b03861660048201526001600160a01b03909116906325c471a09073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af41580156120e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061210c9190614f2a565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038616602482015260006044820152606401600060405180830381600087803b15801561216357600080fd5b505af1158015612177573d6000803e3d6000fd5b5050506001600160401b038516600090815260086020526040902061219d915084612c14565b506001915050610b5a565b60006121b333610b65565b60006121be846117a3565b90506121c98161138c565b6121f157604051634cee277360e11b81526001600160401b0385166004820152602401610e1c565b6001600160401b03841660009081526008602052604090206122139084612821565b1561138257600b54604051631517388760e21b81526001600160401b03861660048201526001600160a01b039091169063b7d2b1629073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015612285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a99190614f2a565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b0386166024820152604401600060405180830381600087803b1580156122f957600080fd5b505af115801561230d573d6000803e3d6000fd5b5050506001600160401b038516600090815260086020526040902061219d915084612843565b61233c33610b65565b610ba06123488361145c565b82604051602001610b8c919061522c565b61236233610b65565b6111f161237084608c61270d565b836040516020016110489190614f5d565b61238a33610b65565b6111f161239884607861270d565b836040516020016110489190614dbc565b60ff81811660009081526001602052604080822054905163b2466acf60e01b8152921660048301529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf906024016113d6565b60005460ff16156124545760405162461bcd60e51b815260206004820152602260248201527f4163636573734d616e616765643a20616c726561647920696e697469616c697a604482015261195960f21b6064820152608401610e1c565b61245d81612858565b506000805460ff19166001179055565b61247633610b65565b610ba0828260006001612778565b61248d33610b65565b610ba0610bbb83607861270d565b6001600160401b03821660009081526008602052604081206124bd9083612c29565b9392505050565b6124cd33610b65565b610ba0610bbb83606e61270d565b604051637a400b6760e11b815260ff8316600482015260ff198216602482015260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__9063f48016ce906044015b602060405180830381865af415801561253b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124bd9190614ee3565b61256833610b65565b600c546001600160a01b0316156125b95760405162461bcd60e51b8152602060048201526015602482015274125b9cdd185b98d954995859195c881a5cc81cd95d605a1b6044820152606401610e1c565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6125e433610b65565b610ba0610bbb83611dfb565b6000610b5a825490565b6000806126366126186000546001600160a01b036101009091041690565b863061262860046000898b615383565b612631916153ad565b612c35565b9150915081611b635763ffffffff8116156126ea576000805460ff60a81b1916600160a81b1790556126766000546001600160a01b036101009091041690565b6001600160a01b03166394c7d7ee8686866040518463ffffffff1660e01b81526004016126a5939291906153dd565b600060405180830381600087803b1580156126bf57600080fd5b505af11580156126d3573d6000803e3d6000fd5b50506000805460ff60a81b1916905550611b639050565b60405162d1953b60e31b81526001600160a01b0386166004820152602401610e1c565b604051630711349960e31b81526001600160601b038316600482015260ff8216602482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__90633889a4c89060440161251e565b610ba08282612d41565b610ba08282613163565b6111f1838383613497565b801561278c576127898484846128b4565b50505b6000612799858585612b1f565b80516000908152600760205260408120805467ffffffffffffffff19166001600160401b038981169182179092556009805460018101825593527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af6004840401805460039094166008026101000a9283021990931691021790559050611b63611078866117a3565b6001600160a01b038116600090815260018301602052604081205415156124bd565b60006124bd836001600160a01b038416613932565b60008054610100600160a81b0319166101006001600160a01b038416908102919091179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b60008060006128c2866117a3565b90506128cd8161138c565b925082156128fc576128de816114b9565b8060200190518101906128f1919061514f565b602001519150612900565b8391505b856001600160401b038116158061291f57506001600160401b03818116145b156129485760405163981bf42160e01b81526001600160401b0388166004820152602401610e1c565b82801561295f57506127106001600160401b038216105b1561298857604051633119b9df60e21b81526001600160401b0388166004820152602401610e1c565b8280156129a057506127106001600160401b03821610155b156129c95760405163094fb39160e01b81526001600160401b0388166004820152602401610e1c565b60006129d487613a2c565b90506129df81613a6a565b600003612a0a576040516321ab17ab60e01b81526001600160401b0389166004820152602401610e1c565b60008181526007602090815260409182902054825163bc1b392d60e01b81529251612aad936001600160401b039092169273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9263bc1b392d92600480830193928290030181865af4158015612a77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a9b9190614f2a565b6001600160401b039081169116141590565b8015612ad357506000818152600760205260409020546001600160401b03898116911614155b15612b145760008181526007602052604090819020549051631660fb9360e21b81526001600160401b03909116600482015260248101829052604401610e1c565b505050935093915050565b60408051808201909152600080825260208201526040518060400160405280612b4785613a2c565b815260200183151581525090509392505050565b612b658287613a92565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b86151502178155905060018101612bd58382615463565b50612be66303fb044760e21b612bef565b50505050505050565b6001600160e01b0319166000908152600460205260409020805460ff19166001179055565b60006124bd836001600160a01b038416613ab6565b60006124bd8383613b05565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251612ca49190615522565b600060405180830381855afa9150503d8060008114612cdf576040519150601f19603f3d011682016040523d82523d6000602084013e612ce4565b606091505b50915091508115612d36576040815110612d165780806020019051810190612d0c919061553e565b9094509250612d36565b6020815110612d365780806020019051810190612d339190614e56565b93505b505094509492505050565b604051634b00e98f60e11b81526004810183905260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015612d94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db8919061556d565b60405163b2466acf60e01b815260ff8216600482015290915073__$fb4566b39bd2075cb32f600f6f40bfaef2$__9063b2466acf90602401602060405180830381865af4158015612e0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e319190614e56565b612e7d5760405162461bcd60e51b815260206004820152601c60248201527f4552524f523a4b56532d3031303a545950455f554e444546494e4544000000006044820152606401610e1c565b600083815260036020526040908190208054915163037c8cb160e51b815261010090920460ff1660048301529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__90636f91962090602401602060405180830381865af4158015612ee6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f0a9190614e56565b612f565760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3031323a414c52454144595f435245415445440000006044820152606401610e1c565b33436000612f63856123a9565b612f6e576064612f84565b60ff808616600090815260016020526040902054165b845460ff87811661ffff1990921691909117610100918316919091021762010000600160d01b031916620100006001600160a01b0386160263ffffffff60b01b191617600160b01b63ffffffff85169081029190911763ffffffff60d01b1916600160d01b91909102178555600088815260036020526040902090915060010161300e8782615463565b50604051634b00e98f60e11b8152600481018890527ffcb75eb7b317145f986c763e1a3eab5f9b4dbaf7955504f70f986d799c3ab39d9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015613081573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130a5919061556d565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af41580156130f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613119919061558a565b6040805160ff938416815260ff199092166020830152918416918101919091526001600160a01b038516606082015232608082015260a0015b60405180910390a150505050505050565b60405163b2466acf60e01b815260ff8216600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af41580156131b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131d99190614e56565b6132255760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3034303a53544154455f554e444546494e45440000006044820152606401610e1c565b600082815260036020526040908190208054915163b2466acf60e01b815261010090920460ff1660048301819052909173__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af4158015613291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132b59190614e56565b6133015760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a4b56532d3034313a4e4f545f4558495354494e470000000000006044820152606401610e1c565b8154620100003390810262010000600160b01b031960ff87166101000216610100600160b01b03198416171784559063ffffffff600160b01b909104166133454390565b845463ffffffff91909116600160b01b0263ffffffff60b01b19909116178455604051634b00e98f60e11b8152600481018790527fe41a93c15e024a0b2371127599959a8e543dd6a8d820238e906c93a3004248fa9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af41580156133d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133fb919061556d565b604051630713cfad60e31b81526004810189905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af415801561344b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061346f919061558a565b878686328760405161348797969594939291906155a7565b60405180910390a1505050505050565b60405163b2466acf60e01b815260ff8216600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af41580156134e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061350d9190614e56565b6135595760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3032303a53544154455f554e444546494e45440000006044820152606401610e1c565b600083815260036020526040908190208054915163b2466acf60e01b815261010090920460ff1660048301819052909173__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af41580156135c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135e99190614e56565b6136355760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a4b56532d3032313a4e4f545f4558495354494e470000000000006044820152606401610e1c565b60008581526003602052604090206001016136508582615463565b508154620100003390810262010000600160b01b031960ff87166101000216610100600160b01b03198416171784559063ffffffff600160b01b909104166136954390565b845463ffffffff91909116600160b01b0263ffffffff60b01b19909116178455604051634b00e98f60e11b8152600481018890527fe41a93c15e024a0b2371127599959a8e543dd6a8d820238e906c93a3004248fa9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015613727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374b919061556d565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af415801561379b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137bf919061558a565b87868632876040516137d797969594939291906155a7565b60405180910390a1604051634b00e98f60e11b8152600481018890527f7bd0ab7f1746bd20a814d6705a46876c84f1aa2d35c80d8c173e268bd6d4b26c9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015613851573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613875919061556d565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af41580156138c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138e9919061558a565b6040805160ff938416815260ff199092166020830152918816918101919091526001600160a01b038416606082015232608082015263ffffffff831660a082015260c001613152565b60008181526001830160205260408120548015613a1b5760006139566001836155f7565b855490915060009061396a906001906155f7565b90508082146139cf57600086600001828154811061398a5761398a614f47565b90600052602060002001549050808760000184815481106139ad576139ad614f47565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806139e0576139e0615618565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b5a565b6000915050610b5a565b5092915050565b600080829050601f81511115613a57578260405163305a27a960e01b8152600401610e1c9190614460565b8051613a628261562e565b179392505050565b600060ff8216601f811115610b5a57604051632cd44ac360e21b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b038416179055610ba081613b2f565b6000818152600183016020526040812054613afd57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b5a565b506000610b5a565b6000826000018281548110613b1c57613b1c614f47565b9060005260206000200154905092915050565b6005546001600160a01b031615613b685760055460405163fcdbf2d960e01b81526001600160a01b039091166004820152602401610e1c565b6001600160a01b038116613b8f5760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b600003613bc55760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610e1c565b600580546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263350fb35160e11b60048201526301ffc9a790602401602060405180830381865afa925050508015613c3f575060408051601f3d908101601f19168201909252613c3c91810190614e56565b60015b613c675760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610e1c565b80610ba05760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610e1c565b50565b600060208284031215613ca557600080fd5b81356001600160e01b0319811681146124bd57600080fd5b6001600160401b0381168114613c9057600080fd5b600060208284031215613ce457600080fd5b81356124bd81613cbd565b600060208284031215613d0157600080fd5b5035919050565b6001600160601b0381168114613c9057600080fd5b8035613d2881613d08565b919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715613d6557613d65613d2d565b60405290565b604051608081016001600160401b0381118282101715613d6557613d65613d2d565b60405161010081016001600160401b0381118282101715613d6557613d65613d2d565b60405161014081016001600160401b0381118282101715613d6557613d65613d2d565b60405161020081016001600160401b0381118282101715613d6557613d65613d2d565b6001600160a01b0381168114613c9057600080fd5b8035613d2881613df6565b600060408284031215613e2857600080fd5b613e30613d43565b9050813581526020820135602082015292915050565b8015158114613c9057600080fd5b8035613d2881613e46565b600060c08284031215613e7157600080fd5b60405160a081018181106001600160401b0382111715613e9357613e93613d2d565b6040529050808235613ea481613d08565b81526020830135613eb481613df6565b6020820152613ec68460408501613e16565b60408201526080830135613ed981613e46565b606082015260a0830135613eec81613df6565b6080919091015292915050565b60008060e08385031215613f0c57600080fd5b8235613f1781613d08565b9150613f268460208501613e5f565b90509250929050565b60ff81168114613c9057600080fd5b600060208284031215613f5057600080fd5b81356124bd81613f2f565b60008060408385031215613f6e57600080fd5b8235613f7981613d08565b91506020830135613f8981613f2f565b809150509250929050565b60005b83811015613faf578181015183820152602001613f97565b50506000910152565b60008151808452613fd0816020860160208601613f94565b601f01601f19169290920160200192915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161402860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261406e610120840182613fb8565b905082810360208401526140828185613fb8565b95945050505050565b6000806040838503121561409e57600080fd5b82356140a981613df6565b91506020830135613f8981613e46565b63ffffffff81168114613c9057600080fd5b600082601f8301126140dc57600080fd5b81356001600160401b03808211156140f6576140f6613d2d565b604051601f8301601f19908116603f0116810190828211818310171561411e5761411e613d2d565b8160405283815286602085880101111561413757600080fd5b836020870160208301376000602085830101528094505050505092915050565b803564ffffffffff81168114613d2857600080fd5b60006080828403121561417e57600080fd5b614186613d6b565b90508135614193816140b9565b81526020828101359082015260408201356001600160401b038111156141b857600080fd5b6141c4848285016140cb565b6040830152506141d660608301614157565b606082015292915050565b600080600080608085870312156141f757600080fd5b843561420281613d08565b93506020850135614212816140b9565b925060408501356001600160401b0381111561422d57600080fd5b6142398782880161416c565b925050606085013561424a81613f2f565b939692955090935050565b600080828403606081121561426957600080fd5b833561427481613df6565b92506040601f198201121561428857600080fd5b50614291613d43565b6020840135815260408401356142a681613e46565b6020820152919491935090915050565b600080604083850312156142c957600080fd5b82356142d481613cbd565b915060208301356001600160401b038111156142ef57600080fd5b6142fb858286016140cb565b9150509250929050565b6001600160c01b031981168114613c9057600080fd5b8035613d2881614305565b60006040828403121561433857600080fd5b614340613d43565b9050813561434d81613d08565b815260208201356001600160401b0381111561436857600080fd5b614374848285016140cb565b60208301525092915050565b6000806040838503121561439357600080fd5b823561439e81614305565b915060208301356001600160401b038111156143b957600080fd5b6142fb85828601614326565b6000602082840312156143d757600080fd5b81356124bd81613df6565b6000806000606084860312156143f757600080fd5b833561440281613d08565b92506020840135614412816140b9565b915060408401356001600160401b0381111561442d57600080fd5b6144398682870161416c565b9150509250925092565b60006020828403121561445557600080fd5b81356124bd81613d08565b6020815260006124bd6020830184613fb8565b6000610160828403121561448657600080fd5b61448e613d8d565b905061449982613d1d565b81526144a760208301613e0b565b6020820152604082013560408201526144c38360608401613e16565b60608201526144d58360a08401613e16565b60808201526144e78360e08401613e16565b60a08201526144f96101208301613e54565b60c082015261450b6101408301613e0b565b60e082015292915050565b600080610180838503121561452a57600080fd5b823561453581613d08565b9150613f268460208501614473565b6000610200828403121561455757600080fd5b61455f613db0565b905061456a82613e0b565b815261457860208301613e0b565b602082015261458960408301613d1d565b604082015261459a60608301613d1d565b60608201526145ac8360808401613e16565b60808201526145be8360c08401613e16565b60a08201526101006145d284828501613e16565b60c08301526145e5846101408501613e16565b60e08301526145f8846101808501613e16565b9082015261460a836101c08401613e16565b61012082015292915050565b6000806000610240848603121561462c57600080fd5b833561463781613d08565b92506146468560208601614544565b915061022084013561465781613f2f565b809150509250925092565b600080610220838503121561467657600080fd5b823561468181613d08565b9150613f268460208501614544565b6000608082840312156146a257600080fd5b6146aa613d6b565b9050813581526020820135602082015260408201356001600160401b038111156141b857600080fd5b600080600080608085870312156146e957600080fd5b84356146f481613d08565b93506020850135614704816140b9565b925060408501356001600160401b0381111561471f57600080fd5b61423987828801614690565b6000806040838503121561473e57600080fd5b8235613f7981614305565b8151815260208083015115159082015260408101610b5a565b6000806040838503121561477557600080fd5b8235613f7981613cbd565b6000610120828403121561479357600080fd5b61479b613d8d565b90506147a682613d1d565b81526147b58360208401613e16565b602082015260608201356001600160401b038111156147d357600080fd5b6147df848285016140cb565b6040830152506080820135606082015260a0820135608082015260c082013560a082015261480f60e08301614157565b60c082015261450b6101008301614157565b6000806040838503121561483457600080fd5b823561483f81613d08565b915060208301356001600160401b0381111561485a57600080fd5b6142fb85828601614780565b60ff815116825260ff602082015116602083015260018060a01b036040820151166040830152606081015163ffffffff808216606085015280608084015116608085015250505050565b602081526148c2602082018351614866565b6000602083015160c0808401526148dc60e0840182613fb8565b949350505050565b6000806000606084860312156148f957600080fd5b833561490481613cbd565b925060208401356001600160401b0381111561491f57600080fd5b61492b868287016140cb565b925050604084013561465781613f2f565b60008060006060848603121561495157600080fd5b833561495c81613d08565b925060208401356001600160401b0381111561497757600080fd5b61492b86828701614780565b6000806000806080858703121561499957600080fd5b84356149a481613df6565b935060208501356149b481613df6565b925060408501356149c481613d08565b9150606085013561424a81613df6565b803561ffff81168114613d2857600080fd5b600061020082840312156149f957600080fd5b614a01613dd3565b9050614a0c82613d1d565b8152614a1a60208301613d1d565b6020820152614a2b6040830161431b565b6040820152614a3c6060830161431b565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301356001600160401b0380821115614a8557600080fd5b614a91868387016140cb565b83850152610120925082850135915080821115614aad57600080fd5b50614aba858286016140cb565b828401525050610140614ace8184016149d4565b90820152610160614ae08382016149d4565b9082015261018082810135908201526101a0614afd818401614157565b908201526101c0614b0f838201614157565b908201526101e0614b21838201614157565b9082015292915050565b600080600060608486031215614b4057600080fd5b8335614b4b81613d08565b925060208401356001600160401b03811115614b6657600080fd5b61492b868287016149e6565b600080600060608486031215614b8757600080fd5b8335614b9281613d08565b92506020840135614ba2816140b9565b915060408401356001600160401b03811115614bbd57600080fd5b61443986828701614690565b60a08101610b5a8284614866565b600080600060608486031215614bec57600080fd5b8335614bf781614305565b925060208401356001600160401b03811115614c1257600080fd5b61492b86828701614326565b600080600060608486031215614c3357600080fd5b8335614c3e81613f2f565b92506020840135614c4e81613f2f565b9150604084013561465781613f2f565b60008060408385031215614c7157600080fd5b8235614c7c81613cbd565b91506020830135613f8981613df6565b60008060408385031215614c9f57600080fd5b8235614caa81613d08565b915060208301356001600160401b03811115614cc557600080fd5b6142fb858286016149e6565b60008060006101a08486031215614ce757600080fd5b8335614cf281613d08565b9250614d018560208601614473565b915061018084013561465781613f2f565b60008060006101008486031215614d2857600080fd5b8335614d3381613d08565b9250614d428560208601613e5f565b915060e084013561465781613f2f565b60008060408385031215614d6557600080fd5b8235614d7081613cbd565b946020939093013593505050565b60ff1981168114613c9057600080fd5b60008060408385031215614da157600080fd5b8235614dac81613f2f565b91506020830135613f8981614d7e565b81516001600160601b031681526020808301516001600160a01b039081168284015260408085015180519185019190915291820151606084015260c0830191906060850151151560808501528060808601511660a0850152505092915050565b600181811c90821680614e3057607f821691505b602082108103614e5057634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614e6857600080fd5b81516124bd81613e46565b600060208284031215614e8557600080fd5b81516124bd81613d08565b6020815263ffffffff8251166020820152602082015160408201526000604083015160806060840152614ec660a0840182613fb8565b905064ffffffffff60608501511660808401528091505092915050565b600060208284031215614ef557600080fd5b5051919050565b602081526001600160601b038251166020820152600060208301516040808401526148dc6060840182613fb8565b600060208284031215614f3c57600080fd5b81516124bd81613cbd565b634e487b7160e01b600052603260045260246000fd5b81516001600160601b031681526020808301516001600160a01b03169082015260408083015190820152606080830151610160830191614fa99084018280518252602090810151910152565b506080830151805160a0840152602081015160c08401525060a0830151805160e084015260208101516101008401525060c0830151151561012083015260e08301516001600160a01b038116610140840152613a25565b81516001600160a01b031681526102008101602083015161502c60208401826001600160a01b03169052565b50604083015161504760408401826001600160601b03169052565b50606083015161506260608401826001600160601b03169052565b50608083015161507f608084018280518252602090810151910152565b5060a0830151805160c0840152602081015160e08401525060c08301516101006150b58185018380518252602090810151910152565b60e085015180516101408601526020908101516101608601529085015180516101808601528101516101a085015261012085015180516101c0860152908101516101e08501529050613a25565b60006020828403121561511457600080fd5b81516124bd81613df6565b6020815281516020820152602082015160408201526000604083015160806060840152614ec660a0840182613fb8565b60006040828403121561516157600080fd5b615169613d43565b82518152602083015161517b81613e46565b60208201529392505050565b602081526001600160601b038251166020820152600060208301516151b9604084018280518252602090810151910152565b5060408301516101208060808501526151d6610140850183613fb8565b9150606085015160a0850152608085015160c085015260a085015160e085015260c085015161520f61010086018264ffffffffff169052565b5060e085015164ffffffffff8116858301525b5090949350505050565b602081526152466020820183516001600160601b03169052565b6000602083015161526260408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b03198116608084015250608083015160a083015260a083015160c083015260c083015160e083015260e083015161010081818501528085015191505061020061012081818601526152da610220860184613fb8565b9250808601519050610140601f1986850301818701526152fa8483613fb8565b9350808701519150506101606153158187018361ffff169052565b860151905061018061532c8682018361ffff169052565b8601516101a08681019190915286015190506101c06153538187018364ffffffffff169052565b86015190506101e061536d8682018364ffffffffff169052565b86015164ffffffffff8116838701529050615222565b6000808585111561539357600080fd5b838611156153a057600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156153d55780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b601f8211156111f157600081815260208120601f850160051c810160208610156154445750805b601f850160051c820191505b8181101561101a57828155600101615450565b81516001600160401b0381111561547c5761547c613d2d565b6154908161548a8454614e1c565b8461541d565b602080601f8311600181146154c557600084156154ad5750858301515b600019600386901b1c1916600185901b17855561101a565b600085815260208120601f198616915b828110156154f4578886015182559484019460019091019084016154d5565b50858210156155125787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251615534818460208701613f94565b9190910192915050565b6000806040838503121561555157600080fd5b825161555c81613e46565b6020840151909250613f89816140b9565b60006020828403121561557f57600080fd5b81516124bd81613f2f565b60006020828403121561559c57600080fd5b81516124bd81614d7e565b60ff978816815260ff1996909616602087015293861660408601529190941660608401526001600160a01b03938416608084015290921660a082015263ffffffff9190911660c082015260e00190565b81810381811115610b5a57634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b80516020808301519190811015614e505760001960209190910360031b1b1691905056fea2646970667358221220103e09202bc10b77ec73b7b67612442dfdf5ff12311b0c8c2613d054d539c7bf64736f6c63430008140033",
|
3131
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106104805760003560e01c806382f65adb11610257578063b68ec14611610146578063d2f21a29116100c3578063e9e96c7011610087578063e9e96c7014610ac2578063f48016ce14610b00578063f7bc431c14610b13578063f8b648ac1461065f578063fe1f18d614610b2657600080fd5b8063d2f21a2914610a89578063d5b221bd146105d9578063d78a83b114610a9c578063dee3262314610aaf578063e8951ee6146105ab57600080fd5b8063bf1db3f91161010a578063bf1db3f914610a3a578063bf7e214f14610a4d578063c2f1a2d2146105d9578063c4d66de814610a63578063cd50b97e14610a7657600080fd5b8063b68ec1461461065f578063b7d2b162146109ee578063bc8d400014610a01578063bd4fe04e14610a14578063bd5947e314610a2757600080fd5b8063954fab2c116101d4578063a13df2ab11610198578063a13df2ab146108f1578063a5961b4c14610904578063a76ee018146109b5578063a8989675146109c8578063b428b0b0146109db57600080fd5b8063954fab2c146108a5578063976b0a77146108b85780639a960d52146108cb5780639d7421f4146108de5780639df0280b146105ab57600080fd5b80638d4eae9d1161021b5780638d4eae9d1461083e5780638dc77f42146105ab5780638eaa6ac0146108515780638fb3603714610871578063950ad70b1461089257600080fd5b806382f65adb1461065f578063835933c9146107f057806386f0c47b146108035780638793a9ac14610823578063893d20e81461083657600080fd5b806338a699a4116103735780635dfa73db116102f057806375b238fc116102b457806375b238fc146107af57806375c82776146107b75780637a415802146105d95780637a9e5e4b146107ca5780637cef4842146107dd57600080fd5b80635dfa73db1461074d578063644c45e01461075657806364c55d9c146107815780636fa2985314610794578063735391271461079c57600080fd5b8063468a186711610337578063468a1867146106f657806354f6127f1461070957806357f96805146107295780635ab1bd531461073c5780635d4345cc146105ab57600080fd5b806338a699a4146106a2578063392f5f64146106b55780633ca7c02a146106bd5780633fd85561146106e357806340529b0f146105ab57600080fd5b8063167bd395116104015780632f61088a116103c55780632f61088a1461063957806331d311a71461064c57806333bb0a971461065f57806337f135d714610672578063384c9a571461068f57600080fd5b8063167bd395146105c65780631c45fe7a146105d95780631e23a2f5146105ec5780631eff4b22146105ff57806322f46b841461062657600080fd5b80630d358181116104485780630d3581811461055c5780630f526f7d146105825780630fec111c1461059557806310203d2c146105ab578063138461e0146105be57600080fd5b806301ffc9a71461048557806302cd3071146104c757806303014974146104ec57806309648a9d1461050d5780630b24cf5f14610547575b600080fd5b6104b2610493366004613c93565b6001600160e01b03191660009081526004602052604090205460ff1690565b60405190151581526020015b60405180910390f35b600c546001600160a01b03165b6040516001600160a01b0390911681526020016104be565b6104ff6104fa366004613cd2565b610b39565b6040519081526020016104be565b61053561051b366004613cef565b600090815260036020526040902054610100900460ff1690565b60405160ff90911681526020016104be565b61055a610555366004613ef9565b610b60565b005b61053561056a366004613f3e565b60ff9081166000908152600160205260409020541690565b61055a610590366004613f5b565b610ba4565b61059d610bc1565b6040516104be929190613fe4565b61055a6105b9366004613f5b565b610d43565b61055a610d58565b61055a6105d436600461408b565b610f7a565b61055a6105e73660046141e1565b611022565b61055a6105fa366004614255565b611063565b6104ff7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b61055a6106343660046142b6565b611089565b61055a610647366004614380565b61109f565b6104ff61065a3660046143c5565b61113a565b61055a61066d3660046143e2565b6111cb565b61067a600081565b60405163ffffffff90911681526020016104be565b6104b261069d366004613cd2565b6111f6565b6104b26106b0366004613cef565b61138c565b6009546104ff565b6106cb6001600160401b0381565b6040516001600160401b0390911681526020016104be565b6106cb6106f1366004613cef565b611417565b6104ff610704366004614443565b61145c565b61071c610717366004613cef565b6114b9565b6040516104be9190614460565b61055a610737366004614516565b61155e565b6005546001600160a01b03166104d4565b6106cb61271081565b600554600160a01b90046001600160601b03166040516001600160601b0390911681526020016104be565b61055a61078f366004614616565b611586565b6104d46115ae565b61055a6107aa366004614662565b611650565b6106cb600081565b61055a6107c53660046146d3565b611678565b61055a6107d83660046143c5565b61169e565b61055a6107eb36600461472b565b611719565b6104ff6107fe366004613cd2565b6117a3565b610816610811366004613cd2565b6117e6565b6040516104be9190614749565b61055a610831366004614762565b61188b565b6104d46118a0565b61055a61084c366004614821565b61197d565b61086461085f366004613cef565b6119a3565b6040516104be91906148b0565b610879611ae4565b6040516001600160e01b031990911681526020016104be565b61055a6108a03660046148e4565b611b08565b61055a6108b336600461493c565b611b6a565b61055a6108c6366004614983565b611b90565b61055a6108d9366004614b2b565b611daf565b61055a6108ec366004614b72565b611dd5565b6104ff6108ff366004614443565b611dfb565b6109a8610912366004613cef565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915250600090815260036020908152604091829020825160a081018452905460ff8082168352610100820416928201929092526001600160a01b03620100008304169281019290925263ffffffff600160b01b820481166060840152600160d01b90910416608082015290565b6040516104be9190614bc9565b61055a6109c3366004614bd7565b611e28565b61055a6109d6366004614c1e565b611ec3565b6104b26109e9366004614c5e565b611fb4565b6104b26109fc366004614c5e565b6121a8565b61055a610a0f366004614c8c565b612333565b61055a610a22366004614cd1565b612359565b61055a610a35366004614d12565b612381565b6104b2610a48366004613f3e565b6123a9565b60005461010090046001600160a01b03166104d4565b61055a610a713660046143c5565b6123f6565b61055a610a843660046142b6565b61246d565b61055a610a97366004613f5b565b612484565b6104d4610aaa366004614d52565b61249b565b61055a610abd366004613f5b565b6124c4565b6104b2610ad0366004614c1e565b60ff9283166000908152600260209081526040808320948616835293815283822092851682529190915220541690565b6104ff610b0e366004614d8e565b6124db565b61055a610b213660046143c5565b61255f565b61055a610b34366004613f5b565b6125db565b6001600160401b0381166000908152600860205260408120610b5a906125f0565b92915050565b610b6d335b6000366125fa565b610ba0610b7b83607861270d565b82604051602001610b8c9190614dbc565b604051602081830303815290604052612759565b5050565b610bad33610b65565b610ba0610bbb83608c61270d565b82612763565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e00160405280610c446005546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610c8c6118a0565b6001600160a01b03168152602001826001018054610ca990614e1c565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd590614e1c565b8015610d225780601f10610cf757610100808354040283529160200191610d22565b820191906000526020600020905b815481529060010190602001808311610d0557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b610d4c33610b65565b610ba0610bbb8361145c565b6005546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190614e56565b15610e25576005546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6005546001600160a01b0316610e4e5760405163cf29926160e01b815260040160405180910390fd5b60055460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610e97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebb9190614e56565b610ee3576040516372657a5160e01b81526001600160a01b0382166004820152602401610e1c565b600554604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610f2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f519190614e73565b600560146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b610f8333610b65565b610f8f6106b08361113a565b610fb7576040516325b6f39560e21b81526001600160a01b0383166004820152602401610e1c565b600b5460405163167bd39560e01b81526001600160a01b03848116600483015283151560248301529091169063167bd39590604401600060405180830381600087803b15801561100657600080fd5b505af115801561101a573d6000803e3d6000fd5b505050505050565b61102b33610b65565b61105d6110378561145c565b836040516020016110489190614e90565b6040516020818303038152906040528361276d565b50505050565b61106c33610b65565b610ba06110788361113a565b82604051602001610b8c9190614749565b61109233610b65565b610ba08282600180612778565b6110a833610b65565b6040516355ee627560e01b81526001600160c01b031983166004820152610ba09073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015611105573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111299190614ee3565b82604051602001610b8c9190614efc565b604051637a400b6760e11b8152601e6004820152606082901b6bffffffffffffffffffffffff1916602482015260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__9063f48016ce906044015b602060405180830381865af41580156111a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5a9190614ee3565b6111d433610b65565b6111f16111e08461145c565b82604051602001610b8c9190614e90565b505050565b60003381611203846117a3565b905061120e8161138c565b61123557604051627a416f60e01b81526001600160401b0385166004820152602401610e1c565b6001600160401b03841660009081526008602052604090206112579083612821565b1561138257600b54604051631517388760e21b81526001600160401b03861660048201526001600160a01b039091169063fe0776f59073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af41580156112c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ed9190614f2a565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b0385166024820152604401600060405180830381600087803b15801561133d57600080fd5b505af1158015611351573d6000803e3d6000fd5b5050506001600160401b0385166000908152600860205260409020611377915083612843565b506001949350505050565b5060009392505050565b60008181526003602052604080822054905163b2466acf60e01b815261010090910460ff16600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf906024015b602060405180830381865af41580156113f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5a9190614e56565b60006009828154811061142c5761142c614f47565b90600052602060002090600491828204019190066008029054906101000a90046001600160401b03169050919050565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660d25b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff16602482015260440161118a565b60008181526003602052604090206001018054606091906114d990614e1c565b80601f016020809104026020016040519081016040528092919081815260200182805461150590614e1c565b80156115525780601f1061152757610100808354040283529160200191611552565b820191906000526020600020905b81548152906001019060200180831161153557829003601f168201915b50505050509050919050565b61156733610b65565b610ba061157583608c61270d565b82604051602001610b8c9190614f5d565b61158f33610b65565b6111f161159d84606e61270d565b836040516020016110489190615000565b6005546040805163a3bcd81d60e01b815260048101919091526015604482015274436f6d706f6e656e744f776e65725365727669636560581b6064820152600360248201526000916001600160a01b03169063a3bcd81d906084015b602060405180830381865afa158015611627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164b9190615102565b905090565b61165933610b65565b610ba061166783606e61270d565b82604051602001610b8c9190615000565b61168133610b65565b61105d61168d8561145c565b83604051602001611048919061511f565b600054339061010090046001600160a01b031681146116da5760405162d1953b60e31b81526001600160a01b0382166004820152602401610e1c565b816001600160a01b03163b600003611710576040516361798f2f60e11b81526001600160a01b0383166004820152602401610e1c565b610ba082612858565b61172233610b65565b6040516355ee627560e01b81526001600160c01b031983166004820152610ba09073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af415801561177f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbb9190614ee3565b604051630f37f38f60e41b81526001600160401b038216600482015260009073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063f37f38f09060240161118a565b604080518082018252600080825260208201529051630f37f38f60e41b81526001600160401b03831660048201526118789073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063f37f38f090602401602060405180830381865af4158015611854573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107179190614ee3565b806020019051810190610b5a919061514f565b61189433610b65565b610ba0610bbb836117a3565b6005546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015611905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119299190614e56565b1561196d57600554604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a9060240161160a565b506006546001600160a01b031690565b61198633610b65565b610ba061199283611dfb565b82604051602001610b8c9190615187565b6040805160e081018252600091810182815260608083018490526080830184905260a0830184905260c083019390935281526020810191909152600082815260036020908152604091829020825160e081018452815460ff80821695830195865261010082041660608301526001600160a01b0362010000820416608083015263ffffffff600160b01b8204811660a0840152600160d01b9091041660c08201529283526001810180549192840191611a5b90614e1c565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8790614e1c565b8015611ad45780601f10611aa957610100808354040283529160200191611ad4565b820191906000526020600020905b815481529060010190602001808311611ab757829003601f168201915b5050505050815250509050919050565b60008054600160a81b900460ff16611afc5750600090565b50638fb3603760e01b90565b611b1133610b65565b6000611b1f848460006128b4565b5090506000611b2f858584612b1f565b9050611b63611b3d866117a3565b82604051602001611b4e9190614749565b6040516020818303038152906040528561276d565b5050505050565b611b7333610b65565b6111f1611b7f84611dfb565b836040516020016110489190615187565b600654600160a01b900460ff1615611c015760405162461bcd60e51b815260206004820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201526d195b881a5b9a5d1a585b1a5e995960921b6064820152608401610e1c565b600b80546001600160a01b0319166001600160a01b0386161790556040516368aebf7b60e01b815260006004820152611cbe9073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af4158015611c70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c949190614f2a565b6040518060400160405280600981526020016841646d696e526f6c6560b81b815250600080612778565b6040516368aebf7b60e01b81526001600160401b036004820152611d679073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__906368aebf7b90602401602060405180830381865af4158015611d18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d3c9190614f2a565b6040518060400160405280600a8152602001695075626c6963526f6c6560b01b815250600080612778565b611d868383604660008560405180602001604052806000815250612b5b565b611d966342e19e5f60e01b612bef565b50506006805460ff60a01b1916600160a01b1790555050565b611db833610b65565b6111f1611dc48461145c565b83604051602001611048919061522c565b611dde33610b65565b6111f1611dea8461145c565b82604051602001610b8c919061511f565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660dc611485565b611e3133610b65565b6040516355ee627560e01b81526001600160c01b0319841660048201526111f19073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015611e8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb29190614ee3565b836040516020016110489190614efc565b60ff8381166000908152600160205260409081902054905163037c8cb160e51b81529116600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__90636f91962090602401602060405180830381865af4158015611f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4c9190614e56565b15611f5657505050565b60ff8084166000908152600260209081526040808320868516845282528083208585168452909152902054166111f157604051636bb20ea760e01b815260ff8085166004830152808416602483015282166044820152606401610e1c565b6000611fbf33610b65565b6000611fca846117a3565b9050611fd58161138c565b611ffd57604051636777365b60e01b81526001600160401b0385166004820152602401610e1c565b60008181526003602052604090205461202c90610100900460ff16612020606490565b60ff9081169116141590565b156120555760405163fe229d5d60e01b81526001600160401b0385166004820152602401610e1c565b6001600160401b03841660009081526008602052604090206120779084612821565b61138257600b54604051631517388760e21b81526001600160401b03861660048201526001600160a01b03909116906325c471a09073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af41580156120e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061210c9190614f2a565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038616602482015260006044820152606401600060405180830381600087803b15801561216357600080fd5b505af1158015612177573d6000803e3d6000fd5b5050506001600160401b038516600090815260086020526040902061219d915084612c14565b506001915050610b5a565b60006121b333610b65565b60006121be846117a3565b90506121c98161138c565b6121f157604051634cee277360e11b81526001600160401b0385166004820152602401610e1c565b6001600160401b03841660009081526008602052604090206122139084612821565b1561138257600b54604051631517388760e21b81526001600160401b03861660048201526001600160a01b039091169063b7d2b1629073__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9063545ce21c90602401602060405180830381865af4158015612285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a99190614f2a565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b0386166024820152604401600060405180830381600087803b1580156122f957600080fd5b505af115801561230d573d6000803e3d6000fd5b5050506001600160401b038516600090815260086020526040902061219d915084612843565b61233c33610b65565b610ba06123488361145c565b82604051602001610b8c919061522c565b61236233610b65565b6111f161237084608c61270d565b836040516020016110489190614f5d565b61238a33610b65565b6111f161239884607861270d565b836040516020016110489190614dbc565b60ff81811660009081526001602052604080822054905163b2466acf60e01b8152921660048301529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf906024016113d6565b60005460ff16156124545760405162461bcd60e51b815260206004820152602260248201527f4163636573734d616e616765643a20616c726561647920696e697469616c697a604482015261195960f21b6064820152608401610e1c565b61245d81612858565b506000805460ff19166001179055565b61247633610b65565b610ba0828260006001612778565b61248d33610b65565b610ba0610bbb83607861270d565b6001600160401b03821660009081526008602052604081206124bd9083612c29565b9392505050565b6124cd33610b65565b610ba0610bbb83606e61270d565b604051637a400b6760e11b815260ff8316600482015260ff198216602482015260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__9063f48016ce906044015b602060405180830381865af415801561253b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124bd9190614ee3565b61256833610b65565b600c546001600160a01b0316156125b95760405162461bcd60e51b8152602060048201526015602482015274125b9cdd185b98d954995859195c881a5cc81cd95d605a1b6044820152606401610e1c565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6125e433610b65565b610ba0610bbb83611dfb565b6000610b5a825490565b6000806126366126186000546001600160a01b036101009091041690565b863061262860046000898b615383565b612631916153ad565b612c35565b9150915081611b635763ffffffff8116156126ea576000805460ff60a81b1916600160a81b1790556126766000546001600160a01b036101009091041690565b6001600160a01b03166394c7d7ee8686866040518463ffffffff1660e01b81526004016126a5939291906153dd565b600060405180830381600087803b1580156126bf57600080fd5b505af11580156126d3573d6000803e3d6000fd5b50506000805460ff60a81b1916905550611b639050565b60405162d1953b60e31b81526001600160a01b0386166004820152602401610e1c565b604051630711349960e31b81526001600160601b038316600482015260ff8216602482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__90633889a4c89060440161251e565b610ba08282612d41565b610ba08282613163565b6111f1838383613497565b801561278c576127898484846128b4565b50505b6000612799858585612b1f565b80516000908152600760205260408120805467ffffffffffffffff19166001600160401b038981169182179092556009805460018101825593527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af6004840401805460039094166008026101000a9283021990931691021790559050611b63611078866117a3565b6001600160a01b038116600090815260018301602052604081205415156124bd565b60006124bd836001600160a01b038416613932565b60008054610100600160a81b0319166101006001600160a01b038416908102919091179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b60008060006128c2866117a3565b90506128cd8161138c565b925082156128fc576128de816114b9565b8060200190518101906128f1919061514f565b602001519150612900565b8391505b856001600160401b038116158061291f57506001600160401b03818116145b156129485760405163981bf42160e01b81526001600160401b0388166004820152602401610e1c565b82801561295f57506127106001600160401b038216105b1561298857604051633119b9df60e21b81526001600160401b0388166004820152602401610e1c565b8280156129a057506127106001600160401b03821610155b156129c95760405163094fb39160e01b81526001600160401b0388166004820152602401610e1c565b60006129d487613a2c565b90506129df81613a6a565b600003612a0a576040516321ab17ab60e01b81526001600160401b0389166004820152602401610e1c565b60008181526007602090815260409182902054825163bc1b392d60e01b81529251612aad936001600160401b039092169273__$cd131c2b3ba46b9dbe046aaf4458b9777d$__9263bc1b392d92600480830193928290030181865af4158015612a77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a9b9190614f2a565b6001600160401b039081169116141590565b8015612ad357506000818152600760205260409020546001600160401b03898116911614155b15612b145760008181526007602052604090819020549051631660fb9360e21b81526001600160401b03909116600482015260248101829052604401610e1c565b505050935093915050565b60408051808201909152600080825260208201526040518060400160405280612b4785613a2c565b815260200183151581525090509392505050565b612b658287613a92565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b86151502178155905060018101612bd58382615463565b50612be66303fb044760e21b612bef565b50505050505050565b6001600160e01b0319166000908152600460205260409020805460ff19166001179055565b60006124bd836001600160a01b038416613ab6565b60006124bd8383613b05565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251612ca49190615522565b600060405180830381855afa9150503d8060008114612cdf576040519150601f19603f3d011682016040523d82523d6000602084013e612ce4565b606091505b50915091508115612d36576040815110612d165780806020019051810190612d0c919061553e565b9094509250612d36565b6020815110612d365780806020019051810190612d339190614e56565b93505b505094509492505050565b604051634b00e98f60e11b81526004810183905260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015612d94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db8919061556d565b60405163b2466acf60e01b815260ff8216600482015290915073__$fb4566b39bd2075cb32f600f6f40bfaef2$__9063b2466acf90602401602060405180830381865af4158015612e0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e319190614e56565b612e7d5760405162461bcd60e51b815260206004820152601c60248201527f4552524f523a4b56532d3031303a545950455f554e444546494e4544000000006044820152606401610e1c565b600083815260036020526040908190208054915163037c8cb160e51b815261010090920460ff1660048301529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__90636f91962090602401602060405180830381865af4158015612ee6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f0a9190614e56565b612f565760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3031323a414c52454144595f435245415445440000006044820152606401610e1c565b33436000612f63856123a9565b612f6e576064612f84565b60ff808616600090815260016020526040902054165b845460ff87811661ffff1990921691909117610100918316919091021762010000600160d01b031916620100006001600160a01b0386160263ffffffff60b01b191617600160b01b63ffffffff85169081029190911763ffffffff60d01b1916600160d01b91909102178555600088815260036020526040902090915060010161300e8782615463565b50604051634b00e98f60e11b8152600481018890527ffcb75eb7b317145f986c763e1a3eab5f9b4dbaf7955504f70f986d799c3ab39d9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015613081573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130a5919061556d565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af41580156130f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613119919061558a565b6040805160ff938416815260ff199092166020830152918416918101919091526001600160a01b038516606082015232608082015260a0015b60405180910390a150505050505050565b60405163b2466acf60e01b815260ff8216600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af41580156131b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131d99190614e56565b6132255760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3034303a53544154455f554e444546494e45440000006044820152606401610e1c565b600082815260036020526040908190208054915163b2466acf60e01b815261010090920460ff1660048301819052909173__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af4158015613291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132b59190614e56565b6133015760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a4b56532d3034313a4e4f545f4558495354494e470000000000006044820152606401610e1c565b8154620100003390810262010000600160b01b031960ff87166101000216610100600160b01b03198416171784559063ffffffff600160b01b909104166133454390565b845463ffffffff91909116600160b01b0263ffffffff60b01b19909116178455604051634b00e98f60e11b8152600481018790527fe41a93c15e024a0b2371127599959a8e543dd6a8d820238e906c93a3004248fa9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af41580156133d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133fb919061556d565b604051630713cfad60e31b81526004810189905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af415801561344b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061346f919061558a565b878686328760405161348797969594939291906155a7565b60405180910390a1505050505050565b60405163b2466acf60e01b815260ff8216600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af41580156134e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061350d9190614e56565b6135595760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3032303a53544154455f554e444546494e45440000006044820152606401610e1c565b600083815260036020526040908190208054915163b2466acf60e01b815261010090920460ff1660048301819052909173__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af41580156135c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135e99190614e56565b6136355760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a4b56532d3032313a4e4f545f4558495354494e470000000000006044820152606401610e1c565b60008581526003602052604090206001016136508582615463565b508154620100003390810262010000600160b01b031960ff87166101000216610100600160b01b03198416171784559063ffffffff600160b01b909104166136954390565b845463ffffffff91909116600160b01b0263ffffffff60b01b19909116178455604051634b00e98f60e11b8152600481018890527fe41a93c15e024a0b2371127599959a8e543dd6a8d820238e906c93a3004248fa9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015613727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374b919061556d565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af415801561379b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137bf919061558a565b87868632876040516137d797969594939291906155a7565b60405180910390a1604051634b00e98f60e11b8152600481018890527f7bd0ab7f1746bd20a814d6705a46876c84f1aa2d35c80d8c173e268bd6d4b26c9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015613851573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613875919061556d565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af41580156138c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138e9919061558a565b6040805160ff938416815260ff199092166020830152918816918101919091526001600160a01b038416606082015232608082015263ffffffff831660a082015260c001613152565b60008181526001830160205260408120548015613a1b5760006139566001836155f7565b855490915060009061396a906001906155f7565b90508082146139cf57600086600001828154811061398a5761398a614f47565b90600052602060002001549050808760000184815481106139ad576139ad614f47565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806139e0576139e0615618565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b5a565b6000915050610b5a565b5092915050565b600080829050601f81511115613a57578260405163305a27a960e01b8152600401610e1c9190614460565b8051613a628261562e565b179392505050565b600060ff8216601f811115610b5a57604051632cd44ac360e21b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b038416179055610ba081613b2f565b6000818152600183016020526040812054613afd57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b5a565b506000610b5a565b6000826000018281548110613b1c57613b1c614f47565b9060005260206000200154905092915050565b6005546001600160a01b031615613b685760055460405163fcdbf2d960e01b81526001600160a01b039091166004820152602401610e1c565b6001600160a01b038116613b8f5760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b600003613bc55760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610e1c565b600580546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263350fb35160e11b60048201526301ffc9a790602401602060405180830381865afa925050508015613c3f575060408051601f3d908101601f19168201909252613c3c91810190614e56565b60015b613c675760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610e1c565b80610ba05760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610e1c565b50565b600060208284031215613ca557600080fd5b81356001600160e01b0319811681146124bd57600080fd5b6001600160401b0381168114613c9057600080fd5b600060208284031215613ce457600080fd5b81356124bd81613cbd565b600060208284031215613d0157600080fd5b5035919050565b6001600160601b0381168114613c9057600080fd5b8035613d2881613d08565b919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715613d6557613d65613d2d565b60405290565b604051608081016001600160401b0381118282101715613d6557613d65613d2d565b60405161010081016001600160401b0381118282101715613d6557613d65613d2d565b60405161014081016001600160401b0381118282101715613d6557613d65613d2d565b60405161020081016001600160401b0381118282101715613d6557613d65613d2d565b6001600160a01b0381168114613c9057600080fd5b8035613d2881613df6565b600060408284031215613e2857600080fd5b613e30613d43565b9050813581526020820135602082015292915050565b8015158114613c9057600080fd5b8035613d2881613e46565b600060c08284031215613e7157600080fd5b60405160a081018181106001600160401b0382111715613e9357613e93613d2d565b6040529050808235613ea481613d08565b81526020830135613eb481613df6565b6020820152613ec68460408501613e16565b60408201526080830135613ed981613e46565b606082015260a0830135613eec81613df6565b6080919091015292915050565b60008060e08385031215613f0c57600080fd5b8235613f1781613d08565b9150613f268460208501613e5f565b90509250929050565b60ff81168114613c9057600080fd5b600060208284031215613f5057600080fd5b81356124bd81613f2f565b60008060408385031215613f6e57600080fd5b8235613f7981613d08565b91506020830135613f8981613f2f565b809150509250929050565b60005b83811015613faf578181015183820152602001613f97565b50506000910152565b60008151808452613fd0816020860160208601613f94565b601f01601f19169290920160200192915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161402860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261406e610120840182613fb8565b905082810360208401526140828185613fb8565b95945050505050565b6000806040838503121561409e57600080fd5b82356140a981613df6565b91506020830135613f8981613e46565b63ffffffff81168114613c9057600080fd5b600082601f8301126140dc57600080fd5b81356001600160401b03808211156140f6576140f6613d2d565b604051601f8301601f19908116603f0116810190828211818310171561411e5761411e613d2d565b8160405283815286602085880101111561413757600080fd5b836020870160208301376000602085830101528094505050505092915050565b803564ffffffffff81168114613d2857600080fd5b60006080828403121561417e57600080fd5b614186613d6b565b90508135614193816140b9565b81526020828101359082015260408201356001600160401b038111156141b857600080fd5b6141c4848285016140cb565b6040830152506141d660608301614157565b606082015292915050565b600080600080608085870312156141f757600080fd5b843561420281613d08565b93506020850135614212816140b9565b925060408501356001600160401b0381111561422d57600080fd5b6142398782880161416c565b925050606085013561424a81613f2f565b939692955090935050565b600080828403606081121561426957600080fd5b833561427481613df6565b92506040601f198201121561428857600080fd5b50614291613d43565b6020840135815260408401356142a681613e46565b6020820152919491935090915050565b600080604083850312156142c957600080fd5b82356142d481613cbd565b915060208301356001600160401b038111156142ef57600080fd5b6142fb858286016140cb565b9150509250929050565b6001600160c01b031981168114613c9057600080fd5b8035613d2881614305565b60006040828403121561433857600080fd5b614340613d43565b9050813561434d81613d08565b815260208201356001600160401b0381111561436857600080fd5b614374848285016140cb565b60208301525092915050565b6000806040838503121561439357600080fd5b823561439e81614305565b915060208301356001600160401b038111156143b957600080fd5b6142fb85828601614326565b6000602082840312156143d757600080fd5b81356124bd81613df6565b6000806000606084860312156143f757600080fd5b833561440281613d08565b92506020840135614412816140b9565b915060408401356001600160401b0381111561442d57600080fd5b6144398682870161416c565b9150509250925092565b60006020828403121561445557600080fd5b81356124bd81613d08565b6020815260006124bd6020830184613fb8565b6000610160828403121561448657600080fd5b61448e613d8d565b905061449982613d1d565b81526144a760208301613e0b565b6020820152604082013560408201526144c38360608401613e16565b60608201526144d58360a08401613e16565b60808201526144e78360e08401613e16565b60a08201526144f96101208301613e54565b60c082015261450b6101408301613e0b565b60e082015292915050565b600080610180838503121561452a57600080fd5b823561453581613d08565b9150613f268460208501614473565b6000610200828403121561455757600080fd5b61455f613db0565b905061456a82613e0b565b815261457860208301613e0b565b602082015261458960408301613d1d565b604082015261459a60608301613d1d565b60608201526145ac8360808401613e16565b60808201526145be8360c08401613e16565b60a08201526101006145d284828501613e16565b60c08301526145e5846101408501613e16565b60e08301526145f8846101808501613e16565b9082015261460a836101c08401613e16565b61012082015292915050565b6000806000610240848603121561462c57600080fd5b833561463781613d08565b92506146468560208601614544565b915061022084013561465781613f2f565b809150509250925092565b600080610220838503121561467657600080fd5b823561468181613d08565b9150613f268460208501614544565b6000608082840312156146a257600080fd5b6146aa613d6b565b9050813581526020820135602082015260408201356001600160401b038111156141b857600080fd5b600080600080608085870312156146e957600080fd5b84356146f481613d08565b93506020850135614704816140b9565b925060408501356001600160401b0381111561471f57600080fd5b61423987828801614690565b6000806040838503121561473e57600080fd5b8235613f7981614305565b8151815260208083015115159082015260408101610b5a565b6000806040838503121561477557600080fd5b8235613f7981613cbd565b6000610120828403121561479357600080fd5b61479b613d8d565b90506147a682613d1d565b81526147b58360208401613e16565b602082015260608201356001600160401b038111156147d357600080fd5b6147df848285016140cb565b6040830152506080820135606082015260a0820135608082015260c082013560a082015261480f60e08301614157565b60c082015261450b6101008301614157565b6000806040838503121561483457600080fd5b823561483f81613d08565b915060208301356001600160401b0381111561485a57600080fd5b6142fb85828601614780565b60ff815116825260ff602082015116602083015260018060a01b036040820151166040830152606081015163ffffffff808216606085015280608084015116608085015250505050565b602081526148c2602082018351614866565b6000602083015160c0808401526148dc60e0840182613fb8565b949350505050565b6000806000606084860312156148f957600080fd5b833561490481613cbd565b925060208401356001600160401b0381111561491f57600080fd5b61492b868287016140cb565b925050604084013561465781613f2f565b60008060006060848603121561495157600080fd5b833561495c81613d08565b925060208401356001600160401b0381111561497757600080fd5b61492b86828701614780565b6000806000806080858703121561499957600080fd5b84356149a481613df6565b935060208501356149b481613df6565b925060408501356149c481613d08565b9150606085013561424a81613df6565b803561ffff81168114613d2857600080fd5b600061020082840312156149f957600080fd5b614a01613dd3565b9050614a0c82613d1d565b8152614a1a60208301613d1d565b6020820152614a2b6040830161431b565b6040820152614a3c6060830161431b565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301356001600160401b0380821115614a8557600080fd5b614a91868387016140cb565b83850152610120925082850135915080821115614aad57600080fd5b50614aba858286016140cb565b828401525050610140614ace8184016149d4565b90820152610160614ae08382016149d4565b9082015261018082810135908201526101a0614afd818401614157565b908201526101c0614b0f838201614157565b908201526101e0614b21838201614157565b9082015292915050565b600080600060608486031215614b4057600080fd5b8335614b4b81613d08565b925060208401356001600160401b03811115614b6657600080fd5b61492b868287016149e6565b600080600060608486031215614b8757600080fd5b8335614b9281613d08565b92506020840135614ba2816140b9565b915060408401356001600160401b03811115614bbd57600080fd5b61443986828701614690565b60a08101610b5a8284614866565b600080600060608486031215614bec57600080fd5b8335614bf781614305565b925060208401356001600160401b03811115614c1257600080fd5b61492b86828701614326565b600080600060608486031215614c3357600080fd5b8335614c3e81613f2f565b92506020840135614c4e81613f2f565b9150604084013561465781613f2f565b60008060408385031215614c7157600080fd5b8235614c7c81613cbd565b91506020830135613f8981613df6565b60008060408385031215614c9f57600080fd5b8235614caa81613d08565b915060208301356001600160401b03811115614cc557600080fd5b6142fb858286016149e6565b60008060006101a08486031215614ce757600080fd5b8335614cf281613d08565b9250614d018560208601614473565b915061018084013561465781613f2f565b60008060006101008486031215614d2857600080fd5b8335614d3381613d08565b9250614d428560208601613e5f565b915060e084013561465781613f2f565b60008060408385031215614d6557600080fd5b8235614d7081613cbd565b946020939093013593505050565b60ff1981168114613c9057600080fd5b60008060408385031215614da157600080fd5b8235614dac81613f2f565b91506020830135613f8981614d7e565b81516001600160601b031681526020808301516001600160a01b039081168284015260408085015180519185019190915291820151606084015260c0830191906060850151151560808501528060808601511660a0850152505092915050565b600181811c90821680614e3057607f821691505b602082108103614e5057634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614e6857600080fd5b81516124bd81613e46565b600060208284031215614e8557600080fd5b81516124bd81613d08565b6020815263ffffffff8251166020820152602082015160408201526000604083015160806060840152614ec660a0840182613fb8565b905064ffffffffff60608501511660808401528091505092915050565b600060208284031215614ef557600080fd5b5051919050565b602081526001600160601b038251166020820152600060208301516040808401526148dc6060840182613fb8565b600060208284031215614f3c57600080fd5b81516124bd81613cbd565b634e487b7160e01b600052603260045260246000fd5b81516001600160601b031681526020808301516001600160a01b03169082015260408083015190820152606080830151610160830191614fa99084018280518252602090810151910152565b506080830151805160a0840152602081015160c08401525060a0830151805160e084015260208101516101008401525060c0830151151561012083015260e08301516001600160a01b038116610140840152613a25565b81516001600160a01b031681526102008101602083015161502c60208401826001600160a01b03169052565b50604083015161504760408401826001600160601b03169052565b50606083015161506260608401826001600160601b03169052565b50608083015161507f608084018280518252602090810151910152565b5060a0830151805160c0840152602081015160e08401525060c08301516101006150b58185018380518252602090810151910152565b60e085015180516101408601526020908101516101608601529085015180516101808601528101516101a085015261012085015180516101c0860152908101516101e08501529050613a25565b60006020828403121561511457600080fd5b81516124bd81613df6565b6020815281516020820152602082015160408201526000604083015160806060840152614ec660a0840182613fb8565b60006040828403121561516157600080fd5b615169613d43565b82518152602083015161517b81613e46565b60208201529392505050565b602081526001600160601b038251166020820152600060208301516151b9604084018280518252602090810151910152565b5060408301516101208060808501526151d6610140850183613fb8565b9150606085015160a0850152608085015160c085015260a085015160e085015260c085015161520f61010086018264ffffffffff169052565b5060e085015164ffffffffff8116858301525b5090949350505050565b602081526152466020820183516001600160601b03169052565b6000602083015161526260408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b03198116608084015250608083015160a083015260a083015160c083015260c083015160e083015260e083015161010081818501528085015191505061020061012081818601526152da610220860184613fb8565b9250808601519050610140601f1986850301818701526152fa8483613fb8565b9350808701519150506101606153158187018361ffff169052565b860151905061018061532c8682018361ffff169052565b8601516101a08681019190915286015190506101c06153538187018364ffffffffff169052565b86015190506101e061536d8682018364ffffffffff169052565b86015164ffffffffff8116838701529050615222565b6000808585111561539357600080fd5b838611156153a057600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156153d55780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b601f8211156111f157600081815260208120601f850160051c810160208610156154445750805b601f850160051c820191505b8181101561101a57828155600101615450565b81516001600160401b0381111561547c5761547c613d2d565b6154908161548a8454614e1c565b8461541d565b602080601f8311600181146154c557600084156154ad5750858301515b600019600386901b1c1916600185901b17855561101a565b600085815260208120601f198616915b828110156154f4578886015182559484019460019091019084016154d5565b50858210156155125787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251615534818460208701613f94565b9190910192915050565b6000806040838503121561555157600080fd5b825161555c81613e46565b6020840151909250613f89816140b9565b60006020828403121561557f57600080fd5b81516124bd81613f2f565b60006020828403121561559c57600080fd5b81516124bd81614d7e565b60ff978816815260ff1996909616602087015293861660408601529190941660608401526001600160a01b03938416608084015290921660a082015263ffffffff9190911660c082015260e00190565b81810381811115610b5a57634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b80516020808301519190811015614e505760001960209190910360031b1b1691905056fea2646970667358221220103e09202bc10b77ec73b7b67612442dfdf5ff12311b0c8c2613d054d539c7bf64736f6c63430008140033",
|
3024
|
+
"bytecode": "0x60806040523480156200001157600080fd5b506200001c62000040565b62000026620001f7565b6200003062000331565b6200003a6200059e565b62000717565b60dc600090815260026020527f4bee8dc518469fb8c73831886b94afa96b3ef3e3ee55b9076720259192220ef0805460ff191660641790556001906003906200008760dc90565b60ff1660ff1681526020019081526020016000206000620000ad620006e560201b60201c565b60ff1660ff1681526020019081526020016000206000620000d3620006ef60201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906003906200010760dc90565b60ff1660ff16815260200190815260200160002060006200012d620006ef60201b60201c565b60ff1660ff168152602001908152602001600020600062000153620006e560201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906003906200018760dc90565b60ff1660ff1681526020019081526020016000206000620001ad620006ef60201b60201c565b60ff1660ff1681526020019081526020016000206000620001d3620006f460201b60201c565b60ff1681526020810191909152604001600020805460ff1916911515919091179055565b7f7673bcbb3401a7cbae68f81d40eea2cf35afdaf7ecd016ebf3f02857fcc1260a8054606460ff1991821681179092557fa1c69de77e78d12e062170d002ba111ba52c8f452f3b0ca326991b7298fd7aaf8054909116600190811790915560009182526003602052907f6b16ef514f22b74729cbea5cc7babfecbdc2309e530ca716643d11fe929eed2e906200028b606e90565b60ff1660ff1681526020019081526020016000206000620002b1620006e560201b60201c565b60ff16815260208101919091526040016000908120805460ff191692151592909217909155600190600390620002e5606490565b60ff1660ff16815260200190815260200160002060006200030b620006ef60201b60201c565b60ff1660ff1681526020019081526020016000206000620001d3620006f960201b60201c565b60d3600090815260026020527feb6856e0ae0d71a8a9e0bc42aca98fe96c3be13699c5c2d551c94a190e39043d805460ff1916600a1790556001906003906200037860d390565b60ff1660ff16815260200190815260200160002060006200039e620006fe60201b60201c565b60ff1660ff1681526020019081526020016000206000620003c46200070360201b60201c565b60ff16815260208101919091526040016000908120805460ff191692151592909217909155600190600390620003f860d390565b60ff1660ff16815260200190815260200160002060006200041e620006fe60201b60201c565b60ff1660ff1681526020019081526020016000206000620004446200070860201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906003906200047860d390565b60ff1660ff16815260200190815260200160002060006200049e620006fe60201b60201c565b60ff1660ff1681526020019081526020016000206000620004c46200070d60201b60201c565b60ff16815260208101919091526040016000908120805460ff191692151592909217909155600190600390620004f860d390565b60ff1660ff16815260200190815260200160002060006200051e6200070d60201b60201c565b60ff1660ff168152602001908152602001600020600062000544620006e560201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906003906200057860d390565b60ff1660ff1681526020019081526020016000206000620001ad620006e560201b60201c565b60c8600090815260026020527fec56eb74d500f9b1bf8f0c5cc42ff5ed51e8d9e3a2ebb6e83a26383f297e0f1e805460ff19166064179055600190600390620005e560c890565b60ff1660ff16815260200190815260200160002060006200060b620006e560201b60201c565b60ff1660ff168152602001908152602001600020600062000631620006ef60201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001906003906200066560c890565b60ff1660ff16815260200190815260200160002060006200068b620006ef60201b60201c565b60ff1660ff1681526020019081526020016000206000620006b1620006e560201b60201c565b60ff16815260208101919091526040016000908120805460ff191692151592909217909155600190600390620002e560c890565b606490565b905090565b606e90565b60c890565b60d290565b600a90565b601490565b601e90565b60006028620006ea565b61520480620007276000396000f3fe608060405234801561001057600080fd5b50600436106104a15760003560e01c8063675393bf1161026d578063b6d7cd6211610151578063e9e96c70116100ce578063f7c34ee011610092578063f7c34ee014610b3d578063fa145b6d14610b50578063fb4a8e3414610b63578063fbc1a3a014610b76578063fe1f18d614610b89578063fed3d63f14610b9c57600080fd5b8063e9e96c7014610ac6578063f21de1e8146107f1578063f48016ce14610b04578063f7b442d114610b17578063f7bc431c14610b2a57600080fd5b8063cde749f411610115578063cde749f414610a7d578063cf947d2014610a85578063d2f21a2914610a98578063dee3262314610aab578063e1033e7d14610abe57600080fd5b8063b6d7cd6214610a47578063bf1db3f914610a5a578063bf7e214f14610a6d578063c29948fc14610611578063ca600b1c14610a7557600080fd5b80639df0280b116101ea578063a76ee018116101ae578063a76ee018146109e6578063a8989675146109f9578063ada9652e14610a0c578063afa5e13014610798578063afcc743914610a21578063b3260e9314610a3457600080fd5b80639df0280b146105bb5780639e90178c146108fc578063a13df2ab1461090f578063a5961b4c14610922578063a671495e146109d357600080fd5b80637cef4842116102315780637cef48421461088d578063893d20e8146108a05780638eaa6ac0146108a85780638fb36037146108c8578063976b0a77146108e957600080fd5b8063675393bf146108445780636b9bf08b1461085757806375b238fc1461085f5780637a9e5e4b146108675780637b8c388f1461087a57600080fd5b80632f61088a11610394578063447fc48f116103115780635772b101116102d55780635772b101146107de5780635ab1bd53146107f15780635d4345cc146105bb5780635dfa73db1461080257806361f5f4201461080b578063644c45e01461081c57600080fd5b8063447fc48f14610772578063468a1867146107855780635378cd3c1461079857806354d747a8146107ab57806354f6127f146107be57600080fd5b80633ca7c02a116103585780633ca7c02a1461070b5780633e35aba81461073157806340529b0f14610744578063422c9d00146107575780634288121d1461076a57600080fd5b80632f61088a146106ad57806336fc697e146106c057806337f135d7146106c857806338a699a4146106e55780633c0d6a41146106f857600080fd5b80631204b553116104225780631eff4b22116103e65780631eff4b2214610645578063214cdb801461066c5780632781d4431461067f57806327953f481461068757806327bb7a331461069a57600080fd5b80631204b553146105e357806312aa0b2a146105f6578063138461e0146106095780631518afb9146106115780631b38d5f41461062457600080fd5b80630d358181116104695780630d3581811461056f5780630f03144a146105955780630f526f7d146105a85780630fad0eb1146105bb5780630fec111c146105ce57600080fd5b806301ffc9a7146104a657806302cd3071146104e857806309648a9d1461050d57806309fb1d08146105475780630cbc6b891461055c575b600080fd5b6104d36104b4366004613364565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6006546001600160a01b03165b6040516001600160a01b0390911681526020016104df565b61053561051b36600461338e565b600090815260046020526040902054610100900460ff1690565b60405160ff90911681526020016104df565b61055a61055536600461362f565b610ba4565b005b61055a61056a366004613724565b610bea565b61053561057d366004613765565b60ff9081166000908152600260205260409020541690565b61055a6105a33660046138ea565b610c12565b61055a6105b6366004613939565b610c50565b61055a6105c9366004613939565b610c6d565b6105d6610c82565b6040516104df91906139c2565b61055a6105f1366004613a4d565b610e31565b61055a610604366004613aa5565b610e57565b61055a610e7f565b61055a61061f366004613c5a565b611086565b610637610632366004613ca1565b6110ac565b6040519081526020016104df565b6106377f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b61055a61067a366004613364565b61114b565b610637600381565b61055a610695366004613dae565b611178565b61055a6106a8366004613dea565b611196565b61055a6106bb366004613edc565b611222565b61055a6112bd565b6106d0600081565b60405163ffffffff90911681526020016104df565b6104d36106f336600461338e565b611303565b61055a610706366004613f98565b611392565b6107196001600160401b0381565b6040516001600160401b0390911681526020016104df565b61063761073f366004613ca1565b6113b8565b61055a610752366004613939565b6113e5565b61055a610765366004613ff9565b6113fa565b6104f5611537565b61055a610780366004614016565b6115ca565b610637610793366004613ca1565b6115f6565b61055a6107a636600461408a565b611623565b61055a6107b936600461416b565b611636565b6107d16107cc36600461338e565b611654565b6040516104df91906141a7565b61055a6107ec3660046141fd565b6116f9565b6001546001600160a01b03166104f5565b61071961271081565b6007546001600160a01b03166104f5565b60008051602061518f833981519152546040516001600160601b0390911681526020016104df565b61055a610852366004613ff9565b61171f565b6104f561182b565b610719600081565b61055a610875366004613ff9565b611854565b610637610888366004613ca1565b6118d7565b61055a61089b366004614255565b611904565b6104f561198e565b6108bb6108b636600461338e565b611ac5565b6040516104df91906142bd565b6108d0611c06565b6040516001600160e01b031990911681526020016104df565b61055a6108f73660046142e9565b611c3e565b61055a61090a3660046143df565b611d7d565b61063761091d366004613ca1565b611da5565b6109c661093036600461338e565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915250600090815260046020908152604091829020825160a081018452905460ff8082168352610100820416928201929092526001600160a01b03620100008304169281019290925263ffffffff600160b01b820481166060840152600160d01b90910416608082015290565b6040516104df919061440d565b61055a6109e13660046144be565b611dd2565b61055a6109f4366004614503565b611df8565b61055a610a0736600461454a565b611e93565b61063760008051602061518f83398151915281565b61055a610a2f36600461458a565b611f84565b61055a610a423660046145cf565b611faa565b61055a610a5536600461460d565b611fc8565b6104d3610a68366004613765565b611fdd565b6104f561202a565b6104f5612046565b61053561206f565b61055a610a9336600461463d565b6120e6565b61055a610aa6366004613939565b612104565b61055a610ab9366004613939565b61211b565b6104f5612132565b6104d3610ad436600461454a565b60ff9283166000908152600360209081526040808320948616835293815283822092851682529190915220541690565b610637610b1236600461468b565b61215b565b61055a610b253660046146b9565b6121e6565b61055a610b38366004613ff9565b61220e565b61055a610b4b3660046146fa565b6122fb565b61055a610b5e366004614728565b612372565b61055a610b7136600461477f565b612398565b61055a610b843660046147c6565b6123be565b61055a610b97366004613939565b6123e6565b6104f56123fb565b610bb1335b600036612424565b610be5610bbf84608c61252a565b83604051602001610bd091906147f4565b60405160208183030381529060405283612576565b505050565b610bf333610ba9565b610be5610c0184606e61252a565b83604051602001610bd091906148ed565b610c1b33610ba9565b610c4c610c2783611da5565b82604051602001610c38919061499a565b604051602081830303815290604052612581565b5050565b610c5933610ba9565b610c4c610c6783608c61252a565b8261258b565b610c7633610ba9565b610c4c610c67836115f6565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3006040805160808101825282546001600160601b038116825260ff600160601b820481166020840152600160681b90910416151591810191909152600182018054919291606084019190610d2d90614a56565b80601f0160208091040260200160405190810160405280929190818152602001828054610d5990614a56565b8015610da65780601f10610d7b57610100808354040283529160200191610da6565b820191906000526020600020905b815481529060010190602001808311610d8957829003601f168201915b50505050508152505090506040518060e00160405280610dc4600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b03168152602001610e1561198e565b6001600160a01b03168152602001826060015181525091505090565b610e3a33610ba9565b610be5610e4684611da5565b83604051602001610bd0919061499a565b610e6033610ba9565b610c4c610e6e83608c61252a565b82604051602001610c3891906147f4565b600060008051602061518f83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610eee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f129190614a90565b15610f435780546040516301ab8b6760e21b81526001600160601b0390911660048201526024015b60405180910390fd5b30610f566001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa158015610f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc29190614a90565b610fea5760405163b9304b0d60e01b81526001600160a01b0382166004820152602401610f3a565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa15801561103e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110629190614aad565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b61108f33610ba9565b610be561109b846115f6565b83604051602001610bd09190614aca565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660795b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af4158015611121573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111459190614c18565b92915050565b611153612595565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b61118133610ba9565b610c4c8282604051602001610c389190614c31565b61119e612595565b6111a882876122fb565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b861515021781559050600181016112188382614d27565b5050505050505050565b61122b33610ba9565b6040516355ee627560e01b81526001600160c01b031983166004820152610c4c9073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015611288573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ac9190614c18565b82604051602001610c389190614de6565b6112c5612595565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b600081815260046020819052604080832054905163b2466acf60e01b815261010090910460ff169181019190915273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf906024015b602060405180830381865af415801561136e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111459190614a90565b61139b33610ba9565b610be56113a7846115f6565b82604051602001610c389190614e14565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660786110d5565b6113ee33610ba9565b610c4c610c67836118d7565b61140333610ba9565b6007546001600160a01b0316156114535760405162461bcd60e51b8152602060048201526014602482015273109d5b991b1953585b9859d95c881a5cc81cd95d60621b6044820152606401610f3a565b306001600160a01b0316816001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561149b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bf9190614e65565b6001600160a01b0316146115155760405162461bcd60e51b815260206004820152601f60248201527f42756e646c654d616e6167657220696e7374616e6365206d69736d61746368006044820152606401610f3a565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b600061154b6001546001600160a01b031690565b6001600160a01b031663d39e6043606e5b6040516001600160e01b031960e084901b16815260ff909116600482015260036024820152604401602060405180830381865afa1580156115a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c59190614e65565b905090565b6115d333610ba9565b6115f06115df856115f6565b83604051602001610bd09190614e14565b50505050565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660d36110d5565b61162c33610ba9565b610c4c828261258b565b61163f33610ba9565b610c4c8282604051602001610c389190614e82565b600081815260046020526040902060010180546060919061167490614a56565b80601f01602080910402602001604051908101604052809291908181526020018280546116a090614a56565b80156116ed5780601f106116c2576101008083540402835291602001916116ed565b820191906000526020600020905b8154815290600101906020018083116116d057829003601f168201915b50505050509050919050565b61170233610ba9565b6115f061170e856115f6565b83604051602001610bd09190614f1d565b611727612595565b806001600160a01b03163b60000361175d5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610f3a565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263230c0c8160e11b60048201526301ffc9a790602401602060405180830381865afa9250505080156117d7575060408051601f3d908101601f191682019092526117d491810190614a90565b60015b6117ff5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610f3a565b80610c4c5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610f3a565b50565b600061183f6001546001600160a01b031690565b6001600160a01b031663d39e6043608c61155c565b3361185d61202a565b6001600160a01b0316816001600160a01b0316146118985760405162d1953b60e31b81526001600160a01b0382166004820152602401610f3a565b816001600160a01b03163b6000036118ce576040516361798f2f60e11b81526001600160a01b0383166004820152602401610f3a565b610c4c826125e0565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b038416607a6110d5565b61190d33610ba9565b6040516355ee627560e01b81526001600160c01b031983166004820152610c4c9073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af415801561196a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c679190614c18565b60008060008051602061518f83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156119fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a229190614a90565b15611aaf576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611a85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa99190614e65565b91505090565b54600160601b90046001600160a01b0316919050565b6040805160e081018252600091810182815260608083018490526080830184905260a0830184905260c083019390935281526020810191909152600082815260046020908152604091829020825160e081018452815460ff80821695830195865261010082041660608301526001600160a01b0362010000820416608083015263ffffffff600160b01b8204811660a0840152600160d01b9091041660c08201529283526001810180549192840191611b7d90614a56565b80601f0160208091040260200160405190810160405280929190818152602001828054611ba990614a56565b8015611bf65780601f10611bcb57610100808354040283529160200191611bf6565b820191906000526020600020905b815481529060010190602001808311611bd957829003601f168201915b5050505050815250509050919050565b6000805160206151af833981519152805460009190600160a01b900460ff16611c30576000611aa9565b638fb3603760e01b91505090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b0316600081158015611c835750825b90506000826001600160401b03166001148015611c9f5750303b155b905081158015611cad575080155b15611ccb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611cf557845460ff60401b1916600160401b1785555b611cfe89612641565b611d1d8888604660008a60405180602001604052806000815250611196565b611d2c62e51dcd60e31b61114b565b8315611d7257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b611d8633610ba9565b610c4c611d9483607861252a565b82604051602001610c389190614f4d565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660dc6110d5565b611ddb33610ba9565b610c4c611de7836118d7565b82604051602001610c389190614fc1565b611e0133610ba9565b6040516355ee627560e01b81526001600160c01b031984166004820152610be59073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015611e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e829190614c18565b83604051602001610bd09190614de6565b60ff8381166000908152600260205260409081902054905163037c8cb160e51b81529116600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__90636f91962090602401602060405180830381865af4158015611ef8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1c9190614a90565b15611f2657505050565b60ff808416600090815260036020908152604080832086851684528252808320858516845290915290205416610be557604051636bb20ea760e01b815260ff8085166004830152808416602483015282166044820152606401610f3a565b611f8d33610ba9565b610c4c611f99836115f6565b82604051602001610c389190614aca565b611fb333610ba9565b610be58383604051602001610bd09190614c31565b611fd133610ba9565b610be5610c67846115f6565b60ff81811660009081526002602052604080822054905163b2466acf60e01b8152921660048301529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401611351565b6000805160206151af833981519152546001600160a01b031690565b600061205a6001546001600160a01b031690565b6001600160a01b031663d39e6043607861155c565b604051632392b61b60e21b81526003600482015260009073__$9dab98ad7ae1a426029e5739f922230a41$__90638e4ad86c90602401602060405180830381865af41580156120c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c5919061501f565b6120ef33610ba9565b610be58383604051602001610bd09190614e82565b61210d33610ba9565b610c4c610c6783607861252a565b61212433610ba9565b610c4c610c6783606e61252a565b60006121466001546001600160a01b031690565b6001600160a01b031663d39e604360d361155c565b604051637a400b6760e11b815260ff8316600482015260ff198216602482015260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__9063f48016ce906044015b602060405180830381865af41580156121bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121df9190614c18565b9392505050565b6121ef33610ba9565b610be56121fd84607861252a565b83604051602001610bd09190614f4d565b61221733610ba9565b306001600160a01b0316816001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561225f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122839190614e65565b6001600160a01b0316146122d95760405162461bcd60e51b815260206004820181905260248201527f496e7374616e636552656164657220696e7374616e6365206d69736d617463686044820152606401610f3a565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b612303612595565b61230c8161171f565b6123146112bd565b6001600160a01b03821661233b5760405163f17ef42d60e01b815260040160405180910390fd5b5060008051602061518f83398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b61237b33610ba9565b610be5612387846115f6565b82604051602001610c389190614f1d565b6123a133610ba9565b610be56123ad846118d7565b83604051602001610bd09190614fc1565b6123c733610ba9565b610c4c6123d583606e61252a565b82604051602001610c3891906148ed565b6123ef33610ba9565b610c4c610c6783611da5565b600061240f6001546001600160a01b031690565b6001600160a01b031663d39e604360dc61155c565b6000805160206151af83398151915260008061245f61244161202a565b8730612451600460008a8c61503c565b61245a91615066565b612652565b91509150816125225763ffffffff8116156124ff57825460ff60a01b1916600160a01b17835561248d61202a565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016124bc93929190615096565b600060405180830381600087803b1580156124d657600080fd5b505af11580156124ea573d6000803e3d6000fd5b5050845460ff60a01b19168555506125229050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610f3a565b505050505050565b604051630711349960e31b81526001600160601b038316600482015260ff8216602482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__90633889a4c89060440161219e565b610be583838361275e565b610c4c8282612c06565b610c4c828261301f565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166125de57604051631afcd79f60e31b815260040160405180910390fd5b565b6000805160206151af83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b612649612595565b61182881613353565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516126c191906150d6565b600060405180830381855afa9150503d80600081146126fc576040519150601f19603f3d011682016040523d82523d6000602084013e612701565b606091505b50915091508115612753576040815110612733578080602001905181019061272991906150f2565b9094509250612753565b602081511061275357808060200190518101906127509190614a90565b93505b505094509492505050565b60405163b2466acf60e01b815260ff8216600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af41580156127b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d49190614a90565b6128205760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3032303a53544154455f554e444546494e45440000006044820152606401610f3a565b6000838152600460208190526040918290208054925163b2466acf60e01b815261010090930460ff169183018290529173__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af415801561288c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128b09190614a90565b6128fc5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a4b56532d3032313a4e4f545f4558495354494e470000000000006044820152606401610f3a565b60008581526004602052604090206001016129178582614d27565b508154620100003390810262010000600160b01b031960ff87166101000216610100600160b01b03198416171784559063ffffffff600160b01b9091041661295c4390565b845463ffffffff91909116600160b01b0263ffffffff60b01b19909116178455604051634b00e98f60e11b8152600481018890527fe41a93c15e024a0b2371127599959a8e543dd6a8d820238e906c93a3004248fa9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af41580156129ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a12919061501f565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af4158015612a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a869190615121565b8786863287604051612a9e979695949392919061513e565b60405180910390a1604051634b00e98f60e11b8152600481018890527f7bd0ab7f1746bd20a814d6705a46876c84f1aa2d35c80d8c173e268bd6d4b26c9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015612b18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b3c919061501f565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af4158015612b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bb09190615121565b6040805160ff938416815260ff199092166020830152918816918101919091526001600160a01b038416606082015232608082015263ffffffff831660a082015260c0015b60405180910390a150505050505050565b604051634b00e98f60e11b81526004810183905260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015612c59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7d919061501f565b60405163b2466acf60e01b815260ff8216600482015290915073__$fb4566b39bd2075cb32f600f6f40bfaef2$__9063b2466acf90602401602060405180830381865af4158015612cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf69190614a90565b612d425760405162461bcd60e51b815260206004820152601c60248201527f4552524f523a4b56532d3031303a545950455f554e444546494e4544000000006044820152606401610f3a565b6000838152600460208190526040918290208054925163037c8cb160e51b815261010090930460ff16918301919091529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__90636f91962090602401602060405180830381865af4158015612daf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dd39190614a90565b612e1f5760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3031323a414c52454144595f435245415445440000006044820152606401610f3a565b33436000612e2c85611fdd565b612e37576064612e4d565b60ff808616600090815260026020526040902054165b845460ff87811661ffff1990921691909117610100918316919091021762010000600160d01b031916620100006001600160a01b0386160263ffffffff60b01b191617600160b01b63ffffffff85169081029190911763ffffffff60d01b1916600160d01b919091021785556000888152600460205260409020909150600101612ed78782614d27565b50604051634b00e98f60e11b8152600481018890527ffcb75eb7b317145f986c763e1a3eab5f9b4dbaf7955504f70f986d799c3ab39d9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015612f4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f6e919061501f565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af4158015612fbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe29190615121565b6040805160ff938416815260ff199092166020830152918416918101919091526001600160a01b038516606082015232608082015260a001612bf5565b60405163b2466acf60e01b815260ff8216600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af4158015613071573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130959190614a90565b6130e15760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3034303a53544154455f554e444546494e45440000006044820152606401610f3a565b6000828152600460208190526040918290208054925163b2466acf60e01b815261010090930460ff169183018290529173__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af415801561314d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131719190614a90565b6131bd5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a4b56532d3034313a4e4f545f4558495354494e470000000000006044820152606401610f3a565b8154620100003390810262010000600160b01b031960ff87166101000216610100600160b01b03198416171784559063ffffffff600160b01b909104166132014390565b845463ffffffff91909116600160b01b0263ffffffff60b01b19909116178455604051634b00e98f60e11b8152600481018790527fe41a93c15e024a0b2371127599959a8e543dd6a8d820238e906c93a3004248fa9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015613293573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132b7919061501f565b604051630713cfad60e31b81526004810189905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af4158015613307573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061332b9190615121565b8786863287604051613343979695949392919061513e565b60405180910390a1505050505050565b61335b612595565b611828816125e0565b60006020828403121561337657600080fd5b81356001600160e01b0319811681146121df57600080fd5b6000602082840312156133a057600080fd5b5035919050565b6001600160601b038116811461182857600080fd5b80356133c7816133a7565b919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715613404576134046133cc565b60405290565b60405161018081016001600160401b0381118282101715613404576134046133cc565b60405161010081016001600160401b0381118282101715613404576134046133cc565b60405161012081016001600160401b0381118282101715613404576134046133cc565b60405161020081016001600160401b0381118282101715613404576134046133cc565b604051608081016001600160401b0381118282101715613404576134046133cc565b60405160e081016001600160401b0381118282101715613404576134046133cc565b6001600160a01b038116811461182857600080fd5b80356133c7816134da565b801515811461182857600080fd5b80356133c7816134fa565b60006040828403121561352557600080fd5b61352d6133e2565b9050813581526020820135602082015292915050565b60006101e0828403121561355657600080fd5b61355e61340a565b9050613569826133bc565b8152613577602083016134ef565b60208201526040820135604082015261359260608301613508565b60608201526135a360808301613508565b60808201526135b460a08301613508565b60a082015260c082013560c082015260e082013560e08201526101006135dc84828501613513565b908201526101406135ef84848301613513565b610120830152613603846101808501613513565b908201526136146101c083016134ef565b61016082015292915050565b60ff8116811461182857600080fd5b6000806000610220848603121561364557600080fd5b8335613650816133a7565b925061365f8560208601613543565b915061020084013561367081613620565b809150509250925092565b6000610140828403121561368e57600080fd5b61369661342d565b90506136a1826134ef565b81526136af602083016134ef565b60208201526136c0604083016133bc565b60408201526136d1606083016133bc565b60608201526136e38360808401613513565b60808201526136f58360c08401613513565b60a08201526137076101008301613508565b60c082015261371961012083016134ef565b60e082015292915050565b6000806000610180848603121561373a57600080fd5b8335613745816133a7565b9250613754856020860161367b565b915061016084013561367081613620565b60006020828403121561377757600080fd5b81356121df81613620565b600082601f83011261379357600080fd5b81356001600160401b03808211156137ad576137ad6133cc565b604051601f8301601f19908116603f011681019082821181831017156137d5576137d56133cc565b816040528381528660208588010111156137ee57600080fd5b836020870160208301376000602085830101528094505050505092915050565b64ffffffffff8116811461182857600080fd5b80356133c78161380e565b6000610140828403121561383f57600080fd5b613847613450565b9050613852826133bc565b81526138618360208401613513565b602082015260608201356001600160401b0381111561387f57600080fd5b61388b84828501613782565b6040830152506080820135606082015260a0820135608082015260c082013560a08201526138bb60e08301613821565b60c08201526101006138ce818401613821565b60e08301526138e06101208401613821565b9082015292915050565b600080604083850312156138fd57600080fd5b8235613908816133a7565b915060208301356001600160401b0381111561392357600080fd5b61392f8582860161382c565b9150509250929050565b6000806040838503121561394c57600080fd5b8235613957816133a7565b9150602083013561396781613620565b809150509250929050565b60005b8381101561398d578181015183820152602001613975565b50506000910152565b600081518084526139ae816020860160208601613972565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a0830151613a2b60c08401826001600160a01b03169052565b5060c083015160e080840152613a45610100840182613996565b949350505050565b600080600060608486031215613a6257600080fd5b8335613a6d816133a7565b925060208401356001600160401b03811115613a8857600080fd5b613a948682870161382c565b925050604084013561367081613620565b6000806102008385031215613ab957600080fd5b8235613ac4816133a7565b9150613ad38460208501613543565b90509250929050565b6001600160c01b03198116811461182857600080fd5b80356133c781613adc565b61ffff8116811461182857600080fd5b80356133c781613afd565b60006102008284031215613b2b57600080fd5b613b33613473565b9050613b3e826133bc565b8152613b4c602083016133bc565b6020820152613b5d60408301613af2565b6040820152613b6e60608301613af2565b60608201526080820135608082015260a082013560a082015260c082013560c0820152613b9d60e08301613821565b60e0820152610100808301356001600160401b0380821115613bbe57600080fd5b613bca86838701613782565b83850152610120925082850135915080821115613be657600080fd5b50613bf385828601613782565b828401525050610140613c07818401613b0d565b90820152610160613c19838201613b0d565b9082015261018082810135908201526101a0613c36818401613821565b908201526101c0613c48838201613821565b908201526101e06138e0838201613821565b600080600060608486031215613c6f57600080fd5b8335613c7a816133a7565b925060208401356001600160401b03811115613c9557600080fd5b613a9486828701613b18565b600060208284031215613cb357600080fd5b81356121df816133a7565b63ffffffff8116811461182857600080fd5b80356133c781613cbe565b60006101208284031215613cee57600080fd5b613cf6613450565b905081356001600160401b0380821115613d0f57600080fd5b613d1b85838601613782565b8352602084013560208401526040840135604084015260608401356060840152613d4760808501613cd0565b6080840152613d5860a08501613cd0565b60a0840152613d6960c08501613508565b60c0840152613d7a60e08501613508565b60e084015261010091508184013581811115613d9557600080fd5b613da186828701613782565b8385015250505092915050565b60008060408385031215613dc157600080fd5b8235915060208301356001600160401b03811115613dde57600080fd5b61392f85828601613cdb565b60008060008060008060c08789031215613e0357600080fd5b8635613e0e816134da565b95506020870135613e1e816133a7565b94506040870135613e2e81613620565b93506060870135613e3e816134fa565b92506080870135613e4e816134da565b915060a08701356001600160401b03811115613e6957600080fd5b613e7589828a01613782565b9150509295509295509295565b600060408284031215613e9457600080fd5b613e9c6133e2565b90508135613ea9816133a7565b815260208201356001600160401b03811115613ec457600080fd5b613ed084828501613782565b60208301525092915050565b60008060408385031215613eef57600080fd5b8235613efa81613adc565b915060208301356001600160401b03811115613f1557600080fd5b61392f85828601613e82565b600060808284031215613f3357600080fd5b613f3b613496565b90508135613f4881613afd565b81526020828101359082015260408201356001600160401b03811115613f6d57600080fd5b613f7984828501613782565b6040830152506060820135613f8d8161380e565b606082015292915050565b600080600060608486031215613fad57600080fd5b8335613fb8816133a7565b92506020840135613fc881613cbe565b915060408401356001600160401b03811115613fe357600080fd5b613fef86828701613f21565b9150509250925092565b60006020828403121561400b57600080fd5b81356121df816134da565b6000806000806080858703121561402c57600080fd5b8435614037816133a7565b9350602085013561404781613cbe565b925060408501356001600160401b0381111561406257600080fd5b61406e87828801613f21565b925050606085013561407f81613620565b939692955090935050565b6000806040838503121561409d57600080fd5b82359150602083013561396781613620565b600060e082840312156140c157600080fd5b6140c96134b8565b90506140d4826133bc565b815260208201356001600160401b03808211156140f057600080fd5b6140fc85838601613782565b60208401526040840135604084015261411760608501613cd0565b606084015261412860808501613cd0565b608084015261413960a08501613821565b60a084015260c084013591508082111561415257600080fd5b5061415f84828501613782565b60c08301525092915050565b6000806040838503121561417e57600080fd5b8235915060208301356001600160401b0381111561419b57600080fd5b61392f858286016140af565b6020815260006121df6020830184613996565b6000608082840312156141cc57600080fd5b6141d4613496565b9050813581526020820135602082015260408201356001600160401b03811115613f6d57600080fd5b6000806000806080858703121561421357600080fd5b843561421e816133a7565b9350602085013561422e81613afd565b925060408501356001600160401b0381111561424957600080fd5b61406e878288016141ba565b6000806040838503121561426857600080fd5b823561395781613adc565b60ff815116825260ff602082015116602083015260018060a01b036040820151166040830152606081015163ffffffff808216606085015280608084015116608085015250505050565b602081526142cf602082018351614273565b6000602083015160c080840152613a4560e0840182613996565b600080600080608085870312156142ff57600080fd5b843561430a816134da565b9350602085013561431a816134da565b9250604085013561432a816133a7565b9150606085013561407f816134da565b6000610100828403121561434d57600080fd5b60405160c081018181106001600160401b038211171561436f5761436f6133cc565b6040529050808235614380816133a7565b81526020830135614390816134da565b60208201526143a28460408501613513565b60408201526143b48460808501613513565b606082015260c08301356143c7816134da565b8060808301525060e083013560a08201525092915050565b60008061012083850312156143f357600080fd5b82356143fe816133a7565b9150613ad3846020850161433a565b60a081016111458284614273565b600060a0828403121561442d57600080fd5b60405160a081016001600160401b038282108183111715614450576144506133cc565b816040528293508435915061446482613adc565b908252602084013590614476826134fa565b816020840152604085013591508082111561449057600080fd5b5061449d85828601613782565b60408301525060608301356060820152608083013560808201525092915050565b600080604083850312156144d157600080fd5b82356144dc816133a7565b915060208301356001600160401b038111156144f757600080fd5b61392f8582860161441b565b60008060006060848603121561451857600080fd5b833561452381613adc565b925060208401356001600160401b0381111561453e57600080fd5b613a9486828701613e82565b60008060006060848603121561455f57600080fd5b833561456a81613620565b9250602084013561457a81613620565b9150604084013561367081613620565b6000806040838503121561459d57600080fd5b82356145a8816133a7565b915060208301356001600160401b038111156145c357600080fd5b61392f85828601613b18565b6000806000606084860312156145e457600080fd5b8335925060208401356001600160401b0381111561460157600080fd5b613a9486828701613cdb565b60008060006060848603121561462257600080fd5b833561462d816133a7565b9250602084013561457a81613afd565b60008060006060848603121561465257600080fd5b8335925060208401356001600160401b0381111561466f57600080fd5b613a94868287016140af565b60ff198116811461182857600080fd5b6000806040838503121561469e57600080fd5b82356146a981613620565b915060208301356139678161467b565b600080600061014084860312156146cf57600080fd5b83356146da816133a7565b92506146e9856020860161433a565b915061012084013561367081613620565b6000806040838503121561470d57600080fd5b8235614718816134da565b91506020830135613967816134da565b60008060006060848603121561473d57600080fd5b8335614748816133a7565b9250602084013561475881613afd565b915060408401356001600160401b0381111561477357600080fd5b613fef868287016141ba565b60008060006060848603121561479457600080fd5b833561479f816133a7565b925060208401356001600160401b038111156147ba57600080fd5b613a948682870161441b565b60008061016083850312156147da57600080fd5b82356147e5816133a7565b9150613ad3846020850161367b565b81516001600160601b031681526101e08101602083015161482060208401826001600160a01b03169052565b5060408301516040830152606083015161483e606084018215159052565b506080830151614852608084018215159052565b5060a083015161486660a084018215159052565b5060c083015160c083015260e083015160e0830152610100808401516148988285018280518252602090810151910152565b50506101208301516101406148b98185018380518252602090810151910152565b8401518051610180850152602001516101a0840152506101608301516001600160a01b0381166101c08401525b5092915050565b81516001600160a01b039081168252602080840151909116908201526040808301516001600160601b03169082015260608083015161014083019161493c908401826001600160601b03169052565b506080830151614959608084018280518252602090810151910152565b5060a0830151805160c0840152602081015160e08401525060c08301518015156101008401525060e08301516001600160a01b0381166101208401526148e6565b602081526149b46020820183516001600160601b03169052565b600060208301516149d2604084018280518252602090810151910152565b5060408301516101408060808501526149ef610160850183613996565b9150606085015160a0850152608085015160c085015260a085015160e085015260c0850151610100614a298187018364ffffffffff169052565b60e087015164ffffffffff811661012088015291505b9095015164ffffffffff1693019290925250919050565b600181811c90821680614a6a57607f821691505b602082108103614a8a57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614aa257600080fd5b81516121df816134fa565b600060208284031215614abf57600080fd5b81516121df816133a7565b60208152614ae46020820183516001600160601b03169052565b60006020830151614b0060408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b03198116608084015250608083015160a083015260a083015160c083015260c083015160e083015260e0830151610100614b658185018364ffffffffff169052565b808501519150506102006101208181860152614b85610220860184613996565b9250808601519050610140601f198685030181870152614ba58483613996565b935080870151915050610160614bc08187018361ffff169052565b8601519050610180614bd78682018361ffff169052565b8601516101a08681019190915286015190506101c0614bfe8187018364ffffffffff169052565b86015190506101e0614a3f8682018364ffffffffff169052565b600060208284031215614c2a57600080fd5b5051919050565b6020815260008251610120806020850152614c50610140850183613996565b91506020850151604085015260408501516060850152606085015160808501526080850151614c8760a086018263ffffffff169052565b5060a085015163ffffffff811660c08601525060c085015180151560e08601525060e0850151610100614cbd8187018315159052565b860151858403601f1901838701529050614cd78382613996565b9695505050505050565b601f821115610be557600081815260208120601f850160051c81016020861015614d085750805b601f850160051c820191505b8181101561252257828155600101614d14565b81516001600160401b03811115614d4057614d406133cc565b614d5481614d4e8454614a56565b84614ce1565b602080601f831160018114614d895760008415614d715750858301515b600019600386901b1c1916600185901b178555612522565b600085815260208120601f198616915b82811015614db857888601518255948401946001909101908401614d99565b5085821015614dd65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526001600160601b03825116602082015260006020830151604080840152613a456060840182613996565b6020815261ffff8251166020820152602082015160408201526000604083015160806060840152614e4860a0840182613996565b905064ffffffffff60608501511660808401528091505092915050565b600060208284031215614e7757600080fd5b81516121df816134da565b602081526001600160601b0382511660208201526000602083015160e06040840152614eb2610100840182613996565b90506040840151606084015263ffffffff60608501511660808401526080840151614ee560a085018263ffffffff169052565b5060a084015164ffffffffff811660c08501525060c0840151838203601f190160e0850152614f148282613996565b95945050505050565b6020815281516020820152602082015160408201526000604083015160806060840152614e4860a0840182613996565b81516001600160601b031681526020808301516001600160a01b039081168284015260408085015180519185019190915291820151606084015261010083019190606085015180516080860152602081015160a0860152915060808501511660c08401525060a09092015160e09091015290565b602081526001600160401b0360c01b82511660208201526020820151151560408201526000604083015160a06060840152614fff60c0840182613996565b905060608401516080840152608084015160a08401528091505092915050565b60006020828403121561503157600080fd5b81516121df81613620565b6000808585111561504c57600080fd5b8386111561505957600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561508e5780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b600082516150e8818460208701613972565b9190910192915050565b6000806040838503121561510557600080fd5b8251615110816134fa565b602084015190925061396781613cbe565b60006020828403121561513357600080fd5b81516121df8161467b565b60ff978816815260ff1996909616602087015293861660408601529190941660608401526001600160a01b03938416608084015290921660a082015263ffffffff9190911660c082015260e0019056fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a264697066735822122056dafd0b4ccfe206ab75e005e11ac1ca6c1a49c34d886e1faa3807eebaeb1f0c64736f6c63430008140033",
|
3025
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106104a15760003560e01c8063675393bf1161026d578063b6d7cd6211610151578063e9e96c70116100ce578063f7c34ee011610092578063f7c34ee014610b3d578063fa145b6d14610b50578063fb4a8e3414610b63578063fbc1a3a014610b76578063fe1f18d614610b89578063fed3d63f14610b9c57600080fd5b8063e9e96c7014610ac6578063f21de1e8146107f1578063f48016ce14610b04578063f7b442d114610b17578063f7bc431c14610b2a57600080fd5b8063cde749f411610115578063cde749f414610a7d578063cf947d2014610a85578063d2f21a2914610a98578063dee3262314610aab578063e1033e7d14610abe57600080fd5b8063b6d7cd6214610a47578063bf1db3f914610a5a578063bf7e214f14610a6d578063c29948fc14610611578063ca600b1c14610a7557600080fd5b80639df0280b116101ea578063a76ee018116101ae578063a76ee018146109e6578063a8989675146109f9578063ada9652e14610a0c578063afa5e13014610798578063afcc743914610a21578063b3260e9314610a3457600080fd5b80639df0280b146105bb5780639e90178c146108fc578063a13df2ab1461090f578063a5961b4c14610922578063a671495e146109d357600080fd5b80637cef4842116102315780637cef48421461088d578063893d20e8146108a05780638eaa6ac0146108a85780638fb36037146108c8578063976b0a77146108e957600080fd5b8063675393bf146108445780636b9bf08b1461085757806375b238fc1461085f5780637a9e5e4b146108675780637b8c388f1461087a57600080fd5b80632f61088a11610394578063447fc48f116103115780635772b101116102d55780635772b101146107de5780635ab1bd53146107f15780635d4345cc146105bb5780635dfa73db1461080257806361f5f4201461080b578063644c45e01461081c57600080fd5b8063447fc48f14610772578063468a1867146107855780635378cd3c1461079857806354d747a8146107ab57806354f6127f146107be57600080fd5b80633ca7c02a116103585780633ca7c02a1461070b5780633e35aba81461073157806340529b0f14610744578063422c9d00146107575780634288121d1461076a57600080fd5b80632f61088a146106ad57806336fc697e146106c057806337f135d7146106c857806338a699a4146106e55780633c0d6a41146106f857600080fd5b80631204b553116104225780631eff4b22116103e65780631eff4b2214610645578063214cdb801461066c5780632781d4431461067f57806327953f481461068757806327bb7a331461069a57600080fd5b80631204b553146105e357806312aa0b2a146105f6578063138461e0146106095780631518afb9146106115780631b38d5f41461062457600080fd5b80630d358181116104695780630d3581811461056f5780630f03144a146105955780630f526f7d146105a85780630fad0eb1146105bb5780630fec111c146105ce57600080fd5b806301ffc9a7146104a657806302cd3071146104e857806309648a9d1461050d57806309fb1d08146105475780630cbc6b891461055c575b600080fd5b6104d36104b4366004613364565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b6006546001600160a01b03165b6040516001600160a01b0390911681526020016104df565b61053561051b36600461338e565b600090815260046020526040902054610100900460ff1690565b60405160ff90911681526020016104df565b61055a61055536600461362f565b610ba4565b005b61055a61056a366004613724565b610bea565b61053561057d366004613765565b60ff9081166000908152600260205260409020541690565b61055a6105a33660046138ea565b610c12565b61055a6105b6366004613939565b610c50565b61055a6105c9366004613939565b610c6d565b6105d6610c82565b6040516104df91906139c2565b61055a6105f1366004613a4d565b610e31565b61055a610604366004613aa5565b610e57565b61055a610e7f565b61055a61061f366004613c5a565b611086565b610637610632366004613ca1565b6110ac565b6040519081526020016104df565b6106377f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b61055a61067a366004613364565b61114b565b610637600381565b61055a610695366004613dae565b611178565b61055a6106a8366004613dea565b611196565b61055a6106bb366004613edc565b611222565b61055a6112bd565b6106d0600081565b60405163ffffffff90911681526020016104df565b6104d36106f336600461338e565b611303565b61055a610706366004613f98565b611392565b6107196001600160401b0381565b6040516001600160401b0390911681526020016104df565b61063761073f366004613ca1565b6113b8565b61055a610752366004613939565b6113e5565b61055a610765366004613ff9565b6113fa565b6104f5611537565b61055a610780366004614016565b6115ca565b610637610793366004613ca1565b6115f6565b61055a6107a636600461408a565b611623565b61055a6107b936600461416b565b611636565b6107d16107cc36600461338e565b611654565b6040516104df91906141a7565b61055a6107ec3660046141fd565b6116f9565b6001546001600160a01b03166104f5565b61071961271081565b6007546001600160a01b03166104f5565b60008051602061518f833981519152546040516001600160601b0390911681526020016104df565b61055a610852366004613ff9565b61171f565b6104f561182b565b610719600081565b61055a610875366004613ff9565b611854565b610637610888366004613ca1565b6118d7565b61055a61089b366004614255565b611904565b6104f561198e565b6108bb6108b636600461338e565b611ac5565b6040516104df91906142bd565b6108d0611c06565b6040516001600160e01b031990911681526020016104df565b61055a6108f73660046142e9565b611c3e565b61055a61090a3660046143df565b611d7d565b61063761091d366004613ca1565b611da5565b6109c661093036600461338e565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915250600090815260046020908152604091829020825160a081018452905460ff8082168352610100820416928201929092526001600160a01b03620100008304169281019290925263ffffffff600160b01b820481166060840152600160d01b90910416608082015290565b6040516104df919061440d565b61055a6109e13660046144be565b611dd2565b61055a6109f4366004614503565b611df8565b61055a610a0736600461454a565b611e93565b61063760008051602061518f83398151915281565b61055a610a2f36600461458a565b611f84565b61055a610a423660046145cf565b611faa565b61055a610a5536600461460d565b611fc8565b6104d3610a68366004613765565b611fdd565b6104f561202a565b6104f5612046565b61053561206f565b61055a610a9336600461463d565b6120e6565b61055a610aa6366004613939565b612104565b61055a610ab9366004613939565b61211b565b6104f5612132565b6104d3610ad436600461454a565b60ff9283166000908152600360209081526040808320948616835293815283822092851682529190915220541690565b610637610b1236600461468b565b61215b565b61055a610b253660046146b9565b6121e6565b61055a610b38366004613ff9565b61220e565b61055a610b4b3660046146fa565b6122fb565b61055a610b5e366004614728565b612372565b61055a610b7136600461477f565b612398565b61055a610b843660046147c6565b6123be565b61055a610b97366004613939565b6123e6565b6104f56123fb565b610bb1335b600036612424565b610be5610bbf84608c61252a565b83604051602001610bd091906147f4565b60405160208183030381529060405283612576565b505050565b610bf333610ba9565b610be5610c0184606e61252a565b83604051602001610bd091906148ed565b610c1b33610ba9565b610c4c610c2783611da5565b82604051602001610c38919061499a565b604051602081830303815290604052612581565b5050565b610c5933610ba9565b610c4c610c6783608c61252a565b8261258b565b610c7633610ba9565b610c4c610c67836115f6565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820152907f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3006040805160808101825282546001600160601b038116825260ff600160601b820481166020840152600160681b90910416151591810191909152600182018054919291606084019190610d2d90614a56565b80601f0160208091040260200160405190810160405280929190818152602001828054610d5990614a56565b8015610da65780601f10610d7b57610100808354040283529160200191610da6565b820191906000526020600020905b815481529060010190602001808311610d8957829003601f168201915b50505050508152505090506040518060e00160405280610dc4600090565b6001600160601b0316815260200182600001516001600160601b03168152602001826020015160ff168152602001826040015115158152602001306001600160a01b03168152602001610e1561198e565b6001600160a01b03168152602001826060015181525091505090565b610e3a33610ba9565b610be5610e4684611da5565b83604051602001610bd0919061499a565b610e6033610ba9565b610c4c610e6e83608c61252a565b82604051602001610c3891906147f4565b600060008051602061518f83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610eee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f129190614a90565b15610f435780546040516301ab8b6760e21b81526001600160601b0390911660048201526024015b60405180910390fd5b30610f566001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa158015610f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc29190614a90565b610fea5760405163b9304b0d60e01b81526001600160a01b0382166004820152602401610f3a565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa15801561103e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110629190614aad565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b61108f33610ba9565b610be561109b846115f6565b83604051602001610bd09190614aca565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660795b6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af4158015611121573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111459190614c18565b92915050565b611153612595565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b61118133610ba9565b610c4c8282604051602001610c389190614c31565b61119e612595565b6111a882876122fb565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166cffffffffffffffffffffffffff1990911617600160601b60ff8816021760ff60681b1916600160681b861515021781559050600181016112188382614d27565b5050505050505050565b61122b33610ba9565b6040516355ee627560e01b81526001600160c01b031983166004820152610c4c9073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015611288573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ac9190614c18565b82604051602001610c389190614de6565b6112c5612595565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b600081815260046020819052604080832054905163b2466acf60e01b815261010090910460ff169181019190915273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf906024015b602060405180830381865af415801561136e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111459190614a90565b61139b33610ba9565b610be56113a7846115f6565b82604051602001610c389190614e14565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660786110d5565b6113ee33610ba9565b610c4c610c67836118d7565b61140333610ba9565b6007546001600160a01b0316156114535760405162461bcd60e51b8152602060048201526014602482015273109d5b991b1953585b9859d95c881a5cc81cd95d60621b6044820152606401610f3a565b306001600160a01b0316816001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561149b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bf9190614e65565b6001600160a01b0316146115155760405162461bcd60e51b815260206004820152601f60248201527f42756e646c654d616e6167657220696e7374616e6365206d69736d61746368006044820152606401610f3a565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b600061154b6001546001600160a01b031690565b6001600160a01b031663d39e6043606e5b6040516001600160e01b031960e084901b16815260ff909116600482015260036024820152604401602060405180830381865afa1580156115a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c59190614e65565b905090565b6115d333610ba9565b6115f06115df856115f6565b83604051602001610bd09190614e14565b50505050565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660d36110d5565b61162c33610ba9565b610c4c828261258b565b61163f33610ba9565b610c4c8282604051602001610c389190614e82565b600081815260046020526040902060010180546060919061167490614a56565b80601f01602080910402602001604051908101604052809291908181526020018280546116a090614a56565b80156116ed5780601f106116c2576101008083540402835291602001916116ed565b820191906000526020600020905b8154815290600101906020018083116116d057829003601f168201915b50505050509050919050565b61170233610ba9565b6115f061170e856115f6565b83604051602001610bd09190614f1d565b611727612595565b806001600160a01b03163b60000361175d5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610f3a565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263230c0c8160e11b60048201526301ffc9a790602401602060405180830381865afa9250505080156117d7575060408051601f3d908101601f191682019092526117d491810190614a90565b60015b6117ff5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610f3a565b80610c4c5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610f3a565b50565b600061183f6001546001600160a01b031690565b6001600160a01b031663d39e6043608c61155c565b3361185d61202a565b6001600160a01b0316816001600160a01b0316146118985760405162d1953b60e31b81526001600160a01b0382166004820152602401610f3a565b816001600160a01b03163b6000036118ce576040516361798f2f60e11b81526001600160a01b0383166004820152602401610f3a565b610c4c826125e0565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b038416607a6110d5565b61190d33610ba9565b6040516355ee627560e01b81526001600160c01b031983166004820152610c4c9073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af415801561196a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c679190614c18565b60008060008051602061518f83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156119fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a229190614a90565b15611aaf576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611a85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa99190614e65565b91505090565b54600160601b90046001600160a01b0316919050565b6040805160e081018252600091810182815260608083018490526080830184905260a0830184905260c083019390935281526020810191909152600082815260046020908152604091829020825160e081018452815460ff80821695830195865261010082041660608301526001600160a01b0362010000820416608083015263ffffffff600160b01b8204811660a0840152600160d01b9091041660c08201529283526001810180549192840191611b7d90614a56565b80601f0160208091040260200160405190810160405280929190818152602001828054611ba990614a56565b8015611bf65780601f10611bcb57610100808354040283529160200191611bf6565b820191906000526020600020905b815481529060010190602001808311611bd957829003601f168201915b5050505050815250509050919050565b6000805160206151af833981519152805460009190600160a01b900460ff16611c30576000611aa9565b638fb3603760e01b91505090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b0316600081158015611c835750825b90506000826001600160401b03166001148015611c9f5750303b155b905081158015611cad575080155b15611ccb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611cf557845460ff60401b1916600160401b1785555b611cfe89612641565b611d1d8888604660008a60405180602001604052806000815250611196565b611d2c62e51dcd60e31b61114b565b8315611d7257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b611d8633610ba9565b610c4c611d9483607861252a565b82604051602001610c389190614f4d565b600073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__633889a4c86001600160601b03841660dc6110d5565b611ddb33610ba9565b610c4c611de7836118d7565b82604051602001610c389190614fc1565b611e0133610ba9565b6040516355ee627560e01b81526001600160c01b031984166004820152610be59073__$19a201e37be2e25dc57bd4aa563a0edb25$__906355ee627590602401602060405180830381865af4158015611e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e829190614c18565b83604051602001610bd09190614de6565b60ff8381166000908152600260205260409081902054905163037c8cb160e51b81529116600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__90636f91962090602401602060405180830381865af4158015611ef8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1c9190614a90565b15611f2657505050565b60ff808416600090815260036020908152604080832086851684528252808320858516845290915290205416610be557604051636bb20ea760e01b815260ff8085166004830152808416602483015282166044820152606401610f3a565b611f8d33610ba9565b610c4c611f99836115f6565b82604051602001610c389190614aca565b611fb333610ba9565b610be58383604051602001610bd09190614c31565b611fd133610ba9565b610be5610c67846115f6565b60ff81811660009081526002602052604080822054905163b2466acf60e01b8152921660048301529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401611351565b6000805160206151af833981519152546001600160a01b031690565b600061205a6001546001600160a01b031690565b6001600160a01b031663d39e6043607861155c565b604051632392b61b60e21b81526003600482015260009073__$9dab98ad7ae1a426029e5739f922230a41$__90638e4ad86c90602401602060405180830381865af41580156120c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c5919061501f565b6120ef33610ba9565b610be58383604051602001610bd09190614e82565b61210d33610ba9565b610c4c610c6783607861252a565b61212433610ba9565b610c4c610c6783606e61252a565b60006121466001546001600160a01b031690565b6001600160a01b031663d39e604360d361155c565b604051637a400b6760e11b815260ff8316600482015260ff198216602482015260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__9063f48016ce906044015b602060405180830381865af41580156121bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121df9190614c18565b9392505050565b6121ef33610ba9565b610be56121fd84607861252a565b83604051602001610bd09190614f4d565b61221733610ba9565b306001600160a01b0316816001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561225f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122839190614e65565b6001600160a01b0316146122d95760405162461bcd60e51b815260206004820181905260248201527f496e7374616e636552656164657220696e7374616e6365206d69736d617463686044820152606401610f3a565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b612303612595565b61230c8161171f565b6123146112bd565b6001600160a01b03821661233b5760405163f17ef42d60e01b815260040160405180910390fd5b5060008051602061518f83398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b61237b33610ba9565b610be5612387846115f6565b82604051602001610c389190614f1d565b6123a133610ba9565b610be56123ad846118d7565b83604051602001610bd09190614fc1565b6123c733610ba9565b610c4c6123d583606e61252a565b82604051602001610c3891906148ed565b6123ef33610ba9565b610c4c610c6783611da5565b600061240f6001546001600160a01b031690565b6001600160a01b031663d39e604360dc61155c565b6000805160206151af83398151915260008061245f61244161202a565b8730612451600460008a8c61503c565b61245a91615066565b612652565b91509150816125225763ffffffff8116156124ff57825460ff60a01b1916600160a01b17835561248d61202a565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016124bc93929190615096565b600060405180830381600087803b1580156124d657600080fd5b505af11580156124ea573d6000803e3d6000fd5b5050845460ff60a01b19168555506125229050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610f3a565b505050505050565b604051630711349960e31b81526001600160601b038316600482015260ff8216602482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__90633889a4c89060440161219e565b610be583838361275e565b610c4c8282612c06565b610c4c828261301f565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166125de57604051631afcd79f60e31b815260040160405180910390fd5b565b6000805160206151af83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b612649612595565b61182881613353565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516126c191906150d6565b600060405180830381855afa9150503d80600081146126fc576040519150601f19603f3d011682016040523d82523d6000602084013e612701565b606091505b50915091508115612753576040815110612733578080602001905181019061272991906150f2565b9094509250612753565b602081511061275357808060200190518101906127509190614a90565b93505b505094509492505050565b60405163b2466acf60e01b815260ff8216600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af41580156127b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d49190614a90565b6128205760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3032303a53544154455f554e444546494e45440000006044820152606401610f3a565b6000838152600460208190526040918290208054925163b2466acf60e01b815261010090930460ff169183018290529173__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af415801561288c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128b09190614a90565b6128fc5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a4b56532d3032313a4e4f545f4558495354494e470000000000006044820152606401610f3a565b60008581526004602052604090206001016129178582614d27565b508154620100003390810262010000600160b01b031960ff87166101000216610100600160b01b03198416171784559063ffffffff600160b01b9091041661295c4390565b845463ffffffff91909116600160b01b0263ffffffff60b01b19909116178455604051634b00e98f60e11b8152600481018890527fe41a93c15e024a0b2371127599959a8e543dd6a8d820238e906c93a3004248fa9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af41580156129ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a12919061501f565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af4158015612a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a869190615121565b8786863287604051612a9e979695949392919061513e565b60405180910390a1604051634b00e98f60e11b8152600481018890527f7bd0ab7f1746bd20a814d6705a46876c84f1aa2d35c80d8c173e268bd6d4b26c9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015612b18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b3c919061501f565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af4158015612b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bb09190615121565b6040805160ff938416815260ff199092166020830152918816918101919091526001600160a01b038416606082015232608082015263ffffffff831660a082015260c0015b60405180910390a150505050505050565b604051634b00e98f60e11b81526004810183905260009073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015612c59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7d919061501f565b60405163b2466acf60e01b815260ff8216600482015290915073__$fb4566b39bd2075cb32f600f6f40bfaef2$__9063b2466acf90602401602060405180830381865af4158015612cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf69190614a90565b612d425760405162461bcd60e51b815260206004820152601c60248201527f4552524f523a4b56532d3031303a545950455f554e444546494e4544000000006044820152606401610f3a565b6000838152600460208190526040918290208054925163037c8cb160e51b815261010090930460ff16918301919091529073__$2a12cf1a40369f689f3a67e70f4b31dadc$__90636f91962090602401602060405180830381865af4158015612daf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dd39190614a90565b612e1f5760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3031323a414c52454144595f435245415445440000006044820152606401610f3a565b33436000612e2c85611fdd565b612e37576064612e4d565b60ff808616600090815260026020526040902054165b845460ff87811661ffff1990921691909117610100918316919091021762010000600160d01b031916620100006001600160a01b0386160263ffffffff60b01b191617600160b01b63ffffffff85169081029190911763ffffffff60d01b1916600160d01b919091021785556000888152600460205260409020909150600101612ed78782614d27565b50604051634b00e98f60e11b8152600481018890527ffcb75eb7b317145f986c763e1a3eab5f9b4dbaf7955504f70f986d799c3ab39d9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015612f4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f6e919061501f565b604051630713cfad60e31b8152600481018a905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af4158015612fbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe29190615121565b6040805160ff938416815260ff199092166020830152918416918101919091526001600160a01b038516606082015232608082015260a001612bf5565b60405163b2466acf60e01b815260ff8216600482015273__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af4158015613071573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130959190614a90565b6130e15760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a4b56532d3034303a53544154455f554e444546494e45440000006044820152606401610f3a565b6000828152600460208190526040918290208054925163b2466acf60e01b815261010090930460ff169183018290529173__$2a12cf1a40369f689f3a67e70f4b31dadc$__9063b2466acf90602401602060405180830381865af415801561314d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131719190614a90565b6131bd5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a4b56532d3034313a4e4f545f4558495354494e470000000000006044820152606401610f3a565b8154620100003390810262010000600160b01b031960ff87166101000216610100600160b01b03198416171784559063ffffffff600160b01b909104166132014390565b845463ffffffff91909116600160b01b0263ffffffff60b01b19909116178455604051634b00e98f60e11b8152600481018790527fe41a93c15e024a0b2371127599959a8e543dd6a8d820238e906c93a3004248fa9073__$c8f743efd2b4f0c9300f2558c784479d3e$__90639601d31e90602401602060405180830381865af4158015613293573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132b7919061501f565b604051630713cfad60e31b81526004810189905273__$c8f743efd2b4f0c9300f2558c784479d3e$__9063389e7d6890602401602060405180830381865af4158015613307573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061332b9190615121565b8786863287604051613343979695949392919061513e565b60405180910390a1505050505050565b61335b612595565b611828816125e0565b60006020828403121561337657600080fd5b81356001600160e01b0319811681146121df57600080fd5b6000602082840312156133a057600080fd5b5035919050565b6001600160601b038116811461182857600080fd5b80356133c7816133a7565b919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715613404576134046133cc565b60405290565b60405161018081016001600160401b0381118282101715613404576134046133cc565b60405161010081016001600160401b0381118282101715613404576134046133cc565b60405161012081016001600160401b0381118282101715613404576134046133cc565b60405161020081016001600160401b0381118282101715613404576134046133cc565b604051608081016001600160401b0381118282101715613404576134046133cc565b60405160e081016001600160401b0381118282101715613404576134046133cc565b6001600160a01b038116811461182857600080fd5b80356133c7816134da565b801515811461182857600080fd5b80356133c7816134fa565b60006040828403121561352557600080fd5b61352d6133e2565b9050813581526020820135602082015292915050565b60006101e0828403121561355657600080fd5b61355e61340a565b9050613569826133bc565b8152613577602083016134ef565b60208201526040820135604082015261359260608301613508565b60608201526135a360808301613508565b60808201526135b460a08301613508565b60a082015260c082013560c082015260e082013560e08201526101006135dc84828501613513565b908201526101406135ef84848301613513565b610120830152613603846101808501613513565b908201526136146101c083016134ef565b61016082015292915050565b60ff8116811461182857600080fd5b6000806000610220848603121561364557600080fd5b8335613650816133a7565b925061365f8560208601613543565b915061020084013561367081613620565b809150509250925092565b6000610140828403121561368e57600080fd5b61369661342d565b90506136a1826134ef565b81526136af602083016134ef565b60208201526136c0604083016133bc565b60408201526136d1606083016133bc565b60608201526136e38360808401613513565b60808201526136f58360c08401613513565b60a08201526137076101008301613508565b60c082015261371961012083016134ef565b60e082015292915050565b6000806000610180848603121561373a57600080fd5b8335613745816133a7565b9250613754856020860161367b565b915061016084013561367081613620565b60006020828403121561377757600080fd5b81356121df81613620565b600082601f83011261379357600080fd5b81356001600160401b03808211156137ad576137ad6133cc565b604051601f8301601f19908116603f011681019082821181831017156137d5576137d56133cc565b816040528381528660208588010111156137ee57600080fd5b836020870160208301376000602085830101528094505050505092915050565b64ffffffffff8116811461182857600080fd5b80356133c78161380e565b6000610140828403121561383f57600080fd5b613847613450565b9050613852826133bc565b81526138618360208401613513565b602082015260608201356001600160401b0381111561387f57600080fd5b61388b84828501613782565b6040830152506080820135606082015260a0820135608082015260c082013560a08201526138bb60e08301613821565b60c08201526101006138ce818401613821565b60e08301526138e06101208401613821565b9082015292915050565b600080604083850312156138fd57600080fd5b8235613908816133a7565b915060208301356001600160401b0381111561392357600080fd5b61392f8582860161382c565b9150509250929050565b6000806040838503121561394c57600080fd5b8235613957816133a7565b9150602083013561396781613620565b809150509250929050565b60005b8381101561398d578181015183820152602001613975565b50506000910152565b600081518084526139ae816020860160208601613972565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a0830151613a2b60c08401826001600160a01b03169052565b5060c083015160e080840152613a45610100840182613996565b949350505050565b600080600060608486031215613a6257600080fd5b8335613a6d816133a7565b925060208401356001600160401b03811115613a8857600080fd5b613a948682870161382c565b925050604084013561367081613620565b6000806102008385031215613ab957600080fd5b8235613ac4816133a7565b9150613ad38460208501613543565b90509250929050565b6001600160c01b03198116811461182857600080fd5b80356133c781613adc565b61ffff8116811461182857600080fd5b80356133c781613afd565b60006102008284031215613b2b57600080fd5b613b33613473565b9050613b3e826133bc565b8152613b4c602083016133bc565b6020820152613b5d60408301613af2565b6040820152613b6e60608301613af2565b60608201526080820135608082015260a082013560a082015260c082013560c0820152613b9d60e08301613821565b60e0820152610100808301356001600160401b0380821115613bbe57600080fd5b613bca86838701613782565b83850152610120925082850135915080821115613be657600080fd5b50613bf385828601613782565b828401525050610140613c07818401613b0d565b90820152610160613c19838201613b0d565b9082015261018082810135908201526101a0613c36818401613821565b908201526101c0613c48838201613821565b908201526101e06138e0838201613821565b600080600060608486031215613c6f57600080fd5b8335613c7a816133a7565b925060208401356001600160401b03811115613c9557600080fd5b613a9486828701613b18565b600060208284031215613cb357600080fd5b81356121df816133a7565b63ffffffff8116811461182857600080fd5b80356133c781613cbe565b60006101208284031215613cee57600080fd5b613cf6613450565b905081356001600160401b0380821115613d0f57600080fd5b613d1b85838601613782565b8352602084013560208401526040840135604084015260608401356060840152613d4760808501613cd0565b6080840152613d5860a08501613cd0565b60a0840152613d6960c08501613508565b60c0840152613d7a60e08501613508565b60e084015261010091508184013581811115613d9557600080fd5b613da186828701613782565b8385015250505092915050565b60008060408385031215613dc157600080fd5b8235915060208301356001600160401b03811115613dde57600080fd5b61392f85828601613cdb565b60008060008060008060c08789031215613e0357600080fd5b8635613e0e816134da565b95506020870135613e1e816133a7565b94506040870135613e2e81613620565b93506060870135613e3e816134fa565b92506080870135613e4e816134da565b915060a08701356001600160401b03811115613e6957600080fd5b613e7589828a01613782565b9150509295509295509295565b600060408284031215613e9457600080fd5b613e9c6133e2565b90508135613ea9816133a7565b815260208201356001600160401b03811115613ec457600080fd5b613ed084828501613782565b60208301525092915050565b60008060408385031215613eef57600080fd5b8235613efa81613adc565b915060208301356001600160401b03811115613f1557600080fd5b61392f85828601613e82565b600060808284031215613f3357600080fd5b613f3b613496565b90508135613f4881613afd565b81526020828101359082015260408201356001600160401b03811115613f6d57600080fd5b613f7984828501613782565b6040830152506060820135613f8d8161380e565b606082015292915050565b600080600060608486031215613fad57600080fd5b8335613fb8816133a7565b92506020840135613fc881613cbe565b915060408401356001600160401b03811115613fe357600080fd5b613fef86828701613f21565b9150509250925092565b60006020828403121561400b57600080fd5b81356121df816134da565b6000806000806080858703121561402c57600080fd5b8435614037816133a7565b9350602085013561404781613cbe565b925060408501356001600160401b0381111561406257600080fd5b61406e87828801613f21565b925050606085013561407f81613620565b939692955090935050565b6000806040838503121561409d57600080fd5b82359150602083013561396781613620565b600060e082840312156140c157600080fd5b6140c96134b8565b90506140d4826133bc565b815260208201356001600160401b03808211156140f057600080fd5b6140fc85838601613782565b60208401526040840135604084015261411760608501613cd0565b606084015261412860808501613cd0565b608084015261413960a08501613821565b60a084015260c084013591508082111561415257600080fd5b5061415f84828501613782565b60c08301525092915050565b6000806040838503121561417e57600080fd5b8235915060208301356001600160401b0381111561419b57600080fd5b61392f858286016140af565b6020815260006121df6020830184613996565b6000608082840312156141cc57600080fd5b6141d4613496565b9050813581526020820135602082015260408201356001600160401b03811115613f6d57600080fd5b6000806000806080858703121561421357600080fd5b843561421e816133a7565b9350602085013561422e81613afd565b925060408501356001600160401b0381111561424957600080fd5b61406e878288016141ba565b6000806040838503121561426857600080fd5b823561395781613adc565b60ff815116825260ff602082015116602083015260018060a01b036040820151166040830152606081015163ffffffff808216606085015280608084015116608085015250505050565b602081526142cf602082018351614273565b6000602083015160c080840152613a4560e0840182613996565b600080600080608085870312156142ff57600080fd5b843561430a816134da565b9350602085013561431a816134da565b9250604085013561432a816133a7565b9150606085013561407f816134da565b6000610100828403121561434d57600080fd5b60405160c081018181106001600160401b038211171561436f5761436f6133cc565b6040529050808235614380816133a7565b81526020830135614390816134da565b60208201526143a28460408501613513565b60408201526143b48460808501613513565b606082015260c08301356143c7816134da565b8060808301525060e083013560a08201525092915050565b60008061012083850312156143f357600080fd5b82356143fe816133a7565b9150613ad3846020850161433a565b60a081016111458284614273565b600060a0828403121561442d57600080fd5b60405160a081016001600160401b038282108183111715614450576144506133cc565b816040528293508435915061446482613adc565b908252602084013590614476826134fa565b816020840152604085013591508082111561449057600080fd5b5061449d85828601613782565b60408301525060608301356060820152608083013560808201525092915050565b600080604083850312156144d157600080fd5b82356144dc816133a7565b915060208301356001600160401b038111156144f757600080fd5b61392f8582860161441b565b60008060006060848603121561451857600080fd5b833561452381613adc565b925060208401356001600160401b0381111561453e57600080fd5b613a9486828701613e82565b60008060006060848603121561455f57600080fd5b833561456a81613620565b9250602084013561457a81613620565b9150604084013561367081613620565b6000806040838503121561459d57600080fd5b82356145a8816133a7565b915060208301356001600160401b038111156145c357600080fd5b61392f85828601613b18565b6000806000606084860312156145e457600080fd5b8335925060208401356001600160401b0381111561460157600080fd5b613a9486828701613cdb565b60008060006060848603121561462257600080fd5b833561462d816133a7565b9250602084013561457a81613afd565b60008060006060848603121561465257600080fd5b8335925060208401356001600160401b0381111561466f57600080fd5b613a94868287016140af565b60ff198116811461182857600080fd5b6000806040838503121561469e57600080fd5b82356146a981613620565b915060208301356139678161467b565b600080600061014084860312156146cf57600080fd5b83356146da816133a7565b92506146e9856020860161433a565b915061012084013561367081613620565b6000806040838503121561470d57600080fd5b8235614718816134da565b91506020830135613967816134da565b60008060006060848603121561473d57600080fd5b8335614748816133a7565b9250602084013561475881613afd565b915060408401356001600160401b0381111561477357600080fd5b613fef868287016141ba565b60008060006060848603121561479457600080fd5b833561479f816133a7565b925060208401356001600160401b038111156147ba57600080fd5b613a948682870161441b565b60008061016083850312156147da57600080fd5b82356147e5816133a7565b9150613ad3846020850161367b565b81516001600160601b031681526101e08101602083015161482060208401826001600160a01b03169052565b5060408301516040830152606083015161483e606084018215159052565b506080830151614852608084018215159052565b5060a083015161486660a084018215159052565b5060c083015160c083015260e083015160e0830152610100808401516148988285018280518252602090810151910152565b50506101208301516101406148b98185018380518252602090810151910152565b8401518051610180850152602001516101a0840152506101608301516001600160a01b0381166101c08401525b5092915050565b81516001600160a01b039081168252602080840151909116908201526040808301516001600160601b03169082015260608083015161014083019161493c908401826001600160601b03169052565b506080830151614959608084018280518252602090810151910152565b5060a0830151805160c0840152602081015160e08401525060c08301518015156101008401525060e08301516001600160a01b0381166101208401526148e6565b602081526149b46020820183516001600160601b03169052565b600060208301516149d2604084018280518252602090810151910152565b5060408301516101408060808501526149ef610160850183613996565b9150606085015160a0850152608085015160c085015260a085015160e085015260c0850151610100614a298187018364ffffffffff169052565b60e087015164ffffffffff811661012088015291505b9095015164ffffffffff1693019290925250919050565b600181811c90821680614a6a57607f821691505b602082108103614a8a57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614aa257600080fd5b81516121df816134fa565b600060208284031215614abf57600080fd5b81516121df816133a7565b60208152614ae46020820183516001600160601b03169052565b60006020830151614b0060408401826001600160601b03169052565b5060408301516001600160c01b0319811660608401525060608301516001600160c01b03198116608084015250608083015160a083015260a083015160c083015260c083015160e083015260e0830151610100614b658185018364ffffffffff169052565b808501519150506102006101208181860152614b85610220860184613996565b9250808601519050610140601f198685030181870152614ba58483613996565b935080870151915050610160614bc08187018361ffff169052565b8601519050610180614bd78682018361ffff169052565b8601516101a08681019190915286015190506101c0614bfe8187018364ffffffffff169052565b86015190506101e0614a3f8682018364ffffffffff169052565b600060208284031215614c2a57600080fd5b5051919050565b6020815260008251610120806020850152614c50610140850183613996565b91506020850151604085015260408501516060850152606085015160808501526080850151614c8760a086018263ffffffff169052565b5060a085015163ffffffff811660c08601525060c085015180151560e08601525060e0850151610100614cbd8187018315159052565b860151858403601f1901838701529050614cd78382613996565b9695505050505050565b601f821115610be557600081815260208120601f850160051c81016020861015614d085750805b601f850160051c820191505b8181101561252257828155600101614d14565b81516001600160401b03811115614d4057614d406133cc565b614d5481614d4e8454614a56565b84614ce1565b602080601f831160018114614d895760008415614d715750858301515b600019600386901b1c1916600185901b178555612522565b600085815260208120601f198616915b82811015614db857888601518255948401946001909101908401614d99565b5085821015614dd65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526001600160601b03825116602082015260006020830151604080840152613a456060840182613996565b6020815261ffff8251166020820152602082015160408201526000604083015160806060840152614e4860a0840182613996565b905064ffffffffff60608501511660808401528091505092915050565b600060208284031215614e7757600080fd5b81516121df816134da565b602081526001600160601b0382511660208201526000602083015160e06040840152614eb2610100840182613996565b90506040840151606084015263ffffffff60608501511660808401526080840151614ee560a085018263ffffffff169052565b5060a084015164ffffffffff811660c08501525060c0840151838203601f190160e0850152614f148282613996565b95945050505050565b6020815281516020820152602082015160408201526000604083015160806060840152614e4860a0840182613996565b81516001600160601b031681526020808301516001600160a01b039081168284015260408085015180519185019190915291820151606084015261010083019190606085015180516080860152602081015160a0860152915060808501511660c08401525060a09092015160e09091015290565b602081526001600160401b0360c01b82511660208201526020820151151560408201526000604083015160a06060840152614fff60c0840182613996565b905060608401516080840152608084015160a08401528091505092915050565b60006020828403121561503157600080fd5b81516121df81613620565b6000808585111561504c57600080fd5b8386111561505957600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561508e5780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b600082516150e8818460208701613972565b9190910192915050565b6000806040838503121561510557600080fd5b8251615110816134fa565b602084015190925061396781613cbe565b60006020828403121561513357600080fd5b81516121df8161467b565b60ff978816815260ff1996909616602087015293861660408601529190941660608401526001600160a01b03938416608084015290921660a082015263ffffffff9190911660c082015260e0019056fe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a264697066735822122056dafd0b4ccfe206ab75e005e11ac1ca6c1a49c34d886e1faa3807eebaeb1f0c64736f6c63430008140033",
|
3132
3026
|
"linkReferences": {
|
3133
3027
|
"contracts/types/Key32.sol": {
|
3134
3028
|
"Key32Lib": [
|
3135
3029
|
{
|
3136
3030
|
"length": 20,
|
3137
|
-
"start":
|
3031
|
+
"start": 10407
|
3138
3032
|
},
|
3139
3033
|
{
|
3140
3034
|
"length": 20,
|
3141
|
-
"start":
|
3035
|
+
"start": 12507
|
3142
3036
|
},
|
3143
3037
|
{
|
3144
3038
|
"length": 20,
|
3145
|
-
"start":
|
3039
|
+
"start": 12623
|
3146
3040
|
},
|
3147
3041
|
{
|
3148
3042
|
"length": 20,
|
3149
|
-
"start":
|
3043
|
+
"start": 12805
|
3150
3044
|
},
|
3151
3045
|
{
|
3152
3046
|
"length": 20,
|
3153
|
-
"start":
|
3047
|
+
"start": 12921
|
3154
3048
|
},
|
3155
3049
|
{
|
3156
3050
|
"length": 20,
|
3157
|
-
"start":
|
3051
|
+
"start": 13126
|
3158
3052
|
},
|
3159
3053
|
{
|
3160
3054
|
"length": 20,
|
3161
|
-
"start":
|
3055
|
+
"start": 13879
|
3162
3056
|
},
|
3163
3057
|
{
|
3164
3058
|
"length": 20,
|
3165
|
-
"start":
|
3059
|
+
"start": 13995
|
3166
3060
|
},
|
3167
3061
|
{
|
3168
3062
|
"length": 20,
|
3169
|
-
"start":
|
3063
|
+
"start": 14720
|
3170
3064
|
},
|
3171
3065
|
{
|
3172
3066
|
"length": 20,
|
3173
|
-
"start":
|
3174
|
-
}
|
3067
|
+
"start": 14836
|
3068
|
+
}
|
3069
|
+
]
|
3070
|
+
},
|
3071
|
+
"contracts/types/NftId.sol": {
|
3072
|
+
"NftIdLib": [
|
3175
3073
|
{
|
3176
3074
|
"length": 20,
|
3177
|
-
"start":
|
3075
|
+
"start": 5595
|
3178
3076
|
},
|
3179
3077
|
{
|
3180
3078
|
"length": 20,
|
3181
|
-
"start":
|
3079
|
+
"start": 6103
|
3182
3080
|
},
|
3183
3081
|
{
|
3184
3082
|
"length": 20,
|
3185
|
-
"start":
|
3083
|
+
"start": 6883
|
3186
3084
|
},
|
3187
3085
|
{
|
3188
3086
|
"length": 20,
|
3189
|
-
"start":
|
3190
|
-
}
|
3191
|
-
]
|
3192
|
-
},
|
3193
|
-
"contracts/types/NftId.sol": {
|
3194
|
-
"NftIdLib": [
|
3195
|
-
{
|
3196
|
-
"length": 20,
|
3197
|
-
"start": 10424
|
3087
|
+
"start": 7457
|
3198
3088
|
},
|
3199
3089
|
{
|
3200
3090
|
"length": 20,
|
3201
|
-
"start":
|
3091
|
+
"start": 8194
|
3202
3092
|
},
|
3203
3093
|
{
|
3204
3094
|
"length": 20,
|
3205
|
-
"start":
|
3095
|
+
"start": 8427
|
3206
3096
|
},
|
3207
3097
|
{
|
3208
3098
|
"length": 20,
|
3209
|
-
"start":
|
3099
|
+
"start": 9424
|
3210
3100
|
},
|
3211
3101
|
{
|
3212
3102
|
"length": 20,
|
3213
|
-
"start":
|
3103
|
+
"start": 11387
|
3214
3104
|
}
|
3215
3105
|
]
|
3216
3106
|
},
|
@@ -3218,11 +3108,7 @@
|
|
3218
3108
|
"ObjectTypeLib": [
|
3219
3109
|
{
|
3220
3110
|
"length": 20,
|
3221
|
-
"start":
|
3222
|
-
},
|
3223
|
-
{
|
3224
|
-
"length": 20,
|
3225
|
-
"start": 18699
|
3111
|
+
"start": 13247
|
3226
3112
|
}
|
3227
3113
|
]
|
3228
3114
|
},
|
@@ -3230,115 +3116,59 @@
|
|
3230
3116
|
"RiskIdLib": [
|
3231
3117
|
{
|
3232
3118
|
"length": 20,
|
3233
|
-
"start":
|
3119
|
+
"start": 6517
|
3234
3120
|
},
|
3235
3121
|
{
|
3236
3122
|
"length": 20,
|
3237
|
-
"start":
|
3123
|
+
"start": 8279
|
3238
3124
|
},
|
3239
3125
|
{
|
3240
3126
|
"length": 20,
|
3241
|
-
"start":
|
3127
|
+
"start": 9547
|
3242
3128
|
}
|
3243
3129
|
]
|
3244
3130
|
},
|
3245
|
-
"contracts/types/
|
3246
|
-
"
|
3247
|
-
{
|
3248
|
-
"length": 20,
|
3249
|
-
"start": 2209
|
3250
|
-
},
|
3251
|
-
{
|
3252
|
-
"length": 20,
|
3253
|
-
"start": 2380
|
3254
|
-
},
|
3255
|
-
{
|
3256
|
-
"length": 20,
|
3257
|
-
"start": 3632
|
3258
|
-
},
|
3259
|
-
{
|
3260
|
-
"length": 20,
|
3261
|
-
"start": 3957
|
3262
|
-
},
|
3131
|
+
"contracts/types/StateId.sol": {
|
3132
|
+
"StateIdLib": [
|
3263
3133
|
{
|
3264
3134
|
"length": 20,
|
3265
|
-
"start":
|
3135
|
+
"start": 6746
|
3266
3136
|
},
|
3267
3137
|
{
|
3268
3138
|
"length": 20,
|
3269
|
-
"start":
|
3139
|
+
"start": 9701
|
3270
3140
|
},
|
3271
3141
|
{
|
3272
3142
|
"length": 20,
|
3273
|
-
"start":
|
3143
|
+
"start": 10031
|
3274
3144
|
},
|
3275
3145
|
{
|
3276
3146
|
"length": 20,
|
3277
|
-
"start":
|
3147
|
+
"start": 11933
|
3278
3148
|
},
|
3279
3149
|
{
|
3280
3150
|
"length": 20,
|
3281
|
-
"start":
|
3151
|
+
"start": 12153
|
3282
3152
|
},
|
3283
3153
|
{
|
3284
3154
|
"length": 20,
|
3285
|
-
"start":
|
3155
|
+
"start": 13468
|
3286
3156
|
},
|
3287
3157
|
{
|
3288
3158
|
"length": 20,
|
3289
|
-
"start":
|
3159
|
+
"start": 14174
|
3290
3160
|
},
|
3291
3161
|
{
|
3292
3162
|
"length": 20,
|
3293
|
-
"start":
|
3163
|
+
"start": 14394
|
3294
3164
|
}
|
3295
3165
|
]
|
3296
3166
|
},
|
3297
|
-
"contracts/types/
|
3298
|
-
"
|
3299
|
-
{
|
3300
|
-
"length": 20,
|
3301
|
-
"start": 4158
|
3302
|
-
},
|
3303
|
-
{
|
3304
|
-
"length": 20,
|
3305
|
-
"start": 4908
|
3306
|
-
},
|
3307
|
-
{
|
3308
|
-
"length": 20,
|
3309
|
-
"start": 6025
|
3310
|
-
},
|
3311
|
-
{
|
3312
|
-
"length": 20,
|
3313
|
-
"start": 12016
|
3314
|
-
},
|
3315
|
-
{
|
3316
|
-
"length": 20,
|
3317
|
-
"start": 14886
|
3318
|
-
},
|
3319
|
-
{
|
3320
|
-
"length": 20,
|
3321
|
-
"start": 16140
|
3322
|
-
},
|
3323
|
-
{
|
3324
|
-
"length": 20,
|
3325
|
-
"start": 18916
|
3326
|
-
},
|
3327
|
-
{
|
3328
|
-
"length": 20,
|
3329
|
-
"start": 19635
|
3330
|
-
},
|
3331
|
-
{
|
3332
|
-
"length": 20,
|
3333
|
-
"start": 19855
|
3334
|
-
},
|
3335
|
-
{
|
3336
|
-
"length": 20,
|
3337
|
-
"start": 20455
|
3338
|
-
},
|
3167
|
+
"contracts/types/Version.sol": {
|
3168
|
+
"VersionPartLib": [
|
3339
3169
|
{
|
3340
3170
|
"length": 20,
|
3341
|
-
"start":
|
3171
|
+
"start": 10159
|
3342
3172
|
}
|
3343
3173
|
]
|
3344
3174
|
}
|
@@ -3348,47 +3178,43 @@
|
|
3348
3178
|
"Key32Lib": [
|
3349
3179
|
{
|
3350
3180
|
"length": 20,
|
3351
|
-
"start":
|
3352
|
-
},
|
3353
|
-
{
|
3354
|
-
"length": 20,
|
3355
|
-
"start": 9472
|
3181
|
+
"start": 8576
|
3356
3182
|
},
|
3357
3183
|
{
|
3358
3184
|
"length": 20,
|
3359
|
-
"start":
|
3185
|
+
"start": 10676
|
3360
3186
|
},
|
3361
3187
|
{
|
3362
3188
|
"length": 20,
|
3363
|
-
"start":
|
3189
|
+
"start": 10792
|
3364
3190
|
},
|
3365
3191
|
{
|
3366
3192
|
"length": 20,
|
3367
|
-
"start":
|
3193
|
+
"start": 10974
|
3368
3194
|
},
|
3369
3195
|
{
|
3370
3196
|
"length": 20,
|
3371
|
-
"start":
|
3197
|
+
"start": 11090
|
3372
3198
|
},
|
3373
3199
|
{
|
3374
3200
|
"length": 20,
|
3375
|
-
"start":
|
3201
|
+
"start": 11295
|
3376
3202
|
},
|
3377
3203
|
{
|
3378
3204
|
"length": 20,
|
3379
|
-
"start":
|
3205
|
+
"start": 12048
|
3380
3206
|
},
|
3381
3207
|
{
|
3382
3208
|
"length": 20,
|
3383
|
-
"start":
|
3209
|
+
"start": 12164
|
3384
3210
|
},
|
3385
3211
|
{
|
3386
3212
|
"length": 20,
|
3387
|
-
"start":
|
3213
|
+
"start": 12889
|
3388
3214
|
},
|
3389
3215
|
{
|
3390
3216
|
"length": 20,
|
3391
|
-
"start":
|
3217
|
+
"start": 13005
|
3392
3218
|
}
|
3393
3219
|
]
|
3394
3220
|
},
|
@@ -3396,23 +3222,35 @@
|
|
3396
3222
|
"NftIdLib": [
|
3397
3223
|
{
|
3398
3224
|
"length": 20,
|
3399
|
-
"start":
|
3225
|
+
"start": 3764
|
3226
|
+
},
|
3227
|
+
{
|
3228
|
+
"length": 20,
|
3229
|
+
"start": 4272
|
3400
3230
|
},
|
3401
3231
|
{
|
3402
3232
|
"length": 20,
|
3403
|
-
"start":
|
3233
|
+
"start": 5052
|
3404
3234
|
},
|
3405
3235
|
{
|
3406
3236
|
"length": 20,
|
3407
|
-
"start":
|
3237
|
+
"start": 5626
|
3408
3238
|
},
|
3409
3239
|
{
|
3410
3240
|
"length": 20,
|
3411
|
-
"start":
|
3241
|
+
"start": 6363
|
3412
3242
|
},
|
3413
3243
|
{
|
3414
3244
|
"length": 20,
|
3415
|
-
"start":
|
3245
|
+
"start": 6596
|
3246
|
+
},
|
3247
|
+
{
|
3248
|
+
"length": 20,
|
3249
|
+
"start": 7593
|
3250
|
+
},
|
3251
|
+
{
|
3252
|
+
"length": 20,
|
3253
|
+
"start": 9556
|
3416
3254
|
}
|
3417
3255
|
]
|
3418
3256
|
},
|
@@ -3420,7 +3258,7 @@
|
|
3420
3258
|
"ObjectTypeLib": [
|
3421
3259
|
{
|
3422
3260
|
"length": 20,
|
3423
|
-
"start":
|
3261
|
+
"start": 11416
|
3424
3262
|
}
|
3425
3263
|
]
|
3426
3264
|
},
|
@@ -3428,87 +3266,59 @@
|
|
3428
3266
|
"RiskIdLib": [
|
3429
3267
|
{
|
3430
3268
|
"length": 20,
|
3431
|
-
"start":
|
3269
|
+
"start": 4686
|
3432
3270
|
},
|
3433
3271
|
{
|
3434
3272
|
"length": 20,
|
3435
|
-
"start":
|
3273
|
+
"start": 6448
|
3436
3274
|
},
|
3437
3275
|
{
|
3438
3276
|
"length": 20,
|
3439
|
-
"start":
|
3277
|
+
"start": 7716
|
3440
3278
|
}
|
3441
3279
|
]
|
3442
3280
|
},
|
3443
|
-
"contracts/types/
|
3444
|
-
"
|
3281
|
+
"contracts/types/StateId.sol": {
|
3282
|
+
"StateIdLib": [
|
3445
3283
|
{
|
3446
3284
|
"length": 20,
|
3447
|
-
"start":
|
3285
|
+
"start": 4915
|
3448
3286
|
},
|
3449
3287
|
{
|
3450
3288
|
"length": 20,
|
3451
|
-
"start":
|
3289
|
+
"start": 7870
|
3452
3290
|
},
|
3453
3291
|
{
|
3454
3292
|
"length": 20,
|
3455
|
-
"start":
|
3293
|
+
"start": 8200
|
3456
3294
|
},
|
3457
3295
|
{
|
3458
3296
|
"length": 20,
|
3459
|
-
"start":
|
3297
|
+
"start": 10102
|
3460
3298
|
},
|
3461
3299
|
{
|
3462
3300
|
"length": 20,
|
3463
|
-
"start":
|
3301
|
+
"start": 10322
|
3464
3302
|
},
|
3465
3303
|
{
|
3466
3304
|
"length": 20,
|
3467
|
-
"start":
|
3305
|
+
"start": 11637
|
3468
3306
|
},
|
3469
3307
|
{
|
3470
3308
|
"length": 20,
|
3471
|
-
"start":
|
3309
|
+
"start": 12343
|
3472
3310
|
},
|
3473
3311
|
{
|
3474
3312
|
"length": 20,
|
3475
|
-
"start":
|
3313
|
+
"start": 12563
|
3476
3314
|
}
|
3477
3315
|
]
|
3478
3316
|
},
|
3479
|
-
"contracts/types/
|
3480
|
-
"
|
3481
|
-
{
|
3482
|
-
"length": 20,
|
3483
|
-
"start": 5048
|
3484
|
-
},
|
3485
|
-
{
|
3486
|
-
"length": 20,
|
3487
|
-
"start": 7918
|
3488
|
-
},
|
3489
|
-
{
|
3490
|
-
"length": 20,
|
3491
|
-
"start": 9172
|
3492
|
-
},
|
3493
|
-
{
|
3494
|
-
"length": 20,
|
3495
|
-
"start": 11948
|
3496
|
-
},
|
3497
|
-
{
|
3498
|
-
"length": 20,
|
3499
|
-
"start": 12667
|
3500
|
-
},
|
3501
|
-
{
|
3502
|
-
"length": 20,
|
3503
|
-
"start": 12887
|
3504
|
-
},
|
3505
|
-
{
|
3506
|
-
"length": 20,
|
3507
|
-
"start": 13487
|
3508
|
-
},
|
3317
|
+
"contracts/types/Version.sol": {
|
3318
|
+
"VersionPartLib": [
|
3509
3319
|
{
|
3510
3320
|
"length": 20,
|
3511
|
-
"start":
|
3321
|
+
"start": 8328
|
3512
3322
|
}
|
3513
3323
|
]
|
3514
3324
|
}
|