@etherisc/gif-next 0.0.2-d679de9-140 → 0.0.2-d67ce7f-686
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +306 -21
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/{instance/module/access → authorization}/IAccess.sol/IAccess.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1518 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1196 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1557 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +854 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +943 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +945 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +280 -1494
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +757 -0
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +473 -1725
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1674 -0
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1160 -0
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +734 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3469 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
- package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1155 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +802 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1055 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1432 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1534 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +842 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +927 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +946 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1213 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.json +1218 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1652 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +774 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1280 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1339 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +826 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +256 -221
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +788 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +816 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +549 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +985 -0
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IProductService.sol/IProductService.json} +207 -171
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1351 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +802 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +1017 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/product/Product.sol/Product.json +1238 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +199 -12
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +655 -50
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +940 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +52 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +885 -99
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1452 -0
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +721 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/shared/Component.sol/Component.json +858 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1712 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +820 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +539 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +631 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +737 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +104 -141
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
- package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → shared/INftOwnable.sol/INftOwnable.json} +37 -80
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +91 -31
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/IService.sol/IService.json} +163 -143
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +73 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +977 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +244 -0
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +255 -23
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
- package/artifacts/contracts/shared/Service.sol/Service.json +507 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +197 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +470 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1991 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +773 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +576 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +374 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +222 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +92 -0
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +535 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
- package/contracts/authorization/AccessAdmin.sol +591 -0
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +218 -0
- package/contracts/authorization/IAccess.sol +48 -0
- package/contracts/authorization/IAccessAdmin.sol +136 -0
- package/contracts/authorization/IAuthorization.sol +54 -0
- package/contracts/authorization/IModuleAuthorization.sol +21 -0
- package/contracts/authorization/IServiceAuthorization.sol +38 -0
- package/contracts/authorization/ModuleAuthorization.sol +78 -0
- package/contracts/authorization/ServiceAuthorization.sol +90 -0
- package/contracts/distribution/BasicDistribution.sol +138 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
- package/contracts/distribution/Distribution.sol +295 -0
- package/contracts/distribution/DistributionService.sol +336 -0
- package/contracts/distribution/DistributionServiceManager.sol +39 -0
- package/contracts/distribution/IDistributionComponent.sol +52 -0
- package/contracts/distribution/IDistributionService.sol +97 -0
- package/contracts/instance/BundleSet.sol +126 -0
- package/contracts/instance/IInstance.sol +78 -44
- package/contracts/instance/IInstanceService.sol +92 -0
- package/contracts/instance/Instance.sol +238 -52
- package/contracts/instance/InstanceAdmin.sol +266 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
- package/contracts/instance/InstanceReader.sol +405 -0
- package/contracts/instance/InstanceService.sol +443 -0
- package/contracts/instance/InstanceServiceManager.sol +40 -0
- package/contracts/instance/InstanceStore.sol +277 -0
- package/contracts/instance/base/BalanceStore.sol +123 -0
- package/contracts/instance/base/Cloneable.sol +28 -0
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/base/ObjectLifecycle.sol +104 -0
- package/contracts/instance/base/ObjectSet.sol +79 -0
- package/contracts/instance/module/IAccess.sol +46 -0
- package/contracts/instance/module/IBundle.sol +20 -0
- package/contracts/instance/module/IComponents.sol +47 -0
- package/contracts/instance/module/IDistribution.sol +41 -0
- package/contracts/instance/module/IPolicy.sol +84 -0
- package/contracts/instance/module/IRisk.sol +11 -0
- package/contracts/{test/TestToken.sol → mock/Dip.sol} +6 -6
- package/contracts/oracle/BasicOracle.sol +48 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
- package/contracts/oracle/IOracle.sol +36 -0
- package/contracts/oracle/IOracleComponent.sol +33 -0
- package/contracts/oracle/IOracleService.sol +65 -0
- package/contracts/oracle/Oracle.sol +166 -0
- package/contracts/oracle/OracleService.sol +278 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +166 -0
- package/contracts/pool/BasicPoolAuthorization.sol +58 -0
- package/contracts/pool/BundleService.sol +437 -0
- package/contracts/pool/BundleServiceManager.sol +39 -0
- package/contracts/pool/IBundleService.sol +133 -0
- package/contracts/pool/IPoolComponent.sol +58 -0
- package/contracts/pool/IPoolService.sol +149 -0
- package/contracts/pool/Pool.sol +328 -0
- package/contracts/pool/PoolService.sol +525 -0
- package/contracts/pool/PoolServiceManager.sol +39 -0
- package/contracts/product/ApplicationService.sol +230 -0
- package/contracts/product/ApplicationServiceManager.sol +38 -0
- package/contracts/product/BasicProduct.sol +52 -0
- package/contracts/product/BasicProductAuthorization.sol +43 -0
- package/contracts/product/ClaimService.sol +424 -0
- package/contracts/product/ClaimServiceManager.sol +38 -0
- package/contracts/product/IApplicationService.sol +62 -0
- package/contracts/product/IClaimService.sol +100 -0
- package/contracts/product/IPolicyService.sol +85 -0
- package/contracts/product/IPricingService.sol +39 -0
- package/contracts/product/IProductComponent.sol +40 -0
- package/contracts/product/IProductService.sol +33 -0
- package/contracts/product/PolicyService.sol +542 -0
- package/contracts/product/PolicyServiceManager.sol +39 -0
- package/contracts/product/PricingService.sol +300 -0
- package/contracts/product/PricingServiceManager.sol +39 -0
- package/contracts/product/Product.sol +411 -0
- package/contracts/product/ProductService.sol +99 -0
- package/contracts/product/ProductServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +95 -37
- package/contracts/registry/IRegistry.sol +106 -29
- package/contracts/registry/IRegistryService.sol +69 -0
- package/contracts/registry/ITransferInterceptor.sol +7 -0
- package/contracts/registry/Registry.sol +475 -280
- package/contracts/registry/RegistryAdmin.sol +365 -0
- package/contracts/registry/RegistryService.sol +252 -0
- package/contracts/registry/RegistryServiceManager.sol +53 -0
- package/contracts/registry/ReleaseLifecycle.sol +27 -0
- package/contracts/registry/ReleaseRegistry.sol +485 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/registry/TokenRegistry.sol +315 -0
- package/contracts/shared/Component.sol +281 -0
- package/contracts/shared/ComponentService.sol +650 -0
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +117 -0
- package/contracts/shared/IComponent.sol +71 -0
- package/contracts/shared/IComponentService.sol +108 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +56 -0
- package/contracts/shared/IKeyValueStore.sol +54 -0
- package/contracts/{instance/base → shared}/ILifecycle.sol +4 -5
- package/contracts/shared/INftOwnable.sol +23 -0
- package/contracts/shared/IPolicyHolder.sol +45 -0
- package/contracts/shared/IRegisterable.sol +10 -19
- package/contracts/shared/IRegistryLinked.sol +11 -0
- package/contracts/shared/IService.sol +25 -0
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/InitializableERC165.sol +27 -0
- package/contracts/shared/InstanceLinkedComponent.sol +172 -0
- package/contracts/shared/KeyValueStore.sol +131 -0
- package/contracts/shared/Lifecycle.sol +77 -0
- package/contracts/shared/NftIdSet.sol +65 -0
- package/contracts/shared/NftOwnable.sol +107 -0
- package/contracts/shared/PolicyHolder.sol +99 -0
- package/contracts/shared/Registerable.sol +54 -65
- package/contracts/shared/RegistryLinked.sol +43 -0
- package/contracts/shared/Service.sol +82 -0
- package/contracts/shared/TokenHandler.sol +62 -0
- package/contracts/staking/IStaking.sol +167 -0
- package/contracts/staking/IStakingService.sol +160 -0
- package/contracts/staking/StakeManagerLib.sol +231 -0
- package/contracts/staking/Staking.sol +516 -0
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +50 -0
- package/contracts/staking/StakingReader.sol +183 -0
- package/contracts/staking/StakingService.sol +407 -0
- package/contracts/staking/StakingServiceManager.sol +44 -0
- package/contracts/staking/StakingStore.sol +605 -0
- package/contracts/staking/TargetManagerLib.sol +207 -0
- package/contracts/{types → type}/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +135 -0
- package/contracts/{types → type}/Blocknumber.sol +27 -3
- package/contracts/type/ClaimId.sol +75 -0
- package/contracts/type/DistributorType.sol +55 -0
- package/contracts/type/Fee.sol +66 -0
- package/contracts/{types → type}/Key32.sol +8 -3
- package/contracts/{types → type}/NftId.sol +21 -15
- package/contracts/type/NftIdSet.sol +62 -0
- package/contracts/type/ObjectType.sol +271 -0
- package/contracts/type/PayoutId.sol +82 -0
- package/contracts/type/Referral.sol +90 -0
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +43 -0
- package/contracts/type/RoleId.sol +174 -0
- package/contracts/type/Seconds.sol +93 -0
- package/contracts/type/Selector.sol +102 -0
- package/contracts/{types → type}/StateId.sol +39 -5
- package/contracts/type/String.sol +53 -0
- package/contracts/{types → type}/Timestamp.sol +38 -15
- package/contracts/type/UFixed.sol +351 -0
- package/contracts/{types → type}/Version.sol +17 -2
- package/contracts/upgradeability/IVersionable.sol +53 -0
- package/contracts/upgradeability/ProxyManager.sol +198 -0
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +14 -0
- package/contracts/upgradeability/Versionable.sol +59 -0
- package/package.json +14 -7
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -356
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -279
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.json +0 -387
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.json +0 -305
- 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/IB.sol/IB.json +0 -50
- 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/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/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
- package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -63
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -300
- package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -692
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
- package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +0 -300
- package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
- package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -296
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -296
- package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +0 -10
- package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +0 -4
- package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +0 -10
- package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +0 -10
- package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -188
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -188
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -261
- package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -261
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -149
- package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -149
- package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
- package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -10
- package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -10
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -533
- package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
- package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -533
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -491
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -376
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -471
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -673
- package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
- package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
- package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
- package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
- package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -164
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -164
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
- package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
- package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -387
- package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
- package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -393
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -82
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
- package/artifacts/contracts/test/TestService.sol/TestService.json +0 -379
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -206
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -218
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
- package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -139
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
- package/contracts/components/BaseComponent.sol +0 -88
- package/contracts/components/IBaseComponent.sol +0 -19
- package/contracts/components/IPoolComponent.sol +0 -57
- package/contracts/components/IProductComponent.sol +0 -19
- package/contracts/components/Pool.sol +0 -174
- package/contracts/components/Product.sol +0 -117
- 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/README.md +0 -112
- 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/IInstanceLinked.sol +0 -8
- package/contracts/instance/base/ComponentServiceBase.sol +0 -42
- package/contracts/instance/base/IInstanceBase.sol +0 -14
- package/contracts/instance/base/IKeyValueStore.sol +0 -49
- package/contracts/instance/base/IService.sol +0 -15
- package/contracts/instance/base/InstanceBase.sol +0 -80
- package/contracts/instance/base/KeyValueStore.sol +0 -156
- package/contracts/instance/base/Lifecycle.sol +0 -95
- package/contracts/instance/base/ModuleBase.sol +0 -52
- package/contracts/instance/base/ServiceBase.sol +0 -37
- package/contracts/instance/module/access/Access.sol +0 -149
- package/contracts/instance/module/access/IAccess.sol +0 -53
- package/contracts/instance/module/bundle/BundleModule.sol +0 -136
- package/contracts/instance/module/bundle/IBundle.sol +0 -58
- package/contracts/instance/module/compensation/CompensationModule.sol +0 -8
- package/contracts/instance/module/compensation/ICompensation.sol +0 -10
- package/contracts/instance/module/component/ComponentModule.sol +0 -95
- package/contracts/instance/module/component/IComponent.sol +0 -53
- package/contracts/instance/module/policy/IPolicy.sol +0 -60
- package/contracts/instance/module/policy/PolicyModule.sol +0 -76
- package/contracts/instance/module/pool/IPoolModule.sol +0 -41
- package/contracts/instance/module/pool/PoolModule.sol +0 -87
- package/contracts/instance/module/risk/IRisk.sol +0 -10
- package/contracts/instance/module/risk/RiskModule.sol +0 -8
- package/contracts/instance/module/treasury/ITreasury.sol +0 -103
- package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
- package/contracts/instance/module/treasury/TreasuryModule.sol +0 -152
- package/contracts/instance/service/ComponentOwnerService.sol +0 -170
- package/contracts/instance/service/IComponentOwnerService.sol +0 -22
- package/contracts/instance/service/IPoolService.sol +0 -30
- package/contracts/instance/service/IProductService.sol +0 -58
- package/contracts/instance/service/PoolService.sol +0 -123
- package/contracts/instance/service/ProductService.sol +0 -354
- package/contracts/registry/IChainNft.sol +0 -21
- package/contracts/registry/IRegistryLinked.sol +0 -8
- package/contracts/shared/ERC165.sol +0 -21
- package/contracts/shared/IOwnable.sol +0 -6
- package/contracts/shared/IVersionable.sol +0 -52
- package/contracts/shared/Versionable.sol +0 -89
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestPool.sol +0 -22
- package/contracts/test/TestProduct.sol +0 -44
- package/contracts/test/TestRegisterable.sol +0 -19
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -32
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/Fee.sol +0 -51
- package/contracts/types/NftIdSet.sol +0 -60
- package/contracts/types/ObjectType.sol +0 -115
- package/contracts/types/RoleId.sol +0 -36
- package/contracts/types/UFixed.sol +0 -210
@@ -14,6 +14,156 @@
|
|
14
14
|
"stateMutability": "nonpayable",
|
15
15
|
"type": "constructor"
|
16
16
|
},
|
17
|
+
{
|
18
|
+
"inputs": [
|
19
|
+
{
|
20
|
+
"internalType": "address",
|
21
|
+
"name": "caller",
|
22
|
+
"type": "address"
|
23
|
+
}
|
24
|
+
],
|
25
|
+
"name": "CallerNotRegistry",
|
26
|
+
"type": "error"
|
27
|
+
},
|
28
|
+
{
|
29
|
+
"inputs": [],
|
30
|
+
"name": "ERC721EnumerableForbiddenBatchMint",
|
31
|
+
"type": "error"
|
32
|
+
},
|
33
|
+
{
|
34
|
+
"inputs": [
|
35
|
+
{
|
36
|
+
"internalType": "address",
|
37
|
+
"name": "sender",
|
38
|
+
"type": "address"
|
39
|
+
},
|
40
|
+
{
|
41
|
+
"internalType": "uint256",
|
42
|
+
"name": "tokenId",
|
43
|
+
"type": "uint256"
|
44
|
+
},
|
45
|
+
{
|
46
|
+
"internalType": "address",
|
47
|
+
"name": "owner",
|
48
|
+
"type": "address"
|
49
|
+
}
|
50
|
+
],
|
51
|
+
"name": "ERC721IncorrectOwner",
|
52
|
+
"type": "error"
|
53
|
+
},
|
54
|
+
{
|
55
|
+
"inputs": [
|
56
|
+
{
|
57
|
+
"internalType": "address",
|
58
|
+
"name": "operator",
|
59
|
+
"type": "address"
|
60
|
+
},
|
61
|
+
{
|
62
|
+
"internalType": "uint256",
|
63
|
+
"name": "tokenId",
|
64
|
+
"type": "uint256"
|
65
|
+
}
|
66
|
+
],
|
67
|
+
"name": "ERC721InsufficientApproval",
|
68
|
+
"type": "error"
|
69
|
+
},
|
70
|
+
{
|
71
|
+
"inputs": [
|
72
|
+
{
|
73
|
+
"internalType": "address",
|
74
|
+
"name": "approver",
|
75
|
+
"type": "address"
|
76
|
+
}
|
77
|
+
],
|
78
|
+
"name": "ERC721InvalidApprover",
|
79
|
+
"type": "error"
|
80
|
+
},
|
81
|
+
{
|
82
|
+
"inputs": [
|
83
|
+
{
|
84
|
+
"internalType": "address",
|
85
|
+
"name": "operator",
|
86
|
+
"type": "address"
|
87
|
+
}
|
88
|
+
],
|
89
|
+
"name": "ERC721InvalidOperator",
|
90
|
+
"type": "error"
|
91
|
+
},
|
92
|
+
{
|
93
|
+
"inputs": [
|
94
|
+
{
|
95
|
+
"internalType": "address",
|
96
|
+
"name": "owner",
|
97
|
+
"type": "address"
|
98
|
+
}
|
99
|
+
],
|
100
|
+
"name": "ERC721InvalidOwner",
|
101
|
+
"type": "error"
|
102
|
+
},
|
103
|
+
{
|
104
|
+
"inputs": [
|
105
|
+
{
|
106
|
+
"internalType": "address",
|
107
|
+
"name": "receiver",
|
108
|
+
"type": "address"
|
109
|
+
}
|
110
|
+
],
|
111
|
+
"name": "ERC721InvalidReceiver",
|
112
|
+
"type": "error"
|
113
|
+
},
|
114
|
+
{
|
115
|
+
"inputs": [
|
116
|
+
{
|
117
|
+
"internalType": "address",
|
118
|
+
"name": "sender",
|
119
|
+
"type": "address"
|
120
|
+
}
|
121
|
+
],
|
122
|
+
"name": "ERC721InvalidSender",
|
123
|
+
"type": "error"
|
124
|
+
},
|
125
|
+
{
|
126
|
+
"inputs": [
|
127
|
+
{
|
128
|
+
"internalType": "uint256",
|
129
|
+
"name": "tokenId",
|
130
|
+
"type": "uint256"
|
131
|
+
}
|
132
|
+
],
|
133
|
+
"name": "ERC721NonexistentToken",
|
134
|
+
"type": "error"
|
135
|
+
},
|
136
|
+
{
|
137
|
+
"inputs": [
|
138
|
+
{
|
139
|
+
"internalType": "address",
|
140
|
+
"name": "owner",
|
141
|
+
"type": "address"
|
142
|
+
},
|
143
|
+
{
|
144
|
+
"internalType": "uint256",
|
145
|
+
"name": "index",
|
146
|
+
"type": "uint256"
|
147
|
+
}
|
148
|
+
],
|
149
|
+
"name": "ERC721OutOfBoundsIndex",
|
150
|
+
"type": "error"
|
151
|
+
},
|
152
|
+
{
|
153
|
+
"inputs": [],
|
154
|
+
"name": "NftUriAlreadySet",
|
155
|
+
"type": "error"
|
156
|
+
},
|
157
|
+
{
|
158
|
+
"inputs": [],
|
159
|
+
"name": "NftUriEmpty",
|
160
|
+
"type": "error"
|
161
|
+
},
|
162
|
+
{
|
163
|
+
"inputs": [],
|
164
|
+
"name": "RegistryAddressZero",
|
165
|
+
"type": "error"
|
166
|
+
},
|
17
167
|
{
|
18
168
|
"anonymous": false,
|
19
169
|
"inputs": [
|
@@ -248,6 +398,38 @@
|
|
248
398
|
"stateMutability": "view",
|
249
399
|
"type": "function"
|
250
400
|
},
|
401
|
+
{
|
402
|
+
"inputs": [
|
403
|
+
{
|
404
|
+
"internalType": "uint256",
|
405
|
+
"name": "tokenId",
|
406
|
+
"type": "uint256"
|
407
|
+
}
|
408
|
+
],
|
409
|
+
"name": "getInterceptor",
|
410
|
+
"outputs": [
|
411
|
+
{
|
412
|
+
"internalType": "address",
|
413
|
+
"name": "",
|
414
|
+
"type": "address"
|
415
|
+
}
|
416
|
+
],
|
417
|
+
"stateMutability": "view",
|
418
|
+
"type": "function"
|
419
|
+
},
|
420
|
+
{
|
421
|
+
"inputs": [],
|
422
|
+
"name": "getNextTokenId",
|
423
|
+
"outputs": [
|
424
|
+
{
|
425
|
+
"internalType": "uint256",
|
426
|
+
"name": "",
|
427
|
+
"type": "uint256"
|
428
|
+
}
|
429
|
+
],
|
430
|
+
"stateMutability": "view",
|
431
|
+
"type": "function"
|
432
|
+
},
|
251
433
|
{
|
252
434
|
"inputs": [],
|
253
435
|
"name": "getRegistryAddress",
|
@@ -292,14 +474,25 @@
|
|
292
474
|
"name": "to",
|
293
475
|
"type": "address"
|
294
476
|
},
|
477
|
+
{
|
478
|
+
"internalType": "address",
|
479
|
+
"name": "interceptor",
|
480
|
+
"type": "address"
|
481
|
+
},
|
482
|
+
{
|
483
|
+
"internalType": "string",
|
484
|
+
"name": "uri",
|
485
|
+
"type": "string"
|
486
|
+
}
|
487
|
+
],
|
488
|
+
"name": "mint",
|
489
|
+
"outputs": [
|
295
490
|
{
|
296
491
|
"internalType": "uint256",
|
297
492
|
"name": "tokenId",
|
298
493
|
"type": "uint256"
|
299
494
|
}
|
300
495
|
],
|
301
|
-
"name": "mint",
|
302
|
-
"outputs": [],
|
303
496
|
"stateMutability": "nonpayable",
|
304
497
|
"type": "function"
|
305
498
|
},
|
@@ -310,20 +503,14 @@
|
|
310
503
|
"name": "to",
|
311
504
|
"type": "address"
|
312
505
|
},
|
313
|
-
{
|
314
|
-
"internalType": "string",
|
315
|
-
"name": "uri",
|
316
|
-
"type": "string"
|
317
|
-
}
|
318
|
-
],
|
319
|
-
"name": "mint",
|
320
|
-
"outputs": [
|
321
506
|
{
|
322
507
|
"internalType": "uint256",
|
323
508
|
"name": "tokenId",
|
324
509
|
"type": "uint256"
|
325
510
|
}
|
326
511
|
],
|
512
|
+
"name": "mint",
|
513
|
+
"outputs": [],
|
327
514
|
"stateMutability": "nonpayable",
|
328
515
|
"type": "function"
|
329
516
|
},
|
@@ -590,8 +777,8 @@
|
|
590
777
|
"type": "function"
|
591
778
|
}
|
592
779
|
],
|
593
|
-
"bytecode": "0x60806040523480156200001157600080fd5b506040516200429038038062004290833981810160405281019062000037919062000248565b60405180606001604052806029815260200162004267602991396040518060400160405280600481526020017f44495052000000000000000000000000000000000000000000000000000000008152508160009081620000989190620004f4565b508060019081620000aa9190620004f4565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200011f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000116906200063c565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555046600c819055506200017a600c54620001a660201b60201c565b600d81905550600d54600a620001919190620007e1565b600e819055506003600f8190555050620008e6565b60005b60008214620001d9578080620001bf9062000832565b915050600a82620001d19190620008ae565b9150620001a9565b919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200021082620001e3565b9050919050565b620002228162000203565b81146200022e57600080fd5b50565b600081519050620002428162000217565b92915050565b600060208284031215620002615762000260620001de565b5b6000620002718482850162000231565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002fc57607f821691505b602082108103620003125762000311620002b4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200037c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200033d565b6200038886836200033d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003d5620003cf620003c984620003a0565b620003aa565b620003a0565b9050919050565b6000819050919050565b620003f183620003b4565b620004096200040082620003dc565b8484546200034a565b825550505050565b600090565b6200042062000411565b6200042d818484620003e6565b505050565b5b8181101562000455576200044960008262000416565b60018101905062000433565b5050565b601f821115620004a4576200046e8162000318565b62000479846200032d565b8101602085101562000489578190505b620004a162000498856200032d565b83018262000432565b50505b505050565b600082821c905092915050565b6000620004c960001984600802620004a9565b1980831691505092915050565b6000620004e48383620004b6565b9150826002028217905092915050565b620004ff826200027a565b67ffffffffffffffff8111156200051b576200051a62000285565b5b620005278254620002e3565b6200053482828562000459565b600060209050601f8311600181146200056c576000841562000557578287015190505b620005638582620004d6565b865550620005d3565b601f1984166200057c8662000318565b60005b82811015620005a6578489015182556001820191506020850194506020810190506200057f565b86831015620005c65784890151620005c2601f891682620004b6565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f4552524f523a4e46542d3031303a52454749535452595f5a45524f0000000000600082015250565b600062000624601b83620005db565b91506200063182620005ec565b602082019050919050565b60006020820190508181036000830152620006578162000615565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620006ec57808604811115620006c457620006c36200065e565b5b6001851615620006d45780820291505b8081029050620006e4856200068d565b9450620006a4565b94509492505050565b600082620007075760019050620007da565b81620007175760009050620007da565b81600181146200073057600281146200073b5762000771565b6001915050620007da565b60ff84111562000750576200074f6200065e565b5b8360020a9150848211156200076a57620007696200065e565b5b50620007da565b5060208310610133831016604e8410600b8410161715620007ab5782820a905083811115620007a557620007a46200065e565b5b620007da565b620007ba84848460016200069a565b92509050818404811115620007d457620007d36200065e565b5b81810290505b9392505050565b6000620007ee82620003a0565b9150620007fb83620003a0565b92506200082a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006f5565b905092915050565b60006200083f82620003a0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036200087457620008736200065e565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620008bb82620003a0565b9150620008c883620003a0565b925082620008db57620008da6200087f565b5b828204905092915050565b61397180620008f66000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063598e2892116100f9578063a3f4df7e11610097578063d0def52111610071578063d0def5211461052b578063e985e9c51461055b578063f21de1e81461058b578063f76f8d78146105a9576101c4565b8063a3f4df7e146104c1578063b88d4fde146104df578063c87b56dd146104fb576101c4565b8063862440e2116100d3578063862440e21461044d57806395d89b4114610469578063a22cb46514610487578063a2309ff8146104a3576101c4565b8063598e2892146103cf5780636352211e146103ed57806370a082311461041d576101c4565b80632e85b1f31161016657806342842e0e1161014057806342842e0e1461033757806342966c68146103535780634f558e791461036f5780634f6ccce71461039f576101c4565b80632e85b1f3146102cd5780632f745c59146102eb57806340c10f191461031b576101c4565b8063081812fc116101a2578063081812fc14610247578063095ea7b31461027757806318160ddd1461029357806323b872dd146102b1576101c4565b806301ffc9a7146101c95780630559ea47146101f957806306fdde0314610229575b600080fd5b6101e360048036038101906101de91906124c9565b6105c7565b6040516101f09190612511565b60405180910390f35b610213600480360381019061020e9190612562565b610641565b604051610220919061259e565b60405180910390f35b61023161067e565b60405161023e9190612649565b60405180910390f35b610261600480360381019061025c9190612562565b610710565b60405161026e91906126ac565b60405180910390f35b610291600480360381019061028c91906126f3565b610756565b005b61029b61086d565b6040516102a8919061259e565b60405180910390f35b6102cb60048036038101906102c69190612733565b61087a565b005b6102d56108da565b6040516102e2919061259e565b60405180910390f35b610305600480360381019061030091906126f3565b6108e0565b604051610312919061259e565b60405180910390f35b610335600480360381019061033091906126f3565b610985565b005b610351600480360381019061034c9190612733565b610a3b565b005b61036d60048036038101906103689190612562565b610a5b565b005b61038960048036038101906103849190612562565b610b1f565b6040516103969190612511565b60405180910390f35b6103b960048036038101906103b49190612562565b610b31565b6040516103c6919061259e565b60405180910390f35b6103d7610ba2565b6040516103e4919061259e565b60405180910390f35b61040760048036038101906104029190612562565b610ba8565b60405161041491906126ac565b60405180910390f35b61043760048036038101906104329190612786565b610c2e565b604051610444919061259e565b60405180910390f35b610467600480360381019061046291906128e8565b610ce5565b005b610471610de7565b60405161047e9190612649565b60405180910390f35b6104a1600480360381019061049c9190612970565b610e79565b005b6104ab610e8f565b6040516104b8919061259e565b60405180910390f35b6104c9610e99565b6040516104d69190612649565b60405180910390f35b6104f960048036038101906104f49190612a51565b610eb5565b005b61051560048036038101906105109190612562565b610f17565b6040516105229190612649565b60405180910390f35b61054560048036038101906105409190612ad4565b610fc5565b604051610552919061259e565b60405180910390f35b61057560048036038101906105709190612b30565b6110b5565b6040516105829190612511565b60405180910390f35b610593611149565b6040516105a091906126ac565b60405180910390f35b6105b1611173565b6040516105be9190612649565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061063a5750610639826111ac565b5b9050919050565b6000600d546064600c54600e54856106599190612b9f565b6106639190612be1565b61066d9190612b9f565b6106779190612be1565b9050919050565b60606000805461068d90612c44565b80601f01602080910402602001604051908101604052809291908181526020018280546106b990612c44565b80156107065780601f106106db57610100808354040283529160200191610706565b820191906000526020600020905b8154815290600101906020018083116106e957829003601f168201915b5050505050905090565b600061071b8261128e565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061076182610ba8565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c890612ce7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107f06112d9565b73ffffffffffffffffffffffffffffffffffffffff16148061081f575061081e816108196112d9565b6110b5565b5b61085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590612d79565b60405180910390fd5b61086883836112e1565b505050565b6000600880549050905090565b61088b6108856112d9565b8261139a565b6108ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c190612e0b565b60405180910390fd5b6108d583838361142f565b505050565b61083581565b60006108eb83610c2e565b821061092c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092390612e9d565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0c90612f2f565b60405180910390fd5b60106000815480929190610a2890612f4f565b9190505550610a378282611728565b5050565b610a5683838360405180602001604052806000815250610eb5565b505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae290612f2f565b60405180910390fd5b610af48161128e565b610afd81611746565b600a60008281526020019081526020016000206000610b1c9190612400565b50565b6000610b2a82611894565b9050919050565b6000610b3b61086d565b8210610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7390613009565b60405180910390fd5b60088281548110610b9057610b8f613029565b5b90600052602060002001549050919050565b61044d81565b600080610bb4836118d5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1c906130a4565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9590613136565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6c90612f2f565b60405180910390fd5b6000815111610db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db0906131a2565b60405180910390fd5b610dc28261128e565b80600a60008481526020019081526020016000209081610de2919061336e565b505050565b606060018054610df690612c44565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2290612c44565b8015610e6f5780601f10610e4457610100808354040283529160200191610e6f565b820191906000526020600020905b815481529060010190602001808311610e5257829003601f168201915b5050505050905090565b610e8b610e846112d9565b8383611912565b5050565b6000601054905090565b6040518060600160405280602981526020016139136029913981565b610ec6610ec06112d9565b8361139a565b610f05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efc90612e0b565b60405180910390fd5b610f1184848484611a7e565b50505050565b6060610f228261128e565b600a60008381526020019081526020016000208054610f4090612c44565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6c90612c44565b8015610fb95780601f10610f8e57610100808354040283529160200191610fb9565b820191906000526020600020905b815481529060010190602001808311610f9c57829003601f168201915b50505050509050919050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104e90612f2f565b60405180910390fd5b61105f611ada565b905060008251111561108d5781600a6000838152602001908152602001600020908161108b919061336e565b505b6110978382611728565b601060008154809291906110aa90612f4f565b919050555092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600481526020017f444950520000000000000000000000000000000000000000000000000000000081525081565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061127757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611287575061128682611b04565b5b9050919050565b61129781611894565b6112d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cd906130a4565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661135483610ba8565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806113a683610ba8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806113e857506113e781856110b5565b5b8061142657508373ffffffffffffffffffffffffffffffffffffffff1661140e84610710565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661144f82610ba8565b73ffffffffffffffffffffffffffffffffffffffff16146114a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149c906134b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150b90613544565b60405180910390fd5b6115218383836001611b6e565b8273ffffffffffffffffffffffffffffffffffffffff1661154182610ba8565b73ffffffffffffffffffffffffffffffffffffffff1614611597576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158e906134b2565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46117238383836001611ccc565b505050565b611742828260405180602001604052806000815250611cd2565b5050565b600061175182610ba8565b9050611761816000846001611b6e565b61176a82610ba8565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611890816000846001611ccc565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff166118b6836118d5565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611980576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611977906135b0565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611a719190612511565b60405180910390a3505050565b611a8984848461142f565b611a9584848484611d2d565b611ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acb90613642565b60405180910390fd5b50505050565b6000611ae7600f54610641565b9050600f6000815480929190611afc90612f4f565b919050555090565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611b7a84848484611eb4565b6001811115611bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb5906136d4565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611c0557611c0081611eba565b611c44565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611c4357611c428582611f03565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611c8657611c8181612070565b611cc5565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611cc457611cc38482612141565b5b5b5050505050565b50505050565b611cdc83836121c0565b611ce96000848484611d2d565b611d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1f90613642565b60405180910390fd5b505050565b6000611d4e8473ffffffffffffffffffffffffffffffffffffffff166123dd565b15611ea7578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611d776112d9565b8786866040518563ffffffff1660e01b8152600401611d999493929190613749565b6020604051808303816000875af1925050508015611dd557506040513d601f19601f82011682018060405250810190611dd291906137aa565b60015b611e57573d8060008114611e05576040519150601f19603f3d011682016040523d82523d6000602084013e611e0a565b606091505b506000815103611e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4690613642565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611eac565b600190505b949350505050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001611f1084610c2e565b611f1a91906137d7565b9050600060076000848152602001908152602001600020549050818114611fff576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061208491906137d7565b90506000600960008481526020019081526020016000205490506000600883815481106120b4576120b3613029565b5b9060005260206000200154905080600883815481106120d6576120d5613029565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806121255761212461380b565b5b6001900381819060005260206000200160009055905550505050565b600061214c83610c2e565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361222f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222690613886565b60405180910390fd5b61223881611894565b15612278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226f906138f2565b60405180910390fd5b612286600083836001611b6e565b61228f81611894565b156122cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c6906138f2565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46123d9600083836001611ccc565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b50805461240c90612c44565b6000825580601f1061241e575061243d565b601f01602090049060005260206000209081019061243c9190612440565b5b50565b5b80821115612459576000816000905550600101612441565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124a681612471565b81146124b157600080fd5b50565b6000813590506124c38161249d565b92915050565b6000602082840312156124df576124de612467565b5b60006124ed848285016124b4565b91505092915050565b60008115159050919050565b61250b816124f6565b82525050565b60006020820190506125266000830184612502565b92915050565b6000819050919050565b61253f8161252c565b811461254a57600080fd5b50565b60008135905061255c81612536565b92915050565b60006020828403121561257857612577612467565b5b60006125868482850161254d565b91505092915050565b6125988161252c565b82525050565b60006020820190506125b3600083018461258f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156125f35780820151818401526020810190506125d8565b60008484015250505050565b6000601f19601f8301169050919050565b600061261b826125b9565b61262581856125c4565b93506126358185602086016125d5565b61263e816125ff565b840191505092915050565b600060208201905081810360008301526126638184612610565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126968261266b565b9050919050565b6126a68161268b565b82525050565b60006020820190506126c1600083018461269d565b92915050565b6126d08161268b565b81146126db57600080fd5b50565b6000813590506126ed816126c7565b92915050565b6000806040838503121561270a57612709612467565b5b6000612718858286016126de565b92505060206127298582860161254d565b9150509250929050565b60008060006060848603121561274c5761274b612467565b5b600061275a868287016126de565b935050602061276b868287016126de565b925050604061277c8682870161254d565b9150509250925092565b60006020828403121561279c5761279b612467565b5b60006127aa848285016126de565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6127f5826125ff565b810181811067ffffffffffffffff82111715612814576128136127bd565b5b80604052505050565b600061282761245d565b905061283382826127ec565b919050565b600067ffffffffffffffff821115612853576128526127bd565b5b61285c826125ff565b9050602081019050919050565b82818337600083830152505050565b600061288b61288684612838565b61281d565b9050828152602081018484840111156128a7576128a66127b8565b5b6128b2848285612869565b509392505050565b600082601f8301126128cf576128ce6127b3565b5b81356128df848260208601612878565b91505092915050565b600080604083850312156128ff576128fe612467565b5b600061290d8582860161254d565b925050602083013567ffffffffffffffff81111561292e5761292d61246c565b5b61293a858286016128ba565b9150509250929050565b61294d816124f6565b811461295857600080fd5b50565b60008135905061296a81612944565b92915050565b6000806040838503121561298757612986612467565b5b6000612995858286016126de565b92505060206129a68582860161295b565b9150509250929050565b600067ffffffffffffffff8211156129cb576129ca6127bd565b5b6129d4826125ff565b9050602081019050919050565b60006129f46129ef846129b0565b61281d565b905082815260208101848484011115612a1057612a0f6127b8565b5b612a1b848285612869565b509392505050565b600082601f830112612a3857612a376127b3565b5b8135612a488482602086016129e1565b91505092915050565b60008060008060808587031215612a6b57612a6a612467565b5b6000612a79878288016126de565b9450506020612a8a878288016126de565b9350506040612a9b8782880161254d565b925050606085013567ffffffffffffffff811115612abc57612abb61246c565b5b612ac887828801612a23565b91505092959194509250565b60008060408385031215612aeb57612aea612467565b5b6000612af9858286016126de565b925050602083013567ffffffffffffffff811115612b1a57612b1961246c565b5b612b26858286016128ba565b9150509250929050565b60008060408385031215612b4757612b46612467565b5b6000612b55858286016126de565b9250506020612b66858286016126de565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612baa8261252c565b9150612bb58361252c565b9250828202612bc38161252c565b91508282048414831517612bda57612bd9612b70565b5b5092915050565b6000612bec8261252c565b9150612bf78361252c565b9250828201905080821115612c0f57612c0e612b70565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612c5c57607f821691505b602082108103612c6f57612c6e612c15565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612cd16021836125c4565b9150612cdc82612c75565b604082019050919050565b60006020820190508181036000830152612d0081612cc4565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612d63603d836125c4565b9150612d6e82612d07565b604082019050919050565b60006020820190508181036000830152612d9281612d56565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612df5602d836125c4565b9150612e0082612d99565b604082019050919050565b60006020820190508181036000830152612e2481612de8565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000612e87602b836125c4565b9150612e9282612e2b565b604082019050919050565b60006020820190508181036000830152612eb681612e7a565b9050919050565b7f4552524f523a4e46542d3030313a43414c4c45525f4e4f545f5245474953545260008201527f5900000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f196021836125c4565b9150612f2482612ebd565b604082019050919050565b60006020820190508181036000830152612f4881612f0c565b9050919050565b6000612f5a8261252c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f8c57612f8b612b70565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000612ff3602c836125c4565b9150612ffe82612f97565b604082019050919050565b6000602082019050818103600083015261302281612fe6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061308e6018836125c4565b915061309982613058565b602082019050919050565b600060208201905081810360008301526130bd81613081565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006131206029836125c4565b915061312b826130c4565b604082019050919050565b6000602082019050818103600083015261314f81613113565b9050919050565b7f4552524f523a4352472d3031313a5552495f454d505459000000000000000000600082015250565b600061318c6017836125c4565b915061319782613156565b602082019050919050565b600060208201905081810360008301526131bb8161317f565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026132247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826131e7565b61322e86836131e7565b95508019841693508086168417925050509392505050565b6000819050919050565b600061326b6132666132618461252c565b613246565b61252c565b9050919050565b6000819050919050565b61328583613250565b61329961329182613272565b8484546131f4565b825550505050565b600090565b6132ae6132a1565b6132b981848461327c565b505050565b5b818110156132dd576132d26000826132a6565b6001810190506132bf565b5050565b601f821115613322576132f3816131c2565b6132fc846131d7565b8101602085101561330b578190505b61331f613317856131d7565b8301826132be565b50505b505050565b600082821c905092915050565b600061334560001984600802613327565b1980831691505092915050565b600061335e8383613334565b9150826002028217905092915050565b613377826125b9565b67ffffffffffffffff8111156133905761338f6127bd565b5b61339a8254612c44565b6133a58282856132e1565b600060209050601f8311600181146133d857600084156133c6578287015190505b6133d08582613352565b865550613438565b601f1984166133e6866131c2565b60005b8281101561340e578489015182556001820191506020850194506020810190506133e9565b8683101561342b5784890151613427601f891682613334565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061349c6025836125c4565b91506134a782613440565b604082019050919050565b600060208201905081810360008301526134cb8161348f565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061352e6024836125c4565b9150613539826134d2565b604082019050919050565b6000602082019050818103600083015261355d81613521565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061359a6019836125c4565b91506135a582613564565b602082019050919050565b600060208201905081810360008301526135c98161358d565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061362c6032836125c4565b9150613637826135d0565b604082019050919050565b6000602082019050818103600083015261365b8161361f565b9050919050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006136be6035836125c4565b91506136c982613662565b604082019050919050565b600060208201905081810360008301526136ed816136b1565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061371b826136f4565b61372581856136ff565b93506137358185602086016125d5565b61373e816125ff565b840191505092915050565b600060808201905061375e600083018761269d565b61376b602083018661269d565b613778604083018561258f565b818103606083015261378a8184613710565b905095945050505050565b6000815190506137a48161249d565b92915050565b6000602082840312156137c0576137bf612467565b5b60006137ce84828501613795565b91505092915050565b60006137e28261252c565b91506137ed8361252c565b925082820390508181111561380557613804612b70565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006138706020836125c4565b915061387b8261383a565b602082019050919050565b6000602082019050818103600083015261389f81613863565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006138dc601c836125c4565b91506138e7826138a6565b602082019050919050565b6000602082019050818103600083015261390b816138cf565b905091905056fe44657a656e7472616c697a656420496e737572616e63652050726f746f636f6c205265676973747279a26469706673582212207aa4e02bdaafea8b9e4c8cf55d062e2091ac80190615fb6e2ba4b980fc8a1dae64736f6c6343000814003344657a656e7472616c697a656420496e737572616e63652050726f746f636f6c205265676973747279",
|
594
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101c45760003560e01c8063598e2892116100f9578063a3f4df7e11610097578063d0def52111610071578063d0def5211461052b578063e985e9c51461055b578063f21de1e81461058b578063f76f8d78146105a9576101c4565b8063a3f4df7e146104c1578063b88d4fde146104df578063c87b56dd146104fb576101c4565b8063862440e2116100d3578063862440e21461044d57806395d89b4114610469578063a22cb46514610487578063a2309ff8146104a3576101c4565b8063598e2892146103cf5780636352211e146103ed57806370a082311461041d576101c4565b80632e85b1f31161016657806342842e0e1161014057806342842e0e1461033757806342966c68146103535780634f558e791461036f5780634f6ccce71461039f576101c4565b80632e85b1f3146102cd5780632f745c59146102eb57806340c10f191461031b576101c4565b8063081812fc116101a2578063081812fc14610247578063095ea7b31461027757806318160ddd1461029357806323b872dd146102b1576101c4565b806301ffc9a7146101c95780630559ea47146101f957806306fdde0314610229575b600080fd5b6101e360048036038101906101de91906124c9565b6105c7565b6040516101f09190612511565b60405180910390f35b610213600480360381019061020e9190612562565b610641565b604051610220919061259e565b60405180910390f35b61023161067e565b60405161023e9190612649565b60405180910390f35b610261600480360381019061025c9190612562565b610710565b60405161026e91906126ac565b60405180910390f35b610291600480360381019061028c91906126f3565b610756565b005b61029b61086d565b6040516102a8919061259e565b60405180910390f35b6102cb60048036038101906102c69190612733565b61087a565b005b6102d56108da565b6040516102e2919061259e565b60405180910390f35b610305600480360381019061030091906126f3565b6108e0565b604051610312919061259e565b60405180910390f35b610335600480360381019061033091906126f3565b610985565b005b610351600480360381019061034c9190612733565b610a3b565b005b61036d60048036038101906103689190612562565b610a5b565b005b61038960048036038101906103849190612562565b610b1f565b6040516103969190612511565b60405180910390f35b6103b960048036038101906103b49190612562565b610b31565b6040516103c6919061259e565b60405180910390f35b6103d7610ba2565b6040516103e4919061259e565b60405180910390f35b61040760048036038101906104029190612562565b610ba8565b60405161041491906126ac565b60405180910390f35b61043760048036038101906104329190612786565b610c2e565b604051610444919061259e565b60405180910390f35b610467600480360381019061046291906128e8565b610ce5565b005b610471610de7565b60405161047e9190612649565b60405180910390f35b6104a1600480360381019061049c9190612970565b610e79565b005b6104ab610e8f565b6040516104b8919061259e565b60405180910390f35b6104c9610e99565b6040516104d69190612649565b60405180910390f35b6104f960048036038101906104f49190612a51565b610eb5565b005b61051560048036038101906105109190612562565b610f17565b6040516105229190612649565b60405180910390f35b61054560048036038101906105409190612ad4565b610fc5565b604051610552919061259e565b60405180910390f35b61057560048036038101906105709190612b30565b6110b5565b6040516105829190612511565b60405180910390f35b610593611149565b6040516105a091906126ac565b60405180910390f35b6105b1611173565b6040516105be9190612649565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061063a5750610639826111ac565b5b9050919050565b6000600d546064600c54600e54856106599190612b9f565b6106639190612be1565b61066d9190612b9f565b6106779190612be1565b9050919050565b60606000805461068d90612c44565b80601f01602080910402602001604051908101604052809291908181526020018280546106b990612c44565b80156107065780601f106106db57610100808354040283529160200191610706565b820191906000526020600020905b8154815290600101906020018083116106e957829003601f168201915b5050505050905090565b600061071b8261128e565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061076182610ba8565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c890612ce7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107f06112d9565b73ffffffffffffffffffffffffffffffffffffffff16148061081f575061081e816108196112d9565b6110b5565b5b61085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590612d79565b60405180910390fd5b61086883836112e1565b505050565b6000600880549050905090565b61088b6108856112d9565b8261139a565b6108ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c190612e0b565b60405180910390fd5b6108d583838361142f565b505050565b61083581565b60006108eb83610c2e565b821061092c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092390612e9d565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0c90612f2f565b60405180910390fd5b60106000815480929190610a2890612f4f565b9190505550610a378282611728565b5050565b610a5683838360405180602001604052806000815250610eb5565b505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae290612f2f565b60405180910390fd5b610af48161128e565b610afd81611746565b600a60008281526020019081526020016000206000610b1c9190612400565b50565b6000610b2a82611894565b9050919050565b6000610b3b61086d565b8210610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7390613009565b60405180910390fd5b60088281548110610b9057610b8f613029565b5b90600052602060002001549050919050565b61044d81565b600080610bb4836118d5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1c906130a4565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9590613136565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6c90612f2f565b60405180910390fd5b6000815111610db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db0906131a2565b60405180910390fd5b610dc28261128e565b80600a60008481526020019081526020016000209081610de2919061336e565b505050565b606060018054610df690612c44565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2290612c44565b8015610e6f5780601f10610e4457610100808354040283529160200191610e6f565b820191906000526020600020905b815481529060010190602001808311610e5257829003601f168201915b5050505050905090565b610e8b610e846112d9565b8383611912565b5050565b6000601054905090565b6040518060600160405280602981526020016139136029913981565b610ec6610ec06112d9565b8361139a565b610f05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efc90612e0b565b60405180910390fd5b610f1184848484611a7e565b50505050565b6060610f228261128e565b600a60008381526020019081526020016000208054610f4090612c44565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6c90612c44565b8015610fb95780601f10610f8e57610100808354040283529160200191610fb9565b820191906000526020600020905b815481529060010190602001808311610f9c57829003601f168201915b50505050509050919050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104e90612f2f565b60405180910390fd5b61105f611ada565b905060008251111561108d5781600a6000838152602001908152602001600020908161108b919061336e565b505b6110978382611728565b601060008154809291906110aa90612f4f565b919050555092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600481526020017f444950520000000000000000000000000000000000000000000000000000000081525081565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061127757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611287575061128682611b04565b5b9050919050565b61129781611894565b6112d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cd906130a4565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661135483610ba8565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806113a683610ba8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806113e857506113e781856110b5565b5b8061142657508373ffffffffffffffffffffffffffffffffffffffff1661140e84610710565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661144f82610ba8565b73ffffffffffffffffffffffffffffffffffffffff16146114a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149c906134b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150b90613544565b60405180910390fd5b6115218383836001611b6e565b8273ffffffffffffffffffffffffffffffffffffffff1661154182610ba8565b73ffffffffffffffffffffffffffffffffffffffff1614611597576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158e906134b2565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46117238383836001611ccc565b505050565b611742828260405180602001604052806000815250611cd2565b5050565b600061175182610ba8565b9050611761816000846001611b6e565b61176a82610ba8565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611890816000846001611ccc565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff166118b6836118d5565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611980576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611977906135b0565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611a719190612511565b60405180910390a3505050565b611a8984848461142f565b611a9584848484611d2d565b611ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acb90613642565b60405180910390fd5b50505050565b6000611ae7600f54610641565b9050600f6000815480929190611afc90612f4f565b919050555090565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611b7a84848484611eb4565b6001811115611bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb5906136d4565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611c0557611c0081611eba565b611c44565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611c4357611c428582611f03565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611c8657611c8181612070565b611cc5565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611cc457611cc38482612141565b5b5b5050505050565b50505050565b611cdc83836121c0565b611ce96000848484611d2d565b611d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1f90613642565b60405180910390fd5b505050565b6000611d4e8473ffffffffffffffffffffffffffffffffffffffff166123dd565b15611ea7578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611d776112d9565b8786866040518563ffffffff1660e01b8152600401611d999493929190613749565b6020604051808303816000875af1925050508015611dd557506040513d601f19601f82011682018060405250810190611dd291906137aa565b60015b611e57573d8060008114611e05576040519150601f19603f3d011682016040523d82523d6000602084013e611e0a565b606091505b506000815103611e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4690613642565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611eac565b600190505b949350505050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001611f1084610c2e565b611f1a91906137d7565b9050600060076000848152602001908152602001600020549050818114611fff576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061208491906137d7565b90506000600960008481526020019081526020016000205490506000600883815481106120b4576120b3613029565b5b9060005260206000200154905080600883815481106120d6576120d5613029565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806121255761212461380b565b5b6001900381819060005260206000200160009055905550505050565b600061214c83610c2e565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361222f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222690613886565b60405180910390fd5b61223881611894565b15612278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226f906138f2565b60405180910390fd5b612286600083836001611b6e565b61228f81611894565b156122cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c6906138f2565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46123d9600083836001611ccc565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b50805461240c90612c44565b6000825580601f1061241e575061243d565b601f01602090049060005260206000209081019061243c9190612440565b5b50565b5b80821115612459576000816000905550600101612441565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124a681612471565b81146124b157600080fd5b50565b6000813590506124c38161249d565b92915050565b6000602082840312156124df576124de612467565b5b60006124ed848285016124b4565b91505092915050565b60008115159050919050565b61250b816124f6565b82525050565b60006020820190506125266000830184612502565b92915050565b6000819050919050565b61253f8161252c565b811461254a57600080fd5b50565b60008135905061255c81612536565b92915050565b60006020828403121561257857612577612467565b5b60006125868482850161254d565b91505092915050565b6125988161252c565b82525050565b60006020820190506125b3600083018461258f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156125f35780820151818401526020810190506125d8565b60008484015250505050565b6000601f19601f8301169050919050565b600061261b826125b9565b61262581856125c4565b93506126358185602086016125d5565b61263e816125ff565b840191505092915050565b600060208201905081810360008301526126638184612610565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126968261266b565b9050919050565b6126a68161268b565b82525050565b60006020820190506126c1600083018461269d565b92915050565b6126d08161268b565b81146126db57600080fd5b50565b6000813590506126ed816126c7565b92915050565b6000806040838503121561270a57612709612467565b5b6000612718858286016126de565b92505060206127298582860161254d565b9150509250929050565b60008060006060848603121561274c5761274b612467565b5b600061275a868287016126de565b935050602061276b868287016126de565b925050604061277c8682870161254d565b9150509250925092565b60006020828403121561279c5761279b612467565b5b60006127aa848285016126de565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6127f5826125ff565b810181811067ffffffffffffffff82111715612814576128136127bd565b5b80604052505050565b600061282761245d565b905061283382826127ec565b919050565b600067ffffffffffffffff821115612853576128526127bd565b5b61285c826125ff565b9050602081019050919050565b82818337600083830152505050565b600061288b61288684612838565b61281d565b9050828152602081018484840111156128a7576128a66127b8565b5b6128b2848285612869565b509392505050565b600082601f8301126128cf576128ce6127b3565b5b81356128df848260208601612878565b91505092915050565b600080604083850312156128ff576128fe612467565b5b600061290d8582860161254d565b925050602083013567ffffffffffffffff81111561292e5761292d61246c565b5b61293a858286016128ba565b9150509250929050565b61294d816124f6565b811461295857600080fd5b50565b60008135905061296a81612944565b92915050565b6000806040838503121561298757612986612467565b5b6000612995858286016126de565b92505060206129a68582860161295b565b9150509250929050565b600067ffffffffffffffff8211156129cb576129ca6127bd565b5b6129d4826125ff565b9050602081019050919050565b60006129f46129ef846129b0565b61281d565b905082815260208101848484011115612a1057612a0f6127b8565b5b612a1b848285612869565b509392505050565b600082601f830112612a3857612a376127b3565b5b8135612a488482602086016129e1565b91505092915050565b60008060008060808587031215612a6b57612a6a612467565b5b6000612a79878288016126de565b9450506020612a8a878288016126de565b9350506040612a9b8782880161254d565b925050606085013567ffffffffffffffff811115612abc57612abb61246c565b5b612ac887828801612a23565b91505092959194509250565b60008060408385031215612aeb57612aea612467565b5b6000612af9858286016126de565b925050602083013567ffffffffffffffff811115612b1a57612b1961246c565b5b612b26858286016128ba565b9150509250929050565b60008060408385031215612b4757612b46612467565b5b6000612b55858286016126de565b9250506020612b66858286016126de565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612baa8261252c565b9150612bb58361252c565b9250828202612bc38161252c565b91508282048414831517612bda57612bd9612b70565b5b5092915050565b6000612bec8261252c565b9150612bf78361252c565b9250828201905080821115612c0f57612c0e612b70565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612c5c57607f821691505b602082108103612c6f57612c6e612c15565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612cd16021836125c4565b9150612cdc82612c75565b604082019050919050565b60006020820190508181036000830152612d0081612cc4565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612d63603d836125c4565b9150612d6e82612d07565b604082019050919050565b60006020820190508181036000830152612d9281612d56565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612df5602d836125c4565b9150612e0082612d99565b604082019050919050565b60006020820190508181036000830152612e2481612de8565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000612e87602b836125c4565b9150612e9282612e2b565b604082019050919050565b60006020820190508181036000830152612eb681612e7a565b9050919050565b7f4552524f523a4e46542d3030313a43414c4c45525f4e4f545f5245474953545260008201527f5900000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f196021836125c4565b9150612f2482612ebd565b604082019050919050565b60006020820190508181036000830152612f4881612f0c565b9050919050565b6000612f5a8261252c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f8c57612f8b612b70565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000612ff3602c836125c4565b9150612ffe82612f97565b604082019050919050565b6000602082019050818103600083015261302281612fe6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061308e6018836125c4565b915061309982613058565b602082019050919050565b600060208201905081810360008301526130bd81613081565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006131206029836125c4565b915061312b826130c4565b604082019050919050565b6000602082019050818103600083015261314f81613113565b9050919050565b7f4552524f523a4352472d3031313a5552495f454d505459000000000000000000600082015250565b600061318c6017836125c4565b915061319782613156565b602082019050919050565b600060208201905081810360008301526131bb8161317f565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026132247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826131e7565b61322e86836131e7565b95508019841693508086168417925050509392505050565b6000819050919050565b600061326b6132666132618461252c565b613246565b61252c565b9050919050565b6000819050919050565b61328583613250565b61329961329182613272565b8484546131f4565b825550505050565b600090565b6132ae6132a1565b6132b981848461327c565b505050565b5b818110156132dd576132d26000826132a6565b6001810190506132bf565b5050565b601f821115613322576132f3816131c2565b6132fc846131d7565b8101602085101561330b578190505b61331f613317856131d7565b8301826132be565b50505b505050565b600082821c905092915050565b600061334560001984600802613327565b1980831691505092915050565b600061335e8383613334565b9150826002028217905092915050565b613377826125b9565b67ffffffffffffffff8111156133905761338f6127bd565b5b61339a8254612c44565b6133a58282856132e1565b600060209050601f8311600181146133d857600084156133c6578287015190505b6133d08582613352565b865550613438565b601f1984166133e6866131c2565b60005b8281101561340e578489015182556001820191506020850194506020810190506133e9565b8683101561342b5784890151613427601f891682613334565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061349c6025836125c4565b91506134a782613440565b604082019050919050565b600060208201905081810360008301526134cb8161348f565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061352e6024836125c4565b9150613539826134d2565b604082019050919050565b6000602082019050818103600083015261355d81613521565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061359a6019836125c4565b91506135a582613564565b602082019050919050565b600060208201905081810360008301526135c98161358d565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061362c6032836125c4565b9150613637826135d0565b604082019050919050565b6000602082019050818103600083015261365b8161361f565b9050919050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006136be6035836125c4565b91506136c982613662565b604082019050919050565b600060208201905081810360008301526136ed816136b1565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061371b826136f4565b61372581856136ff565b93506137358185602086016125d5565b61373e816125ff565b840191505092915050565b600060808201905061375e600083018761269d565b61376b602083018661269d565b613778604083018561258f565b818103606083015261378a8184613710565b905095945050505050565b6000815190506137a48161249d565b92915050565b6000602082840312156137c0576137bf612467565b5b60006137ce84828501613795565b91505092915050565b60006137e28261252c565b91506137ed8361252c565b925082820390508181111561380557613804612b70565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006138706020836125c4565b915061387b8261383a565b602082019050919050565b6000602082019050818103600083015261389f81613863565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006138dc601c836125c4565b91506138e7826138a6565b602082019050919050565b6000602082019050818103600083015261390b816138cf565b905091905056fe44657a656e7472616c697a656420496e737572616e63652050726f746f636f6c205265676973747279a26469706673582212207aa4e02bdaafea8b9e4c8cf55d062e2091ac80190615fb6e2ba4b980fc8a1dae64736f6c63430008140033",
|
780
|
+
"bytecode": "0x608060405234801561000f575f80fd5b50604051611db0380380611db083398101604081905261002e91610116565b604051806060016040528060248152602001611d8c6024913960408051808201909152600681526511125413919560d21b60208201525f61006f83826101db565b50600161007c82826101db565b5050506001600160a01b0381166100a657604051630ae1413f60e11b815260040160405180910390fd5b600c80546001600160a01b0319166001600160a01b03831617905546600d8190555f600e555b80156100f957600e8054905f6100e1836102a9565b909155506100f29050600a826102c1565b90506100cc565b600e5461010790600a6103c5565b600f55505060046010556103d0565b5f60208284031215610126575f80fd5b81516001600160a01b038116811461013c575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061016b57607f821691505b60208210810361018957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101d657805f5260205f20601f840160051c810160208510156101b45750805b601f840160051c820191505b818110156101d3575f81556001016101c0565b50505b505050565b81516001600160401b038111156101f4576101f4610143565b610208816102028454610157565b8461018f565b6020601f82116001811461023a575f83156102235750848201515b5f19600385901b1c1916600184901b1784556101d3565b5f84815260208120601f198516915b828110156102695787850151825560209485019460019092019101610249565b508482101561028657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b5f600182016102ba576102ba610295565b5060010190565b5f826102db57634e487b7160e01b5f52601260045260245ffd5b500490565b6001815b600184111561031b578085048111156102ff576102ff610295565b600184161561030d57908102905b60019390931c9280026102e4565b935093915050565b5f82610331575060016103bf565b8161033d57505f6103bf565b8160018114610353576002811461035d57610379565b60019150506103bf565b60ff84111561036e5761036e610295565b50506001821b6103bf565b5060208310610133831016604e8410600b841016171561039c575081810a6103bf565b6103a85f1984846102e0565b805f19048211156103bb576103bb610295565b0290505b92915050565b5f61013c8383610323565b6119af806103dd5f395ff3fe608060405234801561000f575f80fd5b50600436106101d1575f3560e01c80634f6ccce7116100fe578063a2309ff81161009e578063caa0f92a1161006e578063caa0f92a146103ee578063e985e9c5146103f6578063f21de1e814610409578063f76f8d781461041a575f80fd5b8063a2309ff8146103b8578063a3f4df7e146103c0578063b88d4fde146103c8578063c87b56dd146103db575f80fd5b806370a08231116100d957806370a0823114610377578063862440e21461038a57806395d89b411461039d578063a22cb465146103a5575f80fd5b80634f6ccce714610348578063598e28921461035b5780636352211e14610364575f80fd5b806323b872dd1161017457806340c10f191161014457806340c10f19146102e557806342842e0e146102f857806342966c681461030b5780634f558e791461031e575f80fd5b806323b872dd1461028e5780632e85b1f3146102a15780632f745c59146102aa578063342ec443146102bd575f80fd5b8063081812fc116101af578063081812fc14610233578063095ea7b31461025e57806318160ddd14610273578063221375a61461027b575f80fd5b806301ffc9a7146101d55780630559ea47146101fd57806306fdde031461021e575b5f80fd5b6101e86101e3366004611406565b61043f565b60405190151581526020015b60405180910390f35b61021061020b366004611421565b610469565b6040519081526020016101f4565b61022661049d565b6040516101f49190611466565b610246610241366004611421565b61052c565b6040516001600160a01b0390911681526020016101f4565b61027161026c366004611493565b610553565b005b600854610210565b610210610289366004611564565b610562565b61027161029c3660046115be565b610688565b61021061083581565b6102106102b8366004611493565b61072a565b6102466102cb366004611421565b5f908152600a60205260409020546001600160a01b031690565b6102716102f3366004611493565b61078d565b6102716103063660046115be565b6107d8565b610271610319366004611421565b6107f2565b6101e861032c366004611421565b5f908152600260205260409020546001600160a01b0316151590565b610210610356366004611421565b61084b565b61021061044d81565b610246610372366004611421565b6108a0565b6102106103853660046115f8565b6108aa565b610271610398366004611611565b6108ef565b610226610997565b6102716103b3366004611655565b6109a6565b601154610210565b6102266109b1565b6102716103d636600461168e565b6109cd565b6102266103e9366004611421565b6109ea565b610210610a91565b6101e8610404366004611705565b610aa2565b600c546001600160a01b0316610246565b6102266040518060400160405280600681526020016511125413919560d21b81525081565b5f6001600160e01b0319821663780e9d6360e01b1480610463575061046382610acf565b92915050565b5f600e54600d54600f548461047e919061174a565b6104889190611761565b61049390606461174a565b6104639190611761565b60605f80546104ab90611774565b80601f01602080910402602001604051908101604052809291908181526020018280546104d790611774565b80156105225780601f106104f957610100808354040283529160200191610522565b820191905f5260205f20905b81548152906001019060200180831161050557829003601f168201915b5050505050905090565b5f61053682610b1e565b505f828152600460205260409020546001600160a01b0316610463565b61055e828233610b56565b5050565b600c545f906001600160a01b03163314610596576040516399c6cd7160e01b81523360048201526024015b60405180910390fd5b61059e610b63565b90506001600160a01b038316156105d6575f818152600a6020526040902080546001600160a01b0319166001600160a01b0385161790555b8151156105f6575f818152600b602052604090206105f483826117f0565b505b60118054905f610605836118ab565b91905055506106148482610b88565b6001600160a01b038316156106815760405163bb1e0e5960e01b81526001600160a01b0385811660048301526024820183905284169063bb1e0e59906044015f604051808303815f87803b15801561066a575f80fd5b505af115801561067c573d5f803e3d5ffd5b505050505b9392505050565b610693838383610ba1565b5f818152600a60205260409020546001600160a01b031615610725575f818152600a6020526040908190205490516373fbfdc360e11b81526001600160a01b0385811660048301528481166024830152604482018490529091169063e7f7fb86906064015f604051808303815f87803b15801561070e575f80fd5b505af1158015610720573d5f803e3d5ffd5b505050505b505050565b5f610734836108aa565b82106107655760405163295f44f760e21b81526001600160a01b03841660048201526024810183905260440161058d565b506001600160a01b03919091165f908152600660209081526040808320938352929052205490565b600c546001600160a01b031633146107ba576040516399c6cd7160e01b815233600482015260240161058d565b60118054905f6107c9836118ab565b919050555061055e8282610b88565b61072583838360405180602001604052805f8152506109cd565b600c546001600160a01b0316331461081f576040516399c6cd7160e01b815233600482015260240161058d565b61082881610b1e565b5061083281610c24565b5f818152600b60205260408120610848916113a7565b50565b5f61085560085490565b821061087d5760405163295f44f760e21b81525f60048201526024810183905260440161058d565b60088281548110610890576108906118c3565b905f5260205f2001549050919050565b5f61046382610b1e565b5f6001600160a01b0382166108d4576040516322718ad960e21b81525f600482015260240161058d565b506001600160a01b03165f9081526003602052604090205490565b600c546001600160a01b0316331461091c576040516399c6cd7160e01b815233600482015260240161058d565b80515f0361093d57604051638e45096160e01b815260040160405180910390fd5b5f828152600b60205260408120805461095590611774565b905011156109765760405163303822c760e21b815260040160405180910390fd5b61097f82610b1e565b505f828152600b6020526040902061072582826117f0565b6060600180546104ab90611774565b61055e338383610c5c565b6040518060600160405280602481526020016119566024913981565b6109d8848484610688565b6109e484848484610cfa565b50505050565b60606109f582610b1e565b505f828152600b602052604090208054610a0e90611774565b80601f0160208091040260200160405190810160405280929190818152602001828054610a3a90611774565b8015610a855780601f10610a5c57610100808354040283529160200191610a85565b820191905f5260205f20905b815481529060010190602001808311610a6857829003601f168201915b50505050509050919050565b5f610a9d601054610469565b905090565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6001600160e01b031982166380ac58cd60e01b1480610aff57506001600160e01b03198216635b5e139f60e01b145b8061046357506301ffc9a760e01b6001600160e01b0319831614610463565b5f818152600260205260408120546001600160a01b03168061046357604051637e27328960e01b81526004810184905260240161058d565b6107258383836001610e20565b5f610b6f601054610469565b601080549192505f610b80836118ab565b919050555090565b61055e828260405180602001604052805f815250610f24565b6001600160a01b038216610bca57604051633250574960e11b81525f600482015260240161058d565b5f610bd6838333610f3a565b9050836001600160a01b0316816001600160a01b0316146109e4576040516364283d7b60e01b81526001600160a01b038086166004830152602482018490528216604482015260640161058d565b5f610c305f835f610f3a565b90506001600160a01b03811661055e57604051637e27328960e01b81526004810183905260240161058d565b6001600160a01b038216610c8e57604051630b61174360e31b81526001600160a01b038316600482015260240161058d565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b156109e457604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290610d3c9033908890879087906004016118d7565b6020604051808303815f875af1925050508015610d76575060408051601f3d908101601f19168201909252610d7391810190611913565b60015b610ddd573d808015610da3576040519150601f19603f3d011682016040523d82523d5f602084013e610da8565b606091505b5080515f03610dd557604051633250574960e11b81526001600160a01b038516600482015260240161058d565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14610e1957604051633250574960e11b81526001600160a01b038516600482015260240161058d565b5050505050565b8080610e3457506001600160a01b03821615155b15610ef5575f610e4384610b1e565b90506001600160a01b03831615801590610e6f5750826001600160a01b0316816001600160a01b031614155b8015610e825750610e808184610aa2565b155b15610eab5760405163a9fbf51f60e01b81526001600160a01b038416600482015260240161058d565b8115610ef35783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50505f90815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b610f2e838361100d565b6107255f848484610cfa565b5f80610f4785858561106e565b90506001600160a01b038116610fa357610f9e84600880545f838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b610fc6565b846001600160a01b0316816001600160a01b031614610fc657610fc68185611160565b6001600160a01b038516610fe257610fdd846111ed565b611005565b846001600160a01b0316816001600160a01b031614611005576110058585611294565b949350505050565b6001600160a01b03821661103657604051633250574960e11b81525f600482015260240161058d565b5f61104283835f610f3a565b90506001600160a01b03811615610725576040516339e3563760e11b81525f600482015260240161058d565b5f828152600260205260408120546001600160a01b039081169083161561109a5761109a8184866112e2565b6001600160a01b038116156110d4576110b55f855f80610e20565b6001600160a01b0381165f90815260036020526040902080545f190190555b6001600160a01b03851615611102576001600160a01b0385165f908152600360205260409020805460010190555b5f8481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b5f61116a836108aa565b5f838152600760205260409020549091508082146111bb576001600160a01b0384165f9081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b505f9182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008545f906111fe9060019061192e565b5f8381526009602052604081205460088054939450909284908110611225576112256118c3565b905f5260205f20015490508060088381548110611244576112446118c3565b5f91825260208083209091019290925582815260099091526040808220849055858252812055600880548061127b5761127b611941565b600190038181905f5260205f20015f9055905550505050565b5f60016112a0846108aa565b6112aa919061192e565b6001600160a01b039093165f908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6112ed838383611346565b610725576001600160a01b03831661131b57604051637e27328960e01b81526004810182905260240161058d565b60405163177e802f60e01b81526001600160a01b03831660048201526024810182905260440161058d565b5f6001600160a01b038316158015906110055750826001600160a01b0316846001600160a01b0316148061137f575061137f8484610aa2565b806110055750505f908152600460205260409020546001600160a01b03908116911614919050565b5080546113b390611774565b5f825580601f106113c2575050565b601f0160209004905f5260205f209081019061084891905b808211156113ed575f81556001016113da565b5090565b6001600160e01b031981168114610848575f80fd5b5f60208284031215611416575f80fd5b8135610681816113f1565b5f60208284031215611431575f80fd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6106816020830184611438565b80356001600160a01b038116811461148e575f80fd5b919050565b5f80604083850312156114a4575f80fd5b6114ad83611478565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f8067ffffffffffffffff8411156114e9576114e96114bb565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715611518576115186114bb565b60405283815290508082840185101561152f575f80fd5b838360208301375f60208583010152509392505050565b5f82601f830112611555575f80fd5b610681838335602085016114cf565b5f805f60608486031215611576575f80fd5b61157f84611478565b925061158d60208501611478565b9150604084013567ffffffffffffffff8111156115a8575f80fd5b6115b486828701611546565b9150509250925092565b5f805f606084860312156115d0575f80fd5b6115d984611478565b92506115e760208501611478565b929592945050506040919091013590565b5f60208284031215611608575f80fd5b61068182611478565b5f8060408385031215611622575f80fd5b82359150602083013567ffffffffffffffff81111561163f575f80fd5b61164b85828601611546565b9150509250929050565b5f8060408385031215611666575f80fd5b61166f83611478565b915060208301358015158114611683575f80fd5b809150509250929050565b5f805f80608085870312156116a1575f80fd5b6116aa85611478565b93506116b860208601611478565b925060408501359150606085013567ffffffffffffffff8111156116da575f80fd5b8501601f810187136116ea575f80fd5b6116f9878235602084016114cf565b91505092959194509250565b5f8060408385031215611716575f80fd5b61171f83611478565b915061172d60208401611478565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761046357610463611736565b8082018082111561046357610463611736565b600181811c9082168061178857607f821691505b6020821081036117a657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561072557805f5260205f20601f840160051c810160208510156117d15750805b601f840160051c820191505b81811015610e19575f81556001016117dd565b815167ffffffffffffffff81111561180a5761180a6114bb565b61181e816118188454611774565b846117ac565b6020601f821160018114611850575f83156118395750848201515b5f19600385901b1c1916600184901b178455610e19565b5f84815260208120601f198516915b8281101561187f578785015182556020948501946001909201910161185f565b508482101561189c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f600182016118bc576118bc611736565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061190990830184611438565b9695505050505050565b5f60208284031215611923575f80fd5b8151610681816113f1565b8181038181111561046357610463611736565b634e487b7160e01b5f52603160045260245ffdfe44657a656e7472616c697a656420496e737572616e63652050726f746f636f6c204e4654a264697066735822122004a922245b1bed8bccde694db4642e2237211ca39de1d735a565465655a2822664736f6c634300081a003344657a656e7472616c697a656420496e737572616e63652050726f746f636f6c204e4654",
|
781
|
+
"deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106101d1575f3560e01c80634f6ccce7116100fe578063a2309ff81161009e578063caa0f92a1161006e578063caa0f92a146103ee578063e985e9c5146103f6578063f21de1e814610409578063f76f8d781461041a575f80fd5b8063a2309ff8146103b8578063a3f4df7e146103c0578063b88d4fde146103c8578063c87b56dd146103db575f80fd5b806370a08231116100d957806370a0823114610377578063862440e21461038a57806395d89b411461039d578063a22cb465146103a5575f80fd5b80634f6ccce714610348578063598e28921461035b5780636352211e14610364575f80fd5b806323b872dd1161017457806340c10f191161014457806340c10f19146102e557806342842e0e146102f857806342966c681461030b5780634f558e791461031e575f80fd5b806323b872dd1461028e5780632e85b1f3146102a15780632f745c59146102aa578063342ec443146102bd575f80fd5b8063081812fc116101af578063081812fc14610233578063095ea7b31461025e57806318160ddd14610273578063221375a61461027b575f80fd5b806301ffc9a7146101d55780630559ea47146101fd57806306fdde031461021e575b5f80fd5b6101e86101e3366004611406565b61043f565b60405190151581526020015b60405180910390f35b61021061020b366004611421565b610469565b6040519081526020016101f4565b61022661049d565b6040516101f49190611466565b610246610241366004611421565b61052c565b6040516001600160a01b0390911681526020016101f4565b61027161026c366004611493565b610553565b005b600854610210565b610210610289366004611564565b610562565b61027161029c3660046115be565b610688565b61021061083581565b6102106102b8366004611493565b61072a565b6102466102cb366004611421565b5f908152600a60205260409020546001600160a01b031690565b6102716102f3366004611493565b61078d565b6102716103063660046115be565b6107d8565b610271610319366004611421565b6107f2565b6101e861032c366004611421565b5f908152600260205260409020546001600160a01b0316151590565b610210610356366004611421565b61084b565b61021061044d81565b610246610372366004611421565b6108a0565b6102106103853660046115f8565b6108aa565b610271610398366004611611565b6108ef565b610226610997565b6102716103b3366004611655565b6109a6565b601154610210565b6102266109b1565b6102716103d636600461168e565b6109cd565b6102266103e9366004611421565b6109ea565b610210610a91565b6101e8610404366004611705565b610aa2565b600c546001600160a01b0316610246565b6102266040518060400160405280600681526020016511125413919560d21b81525081565b5f6001600160e01b0319821663780e9d6360e01b1480610463575061046382610acf565b92915050565b5f600e54600d54600f548461047e919061174a565b6104889190611761565b61049390606461174a565b6104639190611761565b60605f80546104ab90611774565b80601f01602080910402602001604051908101604052809291908181526020018280546104d790611774565b80156105225780601f106104f957610100808354040283529160200191610522565b820191905f5260205f20905b81548152906001019060200180831161050557829003601f168201915b5050505050905090565b5f61053682610b1e565b505f828152600460205260409020546001600160a01b0316610463565b61055e828233610b56565b5050565b600c545f906001600160a01b03163314610596576040516399c6cd7160e01b81523360048201526024015b60405180910390fd5b61059e610b63565b90506001600160a01b038316156105d6575f818152600a6020526040902080546001600160a01b0319166001600160a01b0385161790555b8151156105f6575f818152600b602052604090206105f483826117f0565b505b60118054905f610605836118ab565b91905055506106148482610b88565b6001600160a01b038316156106815760405163bb1e0e5960e01b81526001600160a01b0385811660048301526024820183905284169063bb1e0e59906044015f604051808303815f87803b15801561066a575f80fd5b505af115801561067c573d5f803e3d5ffd5b505050505b9392505050565b610693838383610ba1565b5f818152600a60205260409020546001600160a01b031615610725575f818152600a6020526040908190205490516373fbfdc360e11b81526001600160a01b0385811660048301528481166024830152604482018490529091169063e7f7fb86906064015f604051808303815f87803b15801561070e575f80fd5b505af1158015610720573d5f803e3d5ffd5b505050505b505050565b5f610734836108aa565b82106107655760405163295f44f760e21b81526001600160a01b03841660048201526024810183905260440161058d565b506001600160a01b03919091165f908152600660209081526040808320938352929052205490565b600c546001600160a01b031633146107ba576040516399c6cd7160e01b815233600482015260240161058d565b60118054905f6107c9836118ab565b919050555061055e8282610b88565b61072583838360405180602001604052805f8152506109cd565b600c546001600160a01b0316331461081f576040516399c6cd7160e01b815233600482015260240161058d565b61082881610b1e565b5061083281610c24565b5f818152600b60205260408120610848916113a7565b50565b5f61085560085490565b821061087d5760405163295f44f760e21b81525f60048201526024810183905260440161058d565b60088281548110610890576108906118c3565b905f5260205f2001549050919050565b5f61046382610b1e565b5f6001600160a01b0382166108d4576040516322718ad960e21b81525f600482015260240161058d565b506001600160a01b03165f9081526003602052604090205490565b600c546001600160a01b0316331461091c576040516399c6cd7160e01b815233600482015260240161058d565b80515f0361093d57604051638e45096160e01b815260040160405180910390fd5b5f828152600b60205260408120805461095590611774565b905011156109765760405163303822c760e21b815260040160405180910390fd5b61097f82610b1e565b505f828152600b6020526040902061072582826117f0565b6060600180546104ab90611774565b61055e338383610c5c565b6040518060600160405280602481526020016119566024913981565b6109d8848484610688565b6109e484848484610cfa565b50505050565b60606109f582610b1e565b505f828152600b602052604090208054610a0e90611774565b80601f0160208091040260200160405190810160405280929190818152602001828054610a3a90611774565b8015610a855780601f10610a5c57610100808354040283529160200191610a85565b820191905f5260205f20905b815481529060010190602001808311610a6857829003601f168201915b50505050509050919050565b5f610a9d601054610469565b905090565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6001600160e01b031982166380ac58cd60e01b1480610aff57506001600160e01b03198216635b5e139f60e01b145b8061046357506301ffc9a760e01b6001600160e01b0319831614610463565b5f818152600260205260408120546001600160a01b03168061046357604051637e27328960e01b81526004810184905260240161058d565b6107258383836001610e20565b5f610b6f601054610469565b601080549192505f610b80836118ab565b919050555090565b61055e828260405180602001604052805f815250610f24565b6001600160a01b038216610bca57604051633250574960e11b81525f600482015260240161058d565b5f610bd6838333610f3a565b9050836001600160a01b0316816001600160a01b0316146109e4576040516364283d7b60e01b81526001600160a01b038086166004830152602482018490528216604482015260640161058d565b5f610c305f835f610f3a565b90506001600160a01b03811661055e57604051637e27328960e01b81526004810183905260240161058d565b6001600160a01b038216610c8e57604051630b61174360e31b81526001600160a01b038316600482015260240161058d565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b156109e457604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290610d3c9033908890879087906004016118d7565b6020604051808303815f875af1925050508015610d76575060408051601f3d908101601f19168201909252610d7391810190611913565b60015b610ddd573d808015610da3576040519150601f19603f3d011682016040523d82523d5f602084013e610da8565b606091505b5080515f03610dd557604051633250574960e11b81526001600160a01b038516600482015260240161058d565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14610e1957604051633250574960e11b81526001600160a01b038516600482015260240161058d565b5050505050565b8080610e3457506001600160a01b03821615155b15610ef5575f610e4384610b1e565b90506001600160a01b03831615801590610e6f5750826001600160a01b0316816001600160a01b031614155b8015610e825750610e808184610aa2565b155b15610eab5760405163a9fbf51f60e01b81526001600160a01b038416600482015260240161058d565b8115610ef35783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50505f90815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b610f2e838361100d565b6107255f848484610cfa565b5f80610f4785858561106e565b90506001600160a01b038116610fa357610f9e84600880545f838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b610fc6565b846001600160a01b0316816001600160a01b031614610fc657610fc68185611160565b6001600160a01b038516610fe257610fdd846111ed565b611005565b846001600160a01b0316816001600160a01b031614611005576110058585611294565b949350505050565b6001600160a01b03821661103657604051633250574960e11b81525f600482015260240161058d565b5f61104283835f610f3a565b90506001600160a01b03811615610725576040516339e3563760e11b81525f600482015260240161058d565b5f828152600260205260408120546001600160a01b039081169083161561109a5761109a8184866112e2565b6001600160a01b038116156110d4576110b55f855f80610e20565b6001600160a01b0381165f90815260036020526040902080545f190190555b6001600160a01b03851615611102576001600160a01b0385165f908152600360205260409020805460010190555b5f8481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b5f61116a836108aa565b5f838152600760205260409020549091508082146111bb576001600160a01b0384165f9081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b505f9182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008545f906111fe9060019061192e565b5f8381526009602052604081205460088054939450909284908110611225576112256118c3565b905f5260205f20015490508060088381548110611244576112446118c3565b5f91825260208083209091019290925582815260099091526040808220849055858252812055600880548061127b5761127b611941565b600190038181905f5260205f20015f9055905550505050565b5f60016112a0846108aa565b6112aa919061192e565b6001600160a01b039093165f908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6112ed838383611346565b610725576001600160a01b03831661131b57604051637e27328960e01b81526004810182905260240161058d565b60405163177e802f60e01b81526001600160a01b03831660048201526024810182905260440161058d565b5f6001600160a01b038316158015906110055750826001600160a01b0316846001600160a01b0316148061137f575061137f8484610aa2565b806110055750505f908152600460205260409020546001600160a01b03908116911614919050565b5080546113b390611774565b5f825580601f106113c2575050565b601f0160209004905f5260205f209081019061084891905b808211156113ed575f81556001016113da565b5090565b6001600160e01b031981168114610848575f80fd5b5f60208284031215611416575f80fd5b8135610681816113f1565b5f60208284031215611431575f80fd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6106816020830184611438565b80356001600160a01b038116811461148e575f80fd5b919050565b5f80604083850312156114a4575f80fd5b6114ad83611478565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f8067ffffffffffffffff8411156114e9576114e96114bb565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715611518576115186114bb565b60405283815290508082840185101561152f575f80fd5b838360208301375f60208583010152509392505050565b5f82601f830112611555575f80fd5b610681838335602085016114cf565b5f805f60608486031215611576575f80fd5b61157f84611478565b925061158d60208501611478565b9150604084013567ffffffffffffffff8111156115a8575f80fd5b6115b486828701611546565b9150509250925092565b5f805f606084860312156115d0575f80fd5b6115d984611478565b92506115e760208501611478565b929592945050506040919091013590565b5f60208284031215611608575f80fd5b61068182611478565b5f8060408385031215611622575f80fd5b82359150602083013567ffffffffffffffff81111561163f575f80fd5b61164b85828601611546565b9150509250929050565b5f8060408385031215611666575f80fd5b61166f83611478565b915060208301358015158114611683575f80fd5b809150509250929050565b5f805f80608085870312156116a1575f80fd5b6116aa85611478565b93506116b860208601611478565b925060408501359150606085013567ffffffffffffffff8111156116da575f80fd5b8501601f810187136116ea575f80fd5b6116f9878235602084016114cf565b91505092959194509250565b5f8060408385031215611716575f80fd5b61171f83611478565b915061172d60208401611478565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761046357610463611736565b8082018082111561046357610463611736565b600181811c9082168061178857607f821691505b6020821081036117a657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561072557805f5260205f20601f840160051c810160208510156117d15750805b601f840160051c820191505b81811015610e19575f81556001016117dd565b815167ffffffffffffffff81111561180a5761180a6114bb565b61181e816118188454611774565b846117ac565b6020601f821160018114611850575f83156118395750848201515b5f19600385901b1c1916600184901b178455610e19565b5f84815260208120601f198516915b8281101561187f578785015182556020948501946001909201910161185f565b508482101561189c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f600182016118bc576118bc611736565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061190990830184611438565b9695505050505050565b5f60208284031215611923575f80fd5b8151610681816113f1565b8181038181111561046357610463611736565b634e487b7160e01b5f52603160045260245ffdfe44657a656e7472616c697a656420496e737572616e63652050726f746f636f6c204e4654a264697066735822122004a922245b1bed8bccde694db4642e2237211ca39de1d735a565465655a2822664736f6c634300081a0033",
|
595
782
|
"linkReferences": {},
|
596
783
|
"deployedLinkReferences": {}
|
597
784
|
}
|