@everyprotocol/every-cli 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.every.toml +8 -10
- package/abis/ElementRegistry.json +1 -1
- package/abis/IObjectMinter.json +1 -1
- package/abis/IObjectMinterAdmin.json +1 -1
- package/abis/IOmniRegistry.json +1 -1
- package/abis/ISet.json +1 -1
- package/abis/ISetRegistry.json +1 -1
- package/abis/ISetRegistryAdmin.json +1 -1
- package/abis/KindRegistry.json +1 -1
- package/abis/ObjectMinter.json +1 -1
- package/abis/OmniRegistry.json +1 -1
- package/abis/SetRegistry.json +1 -1
- package/dist/abi.js +6 -0
- package/dist/cmdgen.js +51 -139
- package/dist/cmds/balance.js +43 -0
- package/dist/cmds/config.js +46 -0
- package/dist/cmds/kind.js +14 -0
- package/dist/cmds/matter.js +82 -0
- package/dist/cmds/minter.js +31 -0
- package/dist/cmds/object.js +175 -0
- package/dist/cmds/relation.js +16 -0
- package/dist/cmds/set.js +31 -0
- package/dist/cmds/unique.js +14 -0
- package/dist/cmds/universe.js +21 -0
- package/dist/cmds/value.js +14 -0
- package/dist/cmds/wallet.js +90 -0
- package/dist/commander-patch.js +64 -0
- package/dist/config.js +62 -51
- package/dist/ethereum.js +33 -0
- package/dist/from-opts.js +161 -0
- package/dist/index.js +2 -1
- package/dist/keystore.js +120 -0
- package/dist/logger.js +39 -0
- package/dist/parsers.js +59 -0
- package/dist/program.js +28 -39
- package/dist/substrate.js +63 -0
- package/dist/utils.js +150 -147
- package/package.json +4 -1
- package/dist/cmds.js +0 -132
- package/dist/matter.js +0 -152
- package/dist/mint.js +0 -64
- package/dist/relate.js +0 -104
- package/dist/wallet.js +0 -108
package/abis/OmniRegistry.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":[{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"allowFrom","inputs":[{"name":"grantId","type":"uint32","internalType":"uint32"},{"name":"sender","type":"address","internalType":"address"},{"name":"tail","type":"uint128","internalType":"uint128"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"headKind","type":"uint64","internalType":"uint64"},{"name":"headSet","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"allow","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allowTo","inputs":[{"name":"grantId","type":"uint32","internalType":"uint32"},{"name":"sender","type":"address","internalType":"address"},{"name":"head","type":"uint128","internalType":"uint128"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"tailKind","type":"uint64","internalType":"uint64"},{"name":"tailSet","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"elementRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"grantFrom","inputs":[{"name":"tail","type":"uint128","internalType":"uint128"},{"name":"grant","type":"tuple","internalType":"struct RelationGrant","components":[{"name":"id","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"uint8"},{"name":"initiator","type":"uint8","internalType":"enum RelationInitiator"},{"name":"reserved","type":"uint16","internalType":"uint16"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"kind","type":"uint64","internalType":"uint64"},{"name":"set","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes32","internalType":"bytes32"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"grantTo","inputs":[{"name":"head","type":"uint128","internalType":"uint128"},{"name":"grant","type":"tuple","internalType":"struct RelationGrant","components":[{"name":"id","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"uint8"},{"name":"initiator","type":"uint8","internalType":"enum RelationInitiator"},{"name":"reserved","type":"uint16","internalType":"uint16"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"kind","type":"uint64","internalType":"uint64"},{"name":"set","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes32","internalType":"bytes32"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"setr","type":"address","internalType":"address"},{"name":"kindr","type":"address","internalType":"address"},{"name":"elemr","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"kindRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"omniRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"relate","inputs":[{"name":"tail","type":"uint256","internalType":"uint256"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"head","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"relationAdmit","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kind","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"admit","type":"bool","internalType":"bool"},{"name":"effKind","type":"uint48","internalType":"uint48"},{"name":"effDegs","type":"uint16","internalType":"uint16"},{"name":"totalKind","type":"uint48","internalType":"uint48"},{"name":"totalDegs","type":"uint16","internalType":"uint16"}],"stateMutability":"view"},{"type":"function","name":"relationDescriptor","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"desc","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"relationOwner","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"relationRegister","inputs":[{"name":"code","type":"address","internalType":"address"},{"name":"data","type":"bytes32","internalType":"bytes32"},{"name":"rule","type":"tuple","internalType":"struct RelationRule","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"relateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"terminator","type":"uint8","internalType":"enum RelationTerminator"},{"name":"unrelateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"unrelateDelay","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes20","internalType":"bytes20"}]},{"name":"adjs","type":"tuple[]","internalType":"struct Adjacency[]","components":[{"name":"degs","type":"uint16","internalType":"uint16"},{"name":"kind","type":"uint48","internalType":"uint48"}]}],"outputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"meta","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"relationRevision","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"rev","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"relationRule","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"rule","type":"tuple","internalType":"struct RelationRule","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"relateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"terminator","type":"uint8","internalType":"enum RelationTerminator"},{"name":"unrelateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"unrelateDelay","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes20","internalType":"bytes20"}]}],"stateMutability":"view"},{"type":"function","name":"relationSnapshot","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"desc","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"elems","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"relationSota","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"desc","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"relationStatus","inputs":[{"name":"ids","type":"uint64[]","internalType":"uint64[]"}],"outputs":[{"name":"active","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"relationTouch","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"meta","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"relationTransfer","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"to","type":"address","internalType":"address"}],"outputs":[{"name":"from","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"relationUpdate","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"meta","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"relationUpdate","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes32","internalType":"bytes32"},{"name":"adjs","type":"tuple[]","internalType":"struct Adjacency[]","components":[{"name":"degs","type":"uint16","internalType":"uint16"},{"name":"kind","type":"uint48","internalType":"uint48"}]}],"outputs":[{"name":"meta","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"relationUpgrade","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"meta","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeFrom","inputs":[{"name":"tail","type":"uint128","internalType":"uint128"},{"name":"grantId","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeTo","inputs":[{"name":"head","type":"uint128","internalType":"uint128"},{"name":"grantId","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"semver","inputs":[],"outputs":[{"name":"version","type":"uint32","internalType":"uint32"}],"stateMutability":"pure"},{"type":"function","name":"setRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unrelate","inputs":[{"name":"tail","type":"uint256","internalType":"uint256"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"head","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"GrantFrom","inputs":[{"name":"tail","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"grant","type":"tuple","indexed":false,"internalType":"struct RelationGrant","components":[{"name":"id","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"uint8"},{"name":"initiator","type":"uint8","internalType":"enum RelationInitiator"},{"name":"reserved","type":"uint16","internalType":"uint16"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"kind","type":"uint64","internalType":"uint64"},{"name":"set","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes32","internalType":"bytes32"}]}],"anonymous":false},{"type":"event","name":"GrantTo","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"grant","type":"tuple","indexed":false,"internalType":"struct RelationGrant","components":[{"name":"id","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"uint8"},{"name":"initiator","type":"uint8","internalType":"enum RelationInitiator"},{"name":"reserved","type":"uint16","internalType":"uint16"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"kind","type":"uint64","internalType":"uint64"},{"name":"set","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes32","internalType":"bytes32"}]}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Related","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"arc","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Related","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"arcs","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"RelationRegistered","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"code","type":"address","indexed":false,"internalType":"address"},{"name":"data","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"rule","type":"tuple","indexed":false,"internalType":"struct RelationRule","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"relateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"terminator","type":"uint8","internalType":"enum RelationTerminator"},{"name":"unrelateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"unrelateDelay","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes20","internalType":"bytes20"}]},{"name":"adjs","type":"tuple[]","indexed":false,"internalType":"struct Adjacency[]","components":[{"name":"degs","type":"uint16","internalType":"uint16"},{"name":"kind","type":"uint48","internalType":"uint48"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RelationTouched","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"anonymous":false},{"type":"event","name":"RelationTransferred","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"to","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RelationUpdated","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"data","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RelationUpgraded","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"anonymous":false},{"type":"event","name":"RevokeFrom","inputs":[{"name":"tail","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"grantId","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"RevokeTo","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"grantId","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"Unrelated","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"arc","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unrelated","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"arcs","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AdjacencyKindNotExist","inputs":[]},{"type":"error","name":"AdjacencyOverflow","inputs":[]},{"type":"error","name":"AdjacencyUnderflow","inputs":[]},{"type":"error","name":"AdjacencyUnordered","inputs":[]},{"type":"error","name":"ArcExists","inputs":[]},{"type":"error","name":"ArcMismatch","inputs":[]},{"type":"error","name":"ArcNotExist","inputs":[]},{"type":"error","name":"DegreeOverflow","inputs":[{"name":"kind","type":"uint48","internalType":"uint48"}]},{"type":"error","name":"DegreeUnderflow","inputs":[{"name":"kind","type":"uint48","internalType":"uint48"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"GrantFilterKindInvalid","inputs":[]},{"type":"error","name":"GrantFilterRelationInvalid","inputs":[]},{"type":"error","name":"GrantFilterSetInvalid","inputs":[]},{"type":"error","name":"GrantInitiatorAnyoneExtraNotAllowed","inputs":[]},{"type":"error","name":"GrantInitiatorDelegateAddressInvalid","inputs":[]},{"type":"error","name":"GrantInitiatorEligibleAddressInvalid","inputs":[]},{"type":"error","name":"GrantInitiatorEligibleNotContract","inputs":[]},{"type":"error","name":"GrantInitiatorHolderObjectParamsInvalid","inputs":[]},{"type":"error","name":"GrantInitiatorHolderTokenTypeUnknown","inputs":[]},{"type":"error","name":"GrantInitiatorHolderUniqueParamsInvalid","inputs":[]},{"type":"error","name":"GrantInitiatorHolderValueParamsInvalid","inputs":[]},{"type":"error","name":"GrantInitiatorOwnerExtraNotAllowed","inputs":[]},{"type":"error","name":"GrantInitiatorTypeUnknown","inputs":[]},{"type":"error","name":"GrantNotFound","inputs":[]},{"type":"error","name":"GrantRevoked","inputs":[]},{"type":"error","name":"HeadKindRejectsRelation","inputs":[]},{"type":"error","name":"HeadSetRejectsTailObject","inputs":[]},{"type":"error","name":"InvalidCode","inputs":[]},{"type":"error","name":"InvalidData","inputs":[]},{"type":"error","name":"InvalidInitial","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidKind","inputs":[]},{"type":"error","name":"InvalidRelateShift","inputs":[]},{"type":"error","name":"InvalidRelation","inputs":[]},{"type":"error","name":"InvalidUnrelateShift","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"Overflow","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"RecordNotExist","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}]},{"type":"error","name":"RelationRejectsTailKind","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"UnauthorizedAccess","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"vistor","type":"address","internalType":"address"}]},{"type":"error","name":"Unimplemented","inputs":[]},{"type":"error","name":"UnrelateLocked","inputs":[]},{"type":"error","name":"UnsupportedHoldingState","inputs":[]}],"bytecode":{"object":"0x60a0806040523460295730608052615532908161002e823960805181818161165201526118300152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c806305be88ac1461318857806306a883a0146130cc57806315ae71731461295f5780632392f87d146128765780632629dae8146128575780632aead72614611ec35780632c636a1114611e7b5780633440994b14611c965780633dae8c2814611b1c578063418239fb14611a025780634f1ef286146117b557806352393e1a146116db578063527f3e1f146116a657806352d1902d1461163f5780635634ad141461158b578063715018a614611522578063876993ca146113f55780638da5cb5b146113c0578063954fc712146112785780639e490e901461123e578063a926f041146110fa578063ac8b956b146110c5578063ad3cb1cc1461107c578063b19c379114611034578063b9f17a4714610af7578063bff9b97414610a23578063c9e2a1fb146107f0578063cda493c8146107d3578063df89b3fc1461070e578063eab25c4114610616578063ebeecfa3146104c1578063edd716f014610497578063f2fde38b1461046f5763f8c8765e14610190575f80fd5b3461046c57608036600319011261046c576101a9613590565b6101b16135a6565b6044356001600160a01b0381169081900361046a576064356001600160a01b0381169290839003610466575f51602061545d5f395f51905f52549360ff8560401c1615946001600160401b0381168015908161045e575b6001149081610454575b15908161044b575b5061043c5767ffffffffffffffff1981166001175f51602061545d5f395f51905f525561025e919086610410575b50610251615182565b610259615182565b613e83565b610266615182565b61026e615182565b60018060a01b03166001600160601b0360a01b5f5160206153fd5f395f51905f525416175f5160206153fd5f395f51905f5255306001600160601b0360a01b7f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f79027015416177f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f7902701556001600160601b0360a01b5f51602061547d5f395f51905f525416175f51602061547d5f395f51905f52556001600160601b0360a01b7f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f79027035416177f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f790270355610377615182565b601165ffffffffffff195f5160206154dd5f395f51905f525416175f5160206154dd5f395f51905f52556103a9615182565b6103b1615182565b6103b85780f35b68ff0000000000000000195f51602061545d5f395f51905f5254165f51602061545d5f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b68ffffffffffffffffff191668010000000000000001175f51602061545d5f395f51905f52555f610248565b63f92ee8a960e01b8752600487fd5b9050155f61021a565b303b159150610212565b879150610208565b8480fd5b835b80fd5b503461046c57602036600319011261046c5761049461048c613590565b61025961478b565b80f35b503461046c5760206104b76104ab366135bc565b94939093929192613d6e565b6040519015158152f35b503461046c57604036600319011261046c576104db613339565b6104e361340c565b602082901b600160201b600160a01b031663ffffffff821617600160a01b17918284525f5160206154bd5f395f51905f5260205260ff604085205460201c1615610607578284525f5160206154bd5f395f51905f52602052600260ff604086205460201c16146105f8578284525f5160206154bd5f395f51905f52602052600160ff604086205460201c1614610577578380f35b7fc9dbe135de02dd78e4f9241c7a751be6da4d2848fc9b92c3ad16116fe884b4dd9284525f5160206154bd5f395f51905f526020526040842064020000000064ff00000000198254161790556105ee6040519283928390929163ffffffff6020916001600160801b03604085019616845216910152565b0390a15f80808380f35b63af9adea160e01b8452600484fd5b633dc6547760e11b8452600484fd5b503461046c57604036600319011261046c576106618161063461341f565b61063c61340c565b9061064561387b565b5060405163340100c160e01b8152938492839260048401613bc4565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af490811561070357829083926106de575b50906040519283926106a08460e081019261350c565b60e060c08501528251809152602061010085019301915b8181106106c5575050500390f35b82518452859450602093840193909201916001016106b7565b90506106fc91503d8084833e6106f481836133eb565b810190613b3b565b905f61068a565b6040513d84823e3d90fd5b503461046c57604036600319011261046c5761075290602061072e61341f565b61073661340c565b60405163310ace3360e11b81529485928392906004840161394a565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49081156107c757809161078a575b60208263ffffffff60405191168152f35b90506020823d6020116107bf575b816107a5602093836133eb565b8101031261046c57506107b96020916138ab565b5f610779565b3d9150610798565b604051903d90823e3d90fd5b503461046c578060031936011261046c5760206040516101008152f35b503461046c57606036600319011261046c5761080a61341f565b602435906044356001600160401b03811161046a5761082d90369060040161370e565b61083561387b565b508215610a1457610845816147be565b60405163340100c160e01b81529173__$bfd2951eaa3e5aabb9283af4830755d90c$__919086848061087a8860048301613bfe565b0381865af4938415610a09579160c093918895936109199899946109eb575b50886108a485613c56565b526108ae81614dcd565b906108b881614f39565b906108cb6108c582614ffc565b916150bf565b6108d487613c66565b526108de86613c76565b526108e885613c86565b526108f284613c96565b526108fc83613c31565b5260405180809781946314447f4f60e11b83528860048401613ced565b03915af49283156109de578193610973575b60c0847f86243bb113d9a8a43a582f97fd5e112834f3266cff2cd53f10c4eea05b8bfb5f81866109618a60405193849384613d20565b0390a1610971604051809261350c565bf35b9091925060c03d60c0116109d7575b61098c81836133eb565b81019160c08284031261046c575092610961926109cc7f86243bb113d9a8a43a582f97fd5e112834f3266cff2cd53f10c4eea05b8bfb5f9360c0966138d0565b93509181945061092b565b503d610982565b50604051903d90823e3d90fd5b610a009194503d8088833e6106f481836133eb565b9050925f610899565b6040513d89823e3d90fd5b635cb045db60e01b8452600484fd5b503461046c57602036600319011261046c57610a7f906020610a4361341f565b604051639101c02760e01b81525f51602061543d5f395f51905f5260048201526001600160401b03909116602482015292839081906044820190565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49081156107c7578091610aba575b6040516001600160a01b0383168152602090f35b90506020823d602011610aef575b81610ad5602093836133eb565b8101031261046c5750610ae9602091613b05565b5f610aa6565b3d9150610ac8565b503461046c5761012036600319011261046c57610b12613590565b60243560c0366043190112610f2f5760405191610b2e8361337f565b60443560ff81168103610466578352606435600f811015610466576020840152608435600681101561046657604084015260a435600f81101561046657606084015260c4356001600160401b038116810361046657608084015260e4356bffffffffffffffffffffffff19811681036104665760a0840152610104356001600160401b03811161046657610bc690369060040161370e565b90610bcf61387b565b506001600160a01b03168061102557821561101657610bed826147be565b9465ffffffffffff5f5160206154dd5f395f51905f5254169465fffffffffffe8610156110075765ffffffffffff8614610ff35765ffffffffffff600187011665ffffffffffff195f5160206154dd5f395f51905f525416175f5160206154dd5f395f51905f5255610120604051610c6582826133eb565b6008815260208101601f198301368237815115610fdf5785905286610c8982613c56565b52805160021015610fcb57604498846060830152610ca687614dcd565b610caf88614f39565b610cb889614ffc565b610cc18a6150bf565b610cca86613c66565b52610cd485613c76565b52610cde84613c86565b52610ce883613c96565b52610cf282613c31565b525f51602061547d5f395f51905f5254604051638399ebdd60e01b81526003600482015260248101869052996020918b919082906001600160a01b03165afa988915610f33578499610f8f575b505f5160206153fd5f395f51905f525460405163386956c760e01b8152600360048201526024810186905290602090829060449082906001600160a01b03165afa908115610f84578591610f3e575b5063ffffffff908160209b60016040519d8e610da98161337f565b8a815201521660408c01521660608a0152600360808a0152600360a08a015273__$bfd2951eaa3e5aabb9283af4830755d90c$__803b1561046657610e2485918b8b610e3860405196879586948594634881a43960e01b86525f51602061543d5f395f51905f5260048701526024860152604485019061350c565b610140610104840152610144830190613cba565b3361012483015203915af48015610f3357908491610f1a575b505090610e889160409493945196610220880194898952610e7560208a018c61350c565b60e089015261010088015286019061367e565b6102206101e08501528251809152602061024085019301915b818110610eec5750505090807f090e1a52be5a331e1b485a02a3cd2962e5bd3131483cb39a9afb3894f65cd42892336102008301520390a1610ee8604051928392836137ad565b0390f35b8251805161ffff16855260209081015165ffffffffffff168186015260409094019390920191600101610ea1565b81610f24916133eb565b610f2f57825f610e51565b8280fd5b6040513d86823e3d90fd5b90506020813d602011610f7c575b81610f59602093836133eb565b810103126104665760209963ffffffff610f7381936138ab565b92505099610d8e565b3d9150610f4c565b6040513d87823e3d90fd5b9098506020813d602011610fc3575b81610fab602093836133eb565b8101031261046a57610fbc906138ab565b975f610d3f565b3d9150610f9e565b634e487b7160e01b84526032600452602484fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b82526011600452602482fd5b631a93c68960e11b8252600482fd5b635cb045db60e01b8552600485fd5b636e12839960e01b8552600485fd5b503461046c578060031936011261046c577f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f7902703546040516001600160a01b039091168152602090f35b503461046c578060031936011261046c5750610ee860405161109f6040826133eb565b60058152640352e302e360dc1b60208201526040519182916020835260208301906136ea565b503461046c578060031936011261046c575f5160206153fd5f395f51905f52546040516001600160a01b039091168152602090f35b503461046c57604036600319011261046c5761111461341f565b9061111d6135a6565b604051635640151160e11b81525f51602061543d5f395f51905f5260048201526001600160401b03841660248201526001600160a01b038216604482015290929060208160648173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49283156107c75780936111d4575b6020847f0380003014d3eb866ebb3263769d0a1ee8a22d65fb9ee45694fdff8a272296e981866111bf8a60405193849384613d44565b0390a16040516001600160a01b039091168152f35b909192506020823d602011611236575b816111f1602093836133eb565b8101031261046c57506020926111bf9261122b7f0380003014d3eb866ebb3263769d0a1ee8a22d65fb9ee45694fdff8a272296e993613b05565b935091819450611189565b3d91506111e4565b503461046c57602036600319011261046c5760c061126b61125d61341f565b61126561387b565b5061467b565b610971604051809261367e565b503461046c57606036600319011261046c5761129261341f565b61129a61340c565b9160443563ffffffff81168091036113bc576112b461387b565b5063ffffffff6040519463d995904360e01b86525f51602061543d5f395f51905f5260048701526001600160401b038516602487015216604485015260648401526008608484015260c08360a48173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49283156109de57819361135c575b60c0847fad4b280f21eb4bc313771beab60b6535c835235b422fe851f718c6bef2f283938186610961604051928392836137ad565b90925060c03d60c0116113b5575b61137481836133eb565b81019260c08285031261046c57506113af60c0937fad4b280f21eb4bc313771beab60b6535c835235b422fe851f718c6bef2f28393926138d0565b92611327565b503d61136a565b5080fd5b503461046c578060031936011261046c575f51602061539d5f395f51905f52546040516001600160a01b039091168152602090f35b503461046c57604036600319011261046c5761140f613339565b61141761340c565b602082901b600160201b600160a01b031663ffffffff821617600160a11b17918284525f5160206154bd5f395f51905f5260205260ff604085205460201c1615610607578284525f5160206154bd5f395f51905f52602052600260ff604086205460201c16146105f8578284525f5160206154bd5f395f51905f52602052600160ff604086205460201c16146114ab578380f35b7fcec1bd5bf41ed1329467f96f878d44c30902e4c524e42c2568b86de0f97017659284525f5160206154bd5f395f51905f526020526040842064020000000064ff00000000198254161790556105ee6040519283928390929163ffffffff6020916001600160801b03604085019616845216910152565b503461046c578060031936011261046c5761153b61478b565b5f51602061539d5f395f51905f5280546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461046c57604036600319011261046c576115a561341f565b602435906115b161387b565b5081156116305760405163340100c160e01b815273__$bfd2951eaa3e5aabb9283af4830755d90c$__8482806115ea8660048301613bfe565b0381845af4918215610f84579160c0918693610919969792611612575b50866108fc83613c56565b6116279192503d8086833e6106f481836133eb565b9050905f611607565b635cb045db60e01b8352600483fd5b503461046c578060031936011261046c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036116975760206040515f5160206153dd5f395f51905f528152f35b63703e46dd60e11b8152600490fd5b503461046c578060031936011261046c575f51602061547d5f395f51905f52546040516001600160a01b039091168152602090f35b503461046c57602036600319011261046c5761173f9060e06116fb61341f565b61170361387b565b5060405163154c1b43831b81525f51602061543d5f395f51905f5260048201526001600160401b03909116602482015292839081906044820190565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af480156109de5760e0928291611786575b50611776604051809361350c565b6001600160a01b031660c0820152f35b90506117a89150823d84116117ae575b6117a081836133eb565b810190613b19565b5f611768565b503d611796565b50604036600319011261046c576117ca613590565b602435906001600160401b038211610f2f5736602383011215610f2f57816004013590836117f783613656565b9361180560405195866133eb565b83855260208501933660248284010111610f2f57806024602093018637850101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163081149081156119e0575b506119d15761186861478b565b6040516352d1902d60e01b81526001600160a01b0382169390602081600481885afa869181611999575b506118ab57634c9c8ce360e01b86526004859052602486fd5b93845f5160206153dd5f395f51905f528796036119875750823b15611975575f5160206153dd5f395f51905f5280546001600160a01b031916821790558491907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8380a280511561195a5761194e9382915190845af43d15611952573d9161193283613656565b9261194060405194856133eb565b83523d85602085013e61533e565b5080f35b60609161533e565b50505050346119665780f35b63b398979f60e01b8152600490fd5b634c9c8ce360e01b8552600452602484fd5b632a87526960e21b8652600452602485fd5b9091506020813d6020116119c9575b816119b5602093836133eb565b810103126119c55751905f611892565b5f80fd5b3d91506119a8565b63703e46dd60e11b8452600484fd5b5f5160206153dd5f395f51905f52546001600160a01b0316141590505f61185b565b503461046c57602036600319011261046c57611a1c61341f565b611a2461387b565b50604051637ce36e2360e11b81525f51602061543d5f395f51905f5260048201526001600160401b0382166024820152600860448201529160c08360648173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49283156109de578193611abc575b60c0847f847be2ee41fb7fd819cd9f0fa2c88487d5a0b19369ae96421d660bd92116f9a48186610961604051928392836137ad565b90925060c03d60c011611b15575b611ad481836133eb565b81019260c08285031261046c5750611b0f60c0937f847be2ee41fb7fd819cd9f0fa2c88487d5a0b19369ae96421d660bd92116f9a4926138d0565b92611a87565b503d611aca565b503461046c57602036600319011261046c57600435906001600160401b03821161046c573660238301121561046c578160040135611b598161363f565b92611b6760405194856133eb565b81845260208401906024829360051b8201019036821161046657929492602401915b818310611c7057505050604051928391631cff580560e11b835260448301905f51602061543d5f395f51905f5260048501526040602485015251809152606483019190845b818110611c4e575050509080602092038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49081156107c7578091611c11575b6020826040519015158152f35b90506020823d602011611c46575b81611c2c602093836133eb565b8101031261046c5750611c40602091613af8565b5f611c04565b3d9150611c1f565b82516001600160401b0316845286945060209384019390920191600101611bce565b92949282356001600160401b03811681036119c557815292949260209283019201611b89565b503461046c57611ca536613435565b611cb0829392613ef4565b6001600160a01b031633039250611e6d91505057611ccd81613f1e565b600160201b600160a01b038360201b16600160a11b1782525f51602061541d5f395f51905f5260205263ffffffff60408320611d0b828254166137cf565b815483191692169182179055808252600160208084019182526060840185815295929083901b600160201b600160a01b031663ffffffff90911617600160a11b1784525f5160206154bd5f395f51905f5260209081526040852084518154935164ffffffffff1990941663ffffffff91909116179290911b64ff00000000169190911781556040830151946005861015611e59578154905160808581015160a087015160c08089015164ffffffffff90961660289b909b1b60ff60281b169a909a1760309490941b61ffff60301b169390931760409190911b67ffffffffffffffff60401b161791901b67ffffffffffffffff60801b1617951b6001600160c01b03191694909417845591927f3990c6121ebba199bf4e035554adbe455162e4898a348962cca8d43806076a829290600160e0840151910155611e53604051928392836137e6565b0390a180f35b634e487b7160e01b85526021600452602485fd5b6282b42960e81b8252600482fd5b503461046c578060031936011261046c577f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f7902701546040516001600160a01b039091168152602090f35b50346119c557611f1a90611efa611ed936613566565b94919290948060c01c916001600160801b0363ffffffff8360801c16921690565b939150508060c01c916001600160801b0363ffffffff8360801c16921690565b92919050611f27826141cc565b611f30846141cc565b916001600160801b0360208401511691602081016001600160801b03815116935f60e0604051611f5f8161334f565b8281528260208201528260408201528260608201528260808201528260a08201528260c082015201525f525f51602061549d5f395f51905f5260205260405f209060405194611fad8661334f565b825465ffffffffffff81168752602087019365ffffffffffff8260301c16855265ffffffffffff8260601c16600160408a019282845260608b019460901c8552015460ff811660808b015260018060a01b038160081c1660a08b015262ffffff8160a81c1660c08b015260c01c60e08a015215612848575165ffffffffffff166001600160401b038d160361283957516001600160701b031603612839576120bf9161205761387b565b506040848101516080810151908201515f51602061547d5f395f51905f52548351632dc61f7d60e01b81526001600160401b03938416600482015263ffffffff9092166024830152918e1660448201529485916001600160a01b031690829081906064820190565b03915afa92831561282e575f905f946127fa575b50156127bd575050612101906120e7613ac7565b506001600160401b0360806040880151015116908a614279565b92909291612115612110614353565b614bee565b61212965ffffffffffff8551168b89614756565b936121348b89614729565b5f8681525f5160206153bd5f395f51905f5260205260409020549091905f199061216090600190613aeb565b916121728361216d614353565b614c40565b612200602082019361ffff855116946121b4604096875161219389826133eb565b600f81526e626f756e64732e6b696e644465677360881b6020820152614c40565b6121ea65ffffffffffff85511687516121cd89826133eb565b600b81526a189bdd5b991ccb9ada5b9960aa1b6020820152614c40565b61ffff65ffffffffffff85511691511691614ca8565b61220b612110614353565b65ffffffffffff838201511661275a575b50505093925b608086015160ff166127325760808701516001600160a01b03165b6040820151600681101561271e57612651576001600160a01b03163303612643575b6001600160401b03608082015116806125f2575b50608087810151838201519188015160608401516001600160a01b03928316949093600f85101593169160ff16836125de57806124b15750505061249d5761248e5786918b91805b6001600160a01b0382168190036123e7575b5050926122e392916001600160801b03946143c9565b961687525f51602061549d5f395f51905f5260205286600160408220828155015586525f5160206153bd5f395f51905f52602052604086208054905f1982019182116123d3575585525f5160206153bd5f395f51905f526020526040852080545f198101919082116123bf575560e0015160209091015193947fabb20dc355962c71db26b27f6a9b318b5f54e9cdfb67bd31ba7f7ec6461f882294611e539260c01b6001600160c01b03191660809290921b67ffffffffffffffff60801b16919091176001600160801b0391909116176040519384938461397d565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526011600452602488fd5b6020929450612428935060018060a01b0360608b015116908d6001600160401b038c511660405196879586948593638aed990760e01b855260048501613d44565b03925af1801561248357928b6122e39389936001600160801b0396612454575b509194819394506122cd565b6124759060203d60201161247c575b61246d81836133eb565b8101906143a9565b505f612448565b503d612463565b6040513d8c823e3d90fd5b630f54c17160e21b8a5260048afd5b634e487b7160e01b8b52602160045260248bfd5b6001811015806125d3575b156125025750505061249d57918b91838994155f146124dc5750806122bb565b919350915060070361248e5760a086015187928c9290916001600160a01b0316906122bb565b9193909250906007036125c457918d93918a959380155f1461252757505050806122bb565b939550919350916001810361254557630f54c17160e21b8d5260048dfd5b8c9160018211806125b6575b156125a75760a0015160601c91612593578994928e949261258461257f61257a61258d95614375565b614387565b61439a565b91339085614cd1565b906122bb565b634e487b7160e01b8d52602160045260248dfd5b630f54c17160e21b8e5260048efd5b508d92506006821115612551565b63220bd06d60e21b8d5260048dfd5b5060068111156124bc565b634e487b7160e01b8f52602160045260248ffd5b65ffffffffffff875116016001600160401b03811161262f576001600160401b03164210612620575f612273565b6309b89c0160e11b8a5260048afd5b634e487b7160e01b8b52601160045260248bfd5b6282b42960e81b8a5260048afd5b6040820151600681101561271e57600103612681575060808201516001600160a01b03163303612643575b61225f565b6040820151600681101561271e576002036126c8576001600160a01b0316331415806126b1575b6126435761225f565b5060808201516001600160a01b03163314156126a8565b6040820151600681101561271e57600303612718576001600160a01b031633148015612702575b1561267c576282b42960e81b8a5260048afd5b5060808201516001600160a01b031633146126ef565b5061225f565b634e487b7160e01b8c52602160045260248cfd5b608086015160ff16600703612747578961223d565b60a08601516001600160a01b031661223d565b5f8481525f5160206153bd5f395f51905f5260205292832054929c5090600160ff1b81146127a95760606127976127a19461ffff935f0390613aeb565b9201511690614c83565b5f808061221c565b634e487b7160e01b5f52601160045260245ffd5b92909391506127f48a6127ee65ffffffffffff6001600160801b036127e18461467b565b9851169651168287614756565b94614729565b93612222565b905061281f91935060403d604011612827575b61281781836133eb565b810190614258565b92905f6120d3565b503d61280d565b6040513d5f823e3d90fd5b6313236d6b60e01b5f5260045ffd5b635c11956d60e01b5f5260045ffd5b346119c55760206104b761286a366135bc565b949390939291926139a5565b346119c55760603660031901126119c55761288f61341f565b61289761340c565b604435916001600160401b03831683036119c55760405163340100c160e01b8152915f91839182916128cd919060048401613bc4565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af490811561282e5761ffff65ffffffffffff61291b60a09582612912819786975f91612943575b50613c31565b519116906151ad565b9592604098919498519815158952166020880152166040860152166060840152166080820152f35b61295791503d805f833e6106f481836133eb565b90508a61290c565b346119c5576129b461299461297336613566565b93919290938060c01c916001600160801b0363ffffffff8360801c16921690565b929150928060c01c916001600160801b0363ffffffff8360801c16921690565b6129c0849592956141cc565b6129c9826141cc565b926001600160801b036020850151165f525f51602061549d5f395f51905f5260205260405f206040516129fb8161334f565b60e0600183549365ffffffffffff8516845265ffffffffffff8560301c16602085015265ffffffffffff8560601c169485604086015260901c6060850152015460ff8116608084015260018060a01b038160081c1660a084015262ffffff8160a81c1660c084015260c01c9101526130bd576040828101516080810151908201515f51602061547d5f395f51905f52548351632dc61f7d60e01b81526001600160401b03938416600482015263ffffffff9092166024830152918b166044820152929190839060649082906001600160a01b03165afa91821561282e575f905f93613099575b501561308a57612b0963ffffffff926001600160401b0360806040890151015116908b614279565b92909816155f146130845760808501516001600160a01b031633145b156130705763ffffffff1661307e5760808201516001600160a01b031633145b1561307057612b55612110614353565b612b6965ffffffffffff8851168988614756565b90612b748988614729565b92825f525f5160206153bd5f395f51905f5260205260405f205495600187018097116127a9578996612bf290612bac8161216d614353565b6020890161ffff65ffffffffffff818351169b612bd260409d8e612193815191826133eb565b612be78d83835116906121cd815191826133eb565b511691511691614ca8565b612bfd612110614353565b65ffffffffffff878b015116613033575b608081810180519184015160208601516001600160a01b0393841696909390929116600f841015612e80578b938f9360ff821680612f29575050505060018060a01b03905116935f945f965b6001600160a01b038216819003612e94575b50509165ffffffffffff9391612c81936143c9565b995116916008821015612e8057876001600160401b03918760ff60018f8c908f612dcf9a65ffffffffffff845194612cb88661334f565b81421686526020860192835281818701951685526001600160701b03606087019416845287608087019d168d5260a0860199878060a01b03168a526001600160801b0360c08701995f8b528d60e089019d168d52165f525f51602061549d5f395f51905f526020525f2094511665ffffffffffff19855416178455519165ffffffffffff6bffffffffffff0000000000008554928260601b905160601b169371ffffffffffffffffffffffffffffffffffff19905160901b169460301b169116171717815501955116855492610100600160a81b03905160081b169162ffffff60a81b905160a81b16928560c01b16171717835551168154906001600160401b0360c01b9060c01b169060018060c01b0316179055565b5f525f5160206153bd5f395f51905f52602052825f20805490600182018092116127a957555f525f5160206153bd5f395f51905f52602052815f2090815493600185018095116127a957939091557f6176e60cd4ddf52618fa61f79a2b5fa724340395bb91018698deae36496754fa95612e7b9360c01b6001600160c01b03191660809190911b67ffffffffffffffff60801b16176001600160801b039091161790519384938461397d565b0390a1005b634e487b7160e01b5f52602160045260245ffd5b6020929450612ed5935060018060a01b03606087015116905f8d6001600160401b03895116905196879586948593638aed990760e01b855260048501613d44565b03925af18015612f1f578d612c819365ffffffffffff95938d93612f00575b50919381939550612c6c565b612f189060203d60201161247c5761246d81836133eb565b505f612ef4565b89513d5f823e3d90fd5b92955092509250600181101580613028575b15612f84575060a0612f5291015160601c91614375565b60ff5f1991160160ff81116127a9578a928e92612f71612f7a9361439a565b91339089614cd1565b935f945f96612c5a565b9094909160078303612f9f57634fcf118160e11b5f5260045ffd5b8b938f9360088110158061301d575b15612fef5750612fe9903092612fe061257f61257a60a0612fd461257f61257a87614375565b9c015160601c93614375565b9133908b614cd1565b96612c5a565b935050509350600e9150145f1461300e57878b30936007945f96612c5a565b634fcf118160e11b5f5260045ffd5b50600d811115612fae565b506006811115612f3b565b845f525f5160206153bd5f395f51905f52602052865f2054600181018091116127a9578061306b915061ffff60608d01511690614c83565b612c0e565b6282b42960e81b5f5260045ffd5b5f612b45565b5f612b25565b6331c9038360e01b5f5260045ffd5b90506130b591925060403d6040116128275761281781836133eb565b91908a612ae1565b63203de7bb60e21b5f5260045ffd5b346119c55760403660031901126119c55761311760c06130ea61341f565b6130f261340c565b906130fb61387b565b50604051632866ef3160e21b815293849283926004840161394a565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af4801561282e575f9061314d575b60c090610971604051809261350c565b5060c03d60c011613181575b61316381836133eb565b81019060c0818303126119c55760c09161317c916138d0565b61313d565b503d613159565b346119c55761319636613435565b61319f82613ef4565b6001600160a01b031633039250613070915050576131bc81613f1e565b600160201b600160a01b038260201b16600160a01b175f525f51602061541d5f395f51905f5260205263ffffffff60405f206131fa828254166137cf565b815483191692169182179055808252600160208084019182525f6060850181815286831b600160201b600160a01b031663ffffffff95861617600160a01b1782525f5160206154bd5f395f51905f52835260409182902086518154955164ffffffffff199096169616959095179390921b64ff0000000016929092178355908301519391906005851015612e80578154905160808581015160a087015160c08089015164ffffffffff90961660289a909a1b60ff60281b169990991760309490941b61ffff60301b169390931760409190911b67ffffffffffffffff60401b161791901b67ffffffffffffffff60801b1617941b6001600160c01b0319169390931783557fae0947f631aae9cc9c660079e614352bf9d18405079a646e69a6ea4129411ee092600160e0840151910155612e7b604051928392836137e6565b600435906001600160801b03821682036119c557565b61010081019081106001600160401b0382111761336b57604052565b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b0382111761336b57604052565b604081019081106001600160401b0382111761336b57604052565b608081019081106001600160401b0382111761336b57604052565b60a081019081106001600160401b0382111761336b57604052565b90601f801991011681019081106001600160401b0382111761336b57604052565b6024359063ffffffff821682036119c557565b600435906001600160401b03821682036119c557565b906101206003198301126119c5576004356001600160801b03811681036119c557610100909260231901126119c5576040516134708161334f565b60243563ffffffff811681036119c557815260443560ff811681036119c557602082015260643560058110156119c557604082015260843561ffff811681036119c557606082015260a4356001600160401b03811681036119c557608082015260c4356001600160401b03811681036119c55760a082015260e4356001600160401b03811681036119c55760c08201526101043560e082015290565b6001600160401b0360a0809263ffffffff815116855263ffffffff602082015116602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152826080820151166080860152015116910152565b60609060031901126119c557600435906024356001600160401b03811681036119c5579060443590565b600435906001600160a01b03821682036119c557565b602435906001600160a01b03821682036119c557565b60c09060031901126119c55760043563ffffffff811681036119c557906024356001600160a01b03811681036119c557906044356001600160801b03811681036119c557906064356001600160401b03811681036119c557906084356001600160401b03811681036119c5579060a4356001600160401b03811681036119c55790565b6001600160401b03811161336b5760051b60200190565b6001600160401b03811161336b57601f01601f191660200190565b90600f821015612e805752565b60ff815116825261369760208201516020840190613671565b6040810151906006821015612e805760a09160408401526136c060608201516060850190613671565b6080818101516001600160401b0316908401528101516bffffffffffffffffffffffff1916910152565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b81601f820112156119c5578035906137258261363f565b9261373360405194856133eb565b82845260208085019360061b830101918183116119c557602001925b82841061375d575050505090565b6040848303126119c557604051906137748261339a565b843561ffff811681036119c557825260208501359065ffffffffffff821682036119c5578260209283604095015281520193019261374f565b9160206137cd9294936001600160401b0360e0820196168152019061350c565b565b63ffffffff1663ffffffff81146127a95760010190565b9092916001600160801b0361012083019416825263ffffffff815116602083015260ff602082015116604083015260408101516005811015612e80576101009160e091606085015261ffff60608201511660808501526001600160401b0360808201511660a08501526001600160401b0360a08201511660c08501526001600160401b0360c082015116828501520151910152565b604051906138888261337f565b5f60a0838281528260208201528260408201528260608201528260808201520152565b519063ffffffff821682036119c557565b51906001600160401b03821682036119c557565b91908260c09103126119c5576040516138e88161337f565b60a06139458183956138f9816138ab565b8552613907602082016138ab565b6020860152613918604082016138ab565b6040860152613929606082016138ab565b606086015261393a608082016138bc565b6080860152016138bc565b910152565b5f51602061543d5f395f51905f5281526001600160401b03909116602082015263ffffffff909116604082015260600190565b6139a160e0929594936001600160801b03610100840197168352602083019061350c565b0152565b909493929190602082901b600160201b600160a01b031663ffffffff90911617600160a01b175f525f5160206154bd5f395f51905f5260205260405f2094604051956139f08761334f565b805463ffffffff811688526020880160ff8260201c16815260ff8260281c166005811015612e805760019360ff93859260408d015261ffff8160301c1660608d01526001600160401b038160401c1660808d01526001600160401b038160801c1660a08d015260c01c60c08c0152015460e08a0152511603613abd57600160201b600160a01b038260201b16600160a01b1763ffffffff875116905f525f51602061541d5f395f51905f5260205263ffffffff60405f205460201c1611613abd57613aba95614510565b90565b5050505050505f90565b60405190613ad4826133b5565b5f6060838281528260208201528260408201520152565b919082039182116127a957565b519081151582036119c557565b51906001600160a01b03821682036119c557565b919060e0838203126119c55760c0613b34613aba92856138d0565b9301613b05565b919060e0838203126119c557613b5181846138d0565b9260c0810151906001600160401b0382116119c557019080601f830112156119c5578151613b7e8161363f565b92613b8c60405194856133eb565b81845260208085019260051b8201019283116119c557602001905b828210613bb45750505090565b8151815260209182019101613ba7565b60609063ffffffff60089395946001600160401b0360808401975f51602061543d5f395f51905f5285521660208401521660408201520152565b5f51602061543d5f395f51905f5281526001600160401b0390911660208201525f60408201526008606082015260800190565b805160071015613c42576101000190565b634e487b7160e01b5f52603260045260245ffd5b805160011015613c425760400190565b805160061015613c425760e00190565b805160051015613c425760c00190565b805160041015613c425760a00190565b805160031015613c425760800190565b8051821015613c425760209160051b010190565b90602080835192838152019201905f5b818110613cd75750505090565b8251845260209384019390920191600101613cca565b6060906001600160401b03613aba94935f51602061543d5f395f51905f5283521660208201528160408201520190613cba565b6139a160e0929594936001600160401b03610100840197168352602083019061350c565b6001600160401b0390911681526001600160a01b0391821660208201529116604082015260600190565b909493929190602082901b600160201b600160a01b031663ffffffff90911617600160a11b175f525f5160206154bd5f395f51905f5260205260405f209460405195613db98761334f565b805463ffffffff811688526020880160ff8260201c16815260ff8260281c166005811015612e805760019360ff93859260408d015261ffff8160301c1660608d01526001600160401b038160401c1660808d01526001600160401b038160801c1660a08d015260c01c60c08c0152015460e08a0152511603613abd57600160201b600160a01b038260201b16600160a11b1763ffffffff875116905f525f51602061541d5f395f51905f5260205263ffffffff60405f205460201c1611613abd57613aba95614510565b6001600160a01b03168015613ee1575f51602061539d5f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b90613f196001600160401b0392613f0961387b565b5083811693849160401c16614af7565b909192565b65fffffffffffe6001600160401b03608083015116116141bd5765fffffffffffe6001600160401b0360a083015116116141ae5765fffffffffffe6001600160401b0360c0830151161161419f57604060e0820151910180516005811015612e8057600403613f9d5750613f8e57565b630229244160e01b5f5260045ffd5b80516005811015612e8057613fc25750613fb357565b63b059088b60e01b5f5260045ffd5b80516005811015612e8057600203613ff457506001600160a01b031916613fe557565b6324d6550560e01b5f5260045ffd5b80516005811015612e805760030361404557506001600160a01b03198116614036576001600160a01b03163b1561402757565b635ec3640d60e11b5f5260045ffd5b6334e3e8c160e21b5f5260045ffd5b516005811015612e805760010361419057805f1a65ffffffffffff8260c01c166001600160801b036001600160401b038460801c16931691600181145f146140c9575065fffffffffffe109182156140bf575b5081156140b6575b506140a757565b6330e0031360e21b5f5260045ffd5b9050155f6140a0565b151591505f614098565b9092906002810361412657508215928315614116575b50821561410d575b508115614104575b50156137cd57630aaa469f60e11b5f5260045ffd5b9050155f6140ef565b1591505f6140e7565b65fffffffffffe1092505f6140df565b600303614181578215928315614171575b508215614168575b50811561415c575b50156137cd576368bfad0160e11b5f5260045ffd5b6001915014155f614147565b1591505f61413f565b65fffffffffffe1092505f614137565b636c5ca35760e01b5f5260045ffd5b6325226d5f60e11b5f5260045ffd5b630216e46d60e41b5f5260045ffd5b6305ec3cc560e31b5f5260045ffd5b63257d56e560e11b5f5260045ffd5b5f60806040516141db816133d0565b8281528260208201526141ec61387b565b604082015282606082015201526001600160801b036001600160401b03821691614222836001600160401b038360401c16614af7565b93909260405195614232876133d0565b865216602085015260408401526001600160a01b03908116606084015216608082015290565b91908260409103126119c557613aba602061427284613af8565b93016138ab565b92915f6142ad92614288613ac7565b5061429161387b565b506040518094819263340100c160e01b83528860048401613bc4565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af4801561282e5761291265ffffffffffff916142e7945f916143375750613c31565b909193156143285765ffffffffffff61ffff9283613aba96836040519761430d896133b5565b1687521660208601521660408401521660608201529261467b565b6307d67b9f60e01b5f5260045ffd5b61434b91503d805f833e6106f481836133eb565b90505f61290c565b604051906143626040836133eb565b600482526368656c6f60e01b6020830152565b60ff60019116019060ff82116127a957565b60ff6007199116019060ff82116127a957565b60ff166008811015612e805790565b908160209103126119c557516001600160e01b0319811681036119c55790565b6001600160401b03935f60c49260c0956143e161387b565b508760018060a01b036060840151169251169360408101519089806080818060a08701511694511694015116936040519b8c9a8b99632ad678c160e21b8b5260048b01521660248901521660448701526064860152608485015260a48401525af190811561282e575f916144d7575b50602081019063ffffffff825116156144c85763ffffffff808251169251169063ffffffff60408201511663ffffffff606083015116906001600160401b0360a0816080860151169401511693604051956144aa8761337f565b8652602086015260408501526060840152608083015260a082015290565b630aa9029760e01b5f5260045ffd5b905060c03d60c011614509575b6144ee81836133eb565b810160c0828203126119c557614503916138d0565b5f614450565b503d6144e4565b93909491926001600160401b036080860151168015159182614667575b505061465e576001600160401b0360a085015116801515918261464a575b5050614642576001600160401b0360c084015116801515918261462e575b5050614627576040820180516005811015612e805760040361458e5750505050600190565b80516005811015612e80576145c057506145a89150613ef4565b6001600160a01b039485169416939093149392505050565b809150516005811015612e80576002036145ea575060e001516001600160a01b0391821691161490565b91505080516005811015612e805760030361460e57636e12839960e01b5f5260045ffd5b516005811015612e8057600103614623575f90565b5f90565b5050505f90565b6001600160401b0316141590505f80614569565b505050505f90565b6001600160401b0316141590505f8061454b565b50505050505f90565b6001600160401b0316141590505f8061452d565b61468361387b565b5061468c61387b565b506001600160401b036040519163dbe7760960e01b83525f51602061543d5f395f51905f5260048401521660248201525f60448201526002606482015260208160848173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af4801561282e576146fa575b50613aba61387b565b6020813d602011614721575b81614713602093836133eb565b810103126119c557516146f1565b3d9150614706565b60809190911b67ffffffffffffffff60801b166001600160801b039091161765ffffffffffff60c01b1790565b60c09290921b65ffffffffffff60c01b1660809190911b67ffffffffffffffff60801b16176001600160801b03919091161790565b5f51602061539d5f395f51905f52546001600160a01b031633036147ab57565b63118cdaa760e01b5f523360045260245ffd5b6147c661387b565b815115614ae8576010825111614ad95760015b8251811015614838575f1981018181116127a957602061480065ffffffffffff9286613ca6565b5101511665ffffffffffff60206148178487613ca6565b510151161115614829576001016147d9565b630a6fd7a560e11b5f5260045ffd5b5091906040830191600183525f5b82518110156148cd576148598184613ca6565b51602081015165ffffffffffff168061488557509061ffff600192836080890152511686525b01614846565b65ffffffffffff036148aa579061ffff6001928360608901525116602087015261487f565b5060a085019060ff8251169160ff83146127a95760ff600180940116905261487f565b50919290926148db84614d38565b93845f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0160205260ff60405f205460201c16614ad457845f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0160205260405f2061ffff808551161661ffff19825416178155602084019261497861ffff855116839063ffff000082549160101b169063ffff00001916179055565b51815460608601805165ffff000000001990921692151560201b64ff00000000169290921790151560281b60ff60281b1617825593608081015115159066ff00000000000067ff0000000000000060a0855493015160381b169260301b169061ffff60301b1916171790555f5b8151811015614ace57806149fb60019284613ca6565b51602081019065ffffffffffff8251168015159081614abd575b50614a23575b5050016149e5565b5f8981527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0060209081526040808320945165ffffffffffff16835293905291909120805491518751875163ffff000060109190911b1665ff00ffff00001964ff0000ffff1990951661ffff90931692909217640100000000179390931692151560281b60ff60281b16929092179190911790555f80614a1b565b65ffffffffffff915014155f614a15565b50505050565b505050565b6352609cb360e01b5f5260045ffd5b63206df1c560e11b5f5260045ffd5b614aff61387b565b505f5160206153fd5f395f51905f5254604051631246702760e31b81526001600160401b03929092166004830152602090829060249082906001600160a01b03165afa90811561282e575f91614bb4575b5060405163179cbc4f60e11b81526001600160401b039290921660048301529060e0816024816001600160a01b0386165afa801561282e575f915f91614b9557509092565b9050614bb0915060e03d60e0116117ae576117a081836133eb565b9092565b90506020813d602011614be6575b81614bcf602093836133eb565b810103126119c557614be090613b05565b5f614b50565b3d9150614bc2565b5f614c1b614c29829360405192839163104c13eb60e21b60208401526020602484015260448301906136ea565b03601f1981018352826133eb565b6020815191016a636f6e736f6c652e6c6f675afa50565b614c6f614c295f93928493604051938492632d839cb360e21b60208501526040602485015260648401906136ea565b90604483015203601f1981018352826133eb565b90617fff1610614c8f57565b630aeeed0f60e01b5f5265ffffffffffff60045260245ffd5b9091617fff1610614cb65750565b65ffffffffffff90630aeeed0f60e01b5f521660045260245ffd5b939290926008811015612e805760018103614ced575050505090565b929350909160028103614d005750505090565b9192509060038103614d1157505090565b90915060048103614d20575090565b60058103614d2e5750505f90565b60060361300e5790565b805115614dc857614d4881614dcd565b90614d5281614f39565b90614d5f6108c582614ffc565b90831580614dc0575b80614db8575b80614db0575b15614d8157505050505f90565b604051926020840194855260408401526060830152608082015260808152614daa60a0826133eb565b51902090565b508115614d74565b508015614d6e565b508215614d68565b505f90565b805115614f1e57614dde5f82613ca6565b51905b5f81516001105f14614f0257505f80614dfb600184613ca6565b51915b614ed157825160021015614ee557505f9182614e1b600283613ca6565b51935b614ed15750805160031015614eb5576003614e3891613ca6565b51925b65ffffffffffff602061ffff60301b835160301b16920151161760c01b9065ffffffffffff602061ffff60301b835160301b16920151161760801b179065ffffffffffff602061ffff60301b835160301b16920151161760401b179065ffffffffffff602061ffff60301b835160301b1692015116171790565b50604051614ec28161339a565b5f81525f602082015292614e3b565b634e487b7160e01b81526011600452602490fd5b9182604051614ef38161339a565b5f81525f602082015293614e1e565b80604051614f0f8161339a565b5f81525f602082015291614dfe565b604051614f2a8161339a565b5f81525f602082015290614de1565b805160041015614fe157614f4e600482613ca6565b51905b5f81516005105f14614fc557505f80614f6b600584613ca6565b51915b614ed157825160061015614fa857505f9182614f8b600683613ca6565b51935b614ed15750805160071015614eb5576007614e3891613ca6565b9182604051614fb68161339a565b5f81525f602082015293614f8e565b80604051614fd28161339a565b5f81525f602082015291614f6e565b604051614fed8161339a565b5f81525f602082015290614f51565b8051600810156150a457615011600882613ca6565b51905b5f81516009105f1461508857505f8061502e600984613ca6565b51915b614ed1578251600a101561506b57505f918261504e600a83613ca6565b51935b614ed157508051600b1015614eb557600b614e3891613ca6565b91826040516150798161339a565b5f81525f602082015293615051565b806040516150958161339a565b5f81525f602082015291615031565b6040516150b08161339a565b5f81525f602082015290615014565b8051600c1015615167576150d4600c82613ca6565b51905b5f8151600d105f1461514b57505f806150f1600d84613ca6565b51915b614ed1578251600e101561512e57505f9182615111600e83613ca6565b51935b614ed157508051600f1015614eb557600f614e3891613ca6565b918260405161513c8161339a565b5f81525f602082015293615114565b806040516151588161339a565b5f81525f6020820152916150f4565b6040516151738161339a565b5f81525f6020820152906150d7565b60ff5f51602061545d5f395f51905f525460401c161561519e57565b631afcd79f60e31b5f5260045ffd5b90815f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0060205260405f2065ffffffffffff82165f5260205260405f20604051906151f8826133b5565b5490606061ffff83169283835261ffff8160101c169283602082015260ff808360201c1615159283604084015260281c161515928391015261531957505050505f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0160205260405f206040519061526f8261337f565b5461ffff81169182815261ffff8260101c169182602083015260ff8160201c16158015604084015260ff8260281c1615159283606082015260a060ff808560301c1615948515608085015260381c16910152615309576152e857156152e15765ffffffffffff905b6001935f93929190565b5f906152d7565b90929150156153035765ffffffffffff5b5f925f925f929190565b5f6152f9565b505050505f905f905f905f905f90565b92949193509091156153375765ffffffffffff915b60019493929190565b5f9161532e565b90615362575080511561535357805190602001fd5b63d6bda27560e01b5f5260045ffd5b81511580615393575b615373575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b1561536b56fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993003df9584b527247f4900a5c6b7a8400cffee00eb89e1f2f5ad0861af4fb4c0501360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f790270066533e6d1966c5548931afa2a923bcafa00e1e6794f41ca0f03bbc3ab865ab00b889e63ac5a7d4985910c5a264fb181e381a8a3f46d10618004be5e9438ffc01f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f79027023df9584b527247f4900a5c6b7a8400cffee00eb89e1f2f5ad0861af4fb4c050066533e6d1966c5548931afa2a923bcafa00e1e6794f41ca0f03bbc3ab865ab01b889e63ac5a7d4985910c5a264fb181e381a8a3f46d10618004be5e9438ffc00a2646970667358221220cf6b57af17e98847e88b40cab7ddb813ccb3eee47d48c89ef06453d5b6d8736a64736f6c634300081c0033","sourceMap":"1125:2345:3:-:0;;;;;;;1171:4:76;1163:13;;1125:2345:3;;;;;;1163:13:76;1125:2345:3;;;;;;;;;;;;;;","linkReferences":{"contracts/libraries/Snapshots.sol":{"Snapshots":[{"start":1683,"length":20},{"start":1924,"length":20},{"start":2179,"length":20},{"start":2737,"length":20},{"start":3576,"length":20},{"start":4500,"length":20},{"start":4914,"length":20},{"start":5621,"length":20},{"start":6001,"length":20},{"start":6802,"length":20},{"start":7183,"length":20},{"start":10495,"length":20},{"start":12617,"length":20},{"start":17119,"length":20},{"start":18175,"length":20}]}}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f5f3560e01c806305be88ac1461318857806306a883a0146130cc57806315ae71731461295f5780632392f87d146128765780632629dae8146128575780632aead72614611ec35780632c636a1114611e7b5780633440994b14611c965780633dae8c2814611b1c578063418239fb14611a025780634f1ef286146117b557806352393e1a146116db578063527f3e1f146116a657806352d1902d1461163f5780635634ad141461158b578063715018a614611522578063876993ca146113f55780638da5cb5b146113c0578063954fc712146112785780639e490e901461123e578063a926f041146110fa578063ac8b956b146110c5578063ad3cb1cc1461107c578063b19c379114611034578063b9f17a4714610af7578063bff9b97414610a23578063c9e2a1fb146107f0578063cda493c8146107d3578063df89b3fc1461070e578063eab25c4114610616578063ebeecfa3146104c1578063edd716f014610497578063f2fde38b1461046f5763f8c8765e14610190575f80fd5b3461046c57608036600319011261046c576101a9613590565b6101b16135a6565b6044356001600160a01b0381169081900361046a576064356001600160a01b0381169290839003610466575f51602061545d5f395f51905f52549360ff8560401c1615946001600160401b0381168015908161045e575b6001149081610454575b15908161044b575b5061043c5767ffffffffffffffff1981166001175f51602061545d5f395f51905f525561025e919086610410575b50610251615182565b610259615182565b613e83565b610266615182565b61026e615182565b60018060a01b03166001600160601b0360a01b5f5160206153fd5f395f51905f525416175f5160206153fd5f395f51905f5255306001600160601b0360a01b7f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f79027015416177f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f7902701556001600160601b0360a01b5f51602061547d5f395f51905f525416175f51602061547d5f395f51905f52556001600160601b0360a01b7f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f79027035416177f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f790270355610377615182565b601165ffffffffffff195f5160206154dd5f395f51905f525416175f5160206154dd5f395f51905f52556103a9615182565b6103b1615182565b6103b85780f35b68ff0000000000000000195f51602061545d5f395f51905f5254165f51602061545d5f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b68ffffffffffffffffff191668010000000000000001175f51602061545d5f395f51905f52555f610248565b63f92ee8a960e01b8752600487fd5b9050155f61021a565b303b159150610212565b879150610208565b8480fd5b835b80fd5b503461046c57602036600319011261046c5761049461048c613590565b61025961478b565b80f35b503461046c5760206104b76104ab366135bc565b94939093929192613d6e565b6040519015158152f35b503461046c57604036600319011261046c576104db613339565b6104e361340c565b602082901b600160201b600160a01b031663ffffffff821617600160a01b17918284525f5160206154bd5f395f51905f5260205260ff604085205460201c1615610607578284525f5160206154bd5f395f51905f52602052600260ff604086205460201c16146105f8578284525f5160206154bd5f395f51905f52602052600160ff604086205460201c1614610577578380f35b7fc9dbe135de02dd78e4f9241c7a751be6da4d2848fc9b92c3ad16116fe884b4dd9284525f5160206154bd5f395f51905f526020526040842064020000000064ff00000000198254161790556105ee6040519283928390929163ffffffff6020916001600160801b03604085019616845216910152565b0390a15f80808380f35b63af9adea160e01b8452600484fd5b633dc6547760e11b8452600484fd5b503461046c57604036600319011261046c576106618161063461341f565b61063c61340c565b9061064561387b565b5060405163340100c160e01b8152938492839260048401613bc4565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af490811561070357829083926106de575b50906040519283926106a08460e081019261350c565b60e060c08501528251809152602061010085019301915b8181106106c5575050500390f35b82518452859450602093840193909201916001016106b7565b90506106fc91503d8084833e6106f481836133eb565b810190613b3b565b905f61068a565b6040513d84823e3d90fd5b503461046c57604036600319011261046c5761075290602061072e61341f565b61073661340c565b60405163310ace3360e11b81529485928392906004840161394a565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49081156107c757809161078a575b60208263ffffffff60405191168152f35b90506020823d6020116107bf575b816107a5602093836133eb565b8101031261046c57506107b96020916138ab565b5f610779565b3d9150610798565b604051903d90823e3d90fd5b503461046c578060031936011261046c5760206040516101008152f35b503461046c57606036600319011261046c5761080a61341f565b602435906044356001600160401b03811161046a5761082d90369060040161370e565b61083561387b565b508215610a1457610845816147be565b60405163340100c160e01b81529173__$bfd2951eaa3e5aabb9283af4830755d90c$__919086848061087a8860048301613bfe565b0381865af4938415610a09579160c093918895936109199899946109eb575b50886108a485613c56565b526108ae81614dcd565b906108b881614f39565b906108cb6108c582614ffc565b916150bf565b6108d487613c66565b526108de86613c76565b526108e885613c86565b526108f284613c96565b526108fc83613c31565b5260405180809781946314447f4f60e11b83528860048401613ced565b03915af49283156109de578193610973575b60c0847f86243bb113d9a8a43a582f97fd5e112834f3266cff2cd53f10c4eea05b8bfb5f81866109618a60405193849384613d20565b0390a1610971604051809261350c565bf35b9091925060c03d60c0116109d7575b61098c81836133eb565b81019160c08284031261046c575092610961926109cc7f86243bb113d9a8a43a582f97fd5e112834f3266cff2cd53f10c4eea05b8bfb5f9360c0966138d0565b93509181945061092b565b503d610982565b50604051903d90823e3d90fd5b610a009194503d8088833e6106f481836133eb565b9050925f610899565b6040513d89823e3d90fd5b635cb045db60e01b8452600484fd5b503461046c57602036600319011261046c57610a7f906020610a4361341f565b604051639101c02760e01b81525f51602061543d5f395f51905f5260048201526001600160401b03909116602482015292839081906044820190565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49081156107c7578091610aba575b6040516001600160a01b0383168152602090f35b90506020823d602011610aef575b81610ad5602093836133eb565b8101031261046c5750610ae9602091613b05565b5f610aa6565b3d9150610ac8565b503461046c5761012036600319011261046c57610b12613590565b60243560c0366043190112610f2f5760405191610b2e8361337f565b60443560ff81168103610466578352606435600f811015610466576020840152608435600681101561046657604084015260a435600f81101561046657606084015260c4356001600160401b038116810361046657608084015260e4356bffffffffffffffffffffffff19811681036104665760a0840152610104356001600160401b03811161046657610bc690369060040161370e565b90610bcf61387b565b506001600160a01b03168061102557821561101657610bed826147be565b9465ffffffffffff5f5160206154dd5f395f51905f5254169465fffffffffffe8610156110075765ffffffffffff8614610ff35765ffffffffffff600187011665ffffffffffff195f5160206154dd5f395f51905f525416175f5160206154dd5f395f51905f5255610120604051610c6582826133eb565b6008815260208101601f198301368237815115610fdf5785905286610c8982613c56565b52805160021015610fcb57604498846060830152610ca687614dcd565b610caf88614f39565b610cb889614ffc565b610cc18a6150bf565b610cca86613c66565b52610cd485613c76565b52610cde84613c86565b52610ce883613c96565b52610cf282613c31565b525f51602061547d5f395f51905f5254604051638399ebdd60e01b81526003600482015260248101869052996020918b919082906001600160a01b03165afa988915610f33578499610f8f575b505f5160206153fd5f395f51905f525460405163386956c760e01b8152600360048201526024810186905290602090829060449082906001600160a01b03165afa908115610f84578591610f3e575b5063ffffffff908160209b60016040519d8e610da98161337f565b8a815201521660408c01521660608a0152600360808a0152600360a08a015273__$bfd2951eaa3e5aabb9283af4830755d90c$__803b1561046657610e2485918b8b610e3860405196879586948594634881a43960e01b86525f51602061543d5f395f51905f5260048701526024860152604485019061350c565b610140610104840152610144830190613cba565b3361012483015203915af48015610f3357908491610f1a575b505090610e889160409493945196610220880194898952610e7560208a018c61350c565b60e089015261010088015286019061367e565b6102206101e08501528251809152602061024085019301915b818110610eec5750505090807f090e1a52be5a331e1b485a02a3cd2962e5bd3131483cb39a9afb3894f65cd42892336102008301520390a1610ee8604051928392836137ad565b0390f35b8251805161ffff16855260209081015165ffffffffffff168186015260409094019390920191600101610ea1565b81610f24916133eb565b610f2f57825f610e51565b8280fd5b6040513d86823e3d90fd5b90506020813d602011610f7c575b81610f59602093836133eb565b810103126104665760209963ffffffff610f7381936138ab565b92505099610d8e565b3d9150610f4c565b6040513d87823e3d90fd5b9098506020813d602011610fc3575b81610fab602093836133eb565b8101031261046a57610fbc906138ab565b975f610d3f565b3d9150610f9e565b634e487b7160e01b84526032600452602484fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b82526011600452602482fd5b631a93c68960e11b8252600482fd5b635cb045db60e01b8552600485fd5b636e12839960e01b8552600485fd5b503461046c578060031936011261046c577f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f7902703546040516001600160a01b039091168152602090f35b503461046c578060031936011261046c5750610ee860405161109f6040826133eb565b60058152640352e302e360dc1b60208201526040519182916020835260208301906136ea565b503461046c578060031936011261046c575f5160206153fd5f395f51905f52546040516001600160a01b039091168152602090f35b503461046c57604036600319011261046c5761111461341f565b9061111d6135a6565b604051635640151160e11b81525f51602061543d5f395f51905f5260048201526001600160401b03841660248201526001600160a01b038216604482015290929060208160648173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49283156107c75780936111d4575b6020847f0380003014d3eb866ebb3263769d0a1ee8a22d65fb9ee45694fdff8a272296e981866111bf8a60405193849384613d44565b0390a16040516001600160a01b039091168152f35b909192506020823d602011611236575b816111f1602093836133eb565b8101031261046c57506020926111bf9261122b7f0380003014d3eb866ebb3263769d0a1ee8a22d65fb9ee45694fdff8a272296e993613b05565b935091819450611189565b3d91506111e4565b503461046c57602036600319011261046c5760c061126b61125d61341f565b61126561387b565b5061467b565b610971604051809261367e565b503461046c57606036600319011261046c5761129261341f565b61129a61340c565b9160443563ffffffff81168091036113bc576112b461387b565b5063ffffffff6040519463d995904360e01b86525f51602061543d5f395f51905f5260048701526001600160401b038516602487015216604485015260648401526008608484015260c08360a48173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49283156109de57819361135c575b60c0847fad4b280f21eb4bc313771beab60b6535c835235b422fe851f718c6bef2f283938186610961604051928392836137ad565b90925060c03d60c0116113b5575b61137481836133eb565b81019260c08285031261046c57506113af60c0937fad4b280f21eb4bc313771beab60b6535c835235b422fe851f718c6bef2f28393926138d0565b92611327565b503d61136a565b5080fd5b503461046c578060031936011261046c575f51602061539d5f395f51905f52546040516001600160a01b039091168152602090f35b503461046c57604036600319011261046c5761140f613339565b61141761340c565b602082901b600160201b600160a01b031663ffffffff821617600160a11b17918284525f5160206154bd5f395f51905f5260205260ff604085205460201c1615610607578284525f5160206154bd5f395f51905f52602052600260ff604086205460201c16146105f8578284525f5160206154bd5f395f51905f52602052600160ff604086205460201c16146114ab578380f35b7fcec1bd5bf41ed1329467f96f878d44c30902e4c524e42c2568b86de0f97017659284525f5160206154bd5f395f51905f526020526040842064020000000064ff00000000198254161790556105ee6040519283928390929163ffffffff6020916001600160801b03604085019616845216910152565b503461046c578060031936011261046c5761153b61478b565b5f51602061539d5f395f51905f5280546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461046c57604036600319011261046c576115a561341f565b602435906115b161387b565b5081156116305760405163340100c160e01b815273__$bfd2951eaa3e5aabb9283af4830755d90c$__8482806115ea8660048301613bfe565b0381845af4918215610f84579160c0918693610919969792611612575b50866108fc83613c56565b6116279192503d8086833e6106f481836133eb565b9050905f611607565b635cb045db60e01b8352600483fd5b503461046c578060031936011261046c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036116975760206040515f5160206153dd5f395f51905f528152f35b63703e46dd60e11b8152600490fd5b503461046c578060031936011261046c575f51602061547d5f395f51905f52546040516001600160a01b039091168152602090f35b503461046c57602036600319011261046c5761173f9060e06116fb61341f565b61170361387b565b5060405163154c1b43831b81525f51602061543d5f395f51905f5260048201526001600160401b03909116602482015292839081906044820190565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af480156109de5760e0928291611786575b50611776604051809361350c565b6001600160a01b031660c0820152f35b90506117a89150823d84116117ae575b6117a081836133eb565b810190613b19565b5f611768565b503d611796565b50604036600319011261046c576117ca613590565b602435906001600160401b038211610f2f5736602383011215610f2f57816004013590836117f783613656565b9361180560405195866133eb565b83855260208501933660248284010111610f2f57806024602093018637850101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163081149081156119e0575b506119d15761186861478b565b6040516352d1902d60e01b81526001600160a01b0382169390602081600481885afa869181611999575b506118ab57634c9c8ce360e01b86526004859052602486fd5b93845f5160206153dd5f395f51905f528796036119875750823b15611975575f5160206153dd5f395f51905f5280546001600160a01b031916821790558491907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8380a280511561195a5761194e9382915190845af43d15611952573d9161193283613656565b9261194060405194856133eb565b83523d85602085013e61533e565b5080f35b60609161533e565b50505050346119665780f35b63b398979f60e01b8152600490fd5b634c9c8ce360e01b8552600452602484fd5b632a87526960e21b8652600452602485fd5b9091506020813d6020116119c9575b816119b5602093836133eb565b810103126119c55751905f611892565b5f80fd5b3d91506119a8565b63703e46dd60e11b8452600484fd5b5f5160206153dd5f395f51905f52546001600160a01b0316141590505f61185b565b503461046c57602036600319011261046c57611a1c61341f565b611a2461387b565b50604051637ce36e2360e11b81525f51602061543d5f395f51905f5260048201526001600160401b0382166024820152600860448201529160c08360648173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49283156109de578193611abc575b60c0847f847be2ee41fb7fd819cd9f0fa2c88487d5a0b19369ae96421d660bd92116f9a48186610961604051928392836137ad565b90925060c03d60c011611b15575b611ad481836133eb565b81019260c08285031261046c5750611b0f60c0937f847be2ee41fb7fd819cd9f0fa2c88487d5a0b19369ae96421d660bd92116f9a4926138d0565b92611a87565b503d611aca565b503461046c57602036600319011261046c57600435906001600160401b03821161046c573660238301121561046c578160040135611b598161363f565b92611b6760405194856133eb565b81845260208401906024829360051b8201019036821161046657929492602401915b818310611c7057505050604051928391631cff580560e11b835260448301905f51602061543d5f395f51905f5260048501526040602485015251809152606483019190845b818110611c4e575050509080602092038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49081156107c7578091611c11575b6020826040519015158152f35b90506020823d602011611c46575b81611c2c602093836133eb565b8101031261046c5750611c40602091613af8565b5f611c04565b3d9150611c1f565b82516001600160401b0316845286945060209384019390920191600101611bce565b92949282356001600160401b03811681036119c557815292949260209283019201611b89565b503461046c57611ca536613435565b611cb0829392613ef4565b6001600160a01b031633039250611e6d91505057611ccd81613f1e565b600160201b600160a01b038360201b16600160a11b1782525f51602061541d5f395f51905f5260205263ffffffff60408320611d0b828254166137cf565b815483191692169182179055808252600160208084019182526060840185815295929083901b600160201b600160a01b031663ffffffff90911617600160a11b1784525f5160206154bd5f395f51905f5260209081526040852084518154935164ffffffffff1990941663ffffffff91909116179290911b64ff00000000169190911781556040830151946005861015611e59578154905160808581015160a087015160c08089015164ffffffffff90961660289b909b1b60ff60281b169a909a1760309490941b61ffff60301b169390931760409190911b67ffffffffffffffff60401b161791901b67ffffffffffffffff60801b1617951b6001600160c01b03191694909417845591927f3990c6121ebba199bf4e035554adbe455162e4898a348962cca8d43806076a829290600160e0840151910155611e53604051928392836137e6565b0390a180f35b634e487b7160e01b85526021600452602485fd5b6282b42960e81b8252600482fd5b503461046c578060031936011261046c577f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f7902701546040516001600160a01b039091168152602090f35b50346119c557611f1a90611efa611ed936613566565b94919290948060c01c916001600160801b0363ffffffff8360801c16921690565b939150508060c01c916001600160801b0363ffffffff8360801c16921690565b92919050611f27826141cc565b611f30846141cc565b916001600160801b0360208401511691602081016001600160801b03815116935f60e0604051611f5f8161334f565b8281528260208201528260408201528260608201528260808201528260a08201528260c082015201525f525f51602061549d5f395f51905f5260205260405f209060405194611fad8661334f565b825465ffffffffffff81168752602087019365ffffffffffff8260301c16855265ffffffffffff8260601c16600160408a019282845260608b019460901c8552015460ff811660808b015260018060a01b038160081c1660a08b015262ffffff8160a81c1660c08b015260c01c60e08a015215612848575165ffffffffffff166001600160401b038d160361283957516001600160701b031603612839576120bf9161205761387b565b506040848101516080810151908201515f51602061547d5f395f51905f52548351632dc61f7d60e01b81526001600160401b03938416600482015263ffffffff9092166024830152918e1660448201529485916001600160a01b031690829081906064820190565b03915afa92831561282e575f905f946127fa575b50156127bd575050612101906120e7613ac7565b506001600160401b0360806040880151015116908a614279565b92909291612115612110614353565b614bee565b61212965ffffffffffff8551168b89614756565b936121348b89614729565b5f8681525f5160206153bd5f395f51905f5260205260409020549091905f199061216090600190613aeb565b916121728361216d614353565b614c40565b612200602082019361ffff855116946121b4604096875161219389826133eb565b600f81526e626f756e64732e6b696e644465677360881b6020820152614c40565b6121ea65ffffffffffff85511687516121cd89826133eb565b600b81526a189bdd5b991ccb9ada5b9960aa1b6020820152614c40565b61ffff65ffffffffffff85511691511691614ca8565b61220b612110614353565b65ffffffffffff838201511661275a575b50505093925b608086015160ff166127325760808701516001600160a01b03165b6040820151600681101561271e57612651576001600160a01b03163303612643575b6001600160401b03608082015116806125f2575b50608087810151838201519188015160608401516001600160a01b03928316949093600f85101593169160ff16836125de57806124b15750505061249d5761248e5786918b91805b6001600160a01b0382168190036123e7575b5050926122e392916001600160801b03946143c9565b961687525f51602061549d5f395f51905f5260205286600160408220828155015586525f5160206153bd5f395f51905f52602052604086208054905f1982019182116123d3575585525f5160206153bd5f395f51905f526020526040852080545f198101919082116123bf575560e0015160209091015193947fabb20dc355962c71db26b27f6a9b318b5f54e9cdfb67bd31ba7f7ec6461f882294611e539260c01b6001600160c01b03191660809290921b67ffffffffffffffff60801b16919091176001600160801b0391909116176040519384938461397d565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526011600452602488fd5b6020929450612428935060018060a01b0360608b015116908d6001600160401b038c511660405196879586948593638aed990760e01b855260048501613d44565b03925af1801561248357928b6122e39389936001600160801b0396612454575b509194819394506122cd565b6124759060203d60201161247c575b61246d81836133eb565b8101906143a9565b505f612448565b503d612463565b6040513d8c823e3d90fd5b630f54c17160e21b8a5260048afd5b634e487b7160e01b8b52602160045260248bfd5b6001811015806125d3575b156125025750505061249d57918b91838994155f146124dc5750806122bb565b919350915060070361248e5760a086015187928c9290916001600160a01b0316906122bb565b9193909250906007036125c457918d93918a959380155f1461252757505050806122bb565b939550919350916001810361254557630f54c17160e21b8d5260048dfd5b8c9160018211806125b6575b156125a75760a0015160601c91612593578994928e949261258461257f61257a61258d95614375565b614387565b61439a565b91339085614cd1565b906122bb565b634e487b7160e01b8d52602160045260248dfd5b630f54c17160e21b8e5260048efd5b508d92506006821115612551565b63220bd06d60e21b8d5260048dfd5b5060068111156124bc565b634e487b7160e01b8f52602160045260248ffd5b65ffffffffffff875116016001600160401b03811161262f576001600160401b03164210612620575f612273565b6309b89c0160e11b8a5260048afd5b634e487b7160e01b8b52601160045260248bfd5b6282b42960e81b8a5260048afd5b6040820151600681101561271e57600103612681575060808201516001600160a01b03163303612643575b61225f565b6040820151600681101561271e576002036126c8576001600160a01b0316331415806126b1575b6126435761225f565b5060808201516001600160a01b03163314156126a8565b6040820151600681101561271e57600303612718576001600160a01b031633148015612702575b1561267c576282b42960e81b8a5260048afd5b5060808201516001600160a01b031633146126ef565b5061225f565b634e487b7160e01b8c52602160045260248cfd5b608086015160ff16600703612747578961223d565b60a08601516001600160a01b031661223d565b5f8481525f5160206153bd5f395f51905f5260205292832054929c5090600160ff1b81146127a95760606127976127a19461ffff935f0390613aeb565b9201511690614c83565b5f808061221c565b634e487b7160e01b5f52601160045260245ffd5b92909391506127f48a6127ee65ffffffffffff6001600160801b036127e18461467b565b9851169651168287614756565b94614729565b93612222565b905061281f91935060403d604011612827575b61281781836133eb565b810190614258565b92905f6120d3565b503d61280d565b6040513d5f823e3d90fd5b6313236d6b60e01b5f5260045ffd5b635c11956d60e01b5f5260045ffd5b346119c55760206104b761286a366135bc565b949390939291926139a5565b346119c55760603660031901126119c55761288f61341f565b61289761340c565b604435916001600160401b03831683036119c55760405163340100c160e01b8152915f91839182916128cd919060048401613bc4565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af490811561282e5761ffff65ffffffffffff61291b60a09582612912819786975f91612943575b50613c31565b519116906151ad565b9592604098919498519815158952166020880152166040860152166060840152166080820152f35b61295791503d805f833e6106f481836133eb565b90508a61290c565b346119c5576129b461299461297336613566565b93919290938060c01c916001600160801b0363ffffffff8360801c16921690565b929150928060c01c916001600160801b0363ffffffff8360801c16921690565b6129c0849592956141cc565b6129c9826141cc565b926001600160801b036020850151165f525f51602061549d5f395f51905f5260205260405f206040516129fb8161334f565b60e0600183549365ffffffffffff8516845265ffffffffffff8560301c16602085015265ffffffffffff8560601c169485604086015260901c6060850152015460ff8116608084015260018060a01b038160081c1660a084015262ffffff8160a81c1660c084015260c01c9101526130bd576040828101516080810151908201515f51602061547d5f395f51905f52548351632dc61f7d60e01b81526001600160401b03938416600482015263ffffffff9092166024830152918b166044820152929190839060649082906001600160a01b03165afa91821561282e575f905f93613099575b501561308a57612b0963ffffffff926001600160401b0360806040890151015116908b614279565b92909816155f146130845760808501516001600160a01b031633145b156130705763ffffffff1661307e5760808201516001600160a01b031633145b1561307057612b55612110614353565b612b6965ffffffffffff8851168988614756565b90612b748988614729565b92825f525f5160206153bd5f395f51905f5260205260405f205495600187018097116127a9578996612bf290612bac8161216d614353565b6020890161ffff65ffffffffffff818351169b612bd260409d8e612193815191826133eb565b612be78d83835116906121cd815191826133eb565b511691511691614ca8565b612bfd612110614353565b65ffffffffffff878b015116613033575b608081810180519184015160208601516001600160a01b0393841696909390929116600f841015612e80578b938f9360ff821680612f29575050505060018060a01b03905116935f945f965b6001600160a01b038216819003612e94575b50509165ffffffffffff9391612c81936143c9565b995116916008821015612e8057876001600160401b03918760ff60018f8c908f612dcf9a65ffffffffffff845194612cb88661334f565b81421686526020860192835281818701951685526001600160701b03606087019416845287608087019d168d5260a0860199878060a01b03168a526001600160801b0360c08701995f8b528d60e089019d168d52165f525f51602061549d5f395f51905f526020525f2094511665ffffffffffff19855416178455519165ffffffffffff6bffffffffffff0000000000008554928260601b905160601b169371ffffffffffffffffffffffffffffffffffff19905160901b169460301b169116171717815501955116855492610100600160a81b03905160081b169162ffffff60a81b905160a81b16928560c01b16171717835551168154906001600160401b0360c01b9060c01b169060018060c01b0316179055565b5f525f5160206153bd5f395f51905f52602052825f20805490600182018092116127a957555f525f5160206153bd5f395f51905f52602052815f2090815493600185018095116127a957939091557f6176e60cd4ddf52618fa61f79a2b5fa724340395bb91018698deae36496754fa95612e7b9360c01b6001600160c01b03191660809190911b67ffffffffffffffff60801b16176001600160801b039091161790519384938461397d565b0390a1005b634e487b7160e01b5f52602160045260245ffd5b6020929450612ed5935060018060a01b03606087015116905f8d6001600160401b03895116905196879586948593638aed990760e01b855260048501613d44565b03925af18015612f1f578d612c819365ffffffffffff95938d93612f00575b50919381939550612c6c565b612f189060203d60201161247c5761246d81836133eb565b505f612ef4565b89513d5f823e3d90fd5b92955092509250600181101580613028575b15612f84575060a0612f5291015160601c91614375565b60ff5f1991160160ff81116127a9578a928e92612f71612f7a9361439a565b91339089614cd1565b935f945f96612c5a565b9094909160078303612f9f57634fcf118160e11b5f5260045ffd5b8b938f9360088110158061301d575b15612fef5750612fe9903092612fe061257f61257a60a0612fd461257f61257a87614375565b9c015160601c93614375565b9133908b614cd1565b96612c5a565b935050509350600e9150145f1461300e57878b30936007945f96612c5a565b634fcf118160e11b5f5260045ffd5b50600d811115612fae565b506006811115612f3b565b845f525f5160206153bd5f395f51905f52602052865f2054600181018091116127a9578061306b915061ffff60608d01511690614c83565b612c0e565b6282b42960e81b5f5260045ffd5b5f612b45565b5f612b25565b6331c9038360e01b5f5260045ffd5b90506130b591925060403d6040116128275761281781836133eb565b91908a612ae1565b63203de7bb60e21b5f5260045ffd5b346119c55760403660031901126119c55761311760c06130ea61341f565b6130f261340c565b906130fb61387b565b50604051632866ef3160e21b815293849283926004840161394a565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af4801561282e575f9061314d575b60c090610971604051809261350c565b5060c03d60c011613181575b61316381836133eb565b81019060c0818303126119c55760c09161317c916138d0565b61313d565b503d613159565b346119c55761319636613435565b61319f82613ef4565b6001600160a01b031633039250613070915050576131bc81613f1e565b600160201b600160a01b038260201b16600160a01b175f525f51602061541d5f395f51905f5260205263ffffffff60405f206131fa828254166137cf565b815483191692169182179055808252600160208084019182525f6060850181815286831b600160201b600160a01b031663ffffffff95861617600160a01b1782525f5160206154bd5f395f51905f52835260409182902086518154955164ffffffffff199096169616959095179390921b64ff0000000016929092178355908301519391906005851015612e80578154905160808581015160a087015160c08089015164ffffffffff90961660289a909a1b60ff60281b169990991760309490941b61ffff60301b169390931760409190911b67ffffffffffffffff60401b161791901b67ffffffffffffffff60801b1617941b6001600160c01b0319169390931783557fae0947f631aae9cc9c660079e614352bf9d18405079a646e69a6ea4129411ee092600160e0840151910155612e7b604051928392836137e6565b600435906001600160801b03821682036119c557565b61010081019081106001600160401b0382111761336b57604052565b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b0382111761336b57604052565b604081019081106001600160401b0382111761336b57604052565b608081019081106001600160401b0382111761336b57604052565b60a081019081106001600160401b0382111761336b57604052565b90601f801991011681019081106001600160401b0382111761336b57604052565b6024359063ffffffff821682036119c557565b600435906001600160401b03821682036119c557565b906101206003198301126119c5576004356001600160801b03811681036119c557610100909260231901126119c5576040516134708161334f565b60243563ffffffff811681036119c557815260443560ff811681036119c557602082015260643560058110156119c557604082015260843561ffff811681036119c557606082015260a4356001600160401b03811681036119c557608082015260c4356001600160401b03811681036119c55760a082015260e4356001600160401b03811681036119c55760c08201526101043560e082015290565b6001600160401b0360a0809263ffffffff815116855263ffffffff602082015116602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152826080820151166080860152015116910152565b60609060031901126119c557600435906024356001600160401b03811681036119c5579060443590565b600435906001600160a01b03821682036119c557565b602435906001600160a01b03821682036119c557565b60c09060031901126119c55760043563ffffffff811681036119c557906024356001600160a01b03811681036119c557906044356001600160801b03811681036119c557906064356001600160401b03811681036119c557906084356001600160401b03811681036119c5579060a4356001600160401b03811681036119c55790565b6001600160401b03811161336b5760051b60200190565b6001600160401b03811161336b57601f01601f191660200190565b90600f821015612e805752565b60ff815116825261369760208201516020840190613671565b6040810151906006821015612e805760a09160408401526136c060608201516060850190613671565b6080818101516001600160401b0316908401528101516bffffffffffffffffffffffff1916910152565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b81601f820112156119c5578035906137258261363f565b9261373360405194856133eb565b82845260208085019360061b830101918183116119c557602001925b82841061375d575050505090565b6040848303126119c557604051906137748261339a565b843561ffff811681036119c557825260208501359065ffffffffffff821682036119c5578260209283604095015281520193019261374f565b9160206137cd9294936001600160401b0360e0820196168152019061350c565b565b63ffffffff1663ffffffff81146127a95760010190565b9092916001600160801b0361012083019416825263ffffffff815116602083015260ff602082015116604083015260408101516005811015612e80576101009160e091606085015261ffff60608201511660808501526001600160401b0360808201511660a08501526001600160401b0360a08201511660c08501526001600160401b0360c082015116828501520151910152565b604051906138888261337f565b5f60a0838281528260208201528260408201528260608201528260808201520152565b519063ffffffff821682036119c557565b51906001600160401b03821682036119c557565b91908260c09103126119c5576040516138e88161337f565b60a06139458183956138f9816138ab565b8552613907602082016138ab565b6020860152613918604082016138ab565b6040860152613929606082016138ab565b606086015261393a608082016138bc565b6080860152016138bc565b910152565b5f51602061543d5f395f51905f5281526001600160401b03909116602082015263ffffffff909116604082015260600190565b6139a160e0929594936001600160801b03610100840197168352602083019061350c565b0152565b909493929190602082901b600160201b600160a01b031663ffffffff90911617600160a01b175f525f5160206154bd5f395f51905f5260205260405f2094604051956139f08761334f565b805463ffffffff811688526020880160ff8260201c16815260ff8260281c166005811015612e805760019360ff93859260408d015261ffff8160301c1660608d01526001600160401b038160401c1660808d01526001600160401b038160801c1660a08d015260c01c60c08c0152015460e08a0152511603613abd57600160201b600160a01b038260201b16600160a01b1763ffffffff875116905f525f51602061541d5f395f51905f5260205263ffffffff60405f205460201c1611613abd57613aba95614510565b90565b5050505050505f90565b60405190613ad4826133b5565b5f6060838281528260208201528260408201520152565b919082039182116127a957565b519081151582036119c557565b51906001600160a01b03821682036119c557565b919060e0838203126119c55760c0613b34613aba92856138d0565b9301613b05565b919060e0838203126119c557613b5181846138d0565b9260c0810151906001600160401b0382116119c557019080601f830112156119c5578151613b7e8161363f565b92613b8c60405194856133eb565b81845260208085019260051b8201019283116119c557602001905b828210613bb45750505090565b8151815260209182019101613ba7565b60609063ffffffff60089395946001600160401b0360808401975f51602061543d5f395f51905f5285521660208401521660408201520152565b5f51602061543d5f395f51905f5281526001600160401b0390911660208201525f60408201526008606082015260800190565b805160071015613c42576101000190565b634e487b7160e01b5f52603260045260245ffd5b805160011015613c425760400190565b805160061015613c425760e00190565b805160051015613c425760c00190565b805160041015613c425760a00190565b805160031015613c425760800190565b8051821015613c425760209160051b010190565b90602080835192838152019201905f5b818110613cd75750505090565b8251845260209384019390920191600101613cca565b6060906001600160401b03613aba94935f51602061543d5f395f51905f5283521660208201528160408201520190613cba565b6139a160e0929594936001600160401b03610100840197168352602083019061350c565b6001600160401b0390911681526001600160a01b0391821660208201529116604082015260600190565b909493929190602082901b600160201b600160a01b031663ffffffff90911617600160a11b175f525f5160206154bd5f395f51905f5260205260405f209460405195613db98761334f565b805463ffffffff811688526020880160ff8260201c16815260ff8260281c166005811015612e805760019360ff93859260408d015261ffff8160301c1660608d01526001600160401b038160401c1660808d01526001600160401b038160801c1660a08d015260c01c60c08c0152015460e08a0152511603613abd57600160201b600160a01b038260201b16600160a11b1763ffffffff875116905f525f51602061541d5f395f51905f5260205263ffffffff60405f205460201c1611613abd57613aba95614510565b6001600160a01b03168015613ee1575f51602061539d5f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b90613f196001600160401b0392613f0961387b565b5083811693849160401c16614af7565b909192565b65fffffffffffe6001600160401b03608083015116116141bd5765fffffffffffe6001600160401b0360a083015116116141ae5765fffffffffffe6001600160401b0360c0830151161161419f57604060e0820151910180516005811015612e8057600403613f9d5750613f8e57565b630229244160e01b5f5260045ffd5b80516005811015612e8057613fc25750613fb357565b63b059088b60e01b5f5260045ffd5b80516005811015612e8057600203613ff457506001600160a01b031916613fe557565b6324d6550560e01b5f5260045ffd5b80516005811015612e805760030361404557506001600160a01b03198116614036576001600160a01b03163b1561402757565b635ec3640d60e11b5f5260045ffd5b6334e3e8c160e21b5f5260045ffd5b516005811015612e805760010361419057805f1a65ffffffffffff8260c01c166001600160801b036001600160401b038460801c16931691600181145f146140c9575065fffffffffffe109182156140bf575b5081156140b6575b506140a757565b6330e0031360e21b5f5260045ffd5b9050155f6140a0565b151591505f614098565b9092906002810361412657508215928315614116575b50821561410d575b508115614104575b50156137cd57630aaa469f60e11b5f5260045ffd5b9050155f6140ef565b1591505f6140e7565b65fffffffffffe1092505f6140df565b600303614181578215928315614171575b508215614168575b50811561415c575b50156137cd576368bfad0160e11b5f5260045ffd5b6001915014155f614147565b1591505f61413f565b65fffffffffffe1092505f614137565b636c5ca35760e01b5f5260045ffd5b6325226d5f60e11b5f5260045ffd5b630216e46d60e41b5f5260045ffd5b6305ec3cc560e31b5f5260045ffd5b63257d56e560e11b5f5260045ffd5b5f60806040516141db816133d0565b8281528260208201526141ec61387b565b604082015282606082015201526001600160801b036001600160401b03821691614222836001600160401b038360401c16614af7565b93909260405195614232876133d0565b865216602085015260408401526001600160a01b03908116606084015216608082015290565b91908260409103126119c557613aba602061427284613af8565b93016138ab565b92915f6142ad92614288613ac7565b5061429161387b565b506040518094819263340100c160e01b83528860048401613bc4565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af4801561282e5761291265ffffffffffff916142e7945f916143375750613c31565b909193156143285765ffffffffffff61ffff9283613aba96836040519761430d896133b5565b1687521660208601521660408401521660608201529261467b565b6307d67b9f60e01b5f5260045ffd5b61434b91503d805f833e6106f481836133eb565b90505f61290c565b604051906143626040836133eb565b600482526368656c6f60e01b6020830152565b60ff60019116019060ff82116127a957565b60ff6007199116019060ff82116127a957565b60ff166008811015612e805790565b908160209103126119c557516001600160e01b0319811681036119c55790565b6001600160401b03935f60c49260c0956143e161387b565b508760018060a01b036060840151169251169360408101519089806080818060a08701511694511694015116936040519b8c9a8b99632ad678c160e21b8b5260048b01521660248901521660448701526064860152608485015260a48401525af190811561282e575f916144d7575b50602081019063ffffffff825116156144c85763ffffffff808251169251169063ffffffff60408201511663ffffffff606083015116906001600160401b0360a0816080860151169401511693604051956144aa8761337f565b8652602086015260408501526060840152608083015260a082015290565b630aa9029760e01b5f5260045ffd5b905060c03d60c011614509575b6144ee81836133eb565b810160c0828203126119c557614503916138d0565b5f614450565b503d6144e4565b93909491926001600160401b036080860151168015159182614667575b505061465e576001600160401b0360a085015116801515918261464a575b5050614642576001600160401b0360c084015116801515918261462e575b5050614627576040820180516005811015612e805760040361458e5750505050600190565b80516005811015612e80576145c057506145a89150613ef4565b6001600160a01b039485169416939093149392505050565b809150516005811015612e80576002036145ea575060e001516001600160a01b0391821691161490565b91505080516005811015612e805760030361460e57636e12839960e01b5f5260045ffd5b516005811015612e8057600103614623575f90565b5f90565b5050505f90565b6001600160401b0316141590505f80614569565b505050505f90565b6001600160401b0316141590505f8061454b565b50505050505f90565b6001600160401b0316141590505f8061452d565b61468361387b565b5061468c61387b565b506001600160401b036040519163dbe7760960e01b83525f51602061543d5f395f51905f5260048401521660248201525f60448201526002606482015260208160848173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af4801561282e576146fa575b50613aba61387b565b6020813d602011614721575b81614713602093836133eb565b810103126119c557516146f1565b3d9150614706565b60809190911b67ffffffffffffffff60801b166001600160801b039091161765ffffffffffff60c01b1790565b60c09290921b65ffffffffffff60c01b1660809190911b67ffffffffffffffff60801b16176001600160801b03919091161790565b5f51602061539d5f395f51905f52546001600160a01b031633036147ab57565b63118cdaa760e01b5f523360045260245ffd5b6147c661387b565b815115614ae8576010825111614ad95760015b8251811015614838575f1981018181116127a957602061480065ffffffffffff9286613ca6565b5101511665ffffffffffff60206148178487613ca6565b510151161115614829576001016147d9565b630a6fd7a560e11b5f5260045ffd5b5091906040830191600183525f5b82518110156148cd576148598184613ca6565b51602081015165ffffffffffff168061488557509061ffff600192836080890152511686525b01614846565b65ffffffffffff036148aa579061ffff6001928360608901525116602087015261487f565b5060a085019060ff8251169160ff83146127a95760ff600180940116905261487f565b50919290926148db84614d38565b93845f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0160205260ff60405f205460201c16614ad457845f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0160205260405f2061ffff808551161661ffff19825416178155602084019261497861ffff855116839063ffff000082549160101b169063ffff00001916179055565b51815460608601805165ffff000000001990921692151560201b64ff00000000169290921790151560281b60ff60281b1617825593608081015115159066ff00000000000067ff0000000000000060a0855493015160381b169260301b169061ffff60301b1916171790555f5b8151811015614ace57806149fb60019284613ca6565b51602081019065ffffffffffff8251168015159081614abd575b50614a23575b5050016149e5565b5f8981527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0060209081526040808320945165ffffffffffff16835293905291909120805491518751875163ffff000060109190911b1665ff00ffff00001964ff0000ffff1990951661ffff90931692909217640100000000179390931692151560281b60ff60281b16929092179190911790555f80614a1b565b65ffffffffffff915014155f614a15565b50505050565b505050565b6352609cb360e01b5f5260045ffd5b63206df1c560e11b5f5260045ffd5b614aff61387b565b505f5160206153fd5f395f51905f5254604051631246702760e31b81526001600160401b03929092166004830152602090829060249082906001600160a01b03165afa90811561282e575f91614bb4575b5060405163179cbc4f60e11b81526001600160401b039290921660048301529060e0816024816001600160a01b0386165afa801561282e575f915f91614b9557509092565b9050614bb0915060e03d60e0116117ae576117a081836133eb565b9092565b90506020813d602011614be6575b81614bcf602093836133eb565b810103126119c557614be090613b05565b5f614b50565b3d9150614bc2565b5f614c1b614c29829360405192839163104c13eb60e21b60208401526020602484015260448301906136ea565b03601f1981018352826133eb565b6020815191016a636f6e736f6c652e6c6f675afa50565b614c6f614c295f93928493604051938492632d839cb360e21b60208501526040602485015260648401906136ea565b90604483015203601f1981018352826133eb565b90617fff1610614c8f57565b630aeeed0f60e01b5f5265ffffffffffff60045260245ffd5b9091617fff1610614cb65750565b65ffffffffffff90630aeeed0f60e01b5f521660045260245ffd5b939290926008811015612e805760018103614ced575050505090565b929350909160028103614d005750505090565b9192509060038103614d1157505090565b90915060048103614d20575090565b60058103614d2e5750505f90565b60060361300e5790565b805115614dc857614d4881614dcd565b90614d5281614f39565b90614d5f6108c582614ffc565b90831580614dc0575b80614db8575b80614db0575b15614d8157505050505f90565b604051926020840194855260408401526060830152608082015260808152614daa60a0826133eb565b51902090565b508115614d74565b508015614d6e565b508215614d68565b505f90565b805115614f1e57614dde5f82613ca6565b51905b5f81516001105f14614f0257505f80614dfb600184613ca6565b51915b614ed157825160021015614ee557505f9182614e1b600283613ca6565b51935b614ed15750805160031015614eb5576003614e3891613ca6565b51925b65ffffffffffff602061ffff60301b835160301b16920151161760c01b9065ffffffffffff602061ffff60301b835160301b16920151161760801b179065ffffffffffff602061ffff60301b835160301b16920151161760401b179065ffffffffffff602061ffff60301b835160301b1692015116171790565b50604051614ec28161339a565b5f81525f602082015292614e3b565b634e487b7160e01b81526011600452602490fd5b9182604051614ef38161339a565b5f81525f602082015293614e1e565b80604051614f0f8161339a565b5f81525f602082015291614dfe565b604051614f2a8161339a565b5f81525f602082015290614de1565b805160041015614fe157614f4e600482613ca6565b51905b5f81516005105f14614fc557505f80614f6b600584613ca6565b51915b614ed157825160061015614fa857505f9182614f8b600683613ca6565b51935b614ed15750805160071015614eb5576007614e3891613ca6565b9182604051614fb68161339a565b5f81525f602082015293614f8e565b80604051614fd28161339a565b5f81525f602082015291614f6e565b604051614fed8161339a565b5f81525f602082015290614f51565b8051600810156150a457615011600882613ca6565b51905b5f81516009105f1461508857505f8061502e600984613ca6565b51915b614ed1578251600a101561506b57505f918261504e600a83613ca6565b51935b614ed157508051600b1015614eb557600b614e3891613ca6565b91826040516150798161339a565b5f81525f602082015293615051565b806040516150958161339a565b5f81525f602082015291615031565b6040516150b08161339a565b5f81525f602082015290615014565b8051600c1015615167576150d4600c82613ca6565b51905b5f8151600d105f1461514b57505f806150f1600d84613ca6565b51915b614ed1578251600e101561512e57505f9182615111600e83613ca6565b51935b614ed157508051600f1015614eb557600f614e3891613ca6565b918260405161513c8161339a565b5f81525f602082015293615114565b806040516151588161339a565b5f81525f6020820152916150f4565b6040516151738161339a565b5f81525f6020820152906150d7565b60ff5f51602061545d5f395f51905f525460401c161561519e57565b631afcd79f60e31b5f5260045ffd5b90815f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0060205260405f2065ffffffffffff82165f5260205260405f20604051906151f8826133b5565b5490606061ffff83169283835261ffff8160101c169283602082015260ff808360201c1615159283604084015260281c161515928391015261531957505050505f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0160205260405f206040519061526f8261337f565b5461ffff81169182815261ffff8260101c169182602083015260ff8160201c16158015604084015260ff8260281c1615159283606082015260a060ff808560301c1615948515608085015260381c16910152615309576152e857156152e15765ffffffffffff905b6001935f93929190565b5f906152d7565b90929150156153035765ffffffffffff5b5f925f925f929190565b5f6152f9565b505050505f905f905f905f905f90565b92949193509091156153375765ffffffffffff915b60019493929190565b5f9161532e565b90615362575080511561535357805190602001fd5b63d6bda27560e01b5f5260045ffd5b81511580615393575b615373575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b1561536b56fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993003df9584b527247f4900a5c6b7a8400cffee00eb89e1f2f5ad0861af4fb4c0501360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f790270066533e6d1966c5548931afa2a923bcafa00e1e6794f41ca0f03bbc3ab865ab00b889e63ac5a7d4985910c5a264fb181e381a8a3f46d10618004be5e9438ffc01f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f79027023df9584b527247f4900a5c6b7a8400cffee00eb89e1f2f5ad0861af4fb4c050066533e6d1966c5548931afa2a923bcafa00e1e6794f41ca0f03bbc3ab865ab01b889e63ac5a7d4985910c5a264fb181e381a8a3f46d10618004be5e9438ffc00a2646970667358221220cf6b57af17e98847e88b40cab7ddb813ccb3eee47d48c89ef06453d5b6d8736a64736f6c634300081c0033","sourceMap":"1125:2345:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6725:34:22;1125:2345:3;6725:34:22;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5812:45:22;1125:2345:3;5812:45:22;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;4181:29:22;1125:2345:3;4181:29:22;;;1125:2345:3;;;;;;;;;;;;;;;5479:64:22;1125:2345:3;5479:64:22;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5115:29:22;1125:2345:3;5115:29:22;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1125:2345:3;;;;;;:::i;:::-;;;:::i;:::-;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;;;;4301:16:75;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;;4724:16:75;;:34;;;;1125:2345:3;4803:1:75;4788:16;:50;;;;1125:2345:3;4853:13:75;:30;;;;1125:2345:3;4849:91:75;;;-1:-1:-1;;1125:2345:3;;4803:1:75;1125:2345:3;-1:-1:-1;;;;;;;;;;;1125:2345:3;6959:1:75;;1125:2345:3;;4977:67:75;;1125:2345:3;6891:76:75;;;:::i;:::-;;;:::i;:::-;6959:1;:::i;:::-;6891:76;;:::i;:::-;;;:::i;:::-;1125:2345:3;;;;;;-1:-1:-1;;;;;1125:2345:3;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;1733:4;-1:-1:-1;;;;;1125:2345:3;;1270:14:51;1125:2345:3;;;1270:14:51;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;;1334:17:51;1125:2345:3;;;1334:17:51;1125:2345:3;6891:76:75;;:::i;:::-;1988:2:6;1125:2345:3;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;6891:76:75;;:::i;:::-;;;:::i;:::-;5064:101;;1125:2345:3;;5064:101:75;1125:2345:3;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;-1:-1:-1;;;;;;;;;;;1125:2345:3;5140:14:75;1125:2345:3;;;4803:1:75;1125:2345:3;;5140:14:75;1125:2345:3;;4977:67:75;-1:-1:-1;;1125:2345:3;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;4977:67:75;;;4849:91;-1:-1:-1;;;4906:23:75;;1125:2345:3;4906:23:75;;4853:30;4870:13;;;4853:30;;;4788:50;4816:4;4808:25;:30;;-1:-1:-1;4788:50:75;;4724:34;;;-1:-1:-1;4724:34:75;;1125:2345:3;;;;;;;;;;;;;;;;-1:-1:-1;;1125:2345:3;;;;2357:1:74;1125:2345:3;;:::i;:::-;2303:62:74;;:::i;2357:1::-;1125:2345:3;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;1125:2345:3;;;;;;:::i;:::-;;;:::i;:::-;10225:2:17;1458:19:6;;;-1:-1:-1;;;;;;;1458:19:6;1125:2345:3;;;10178:69:17;-1:-1:-1;;;10178:69:17;1125:2345:3;;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;;;;;;;2846:30:17;2842:58;;1125:2345:3;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;2949:19:17;1125:2345:3;;;;;;;;2914:55:17;2910:82;;1125:2345:3;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;2801:14:17;1125:2345:3;;;;;;;;3006:55:17;3002:184;;1125:2345:3;;;3002:184:17;3150:25;1125:2345:3;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;;;;;;;;;;;3150:25:17;1125:2345:3;;3150:25:17;;;;1125:2345:3;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;3150:25:17;;;;3002:184;;;1125:2345:3;;;2910:82:17;-1:-1:-1;;;2978:14:17;;1125:2345:3;4335:14:17;2978;2842:58;-1:-1:-1;;;2885:15:17;;1125:2345:3;4242:15:17;2885;1125:2345:3;;;;;;;-1:-1:-1;;1125:2345:3;;;;7077:56:22;1125:2345:3;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;-1:-1:-1;;;7077:56:22;;1125:2345:3;;;;;;7077:56:22;;;:::i;:::-;;:22;;:56;;;;;;;;1125:2345:3;;7077:56:22;;;1125:2345:3;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1125:2345:3;;;;;;;;;7077:11:22;1125:2345:3;;;7077:56:22;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;1125:2345:3;;;;;;;;;;;;;;;;-1:-1:-1;;1125:2345:3;;;;6442:32:22;1125:2345:3;;;;:::i;:::-;;;:::i;:::-;;;-1:-1:-1;;;6442:32:22;;1125:2345:3;;;;;;;6442:32:22;;;:::i;:::-;;:22;;:32;;;;;;;;;;;1125:2345:3;;;;;;;;;;;6442:32:22;;;1125:2345:3;6442:32:22;;1125:2345:3;6442:32:22;;;;;;1125:2345:3;6442:32:22;;;:::i;:::-;;;1125:2345:3;;;;;;;;;:::i;:::-;6442:32:22;;;;;;-1:-1:-1;6442:32:22;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;1458:19:6;1125:2345:3;;;;;;;;;;-1:-1:-1;;1125:2345:3;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;4474:18:22;;4470:44;;4648:13;;;:::i;:::-;1125:2345:3;;-1:-1:-1;;;4687:68:22;;1125:2345:3;4687:22:22;;1125:2345:3;4687:68:22;1125:2345:3;;4687:68:22;;1125:2345:3;4687:68:22;;;:::i;:::-;;;;;;;;;;;1125:2345:3;5115:29:22;1125:2345:3;;;;;5115:29:22;1125:2345:3;;4687:68:22;;;1125:2345:3;4789:35:22;;;;;:::i;:::-;1125:2345:3;1091:17:16;;;:::i;:::-;1126;;;;:::i;:::-;1161;1196:18;1161:17;;;:::i;:::-;1196:18;;:::i;:::-;4834:214:22;;;:::i;:::-;1125:2345:3;4834:214:22;;;:::i;:::-;1125:2345:3;4834:214:22;;;:::i;:::-;1125:2345:3;4834:214:22;;;:::i;:::-;1125:2345:3;5058:40:22;;;:::i;:::-;1125:2345:3;;;;;;;;;;;5115:29:22;;;1125:2345:3;5115:29:22;;;:::i;:::-;;;;;;;;;;;;;;1125:2345:3;5115:29:22;1125:2345:3;5159:31:22;1125:2345:3;;5159:31:22;1125:2345:3;;;5159:31:22;;;;;:::i;:::-;;;;1125:2345:3;;;;;;:::i;:::-;;5115:29:22;;;;;;;;;;;;;;;;:::i;:::-;;;1125:2345:3;5115:29:22;1125:2345:3;;;;;;;;5159:31:22;1125:2345:3;;5159:31:22;1125:2345:3;5115:29:22;1125:2345:3;;:::i;:::-;5115:29:22;;;;;;;;;;;;;;1125:2345:3;;;;;;;;;;;4687:68:22;;;;;;;;;;;;;;:::i;:::-;;;;;;;;1125:2345:3;;;;;;;;;4470:44:22;-1:-1:-1;;;4501:13:22;;1125:2345:3;3905:13:22;4501;1125:2345:3;;;;;;;-1:-1:-1;;1125:2345:3;;;;7358:23:22;1125:2345:3;;;;:::i;:::-;;;-1:-1:-1;;;7358:23:22;;-1:-1:-1;;;;;;;;;;;1125:2345:3;7358:23:22;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;7358:23:22;;:19;;:23;;;;;;;;;;;1125:2345:3;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;7358:23:22;;;1125:2345:3;7358:23:22;;1125:2345:3;7358:23:22;;;;;;1125:2345:3;7358:23:22;;;:::i;:::-;;;1125:2345:3;;;;;;;;;:::i;:::-;7358:23:22;;;;;;-1:-1:-1;7358:23:22;;1125:2345:3;;;;;;;-1:-1:-1;;1125:2345:3;;;;;;:::i;:::-;;;;;-1:-1:-1;;1125:2345:3;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;-1:-1:-1;;1125:2345:3;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;;1125:2345:3;;2622:46:22;;2682:18;;2678:44;;2825:13;;;:::i;:::-;1125:2345:3;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;695:6:41;1125:2345:3;678:23:41;;;674:46;;1125:2345:3;244:20:41;;;;1125:2345:3;;244:20:41;;1125:2345:3;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;;;;;:::i;:::-;481:1:21;1125:2345:3;;;;;-1:-1:-1;;1125:2345:3;;;;;;;256:1:21;;;1125:2345:3;;;3027:35:22;;;;:::i;:::-;1125:2345:3;;;287:1:21;256;;;;1125:2345:3;256:1:21;;1125:2345:3;256:1:21;;1125:2345:3;1091:17:16;;;:::i;:::-;1126;;;:::i;:::-;1161;;;:::i;:::-;1196:18;;;:::i;:::-;3152:214:22;;;:::i;:::-;1125:2345:3;3152:214:22;;;:::i;:::-;1125:2345:3;3152:214:22;;;:::i;:::-;1125:2345:3;3152:214:22;;;:::i;:::-;1125:2345:3;3376:40:22;;;:::i;:::-;1125:2345:3;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;-1:-1:-1;;;9382:63:22;;319:1:21;1125:2345:3;9382:63:22;;1125:2345:3;;;;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;9382:63:22;;;;;;;;;;;1125:2345:3;-1:-1:-1;;;;;;;;;;;;1125:2345:3;;;-1:-1:-1;;;9607:59:22;;319:1:21;1125:2345:3;9607:59:22;;1125:2345:3;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;9607:59:22;;;;;;;;;;;1125:2345:3;;;;;;;;;;;;;;;:::i;:::-;;;;3434:142:22;1125:2345:3;;;3434:142:22;;1125:2345:3;;;3434:142:22;;1125:2345:3;319:1:21;1125:2345:3;3434:142:22;;1125:2345:3;319:1:21;1125:2345:3;3434:142:22;;1125:2345:3;3586:18:22;:47;;;;;1827:1:6;1125:2345:3;;;;1827:1:6;1125:2345:3;;;;;;;;;;;;3586:47:22;;-1:-1:-1;;;;;;;;;;;1125:2345:3;3586:47:22;;1125:2345:3;;1827:1:6;;1125:2345:3;;1827:1:6;;;;:::i;:::-;;1125:2345:3;1827:1:6;;;;;;;;:::i;:::-;3622:10:22;1827:1:6;;;1125:2345:3;3586:47:22;;;;;;;;;;;;;1125:2345:3;;;;1827:1:6;1125:2345:3;;;;;;1827:1:6;;;;1125:2345:3;;;;1827:1:6;1125:2345:3;1827:1:6;;;;:::i;:::-;1125:2345:3;1827:1:6;;1125:2345:3;;1827:1:6;;1125:2345:3;1827:1:6;;;;:::i;:::-;;;;;;1125:2345:3;;;;;;;;;;;1827:1:6;;;;;;;3622:10:22;;;;;3649:64;3622:10;;1827:1:6;;;1125:2345:3;3649:64:22;;;1125:2345:3;;;;;;;;:::i;:::-;;;;1827:1:6;;;;;1125:2345:3;;;;;1827:1:6;;;;1125:2345:3;;1827:1:6;;;1125:2345:3;;1827:1:6;;;;1125:2345:3;;;;;1827:1:6;;;3586:47:22;;;;;:::i;:::-;1125:2345:3;;3586:47:22;;;;1125:2345:3;;;;3586:47:22;1125:2345:3;;;;;;;;;9607:59:22;;;1125:2345:3;9607:59:22;;1125:2345:3;9607:59:22;;;;;;1125:2345:3;9607:59:22;;;:::i;:::-;;;1125:2345:3;;;;;;;;;;;:::i;:::-;9607:59:22;;;;;;;;;-1:-1:-1;9607:59:22;;;1125:2345:3;;;;;;;;;9382:63:22;;;;1125:2345:3;9382:63:22;;1125:2345:3;9382:63:22;;;;;;1125:2345:3;9382:63:22;;;:::i;:::-;;;1125:2345:3;;;;;;;:::i;:::-;9382:63:22;;;;;;;-1:-1:-1;9382:63:22;;256:1:21;-1:-1:-1;;;256:1:21;;;1125:2345:3;256:1:21;1125:2345:3;;256:1:21;;-1:-1:-1;;;256:1:21;;;1125:2345:3;256:1:21;1125:2345:3;;256:1:21;244:20:41;-1:-1:-1;;;1125:2345:3;;;;;;;;674:46:41;-1:-1:-1;;;710:10:41;;1125:2345:3;710:10:41;;2678:44:22;-1:-1:-1;;;2709:13:22;;1125:2345:3;3905:13:22;2709;2622:46;-1:-1:-1;;;2653:15:22;;1125:2345:3;2653:15:22;;1125:2345:3;;;;;;;;;;;;;1786:33:51;1125:2345:3;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1125:2345:3;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;-1:-1:-1;;1125:2345:3;;;;;;:::i;:::-;;;;:::i;:::-;;;-1:-1:-1;;;6130:28:22;;-1:-1:-1;;;;;;;;;;;1125:2345:3;6130:28:22;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;6130:28:22;1125:2345:3;6130:20:22;:28;;;;;;;;;;;1125:2345:3;;;6173:33:22;1125:2345:3;;6173:33:22;1125:2345:3;;;6173:33:22;;;;;:::i;:::-;;;;1125:2345:3;;-1:-1:-1;;;;;1125:2345:3;;;;;;6130:28:22;;;;;1125:2345:3;6130:28:22;;1125:2345:3;6130:28:22;;;;;;1125:2345:3;6130:28:22;;;:::i;:::-;;;1125:2345:3;;;;;;;6173:33:22;1125:2345:3;;6173:33:22;1125:2345:3;;:::i;:::-;6130:28:22;;;;;;;;;;;-1:-1:-1;6130:28:22;;1125:2345:3;;;;;;;-1:-1:-1;;1125:2345:3;;;;;8078:17:22;1125:2345:3;;:::i;:::-;;;:::i;:::-;;8078:17:22;:::i;:::-;1125:2345:3;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;1125:2345:3;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;5479:64:22;;-1:-1:-1;;;;;;;;;;;1125:2345:3;5479:64:22;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;481:1:21;1125:2345:3;;;;5479:64:22;:19;:64;:19;;:64;;;;;;;;;;;1125:2345:3;5479:64:22;1125:2345:3;5558:26:22;1125:2345:3;;5558:26:22;1125:2345:3;;5558:26:22;;;;;:::i;5479:64::-;;;;;;;;;;;;;;;:::i;:::-;;;1125:2345:3;5479:64:22;1125:2345:3;;;;;;;;5479:64:22;1125:2345:3;5558:26:22;1125:2345:3;;:::i;:::-;5479:64:22;;;;;;;;1125:2345:3;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;-1:-1:-1;;1125:2345:3;;;;;;:::i;:::-;;;:::i;:::-;10225:2:17;1458:19:6;;;-1:-1:-1;;;;;;;1458:19:6;1125:2345:3;;;10178:69:17;-1:-1:-1;;;10178:69:17;1125:2345:3;;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;;;;;;;4203:30:17;4199:58;;1125:2345:3;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;4160:12:17;1125:2345:3;;;;;;;;4271:55:17;4267:82;;1125:2345:3;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;;;;;;;;4363:55:17;4359:182;;1125:2345:3;;;4359:182:17;4507:23;1125:2345:3;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;;;;;;;;;;;4507:23:17;1125:2345:3;;4507:23:17;;;;1125:2345:3;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;2303:62:74;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1125:2345:3;;-1:-1:-1;;;;;;1125:2345:3;;;;;;;-1:-1:-1;;;;;1125:2345:3;3975:40:74;1125:2345:3;;3975:40:74;1125:2345:3;;;;;;;;;-1:-1:-1;;1125:2345:3;;;;;;:::i;:::-;;;;;;:::i;:::-;;3878:18:22;;3874:44;;1125:2345:3;;-1:-1:-1;;;4051:68:22;;:22;:68;1125:2345:3;;4051:68:22;;1125:2345:3;4051:68:22;;;:::i;:::-;;;;;;;;;;;1125:2345:3;4181:29:22;1125:2345:3;;;4181:29:22;1125:2345:3;;4051:68:22;;;1125:2345:3;4129:35:22;;;;;:::i;4051:68::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;3874:44;-1:-1:-1;;;3905:13:22;;1125:2345:3;3905:13:22;;1125:2345:3;;;;;;;;;;;;;5090:6:76;-1:-1:-1;;;;;1125:2345:3;5081:4:76;5073:23;5069:145;;1125:2345:3;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;5069:145:76;-1:-1:-1;;;5174:29:76;;1125:2345:3;;5174:29:76;1125:2345:3;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;-1:-1:-1;;1125:2345:3;;;;7637:22:22;1125:2345:3;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;1125:2345:3;;;;;7637:22:22;;-1:-1:-1;;;;;;;;;;;1125:2345:3;7637:22:22;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;7637:22:22;;:18;;:22;;;;;;1125:2345:3;7637:22:22;;;;;1125:2345:3;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1125:2345:3;;;;;;7637:22:22;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;1125:2345:3;-1:-1:-1;1125:2345:3;;-1:-1:-1;;1125:2345:3;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4667:6:76;1125:2345:3;4658:4:76;4650:23;;;:120;;;;1125:2345:3;4633:251:76;;;2303:62:74;;:::i;:::-;1125:2345:3;;-1:-1:-1;;;6131:52:76;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;6131:52:76;;;;;;;1125:2345:3;-1:-1:-1;6127:437:76;;-1:-1:-1;;;6493:60:76;;1125:2345:3;;;;;1805:47:84;6493:60:76;6127:437;6225:40;;-1:-1:-1;;;;;;;;;;;6225:40:76;;;6221:120;;1748:29:84;;;:34;1744:119;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;-1:-1:-1;;;;;;1125:2345:3;;;;;;;;2407:36:84;1125:2345:3;;2407:36:84;1125:2345:3;;2458:15:84;:11;;4107:55:89;4065:25;;;;;;;;1125:2345:3;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;4107:55:89;:::i;:::-;;1125:2345:3;;;;;4107:55:89;:::i;2454:148:84:-;6163:9;;;;;6159:70;;1125:2345:3;;6159:70:84;-1:-1:-1;;;6199:19:84;;1125:2345:3;;6199:19:84;1744:119;-1:-1:-1;;;1805:47:84;;1125:2345:3;;;1805:47:84;;6221:120:76;-1:-1:-1;;;6292:34:76;;1125:2345:3;;;6292:34:76;;6131:52;;;;1125:2345:3;6131:52:76;;1125:2345:3;6131:52:76;;;;;;1125:2345:3;6131:52:76;;;:::i;:::-;;;1125:2345:3;;;;149:1:7;6131:52:76;;;;1125:2345:3;-1:-1:-1;1125:2345:3;;6131:52:76;;;-1:-1:-1;6131:52:76;;4633:251;-1:-1:-1;;;4844:29:76;;1125:2345:3;4844:29:76;;4650:120;-1:-1:-1;;;;;;;;;;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;4728:42:76;;;-1:-1:-1;4650:120:76;;;1125:2345:3;;;;;;;-1:-1:-1;;1125:2345:3;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;1125:2345:3;;-1:-1:-1;;;5812:45:22;;-1:-1:-1;;;;;;;;;;;1125:2345:3;5812:45:22;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;;481:1:21;;;1125:2345:3;481:1:21;;;;1125:2345:3;;5812:45:22;1125:2345:3;5812:45:22;1125:2345:3;5812:17:22;:45;;;;;;;;;;;1125:2345:3;5812:45:22;1125:2345:3;5872:25:22;1125:2345:3;;5872:25:22;1125:2345:3;;5872:25:22;;;;;:::i;5812:45::-;;;;;;;;;;;;;;;:::i;:::-;;;1125:2345:3;5812:45:22;1125:2345:3;;;;;;;;5812:45:22;1125:2345:3;5872:25:22;1125:2345:3;;:::i;:::-;5812:45:22;;;;;;;;1125:2345:3;;;;;;;-1:-1:-1;;1125:2345:3;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7894:25:22;;1125:2345:3;;;7894:25:22;-1:-1:-1;;;;;;;;;;;1125:2345:3;7894:25:22;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;7894:25:22;;;;;1125:2345:3;7894:25:22;;:20;;:25;;;;;;;;;;;1125:2345:3;;;;;;;;;;;7894:25:22;;;1125:2345:3;7894:25:22;;1125:2345:3;7894:25:22;;;;;;1125:2345:3;7894:25:22;;;:::i;:::-;;;1125:2345:3;;;;;;;;;:::i;:::-;7894:25:22;;;;;;-1:-1:-1;7894:25:22;;1125:2345:3;;;-1:-1:-1;;;;;1125:2345:3;;;;;-1:-1:-1;1125:2345:3;;;;;;;;;7894:11:22;1125:2345:3;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3339:17:17;;;;;:::i;:::-;-1:-1:-1;;;;;1125:2345:3;3370:10:17;:19;;-1:-1:-1;3366:46:17;;-1:-1:-1;;3366:46:17;3442:5;;;:::i;:::-;-1:-1:-1;;;;;;;1458:19:6;10225:2:17;1458:19:6;;1125:2345:3;1458:19:6;;10178:50:17;1125:2345:3;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;;;3682:16:17;1125:2345:3;;;;3682:16:17;:::i;:::-;1125:2345:3;;;;;;;;;;;;;;;-1:-1:-1;1125:2345:3;3708:12:17;;;1125:2345:3;;;3759:14:17;;;1125:2345:3;;;3759:14:17;1125:2345:3;1458:19:6;;;;-1:-1:-1;;;;;;;1458:19:6;1125:2345:3;;;;10178:69:17;-1:-1:-1;;;10178:69:17;1125:2345:3;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;;;;;;;;;;-1:-1:-1;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1125:2345:3;;;;;;;;;;-1:-1:-1;;;1125:2345:3;;;;;;;;;;-1:-1:-1;;;1125:2345:3;;;;;-1:-1:-1;;;1125:2345:3;;;;-1:-1:-1;;;;;;1125:2345:3;;;;;;;;;3903:20:17;;-1:-1:-1;1125:2345:3;;;;;;;;3903:20:17;1125:2345:3;;3903:20:17;;;;;:::i;:::-;;;;1125:2345:3;;;-1:-1:-1;;;1125:2345:3;;;;;;;;3366:46:17;-1:-1:-1;;;3398:14:17;;1125:2345:3;2056:14:17;3398;1125:2345:3;;;;;;;;;;;;;1555:30:51;1125:2345:3;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;4793:19:18;1125:2345:3;4726:19:18;1125:2345:3;;;:::i;:::-;4726:19:18;;;;;1125:2345:3;18780:3:18;1125:2345:3;;-1:-1:-1;;;;;1125:2345:3;;18816:3:18;1125:2345:3;;;;18651:204:18;;4726:19;4793;;;;1125:2345:3;18780:3:18;1125:2345:3;;-1:-1:-1;;;;;1125:2345:3;;18816:3:18;1125:2345:3;;;;18651:204:18;;4793:19;4852:29;;;;;;;:::i;:::-;4920;;;:::i;:::-;4998:12;-1:-1:-1;;;;;4998:12:18;;;1125:2345:3;;5012:12:18;4998;5012;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;:::i;:::-;;;;;4998:12:18;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4998:12:18;1125:2345:3;;;;;;;;;;;:::i;:::-;;;;;;;;4998:12:18;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13738:12:18;13734:38;;1125:2345:3;;;-1:-1:-1;;;;;1125:2345:3;;13786:14:18;13782:40;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;13836:16:18;13832:42;;2418:55:3;5040:24:18;1125:2345:3;;:::i;:::-;-1:-1:-1;1125:2345:3;5169:13:18;;;;1125:2345:3;5169:20:18;;1125:2345:3;5191:21:18;;;1125:2345:3;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;-1:-1:-1;;;2418:55:3;;-1:-1:-1;;;;;1125:2345:3;;;;2418:55;;1125:2345;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;2418:55;;;;;;;;;;1125:2345;;;2418:55;;;1125:2345;-1:-1:-1;5228:448:18;;;1125:2345:3;;5310:60:18;1125:2345:3;;;:::i;:::-;;-1:-1:-1;;;;;1125:2345:3;;5349:13:18;;;:20;1125:2345:3;;5310:60:18;;;:::i;:::-;5293:77;;;5409:51;14091:19;1125:2345:3;;:::i;:::-;14091:19:18;:::i;:::-;14202:41;1125:2345:3;;;;14202:41:18;;;:::i;:::-;14264:46;;;;;:::i;:::-;1125:2345:3;;;;-1:-1:-1;;;;;;;;;;;4998:12:18;1125:2345:3;;;;;14355:91:18;;;-1:-1:-1;;1125:2345:3;14408:38:18;;1125:2345:3;;14408:38:18;:::i;:::-;1125:2345:3;14457:32:18;1125:2345:3;;;:::i;:::-;14457:32:18;:::i;:::-;14653:15;4998:12;14530:15;;1125:2345:3;;;;;;14499:47:18;1125:2345:3;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;4998:12:18;1125:2345:3;;;14499:47:18;:::i;:::-;14556:39;1125:2345:3;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;4998:12:18;1125:2345:3;;;14556:39:18;:::i;:::-;1125:2345:3;;;;;;;;14653:15:18;;:::i;:::-;14679:19;1125:2345:3;;:::i;14679:19:18:-;1125:2345:3;14712:16:18;;;1125:2345:3;;14708:265:18;;5228:448;5384:76;;;;5228:448;;1125:2345:3;;;;;;;;;16288:10:18;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;16212:262:18;1125:2345:3;16516:15:18;;1125:2345:3;;;;;;;16516:47:18;;-1:-1:-1;;;;;1125:2345:3;5741:10:18;16583:19;16579:46;;16512:595;-1:-1:-1;;;;;1125:2345:3;17147:18:18;;1125:2345:3;;17147:23:18;17143:162;;16512:595;-1:-1:-1;1125:2345:3;9686:10:18;;;1125:2345:3;9726:10:18;;;1125:2345:3;;;;;;9845:18:18;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;;9877:30:18;;;1125:2345:3;;;;;9927:42:18;;9989:20;;;;;9873:1548;-1:-1:-1;;;;;1125:2345:3;;11435:21:18;;;11431:131;;9873:1548;5873:61;;;;;;-1:-1:-1;;;;;5873:61:18;;:::i;:::-;1125:2345:3;;;;-1:-1:-1;;;;;;;;;;;4998:12:18;1125:2345:3;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4998:12:18;1125:2345:3;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4998:12:18;1125:2345:3;;;;;;-1:-1:-1;;1125:2345:3;;;;;;;;;;;;4998:12:18;;;;1125:2345:3;;;6122:72:18;;;;1125:2345:3;1458:19:6;-1:-1:-1;;;;;;1458:19:6;1125:2345:3;1458:19:6;;;;-1:-1:-1;;;1458:19:6;18577:46:18;;;;-1:-1:-1;;;;;1125:2345:3;;;;18577:61:18;1125:2345:3;;6122:72:18;;;;;:::i;1125:2345:3:-;-1:-1:-1;;;1125:2345:3;;;;;;;;;-1:-1:-1;;;1125:2345:3;;;;;;;;11431:131:18;4998:12;1125:2345:3;;;11472:79:18;1125:2345:3;;;;;;;;11487:16:18;;1125:2345:3;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;11472:79:18;;1125:2345:3;11472:79:18;;;:::i;:::-;;;;;;;;;;;5873:61;11472:79;;;-1:-1:-1;;;;;11472:79:18;;;11431:131;;;;;;;;;;11472:79;;;4998:12;11472:79;4998:12;11472:79;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;1125:2345:3;;;;;;;;;9923:169:18;-1:-1:-1;;;10055:22:18;;1125:2345:3;11311:22:18;10055;1125:2345:3;-1:-1:-1;;;1125:2345:3;;;;;;;;9873:1548:18;1125:2345:3;10112:35:18;;;:73;;;9873:1548;10108:1313;;;1125:2345:3;;;;;10205:42:18;;;;;;;10201:295;10205:42;;;10267:20;;9873:1548;;10201:295;1125:2345:3;;-1:-1:-1;1125:2345:3;-1:-1:-1;10329:37:18;10312:54;10329:37;;1125:2345:3;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;9873:1548:18;;10108:1313;10516:33;;;;-1:-1:-1;10516:33:18;10528:20;10516:33;10528:20;;1125:2345:3;;;;;;;10569:42:18;;10565:783;10569:42;;;10631:20;;;;9873:1548;;10565:783;1125:2345:3;;-1:-1:-1;1125:2345:3;;-1:-1:-1;1125:2345:3;;10676:55:18;;1125:2345:3;;-1:-1:-1;;;10758:22:18;;1125:2345:3;11311:22:18;10758;10672:676;1125:2345:3;10822:54:18;1125:2345:3;10822:54:18;;:132;;;10672:676;10801:547;;;1125:2345:3;11131:10:18;1125:2345:3;;;;;;11177:24:18;;;;;;11164:83;11177:69;:24;10998:267;11177:24;;:::i;:::-;:69;:::i;:::-;11164:83;:::i;:::-;5741:10;;10998:267;;;:::i;:::-;10801:547;9873:1548;;1125:2345:3;-1:-1:-1;;;1125:2345:3;;;;;;;;10801:547:18;-1:-1:-1;;;11311:22:18;;1125:2345:3;11311:22:18;;10822:132;-1:-1:-1;1125:2345:3;;-1:-1:-1;1125:2345:3;10900:54:18;;;10822:132;;10512:909;-1:-1:-1;;;11385:25:18;;1125:2345:3;11385:25:18;;10112:73;10151:34;1125:2345:3;10151:34:18;;;10112:73;;1125:2345:3;-1:-1:-1;;;1125:2345:3;;;;;;;;17143:162:18;1125:2345:3;;;;;-1:-1:-1;;;;;1125:2345:3;;;;-1:-1:-1;;;;;1125:2345:3;17190:15:18;:47;17186:109;;17143:162;;;17186:109;-1:-1:-1;;;17264:16:18;;1125:2345:3;17264:16:18;;1125:2345:3;-1:-1:-1;;;1125:2345:3;;;;;;;;16579:46:18;-1:-1:-1;;;16611:14:18;;1125:2345:3;2056:14:17;16611::18;16512:595;1125:2345:3;16516:15:18;;1125:2345:3;;;;;;;;16646:47:18;1125:2345:3;;-1:-1:-1;1125:2345:3;16723:10:18;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;5741:10:18;16713:20;16709:47;;16642:465;16512:595;;16642:465;1125:2345:3;16516:15:18;;1125:2345:3;;;;;;;1669:30:51;16777:44:18;1669:30:51;;-1:-1:-1;;;;;1125:2345:3;5741:10:18;16841:19;;;:43;;16773:334;16837:70;;16512:595;;16841:43;-1:-1:-1;1125:2345:3;16874:10:18;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;5741:10:18;16864:20;;16841:43;;16773:334;1125:2345:3;16516:15:18;;1125:2345:3;;;;;;;16947:26:18;16928:45;16947:26;;-1:-1:-1;;;;;1125:2345:3;5741:10:18;16993:19;:43;;;;16924:183;16989:70;16642:465;16989:70;-1:-1:-1;;;17045:14:18;;1125:2345:3;2056:14:17;17045::18;16993:43;-1:-1:-1;1125:2345:3;17026:10:18;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;5741:10:18;17016:20;16993:43;;16924:183;;16512:595;;1125:2345:3;-1:-1:-1;;;1125:2345:3;;;;;;;;16212:262:18;1125:2345:3;;;;;;16345:20:18;16319:47;16345:20;;16382:22;16212:262;;16315:159;1125:2345:3;;;;-1:-1:-1;;;;;1125:2345:3;16212:262:18;;14708:265;1125:2345:3;;;;-1:-1:-1;;;;;;;;;;;4998:12:18;1125:2345:3;;;;;;;-1:-1:-1;14789:87:18;-1:-1:-1;;;1125:2345:3;;;;;14840:36:18;14945:16;1125:2345:3;;;-1:-1:-1;1125:2345:3;14840:36:18;;:::i;:::-;14945:16;;1125:2345:3;;14945:16:18;;:::i;:::-;14708:265;;;;;1125:2345:3;;;;-1:-1:-1;1125:2345:3;;;;;-1:-1:-1;1125:2345:3;5228:448:18;5498:18;;;;;5614:51;5498:18;5543:46;1125:2345:3;-1:-1:-1;;;;;5498:18:18;;;:::i;:::-;1125:2345:3;;;;;;5543:46:18;;;:::i;:::-;5614:51;;:::i;:::-;5228:448;;;2418:55:3;;;;;;;1125:2345;2418:55;1125:2345;2418:55;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;1125:2345;;;;;;;;;13832:42:18;13809:13;;;1125:2345:3;13861:13:18;1125:2345:3;;13861:13:18;13734:38;13759:13;;;1125:2345:3;13759:13:18;1125:2345:3;;13759:13:18;1125:2345:3;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1125:2345:3;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;-1:-1:-1;;;8733:55:22;;1125:2345:3;;;;;;;8733:55:22;;1125:2345:3;;8733:55:22;;;:::i;:::-;;:22;;:55;;;;;;;1125:2345:3;;8906:28:22;1125:2345:3;;;8815:31:22;1125:2345:3;;;;;8733:55:22;;;1125:2345:3;8815:31:22;;:::i;:::-;1125:2345:3;;;8906:28:22;;:::i;:::-;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8733:55:22;;;;;;1125:2345:3;8733:55:22;;;;;;:::i;:::-;;;;;;1125:2345:3;;;;3108:19:18;3024;1125:2345:3;;;:::i;:::-;3024:19:18;;;;;1125:2345:3;18780:3:18;1125:2345:3;;-1:-1:-1;;;;;1125:2345:3;;18816:3:18;1125:2345:3;;;;18651:204:18;;3024:19;3108;;;;1125:2345:3;18780:3:18;1125:2345:3;;-1:-1:-1;;;;;1125:2345:3;;18816:3:18;1125:2345:3;;;;18651:204:18;;3108:19;3167:29;;;;;;:::i;:::-;3235;;;:::i;:::-;3296:12;-1:-1:-1;;;;;3296:12:18;;;1125:2345:3;;;;-1:-1:-1;;;;;;;;;;;3296:12:18;1125:2345:3;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3296:12:18;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13510:36:18;;1125:2345:3;3362:13:18;;;;1125:2345:3;3362:20:18;;1125:2345:3;3384:21:18;;;1125:2345:3;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;-1:-1:-1;;;12720:63:18;;-1:-1:-1;;;;;1125:2345:3;;;;12720:63:18;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;12720:63:18;;;;;;;1125:2345:3;;;12720:63:18;;;1125:2345:3;12797:6:18;;12793:44;;3490:60;1125:2345:3;3529:13:18;-1:-1:-1;;;;;1125:2345:3;;3529:13:18;;;:20;1125:2345:3;;3490:60:18;;;:::i;:::-;15549:143;;;1125:2345:3;15549:14:18;:143;1125:2345:3;;;;15588:10:18;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;3607:10:18;15578:20;15549:143;15706:12;15702:39;;1125:2345:3;;;;;15809:10:18;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;3607:10:18;15799:20;15770:141;15925:12;15921:39;;14091:19;1125:2345:3;;:::i;14091:19:18:-;14202:41;1125:2345:3;;;;14202:41:18;;;:::i;:::-;14264:46;;;;;:::i;:::-;14355:91;1125:2345:3;;;-1:-1:-1;;;;;;;;;;;3296:12:18;1125:2345:3;;;;;14368:37:18;1125:2345:3;;;;;;;;14355:91:18;;14653:15;;14457:32;14355:91;1125:2345:3;;:::i;14457:32:18:-;3296:12;14530:15;;1125:2345:3;;;;;;;14499:47:18;1125:2345:3;;;;;;;;;:::i;14499:47:18:-;14556:39;1125:2345:3;;;;;;;;;;;;:::i;14556:39:18:-;1125:2345:3;;;;;14653:15:18;;:::i;:::-;14679:19;1125:2345:3;;:::i;14679:19:18:-;1125:2345:3;14712:16:18;;;1125:2345:3;;14708:265:18;;15770:141;1125:2345:3;7480:10:18;;;1125:2345:3;;7520:10:18;;;1125:2345:3;3296:12:18;7592:16;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;;;;;;;;7480:10:18;1125:2345:3;;;;;;;;;;;;;;7623:49:18;1125:2345:3;;;;;;;;;;;;;;7723:32:18;1125:2345:3;7769:25:18;1125:2345:3;7619:1681:18;;-1:-1:-1;;;;;1125:2345:3;;9314:21:18;;;9310:131;;7619:1681;3920:59;;;1125:2345:3;3920:59:18;;;;;:::i;:::-;1125:2345:3;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;:::i;:::-;4047:15:18;;1125:2345:3;;;3296:12:18;4012:304;;1125:2345:3;;;4012:304:18;;;;1125:2345:3;;;;-1:-1:-1;;;;;1125:2345:3;4012:304:18;;1125:2345:3;;;;4012:304:18;1125:2345:3;4012:304:18;;1125:2345:3;;;;;4012:304:18;;1125:2345:3;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;4012:304:18;;1125:2345:3;;;;4012:304:18;1125:2345:3;4012:304:18;;1125:2345:3;;;;;;;-1:-1:-1;;;;;;;;;;;3296:12:18;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3296:12:18;1125:2345:3;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3296:12:18;1125:2345:3;;;;;;;;;;;;;;;;;;;;4503:62:18;;;;1125:2345:3;1458:19:6;-1:-1:-1;;;;;;1458:19:6;1125:2345:3;1458:19:6;;;;-1:-1:-1;;;1458:19:6;18577:46:18;-1:-1:-1;;;;;1125:2345:3;;;18577:61:18;1125:2345:3;;4503:62:18;;;;;:::i;:::-;;;;1125:2345:3;;;;;;;;;;;;;9310:131:18;3296:12;1125:2345:3;;;9351:79:18;1125:2345:3;;;;;;;;9366:16:18;;1125:2345:3;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;9351:79:18;;1125:2345:3;9351:79:18;;;:::i;:::-;;;;;;;;;;3920:59;9351:79;1125:2345:3;9351:79:18;;;;;;9310:131;;;;;;;;;;9351:79;;;3296:12;9351:79;3296:12;9351:79;;;;;;;:::i;:::-;;;;;;1125:2345:3;;;;;;;;;7619:1681:18;7828:60;;;;;;;1125:2345:3;7828:60:18;;;:139;;;7619:1681;7811:1489;;;8120:10;1125:2345:3;8162:15:18;8120:10;;1125:2345:3;;;8162:15:18;;:::i;:::-;1125:2345:3;;;;;;;;;;;8149:77:18;;;;;8003:237;8149:77;;:::i;:::-;3607:10;;8003:237;;;:::i;:::-;8254:32;1125:2345:3;8300:25:18;1125:2345:3;7811:1489:18;7619:1681;;7811:1489;8346:59;;;;8367:37;8346:59;;8367:37;;9269:20;;;1125:2345:3;8428:20:18;1125:2345:3;;8428:20:18;8342:958;8482:57;;;;1125:2345:3;8482:57:18;;;:133;;;8342:958;8465:835;;;8659:4;8796:234;8659:4;;8706:15;8942:74;8955:60;:15;1125:2345:3;8693:74:18;8706:60;:15;;;:::i;8693:74::-;8913:10;;1125:2345:3;;;8955:15:18;;:::i;8942:74::-;3607:10;;8796:234;;;:::i;:::-;8465:835;7619:1681;;8465:835;9051:52;;;;;;9072:30;9051:52;;;9047:253;9072:30;;;9138:4;;;9157:35;8367:37;9206:25;1125:2345:3;9047:253:18;7619:1681;;9047:253;9269:20;;;1125:2345:3;9269:20:18;1125:2345:3;;9269:20:18;8482:133;8559:56;8580:34;8559:56;;;8482:133;;7828:139;7908:59;7929:37;7908:59;;;7828:139;;14708:265;1125:2345:3;;;-1:-1:-1;;;;;;;;;;;3296:12:18;1125:2345:3;;;;;;;;;;;;;14789:87:18;14945:16;14789:87;14945:16;1125:2345:3;;14945:16:18;;1125:2345:3;;14945:16:18;;:::i;:::-;14708:265;;15921:39;2056:14:17;;;1125:2345:3;15946:14:18;1125:2345:3;;15946:14:18;15770:141;1125:2345:3;15770:141:18;;15549:143;1125:2345:3;15549:143:18;;12793:44;12812:25;;;1125:2345:3;12812:25:18;1125:2345:3;;12812:25:18;12720:63;;;;;;;1125:2345:3;12720:63:18;1125:2345:3;12720:63:18;;;;;;;:::i;:::-;;;;;;13510:36;13535:11;;;1125:2345:3;13535:11:18;1125:2345:3;;13535:11:18;1125:2345:3;;;;;;-1:-1:-1;;1125:2345:3;;;;6725:34:22;;1125:2345:3;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;-1:-1:-1;;;6725:34:22;;1125:2345:3;;;;;;6725:34:22;;;:::i;:::-;;:24;;:34;;;;;;1125:2345:3;6725:34:22;;;1125:2345:3;6725:34:22;1125:2345:3;;;;;;;:::i;6725:34:22:-;;;;;;;;;;;;;:::i;:::-;;;1125:2345:3;6725:34:22;1125:2345:3;;;;;;6725:34:22;1125:2345:3;;;;:::i;:::-;6725:34:22;;;;;;;1125:2345:3;;;;;;;:::i;:::-;1997:17:17;;;:::i;:::-;-1:-1:-1;;;;;1125:2345:3;2028:10:17;:19;;-1:-1:-1;2024:46:17;;-1:-1:-1;;2024:46:17;2100:5;;;:::i;:::-;-1:-1:-1;;;;;;;1458:19:6;10225:2:17;1458:19:6;;1125:2345:3;1458:19:6;;10178:50:17;1125:2345:3;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;;;2342:16:17;1125:2345:3;;;;2342:16:17;:::i;:::-;1125:2345:3;;;;;;;;;;;;;;;-1:-1:-1;1125:2345:3;2368:12:17;;;1125:2345:3;;;-1:-1:-1;2394:14:17;;;1125:2345:3;;;1458:19:6;;;-1:-1:-1;;;;;;;1458:19:6;1125:2345:3;;;;10178:69:17;-1:-1:-1;;;10178:69:17;1125:2345:3;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;;;;;;;;;;-1:-1:-1;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;1458:19:6;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1125:2345:3;;;;;;;;;;-1:-1:-1;;;1125:2345:3;;;;;;;;;;-1:-1:-1;;;1125:2345:3;;;;;-1:-1:-1;;;1125:2345:3;;;;-1:-1:-1;;;;;;1125:2345:3;;;;;;;2540:22:17;;2236:14;1125:2345:3;;;;;;;2540:22:17;1125:2345:3;;2540:22:17;;;;;:::i;1125:2345:3:-;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;:::o;:::-;;;;-1:-1:-1;1125:2345:3;;;;;-1:-1:-1;1125:2345:3;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;:::o;:::-;;;-1:-1:-1;;1125:2345:3;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;:::o;:::-;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;1125:2345:3;;;;;;-1:-1:-1;;1125:2345:3;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;-1:-1:-1;;1125:2345:3;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1125:2345:3;;;;;;;;-1:-1:-1;;1125:2345:3;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1125:2345:3;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;1125:2345:3;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;:::i;:::-;;;:::o;4594:683:17:-;;;;;;;10225:2;1458:19:6;;;-1:-1:-1;;;;;;;1458:19:6;1125:2345:3;;;;10178:69:17;-1:-1:-1;;;10178:69:17;1125:2345:3;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4893:14:17;1125:2345:3;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;4995:42:17;4991:60;;-1:-1:-1;;;;;;;1458:19:6;10225:2:17;1458:19:6;;1125:2345:3;1458:19:6;;10178:50:17;1125:2345:3;;;;;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;;;;;;;-1:-1:-1;5132:62:17;;5211:59;;;:::i;:::-;4594:683;:::o;5132:62::-;5182:12;;;;;;1125:2345:3;5182:12:17;:::o;1125:2345:3:-;;;;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1125:2345:3;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;149:1:7:-;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;149:1:7;;;;;;;;;;;;;;;;;;;:::i;:::-;1125:2345:3;;;;;;;:::i;:::-;149:1:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;1125:2345:3;481:1:21;149::7;;;-1:-1:-1;;;;;149:1:7;;;1125:2345:3;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;149:1:7;;;1125:2345:3;;149:1:7;;;1125:2345:3;149:1:7;1125:2345:3;149:1:7:o;:::-;-1:-1:-1;;;;;;;;;;;1125:2345:3;;-1:-1:-1;;;;;1125:2345:3;;;149:1:7;;;1125:2345:3;-1:-1:-1;149:1:7;;;1125:2345:3;481:1:21;149::7;;;1125:2345:3;149:1:7;;;:::o;256::21:-;1125:2345:3;;449:1:21;256;;;;;;;:::o;:::-;1125:2345:3;;;256:1:21;;;;;;;;;1125:2345:3;;4051:11:22;256:1:21;;;;;;;:::o;:::-;1125:2345:3;;;256:1:21;;;;;;;:::o;:::-;1125:2345:3;;383:1:21;256;;;;;;;:::o;:::-;1125:2345:3;;;256:1:21;;;;;;;:::o;:::-;1125:2345:3;;319:1:21;256;;;;;;;:::o;:::-;1125:2345:3;;256:1:21;;;;;;;;;;;;:::o;:::-;;1125:2345:3;;;;;;;;;;;256:1:21;-1:-1:-1;256:1:21;;;;;;;;;;:::o;:::-;;;1125:2345:3;;;;;;;;;;;256:1:21;;;;;;;-1:-1:-1;;;;;256:1:21;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;256:1:21;;;1125:2345:3;256:1:21;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;256:1:21;;;1125:2345:3;;;;256:1:21;;;;;:::i;1125:2345:3:-;-1:-1:-1;;;;;1125:2345:3;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;:::o;5324:671:17:-;;;;;;;10225:2;1458:19:6;;;-1:-1:-1;;;;;;;1458:19:6;1125:2345:3;;;;10178:69:17;-1:-1:-1;;;10178:69:17;1125:2345:3;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;-1:-1:-1;;;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;5715:42:17;5711:60;;-1:-1:-1;;;;;;;1458:19:6;10225:2:17;1458:19:6;;1125:2345:3;1458:19:6;;10178:50:17;1125:2345:3;;;;;;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;;;;;;;-1:-1:-1;5850:62:17;;5929:59;;;:::i;3405:215:74:-;-1:-1:-1;;;;;1125:2345:3;3489:22:74;;3485:91;;-1:-1:-1;;;;;;;;;;;1125:2345:3;;-1:-1:-1;;;;;;1125:2345:3;;;;;;;-1:-1:-1;;;;;1125:2345:3;3975:40:74;-1:-1:-1;;3975:40:74;3405:215::o;3485:91::-;3534:31;;;3509:1;3534:31;3509:1;3534:31;1125:2345:3;;3509:1:74;3534:31;6206:261:17;;6426:34;-1:-1:-1;;;;;6206:261:17;1125:2345:3;;:::i;:::-;;;;;;;;6452:2:17;1125:2345:3;;6426:34:17;:::i;:::-;6397:63;;6206:261;:::o;6603:2401::-;1458:19:6;-1:-1:-1;;;;;6686:9:17;;;1125:2345:3;;6686:40:17;6682:81;;1458:19:6;-1:-1:-1;;;;;6777:10:17;;;1125:2345:3;;6777:41:17;6773:78;;1458:19:6;-1:-1:-1;;;;;6865:9:17;;;1125:2345:3;;6865:40:17;6861:76;;6989:15;6964:11;;;1125:2345:3;6989:15:17;;1125:2345:3;;;;;;;;7008:24:17;6989:43;7008:24;;7052:19;7048:69;;6603:2401::o;7048:69::-;7080:37;;;-1:-1:-1;7080:37:17;7008:24;-1:-1:-1;7080:37:17;6985:2013;1125:2345:3;;;;;;;;7138:42:17;;7200:19;7196:68;;6603:2401::o;7196:68::-;7228:36;;;-1:-1:-1;7228:36:17;7008:24;-1:-1:-1;7228:36:17;7134:1864;1125:2345:3;;;;;;;;7304:24:17;7285:43;7304:24;;-1:-1:-1;;;;;;;1458:19:6;7344:79:17;;1125:2345:3:o;7344:79:17:-;7385:38;;;-1:-1:-1;7385:38:17;7008:24;-1:-1:-1;7385:38:17;7281:1717;1125:2345:3;;;;;;;;7463:26:17;7444:45;7463:26;;-1:-1:-1;;;;;;;1458:19:6;;7505:79:17;;-1:-1:-1;;;;;1125:2345:3;7675:28:17;:33;7671:81;;1125:2345:3:o;7671:81:17:-;7717:35;;;-1:-1:-1;7717:35:17;7008:24;-1:-1:-1;7717:35:17;7505:79;7546:38;;;-1:-1:-1;7546:38:17;7008:24;-1:-1:-1;7546:38:17;7440:1558;1125:2345:3;;;;;;;;7773:43:17;1125:2345:3;;7856:8:17;-1:-1:-1;7856:8:17;1125:2345:3;1458:19:6;6865:9:17;1458:19:6;;-1:-1:-1;;;;;;;;;;1125:2345:3;6686:9:17;1125:2345:3;;;;8067:35:17;1125:2345:3;8067:35:17;;8063:860;1125:2345:3;;;8126:39:17;1458:19:6;-1:-1:-1;8126:55:17;;;;;8063:860;8126:75;;;;;8063:860;8122:169;;;1125:2345:3:o;8122:169:17:-;8232:40;;;-1:-1:-1;8232:40:17;7008:24;-1:-1:-1;8232:40:17;8126:75;8185:16;;;8126:75;;;:55;8169:12;;;-1:-1:-1;8126:55:17;;;8063:860;8315:36;;;7304:24;8315:36;;7304:24;;8375:13;;;:56;;;;;8311:612;8375:72;;;;;8311:612;8375:92;;;;;8311:612;8371:187;;7440:1558;8371:187;8498:41;;;-1:-1:-1;8498:41:17;7008:24;-1:-1:-1;8498:41:17;8375:92;8451:16;;;8375:92;;;:72;8435:12;;-1:-1:-1;8375:72:17;;;:56;1458:19:6;-1:-1:-1;8392:39:17;-1:-1:-1;8375:56:17;;;8311:612;7463:26;8582:36;7463:26;;8642:13;;:56;;;;;8578:345;8642:72;;;;;8578:345;8642:92;;;;;8578:345;8638:187;;8063:860;8638:187;8765:41;;;-1:-1:-1;8765:41:17;7008:24;-1:-1:-1;8765:41:17;8642:92;1125:2345:3;8718:16:17;;;;8642:92;;;:72;8702:12;;-1:-1:-1;8642:72:17;;;:56;1458:19:6;-1:-1:-1;8659:39:17;-1:-1:-1;8642:56:17;;;8578:345;8870:38;;;-1:-1:-1;8870:38:17;7008:24;-1:-1:-1;8870:38:17;7769:1229;8960:27;;;-1:-1:-1;8960:27:17;7008:24;-1:-1:-1;8960:27:17;6861:76;6914:23;;;-1:-1:-1;6914:23:17;;-1:-1:-1;6914:23:17;6773:78;6827:24;;;-1:-1:-1;6827:24:17;;-1:-1:-1;6827:24:17;6682:81;6735:28;;;-1:-1:-1;6735:28:17;;-1:-1:-1;6735:28:17;14985:319:18;-1:-1:-1;1125:2345:3;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;1125:2345:3;;;15215:20:18;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;;;;15215:20:18;:::i;:::-;1125:2345:3;;;;;;;;;:::i;:::-;;;;;15252:45:18;;1125:2345:3;;15252:45:18;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;;;;15252:45:18;;1125:2345:3;;;15252:45:18;;1125:2345:3;;14985:319:18:o;1125:2345:3:-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;12873:492:18:-;;;-1:-1:-1;8733:55:22;12873:492:18;1125:2345:3;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;8733:55:22;;;;;;;:::i;:::-;;:22;;:55;;;;;;8815:31;1125:2345:3;;8906:28:22;1125:2345:3;-1:-1:-1;8733:55:22;;;8815:31;;:::i;8906:28::-;13212:6:18;;;;13208:44;;1125:2345:3;;;;13340:18:18;1125:2345:3;;;;;;;;:::i;:::-;;;;;13271:52:18;;;1125:2345:3;;;13271:52:18;;1125:2345:3;;13271:52:18;;;1125:2345:3;13340:18:18;;:::i;13208:44::-;13227:25;;;-1:-1:-1;13227:25:18;8733:55:22;-1:-1:-1;13227:25:18;8733:55:22;;;;;;-1:-1:-1;8733:55:22;;;;;;:::i;:::-;;;;;;1125:2345:3;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1125:2345:3;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;6173:33:22;1125:2345:3;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;;1125:2345:3;;;;;;;:::o;11574:491:18:-;-1:-1:-1;;;;;11574:491:18;-1:-1:-1;11778:137:18;11574:491;1125:2345:3;11574:491:18;1125:2345:3;;:::i;:::-;;;;;;;;11793:16:18;;;1125:2345:3;;;;;11863:9:18;;;;;:15;;;11889:16;11863:15;;;;;1125:2345:3;;;;;11889:16:18;;1125:2345:3;;;11863:9:18;1125:2345:3;;;;;;;;;11778:137:18;;;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;11778:137:18;;;;;;;-1:-1:-1;11778:137:18;;;11574:491;11929:5;1125:2345:3;11929:5:18;;1125:2345:3;;;;;11929:10:18;11925:49;;1125:2345:3;;;;;;;;12019:9:18;1125:2345:3;11863:9:18;12019;;1125:2345:3;;;11793:16:18;12030:8;;1125:2345:3;;12040:8:18;-1:-1:-1;;;;;11863:15:18;12040:8;11889:16;12040:8;;1125:2345:3;;12050:7:18;;1125:2345:3;;;11863:9:18;1125:2345:3;;;;;:::i;:::-;;;;11991:67:18;;1125:2345:3;11863:9:18;11991:67;;1125:2345:3;11793:16:18;11991:67;;1125:2345:3;11889:16:18;11991:67;;1125:2345:3;11863:15:18;11991:67;;1125:2345:3;11574:491:18;:::o;11925:49::-;11948:26;;;-1:-1:-1;11948:26:18;11778:137;-1:-1:-1;11948:26:18;11778:137;;;1125:2345:3;11778:137:18;1125:2345:3;11778:137:18;;;;;;;;:::i;:::-;;;1125:2345:3;;;;;;;;;;:::i;:::-;11778:137:18;;;;;;;;9010:1049:17;;;;;;-1:-1:-1;;;;;9224:9:17;;;1125:2345:3;;9224:14:17;;;:34;;;;9010:1049;9220:52;;;;-1:-1:-1;;;;;9286:10:17;;;1125:2345:3;;9286:15:17;;;:37;;;;9010:1049;9282:55;;;;-1:-1:-1;;;;;9351:9:17;;;1125:2345:3;;9351:14:17;;;:34;;;;9010:1049;9347:52;;;;9414:15;;;1125:2345:3;;;;;;;;9433:24:17;9414:43;9433:24;;9473:11;;;;1125:2345:3;9473:11:17;:::o;9410:643::-;1125:2345:3;;;;;;;;9505:42:17;;9585:16;;;;;:::i;:::-;-1:-1:-1;;;;;1125:2345:3;;;;;9622:15:17;;;;;9615:22;-1:-1:-1;;;9615:22:17:o;9501:552::-;1125:2345:3;;;;;;;;;;9677:24:17;9658:43;9677:24;;-1:-1:-1;9758:11:17;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;;;;;9724:48:17;;9717:55::o;9654:399::-;1125:2345:3;;;;;;;;;;;9812:26:17;9793:45;9812:26;;2653:15:22;;;1125:2345:3;9861:15:17;9433:24;1125:2345:3;9861:15:17;9789:264;1125:2345:3;;;;;;;;9897:43:17;1125:2345:3;;;9956:43:17;:::o;9893:160::-;1125:2345:3;10030:12:17;:::o;9347:52::-;9387:12;;;1125:2345:3;9387:12:17;:::o;9351:34::-;-1:-1:-1;;;;;1125:2345:3;9369:16:17;;;-1:-1:-1;9351:34:17;;;;9282:55;9325:12;;;;1125:2345:3;9325:12:17;:::o;9286:37::-;-1:-1:-1;;;;;1125:2345:3;9305:18:17;;;-1:-1:-1;9286:37:17;;;;9220:52;9260:12;;;;;1125:2345:3;9260:12:17;:::o;9224:34::-;-1:-1:-1;;;;;1125:2345:3;9242:16:17;;;-1:-1:-1;9224:34:17;;;;2486:241:3;1125:2345;;:::i;:::-;;;;:::i;:::-;;-1:-1:-1;;;;;1125:2345:3;;;;;;9166:51:22;;-1:-1:-1;;;;;;;;;;;9166:51:22;;;1125:2345:3;;;;;;-1:-1:-1;1125:2345:3;;;;287:1:21;1125:2345:3;;;;;9166:21:22;:51;:21;;:51;;;;;;;;2486:241:3;1125:2345;;;:::i;9166:51:22:-;1125:2345:3;9166:51:22;;1125:2345:3;9166:51:22;;;;;;1125:2345:3;9166:51:22;;;:::i;:::-;;;1125:2345:3;;;;149:1:7;9166:51:22;;;;;-1:-1:-1;9166:51:22;;18284:178:18;1125:2345:3;1458:19:6;;;;-1:-1:-1;;;1458:19:6;-1:-1:-1;;;;;1125:2345:3;;;18394:61:18;-1:-1:-1;;;18394:61:18;;18284:178::o;:::-;1458:19:6;;;;;-1:-1:-1;;;1458:19:6;1125:2345:3;1458:19:6;;;;-1:-1:-1;;;1458:19:6;18394:46:18;-1:-1:-1;;;;;1125:2345:3;;;;18394:61:18;;18284:178::o;2658:162:74:-;-1:-1:-1;;;;;;;;;;;1125:2345:3;-1:-1:-1;;;;;1125:2345:3;966:10:77;2717:23:74;2713:101;;2658:162::o;2713:101::-;2763:40;;;-1:-1:-1;2763:40:74;966:10:77;2763:40:74;1125:2345:3;;-1:-1:-1;2763:40:74;1736:766:20;1125:2345:3;;:::i;:::-;;;3370:16:20;3366:49;;3443:2;1125:2345:3;;3429:16:20;3425:48;;3500:1;3520:3;1125:2345:3;;3503:15:20;;;;;-1:-1:-1;;1125:2345:3;;;;;;;3543:16:20;:11;1125:2345:3;3543:11:20;;;:::i;:::-;;:16;1125:2345:3;;;3543:16:20;3563:7;;;;:::i;:::-;;:12;1125:2345:3;;-1:-1:-1;3543:32:20;3539:65;;3500:1;1125:2345:3;3488:13:20;;3539:65;3584:20;;;-1:-1:-1;3584:20:20;;-1:-1:-1;3584:20:20;3503:15;;;;3624:13;;;1125:2345:3;3500:1:20;1125:2345:3;;-1:-1:-1;3691:3:20;1125:2345:3;;3674:15:20;;;;;3733:7;;;;:::i;:::-;;3543:16;3758:8;;1125:2345:3;;;3758:13:20;;;3791:22;;1125:2345:3;3500:1:20;3791:22;;;;;1125:2345:3;;;;;3754:335:20;1125:2345:3;3659:13:20;;3754:335;1125:2345:3;3891:28:20;1125:2345:3;;3939:21:20;1125:2345:3;3500:1:20;3939:21;;;;;1125:2345:3;;;3543:16:20;3985;;1125:2345:3;3754:335:20;;3887:202;4051:21;;;;1125:2345:3;;;;;;;;;;;;3500:1:20;1125:2345:3;;;;;;3754:335:20;;3674:15;;;;;;1959:11;;;:::i;:::-;1125:2345:3;;-1:-1:-1;1125:2345:3;1984:13:20;3543:16;1125:2345:3;;3624:13:20;-1:-1:-1;1125:2345:3;;3543:16:20;1125:2345:3;;1980:47:20;;1125:2345:3;-1:-1:-1;1125:2345:3;1984:13:20;3543:16;1125:2345:3;3624:13:20;-1:-1:-1;1125:2345:3;;;;;;;;;;;;;;;3543:16:20;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1125:2345:3;;;;;;3543:16:20;1125:2345:3;;;;;;;;;;;;-1:-1:-1;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1125:2345:3;;;;;;-1:-1:-1;2111:3:20;1125:2345:3;;2094:15:20;;;;;2153:7;;3500:1;2153:7;;;:::i;:::-;;3543:16;2178:8;;1125:2345:3;;;;;2178:13:20;;;:45;;;;2111:3;2174:312;;;2111:3;;;1125:2345:3;2079:13:20;;2174:312;-1:-1:-1;1125:2345:3;;;1573:79:20;3543:16;1125:2345:3;;;3624:13:20;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1125:2345:3;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1125:2345:3;;;;;;;;;;;2174:312:20;;;;2178:45;1125:2345:3;2195:28:20;;;;2178:45;;;2094:15;;;;;1736:766::o;1980:47::-;2014:13;;;:::o;3425:48::-;3454:19;;;-1:-1:-1;3454:19:20;;-1:-1:-1;3454:19:20;3366:49;3395:20;;;-1:-1:-1;3395:20:20;;-1:-1:-1;3395:20:20;2733:339:3;1125:2345;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;1125:2345:3;;;-1:-1:-1;;;2969:44:3;;-1:-1:-1;;;;;1125:2345:3;;;;2969:44;;;1125:2345;;;;;2969:44;;1125:2345;;-1:-1:-1;;;;;1125:2345:3;2969:44;;;;;;;-1:-1:-1;2969:44:3;;;2733:339;-1:-1:-1;1125:2345:3;;-1:-1:-1;;;3039:26:3;;-1:-1:-1;;;;;1125:2345:3;;;;2969:44;3039:26;;1125:2345;2955:58;1125:2345;;2969:44;1125:2345;-1:-1:-1;;;;;1125:2345:3;;3039:26;;;;;;-1:-1:-1;;;3039:26:3;;;3023:42;;2733:339;:::o;3039:26::-;;;;;;1125:2345;3039:26;1125:2345;3039:26;;;;;;;:::i;:::-;3023:42;2733:339;:::o;2969:44::-;;;1125:2345;2969:44;;1125:2345;2969:44;;;;;;1125:2345;2969:44;;;:::i;:::-;;;1125:2345;;;;;;;:::i;:::-;2969:44;;;;;;-1:-1:-1;2969:44:3;;6191:121:70;358:279;1125:2345:3;6262:42:70;6191:121;;1125:2345:3;;6262:42:70;;;;;;;;;;;;;;1125:2345:3;;;;;;:::i;:::-;6262:42:70;1125:2345:3;;6262:42:70;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;6191:121::o;7139:145::-;1125:2345:3;7222:54:70;358:279;7139:145;;;;1125:2345:3;;7222:54:70;;;;;;;;;;1125:2345:3;7222:54:70;;;1125:2345:3;;;;;;:::i;:::-;;;;;;7222:54:70;1125:2345:3;;7222:54:70;;;;;;:::i;17317:227:18:-;;17501:6;17494:13;-1:-1:-1;17483:54:18;;17317:227::o;17483:54::-;17517:20;;;-1:-1:-1;17517:20:18;1125:2345:3;17517:20:18;1125:2345:3;;-1:-1:-1;17517:20:18;17317:227;;;17501:6;17494:13;-1:-1:-1;17483:54:18;;17317:227;:::o;17483:54::-;1125:2345:3;17517:20:18;;;;-1:-1:-1;17517:20:18;1125:2345:3;17517:20:18;1125:2345:3;;-1:-1:-1;17517:20:18;17550:728;;;;;1125:2345:3;;;;;;17745:22:18;17740:27;;17745:22;;17783:20;;;;17736:536;17550:728::o;17736:536::-;1125:2345:3;;-1:-1:-1;1125:2345:3;;17829:22:18;17824:27;;17829:22;;17867:20;;;17820:452;17550:728::o;17820:452::-;1125:2345:3;;-1:-1:-1;1125:2345:3;17913:19:18;17908:24;;17913:19;;17948:17;;17904:368;1125:2345:3:o;17904:368:18:-;1125:2345:3;;-1:-1:-1;17991:19:18;17986:24;;17991:19;;18026:16;17982:290;1125:2345:3:o;17982:290:18:-;18068:19;18063:24;;18068:19;;18103:21;;1125:2345:3;18059:213:18;1125:2345:3:o;18059:213:18:-;18150:21;18145:26;18150:21;;18141:131;1125:2345:3:o;4111:262:20:-;1125:2345:3;;4203:16:20;4199:39;;1091:17:16;;;:::i;:::-;1126;;;;:::i;:::-;1161;1196:18;1161:17;;;:::i;1196:18::-;4498:7:20;;;:18;;;4111:262;4498:29;;;4111:262;4498:40;;;4111:262;4497:95;;;;;;;1125:2345:3;4111:262:20;:::o;4497:95::-;1125:2345:3;;4565:26:20;;;;1125:2345:3;;;;;;;;;;;;;;;;4565:26:20;;;;;;:::i;:::-;1125:2345:3;4555:37:20;;4111:262;:::o;4498:40::-;4531:7;;;4498:40;;:29;4520:7;;;4498:29;;:18;4509:7;;;4498:18;;4199:39;4221:17;1125:2345:3;4221:17:20;:::o;201:716:16:-;1125:2345:3;;328:20:16;:53;;351:12;1125:2345:3;351:12:16;;:::i;:::-;;328:53;;1125:2345:3;;;422:1:16;413:24;:61;;;;1125:2345:3;-1:-1:-1;440:16:16;;422:1;440:16;;:::i;:::-;;413:61;;1125:2345:3;;;;515:1:16;506:24;:61;;;1125:2345:3;-1:-1:-1;533:16:16;;;515:1;533:16;;:::i;:::-;;506:61;;1125:2345:3;;-1:-1:-1;1125:2345:3;;608:1:16;599:24;:61;;;608:1;626:16;1125:2345:3;626:16:16;:::i;:::-;;599:61;;1125:2345:3;713:7:16;-1:-1:-1;;;1125:2345:3;;707:2:16;1458:19:6;;713:7:16;;1125:2345:3;;686:34:16;725:3;1458:19:6;1125:2345:3;;713:7:16;-1:-1:-1;;;1125:2345:3;;707:2:16;1458:19:6;;780:7:16;;1125:2345:3;;753:34:16;792:3;1458:19:6;677:119:16;1125:2345:3;;713:7:16;-1:-1:-1;;;1125:2345:3;;707:2:16;1458:19:6;;835:7:16;;1125:2345:3;;808:34:16;847:2;1458:19:6;677:173:16;1125:2345:3;;713:7:16;-1:-1:-1;;;1125:2345:3;;707:2:16;1458:19:6;;901:7:16;;1125:2345:3;;874:34:16;677:233;201:716;:::o;599:61::-;1125:2345:3;;;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;-1:-1:-1;645:15:16;;;1125:2345:3;599:61:16;;;1125:2345:3;-1:-1:-1;;;1125:2345:3;;;;;;;;506:61:16;1125:2345:3;;;;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;-1:-1:-1;552:15:16;;;1125:2345:3;506:61:16;;;413;1125:2345:3;;;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;-1:-1:-1;459:15:16;;;1125:2345:3;413:61:16;;;328:53;1125:2345:3;;;;;:::i;:::-;;;;;366:15:16;;;1125:2345:3;328:53:16;;;201:716;1125:2345:3;;;328:20:16;;;;351:12;1125:2345:3;351:12:16;;:::i;:::-;;328:53;;-1:-1:-1;1125:2345:3;;;413:24:16;:61;;;;1125:2345:3;-1:-1:-1;440:16:16;;1125:2345:3;440:16:16;;:::i;:::-;;413:61;;1125:2345:3;;;;;506:24:16;:61;;;1125:2345:3;-1:-1:-1;533:16:16;;;1125:2345:3;533:16:16;;:::i;:::-;;506:61;;1125:2345:3;;-1:-1:-1;1125:2345:3;;;599:24:16;:61;;;1125:2345:3;626:16:16;1125:2345:3;626:16:16;:::i;506:61::-;1125:2345:3;;;;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;-1:-1:-1;552:15:16;;;1125:2345:3;506:61:16;;;413;1125:2345:3;;;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;-1:-1:-1;459:15:16;;;1125:2345:3;413:61:16;;;328:53;1125:2345:3;;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;-1:-1:-1;366:15:16;;;1125:2345:3;328:53:16;;;201:716;1125:2345:3;;481:1:21;328:20:16;;;;351:12;481:1:21;351:12:16;;:::i;:::-;;328:53;;-1:-1:-1;1125:2345:3;;;413:24:16;:61;;;;1125:2345:3;-1:-1:-1;440:16:16;;1125:2345:3;440:16:16;;:::i;:::-;;413:61;;1125:2345:3;;;;;506:24:16;:61;;;1125:2345:3;-1:-1:-1;533:16:16;;;1125:2345:3;533:16:16;;:::i;:::-;;506:61;;1125:2345:3;;-1:-1:-1;1125:2345:3;;;599:24:16;:61;;;1125:2345:3;626:16:16;1125:2345:3;626:16:16;:::i;506:61::-;1125:2345:3;;;;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;-1:-1:-1;552:15:16;;;1125:2345:3;506:61:16;;;413;1125:2345:3;;;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;-1:-1:-1;459:15:16;;;1125:2345:3;413:61:16;;;328:53;1125:2345:3;;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;-1:-1:-1;366:15:16;;;1125:2345:3;328:53:16;;;201:716;1125:2345:3;;1211:2:16;328:20;;;;351:12;1211:2;351:12;;:::i;:::-;;328:53;;-1:-1:-1;1125:2345:3;;;413:24:16;:61;;;;1125:2345:3;-1:-1:-1;440:16:16;;1125:2345:3;440:16:16;;:::i;:::-;;413:61;;1125:2345:3;;;;;506:24:16;:61;;;1125:2345:3;-1:-1:-1;533:16:16;;;1125:2345:3;533:16:16;;:::i;:::-;;506:61;;1125:2345:3;;-1:-1:-1;1125:2345:3;;;599:24:16;:61;;;1125:2345:3;626:16:16;1125:2345:3;626:16:16;:::i;506:61::-;1125:2345:3;;;;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;-1:-1:-1;552:15:16;;;1125:2345:3;506:61:16;;;413;1125:2345:3;;;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;-1:-1:-1;459:15:16;;;1125:2345:3;413:61:16;;;328:53;1125:2345:3;;;;;:::i;:::-;-1:-1:-1;1125:2345:3;;-1:-1:-1;366:15:16;;;1125:2345:3;328:53:16;;;7082:141:75;1125:2345:3;-1:-1:-1;;;;;;;;;;;1125:2345:3;;;;7148:18:75;7144:73;;7082:141::o;7144:73::-;7189:17;;;-1:-1:-1;7189:17:75;;-1:-1:-1;7189:17:75;2508:750:20;;1125:2345:3;-1:-1:-1;1125:2345:3;1573:79:20;1125:2345:3;;;-1:-1:-1;1125:2345:3;;;;-1:-1:-1;1125:2345:3;;;;-1:-1:-1;1125:2345:3;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2834:103:20;;1125:2345:3;;;;-1:-1:-1;1125:2345:3;2970:13:20;1125:2345:3;;;-1:-1:-1;1125:2345:3;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3001:42:20;;3053:101;;3196:40;;;3216:16;3196:40;;2970:13;3164:87;-1:-1:-1;3164:87:20;;;2508:750;:::o;3196:40::-;-1:-1:-1;3196:40:20;;;3053:101;3099:40;;;-1:-1:-1;3099:40:20;;;3119:16;3099:40;-1:-1:-1;3078:76:20;-1:-1:-1;3078:76:20;-1:-1:-1;3078:76:20;;;:::o;3099:40::-;-1:-1:-1;3099:40:20;;3001:42;3017:26;;;;-1:-1:-1;3017:26:20;-1:-1:-1;3017:26:20;-1:-1:-1;3017:26:20;-1:-1:-1;3017:26:20;-1:-1:-1;3017:26:20;:::o;2834:103::-;2882:40;;;;-1:-1:-1;2882:40:20;;;;;2902:16;2882:40;;2857:4;2849:88;;;;;:::o;2882:40::-;-1:-1:-1;2882:40:20;;;4437:582:89;;4609:8;;-1:-1:-1;1125:2345:3;;5690:21:89;:17;;5815:158;;;;;;5686:354;6010:19;;;5710:1;6010:19;;5710:1;6010:19;4605:408;1125:2345:3;;4857:22:89;:49;;;4605:408;4853:119;;4985:17;;:::o;4853:119::-;-1:-1:-1;;;4878:1:89;4933:24;;;-1:-1:-1;;;;;1125:2345:3;;;;4933:24:89;1125:2345:3;;;4933:24:89;4857:49;4883:18;;;:23;4857:49;","linkReferences":{"contracts/libraries/Snapshots.sol":{"Snapshots":[{"start":1637,"length":20},{"start":1878,"length":20},{"start":2133,"length":20},{"start":2691,"length":20},{"start":3530,"length":20},{"start":4454,"length":20},{"start":4868,"length":20},{"start":5575,"length":20},{"start":5955,"length":20},{"start":6756,"length":20},{"start":7137,"length":20},{"start":10449,"length":20},{"start":12571,"length":20},{"start":17073,"length":20},{"start":18129,"length":20}]}},"immutableReferences":{"56427":[{"start":5714,"length":32},{"start":6192,"length":32}]}},"methodIdentifiers":{"UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","allowFrom(uint32,address,uint128,uint64,uint64,uint64)":"2629dae8","allowTo(uint32,address,uint128,uint64,uint64,uint64)":"edd716f0","elementRegistry()":"b19c3791","grantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":"05be88ac","grantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":"3440994b","initialize(address,address,address,address)":"f8c8765e","kindRegistry()":"527f3e1f","omniRegistry()":"2c636a11","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","relate(uint256,uint64,uint256)":"15ae7173","relationAdmit(uint64,uint32,uint64)":"2392f87d","relationDescriptor(uint64,uint32)":"06a883a0","relationOwner(uint64)":"bff9b974","relationRegister(address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[])":"b9f17a47","relationRevision(uint64,uint32)":"df89b3fc","relationRule(uint64)":"9e490e90","relationSnapshot(uint64,uint32)":"eab25c41","relationSota(uint64)":"52393e1a","relationStatus(uint64[])":"3dae8c28","relationTouch(uint64)":"418239fb","relationTransfer(uint64,address)":"a926f041","relationUpdate(uint64,bytes32)":"5634ad14","relationUpdate(uint64,bytes32,(uint16,uint48)[])":"c9e2a1fb","relationUpgrade(uint64,uint32,uint32)":"954fc712","renounceOwnership()":"715018a6","revokeFrom(uint128,uint32)":"ebeecfa3","revokeTo(uint128,uint32)":"876993ca","semver()":"cda493c8","setRegistry()":"ac8b956b","transferOwnership(address)":"f2fde38b","unrelate(uint256,uint64,uint256)":"2aead726","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AdjacencyKindNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AdjacencyOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AdjacencyUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AdjacencyUnordered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArcExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArcMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArcNotExist\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"kind\",\"type\":\"uint48\"}],\"name\":\"DegreeOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"kind\",\"type\":\"uint48\"}],\"name\":\"DegreeUnderflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantFilterKindInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantFilterRelationInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantFilterSetInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorAnyoneExtraNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorDelegateAddressInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorEligibleAddressInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorEligibleNotContract\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorHolderObjectParamsInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorHolderTokenTypeUnknown\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorHolderUniqueParamsInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorHolderValueParamsInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorOwnerExtraNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorTypeUnknown\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantRevoked\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HeadKindRejectsRelation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HeadSetRejectsTailObject\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitial\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidKind\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRelateShift\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRelation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidUnrelateShift\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"RecordNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RelationRejectsTailKind\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"vistor\",\"type\":\"address\"}],\"name\":\"UnauthorizedAccess\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unimplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnrelateLocked\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedHoldingState\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"tail\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"id\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationInitiator\",\"name\":\"initiator\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"reserved\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"kind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"set\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"extra\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct RelationGrant\",\"name\":\"grant\",\"type\":\"tuple\"}],\"name\":\"GrantFrom\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"id\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationInitiator\",\"name\":\"initiator\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"reserved\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"kind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"set\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"extra\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct RelationGrant\",\"name\":\"grant\",\"type\":\"tuple\"}],\"name\":\"GrantTo\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"arc\",\"type\":\"uint256\"}],\"name\":\"Related\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"arcs\",\"type\":\"uint256[]\"}],\"name\":\"Related\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"code\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"relateShift\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationTerminator\",\"name\":\"terminator\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"unrelateShift\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"unrelateDelay\",\"type\":\"uint64\"},{\"internalType\":\"bytes20\",\"name\":\"extra\",\"type\":\"bytes20\"}],\"indexed\":false,\"internalType\":\"struct RelationRule\",\"name\":\"rule\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"degs\",\"type\":\"uint16\"},{\"internalType\":\"uint48\",\"name\":\"kind\",\"type\":\"uint48\"}],\"indexed\":false,\"internalType\":\"struct Adjacency[]\",\"name\":\"adjs\",\"type\":\"tuple[]\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"RelationRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"}],\"name\":\"RelationTouched\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"RelationTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"RelationUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"}],\"name\":\"RelationUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"tail\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"}],\"name\":\"RevokeFrom\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"}],\"name\":\"RevokeTo\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"arc\",\"type\":\"uint256\"}],\"name\":\"Unrelated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"arcs\",\"type\":\"uint256[]\"}],\"name\":\"Unrelated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"tail\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"headKind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"headSet\",\"type\":\"uint64\"}],\"name\":\"allowFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allow\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tailKind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tailSet\",\"type\":\"uint64\"}],\"name\":\"allowTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"elementRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"tail\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"id\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationInitiator\",\"name\":\"initiator\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"reserved\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"kind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"set\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"extra\",\"type\":\"bytes32\"}],\"internalType\":\"struct RelationGrant\",\"name\":\"grant\",\"type\":\"tuple\"}],\"name\":\"grantFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"id\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationInitiator\",\"name\":\"initiator\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"reserved\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"kind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"set\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"extra\",\"type\":\"bytes32\"}],\"internalType\":\"struct RelationGrant\",\"name\":\"grant\",\"type\":\"tuple\"}],\"name\":\"grantTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"setr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"kindr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"elemr\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kindRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"omniRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tail\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"head\",\"type\":\"uint256\"}],\"name\":\"relate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kind\",\"type\":\"uint64\"}],\"name\":\"relationAdmit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"admit\",\"type\":\"bool\"},{\"internalType\":\"uint48\",\"name\":\"effKind\",\"type\":\"uint48\"},{\"internalType\":\"uint16\",\"name\":\"effDegs\",\"type\":\"uint16\"},{\"internalType\":\"uint48\",\"name\":\"totalKind\",\"type\":\"uint48\"},{\"internalType\":\"uint16\",\"name\":\"totalDegs\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev0\",\"type\":\"uint32\"}],\"name\":\"relationDescriptor\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"relationOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"code\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"relateShift\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationTerminator\",\"name\":\"terminator\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"unrelateShift\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"unrelateDelay\",\"type\":\"uint64\"},{\"internalType\":\"bytes20\",\"name\":\"extra\",\"type\":\"bytes20\"}],\"internalType\":\"struct RelationRule\",\"name\":\"rule\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"degs\",\"type\":\"uint16\"},{\"internalType\":\"uint48\",\"name\":\"kind\",\"type\":\"uint48\"}],\"internalType\":\"struct Adjacency[]\",\"name\":\"adjs\",\"type\":\"tuple[]\"}],\"name\":\"relationRegister\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"meta\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev0\",\"type\":\"uint32\"}],\"name\":\"relationRevision\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"relationRule\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"relateShift\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationTerminator\",\"name\":\"terminator\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"unrelateShift\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"unrelateDelay\",\"type\":\"uint64\"},{\"internalType\":\"bytes20\",\"name\":\"extra\",\"type\":\"bytes20\"}],\"internalType\":\"struct RelationRule\",\"name\":\"rule\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev0\",\"type\":\"uint32\"}],\"name\":\"relationSnapshot\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"internalType\":\"bytes32[]\",\"name\":\"elems\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"relationSota\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64[]\",\"name\":\"ids\",\"type\":\"uint64[]\"}],\"name\":\"relationStatus\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"relationTouch\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"meta\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"relationTransfer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"relationUpdate\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"meta\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"degs\",\"type\":\"uint16\"},{\"internalType\":\"uint48\",\"name\":\"kind\",\"type\":\"uint48\"}],\"internalType\":\"struct Adjacency[]\",\"name\":\"adjs\",\"type\":\"tuple[]\"}],\"name\":\"relationUpdate\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"meta\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"}],\"name\":\"relationUpgrade\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"meta\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"tail\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"}],\"name\":\"revokeFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"}],\"name\":\"revokeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"semver\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tail\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"head\",\"type\":\"uint256\"}],\"name\":\"unrelate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"GrantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"params\":{\"grant\":\"Grant definition\",\"tail\":\"Tail object ID (initiator)\"}},\"GrantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"params\":{\"grant\":\"Grant definition\",\"head\":\"Head object ID (receiver)\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Related(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256)\":{\"params\":{\"arc\":\"Encoded incoming arc\",\"desc\":\"Descriptor of the head after the relation\",\"head\":\"Encoded SID of the head object\"}},\"Related(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256[])\":{\"params\":{\"arcs\":\"Array of encoded incoming arcs\",\"desc\":\"Descriptor of the head after the relations\",\"head\":\"Encoded SID of the head object\"}},\"RelationRegistered(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[],address)\":{\"params\":{\"adjs\":\"List of admitted tail kinds and degree constraints\",\"code\":\"Optional logic contract address\",\"data\":\"Hash of the associated metadata or logic\",\"desc\":\"Descriptor of the relation\",\"id\":\"ID of the relation\",\"owner\":\"Address of the relation's owner\",\"rule\":\"Relation rule defining interaction logic\"}},\"RelationTouched(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"params\":{\"desc\":\"Descriptor after touch\",\"id\":\"ID of the relation\"}},\"RelationTransferred(uint64,address,address)\":{\"params\":{\"from\":\"Previous owner\",\"id\":\"ID of the relation\",\"to\":\"New owner\"}},\"RelationUpdated(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),bytes32)\":{\"params\":{\"data\":\"New data hash\",\"desc\":\"Updated descriptor\",\"id\":\"ID of the relation\"}},\"RelationUpgraded(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"params\":{\"desc\":\"Descriptor after upgrade\",\"id\":\"ID of the relation\"}},\"RevokeFrom(uint128,uint32)\":{\"params\":{\"grantId\":\"ID of the revoked grant\",\"tail\":\"Tail object ID (initiator)\"}},\"RevokeTo(uint128,uint32)\":{\"params\":{\"grantId\":\"ID of the revoked grant\",\"head\":\"Head object ID (receiver)\"}},\"Unrelated(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256)\":{\"params\":{\"arc\":\"Encoded incoming arc\",\"desc\":\"Descriptor of the head after unlinking\",\"head\":\"Encoded SID of the head object\"}},\"Unrelated(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256[])\":{\"params\":{\"arcs\":\"Array of encoded incoming arcs\",\"desc\":\"Descriptor of the head after unlinking\",\"head\":\"Encoded SID of the head object\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"allowFrom(uint32,address,uint128,uint64,uint64,uint64)\":{\"params\":{\"grantId\":\"Grant ID to check\",\"headKind\":\"Kind ID of the target (head) object\",\"headSet\":\"Set ID of the target (head) object\",\"rel\":\"Relation ID\",\"sender\":\"Address attempting the action\",\"tail\":\"Tail object ID\"},\"returns\":{\"allow\":\"True if authorized\"}},\"allowTo(uint32,address,uint128,uint64,uint64,uint64)\":{\"params\":{\"grantId\":\"Grant ID to check\",\"head\":\"Head object ID\",\"rel\":\"Relation ID\",\"sender\":\"Address attempting the action\",\"tailKind\":\"Kind ID of the source (tail) object\",\"tailSet\":\"Set ID of the source (tail) object\"},\"returns\":{\"_0\":\"True if authorized\"}},\"grantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"params\":{\"grant\":\"Grant details\",\"tail\":\"Tail object ID\"}},\"grantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"params\":{\"grant\":\"Grant details\",\"head\":\"Head object ID\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"relate(uint256,uint64,uint256)\":{\"params\":{\"head\":\"Encoded head node\",\"rel\":\"Relation ID\",\"tail\":\"Encoded tail node\"}},\"relationAdmit(uint64,uint32,uint64)\":{\"params\":{\"id\":\"Relation ID\",\"kind\":\"Tail kind ID to evaluate\",\"rev\":\"Revision to check\"},\"returns\":{\"admit\":\"Whether the kind is admitted\",\"effDegs\":\"Degree bounds for the matched kind\",\"effKind\":\"Matched kind (0 = wildcard match)\",\"totalDegs\":\"Degree bounds for the total-kind\",\"totalKind\":\"Special marker for total-kind (2^48-1 if defined)\"}},\"relationDescriptor(uint64,uint32)\":{\"params\":{\"id\":\"Relation ID\",\"rev0\":\"Revision to query (0 = latest)\"},\"returns\":{\"desc\":\"Descriptor at the specified revision\"}},\"relationOwner(uint64)\":{\"params\":{\"id\":\"Relation ID\"},\"returns\":{\"owner\":\"Address of the current owner\"}},\"relationRegister(address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[])\":{\"params\":{\"adjs\":\"Array of tail kind admissibility and degree limits\",\"code\":\"Optional logic contract address\",\"data\":\"Hash of the relation\\u2019s associated data\",\"rule\":\"Rule defining the behavior and constraints of the relation\"},\"returns\":{\"id\":\"New relation ID\",\"meta\":\"Descriptor after registration\"}},\"relationRevision(uint64,uint32)\":{\"params\":{\"id\":\"Relation ID\",\"rev0\":\"Requested revision (0 = latest)\"},\"returns\":{\"rev\":\"Validated revision (0 if not found)\"}},\"relationRule(uint64)\":{\"params\":{\"id\":\"Relation ID\"},\"returns\":{\"rule\":\"Possession and linkage rule for the relation\"}},\"relationSnapshot(uint64,uint32)\":{\"params\":{\"id\":\"Relation ID\",\"rev0\":\"Revision to query (0 = latest)\"},\"returns\":{\"desc\":\"Descriptor at the revision\",\"elems\":\"Elements at the revision\"}},\"relationSota(uint64)\":{\"params\":{\"id\":\"Relation ID\"},\"returns\":{\"desc\":\"Latest descriptor\",\"owner\":\"Current owner\"}},\"relationStatus(uint64[])\":{\"params\":{\"ids\":\"Array of relation IDs\"},\"returns\":{\"active\":\"True if all are valid and active\"}},\"relationTouch(uint64)\":{\"params\":{\"id\":\"Relation ID\"},\"returns\":{\"meta\":\"Descriptor after touch\"}},\"relationTransfer(uint64,address)\":{\"params\":{\"id\":\"Relation ID\",\"to\":\"New owner address\"},\"returns\":{\"from\":\"Previous owner address\"}},\"relationUpdate(uint64,bytes32)\":{\"params\":{\"data\":\"New data hash\",\"id\":\"Relation ID\"},\"returns\":{\"meta\":\"Updated descriptor\"}},\"relationUpdate(uint64,bytes32,(uint16,uint48)[])\":{\"params\":{\"adjs\":\"New array of adjacency rules\",\"data\":\"New data hash\",\"id\":\"Relation ID\"},\"returns\":{\"meta\":\"Updated descriptor\"}},\"relationUpgrade(uint64,uint32,uint32)\":{\"params\":{\"id\":\"Relation ID\",\"kindRev\":\"New kind revision (0 = no change)\",\"setRev\":\"New set revision (0 = no change)\"},\"returns\":{\"meta\":\"Descriptor after upgrade\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"revokeFrom(uint128,uint32)\":{\"params\":{\"grantId\":\"Grant ID to revoke\",\"tail\":\"Tail object ID\"}},\"revokeTo(uint128,uint32)\":{\"params\":{\"grantId\":\"Grant ID to revoke\",\"head\":\"Head object ID\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"unrelate(uint256,uint64,uint256)\":{\"params\":{\"head\":\"Encoded head node\",\"rel\":\"Relation ID\",\"tail\":\"Encoded tail node\"}},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"events\":{\"GrantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Emitted when a grant is issued to authorize initiating a relation from a tail object\"},\"GrantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Emitted when a grant is issued to authorize accepting a relation to a head object\"},\"Related(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256)\":{\"notice\":\"Emitted when a tail is linked to a head through a relation\"},\"Related(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256[])\":{\"notice\":\"Emitted when multiple tails are linked to a head\"},\"RelationRegistered(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[],address)\":{\"notice\":\"Emitted when a new relation is registered\"},\"RelationTouched(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"notice\":\"Emitted when a relation is touched (revision incremented without content change)\"},\"RelationTransferred(uint64,address,address)\":{\"notice\":\"Emitted when ownership of a relation is transferred\"},\"RelationUpdated(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),bytes32)\":{\"notice\":\"Emitted when a relation is updated\"},\"RelationUpgraded(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"notice\":\"Emitted when a relation is upgraded (kind/set revision bumped)\"},\"RevokeFrom(uint128,uint32)\":{\"notice\":\"Emitted when a grant from a tail object is revoked\"},\"RevokeTo(uint128,uint32)\":{\"notice\":\"Emitted when a grant to a head object is revoked\"},\"Unrelated(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256)\":{\"notice\":\"Emitted when a tail is unlinked from a head\"},\"Unrelated(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256[])\":{\"notice\":\"Emitted when multiple tails are unlinked from a head\"}},\"kind\":\"user\",\"methods\":{\"allowFrom(uint32,address,uint128,uint64,uint64,uint64)\":{\"notice\":\"Checks whether a sender is authorized to initiate a relation from a tail object\"},\"allowTo(uint32,address,uint128,uint64,uint64,uint64)\":{\"notice\":\"Checks whether a sender is authorized to accept a relation to a head object\"},\"grantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Issues a grant to allow initiating relations from a tail object\"},\"grantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Issues a grant to allow accepting relations to a head object\"},\"relate(uint256,uint64,uint256)\":{\"notice\":\"Links a tail object to a head object through a relation\"},\"relationAdmit(uint64,uint32,uint64)\":{\"notice\":\"Checks if a relation admits a specific kind as tail\"},\"relationDescriptor(uint64,uint32)\":{\"notice\":\"Returns descriptor of a relation at a specific revision\"},\"relationOwner(uint64)\":{\"notice\":\"Gets the current owner of a relation\"},\"relationRegister(address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[])\":{\"notice\":\"Registers a new relation\"},\"relationRevision(uint64,uint32)\":{\"notice\":\"Resolves and validates a revision number\"},\"relationRule(uint64)\":{\"notice\":\"Returns the rule definition for a relation\"},\"relationSnapshot(uint64,uint32)\":{\"notice\":\"Returns descriptor and packed elements at a specific revision\"},\"relationSota(uint64)\":{\"notice\":\"Returns the latest descriptor and current owner of a relation\"},\"relationStatus(uint64[])\":{\"notice\":\"Checks whether all specified relations are active (rev > 0)\"},\"relationTouch(uint64)\":{\"notice\":\"Touches a relation (bumps revision without modifying content)\"},\"relationTransfer(uint64,address)\":{\"notice\":\"Transfers ownership of a relation to a new address\"},\"relationUpdate(uint64,bytes32)\":{\"notice\":\"Updates the data hash of a relation\"},\"relationUpdate(uint64,bytes32,(uint16,uint48)[])\":{\"notice\":\"Updates the data hash and adjacency configuration of a relation\"},\"relationUpgrade(uint64,uint32,uint32)\":{\"notice\":\"Upgrades the kind or set revision of a relation\"},\"revokeFrom(uint128,uint32)\":{\"notice\":\"Revokes a previously issued `from` grant\"},\"revokeTo(uint128,uint32)\":{\"notice\":\"Revokes a previously issued `to` grant\"},\"unrelate(uint256,uint64,uint256)\":{\"notice\":\"Unlinks a tail object from a head object\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/OmniRegistry.sol\":\"OmniRegistry\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@create3-factory/=lib/create3-factory/src/\",\":@everyprotocol/core/=contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/\",\":@solmate/=lib/solmate/src/\",\":create3-factory/=lib/create3-factory/\",\":ds-test/=lib/solmate/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"contracts/OmniRegistry.sol\":{\"keccak256\":\"0xa10863185e7a404de111de368956d60118f420cbd7dd6dbedf2f6cbe7f0ad341\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d7bf3bd4ab4b7d7cf8baef7f1162d882203ac8555073a76163ddb5fc850cef56\",\"dweb:/ipfs/QmWV4jkf7V4mm597QAga3HcSzeXWDpn1fWhzgawDbwiCTs\"]},\"contracts/constants/Constraints.sol\":{\"keccak256\":\"0xc8c798ef5a7f1098f21dfed590db3d016a3509cfd287031570e5c0c72ec1319a\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3f62437ecc36c0e0a614bed0ebfbd93658a4387a16b489cbe463ed564d9060b8\",\"dweb:/ipfs/QmTvWuiC5ydGmoQYygkHizLTXYq2yaMiTagjCsh6cW74VQ\"]},\"contracts/constants/ObjectIds.sol\":{\"keccak256\":\"0xfdfe4689baeab1467fa2f6a913e00a3e38efc816045b22ef4d4364bfbee9d3f7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fe74ab06d9d53c390b5060deb0fd3d3d288600380a0a727e4d45a3b991752753\",\"dweb:/ipfs/QmRGa8RoCmYw3YmoZfi7fESfNy1odeEb2ZchhUmddZE2t3\"]},\"contracts/constants/Revisions.sol\":{\"keccak256\":\"0x08b2b4235bdce8213e935d9702c851015329eee27767cd7706bbb18043c0ab8b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://414d426504e6fa41e923cfb7d1e50dd8f00646b3c846f475a6e0f2b634035ce4\",\"dweb:/ipfs/QmcAQZEoMvuoj3fo8HpwF1qGPWFYsFdnpPsLzyMASyAg2w\"]},\"contracts/impl/omnir/AdjacencySpecUtils.sol\":{\"keccak256\":\"0x6cb380526e092c5103d1c74ef12359292cf8402ab2f93c1134b285fab84ed87f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://64364bb6f2d9a4dbbd3b4339813e30d3f38be311663f1027df3739a9134ff410\",\"dweb:/ipfs/QmSkrvgii4CogefjoS9LT7KkaD75AZodp41AtgvDh2k1qR\"]},\"contracts/impl/omnir/ObjectAuthorization.sol\":{\"keccak256\":\"0xb7fe44b2fab1fb2b64d06bab3ff25a79b752b529e281a3d351798fce86c99047\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3629595de35a0f82e2fbd6754dc12f2adc29e3e1048ff85f0fa8d2c74e322362\",\"dweb:/ipfs/QmRd1WDFDiVkbktM8tXPMBKsoaiFazzg3YLfDsracch2Rt\"]},\"contracts/impl/omnir/ObjectInteraction.sol\":{\"keccak256\":\"0x2773f9cbfe9b89b4ccb708a72714e5dc2ee83aa27a80ce55de3e4b7d2e382b08\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d33419ab9062bf9b485258f5a0a00691717ee054e1263f399bbdfe4cdb0793fa\",\"dweb:/ipfs/QmcHfUPzMN8wnS1SHdZuXs8QqqmSMqiuxDhEJ7EGdQmwoP\"]},\"contracts/impl/omnir/OmniRegistryErrors.sol\":{\"keccak256\":\"0x472c62227b898d76f7ef462ae245dbd8efd03dda02683042757261dea06a65df\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5b5ed2049d8f3c17a9ed58e2d12eed2bfc3e7c117c95704a4ab7195cc27cd0e7\",\"dweb:/ipfs/QmTVfi6vYD4TDgZs8DonLcgwW53qp6ArGmpcYyKDnPaDFN\"]},\"contracts/impl/omnir/RelationAdjacencies.sol\":{\"keccak256\":\"0xf800e516357d6ae7a7727d6824d808500d1c86b2dab5445079cc34b0723669fb\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5763ece8fe86c87a05070e19bbb9438c2372ddfe7fee615ef33d34df501682d\",\"dweb:/ipfs/QmYyqq5TyrxSfeoLvs2NJhLeutQH7kRPQKNBpthjGk43H5\"]},\"contracts/impl/omnir/RelationElements.sol\":{\"keccak256\":\"0xac3a378cb735af1171aca50bb4d888966bd3d270335a3811dd66c6501db6d66b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://80d0316431df26ca6d8a32d3f26ae4af45682295b08ff9a735c2514645731da1\",\"dweb:/ipfs/QmYPZp3FBLUVWMqC3wCFUyukQe3WeGmVN69DVHjkxWoDbh\"]},\"contracts/impl/omnir/RelationRegistry.sol\":{\"keccak256\":\"0x7f3bcad0af5c6231fd235f03b6a7bc567c95bf4b3565c4d4a636cb1f783cc0cb\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://8f34441faded6719f98a6219a92dae185632cc8ee62714a2023178d715320310\",\"dweb:/ipfs/QmWqqnd1msHsThkxGFnUP7DsvYAAnbZ5o7MqVViVxsb7Kf\"]},\"contracts/interfaces/core/IElementRegistry.sol\":{\"keccak256\":\"0x66a57a950d6893a153013f7f3551a816af0e563d1bdb7738af3cb105aaefa391\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://e4d34b5f553a670d95384f8bc5d07d2a6a616eef17a661b9abedb4f70801cfec\",\"dweb:/ipfs/QmPSUMunM2mzbgtp46d6VrSztESDQohUnT9chjvVdC9d5T\"]},\"contracts/interfaces/core/IKindRegistry.sol\":{\"keccak256\":\"0x1fafc5ff965ba91caa8fcb86af8e2c9ec95b0629e488a76004ac38bdab6f2ad9\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://08f8596d01747b8e4078525eb54f206562c11a510491ce0c5a881f0c303df00c\",\"dweb:/ipfs/QmPXj59oTBwPbzsM6WZjWJXNLvf5THj2NsDHod7oaoD6nA\"]},\"contracts/interfaces/core/IObjectAuthorization.sol\":{\"keccak256\":\"0x78fc70b92b4f65163df79f322e7c8f39a00ab1c365426b8d4abc2c287581910e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://35d6e57914e967476a3ba483d05ccfa6abf0e8a0405c2d9eba7708bfcb5bd355\",\"dweb:/ipfs/QmS6NxRTSaJg6FovQHvPzi6aqZGMKdeh3Ate6T661muHjJ\"]},\"contracts/interfaces/core/IObjectInteraction.sol\":{\"keccak256\":\"0xde050ef66ef30f0b01ccdef67a0cb8daef40475e4ea2a7e61ee3f69c9f02dea5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://60efee1ef9fd9e3b070804744de0d633e17fa074f572187dfef4d9fbce32d1f0\",\"dweb:/ipfs/QmRAyuoJ2SeKj5mUP5dXWyhiLmv4seihfXUQN25qg298Rn\"]},\"contracts/interfaces/core/IOmniRegistry.sol\":{\"keccak256\":\"0xa3c92da90cd34c07fb565addd3920c4811d0959dcbc1cf5998bc4356932ed001\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a40013eb1a630d5c1ef0ef4b067de91672f8df2a44b76af43d8bc8ac47b4e693\",\"dweb:/ipfs/QmeA4mjPkd8vWdCRMHfWg4CFgYR733Q98u8VcjmHc28MdV\"]},\"contracts/interfaces/core/IRelationRegistry.sol\":{\"keccak256\":\"0xcb2ec73180f5c2c4d89ee6f1cd3960aa53278936021432b09cf1799df13294ec\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://65e4442dbfc632c450f3793d96895178f7e70d9c784e2aa7c5d7eef69bf22e42\",\"dweb:/ipfs/QmfPzAm7QbYHbuB2Vf4sgE1JQ5muj9WRjkVXnYiQoFCy1f\"]},\"contracts/interfaces/core/ISetRegistry.sol\":{\"keccak256\":\"0x8e2ef94f79b1840e270c9db69e74b94945af61ca20cc48a46cd9b28fb52e2373\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d541628c8b8c46cce3d048c86349d5e405e0d1754ebfde623fb3c71ab2f1c7cf\",\"dweb:/ipfs/QmYHhy2xe3RJC3EFfQvqXFm7nptYZUyKARjcjfrKGumHiV\"]},\"contracts/interfaces/core/IUniqueRegistry.sol\":{\"keccak256\":\"0xc86ef36c3bf943c9a26f5311320b759cf6f2759251978213855a987ebe39512a\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://8ea9944c8a9749ecf4ee8c63caaa5712da41b7f012990479bc3415c22ababac8\",\"dweb:/ipfs/Qmb2KyZyYPTgo7ZqqBEXLMxEKHZpeseYrx46ZVhADNtNqi\"]},\"contracts/interfaces/core/IValueRegistry.sol\":{\"keccak256\":\"0xf00cc5ef9a841d3e03dcd4c76e3976ec87094412621a481e956fabd0f2ca5ff2\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://811cb991f120a2403015ac30b676d422aa5bc7b547c8e81e8038e386de7baa9f\",\"dweb:/ipfs/QmaTF3AZrJhusrGCKQEiTjbaBHFb7RoBiEDwmRTNau3Mty\"]},\"contracts/interfaces/user/IInteroperable.sol\":{\"keccak256\":\"0xa502a2fa8783f0c1da1abc5ae4c4da906adf6d0353be1376f019fc247132983e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cfd9ade736c75935c42bda26a622623c7fe1b1bef8b7c2c5680ed9ecb9d555c1\",\"dweb:/ipfs/QmcWrYeqqUP4a7hGr9dmNegenoo58pSR9pXnYPsXksNFi2\"]},\"contracts/interfaces/user/ISet.sol\":{\"keccak256\":\"0xe465548515b146f8ebf38a3209ad33bb4dfb9d84337925cf49ec320316c8216f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://30a88ff437bf1d6f397b2602441763d142077280187d3c4cb349a973598a96f5\",\"dweb:/ipfs/QmSJp2dhvu32hMreXTGrxc1t4XM665Sr7Z33VicbhEzxi8\"]},\"contracts/libraries/Counter.sol\":{\"keccak256\":\"0x7d9f675bcca78c0cc4e4e520494fa3e770b34b9e416d79208b21cb479bd5d18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cf6cf02c49d9d8e03d6d243fab812b4fb8b844c77a6393cffb13e3e14d6d900b\",\"dweb:/ipfs/QmUXagTCfuP5RnA4CcB25HTGWUaZwtPjSXhFEDHbfQ649o\"]},\"contracts/libraries/Semver.sol\":{\"keccak256\":\"0x1a8319edf650b0903d8f8791f34b201704e6e01f70feceb9e1d8430807476135\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f243a0862ccbc44f449a4c873f0f48664279900cd84ebf379797c1cb5a1f348\",\"dweb:/ipfs/QmTt2DurrymLHzJzBXUXQKCQdq5fhSMoy3yCZPrZKfPikX\"]},\"contracts/libraries/Snapshots.sol\":{\"keccak256\":\"0x57d3a7974789edb51b81f097c8064c06e60dd3cad933aa42f65ea23586705b2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d459fa5eec0a13bb5257ca1b2e0e8b16f4fa475ee5c79f1e8d6e30468e198e69\",\"dweb:/ipfs/QmeKKrnjemQWzeao4VYtPRWsWdWvNDnU1oomadksVyBVxf\"]},\"contracts/types/Descriptor.sol\":{\"keccak256\":\"0x37d21c3ba2b6fc1d92c0f90d4b5b9b6d8c9b16c9d36d769a7be93d16c0402fe4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://683a0796984d0e8a0ba15f01fa3ed8abfcd69d12f61b2eb84b7e3a41dfe48aa1\",\"dweb:/ipfs/QmU4L5AFk9NzYtj8nXELhjhyGiCrZH4kycpdKWeJQir3bT\"]},\"contracts/types/Element.sol\":{\"keccak256\":\"0x78c4d22125d02eba70d42950967bce8cef9143ade1652d3f66d60ae4459706b3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c4b4588b0d125419d991c30069814214c26b28d783808e38246940f5c1062d0c\",\"dweb:/ipfs/QmNpTwSHkjoRSNKicogKqKYC8DPi5iAPd9tyA4R4xp4UMQ\"]},\"contracts/types/Matter.sol\":{\"keccak256\":\"0x7cdeae2803ca0df53cc2674e45de091507069930df668ee4cd3666ad86ae0c3b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b6094a56617a7ca09b7bf578be268529d1266117632012892e05e86c645357\",\"dweb:/ipfs/QmRYw5bRBN8qgyTiTfAgiaqn24tDnwAraokehn5ooiXqED\"]},\"contracts/types/Relation.sol\":{\"keccak256\":\"0x8c714d5b0bbe95430b5ff529eec720c29f5f09071073f21e59db7bdc035a2a73\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7d935ee820a2e0e21eb041b3e61a1ae467b535ae09581195a8ca07a7cb309e79\",\"dweb:/ipfs/QmUgjpLg8YmScsCqaVLko43bagVCGuZ5R5Q1BGjQgCxTJk\"]},\"contracts/types/Token.sol\":{\"keccak256\":\"0x1a4ca38789517abd90a18e9555755b96bd9466d8b152fc871726186c81587481\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://16b4fa220db0b6be9aaab14eee64fdb58f820c4366cd642ed521a59378035090\",\"dweb:/ipfs/Qme3dhteY6tLAvMdZUqQT31ePvUZvigF5s1NCran3XW4Zt\"]},\"contracts/utils/Soke.sol\":{\"keccak256\":\"0xb2268024aaf41e8842ebe02227df193905bd667fec447b938e10f0eaf2626be8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a67374b5f98c9415e3388989159d6eb33091257b9a734268c179377371c0277\",\"dweb:/ipfs/QmfMPVewS3taKxLiUBGr64rCszYQBoYJax9Y4ic47o6KJD\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[],"type":"error","name":"AdjacencyKindNotExist"},{"inputs":[],"type":"error","name":"AdjacencyOverflow"},{"inputs":[],"type":"error","name":"AdjacencyUnderflow"},{"inputs":[],"type":"error","name":"AdjacencyUnordered"},{"inputs":[],"type":"error","name":"ArcExists"},{"inputs":[],"type":"error","name":"ArcMismatch"},{"inputs":[],"type":"error","name":"ArcNotExist"},{"inputs":[{"internalType":"uint48","name":"kind","type":"uint48"}],"type":"error","name":"DegreeOverflow"},{"inputs":[{"internalType":"uint48","name":"kind","type":"uint48"}],"type":"error","name":"DegreeUnderflow"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"type":"error","name":"ERC1967InvalidImplementation"},{"inputs":[],"type":"error","name":"ERC1967NonPayable"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"GrantFilterKindInvalid"},{"inputs":[],"type":"error","name":"GrantFilterRelationInvalid"},{"inputs":[],"type":"error","name":"GrantFilterSetInvalid"},{"inputs":[],"type":"error","name":"GrantInitiatorAnyoneExtraNotAllowed"},{"inputs":[],"type":"error","name":"GrantInitiatorDelegateAddressInvalid"},{"inputs":[],"type":"error","name":"GrantInitiatorEligibleAddressInvalid"},{"inputs":[],"type":"error","name":"GrantInitiatorEligibleNotContract"},{"inputs":[],"type":"error","name":"GrantInitiatorHolderObjectParamsInvalid"},{"inputs":[],"type":"error","name":"GrantInitiatorHolderTokenTypeUnknown"},{"inputs":[],"type":"error","name":"GrantInitiatorHolderUniqueParamsInvalid"},{"inputs":[],"type":"error","name":"GrantInitiatorHolderValueParamsInvalid"},{"inputs":[],"type":"error","name":"GrantInitiatorOwnerExtraNotAllowed"},{"inputs":[],"type":"error","name":"GrantInitiatorTypeUnknown"},{"inputs":[],"type":"error","name":"GrantNotFound"},{"inputs":[],"type":"error","name":"GrantRevoked"},{"inputs":[],"type":"error","name":"HeadKindRejectsRelation"},{"inputs":[],"type":"error","name":"HeadSetRejectsTailObject"},{"inputs":[],"type":"error","name":"InvalidCode"},{"inputs":[],"type":"error","name":"InvalidData"},{"inputs":[],"type":"error","name":"InvalidInitial"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidKind"},{"inputs":[],"type":"error","name":"InvalidRelateShift"},{"inputs":[],"type":"error","name":"InvalidRelation"},{"inputs":[],"type":"error","name":"InvalidUnrelateShift"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"Overflow"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"type":"error","name":"RecordNotExist"},{"inputs":[],"type":"error","name":"RelationRejectsTailKind"},{"inputs":[],"type":"error","name":"UUPSUnauthorizedCallContext"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"type":"error","name":"UUPSUnsupportedProxiableUUID"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"address","name":"vistor","type":"address"}],"type":"error","name":"UnauthorizedAccess"},{"inputs":[],"type":"error","name":"Unimplemented"},{"inputs":[],"type":"error","name":"UnrelateLocked"},{"inputs":[],"type":"error","name":"UnsupportedHoldingState"},{"inputs":[{"internalType":"uint128","name":"tail","type":"uint128","indexed":false},{"internalType":"struct RelationGrant","name":"grant","type":"tuple","components":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"enum RelationInitiator","name":"initiator","type":"uint8"},{"internalType":"uint16","name":"reserved","type":"uint16"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"kind","type":"uint64"},{"internalType":"uint64","name":"set","type":"uint64"},{"internalType":"bytes32","name":"extra","type":"bytes32"}],"indexed":false}],"type":"event","name":"GrantFrom","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"struct RelationGrant","name":"grant","type":"tuple","components":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"enum RelationInitiator","name":"initiator","type":"uint8"},{"internalType":"uint16","name":"reserved","type":"uint16"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"kind","type":"uint64"},{"internalType":"uint64","name":"set","type":"uint64"},{"internalType":"bytes32","name":"extra","type":"bytes32"}],"indexed":false}],"type":"event","name":"GrantTo","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"uint256","name":"arc","type":"uint256","indexed":false}],"type":"event","name":"Related","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"uint256[]","name":"arcs","type":"uint256[]","indexed":false}],"type":"event","name":"Related","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"address","name":"code","type":"address","indexed":false},{"internalType":"bytes32","name":"data","type":"bytes32","indexed":false},{"internalType":"struct RelationRule","name":"rule","type":"tuple","components":[{"internalType":"uint8","name":"version","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"relateShift","type":"uint8"},{"internalType":"enum RelationTerminator","name":"terminator","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"unrelateShift","type":"uint8"},{"internalType":"uint64","name":"unrelateDelay","type":"uint64"},{"internalType":"bytes20","name":"extra","type":"bytes20"}],"indexed":false},{"internalType":"struct Adjacency[]","name":"adjs","type":"tuple[]","components":[{"internalType":"uint16","name":"degs","type":"uint16"},{"internalType":"uint48","name":"kind","type":"uint48"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"RelationRegistered","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false}],"type":"event","name":"RelationTouched","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"address","name":"to","type":"address","indexed":false}],"type":"event","name":"RelationTransferred","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"bytes32","name":"data","type":"bytes32","indexed":false}],"type":"event","name":"RelationUpdated","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false}],"type":"event","name":"RelationUpgraded","anonymous":false},{"inputs":[{"internalType":"uint128","name":"tail","type":"uint128","indexed":false},{"internalType":"uint32","name":"grantId","type":"uint32","indexed":false}],"type":"event","name":"RevokeFrom","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"uint32","name":"grantId","type":"uint32","indexed":false}],"type":"event","name":"RevokeTo","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"uint256","name":"arc","type":"uint256","indexed":false}],"type":"event","name":"Unrelated","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"uint256[]","name":"arcs","type":"uint256[]","indexed":false}],"type":"event","name":"Unrelated","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint32","name":"grantId","type":"uint32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint128","name":"tail","type":"uint128"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"headKind","type":"uint64"},{"internalType":"uint64","name":"headSet","type":"uint64"}],"stateMutability":"view","type":"function","name":"allowFrom","outputs":[{"internalType":"bool","name":"allow","type":"bool"}]},{"inputs":[{"internalType":"uint32","name":"grantId","type":"uint32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint128","name":"head","type":"uint128"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"tailKind","type":"uint64"},{"internalType":"uint64","name":"tailSet","type":"uint64"}],"stateMutability":"view","type":"function","name":"allowTo","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"elementRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint128","name":"tail","type":"uint128"},{"internalType":"struct RelationGrant","name":"grant","type":"tuple","components":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"enum RelationInitiator","name":"initiator","type":"uint8"},{"internalType":"uint16","name":"reserved","type":"uint16"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"kind","type":"uint64"},{"internalType":"uint64","name":"set","type":"uint64"},{"internalType":"bytes32","name":"extra","type":"bytes32"}]}],"stateMutability":"nonpayable","type":"function","name":"grantFrom"},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128"},{"internalType":"struct RelationGrant","name":"grant","type":"tuple","components":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"enum RelationInitiator","name":"initiator","type":"uint8"},{"internalType":"uint16","name":"reserved","type":"uint16"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"kind","type":"uint64"},{"internalType":"uint64","name":"set","type":"uint64"},{"internalType":"bytes32","name":"extra","type":"bytes32"}]}],"stateMutability":"nonpayable","type":"function","name":"grantTo"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"setr","type":"address"},{"internalType":"address","name":"kindr","type":"address"},{"internalType":"address","name":"elemr","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"kindRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"omniRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"tail","type":"uint256"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint256","name":"head","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"relate"},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint64","name":"kind","type":"uint64"}],"stateMutability":"view","type":"function","name":"relationAdmit","outputs":[{"internalType":"bool","name":"admit","type":"bool"},{"internalType":"uint48","name":"effKind","type":"uint48"},{"internalType":"uint16","name":"effDegs","type":"uint16"},{"internalType":"uint48","name":"totalKind","type":"uint48"},{"internalType":"uint16","name":"totalDegs","type":"uint16"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev0","type":"uint32"}],"stateMutability":"view","type":"function","name":"relationDescriptor","outputs":[{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"view","type":"function","name":"relationOwner","outputs":[{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"address","name":"code","type":"address"},{"internalType":"bytes32","name":"data","type":"bytes32"},{"internalType":"struct RelationRule","name":"rule","type":"tuple","components":[{"internalType":"uint8","name":"version","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"relateShift","type":"uint8"},{"internalType":"enum RelationTerminator","name":"terminator","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"unrelateShift","type":"uint8"},{"internalType":"uint64","name":"unrelateDelay","type":"uint64"},{"internalType":"bytes20","name":"extra","type":"bytes20"}]},{"internalType":"struct Adjacency[]","name":"adjs","type":"tuple[]","components":[{"internalType":"uint16","name":"degs","type":"uint16"},{"internalType":"uint48","name":"kind","type":"uint48"}]}],"stateMutability":"nonpayable","type":"function","name":"relationRegister","outputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"struct Descriptor","name":"meta","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev0","type":"uint32"}],"stateMutability":"view","type":"function","name":"relationRevision","outputs":[{"internalType":"uint32","name":"rev","type":"uint32"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"view","type":"function","name":"relationRule","outputs":[{"internalType":"struct RelationRule","name":"rule","type":"tuple","components":[{"internalType":"uint8","name":"version","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"relateShift","type":"uint8"},{"internalType":"enum RelationTerminator","name":"terminator","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"unrelateShift","type":"uint8"},{"internalType":"uint64","name":"unrelateDelay","type":"uint64"},{"internalType":"bytes20","name":"extra","type":"bytes20"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev0","type":"uint32"}],"stateMutability":"view","type":"function","name":"relationSnapshot","outputs":[{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]},{"internalType":"bytes32[]","name":"elems","type":"bytes32[]"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"view","type":"function","name":"relationSota","outputs":[{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]},{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"uint64[]","name":"ids","type":"uint64[]"}],"stateMutability":"view","type":"function","name":"relationStatus","outputs":[{"internalType":"bool","name":"active","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"relationTouch","outputs":[{"internalType":"struct Descriptor","name":"meta","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"address","name":"to","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"relationTransfer","outputs":[{"internalType":"address","name":"from","type":"address"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"bytes32","name":"data","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"relationUpdate","outputs":[{"internalType":"struct Descriptor","name":"meta","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"bytes32","name":"data","type":"bytes32"},{"internalType":"struct Adjacency[]","name":"adjs","type":"tuple[]","components":[{"internalType":"uint16","name":"degs","type":"uint16"},{"internalType":"uint48","name":"kind","type":"uint48"}]}],"stateMutability":"nonpayable","type":"function","name":"relationUpdate","outputs":[{"internalType":"struct Descriptor","name":"meta","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"relationUpgrade","outputs":[{"internalType":"struct Descriptor","name":"meta","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint128","name":"tail","type":"uint128"},{"internalType":"uint32","name":"grantId","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"revokeFrom"},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128"},{"internalType":"uint32","name":"grantId","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"revokeTo"},{"inputs":[],"stateMutability":"pure","type":"function","name":"semver","outputs":[{"internalType":"uint32","name":"version","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"setRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"tail","type":"uint256"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint256","name":"head","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"unrelate"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"allowFrom(uint32,address,uint128,uint64,uint64,uint64)":{"params":{"grantId":"Grant ID to check","headKind":"Kind ID of the target (head) object","headSet":"Set ID of the target (head) object","rel":"Relation ID","sender":"Address attempting the action","tail":"Tail object ID"},"returns":{"allow":"True if authorized"}},"allowTo(uint32,address,uint128,uint64,uint64,uint64)":{"params":{"grantId":"Grant ID to check","head":"Head object ID","rel":"Relation ID","sender":"Address attempting the action","tailKind":"Kind ID of the source (tail) object","tailSet":"Set ID of the source (tail) object"},"returns":{"_0":"True if authorized"}},"grantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":{"params":{"grant":"Grant details","tail":"Tail object ID"}},"grantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":{"params":{"grant":"Grant details","head":"Head object ID"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"relate(uint256,uint64,uint256)":{"params":{"head":"Encoded head node","rel":"Relation ID","tail":"Encoded tail node"}},"relationAdmit(uint64,uint32,uint64)":{"params":{"id":"Relation ID","kind":"Tail kind ID to evaluate","rev":"Revision to check"},"returns":{"admit":"Whether the kind is admitted","effDegs":"Degree bounds for the matched kind","effKind":"Matched kind (0 = wildcard match)","totalDegs":"Degree bounds for the total-kind","totalKind":"Special marker for total-kind (2^48-1 if defined)"}},"relationDescriptor(uint64,uint32)":{"params":{"id":"Relation ID","rev0":"Revision to query (0 = latest)"},"returns":{"desc":"Descriptor at the specified revision"}},"relationOwner(uint64)":{"params":{"id":"Relation ID"},"returns":{"owner":"Address of the current owner"}},"relationRegister(address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[])":{"params":{"adjs":"Array of tail kind admissibility and degree limits","code":"Optional logic contract address","data":"Hash of the relation’s associated data","rule":"Rule defining the behavior and constraints of the relation"},"returns":{"id":"New relation ID","meta":"Descriptor after registration"}},"relationRevision(uint64,uint32)":{"params":{"id":"Relation ID","rev0":"Requested revision (0 = latest)"},"returns":{"rev":"Validated revision (0 if not found)"}},"relationRule(uint64)":{"params":{"id":"Relation ID"},"returns":{"rule":"Possession and linkage rule for the relation"}},"relationSnapshot(uint64,uint32)":{"params":{"id":"Relation ID","rev0":"Revision to query (0 = latest)"},"returns":{"desc":"Descriptor at the revision","elems":"Elements at the revision"}},"relationSota(uint64)":{"params":{"id":"Relation ID"},"returns":{"desc":"Latest descriptor","owner":"Current owner"}},"relationStatus(uint64[])":{"params":{"ids":"Array of relation IDs"},"returns":{"active":"True if all are valid and active"}},"relationTouch(uint64)":{"params":{"id":"Relation ID"},"returns":{"meta":"Descriptor after touch"}},"relationTransfer(uint64,address)":{"params":{"id":"Relation ID","to":"New owner address"},"returns":{"from":"Previous owner address"}},"relationUpdate(uint64,bytes32)":{"params":{"data":"New data hash","id":"Relation ID"},"returns":{"meta":"Updated descriptor"}},"relationUpdate(uint64,bytes32,(uint16,uint48)[])":{"params":{"adjs":"New array of adjacency rules","data":"New data hash","id":"Relation ID"},"returns":{"meta":"Updated descriptor"}},"relationUpgrade(uint64,uint32,uint32)":{"params":{"id":"Relation ID","kindRev":"New kind revision (0 = no change)","setRev":"New set revision (0 = no change)"},"returns":{"meta":"Descriptor after upgrade"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"revokeFrom(uint128,uint32)":{"params":{"grantId":"Grant ID to revoke","tail":"Tail object ID"}},"revokeTo(uint128,uint32)":{"params":{"grantId":"Grant ID to revoke","head":"Head object ID"}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"unrelate(uint256,uint64,uint256)":{"params":{"head":"Encoded head node","rel":"Relation ID","tail":"Encoded tail node"}},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"allowFrom(uint32,address,uint128,uint64,uint64,uint64)":{"notice":"Checks whether a sender is authorized to initiate a relation from a tail object"},"allowTo(uint32,address,uint128,uint64,uint64,uint64)":{"notice":"Checks whether a sender is authorized to accept a relation to a head object"},"grantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":{"notice":"Issues a grant to allow initiating relations from a tail object"},"grantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":{"notice":"Issues a grant to allow accepting relations to a head object"},"relate(uint256,uint64,uint256)":{"notice":"Links a tail object to a head object through a relation"},"relationAdmit(uint64,uint32,uint64)":{"notice":"Checks if a relation admits a specific kind as tail"},"relationDescriptor(uint64,uint32)":{"notice":"Returns descriptor of a relation at a specific revision"},"relationOwner(uint64)":{"notice":"Gets the current owner of a relation"},"relationRegister(address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[])":{"notice":"Registers a new relation"},"relationRevision(uint64,uint32)":{"notice":"Resolves and validates a revision number"},"relationRule(uint64)":{"notice":"Returns the rule definition for a relation"},"relationSnapshot(uint64,uint32)":{"notice":"Returns descriptor and packed elements at a specific revision"},"relationSota(uint64)":{"notice":"Returns the latest descriptor and current owner of a relation"},"relationStatus(uint64[])":{"notice":"Checks whether all specified relations are active (rev > 0)"},"relationTouch(uint64)":{"notice":"Touches a relation (bumps revision without modifying content)"},"relationTransfer(uint64,address)":{"notice":"Transfers ownership of a relation to a new address"},"relationUpdate(uint64,bytes32)":{"notice":"Updates the data hash of a relation"},"relationUpdate(uint64,bytes32,(uint16,uint48)[])":{"notice":"Updates the data hash and adjacency configuration of a relation"},"relationUpgrade(uint64,uint32,uint32)":{"notice":"Upgrades the kind or set revision of a relation"},"revokeFrom(uint128,uint32)":{"notice":"Revokes a previously issued `from` grant"},"revokeTo(uint128,uint32)":{"notice":"Revokes a previously issued `to` grant"},"unrelate(uint256,uint64,uint256)":{"notice":"Unlinks a tail object from a head object"}},"version":1}},"settings":{"remappings":["@create3-factory/=lib/create3-factory/src/","@everyprotocol/core/=contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/","@solmate/=lib/solmate/src/","create3-factory/=lib/create3-factory/","ds-test/=lib/solmate/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/OmniRegistry.sol":"OmniRegistry"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/OmniRegistry.sol":{"keccak256":"0xa10863185e7a404de111de368956d60118f420cbd7dd6dbedf2f6cbe7f0ad341","urls":["bzz-raw://d7bf3bd4ab4b7d7cf8baef7f1162d882203ac8555073a76163ddb5fc850cef56","dweb:/ipfs/QmWV4jkf7V4mm597QAga3HcSzeXWDpn1fWhzgawDbwiCTs"],"license":"BUSL-1.1"},"contracts/constants/Constraints.sol":{"keccak256":"0xc8c798ef5a7f1098f21dfed590db3d016a3509cfd287031570e5c0c72ec1319a","urls":["bzz-raw://3f62437ecc36c0e0a614bed0ebfbd93658a4387a16b489cbe463ed564d9060b8","dweb:/ipfs/QmTvWuiC5ydGmoQYygkHizLTXYq2yaMiTagjCsh6cW74VQ"],"license":"BUSL-1.1"},"contracts/constants/ObjectIds.sol":{"keccak256":"0xfdfe4689baeab1467fa2f6a913e00a3e38efc816045b22ef4d4364bfbee9d3f7","urls":["bzz-raw://fe74ab06d9d53c390b5060deb0fd3d3d288600380a0a727e4d45a3b991752753","dweb:/ipfs/QmRGa8RoCmYw3YmoZfi7fESfNy1odeEb2ZchhUmddZE2t3"],"license":"BUSL-1.1"},"contracts/constants/Revisions.sol":{"keccak256":"0x08b2b4235bdce8213e935d9702c851015329eee27767cd7706bbb18043c0ab8b","urls":["bzz-raw://414d426504e6fa41e923cfb7d1e50dd8f00646b3c846f475a6e0f2b634035ce4","dweb:/ipfs/QmcAQZEoMvuoj3fo8HpwF1qGPWFYsFdnpPsLzyMASyAg2w"],"license":"BUSL-1.1"},"contracts/impl/omnir/AdjacencySpecUtils.sol":{"keccak256":"0x6cb380526e092c5103d1c74ef12359292cf8402ab2f93c1134b285fab84ed87f","urls":["bzz-raw://64364bb6f2d9a4dbbd3b4339813e30d3f38be311663f1027df3739a9134ff410","dweb:/ipfs/QmSkrvgii4CogefjoS9LT7KkaD75AZodp41AtgvDh2k1qR"],"license":"BUSL-1.1"},"contracts/impl/omnir/ObjectAuthorization.sol":{"keccak256":"0xb7fe44b2fab1fb2b64d06bab3ff25a79b752b529e281a3d351798fce86c99047","urls":["bzz-raw://3629595de35a0f82e2fbd6754dc12f2adc29e3e1048ff85f0fa8d2c74e322362","dweb:/ipfs/QmRd1WDFDiVkbktM8tXPMBKsoaiFazzg3YLfDsracch2Rt"],"license":"BUSL-1.1"},"contracts/impl/omnir/ObjectInteraction.sol":{"keccak256":"0x2773f9cbfe9b89b4ccb708a72714e5dc2ee83aa27a80ce55de3e4b7d2e382b08","urls":["bzz-raw://d33419ab9062bf9b485258f5a0a00691717ee054e1263f399bbdfe4cdb0793fa","dweb:/ipfs/QmcHfUPzMN8wnS1SHdZuXs8QqqmSMqiuxDhEJ7EGdQmwoP"],"license":"BUSL-1.1"},"contracts/impl/omnir/OmniRegistryErrors.sol":{"keccak256":"0x472c62227b898d76f7ef462ae245dbd8efd03dda02683042757261dea06a65df","urls":["bzz-raw://5b5ed2049d8f3c17a9ed58e2d12eed2bfc3e7c117c95704a4ab7195cc27cd0e7","dweb:/ipfs/QmTVfi6vYD4TDgZs8DonLcgwW53qp6ArGmpcYyKDnPaDFN"],"license":"BUSL-1.1"},"contracts/impl/omnir/RelationAdjacencies.sol":{"keccak256":"0xf800e516357d6ae7a7727d6824d808500d1c86b2dab5445079cc34b0723669fb","urls":["bzz-raw://a5763ece8fe86c87a05070e19bbb9438c2372ddfe7fee615ef33d34df501682d","dweb:/ipfs/QmYyqq5TyrxSfeoLvs2NJhLeutQH7kRPQKNBpthjGk43H5"],"license":"BUSL-1.1"},"contracts/impl/omnir/RelationElements.sol":{"keccak256":"0xac3a378cb735af1171aca50bb4d888966bd3d270335a3811dd66c6501db6d66b","urls":["bzz-raw://80d0316431df26ca6d8a32d3f26ae4af45682295b08ff9a735c2514645731da1","dweb:/ipfs/QmYPZp3FBLUVWMqC3wCFUyukQe3WeGmVN69DVHjkxWoDbh"],"license":"BUSL-1.1"},"contracts/impl/omnir/RelationRegistry.sol":{"keccak256":"0x7f3bcad0af5c6231fd235f03b6a7bc567c95bf4b3565c4d4a636cb1f783cc0cb","urls":["bzz-raw://8f34441faded6719f98a6219a92dae185632cc8ee62714a2023178d715320310","dweb:/ipfs/QmWqqnd1msHsThkxGFnUP7DsvYAAnbZ5o7MqVViVxsb7Kf"],"license":"BUSL-1.1"},"contracts/interfaces/core/IElementRegistry.sol":{"keccak256":"0x66a57a950d6893a153013f7f3551a816af0e563d1bdb7738af3cb105aaefa391","urls":["bzz-raw://e4d34b5f553a670d95384f8bc5d07d2a6a616eef17a661b9abedb4f70801cfec","dweb:/ipfs/QmPSUMunM2mzbgtp46d6VrSztESDQohUnT9chjvVdC9d5T"],"license":"BUSL-1.1"},"contracts/interfaces/core/IKindRegistry.sol":{"keccak256":"0x1fafc5ff965ba91caa8fcb86af8e2c9ec95b0629e488a76004ac38bdab6f2ad9","urls":["bzz-raw://08f8596d01747b8e4078525eb54f206562c11a510491ce0c5a881f0c303df00c","dweb:/ipfs/QmPXj59oTBwPbzsM6WZjWJXNLvf5THj2NsDHod7oaoD6nA"],"license":"BUSL-1.1"},"contracts/interfaces/core/IObjectAuthorization.sol":{"keccak256":"0x78fc70b92b4f65163df79f322e7c8f39a00ab1c365426b8d4abc2c287581910e","urls":["bzz-raw://35d6e57914e967476a3ba483d05ccfa6abf0e8a0405c2d9eba7708bfcb5bd355","dweb:/ipfs/QmS6NxRTSaJg6FovQHvPzi6aqZGMKdeh3Ate6T661muHjJ"],"license":"BUSL-1.1"},"contracts/interfaces/core/IObjectInteraction.sol":{"keccak256":"0xde050ef66ef30f0b01ccdef67a0cb8daef40475e4ea2a7e61ee3f69c9f02dea5","urls":["bzz-raw://60efee1ef9fd9e3b070804744de0d633e17fa074f572187dfef4d9fbce32d1f0","dweb:/ipfs/QmRAyuoJ2SeKj5mUP5dXWyhiLmv4seihfXUQN25qg298Rn"],"license":"BUSL-1.1"},"contracts/interfaces/core/IOmniRegistry.sol":{"keccak256":"0xa3c92da90cd34c07fb565addd3920c4811d0959dcbc1cf5998bc4356932ed001","urls":["bzz-raw://a40013eb1a630d5c1ef0ef4b067de91672f8df2a44b76af43d8bc8ac47b4e693","dweb:/ipfs/QmeA4mjPkd8vWdCRMHfWg4CFgYR733Q98u8VcjmHc28MdV"],"license":"BUSL-1.1"},"contracts/interfaces/core/IRelationRegistry.sol":{"keccak256":"0xcb2ec73180f5c2c4d89ee6f1cd3960aa53278936021432b09cf1799df13294ec","urls":["bzz-raw://65e4442dbfc632c450f3793d96895178f7e70d9c784e2aa7c5d7eef69bf22e42","dweb:/ipfs/QmfPzAm7QbYHbuB2Vf4sgE1JQ5muj9WRjkVXnYiQoFCy1f"],"license":"BUSL-1.1"},"contracts/interfaces/core/ISetRegistry.sol":{"keccak256":"0x8e2ef94f79b1840e270c9db69e74b94945af61ca20cc48a46cd9b28fb52e2373","urls":["bzz-raw://d541628c8b8c46cce3d048c86349d5e405e0d1754ebfde623fb3c71ab2f1c7cf","dweb:/ipfs/QmYHhy2xe3RJC3EFfQvqXFm7nptYZUyKARjcjfrKGumHiV"],"license":"BUSL-1.1"},"contracts/interfaces/core/IUniqueRegistry.sol":{"keccak256":"0xc86ef36c3bf943c9a26f5311320b759cf6f2759251978213855a987ebe39512a","urls":["bzz-raw://8ea9944c8a9749ecf4ee8c63caaa5712da41b7f012990479bc3415c22ababac8","dweb:/ipfs/Qmb2KyZyYPTgo7ZqqBEXLMxEKHZpeseYrx46ZVhADNtNqi"],"license":"BUSL-1.1"},"contracts/interfaces/core/IValueRegistry.sol":{"keccak256":"0xf00cc5ef9a841d3e03dcd4c76e3976ec87094412621a481e956fabd0f2ca5ff2","urls":["bzz-raw://811cb991f120a2403015ac30b676d422aa5bc7b547c8e81e8038e386de7baa9f","dweb:/ipfs/QmaTF3AZrJhusrGCKQEiTjbaBHFb7RoBiEDwmRTNau3Mty"],"license":"BUSL-1.1"},"contracts/interfaces/user/IInteroperable.sol":{"keccak256":"0xa502a2fa8783f0c1da1abc5ae4c4da906adf6d0353be1376f019fc247132983e","urls":["bzz-raw://cfd9ade736c75935c42bda26a622623c7fe1b1bef8b7c2c5680ed9ecb9d555c1","dweb:/ipfs/QmcWrYeqqUP4a7hGr9dmNegenoo58pSR9pXnYPsXksNFi2"],"license":"BUSL-1.1"},"contracts/interfaces/user/ISet.sol":{"keccak256":"0xe465548515b146f8ebf38a3209ad33bb4dfb9d84337925cf49ec320316c8216f","urls":["bzz-raw://30a88ff437bf1d6f397b2602441763d142077280187d3c4cb349a973598a96f5","dweb:/ipfs/QmSJp2dhvu32hMreXTGrxc1t4XM665Sr7Z33VicbhEzxi8"],"license":"BUSL-1.1"},"contracts/libraries/Counter.sol":{"keccak256":"0x7d9f675bcca78c0cc4e4e520494fa3e770b34b9e416d79208b21cb479bd5d18e","urls":["bzz-raw://cf6cf02c49d9d8e03d6d243fab812b4fb8b844c77a6393cffb13e3e14d6d900b","dweb:/ipfs/QmUXagTCfuP5RnA4CcB25HTGWUaZwtPjSXhFEDHbfQ649o"],"license":"MIT"},"contracts/libraries/Semver.sol":{"keccak256":"0x1a8319edf650b0903d8f8791f34b201704e6e01f70feceb9e1d8430807476135","urls":["bzz-raw://3f243a0862ccbc44f449a4c873f0f48664279900cd84ebf379797c1cb5a1f348","dweb:/ipfs/QmTt2DurrymLHzJzBXUXQKCQdq5fhSMoy3yCZPrZKfPikX"],"license":"MIT"},"contracts/libraries/Snapshots.sol":{"keccak256":"0x57d3a7974789edb51b81f097c8064c06e60dd3cad933aa42f65ea23586705b2d","urls":["bzz-raw://d459fa5eec0a13bb5257ca1b2e0e8b16f4fa475ee5c79f1e8d6e30468e198e69","dweb:/ipfs/QmeKKrnjemQWzeao4VYtPRWsWdWvNDnU1oomadksVyBVxf"],"license":"MIT"},"contracts/types/Descriptor.sol":{"keccak256":"0x37d21c3ba2b6fc1d92c0f90d4b5b9b6d8c9b16c9d36d769a7be93d16c0402fe4","urls":["bzz-raw://683a0796984d0e8a0ba15f01fa3ed8abfcd69d12f61b2eb84b7e3a41dfe48aa1","dweb:/ipfs/QmU4L5AFk9NzYtj8nXELhjhyGiCrZH4kycpdKWeJQir3bT"],"license":"BUSL-1.1"},"contracts/types/Element.sol":{"keccak256":"0x78c4d22125d02eba70d42950967bce8cef9143ade1652d3f66d60ae4459706b3","urls":["bzz-raw://c4b4588b0d125419d991c30069814214c26b28d783808e38246940f5c1062d0c","dweb:/ipfs/QmNpTwSHkjoRSNKicogKqKYC8DPi5iAPd9tyA4R4xp4UMQ"],"license":"BUSL-1.1"},"contracts/types/Matter.sol":{"keccak256":"0x7cdeae2803ca0df53cc2674e45de091507069930df668ee4cd3666ad86ae0c3b","urls":["bzz-raw://58b6094a56617a7ca09b7bf578be268529d1266117632012892e05e86c645357","dweb:/ipfs/QmRYw5bRBN8qgyTiTfAgiaqn24tDnwAraokehn5ooiXqED"],"license":"BUSL-1.1"},"contracts/types/Relation.sol":{"keccak256":"0x8c714d5b0bbe95430b5ff529eec720c29f5f09071073f21e59db7bdc035a2a73","urls":["bzz-raw://7d935ee820a2e0e21eb041b3e61a1ae467b535ae09581195a8ca07a7cb309e79","dweb:/ipfs/QmUgjpLg8YmScsCqaVLko43bagVCGuZ5R5Q1BGjQgCxTJk"],"license":"BUSL-1.1"},"contracts/types/Token.sol":{"keccak256":"0x1a4ca38789517abd90a18e9555755b96bd9466d8b152fc871726186c81587481","urls":["bzz-raw://16b4fa220db0b6be9aaab14eee64fdb58f820c4366cd642ed521a59378035090","dweb:/ipfs/Qme3dhteY6tLAvMdZUqQT31ePvUZvigF5s1NCran3XW4Zt"],"license":"BUSL-1.1"},"contracts/utils/Soke.sol":{"keccak256":"0xb2268024aaf41e8842ebe02227df193905bd667fec447b938e10f0eaf2626be8","urls":["bzz-raw://3a67374b5f98c9415e3388989159d6eb33091257b9a734268c179377371c0277","dweb:/ipfs/QmfMPVewS3taKxLiUBGr64rCszYQBoYJax9Y4ic47o6KJD"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a","urls":["bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6","dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05","urls":["bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08","dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63","urls":["bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec","dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d","urls":["bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196","dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898","urls":["bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70","dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c","urls":["bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e","dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"}},"version":1},"id":3}
|
|
1
|
+
{"abi":[{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"allowFrom","inputs":[{"name":"grantId","type":"uint32","internalType":"uint32"},{"name":"sender","type":"address","internalType":"address"},{"name":"tail","type":"uint128","internalType":"uint128"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"headKind","type":"uint64","internalType":"uint64"},{"name":"headSet","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"allow","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allowTo","inputs":[{"name":"grantId","type":"uint32","internalType":"uint32"},{"name":"sender","type":"address","internalType":"address"},{"name":"head","type":"uint128","internalType":"uint128"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"tailKind","type":"uint64","internalType":"uint64"},{"name":"tailSet","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"elementRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"grantFrom","inputs":[{"name":"tail","type":"uint128","internalType":"uint128"},{"name":"grant","type":"tuple","internalType":"struct RelationGrant","components":[{"name":"id","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"uint8"},{"name":"initiator","type":"uint8","internalType":"enum RelationInitiator"},{"name":"reserved","type":"uint16","internalType":"uint16"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"kind","type":"uint64","internalType":"uint64"},{"name":"set","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes32","internalType":"bytes32"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"grantTo","inputs":[{"name":"head","type":"uint128","internalType":"uint128"},{"name":"grant","type":"tuple","internalType":"struct RelationGrant","components":[{"name":"id","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"uint8"},{"name":"initiator","type":"uint8","internalType":"enum RelationInitiator"},{"name":"reserved","type":"uint16","internalType":"uint16"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"kind","type":"uint64","internalType":"uint64"},{"name":"set","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes32","internalType":"bytes32"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"setr","type":"address","internalType":"address"},{"name":"kindr","type":"address","internalType":"address"},{"name":"elemr","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"kindRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"omniRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"relate","inputs":[{"name":"tail","type":"uint256","internalType":"uint256"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"head","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"relationAdmit","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kind","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"admit","type":"bool","internalType":"bool"},{"name":"effKind","type":"uint48","internalType":"uint48"},{"name":"effDegs","type":"uint16","internalType":"uint16"},{"name":"totalKind","type":"uint48","internalType":"uint48"},{"name":"totalDegs","type":"uint16","internalType":"uint16"}],"stateMutability":"view"},{"type":"function","name":"relationDescriptor","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"desc","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"relationOwner","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"relationRegister","inputs":[{"name":"code","type":"address","internalType":"address"},{"name":"data","type":"bytes32","internalType":"bytes32"},{"name":"rule","type":"tuple","internalType":"struct RelationRule","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"relateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"terminator","type":"uint8","internalType":"enum RelationTerminator"},{"name":"unrelateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"unrelateDelay","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes20","internalType":"bytes20"}]},{"name":"adjs","type":"tuple[]","internalType":"struct Adjacency[]","components":[{"name":"degs","type":"uint16","internalType":"uint16"},{"name":"kind","type":"uint48","internalType":"uint48"}]}],"outputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"meta","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"relationRevision","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"rev","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"relationRule","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"rule","type":"tuple","internalType":"struct RelationRule","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"relateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"terminator","type":"uint8","internalType":"enum RelationTerminator"},{"name":"unrelateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"unrelateDelay","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes20","internalType":"bytes20"}]}],"stateMutability":"view"},{"type":"function","name":"relationSnapshot","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"desc","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"elems","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"relationSota","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"desc","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"relationStatus","inputs":[{"name":"ids","type":"uint64[]","internalType":"uint64[]"}],"outputs":[{"name":"active","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"relationTouch","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"meta","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"relationTransfer","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"to","type":"address","internalType":"address"}],"outputs":[{"name":"from","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"relationUpdate","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"meta","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"relationUpdate","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes32","internalType":"bytes32"},{"name":"adjs","type":"tuple[]","internalType":"struct Adjacency[]","components":[{"name":"degs","type":"uint16","internalType":"uint16"},{"name":"kind","type":"uint48","internalType":"uint48"}]}],"outputs":[{"name":"meta","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"relationUpgrade","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"meta","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeFrom","inputs":[{"name":"tail","type":"uint128","internalType":"uint128"},{"name":"grantId","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeTo","inputs":[{"name":"head","type":"uint128","internalType":"uint128"},{"name":"grantId","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"semver","inputs":[],"outputs":[{"name":"version","type":"uint32","internalType":"uint32"}],"stateMutability":"pure"},{"type":"function","name":"setRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unrelate","inputs":[{"name":"tail","type":"uint256","internalType":"uint256"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"head","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"GrantFrom","inputs":[{"name":"tail","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"grant","type":"tuple","indexed":false,"internalType":"struct RelationGrant","components":[{"name":"id","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"uint8"},{"name":"initiator","type":"uint8","internalType":"enum RelationInitiator"},{"name":"reserved","type":"uint16","internalType":"uint16"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"kind","type":"uint64","internalType":"uint64"},{"name":"set","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes32","internalType":"bytes32"}]}],"anonymous":false},{"type":"event","name":"GrantTo","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"grant","type":"tuple","indexed":false,"internalType":"struct RelationGrant","components":[{"name":"id","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"uint8"},{"name":"initiator","type":"uint8","internalType":"enum RelationInitiator"},{"name":"reserved","type":"uint16","internalType":"uint16"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"kind","type":"uint64","internalType":"uint64"},{"name":"set","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes32","internalType":"bytes32"}]}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Related","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"arc","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Related","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"arcs","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"RelationRegistered","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"code","type":"address","indexed":false,"internalType":"address"},{"name":"data","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"rule","type":"tuple","indexed":false,"internalType":"struct RelationRule","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"relateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"terminator","type":"uint8","internalType":"enum RelationTerminator"},{"name":"unrelateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"unrelateDelay","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes20","internalType":"bytes20"}]},{"name":"adjs","type":"tuple[]","indexed":false,"internalType":"struct Adjacency[]","components":[{"name":"degs","type":"uint16","internalType":"uint16"},{"name":"kind","type":"uint48","internalType":"uint48"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RelationTouched","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"anonymous":false},{"type":"event","name":"RelationTransferred","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"to","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RelationUpdated","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"data","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RelationUpgraded","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"anonymous":false},{"type":"event","name":"RevokeFrom","inputs":[{"name":"tail","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"grantId","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"RevokeTo","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"grantId","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"Unrelated","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"arc","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unrelated","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"desc","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"arcs","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AdjacencyKindNotExist","inputs":[]},{"type":"error","name":"AdjacencyOverflow","inputs":[]},{"type":"error","name":"AdjacencyUnderflow","inputs":[]},{"type":"error","name":"AdjacencyUnordered","inputs":[]},{"type":"error","name":"ArcExists","inputs":[]},{"type":"error","name":"ArcMismatch","inputs":[]},{"type":"error","name":"ArcNotExist","inputs":[]},{"type":"error","name":"DegreeOverflow","inputs":[{"name":"kind","type":"uint48","internalType":"uint48"}]},{"type":"error","name":"DegreeUnderflow","inputs":[{"name":"kind","type":"uint48","internalType":"uint48"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"GrantFilterKindInvalid","inputs":[]},{"type":"error","name":"GrantFilterRelationInvalid","inputs":[]},{"type":"error","name":"GrantFilterSetInvalid","inputs":[]},{"type":"error","name":"GrantInitiatorAnyoneExtraNotAllowed","inputs":[]},{"type":"error","name":"GrantInitiatorDelegateAddressInvalid","inputs":[]},{"type":"error","name":"GrantInitiatorEligibleAddressInvalid","inputs":[]},{"type":"error","name":"GrantInitiatorEligibleNotContract","inputs":[]},{"type":"error","name":"GrantInitiatorHolderObjectParamsInvalid","inputs":[]},{"type":"error","name":"GrantInitiatorHolderTokenTypeUnknown","inputs":[]},{"type":"error","name":"GrantInitiatorHolderUniqueParamsInvalid","inputs":[]},{"type":"error","name":"GrantInitiatorHolderValueParamsInvalid","inputs":[]},{"type":"error","name":"GrantInitiatorOwnerExtraNotAllowed","inputs":[]},{"type":"error","name":"GrantInitiatorTypeUnknown","inputs":[]},{"type":"error","name":"GrantNotFound","inputs":[]},{"type":"error","name":"GrantRevoked","inputs":[]},{"type":"error","name":"HeadKindRejectsRelation","inputs":[]},{"type":"error","name":"HeadSetRejectsTailObject","inputs":[]},{"type":"error","name":"InvalidCode","inputs":[]},{"type":"error","name":"InvalidData","inputs":[]},{"type":"error","name":"InvalidInitial","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidKind","inputs":[]},{"type":"error","name":"InvalidRelateShift","inputs":[]},{"type":"error","name":"InvalidRelation","inputs":[]},{"type":"error","name":"InvalidUnrelateShift","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"Overflow","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"RecordNotExist","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}]},{"type":"error","name":"RelationRejectsTailKind","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"UnauthorizedAccess","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"vistor","type":"address","internalType":"address"}]},{"type":"error","name":"Unimplemented","inputs":[]},{"type":"error","name":"UnrelateLocked","inputs":[]},{"type":"error","name":"UnsupportedHoldingState","inputs":[]}],"bytecode":{"object":"0x60a08060405234602957306080526155b5908161002e8239608051818181611652015261184d0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c806305be88ac146131a557806306a883a0146130e957806315ae71731461297c5780632392f87d146128935780632629dae8146128745780632aead72614611ee05780632c636a1114611e985780633440994b14611cb35780633dae8c2814611b39578063418239fb14611a1f5780634f1ef286146117d257806352393e1a146116db578063527f3e1f146116a657806352d1902d1461163f5780635634ad141461158b578063715018a614611522578063876993ca146113f55780638da5cb5b146113c0578063954fc712146112785780639e490e901461123e578063a926f041146110fa578063ac8b956b146110c5578063ad3cb1cc1461107c578063b19c379114611034578063b9f17a4714610af7578063bff9b97414610a23578063c9e2a1fb146107f0578063cda493c8146107d3578063df89b3fc1461070e578063eab25c4114610616578063ebeecfa3146104c1578063edd716f014610497578063f2fde38b1461046f5763f8c8765e14610190575f80fd5b3461046c57608036600319011261046c576101a96135ad565b6101b16135c3565b6044356001600160a01b0381169081900361046a576064356001600160a01b0381169290839003610466575f5160206154e05f395f51905f52549360ff8560401c1615946001600160401b0381168015908161045e575b6001149081610454575b15908161044b575b5061043c5767ffffffffffffffff1981166001175f5160206154e05f395f51905f525561025e919086610410575b50610251615205565b610259615205565b613e7e565b610266615205565b61026e615205565b60018060a01b03166001600160601b0360a01b5f5160206154805f395f51905f525416175f5160206154805f395f51905f5255306001600160601b0360a01b7f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f79027015416177f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f7902701556001600160601b0360a01b5f5160206155005f395f51905f525416175f5160206155005f395f51905f52556001600160601b0360a01b7f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f79027035416177f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f790270355610377615205565b601165ffffffffffff195f5160206155605f395f51905f525416175f5160206155605f395f51905f52556103a9615205565b6103b1615205565b6103b85780f35b68ff0000000000000000195f5160206154e05f395f51905f5254165f5160206154e05f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b68ffffffffffffffffff191668010000000000000001175f5160206154e05f395f51905f52555f610248565b63f92ee8a960e01b8752600487fd5b9050155f61021a565b303b159150610212565b879150610208565b8480fd5b835b80fd5b503461046c57602036600319011261046c5761049461048c6135ad565b610259614786565b80f35b503461046c5760206104b76104ab366135d9565b94939093929192613d69565b6040519015158152f35b503461046c57604036600319011261046c576104db613356565b6104e3613429565b602082901b600160201b600160a01b031663ffffffff821617600160a01b17918284525f5160206155405f395f51905f5260205260ff604085205460201c1615610607578284525f5160206155405f395f51905f52602052600260ff604086205460201c16146105f8578284525f5160206155405f395f51905f52602052600160ff604086205460201c1614610577578380f35b7fc9dbe135de02dd78e4f9241c7a751be6da4d2848fc9b92c3ad16116fe884b4dd9284525f5160206155405f395f51905f526020526040842064020000000064ff00000000198254161790556105ee6040519283928390929163ffffffff6020916001600160801b03604085019616845216910152565b0390a15f80808380f35b63af9adea160e01b8452600484fd5b633dc6547760e11b8452600484fd5b503461046c57604036600319011261046c576106618161063461343c565b61063c613429565b90610645613898565b5060405163340100c160e01b8152938492839260048401613bbf565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af490811561070357829083926106de575b50906040519283926106a08460e0810192613529565b60e060c08501528251809152602061010085019301915b8181106106c5575050500390f35b82518452859450602093840193909201916001016106b7565b90506106fc91503d8084833e6106f48183613408565b810190613b36565b905f61068a565b6040513d84823e3d90fd5b503461046c57604036600319011261046c5761075290602061072e61343c565b610736613429565b60405163310ace3360e11b815294859283929060048401613967565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49081156107c757809161078a575b60208263ffffffff60405191168152f35b90506020823d6020116107bf575b816107a560209383613408565b8101031261046c57506107b96020916138c8565b5f610779565b3d9150610798565b604051903d90823e3d90fd5b503461046c578060031936011261046c5760206040516101008152f35b503461046c57606036600319011261046c5761080a61343c565b602435906044356001600160401b03811161046a5761082d90369060040161372b565b610835613898565b508215610a1457610845816147b9565b60405163340100c160e01b81529173__$bfd2951eaa3e5aabb9283af4830755d90c$__919086848061087a8860048301613bf9565b0381865af4938415610a09579160c093918895936109199899946109eb575b50886108a485613c51565b526108ae81614e50565b906108b881614fbc565b906108cb6108c58261507f565b91615142565b6108d487613c61565b526108de86613c71565b526108e885613c81565b526108f284613c91565b526108fc83613c2c565b5260405180809781946314447f4f60e11b83528860048401613ce8565b03915af49283156109de578193610973575b60c0847f86243bb113d9a8a43a582f97fd5e112834f3266cff2cd53f10c4eea05b8bfb5f81866109618a60405193849384613d1b565b0390a16109716040518092613529565bf35b9091925060c03d60c0116109d7575b61098c8183613408565b81019160c08284031261046c575092610961926109cc7f86243bb113d9a8a43a582f97fd5e112834f3266cff2cd53f10c4eea05b8bfb5f9360c0966138ed565b93509181945061092b565b503d610982565b50604051903d90823e3d90fd5b610a009194503d8088833e6106f48183613408565b9050925f610899565b6040513d89823e3d90fd5b635cb045db60e01b8452600484fd5b503461046c57602036600319011261046c57610a7f906020610a4361343c565b604051639101c02760e01b81525f5160206154c05f395f51905f5260048201526001600160401b03909116602482015292839081906044820190565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49081156107c7578091610aba575b6040516001600160a01b0383168152602090f35b90506020823d602011610aef575b81610ad560209383613408565b8101031261046c5750610ae9602091613b22565b5f610aa6565b3d9150610ac8565b503461046c5761012036600319011261046c57610b126135ad565b60243560c0366043190112610f2f5760405191610b2e8361339c565b60443560ff81168103610466578352606435600f811015610466576020840152608435600681101561046657604084015260a435600f81101561046657606084015260c4356001600160401b038116810361046657608084015260e4356bffffffffffffffffffffffff19811681036104665760a0840152610104356001600160401b03811161046657610bc690369060040161372b565b90610bcf613898565b506001600160a01b03168061102557821561101657610bed826147b9565b9465ffffffffffff5f5160206155605f395f51905f5254169465fffffffffffe8610156110075765ffffffffffff8614610ff35765ffffffffffff600187011665ffffffffffff195f5160206155605f395f51905f525416175f5160206155605f395f51905f5255610120604051610c658282613408565b6008815260208101601f198301368237815115610fdf5785905286610c8982613c51565b52805160021015610fcb57604498846060830152610ca687614e50565b610caf88614fbc565b610cb88961507f565b610cc18a615142565b610cca86613c61565b52610cd485613c71565b52610cde84613c81565b52610ce883613c91565b52610cf282613c2c565b525f5160206155005f395f51905f5254604051638399ebdd60e01b81526003600482015260248101869052996020918b919082906001600160a01b03165afa988915610f33578499610f8f575b505f5160206154805f395f51905f525460405163386956c760e01b8152600360048201526024810186905290602090829060449082906001600160a01b03165afa908115610f84578591610f3e575b5063ffffffff908160209b60016040519d8e610da98161339c565b8a815201521660408c01521660608a0152600360808a0152600360a08a015273__$bfd2951eaa3e5aabb9283af4830755d90c$__803b1561046657610e2485918b8b610e3860405196879586948594634881a43960e01b86525f5160206154c05f395f51905f52600487015260248601526044850190613529565b610140610104840152610144830190613cb5565b3361012483015203915af48015610f3357908491610f1a575b505090610e889160409493945196610220880194898952610e7560208a018c613529565b60e089015261010088015286019061369b565b6102206101e08501528251809152602061024085019301915b818110610eec5750505090807f090e1a52be5a331e1b485a02a3cd2962e5bd3131483cb39a9afb3894f65cd42892336102008301520390a1610ee8604051928392836137ca565b0390f35b8251805161ffff16855260209081015165ffffffffffff168186015260409094019390920191600101610ea1565b81610f2491613408565b610f2f57825f610e51565b8280fd5b6040513d86823e3d90fd5b90506020813d602011610f7c575b81610f5960209383613408565b810103126104665760209963ffffffff610f7381936138c8565b92505099610d8e565b3d9150610f4c565b6040513d87823e3d90fd5b9098506020813d602011610fc3575b81610fab60209383613408565b8101031261046a57610fbc906138c8565b975f610d3f565b3d9150610f9e565b634e487b7160e01b84526032600452602484fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b82526011600452602482fd5b631a93c68960e11b8252600482fd5b635cb045db60e01b8552600485fd5b636e12839960e01b8552600485fd5b503461046c578060031936011261046c577f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f7902703546040516001600160a01b039091168152602090f35b503461046c578060031936011261046c5750610ee860405161109f604082613408565b60058152640352e302e360dc1b6020820152604051918291602083526020830190613707565b503461046c578060031936011261046c575f5160206154805f395f51905f52546040516001600160a01b039091168152602090f35b503461046c57604036600319011261046c5761111461343c565b9061111d6135c3565b604051635640151160e11b81525f5160206154c05f395f51905f5260048201526001600160401b03841660248201526001600160a01b038216604482015290929060208160648173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49283156107c75780936111d4575b6020847f0380003014d3eb866ebb3263769d0a1ee8a22d65fb9ee45694fdff8a272296e981866111bf8a60405193849384613d3f565b0390a16040516001600160a01b039091168152f35b909192506020823d602011611236575b816111f160209383613408565b8101031261046c57506020926111bf9261122b7f0380003014d3eb866ebb3263769d0a1ee8a22d65fb9ee45694fdff8a272296e993613b22565b935091819450611189565b3d91506111e4565b503461046c57602036600319011261046c5760c061126b61125d61343c565b611265613898565b50614676565b610971604051809261369b565b503461046c57606036600319011261046c5761129261343c565b61129a613429565b9160443563ffffffff81168091036113bc576112b4613898565b5063ffffffff6040519463d995904360e01b86525f5160206154c05f395f51905f5260048701526001600160401b038516602487015216604485015260648401526008608484015260c08360a48173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49283156109de57819361135c575b60c0847fad4b280f21eb4bc313771beab60b6535c835235b422fe851f718c6bef2f283938186610961604051928392836137ca565b90925060c03d60c0116113b5575b6113748183613408565b81019260c08285031261046c57506113af60c0937fad4b280f21eb4bc313771beab60b6535c835235b422fe851f718c6bef2f28393926138ed565b92611327565b503d61136a565b5080fd5b503461046c578060031936011261046c575f5160206154205f395f51905f52546040516001600160a01b039091168152602090f35b503461046c57604036600319011261046c5761140f613356565b611417613429565b602082901b600160201b600160a01b031663ffffffff821617600160a11b17918284525f5160206155405f395f51905f5260205260ff604085205460201c1615610607578284525f5160206155405f395f51905f52602052600260ff604086205460201c16146105f8578284525f5160206155405f395f51905f52602052600160ff604086205460201c16146114ab578380f35b7fcec1bd5bf41ed1329467f96f878d44c30902e4c524e42c2568b86de0f97017659284525f5160206155405f395f51905f526020526040842064020000000064ff00000000198254161790556105ee6040519283928390929163ffffffff6020916001600160801b03604085019616845216910152565b503461046c578060031936011261046c5761153b614786565b5f5160206154205f395f51905f5280546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461046c57604036600319011261046c576115a561343c565b602435906115b1613898565b5081156116305760405163340100c160e01b815273__$bfd2951eaa3e5aabb9283af4830755d90c$__8482806115ea8660048301613bf9565b0381845af4918215610f84579160c0918693610919969792611612575b50866108fc83613c51565b6116279192503d8086833e6106f48183613408565b9050905f611607565b635cb045db60e01b8352600483fd5b503461046c578060031936011261046c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036116975760206040515f5160206154605f395f51905f528152f35b63703e46dd60e11b8152600490fd5b503461046c578060031936011261046c575f5160206155005f395f51905f52546040516001600160a01b039091168152602090f35b503461046c57602036600319011261046c5761173e60e06116fa61343c565b611702613898565b5060405163154c1b43831b81525f5160206154c05f395f51905f5260048201526001600160401b03909116602482015291829081906044820190565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af480156107035782918391611787575b60e083836117776040518093613529565b6001600160a01b031660c0820152f35b91505060e03d60e0116117cb575b61179f8183613408565b81019160e08284031261046c57506117c560c06117be60e094846138ed565b9201613b22565b5f611766565b503d611795565b50604036600319011261046c576117e76135ad565b602435906001600160401b038211610f2f5736602383011215610f2f578160040135908361181483613673565b936118226040519586613408565b83855260208501933660248284010111610f2f57806024602093018637850101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163081149081156119fd575b506119ee57611885614786565b6040516352d1902d60e01b81526001600160a01b0382169390602081600481885afa8691816119b6575b506118c857634c9c8ce360e01b86526004859052602486fd5b93845f5160206154605f395f51905f528796036119a45750823b15611992575f5160206154605f395f51905f5280546001600160a01b031916821790558491907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8380a28051156119775761196b9382915190845af43d1561196f573d9161194f83613673565b9261195d6040519485613408565b83523d85602085013e6153c1565b5080f35b6060916153c1565b50505050346119835780f35b63b398979f60e01b8152600490fd5b634c9c8ce360e01b8552600452602484fd5b632a87526960e21b8652600452602485fd5b9091506020813d6020116119e6575b816119d260209383613408565b810103126119e25751905f6118af565b5f80fd5b3d91506119c5565b63703e46dd60e11b8452600484fd5b5f5160206154605f395f51905f52546001600160a01b0316141590505f611878565b503461046c57602036600319011261046c57611a3961343c565b611a41613898565b50604051637ce36e2360e11b81525f5160206154c05f395f51905f5260048201526001600160401b0382166024820152600860448201529160c08360648173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49283156109de578193611ad9575b60c0847f847be2ee41fb7fd819cd9f0fa2c88487d5a0b19369ae96421d660bd92116f9a48186610961604051928392836137ca565b90925060c03d60c011611b32575b611af18183613408565b81019260c08285031261046c5750611b2c60c0937f847be2ee41fb7fd819cd9f0fa2c88487d5a0b19369ae96421d660bd92116f9a4926138ed565b92611aa4565b503d611ae7565b503461046c57602036600319011261046c57600435906001600160401b03821161046c573660238301121561046c578160040135611b768161365c565b92611b846040519485613408565b81845260208401906024829360051b8201019036821161046657929492602401915b818310611c8d57505050604051928391631cff580560e11b835260448301905f5160206154c05f395f51905f5260048501526040602485015251809152606483019190845b818110611c6b575050509080602092038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49081156107c7578091611c2e575b6020826040519015158152f35b90506020823d602011611c63575b81611c4960209383613408565b8101031261046c5750611c5d602091613b15565b5f611c21565b3d9150611c3c565b82516001600160401b0316845286945060209384019390920191600101611beb565b92949282356001600160401b03811681036119e257815292949260209283019201611ba6565b503461046c57611cc236613452565b611ccd829392613eef565b6001600160a01b031633039250611e8a91505057611cea81613f19565b600160201b600160a01b038360201b16600160a11b1782525f5160206154a05f395f51905f5260205263ffffffff60408320611d28828254166137ec565b815483191692169182179055808252600160208084019182526060840185815295929083901b600160201b600160a01b031663ffffffff90911617600160a11b1784525f5160206155405f395f51905f5260209081526040852084518154935164ffffffffff1990941663ffffffff91909116179290911b64ff00000000169190911781556040830151946005861015611e76578154905160808581015160a087015160c08089015164ffffffffff90961660289b909b1b60ff60281b169a909a1760309490941b61ffff60301b169390931760409190911b67ffffffffffffffff60401b161791901b67ffffffffffffffff60801b1617951b6001600160c01b03191694909417845591927f3990c6121ebba199bf4e035554adbe455162e4898a348962cca8d43806076a829290600160e0840151910155611e7060405192839283613803565b0390a180f35b634e487b7160e01b85526021600452602485fd5b6282b42960e81b8252600482fd5b503461046c578060031936011261046c577f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f7902701546040516001600160a01b039091168152602090f35b50346119e257611f3790611f17611ef636613583565b94919290948060c01c916001600160801b0363ffffffff8360801c16921690565b939150508060c01c916001600160801b0363ffffffff8360801c16921690565b92919050611f44826141c7565b611f4d846141c7565b916001600160801b0360208401511691602081016001600160801b03815116935f60e0604051611f7c8161336c565b8281528260208201528260408201528260608201528260808201528260a08201528260c082015201525f525f5160206155205f395f51905f5260205260405f209060405194611fca8661336c565b825465ffffffffffff81168752602087019365ffffffffffff8260301c16855265ffffffffffff8260601c16600160408a019282845260608b019460901c8552015460ff811660808b015260018060a01b038160081c1660a08b015262ffffff8160a81c1660c08b015260c01c60e08a015215612865575165ffffffffffff166001600160401b038d160361285657516001600160701b031603612856576120dc91612074613898565b506040848101516080810151908201515f5160206155005f395f51905f52548351632dc61f7d60e01b81526001600160401b03938416600482015263ffffffff9092166024830152918e1660448201529485916001600160a01b031690829081906064820190565b03915afa92831561284b575f905f94612817575b50156127da57505061211e90612104613ae4565b506001600160401b0360806040880151015116908a614274565b9290929161213261212d61434e565b614c71565b61214665ffffffffffff8551168b89614751565b936121518b89614724565b5f8681525f5160206154405f395f51905f5260205260409020549091905f199061217d90600190613b08565b9161218f8361218a61434e565b614cc3565b61221d602082019361ffff855116946121d160409687516121b08982613408565b600f81526e626f756e64732e6b696e644465677360881b6020820152614cc3565b61220765ffffffffffff85511687516121ea8982613408565b600b81526a189bdd5b991ccb9ada5b9960aa1b6020820152614cc3565b61ffff65ffffffffffff85511691511691614d2b565b61222861212d61434e565b65ffffffffffff8382015116612777575b50505093925b608086015160ff1661274f5760808701516001600160a01b03165b6040820151600681101561273b5761266e576001600160a01b03163303612660575b6001600160401b036080820151168061260f575b50608087810151838201519188015160608401516001600160a01b03928316949093600f85101593169160ff16836125fb57806124ce575050506124ba576124ab5786918b91805b6001600160a01b038216819003612404575b50509261230092916001600160801b03946143c4565b961687525f5160206155205f395f51905f5260205286600160408220828155015586525f5160206154405f395f51905f52602052604086208054905f1982019182116123f0575585525f5160206154405f395f51905f526020526040852080545f198101919082116123dc575560e0015160209091015193947fabb20dc355962c71db26b27f6a9b318b5f54e9cdfb67bd31ba7f7ec6461f882294611e709260c01b6001600160c01b03191660809290921b67ffffffffffffffff60801b16919091176001600160801b0391909116176040519384938461399a565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526011600452602488fd5b6020929450612445935060018060a01b0360608b015116908d6001600160401b038c511660405196879586948593638aed990760e01b855260048501613d3f565b03925af180156124a057928b6123009389936001600160801b0396612471575b509194819394506122ea565b6124929060203d602011612499575b61248a8183613408565b8101906143a4565b505f612465565b503d612480565b6040513d8c823e3d90fd5b630f54c17160e21b8a5260048afd5b634e487b7160e01b8b52602160045260248bfd5b6001811015806125f0575b1561251f575050506124ba57918b91838994155f146124f95750806122d8565b91935091506007036124ab5760a086015187928c9290916001600160a01b0316906122d8565b9193909250906007036125e157918d93918a959380155f1461254457505050806122d8565b939550919350916001810361256257630f54c17160e21b8d5260048dfd5b8c9160018211806125d3575b156125c45760a0015160601c916125b0578994928e94926125a161259c6125976125aa95614370565b614382565b614395565b91339085614d54565b906122d8565b634e487b7160e01b8d52602160045260248dfd5b630f54c17160e21b8e5260048efd5b508d9250600682111561256e565b63220bd06d60e21b8d5260048dfd5b5060068111156124d9565b634e487b7160e01b8f52602160045260248ffd5b65ffffffffffff875116016001600160401b03811161264c576001600160401b0316421061263d575f612290565b6309b89c0160e11b8a5260048afd5b634e487b7160e01b8b52601160045260248bfd5b6282b42960e81b8a5260048afd5b6040820151600681101561273b5760010361269e575060808201516001600160a01b03163303612660575b61227c565b6040820151600681101561273b576002036126e5576001600160a01b0316331415806126ce575b6126605761227c565b5060808201516001600160a01b03163314156126c5565b6040820151600681101561273b57600303612735576001600160a01b03163314801561271f575b15612699576282b42960e81b8a5260048afd5b5060808201516001600160a01b0316331461270c565b5061227c565b634e487b7160e01b8c52602160045260248cfd5b608086015160ff16600703612764578961225a565b60a08601516001600160a01b031661225a565b5f8481525f5160206154405f395f51905f5260205292832054929c5090600160ff1b81146127c65760606127b46127be9461ffff935f0390613b08565b9201511690614d06565b5f8080612239565b634e487b7160e01b5f52601160045260245ffd5b92909391506128118a61280b65ffffffffffff6001600160801b036127fe84614676565b9851169651168287614751565b94614724565b9361223f565b905061283c91935060403d604011612844575b6128348183613408565b810190614253565b92905f6120f0565b503d61282a565b6040513d5f823e3d90fd5b6313236d6b60e01b5f5260045ffd5b635c11956d60e01b5f5260045ffd5b346119e25760206104b7612887366135d9565b949390939291926139c2565b346119e25760603660031901126119e2576128ac61343c565b6128b4613429565b604435916001600160401b03831683036119e25760405163340100c160e01b8152915f91839182916128ea919060048401613bbf565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af490811561284b5761ffff65ffffffffffff61293860a0958261292f819786975f91612960575b50613c2c565b51911690615230565b9592604098919498519815158952166020880152166040860152166060840152166080820152f35b61297491503d805f833e6106f48183613408565b90508a612929565b346119e2576129d16129b161299036613583565b93919290938060c01c916001600160801b0363ffffffff8360801c16921690565b929150928060c01c916001600160801b0363ffffffff8360801c16921690565b6129dd849592956141c7565b6129e6826141c7565b926001600160801b036020850151165f525f5160206155205f395f51905f5260205260405f20604051612a188161336c565b60e0600183549365ffffffffffff8516845265ffffffffffff8560301c16602085015265ffffffffffff8560601c169485604086015260901c6060850152015460ff8116608084015260018060a01b038160081c1660a084015262ffffff8160a81c1660c084015260c01c9101526130da576040828101516080810151908201515f5160206155005f395f51905f52548351632dc61f7d60e01b81526001600160401b03938416600482015263ffffffff9092166024830152918b166044820152929190839060649082906001600160a01b03165afa91821561284b575f905f936130b6575b50156130a757612b2663ffffffff926001600160401b0360806040890151015116908b614274565b92909816155f146130a15760808501516001600160a01b031633145b1561308d5763ffffffff1661309b5760808201516001600160a01b031633145b1561308d57612b7261212d61434e565b612b8665ffffffffffff8851168988614751565b90612b918988614724565b92825f525f5160206154405f395f51905f5260205260405f205495600187018097116127c6578996612c0f90612bc98161218a61434e565b6020890161ffff65ffffffffffff818351169b612bef60409d8e6121b081519182613408565b612c048d83835116906121ea81519182613408565b511691511691614d2b565b612c1a61212d61434e565b65ffffffffffff878b015116613050575b608081810180519184015160208601516001600160a01b0393841696909390929116600f841015612e9d578b938f9360ff821680612f46575050505060018060a01b03905116935f945f965b6001600160a01b038216819003612eb1575b50509165ffffffffffff9391612c9e936143c4565b995116916008821015612e9d57876001600160401b03918760ff60018f8c908f612dec9a65ffffffffffff845194612cd58661336c565b81421686526020860192835281818701951685526001600160701b03606087019416845287608087019d168d5260a0860199878060a01b03168a526001600160801b0360c08701995f8b528d60e089019d168d52165f525f5160206155205f395f51905f526020525f2094511665ffffffffffff19855416178455519165ffffffffffff6bffffffffffff0000000000008554928260601b905160601b169371ffffffffffffffffffffffffffffffffffff19905160901b169460301b169116171717815501955116855492610100600160a81b03905160081b169162ffffff60a81b905160a81b16928560c01b16171717835551168154906001600160401b0360c01b9060c01b169060018060c01b0316179055565b5f525f5160206154405f395f51905f52602052825f20805490600182018092116127c657555f525f5160206154405f395f51905f52602052815f2090815493600185018095116127c657939091557f6176e60cd4ddf52618fa61f79a2b5fa724340395bb91018698deae36496754fa95612e989360c01b6001600160c01b03191660809190911b67ffffffffffffffff60801b16176001600160801b039091161790519384938461399a565b0390a1005b634e487b7160e01b5f52602160045260245ffd5b6020929450612ef2935060018060a01b03606087015116905f8d6001600160401b03895116905196879586948593638aed990760e01b855260048501613d3f565b03925af18015612f3c578d612c9e9365ffffffffffff95938d93612f1d575b50919381939550612c89565b612f359060203d6020116124995761248a8183613408565b505f612f11565b89513d5f823e3d90fd5b92955092509250600181101580613045575b15612fa1575060a0612f6f91015160601c91614370565b60ff5f1991160160ff81116127c6578a928e92612f8e612f9793614395565b91339089614d54565b935f945f96612c77565b9094909160078303612fbc57634fcf118160e11b5f5260045ffd5b8b938f9360088110158061303a575b1561300c5750613006903092612ffd61259c61259760a0612ff161259c61259787614370565b9c015160601c93614370565b9133908b614d54565b96612c77565b935050509350600e9150145f1461302b57878b30936007945f96612c77565b634fcf118160e11b5f5260045ffd5b50600d811115612fcb565b506006811115612f58565b845f525f5160206154405f395f51905f52602052865f2054600181018091116127c65780613088915061ffff60608d01511690614d06565b612c2b565b6282b42960e81b5f5260045ffd5b5f612b62565b5f612b42565b6331c9038360e01b5f5260045ffd5b90506130d291925060403d604011612844576128348183613408565b91908a612afe565b63203de7bb60e21b5f5260045ffd5b346119e25760403660031901126119e25761313460c061310761343c565b61310f613429565b90613118613898565b50604051632866ef3160e21b8152938492839260048401613967565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af4801561284b575f9061316a575b60c0906109716040518092613529565b5060c03d60c01161319e575b6131808183613408565b81019060c0818303126119e25760c091613199916138ed565b61315a565b503d613176565b346119e2576131b336613452565b6131bc82613eef565b6001600160a01b03163303925061308d915050576131d981613f19565b600160201b600160a01b038260201b16600160a01b175f525f5160206154a05f395f51905f5260205263ffffffff60405f20613217828254166137ec565b815483191692169182179055808252600160208084019182525f6060850181815286831b600160201b600160a01b031663ffffffff95861617600160a01b1782525f5160206155405f395f51905f52835260409182902086518154955164ffffffffff199096169616959095179390921b64ff0000000016929092178355908301519391906005851015612e9d578154905160808581015160a087015160c08089015164ffffffffff90961660289a909a1b60ff60281b169990991760309490941b61ffff60301b169390931760409190911b67ffffffffffffffff60401b161791901b67ffffffffffffffff60801b1617941b6001600160c01b0319169390931783557fae0947f631aae9cc9c660079e614352bf9d18405079a646e69a6ea4129411ee092600160e0840151910155612e9860405192839283613803565b600435906001600160801b03821682036119e257565b61010081019081106001600160401b0382111761338857604052565b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b0382111761338857604052565b604081019081106001600160401b0382111761338857604052565b608081019081106001600160401b0382111761338857604052565b60a081019081106001600160401b0382111761338857604052565b90601f801991011681019081106001600160401b0382111761338857604052565b6024359063ffffffff821682036119e257565b600435906001600160401b03821682036119e257565b906101206003198301126119e2576004356001600160801b03811681036119e257610100909260231901126119e25760405161348d8161336c565b60243563ffffffff811681036119e257815260443560ff811681036119e257602082015260643560058110156119e257604082015260843561ffff811681036119e257606082015260a4356001600160401b03811681036119e257608082015260c4356001600160401b03811681036119e25760a082015260e4356001600160401b03811681036119e25760c08201526101043560e082015290565b6001600160401b0360a0809263ffffffff815116855263ffffffff602082015116602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152826080820151166080860152015116910152565b60609060031901126119e257600435906024356001600160401b03811681036119e2579060443590565b600435906001600160a01b03821682036119e257565b602435906001600160a01b03821682036119e257565b60c09060031901126119e25760043563ffffffff811681036119e257906024356001600160a01b03811681036119e257906044356001600160801b03811681036119e257906064356001600160401b03811681036119e257906084356001600160401b03811681036119e2579060a4356001600160401b03811681036119e25790565b6001600160401b0381116133885760051b60200190565b6001600160401b03811161338857601f01601f191660200190565b90600f821015612e9d5752565b60ff81511682526136b46020820151602084019061368e565b6040810151906006821015612e9d5760a09160408401526136dd6060820151606085019061368e565b6080818101516001600160401b0316908401528101516bffffffffffffffffffffffff1916910152565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b81601f820112156119e2578035906137428261365c565b926137506040519485613408565b82845260208085019360061b830101918183116119e257602001925b82841061377a575050505090565b6040848303126119e25760405190613791826133b7565b843561ffff811681036119e257825260208501359065ffffffffffff821682036119e2578260209283604095015281520193019261376c565b9160206137ea9294936001600160401b0360e08201961681520190613529565b565b63ffffffff1663ffffffff81146127c65760010190565b9092916001600160801b0361012083019416825263ffffffff815116602083015260ff602082015116604083015260408101516005811015612e9d576101009160e091606085015261ffff60608201511660808501526001600160401b0360808201511660a08501526001600160401b0360a08201511660c08501526001600160401b0360c082015116828501520151910152565b604051906138a58261339c565b5f60a0838281528260208201528260408201528260608201528260808201520152565b519063ffffffff821682036119e257565b51906001600160401b03821682036119e257565b91908260c09103126119e2576040516139058161339c565b60a0613962818395613916816138c8565b8552613924602082016138c8565b6020860152613935604082016138c8565b6040860152613946606082016138c8565b6060860152613957608082016138d9565b6080860152016138d9565b910152565b5f5160206154c05f395f51905f5281526001600160401b03909116602082015263ffffffff909116604082015260600190565b6139be60e0929594936001600160801b036101008401971683526020830190613529565b0152565b909493929190602082901b600160201b600160a01b031663ffffffff90911617600160a01b175f525f5160206155405f395f51905f5260205260405f209460405195613a0d8761336c565b805463ffffffff811688526020880160ff8260201c16815260ff8260281c166005811015612e9d5760019360ff93859260408d015261ffff8160301c1660608d01526001600160401b038160401c1660808d01526001600160401b038160801c1660a08d015260c01c60c08c0152015460e08a0152511603613ada57600160201b600160a01b038260201b16600160a01b1763ffffffff875116905f525f5160206154a05f395f51905f5260205263ffffffff60405f205460201c1611613ada57613ad79561450b565b90565b5050505050505f90565b60405190613af1826133d2565b5f6060838281528260208201528260408201520152565b919082039182116127c657565b519081151582036119e257565b51906001600160a01b03821682036119e257565b919060e0838203126119e257613b4c81846138ed565b9260c0810151906001600160401b0382116119e257019080601f830112156119e2578151613b798161365c565b92613b876040519485613408565b81845260208085019260051b8201019283116119e257602001905b828210613baf5750505090565b8151815260209182019101613ba2565b60609063ffffffff60089395946001600160401b0360808401975f5160206154c05f395f51905f5285521660208401521660408201520152565b5f5160206154c05f395f51905f5281526001600160401b0390911660208201525f60408201526008606082015260800190565b805160071015613c3d576101000190565b634e487b7160e01b5f52603260045260245ffd5b805160011015613c3d5760400190565b805160061015613c3d5760e00190565b805160051015613c3d5760c00190565b805160041015613c3d5760a00190565b805160031015613c3d5760800190565b8051821015613c3d5760209160051b010190565b90602080835192838152019201905f5b818110613cd25750505090565b8251845260209384019390920191600101613cc5565b6060906001600160401b03613ad794935f5160206154c05f395f51905f5283521660208201528160408201520190613cb5565b6139be60e0929594936001600160401b036101008401971683526020830190613529565b6001600160401b0390911681526001600160a01b0391821660208201529116604082015260600190565b909493929190602082901b600160201b600160a01b031663ffffffff90911617600160a11b175f525f5160206155405f395f51905f5260205260405f209460405195613db48761336c565b805463ffffffff811688526020880160ff8260201c16815260ff8260281c166005811015612e9d5760019360ff93859260408d015261ffff8160301c1660608d01526001600160401b038160401c1660808d01526001600160401b038160801c1660a08d015260c01c60c08c0152015460e08a0152511603613ada57600160201b600160a01b038260201b16600160a11b1763ffffffff875116905f525f5160206154a05f395f51905f5260205263ffffffff60405f205460201c1611613ada57613ad79561450b565b6001600160a01b03168015613edc575f5160206154205f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b90613f146001600160401b0392613f04613898565b5083811693849160401c16614af2565b909192565b65fffffffffffe6001600160401b03608083015116116141b85765fffffffffffe6001600160401b0360a083015116116141a95765fffffffffffe6001600160401b0360c0830151161161419a57604060e0820151910180516005811015612e9d57600403613f985750613f8957565b630229244160e01b5f5260045ffd5b80516005811015612e9d57613fbd5750613fae57565b63b059088b60e01b5f5260045ffd5b80516005811015612e9d57600203613fef57506001600160a01b031916613fe057565b6324d6550560e01b5f5260045ffd5b80516005811015612e9d5760030361404057506001600160a01b03198116614031576001600160a01b03163b1561402257565b635ec3640d60e11b5f5260045ffd5b6334e3e8c160e21b5f5260045ffd5b516005811015612e9d5760010361418b57805f1a65ffffffffffff8260c01c166001600160801b036001600160401b038460801c16931691600181145f146140c4575065fffffffffffe109182156140ba575b5081156140b1575b506140a257565b6330e0031360e21b5f5260045ffd5b9050155f61409b565b151591505f614093565b9092906002810361412157508215928315614111575b508215614108575b5081156140ff575b50156137ea57630aaa469f60e11b5f5260045ffd5b9050155f6140ea565b1591505f6140e2565b65fffffffffffe1092505f6140da565b60030361417c57821592831561416c575b508215614163575b508115614157575b50156137ea576368bfad0160e11b5f5260045ffd5b6001915014155f614142565b1591505f61413a565b65fffffffffffe1092505f614132565b636c5ca35760e01b5f5260045ffd5b6325226d5f60e11b5f5260045ffd5b630216e46d60e41b5f5260045ffd5b6305ec3cc560e31b5f5260045ffd5b63257d56e560e11b5f5260045ffd5b5f60806040516141d6816133ed565b8281528260208201526141e7613898565b604082015282606082015201526001600160801b036001600160401b0382169161421d836001600160401b038360401c16614af2565b9390926040519561422d876133ed565b865216602085015260408401526001600160a01b03908116606084015216608082015290565b91908260409103126119e257613ad7602061426d84613b15565b93016138c8565b92915f6142a892614283613ae4565b5061428c613898565b506040518094819263340100c160e01b83528860048401613bbf565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af4801561284b5761292f65ffffffffffff916142e2945f916143325750613c2c565b909193156143235765ffffffffffff61ffff9283613ad7968360405197614308896133d2565b16875216602086015216604084015216606082015292614676565b6307d67b9f60e01b5f5260045ffd5b61434691503d805f833e6106f48183613408565b90505f612929565b6040519061435d604083613408565b600482526368656c6f60e01b6020830152565b60ff60019116019060ff82116127c657565b60ff6007199116019060ff82116127c657565b60ff166008811015612e9d5790565b908160209103126119e257516001600160e01b0319811681036119e25790565b6001600160401b03935f60c49260c0956143dc613898565b508760018060a01b036060840151169251169360408101519089806080818060a08701511694511694015116936040519b8c9a8b99632ad678c160e21b8b5260048b01521660248901521660448701526064860152608485015260a48401525af190811561284b575f916144d2575b50602081019063ffffffff825116156144c35763ffffffff808251169251169063ffffffff60408201511663ffffffff606083015116906001600160401b0360a0816080860151169401511693604051956144a58761339c565b8652602086015260408501526060840152608083015260a082015290565b630aa9029760e01b5f5260045ffd5b905060c03d60c011614504575b6144e98183613408565b810160c0828203126119e2576144fe916138ed565b5f61444b565b503d6144df565b93909491926001600160401b036080860151168015159182614662575b5050614659576001600160401b0360a0850151168015159182614645575b505061463d576001600160401b0360c0840151168015159182614629575b5050614622576040820180516005811015612e9d576004036145895750505050600190565b80516005811015612e9d576145bb57506145a39150613eef565b6001600160a01b039485169416939093149392505050565b809150516005811015612e9d576002036145e5575060e001516001600160a01b0391821691161490565b91505080516005811015612e9d5760030361460957636e12839960e01b5f5260045ffd5b516005811015612e9d5760010361461e575f90565b5f90565b5050505f90565b6001600160401b0316141590505f80614564565b505050505f90565b6001600160401b0316141590505f80614546565b50505050505f90565b6001600160401b0316141590505f80614528565b61467e613898565b50614687613898565b506001600160401b036040519163dbe7760960e01b83525f5160206154c05f395f51905f5260048401521660248201525f60448201526002606482015260208160848173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af4801561284b576146f5575b50613ad7613898565b6020813d60201161471c575b8161470e60209383613408565b810103126119e257516146ec565b3d9150614701565b60809190911b67ffffffffffffffff60801b166001600160801b039091161765ffffffffffff60c01b1790565b60c09290921b65ffffffffffff60c01b1660809190911b67ffffffffffffffff60801b16176001600160801b03919091161790565b5f5160206154205f395f51905f52546001600160a01b031633036147a657565b63118cdaa760e01b5f523360045260245ffd5b6147c1613898565b815115614ae3576010825111614ad45760015b8251811015614833575f1981018181116127c65760206147fb65ffffffffffff9286613ca1565b5101511665ffffffffffff60206148128487613ca1565b510151161115614824576001016147d4565b630a6fd7a560e11b5f5260045ffd5b5091906040830191600183525f5b82518110156148c8576148548184613ca1565b51602081015165ffffffffffff168061488057509061ffff600192836080890152511686525b01614841565b65ffffffffffff036148a5579061ffff6001928360608901525116602087015261487a565b5060a085019060ff8251169160ff83146127c65760ff600180940116905261487a565b50919290926148d684614dbb565b93845f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0160205260ff60405f205460201c16614acf57845f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0160205260405f2061ffff808551161661ffff19825416178155602084019261497361ffff855116839063ffff000082549160101b169063ffff00001916179055565b51815460608601805165ffff000000001990921692151560201b64ff00000000169290921790151560281b60ff60281b1617825593608081015115159066ff00000000000067ff0000000000000060a0855493015160381b169260301b169061ffff60301b1916171790555f5b8151811015614ac957806149f660019284613ca1565b51602081019065ffffffffffff8251168015159081614ab8575b50614a1e575b5050016149e0565b5f8981527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0060209081526040808320945165ffffffffffff16835293905291909120805491518751875163ffff000060109190911b1665ff00ffff00001964ff0000ffff1990951661ffff90931692909217640100000000179390931692151560281b60ff60281b16929092179190911790555f80614a16565b65ffffffffffff915014155f614a10565b50505050565b505050565b6352609cb360e01b5f5260045ffd5b63206df1c560e11b5f5260045ffd5b9091614afc613898565b505f5160206154805f395f51905f5254604051631246702760e31b81526001600160401b03939093166004840152602090839060249082906001600160a01b03165afa91821561284b575f92614c35575b506040516346fe341560e01b81526001600160401b0393909316600484018190525f6024850152926001600160a01b0383169060c081604481855afa801561284b575f90614bfa575b6020915094602460405180948193634d1f8c3160e01b835260048301525afa90811561284b575f91614bc6575090565b90506020813d602011614bf2575b81614be160209383613408565b810103126119e257613ad790613b22565b3d9150614bd4565b5060c03d60c011614c2e575b614c108183613408565b81019060c0818303126119e257602091614c29916138ed565b614b96565b503d614c06565b9091506020813d602011614c69575b81614c5160209383613408565b810103126119e257614c6290613b22565b905f614b4d565b3d9150614c44565b5f614c9e614cac829360405192839163104c13eb60e21b6020840152602060248401526044830190613707565b03601f198101835282613408565b6020815191016a636f6e736f6c652e6c6f675afa50565b614cf2614cac5f93928493604051938492632d839cb360e21b6020850152604060248501526064840190613707565b90604483015203601f198101835282613408565b90617fff1610614d1257565b630aeeed0f60e01b5f5265ffffffffffff60045260245ffd5b9091617fff1610614d395750565b65ffffffffffff90630aeeed0f60e01b5f521660045260245ffd5b939290926008811015612e9d5760018103614d70575050505090565b929350909160028103614d835750505090565b9192509060038103614d9457505090565b90915060048103614da3575090565b60058103614db15750505f90565b60060361302b5790565b805115614e4b57614dcb81614e50565b90614dd581614fbc565b90614de26108c58261507f565b90831580614e43575b80614e3b575b80614e33575b15614e0457505050505f90565b604051926020840194855260408401526060830152608082015260808152614e2d60a082613408565b51902090565b508115614df7565b508015614df1565b508215614deb565b505f90565b805115614fa157614e615f82613ca1565b51905b5f81516001105f14614f8557505f80614e7e600184613ca1565b51915b614f5457825160021015614f6857505f9182614e9e600283613ca1565b51935b614f545750805160031015614f38576003614ebb91613ca1565b51925b65ffffffffffff602061ffff60301b835160301b16920151161760c01b9065ffffffffffff602061ffff60301b835160301b16920151161760801b179065ffffffffffff602061ffff60301b835160301b16920151161760401b179065ffffffffffff602061ffff60301b835160301b1692015116171790565b50604051614f45816133b7565b5f81525f602082015292614ebe565b634e487b7160e01b81526011600452602490fd5b9182604051614f76816133b7565b5f81525f602082015293614ea1565b80604051614f92816133b7565b5f81525f602082015291614e81565b604051614fad816133b7565b5f81525f602082015290614e64565b80516004101561506457614fd1600482613ca1565b51905b5f81516005105f1461504857505f80614fee600584613ca1565b51915b614f545782516006101561502b57505f918261500e600683613ca1565b51935b614f545750805160071015614f38576007614ebb91613ca1565b9182604051615039816133b7565b5f81525f602082015293615011565b80604051615055816133b7565b5f81525f602082015291614ff1565b604051615070816133b7565b5f81525f602082015290614fd4565b80516008101561512757615094600882613ca1565b51905b5f81516009105f1461510b57505f806150b1600984613ca1565b51915b614f54578251600a10156150ee57505f91826150d1600a83613ca1565b51935b614f5457508051600b1015614f3857600b614ebb91613ca1565b91826040516150fc816133b7565b5f81525f6020820152936150d4565b80604051615118816133b7565b5f81525f6020820152916150b4565b604051615133816133b7565b5f81525f602082015290615097565b8051600c10156151ea57615157600c82613ca1565b51905b5f8151600d105f146151ce57505f80615174600d84613ca1565b51915b614f54578251600e10156151b157505f9182615194600e83613ca1565b51935b614f5457508051600f1015614f3857600f614ebb91613ca1565b91826040516151bf816133b7565b5f81525f602082015293615197565b806040516151db816133b7565b5f81525f602082015291615177565b6040516151f6816133b7565b5f81525f60208201529061515a565b60ff5f5160206154e05f395f51905f525460401c161561522157565b631afcd79f60e31b5f5260045ffd5b90815f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0060205260405f2065ffffffffffff82165f5260205260405f206040519061527b826133d2565b5490606061ffff83169283835261ffff8160101c169283602082015260ff808360201c1615159283604084015260281c161515928391015261539c57505050505f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0160205260405f20604051906152f28261339c565b5461ffff81169182815261ffff8260101c169182602083015260ff8160201c16158015604084015260ff8260281c1615159283606082015260a060ff808560301c1615948515608085015260381c1691015261538c5761536b57156153645765ffffffffffff905b6001935f93929190565b5f9061535a565b90929150156153865765ffffffffffff5b5f925f925f929190565b5f61537c565b505050505f905f905f905f905f90565b92949193509091156153ba5765ffffffffffff915b60019493929190565b5f916153b1565b906153e557508051156153d657805190602001fd5b63d6bda27560e01b5f5260045ffd5b81511580615416575b6153f6575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b156153ee56fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993003df9584b527247f4900a5c6b7a8400cffee00eb89e1f2f5ad0861af4fb4c0501360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f790270066533e6d1966c5548931afa2a923bcafa00e1e6794f41ca0f03bbc3ab865ab00b889e63ac5a7d4985910c5a264fb181e381a8a3f46d10618004be5e9438ffc01f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f79027023df9584b527247f4900a5c6b7a8400cffee00eb89e1f2f5ad0861af4fb4c050066533e6d1966c5548931afa2a923bcafa00e1e6794f41ca0f03bbc3ab865ab01b889e63ac5a7d4985910c5a264fb181e381a8a3f46d10618004be5e9438ffc00a264697066735822122034385227af2a6b241a5d65515c9f5e46560164b0efddf2376c4fee9dc8dbf19164736f6c634300081c0033","sourceMap":"1124:2390:3:-:0;;;;;;;1171:4:81;1163:13;;1124:2390:3;;;;;;1163:13:81;1124:2390:3;;;;;;;;;;;;;;","linkReferences":{"contracts/libraries/Snapshots.sol":{"Snapshots":[{"start":1683,"length":20},{"start":1924,"length":20},{"start":2179,"length":20},{"start":2737,"length":20},{"start":3576,"length":20},{"start":4500,"length":20},{"start":4914,"length":20},{"start":5621,"length":20},{"start":6000,"length":20},{"start":6831,"length":20},{"start":7212,"length":20},{"start":10524,"length":20},{"start":12646,"length":20},{"start":17114,"length":20},{"start":18170,"length":20}]}}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f5f3560e01c806305be88ac146131a557806306a883a0146130e957806315ae71731461297c5780632392f87d146128935780632629dae8146128745780632aead72614611ee05780632c636a1114611e985780633440994b14611cb35780633dae8c2814611b39578063418239fb14611a1f5780634f1ef286146117d257806352393e1a146116db578063527f3e1f146116a657806352d1902d1461163f5780635634ad141461158b578063715018a614611522578063876993ca146113f55780638da5cb5b146113c0578063954fc712146112785780639e490e901461123e578063a926f041146110fa578063ac8b956b146110c5578063ad3cb1cc1461107c578063b19c379114611034578063b9f17a4714610af7578063bff9b97414610a23578063c9e2a1fb146107f0578063cda493c8146107d3578063df89b3fc1461070e578063eab25c4114610616578063ebeecfa3146104c1578063edd716f014610497578063f2fde38b1461046f5763f8c8765e14610190575f80fd5b3461046c57608036600319011261046c576101a96135ad565b6101b16135c3565b6044356001600160a01b0381169081900361046a576064356001600160a01b0381169290839003610466575f5160206154e05f395f51905f52549360ff8560401c1615946001600160401b0381168015908161045e575b6001149081610454575b15908161044b575b5061043c5767ffffffffffffffff1981166001175f5160206154e05f395f51905f525561025e919086610410575b50610251615205565b610259615205565b613e7e565b610266615205565b61026e615205565b60018060a01b03166001600160601b0360a01b5f5160206154805f395f51905f525416175f5160206154805f395f51905f5255306001600160601b0360a01b7f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f79027015416177f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f7902701556001600160601b0360a01b5f5160206155005f395f51905f525416175f5160206155005f395f51905f52556001600160601b0360a01b7f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f79027035416177f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f790270355610377615205565b601165ffffffffffff195f5160206155605f395f51905f525416175f5160206155605f395f51905f52556103a9615205565b6103b1615205565b6103b85780f35b68ff0000000000000000195f5160206154e05f395f51905f5254165f5160206154e05f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b68ffffffffffffffffff191668010000000000000001175f5160206154e05f395f51905f52555f610248565b63f92ee8a960e01b8752600487fd5b9050155f61021a565b303b159150610212565b879150610208565b8480fd5b835b80fd5b503461046c57602036600319011261046c5761049461048c6135ad565b610259614786565b80f35b503461046c5760206104b76104ab366135d9565b94939093929192613d69565b6040519015158152f35b503461046c57604036600319011261046c576104db613356565b6104e3613429565b602082901b600160201b600160a01b031663ffffffff821617600160a01b17918284525f5160206155405f395f51905f5260205260ff604085205460201c1615610607578284525f5160206155405f395f51905f52602052600260ff604086205460201c16146105f8578284525f5160206155405f395f51905f52602052600160ff604086205460201c1614610577578380f35b7fc9dbe135de02dd78e4f9241c7a751be6da4d2848fc9b92c3ad16116fe884b4dd9284525f5160206155405f395f51905f526020526040842064020000000064ff00000000198254161790556105ee6040519283928390929163ffffffff6020916001600160801b03604085019616845216910152565b0390a15f80808380f35b63af9adea160e01b8452600484fd5b633dc6547760e11b8452600484fd5b503461046c57604036600319011261046c576106618161063461343c565b61063c613429565b90610645613898565b5060405163340100c160e01b8152938492839260048401613bbf565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af490811561070357829083926106de575b50906040519283926106a08460e0810192613529565b60e060c08501528251809152602061010085019301915b8181106106c5575050500390f35b82518452859450602093840193909201916001016106b7565b90506106fc91503d8084833e6106f48183613408565b810190613b36565b905f61068a565b6040513d84823e3d90fd5b503461046c57604036600319011261046c5761075290602061072e61343c565b610736613429565b60405163310ace3360e11b815294859283929060048401613967565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49081156107c757809161078a575b60208263ffffffff60405191168152f35b90506020823d6020116107bf575b816107a560209383613408565b8101031261046c57506107b96020916138c8565b5f610779565b3d9150610798565b604051903d90823e3d90fd5b503461046c578060031936011261046c5760206040516101008152f35b503461046c57606036600319011261046c5761080a61343c565b602435906044356001600160401b03811161046a5761082d90369060040161372b565b610835613898565b508215610a1457610845816147b9565b60405163340100c160e01b81529173__$bfd2951eaa3e5aabb9283af4830755d90c$__919086848061087a8860048301613bf9565b0381865af4938415610a09579160c093918895936109199899946109eb575b50886108a485613c51565b526108ae81614e50565b906108b881614fbc565b906108cb6108c58261507f565b91615142565b6108d487613c61565b526108de86613c71565b526108e885613c81565b526108f284613c91565b526108fc83613c2c565b5260405180809781946314447f4f60e11b83528860048401613ce8565b03915af49283156109de578193610973575b60c0847f86243bb113d9a8a43a582f97fd5e112834f3266cff2cd53f10c4eea05b8bfb5f81866109618a60405193849384613d1b565b0390a16109716040518092613529565bf35b9091925060c03d60c0116109d7575b61098c8183613408565b81019160c08284031261046c575092610961926109cc7f86243bb113d9a8a43a582f97fd5e112834f3266cff2cd53f10c4eea05b8bfb5f9360c0966138ed565b93509181945061092b565b503d610982565b50604051903d90823e3d90fd5b610a009194503d8088833e6106f48183613408565b9050925f610899565b6040513d89823e3d90fd5b635cb045db60e01b8452600484fd5b503461046c57602036600319011261046c57610a7f906020610a4361343c565b604051639101c02760e01b81525f5160206154c05f395f51905f5260048201526001600160401b03909116602482015292839081906044820190565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49081156107c7578091610aba575b6040516001600160a01b0383168152602090f35b90506020823d602011610aef575b81610ad560209383613408565b8101031261046c5750610ae9602091613b22565b5f610aa6565b3d9150610ac8565b503461046c5761012036600319011261046c57610b126135ad565b60243560c0366043190112610f2f5760405191610b2e8361339c565b60443560ff81168103610466578352606435600f811015610466576020840152608435600681101561046657604084015260a435600f81101561046657606084015260c4356001600160401b038116810361046657608084015260e4356bffffffffffffffffffffffff19811681036104665760a0840152610104356001600160401b03811161046657610bc690369060040161372b565b90610bcf613898565b506001600160a01b03168061102557821561101657610bed826147b9565b9465ffffffffffff5f5160206155605f395f51905f5254169465fffffffffffe8610156110075765ffffffffffff8614610ff35765ffffffffffff600187011665ffffffffffff195f5160206155605f395f51905f525416175f5160206155605f395f51905f5255610120604051610c658282613408565b6008815260208101601f198301368237815115610fdf5785905286610c8982613c51565b52805160021015610fcb57604498846060830152610ca687614e50565b610caf88614fbc565b610cb88961507f565b610cc18a615142565b610cca86613c61565b52610cd485613c71565b52610cde84613c81565b52610ce883613c91565b52610cf282613c2c565b525f5160206155005f395f51905f5254604051638399ebdd60e01b81526003600482015260248101869052996020918b919082906001600160a01b03165afa988915610f33578499610f8f575b505f5160206154805f395f51905f525460405163386956c760e01b8152600360048201526024810186905290602090829060449082906001600160a01b03165afa908115610f84578591610f3e575b5063ffffffff908160209b60016040519d8e610da98161339c565b8a815201521660408c01521660608a0152600360808a0152600360a08a015273__$bfd2951eaa3e5aabb9283af4830755d90c$__803b1561046657610e2485918b8b610e3860405196879586948594634881a43960e01b86525f5160206154c05f395f51905f52600487015260248601526044850190613529565b610140610104840152610144830190613cb5565b3361012483015203915af48015610f3357908491610f1a575b505090610e889160409493945196610220880194898952610e7560208a018c613529565b60e089015261010088015286019061369b565b6102206101e08501528251809152602061024085019301915b818110610eec5750505090807f090e1a52be5a331e1b485a02a3cd2962e5bd3131483cb39a9afb3894f65cd42892336102008301520390a1610ee8604051928392836137ca565b0390f35b8251805161ffff16855260209081015165ffffffffffff168186015260409094019390920191600101610ea1565b81610f2491613408565b610f2f57825f610e51565b8280fd5b6040513d86823e3d90fd5b90506020813d602011610f7c575b81610f5960209383613408565b810103126104665760209963ffffffff610f7381936138c8565b92505099610d8e565b3d9150610f4c565b6040513d87823e3d90fd5b9098506020813d602011610fc3575b81610fab60209383613408565b8101031261046a57610fbc906138c8565b975f610d3f565b3d9150610f9e565b634e487b7160e01b84526032600452602484fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b82526011600452602482fd5b631a93c68960e11b8252600482fd5b635cb045db60e01b8552600485fd5b636e12839960e01b8552600485fd5b503461046c578060031936011261046c577f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f7902703546040516001600160a01b039091168152602090f35b503461046c578060031936011261046c5750610ee860405161109f604082613408565b60058152640352e302e360dc1b6020820152604051918291602083526020830190613707565b503461046c578060031936011261046c575f5160206154805f395f51905f52546040516001600160a01b039091168152602090f35b503461046c57604036600319011261046c5761111461343c565b9061111d6135c3565b604051635640151160e11b81525f5160206154c05f395f51905f5260048201526001600160401b03841660248201526001600160a01b038216604482015290929060208160648173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49283156107c75780936111d4575b6020847f0380003014d3eb866ebb3263769d0a1ee8a22d65fb9ee45694fdff8a272296e981866111bf8a60405193849384613d3f565b0390a16040516001600160a01b039091168152f35b909192506020823d602011611236575b816111f160209383613408565b8101031261046c57506020926111bf9261122b7f0380003014d3eb866ebb3263769d0a1ee8a22d65fb9ee45694fdff8a272296e993613b22565b935091819450611189565b3d91506111e4565b503461046c57602036600319011261046c5760c061126b61125d61343c565b611265613898565b50614676565b610971604051809261369b565b503461046c57606036600319011261046c5761129261343c565b61129a613429565b9160443563ffffffff81168091036113bc576112b4613898565b5063ffffffff6040519463d995904360e01b86525f5160206154c05f395f51905f5260048701526001600160401b038516602487015216604485015260648401526008608484015260c08360a48173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49283156109de57819361135c575b60c0847fad4b280f21eb4bc313771beab60b6535c835235b422fe851f718c6bef2f283938186610961604051928392836137ca565b90925060c03d60c0116113b5575b6113748183613408565b81019260c08285031261046c57506113af60c0937fad4b280f21eb4bc313771beab60b6535c835235b422fe851f718c6bef2f28393926138ed565b92611327565b503d61136a565b5080fd5b503461046c578060031936011261046c575f5160206154205f395f51905f52546040516001600160a01b039091168152602090f35b503461046c57604036600319011261046c5761140f613356565b611417613429565b602082901b600160201b600160a01b031663ffffffff821617600160a11b17918284525f5160206155405f395f51905f5260205260ff604085205460201c1615610607578284525f5160206155405f395f51905f52602052600260ff604086205460201c16146105f8578284525f5160206155405f395f51905f52602052600160ff604086205460201c16146114ab578380f35b7fcec1bd5bf41ed1329467f96f878d44c30902e4c524e42c2568b86de0f97017659284525f5160206155405f395f51905f526020526040842064020000000064ff00000000198254161790556105ee6040519283928390929163ffffffff6020916001600160801b03604085019616845216910152565b503461046c578060031936011261046c5761153b614786565b5f5160206154205f395f51905f5280546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461046c57604036600319011261046c576115a561343c565b602435906115b1613898565b5081156116305760405163340100c160e01b815273__$bfd2951eaa3e5aabb9283af4830755d90c$__8482806115ea8660048301613bf9565b0381845af4918215610f84579160c0918693610919969792611612575b50866108fc83613c51565b6116279192503d8086833e6106f48183613408565b9050905f611607565b635cb045db60e01b8352600483fd5b503461046c578060031936011261046c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036116975760206040515f5160206154605f395f51905f528152f35b63703e46dd60e11b8152600490fd5b503461046c578060031936011261046c575f5160206155005f395f51905f52546040516001600160a01b039091168152602090f35b503461046c57602036600319011261046c5761173e60e06116fa61343c565b611702613898565b5060405163154c1b43831b81525f5160206154c05f395f51905f5260048201526001600160401b03909116602482015291829081906044820190565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af480156107035782918391611787575b60e083836117776040518093613529565b6001600160a01b031660c0820152f35b91505060e03d60e0116117cb575b61179f8183613408565b81019160e08284031261046c57506117c560c06117be60e094846138ed565b9201613b22565b5f611766565b503d611795565b50604036600319011261046c576117e76135ad565b602435906001600160401b038211610f2f5736602383011215610f2f578160040135908361181483613673565b936118226040519586613408565b83855260208501933660248284010111610f2f57806024602093018637850101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163081149081156119fd575b506119ee57611885614786565b6040516352d1902d60e01b81526001600160a01b0382169390602081600481885afa8691816119b6575b506118c857634c9c8ce360e01b86526004859052602486fd5b93845f5160206154605f395f51905f528796036119a45750823b15611992575f5160206154605f395f51905f5280546001600160a01b031916821790558491907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8380a28051156119775761196b9382915190845af43d1561196f573d9161194f83613673565b9261195d6040519485613408565b83523d85602085013e6153c1565b5080f35b6060916153c1565b50505050346119835780f35b63b398979f60e01b8152600490fd5b634c9c8ce360e01b8552600452602484fd5b632a87526960e21b8652600452602485fd5b9091506020813d6020116119e6575b816119d260209383613408565b810103126119e25751905f6118af565b5f80fd5b3d91506119c5565b63703e46dd60e11b8452600484fd5b5f5160206154605f395f51905f52546001600160a01b0316141590505f611878565b503461046c57602036600319011261046c57611a3961343c565b611a41613898565b50604051637ce36e2360e11b81525f5160206154c05f395f51905f5260048201526001600160401b0382166024820152600860448201529160c08360648173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49283156109de578193611ad9575b60c0847f847be2ee41fb7fd819cd9f0fa2c88487d5a0b19369ae96421d660bd92116f9a48186610961604051928392836137ca565b90925060c03d60c011611b32575b611af18183613408565b81019260c08285031261046c5750611b2c60c0937f847be2ee41fb7fd819cd9f0fa2c88487d5a0b19369ae96421d660bd92116f9a4926138ed565b92611aa4565b503d611ae7565b503461046c57602036600319011261046c57600435906001600160401b03821161046c573660238301121561046c578160040135611b768161365c565b92611b846040519485613408565b81845260208401906024829360051b8201019036821161046657929492602401915b818310611c8d57505050604051928391631cff580560e11b835260448301905f5160206154c05f395f51905f5260048501526040602485015251809152606483019190845b818110611c6b575050509080602092038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af49081156107c7578091611c2e575b6020826040519015158152f35b90506020823d602011611c63575b81611c4960209383613408565b8101031261046c5750611c5d602091613b15565b5f611c21565b3d9150611c3c565b82516001600160401b0316845286945060209384019390920191600101611beb565b92949282356001600160401b03811681036119e257815292949260209283019201611ba6565b503461046c57611cc236613452565b611ccd829392613eef565b6001600160a01b031633039250611e8a91505057611cea81613f19565b600160201b600160a01b038360201b16600160a11b1782525f5160206154a05f395f51905f5260205263ffffffff60408320611d28828254166137ec565b815483191692169182179055808252600160208084019182526060840185815295929083901b600160201b600160a01b031663ffffffff90911617600160a11b1784525f5160206155405f395f51905f5260209081526040852084518154935164ffffffffff1990941663ffffffff91909116179290911b64ff00000000169190911781556040830151946005861015611e76578154905160808581015160a087015160c08089015164ffffffffff90961660289b909b1b60ff60281b169a909a1760309490941b61ffff60301b169390931760409190911b67ffffffffffffffff60401b161791901b67ffffffffffffffff60801b1617951b6001600160c01b03191694909417845591927f3990c6121ebba199bf4e035554adbe455162e4898a348962cca8d43806076a829290600160e0840151910155611e7060405192839283613803565b0390a180f35b634e487b7160e01b85526021600452602485fd5b6282b42960e81b8252600482fd5b503461046c578060031936011261046c577f389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f7902701546040516001600160a01b039091168152602090f35b50346119e257611f3790611f17611ef636613583565b94919290948060c01c916001600160801b0363ffffffff8360801c16921690565b939150508060c01c916001600160801b0363ffffffff8360801c16921690565b92919050611f44826141c7565b611f4d846141c7565b916001600160801b0360208401511691602081016001600160801b03815116935f60e0604051611f7c8161336c565b8281528260208201528260408201528260608201528260808201528260a08201528260c082015201525f525f5160206155205f395f51905f5260205260405f209060405194611fca8661336c565b825465ffffffffffff81168752602087019365ffffffffffff8260301c16855265ffffffffffff8260601c16600160408a019282845260608b019460901c8552015460ff811660808b015260018060a01b038160081c1660a08b015262ffffff8160a81c1660c08b015260c01c60e08a015215612865575165ffffffffffff166001600160401b038d160361285657516001600160701b031603612856576120dc91612074613898565b506040848101516080810151908201515f5160206155005f395f51905f52548351632dc61f7d60e01b81526001600160401b03938416600482015263ffffffff9092166024830152918e1660448201529485916001600160a01b031690829081906064820190565b03915afa92831561284b575f905f94612817575b50156127da57505061211e90612104613ae4565b506001600160401b0360806040880151015116908a614274565b9290929161213261212d61434e565b614c71565b61214665ffffffffffff8551168b89614751565b936121518b89614724565b5f8681525f5160206154405f395f51905f5260205260409020549091905f199061217d90600190613b08565b9161218f8361218a61434e565b614cc3565b61221d602082019361ffff855116946121d160409687516121b08982613408565b600f81526e626f756e64732e6b696e644465677360881b6020820152614cc3565b61220765ffffffffffff85511687516121ea8982613408565b600b81526a189bdd5b991ccb9ada5b9960aa1b6020820152614cc3565b61ffff65ffffffffffff85511691511691614d2b565b61222861212d61434e565b65ffffffffffff8382015116612777575b50505093925b608086015160ff1661274f5760808701516001600160a01b03165b6040820151600681101561273b5761266e576001600160a01b03163303612660575b6001600160401b036080820151168061260f575b50608087810151838201519188015160608401516001600160a01b03928316949093600f85101593169160ff16836125fb57806124ce575050506124ba576124ab5786918b91805b6001600160a01b038216819003612404575b50509261230092916001600160801b03946143c4565b961687525f5160206155205f395f51905f5260205286600160408220828155015586525f5160206154405f395f51905f52602052604086208054905f1982019182116123f0575585525f5160206154405f395f51905f526020526040852080545f198101919082116123dc575560e0015160209091015193947fabb20dc355962c71db26b27f6a9b318b5f54e9cdfb67bd31ba7f7ec6461f882294611e709260c01b6001600160c01b03191660809290921b67ffffffffffffffff60801b16919091176001600160801b0391909116176040519384938461399a565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526011600452602488fd5b6020929450612445935060018060a01b0360608b015116908d6001600160401b038c511660405196879586948593638aed990760e01b855260048501613d3f565b03925af180156124a057928b6123009389936001600160801b0396612471575b509194819394506122ea565b6124929060203d602011612499575b61248a8183613408565b8101906143a4565b505f612465565b503d612480565b6040513d8c823e3d90fd5b630f54c17160e21b8a5260048afd5b634e487b7160e01b8b52602160045260248bfd5b6001811015806125f0575b1561251f575050506124ba57918b91838994155f146124f95750806122d8565b91935091506007036124ab5760a086015187928c9290916001600160a01b0316906122d8565b9193909250906007036125e157918d93918a959380155f1461254457505050806122d8565b939550919350916001810361256257630f54c17160e21b8d5260048dfd5b8c9160018211806125d3575b156125c45760a0015160601c916125b0578994928e94926125a161259c6125976125aa95614370565b614382565b614395565b91339085614d54565b906122d8565b634e487b7160e01b8d52602160045260248dfd5b630f54c17160e21b8e5260048efd5b508d9250600682111561256e565b63220bd06d60e21b8d5260048dfd5b5060068111156124d9565b634e487b7160e01b8f52602160045260248ffd5b65ffffffffffff875116016001600160401b03811161264c576001600160401b0316421061263d575f612290565b6309b89c0160e11b8a5260048afd5b634e487b7160e01b8b52601160045260248bfd5b6282b42960e81b8a5260048afd5b6040820151600681101561273b5760010361269e575060808201516001600160a01b03163303612660575b61227c565b6040820151600681101561273b576002036126e5576001600160a01b0316331415806126ce575b6126605761227c565b5060808201516001600160a01b03163314156126c5565b6040820151600681101561273b57600303612735576001600160a01b03163314801561271f575b15612699576282b42960e81b8a5260048afd5b5060808201516001600160a01b0316331461270c565b5061227c565b634e487b7160e01b8c52602160045260248cfd5b608086015160ff16600703612764578961225a565b60a08601516001600160a01b031661225a565b5f8481525f5160206154405f395f51905f5260205292832054929c5090600160ff1b81146127c65760606127b46127be9461ffff935f0390613b08565b9201511690614d06565b5f8080612239565b634e487b7160e01b5f52601160045260245ffd5b92909391506128118a61280b65ffffffffffff6001600160801b036127fe84614676565b9851169651168287614751565b94614724565b9361223f565b905061283c91935060403d604011612844575b6128348183613408565b810190614253565b92905f6120f0565b503d61282a565b6040513d5f823e3d90fd5b6313236d6b60e01b5f5260045ffd5b635c11956d60e01b5f5260045ffd5b346119e25760206104b7612887366135d9565b949390939291926139c2565b346119e25760603660031901126119e2576128ac61343c565b6128b4613429565b604435916001600160401b03831683036119e25760405163340100c160e01b8152915f91839182916128ea919060048401613bbf565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af490811561284b5761ffff65ffffffffffff61293860a0958261292f819786975f91612960575b50613c2c565b51911690615230565b9592604098919498519815158952166020880152166040860152166060840152166080820152f35b61297491503d805f833e6106f48183613408565b90508a612929565b346119e2576129d16129b161299036613583565b93919290938060c01c916001600160801b0363ffffffff8360801c16921690565b929150928060c01c916001600160801b0363ffffffff8360801c16921690565b6129dd849592956141c7565b6129e6826141c7565b926001600160801b036020850151165f525f5160206155205f395f51905f5260205260405f20604051612a188161336c565b60e0600183549365ffffffffffff8516845265ffffffffffff8560301c16602085015265ffffffffffff8560601c169485604086015260901c6060850152015460ff8116608084015260018060a01b038160081c1660a084015262ffffff8160a81c1660c084015260c01c9101526130da576040828101516080810151908201515f5160206155005f395f51905f52548351632dc61f7d60e01b81526001600160401b03938416600482015263ffffffff9092166024830152918b166044820152929190839060649082906001600160a01b03165afa91821561284b575f905f936130b6575b50156130a757612b2663ffffffff926001600160401b0360806040890151015116908b614274565b92909816155f146130a15760808501516001600160a01b031633145b1561308d5763ffffffff1661309b5760808201516001600160a01b031633145b1561308d57612b7261212d61434e565b612b8665ffffffffffff8851168988614751565b90612b918988614724565b92825f525f5160206154405f395f51905f5260205260405f205495600187018097116127c6578996612c0f90612bc98161218a61434e565b6020890161ffff65ffffffffffff818351169b612bef60409d8e6121b081519182613408565b612c048d83835116906121ea81519182613408565b511691511691614d2b565b612c1a61212d61434e565b65ffffffffffff878b015116613050575b608081810180519184015160208601516001600160a01b0393841696909390929116600f841015612e9d578b938f9360ff821680612f46575050505060018060a01b03905116935f945f965b6001600160a01b038216819003612eb1575b50509165ffffffffffff9391612c9e936143c4565b995116916008821015612e9d57876001600160401b03918760ff60018f8c908f612dec9a65ffffffffffff845194612cd58661336c565b81421686526020860192835281818701951685526001600160701b03606087019416845287608087019d168d5260a0860199878060a01b03168a526001600160801b0360c08701995f8b528d60e089019d168d52165f525f5160206155205f395f51905f526020525f2094511665ffffffffffff19855416178455519165ffffffffffff6bffffffffffff0000000000008554928260601b905160601b169371ffffffffffffffffffffffffffffffffffff19905160901b169460301b169116171717815501955116855492610100600160a81b03905160081b169162ffffff60a81b905160a81b16928560c01b16171717835551168154906001600160401b0360c01b9060c01b169060018060c01b0316179055565b5f525f5160206154405f395f51905f52602052825f20805490600182018092116127c657555f525f5160206154405f395f51905f52602052815f2090815493600185018095116127c657939091557f6176e60cd4ddf52618fa61f79a2b5fa724340395bb91018698deae36496754fa95612e989360c01b6001600160c01b03191660809190911b67ffffffffffffffff60801b16176001600160801b039091161790519384938461399a565b0390a1005b634e487b7160e01b5f52602160045260245ffd5b6020929450612ef2935060018060a01b03606087015116905f8d6001600160401b03895116905196879586948593638aed990760e01b855260048501613d3f565b03925af18015612f3c578d612c9e9365ffffffffffff95938d93612f1d575b50919381939550612c89565b612f359060203d6020116124995761248a8183613408565b505f612f11565b89513d5f823e3d90fd5b92955092509250600181101580613045575b15612fa1575060a0612f6f91015160601c91614370565b60ff5f1991160160ff81116127c6578a928e92612f8e612f9793614395565b91339089614d54565b935f945f96612c77565b9094909160078303612fbc57634fcf118160e11b5f5260045ffd5b8b938f9360088110158061303a575b1561300c5750613006903092612ffd61259c61259760a0612ff161259c61259787614370565b9c015160601c93614370565b9133908b614d54565b96612c77565b935050509350600e9150145f1461302b57878b30936007945f96612c77565b634fcf118160e11b5f5260045ffd5b50600d811115612fcb565b506006811115612f58565b845f525f5160206154405f395f51905f52602052865f2054600181018091116127c65780613088915061ffff60608d01511690614d06565b612c2b565b6282b42960e81b5f5260045ffd5b5f612b62565b5f612b42565b6331c9038360e01b5f5260045ffd5b90506130d291925060403d604011612844576128348183613408565b91908a612afe565b63203de7bb60e21b5f5260045ffd5b346119e25760403660031901126119e25761313460c061310761343c565b61310f613429565b90613118613898565b50604051632866ef3160e21b8152938492839260048401613967565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af4801561284b575f9061316a575b60c0906109716040518092613529565b5060c03d60c01161319e575b6131808183613408565b81019060c0818303126119e25760c091613199916138ed565b61315a565b503d613176565b346119e2576131b336613452565b6131bc82613eef565b6001600160a01b03163303925061308d915050576131d981613f19565b600160201b600160a01b038260201b16600160a01b175f525f5160206154a05f395f51905f5260205263ffffffff60405f20613217828254166137ec565b815483191692169182179055808252600160208084019182525f6060850181815286831b600160201b600160a01b031663ffffffff95861617600160a01b1782525f5160206155405f395f51905f52835260409182902086518154955164ffffffffff199096169616959095179390921b64ff0000000016929092178355908301519391906005851015612e9d578154905160808581015160a087015160c08089015164ffffffffff90961660289a909a1b60ff60281b169990991760309490941b61ffff60301b169390931760409190911b67ffffffffffffffff60401b161791901b67ffffffffffffffff60801b1617941b6001600160c01b0319169390931783557fae0947f631aae9cc9c660079e614352bf9d18405079a646e69a6ea4129411ee092600160e0840151910155612e9860405192839283613803565b600435906001600160801b03821682036119e257565b61010081019081106001600160401b0382111761338857604052565b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b0382111761338857604052565b604081019081106001600160401b0382111761338857604052565b608081019081106001600160401b0382111761338857604052565b60a081019081106001600160401b0382111761338857604052565b90601f801991011681019081106001600160401b0382111761338857604052565b6024359063ffffffff821682036119e257565b600435906001600160401b03821682036119e257565b906101206003198301126119e2576004356001600160801b03811681036119e257610100909260231901126119e25760405161348d8161336c565b60243563ffffffff811681036119e257815260443560ff811681036119e257602082015260643560058110156119e257604082015260843561ffff811681036119e257606082015260a4356001600160401b03811681036119e257608082015260c4356001600160401b03811681036119e25760a082015260e4356001600160401b03811681036119e25760c08201526101043560e082015290565b6001600160401b0360a0809263ffffffff815116855263ffffffff602082015116602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152826080820151166080860152015116910152565b60609060031901126119e257600435906024356001600160401b03811681036119e2579060443590565b600435906001600160a01b03821682036119e257565b602435906001600160a01b03821682036119e257565b60c09060031901126119e25760043563ffffffff811681036119e257906024356001600160a01b03811681036119e257906044356001600160801b03811681036119e257906064356001600160401b03811681036119e257906084356001600160401b03811681036119e2579060a4356001600160401b03811681036119e25790565b6001600160401b0381116133885760051b60200190565b6001600160401b03811161338857601f01601f191660200190565b90600f821015612e9d5752565b60ff81511682526136b46020820151602084019061368e565b6040810151906006821015612e9d5760a09160408401526136dd6060820151606085019061368e565b6080818101516001600160401b0316908401528101516bffffffffffffffffffffffff1916910152565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b81601f820112156119e2578035906137428261365c565b926137506040519485613408565b82845260208085019360061b830101918183116119e257602001925b82841061377a575050505090565b6040848303126119e25760405190613791826133b7565b843561ffff811681036119e257825260208501359065ffffffffffff821682036119e2578260209283604095015281520193019261376c565b9160206137ea9294936001600160401b0360e08201961681520190613529565b565b63ffffffff1663ffffffff81146127c65760010190565b9092916001600160801b0361012083019416825263ffffffff815116602083015260ff602082015116604083015260408101516005811015612e9d576101009160e091606085015261ffff60608201511660808501526001600160401b0360808201511660a08501526001600160401b0360a08201511660c08501526001600160401b0360c082015116828501520151910152565b604051906138a58261339c565b5f60a0838281528260208201528260408201528260608201528260808201520152565b519063ffffffff821682036119e257565b51906001600160401b03821682036119e257565b91908260c09103126119e2576040516139058161339c565b60a0613962818395613916816138c8565b8552613924602082016138c8565b6020860152613935604082016138c8565b6040860152613946606082016138c8565b6060860152613957608082016138d9565b6080860152016138d9565b910152565b5f5160206154c05f395f51905f5281526001600160401b03909116602082015263ffffffff909116604082015260600190565b6139be60e0929594936001600160801b036101008401971683526020830190613529565b0152565b909493929190602082901b600160201b600160a01b031663ffffffff90911617600160a01b175f525f5160206155405f395f51905f5260205260405f209460405195613a0d8761336c565b805463ffffffff811688526020880160ff8260201c16815260ff8260281c166005811015612e9d5760019360ff93859260408d015261ffff8160301c1660608d01526001600160401b038160401c1660808d01526001600160401b038160801c1660a08d015260c01c60c08c0152015460e08a0152511603613ada57600160201b600160a01b038260201b16600160a01b1763ffffffff875116905f525f5160206154a05f395f51905f5260205263ffffffff60405f205460201c1611613ada57613ad79561450b565b90565b5050505050505f90565b60405190613af1826133d2565b5f6060838281528260208201528260408201520152565b919082039182116127c657565b519081151582036119e257565b51906001600160a01b03821682036119e257565b919060e0838203126119e257613b4c81846138ed565b9260c0810151906001600160401b0382116119e257019080601f830112156119e2578151613b798161365c565b92613b876040519485613408565b81845260208085019260051b8201019283116119e257602001905b828210613baf5750505090565b8151815260209182019101613ba2565b60609063ffffffff60089395946001600160401b0360808401975f5160206154c05f395f51905f5285521660208401521660408201520152565b5f5160206154c05f395f51905f5281526001600160401b0390911660208201525f60408201526008606082015260800190565b805160071015613c3d576101000190565b634e487b7160e01b5f52603260045260245ffd5b805160011015613c3d5760400190565b805160061015613c3d5760e00190565b805160051015613c3d5760c00190565b805160041015613c3d5760a00190565b805160031015613c3d5760800190565b8051821015613c3d5760209160051b010190565b90602080835192838152019201905f5b818110613cd25750505090565b8251845260209384019390920191600101613cc5565b6060906001600160401b03613ad794935f5160206154c05f395f51905f5283521660208201528160408201520190613cb5565b6139be60e0929594936001600160401b036101008401971683526020830190613529565b6001600160401b0390911681526001600160a01b0391821660208201529116604082015260600190565b909493929190602082901b600160201b600160a01b031663ffffffff90911617600160a11b175f525f5160206155405f395f51905f5260205260405f209460405195613db48761336c565b805463ffffffff811688526020880160ff8260201c16815260ff8260281c166005811015612e9d5760019360ff93859260408d015261ffff8160301c1660608d01526001600160401b038160401c1660808d01526001600160401b038160801c1660a08d015260c01c60c08c0152015460e08a0152511603613ada57600160201b600160a01b038260201b16600160a11b1763ffffffff875116905f525f5160206154a05f395f51905f5260205263ffffffff60405f205460201c1611613ada57613ad79561450b565b6001600160a01b03168015613edc575f5160206154205f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b90613f146001600160401b0392613f04613898565b5083811693849160401c16614af2565b909192565b65fffffffffffe6001600160401b03608083015116116141b85765fffffffffffe6001600160401b0360a083015116116141a95765fffffffffffe6001600160401b0360c0830151161161419a57604060e0820151910180516005811015612e9d57600403613f985750613f8957565b630229244160e01b5f5260045ffd5b80516005811015612e9d57613fbd5750613fae57565b63b059088b60e01b5f5260045ffd5b80516005811015612e9d57600203613fef57506001600160a01b031916613fe057565b6324d6550560e01b5f5260045ffd5b80516005811015612e9d5760030361404057506001600160a01b03198116614031576001600160a01b03163b1561402257565b635ec3640d60e11b5f5260045ffd5b6334e3e8c160e21b5f5260045ffd5b516005811015612e9d5760010361418b57805f1a65ffffffffffff8260c01c166001600160801b036001600160401b038460801c16931691600181145f146140c4575065fffffffffffe109182156140ba575b5081156140b1575b506140a257565b6330e0031360e21b5f5260045ffd5b9050155f61409b565b151591505f614093565b9092906002810361412157508215928315614111575b508215614108575b5081156140ff575b50156137ea57630aaa469f60e11b5f5260045ffd5b9050155f6140ea565b1591505f6140e2565b65fffffffffffe1092505f6140da565b60030361417c57821592831561416c575b508215614163575b508115614157575b50156137ea576368bfad0160e11b5f5260045ffd5b6001915014155f614142565b1591505f61413a565b65fffffffffffe1092505f614132565b636c5ca35760e01b5f5260045ffd5b6325226d5f60e11b5f5260045ffd5b630216e46d60e41b5f5260045ffd5b6305ec3cc560e31b5f5260045ffd5b63257d56e560e11b5f5260045ffd5b5f60806040516141d6816133ed565b8281528260208201526141e7613898565b604082015282606082015201526001600160801b036001600160401b0382169161421d836001600160401b038360401c16614af2565b9390926040519561422d876133ed565b865216602085015260408401526001600160a01b03908116606084015216608082015290565b91908260409103126119e257613ad7602061426d84613b15565b93016138c8565b92915f6142a892614283613ae4565b5061428c613898565b506040518094819263340100c160e01b83528860048401613bbf565b038173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af4801561284b5761292f65ffffffffffff916142e2945f916143325750613c2c565b909193156143235765ffffffffffff61ffff9283613ad7968360405197614308896133d2565b16875216602086015216604084015216606082015292614676565b6307d67b9f60e01b5f5260045ffd5b61434691503d805f833e6106f48183613408565b90505f612929565b6040519061435d604083613408565b600482526368656c6f60e01b6020830152565b60ff60019116019060ff82116127c657565b60ff6007199116019060ff82116127c657565b60ff166008811015612e9d5790565b908160209103126119e257516001600160e01b0319811681036119e25790565b6001600160401b03935f60c49260c0956143dc613898565b508760018060a01b036060840151169251169360408101519089806080818060a08701511694511694015116936040519b8c9a8b99632ad678c160e21b8b5260048b01521660248901521660448701526064860152608485015260a48401525af190811561284b575f916144d2575b50602081019063ffffffff825116156144c35763ffffffff808251169251169063ffffffff60408201511663ffffffff606083015116906001600160401b0360a0816080860151169401511693604051956144a58761339c565b8652602086015260408501526060840152608083015260a082015290565b630aa9029760e01b5f5260045ffd5b905060c03d60c011614504575b6144e98183613408565b810160c0828203126119e2576144fe916138ed565b5f61444b565b503d6144df565b93909491926001600160401b036080860151168015159182614662575b5050614659576001600160401b0360a0850151168015159182614645575b505061463d576001600160401b0360c0840151168015159182614629575b5050614622576040820180516005811015612e9d576004036145895750505050600190565b80516005811015612e9d576145bb57506145a39150613eef565b6001600160a01b039485169416939093149392505050565b809150516005811015612e9d576002036145e5575060e001516001600160a01b0391821691161490565b91505080516005811015612e9d5760030361460957636e12839960e01b5f5260045ffd5b516005811015612e9d5760010361461e575f90565b5f90565b5050505f90565b6001600160401b0316141590505f80614564565b505050505f90565b6001600160401b0316141590505f80614546565b50505050505f90565b6001600160401b0316141590505f80614528565b61467e613898565b50614687613898565b506001600160401b036040519163dbe7760960e01b83525f5160206154c05f395f51905f5260048401521660248201525f60448201526002606482015260208160848173__$bfd2951eaa3e5aabb9283af4830755d90c$__5af4801561284b576146f5575b50613ad7613898565b6020813d60201161471c575b8161470e60209383613408565b810103126119e257516146ec565b3d9150614701565b60809190911b67ffffffffffffffff60801b166001600160801b039091161765ffffffffffff60c01b1790565b60c09290921b65ffffffffffff60c01b1660809190911b67ffffffffffffffff60801b16176001600160801b03919091161790565b5f5160206154205f395f51905f52546001600160a01b031633036147a657565b63118cdaa760e01b5f523360045260245ffd5b6147c1613898565b815115614ae3576010825111614ad45760015b8251811015614833575f1981018181116127c65760206147fb65ffffffffffff9286613ca1565b5101511665ffffffffffff60206148128487613ca1565b510151161115614824576001016147d4565b630a6fd7a560e11b5f5260045ffd5b5091906040830191600183525f5b82518110156148c8576148548184613ca1565b51602081015165ffffffffffff168061488057509061ffff600192836080890152511686525b01614841565b65ffffffffffff036148a5579061ffff6001928360608901525116602087015261487a565b5060a085019060ff8251169160ff83146127c65760ff600180940116905261487a565b50919290926148d684614dbb565b93845f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0160205260ff60405f205460201c16614acf57845f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0160205260405f2061ffff808551161661ffff19825416178155602084019261497361ffff855116839063ffff000082549160101b169063ffff00001916179055565b51815460608601805165ffff000000001990921692151560201b64ff00000000169290921790151560281b60ff60281b1617825593608081015115159066ff00000000000067ff0000000000000060a0855493015160381b169260301b169061ffff60301b1916171790555f5b8151811015614ac957806149f660019284613ca1565b51602081019065ffffffffffff8251168015159081614ab8575b50614a1e575b5050016149e0565b5f8981527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0060209081526040808320945165ffffffffffff16835293905291909120805491518751875163ffff000060109190911b1665ff00ffff00001964ff0000ffff1990951661ffff90931692909217640100000000179390931692151560281b60ff60281b16929092179190911790555f80614a16565b65ffffffffffff915014155f614a10565b50505050565b505050565b6352609cb360e01b5f5260045ffd5b63206df1c560e11b5f5260045ffd5b9091614afc613898565b505f5160206154805f395f51905f5254604051631246702760e31b81526001600160401b03939093166004840152602090839060249082906001600160a01b03165afa91821561284b575f92614c35575b506040516346fe341560e01b81526001600160401b0393909316600484018190525f6024850152926001600160a01b0383169060c081604481855afa801561284b575f90614bfa575b6020915094602460405180948193634d1f8c3160e01b835260048301525afa90811561284b575f91614bc6575090565b90506020813d602011614bf2575b81614be160209383613408565b810103126119e257613ad790613b22565b3d9150614bd4565b5060c03d60c011614c2e575b614c108183613408565b81019060c0818303126119e257602091614c29916138ed565b614b96565b503d614c06565b9091506020813d602011614c69575b81614c5160209383613408565b810103126119e257614c6290613b22565b905f614b4d565b3d9150614c44565b5f614c9e614cac829360405192839163104c13eb60e21b6020840152602060248401526044830190613707565b03601f198101835282613408565b6020815191016a636f6e736f6c652e6c6f675afa50565b614cf2614cac5f93928493604051938492632d839cb360e21b6020850152604060248501526064840190613707565b90604483015203601f198101835282613408565b90617fff1610614d1257565b630aeeed0f60e01b5f5265ffffffffffff60045260245ffd5b9091617fff1610614d395750565b65ffffffffffff90630aeeed0f60e01b5f521660045260245ffd5b939290926008811015612e9d5760018103614d70575050505090565b929350909160028103614d835750505090565b9192509060038103614d9457505090565b90915060048103614da3575090565b60058103614db15750505f90565b60060361302b5790565b805115614e4b57614dcb81614e50565b90614dd581614fbc565b90614de26108c58261507f565b90831580614e43575b80614e3b575b80614e33575b15614e0457505050505f90565b604051926020840194855260408401526060830152608082015260808152614e2d60a082613408565b51902090565b508115614df7565b508015614df1565b508215614deb565b505f90565b805115614fa157614e615f82613ca1565b51905b5f81516001105f14614f8557505f80614e7e600184613ca1565b51915b614f5457825160021015614f6857505f9182614e9e600283613ca1565b51935b614f545750805160031015614f38576003614ebb91613ca1565b51925b65ffffffffffff602061ffff60301b835160301b16920151161760c01b9065ffffffffffff602061ffff60301b835160301b16920151161760801b179065ffffffffffff602061ffff60301b835160301b16920151161760401b179065ffffffffffff602061ffff60301b835160301b1692015116171790565b50604051614f45816133b7565b5f81525f602082015292614ebe565b634e487b7160e01b81526011600452602490fd5b9182604051614f76816133b7565b5f81525f602082015293614ea1565b80604051614f92816133b7565b5f81525f602082015291614e81565b604051614fad816133b7565b5f81525f602082015290614e64565b80516004101561506457614fd1600482613ca1565b51905b5f81516005105f1461504857505f80614fee600584613ca1565b51915b614f545782516006101561502b57505f918261500e600683613ca1565b51935b614f545750805160071015614f38576007614ebb91613ca1565b9182604051615039816133b7565b5f81525f602082015293615011565b80604051615055816133b7565b5f81525f602082015291614ff1565b604051615070816133b7565b5f81525f602082015290614fd4565b80516008101561512757615094600882613ca1565b51905b5f81516009105f1461510b57505f806150b1600984613ca1565b51915b614f54578251600a10156150ee57505f91826150d1600a83613ca1565b51935b614f5457508051600b1015614f3857600b614ebb91613ca1565b91826040516150fc816133b7565b5f81525f6020820152936150d4565b80604051615118816133b7565b5f81525f6020820152916150b4565b604051615133816133b7565b5f81525f602082015290615097565b8051600c10156151ea57615157600c82613ca1565b51905b5f8151600d105f146151ce57505f80615174600d84613ca1565b51915b614f54578251600e10156151b157505f9182615194600e83613ca1565b51935b614f5457508051600f1015614f3857600f614ebb91613ca1565b91826040516151bf816133b7565b5f81525f602082015293615197565b806040516151db816133b7565b5f81525f602082015291615177565b6040516151f6816133b7565b5f81525f60208201529061515a565b60ff5f5160206154e05f395f51905f525460401c161561522157565b631afcd79f60e31b5f5260045ffd5b90815f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0060205260405f2065ffffffffffff82165f5260205260405f206040519061527b826133d2565b5490606061ffff83169283835261ffff8160101c169283602082015260ff808360201c1615159283604084015260281c161515928391015261539c57505050505f527f8f9f6b9dd32d65efadc33d5cec42974db93f3ef45f03c2694c960af8740c1c0160205260405f20604051906152f28261339c565b5461ffff81169182815261ffff8260101c169182602083015260ff8160201c16158015604084015260ff8260281c1615159283606082015260a060ff808560301c1615948515608085015260381c1691015261538c5761536b57156153645765ffffffffffff905b6001935f93929190565b5f9061535a565b90929150156153865765ffffffffffff5b5f925f925f929190565b5f61537c565b505050505f905f905f905f905f90565b92949193509091156153ba5765ffffffffffff915b60019493929190565b5f916153b1565b906153e557508051156153d657805190602001fd5b63d6bda27560e01b5f5260045ffd5b81511580615416575b6153f6575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b156153ee56fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993003df9584b527247f4900a5c6b7a8400cffee00eb89e1f2f5ad0861af4fb4c0501360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f790270066533e6d1966c5548931afa2a923bcafa00e1e6794f41ca0f03bbc3ab865ab00b889e63ac5a7d4985910c5a264fb181e381a8a3f46d10618004be5e9438ffc01f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00389a4784c2c3e8284bc1418c5b9cf4b556f52088a652459a6e23aae4f79027023df9584b527247f4900a5c6b7a8400cffee00eb89e1f2f5ad0861af4fb4c050066533e6d1966c5548931afa2a923bcafa00e1e6794f41ca0f03bbc3ab865ab01b889e63ac5a7d4985910c5a264fb181e381a8a3f46d10618004be5e9438ffc00a264697066735822122034385227af2a6b241a5d65515c9f5e46560164b0efddf2376c4fee9dc8dbf19164736f6c634300081c0033","sourceMap":"1124:2390:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6725:34:22;1124:2390:3;6725:34:22;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5812:45:22;1124:2390:3;5812:45:22;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;4181:29:22;1124:2390:3;4181:29:22;;;1124:2390:3;;;;;;;;;;;;;;;5479:64:22;1124:2390:3;5479:64:22;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5115:29:22;1124:2390:3;5115:29:22;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1124:2390:3;;;;;;:::i;:::-;;;:::i;:::-;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;;;;4301:16:80;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;;4724:16:80;;:34;;;;1124:2390:3;4803:1:80;4788:16;:50;;;;1124:2390:3;4853:13:80;:30;;;;1124:2390:3;4849:91:80;;;-1:-1:-1;;1124:2390:3;;4803:1:80;1124:2390:3;-1:-1:-1;;;;;;;;;;;1124:2390:3;6959:1:80;;1124:2390:3;;4977:67:80;;1124:2390:3;6891:76:80;;;:::i;:::-;;;:::i;:::-;6959:1;:::i;:::-;6891:76;;:::i;:::-;;;:::i;:::-;1124:2390:3;;;;;;-1:-1:-1;;;;;1124:2390:3;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;1732:4;-1:-1:-1;;;;;1124:2390:3;;1270:14:56;1124:2390:3;;;1270:14:56;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;;1334:17:56;1124:2390:3;;;1334:17:56;1124:2390:3;6891:76:80;;:::i;:::-;1988:2:6;1124:2390:3;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;6891:76:80;;:::i;:::-;;;:::i;:::-;5064:101;;1124:2390:3;;5064:101:80;1124:2390:3;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;-1:-1:-1;;;;;;;;;;;1124:2390:3;5140:14:80;1124:2390:3;;;4803:1:80;1124:2390:3;;5140:14:80;1124:2390:3;;4977:67:80;-1:-1:-1;;1124:2390:3;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;4977:67:80;;;4849:91;-1:-1:-1;;;4906:23:80;;1124:2390:3;4906:23:80;;4853:30;4870:13;;;4853:30;;;4788:50;4816:4;4808:25;:30;;-1:-1:-1;4788:50:80;;4724:34;;;-1:-1:-1;4724:34:80;;1124:2390:3;;;;;;;;;;;;;;;;-1:-1:-1;;1124:2390:3;;;;2357:1:79;1124:2390:3;;:::i;:::-;2303:62:79;;:::i;2357:1::-;1124:2390:3;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;1124:2390:3;;;;;;:::i;:::-;;;:::i;:::-;10225:2:17;1458:19:6;;;-1:-1:-1;;;;;;;1458:19:6;1124:2390:3;;;10178:69:17;-1:-1:-1;;;10178:69:17;1124:2390:3;;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;;;;;;;2846:30:17;2842:58;;1124:2390:3;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;2949:19:17;1124:2390:3;;;;;;;;2914:55:17;2910:82;;1124:2390:3;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;2801:14:17;1124:2390:3;;;;;;;;3006:55:17;3002:184;;1124:2390:3;;;3002:184:17;3150:25;1124:2390:3;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;;;;;;;;;;;3150:25:17;1124:2390:3;;3150:25:17;;;;1124:2390:3;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;3150:25:17;;;;3002:184;;;1124:2390:3;;;2910:82:17;-1:-1:-1;;;2978:14:17;;1124:2390:3;4335:14:17;2978;2842:58;-1:-1:-1;;;2885:15:17;;1124:2390:3;4242:15:17;2885;1124:2390:3;;;;;;;-1:-1:-1;;1124:2390:3;;;;7077:56:22;1124:2390:3;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;-1:-1:-1;;;7077:56:22;;1124:2390:3;;;;;;7077:56:22;;;:::i;:::-;;:22;;:56;;;;;;;;1124:2390:3;;7077:56:22;;;1124:2390:3;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1124:2390:3;;;;;;;;;7077:11:22;1124:2390:3;;;7077:56:22;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;1124:2390:3;;;;;;;;;;;;;;;;-1:-1:-1;;1124:2390:3;;;;6442:32:22;1124:2390:3;;;;:::i;:::-;;;:::i;:::-;;;-1:-1:-1;;;6442:32:22;;1124:2390:3;;;;;;;6442:32:22;;;:::i;:::-;;:22;;:32;;;;;;;;;;;1124:2390:3;;;;;;;;;;;6442:32:22;;;1124:2390:3;6442:32:22;;1124:2390:3;6442:32:22;;;;;;1124:2390:3;6442:32:22;;;:::i;:::-;;;1124:2390:3;;;;;;;;;:::i;:::-;6442:32:22;;;;;;-1:-1:-1;6442:32:22;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;1458:19:6;1124:2390:3;;;;;;;;;;-1:-1:-1;;1124:2390:3;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;4474:18:22;;4470:44;;4648:13;;;:::i;:::-;1124:2390:3;;-1:-1:-1;;;4687:68:22;;1124:2390:3;4687:22:22;;1124:2390:3;4687:68:22;1124:2390:3;;4687:68:22;;1124:2390:3;4687:68:22;;;:::i;:::-;;;;;;;;;;;1124:2390:3;5115:29:22;1124:2390:3;;;;;5115:29:22;1124:2390:3;;4687:68:22;;;1124:2390:3;4789:35:22;;;;;:::i;:::-;1124:2390:3;1091:17:16;;;:::i;:::-;1126;;;;:::i;:::-;1161;1196:18;1161:17;;;:::i;:::-;1196:18;;:::i;:::-;4834:214:22;;;:::i;:::-;1124:2390:3;4834:214:22;;;:::i;:::-;1124:2390:3;4834:214:22;;;:::i;:::-;1124:2390:3;4834:214:22;;;:::i;:::-;1124:2390:3;5058:40:22;;;:::i;:::-;1124:2390:3;;;;;;;;;;;5115:29:22;;;1124:2390:3;5115:29:22;;;:::i;:::-;;;;;;;;;;;;;;1124:2390:3;5115:29:22;1124:2390:3;5159:31:22;1124:2390:3;;5159:31:22;1124:2390:3;;;5159:31:22;;;;;:::i;:::-;;;;1124:2390:3;;;;;;:::i;:::-;;5115:29:22;;;;;;;;;;;;;;;;:::i;:::-;;;1124:2390:3;5115:29:22;1124:2390:3;;;;;;;;5159:31:22;1124:2390:3;;5159:31:22;1124:2390:3;5115:29:22;1124:2390:3;;:::i;:::-;5115:29:22;;;;;;;;;;;;;;1124:2390:3;;;;;;;;;;;4687:68:22;;;;;;;;;;;;;;:::i;:::-;;;;;;;;1124:2390:3;;;;;;;;;4470:44:22;-1:-1:-1;;;4501:13:22;;1124:2390:3;3905:13:22;4501;1124:2390:3;;;;;;;-1:-1:-1;;1124:2390:3;;;;7358:23:22;1124:2390:3;;;;:::i;:::-;;;-1:-1:-1;;;7358:23:22;;-1:-1:-1;;;;;;;;;;;1124:2390:3;7358:23:22;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;7358:23:22;;:19;;:23;;;;;;;;;;;1124:2390:3;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;7358:23:22;;;1124:2390:3;7358:23:22;;1124:2390:3;7358:23:22;;;;;;1124:2390:3;7358:23:22;;;:::i;:::-;;;1124:2390:3;;;;;;;;;:::i;:::-;7358:23:22;;;;;;-1:-1:-1;7358:23:22;;1124:2390:3;;;;;;;-1:-1:-1;;1124:2390:3;;;;;;:::i;:::-;;;;;-1:-1:-1;;1124:2390:3;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;-1:-1:-1;;1124:2390:3;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;;1124:2390:3;;2622:46:22;;2682:18;;2678:44;;2825:13;;;:::i;:::-;1124:2390:3;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;695:6:46;1124:2390:3;678:23:46;;;674:46;;1124:2390:3;244:20:46;;;;1124:2390:3;;244:20:46;;1124:2390:3;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;;;;;:::i;:::-;481:1:21;1124:2390:3;;;;;-1:-1:-1;;1124:2390:3;;;;;;;256:1:21;;;1124:2390:3;;;3027:35:22;;;;:::i;:::-;1124:2390:3;;;287:1:21;256;;;;1124:2390:3;256:1:21;;1124:2390:3;256:1:21;;1124:2390:3;1091:17:16;;;:::i;:::-;1126;;;:::i;:::-;1161;;;:::i;:::-;1196:18;;;:::i;:::-;3152:214:22;;;:::i;:::-;1124:2390:3;3152:214:22;;;:::i;:::-;1124:2390:3;3152:214:22;;;:::i;:::-;1124:2390:3;3152:214:22;;;:::i;:::-;1124:2390:3;3376:40:22;;;:::i;:::-;1124:2390:3;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;-1:-1:-1;;;9382:63:22;;319:1:21;1124:2390:3;9382:63:22;;1124:2390:3;;;;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;9382:63:22;;;;;;;;;;;1124:2390:3;-1:-1:-1;;;;;;;;;;;;1124:2390:3;;;-1:-1:-1;;;9607:59:22;;319:1:21;1124:2390:3;9607:59:22;;1124:2390:3;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;9607:59:22;;;;;;;;;;;1124:2390:3;;;;;;;;;;;;;;;:::i;:::-;;;;3434:142:22;1124:2390:3;;;3434:142:22;;1124:2390:3;;;3434:142:22;;1124:2390:3;319:1:21;1124:2390:3;3434:142:22;;1124:2390:3;319:1:21;1124:2390:3;3434:142:22;;1124:2390:3;3586:18:22;:47;;;;;1827:1:6;1124:2390:3;;;;1827:1:6;1124:2390:3;;;;;;;;;;;;3586:47:22;;-1:-1:-1;;;;;;;;;;;1124:2390:3;3586:47:22;;1124:2390:3;;1827:1:6;;1124:2390:3;;1827:1:6;;;;:::i;:::-;;1124:2390:3;1827:1:6;;;;;;;;:::i;:::-;3622:10:22;1827:1:6;;;1124:2390:3;3586:47:22;;;;;;;;;;;;;1124:2390:3;;;;1827:1:6;1124:2390:3;;;;;;1827:1:6;;;;1124:2390:3;;;;1827:1:6;1124:2390:3;1827:1:6;;;;:::i;:::-;1124:2390:3;1827:1:6;;1124:2390:3;;1827:1:6;;1124:2390:3;1827:1:6;;;;:::i;:::-;;;;;;1124:2390:3;;;;;;;;;;;1827:1:6;;;;;;;3622:10:22;;;;;3649:64;3622:10;;1827:1:6;;;1124:2390:3;3649:64:22;;;1124:2390:3;;;;;;;;:::i;:::-;;;;1827:1:6;;;;;1124:2390:3;;;;;1827:1:6;;;;1124:2390:3;;1827:1:6;;;1124:2390:3;;1827:1:6;;;;1124:2390:3;;;;;1827:1:6;;;3586:47:22;;;;;:::i;:::-;1124:2390:3;;3586:47:22;;;;1124:2390:3;;;;3586:47:22;1124:2390:3;;;;;;;;;9607:59:22;;;1124:2390:3;9607:59:22;;1124:2390:3;9607:59:22;;;;;;1124:2390:3;9607:59:22;;;:::i;:::-;;;1124:2390:3;;;;;;;;;;;:::i;:::-;9607:59:22;;;;;;;;;-1:-1:-1;9607:59:22;;;1124:2390:3;;;;;;;;;9382:63:22;;;;1124:2390:3;9382:63:22;;1124:2390:3;9382:63:22;;;;;;1124:2390:3;9382:63:22;;;:::i;:::-;;;1124:2390:3;;;;;;;:::i;:::-;9382:63:22;;;;;;;-1:-1:-1;9382:63:22;;256:1:21;-1:-1:-1;;;256:1:21;;;1124:2390:3;256:1:21;1124:2390:3;;256:1:21;;-1:-1:-1;;;256:1:21;;;1124:2390:3;256:1:21;1124:2390:3;;256:1:21;244:20:46;-1:-1:-1;;;1124:2390:3;;;;;;;;674:46:46;-1:-1:-1;;;710:10:46;;1124:2390:3;710:10:46;;2678:44:22;-1:-1:-1;;;2709:13:22;;1124:2390:3;3905:13:22;2709;2622:46;-1:-1:-1;;;2653:15:22;;1124:2390:3;2653:15:22;;1124:2390:3;;;;;;;;;;;;;1786:33:56;1124:2390:3;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1124:2390:3;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;-1:-1:-1;;1124:2390:3;;;;;;:::i;:::-;;;;:::i;:::-;;;-1:-1:-1;;;6130:28:22;;-1:-1:-1;;;;;;;;;;;1124:2390:3;6130:28:22;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;6130:28:22;1124:2390:3;6130:20:22;:28;;;;;;;;;;;1124:2390:3;;;6173:33:22;1124:2390:3;;6173:33:22;1124:2390:3;;;6173:33:22;;;;;:::i;:::-;;;;1124:2390:3;;-1:-1:-1;;;;;1124:2390:3;;;;;;6130:28:22;;;;;1124:2390:3;6130:28:22;;1124:2390:3;6130:28:22;;;;;;1124:2390:3;6130:28:22;;;:::i;:::-;;;1124:2390:3;;;;;;;6173:33:22;1124:2390:3;;6173:33:22;1124:2390:3;;:::i;:::-;6130:28:22;;;;;;;;;;;-1:-1:-1;6130:28:22;;1124:2390:3;;;;;;;-1:-1:-1;;1124:2390:3;;;;;8078:17:22;1124:2390:3;;:::i;:::-;;;:::i;:::-;;8078:17:22;:::i;:::-;1124:2390:3;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;1124:2390:3;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;5479:64:22;;-1:-1:-1;;;;;;;;;;;1124:2390:3;5479:64:22;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;481:1:21;1124:2390:3;;;;5479:64:22;:19;:64;:19;;:64;;;;;;;;;;;1124:2390:3;5479:64:22;1124:2390:3;5558:26:22;1124:2390:3;;5558:26:22;1124:2390:3;;5558:26:22;;;;;:::i;5479:64::-;;;;;;;;;;;;;;;:::i;:::-;;;1124:2390:3;5479:64:22;1124:2390:3;;;;;;;;5479:64:22;1124:2390:3;5558:26:22;1124:2390:3;;:::i;:::-;5479:64:22;;;;;;;;1124:2390:3;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;-1:-1:-1;;1124:2390:3;;;;;;:::i;:::-;;;:::i;:::-;10225:2:17;1458:19:6;;;-1:-1:-1;;;;;;;1458:19:6;1124:2390:3;;;10178:69:17;-1:-1:-1;;;10178:69:17;1124:2390:3;;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;;;;;;;4203:30:17;4199:58;;1124:2390:3;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;4160:12:17;1124:2390:3;;;;;;;;4271:55:17;4267:82;;1124:2390:3;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;;;;;;;;4363:55:17;4359:182;;1124:2390:3;;;4359:182:17;4507:23;1124:2390:3;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;;;;;;;;;;;4507:23:17;1124:2390:3;;4507:23:17;;;;1124:2390:3;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;2303:62:79;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1124:2390:3;;-1:-1:-1;;;;;;1124:2390:3;;;;;;;-1:-1:-1;;;;;1124:2390:3;3975:40:79;1124:2390:3;;3975:40:79;1124:2390:3;;;;;;;;;-1:-1:-1;;1124:2390:3;;;;;;:::i;:::-;;;;;;:::i;:::-;;3878:18:22;;3874:44;;1124:2390:3;;-1:-1:-1;;;4051:68:22;;:22;:68;1124:2390:3;;4051:68:22;;1124:2390:3;4051:68:22;;;:::i;:::-;;;;;;;;;;;1124:2390:3;4181:29:22;1124:2390:3;;;4181:29:22;1124:2390:3;;4051:68:22;;;1124:2390:3;4129:35:22;;;;;:::i;4051:68::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;3874:44;-1:-1:-1;;;3905:13:22;;1124:2390:3;3905:13:22;;1124:2390:3;;;;;;;;;;;;;5090:6:81;-1:-1:-1;;;;;1124:2390:3;5081:4:81;5073:23;5069:145;;1124:2390:3;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;5069:145:81;-1:-1:-1;;;5174:29:81;;1124:2390:3;;5174:29:81;1124:2390:3;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;-1:-1:-1;;1124:2390:3;;;;7637:22:22;1124:2390:3;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;1124:2390:3;;;;;7637:22:22;;-1:-1:-1;;;;;;;;;;;1124:2390:3;7637:22:22;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;7637:22:22;;:18;;:22;;;;;;;1124:2390:3;;7637:22:22;;;1124:2390:3;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1124:2390:3;;;;;;7637:22:22;;;;1124:2390:3;7637:22:22;1124:2390:3;7637:22:22;;;;;;;;:::i;:::-;;;1124:2390:3;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;7637:22:22;;;;;;;;1124:2390:3;-1:-1:-1;1124:2390:3;;-1:-1:-1;;1124:2390:3;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4667:6:81;1124:2390:3;4658:4:81;4650:23;;;:120;;;;1124:2390:3;4633:251:81;;;2303:62:79;;:::i;:::-;1124:2390:3;;-1:-1:-1;;;6131:52:81;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;6131:52:81;;;;;;;1124:2390:3;-1:-1:-1;6127:437:81;;-1:-1:-1;;;6493:60:81;;1124:2390:3;;;;;1805:47:90;6493:60:81;6127:437;6225:40;;-1:-1:-1;;;;;;;;;;;6225:40:81;;;6221:120;;1748:29:90;;;:34;1744:119;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;-1:-1:-1;;;;;;1124:2390:3;;;;;;;;2407:36:90;1124:2390:3;;2407:36:90;1124:2390:3;;2458:15:90;:11;;4107:55:95;4065:25;;;;;;;;1124:2390:3;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;4107:55:95;:::i;:::-;;1124:2390:3;;;;;4107:55:95;:::i;2454:148:90:-;6163:9;;;;;6159:70;;1124:2390:3;;6159:70:90;-1:-1:-1;;;6199:19:90;;1124:2390:3;;6199:19:90;1744:119;-1:-1:-1;;;1805:47:90;;1124:2390:3;;;1805:47:90;;6221:120:81;-1:-1:-1;;;6292:34:81;;1124:2390:3;;;6292:34:81;;6131:52;;;;1124:2390:3;6131:52:81;;1124:2390:3;6131:52:81;;;;;;1124:2390:3;6131:52:81;;;:::i;:::-;;;1124:2390:3;;;;149:1:7;6131:52:81;;;;1124:2390:3;-1:-1:-1;1124:2390:3;;6131:52:81;;;-1:-1:-1;6131:52:81;;4633:251;-1:-1:-1;;;4844:29:81;;1124:2390:3;4844:29:81;;4650:120;-1:-1:-1;;;;;;;;;;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;4728:42:81;;;-1:-1:-1;4650:120:81;;;1124:2390:3;;;;;;;-1:-1:-1;;1124:2390:3;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;1124:2390:3;;-1:-1:-1;;;5812:45:22;;-1:-1:-1;;;;;;;;;;;1124:2390:3;5812:45:22;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;;481:1:21;;;1124:2390:3;481:1:21;;;;1124:2390:3;;5812:45:22;1124:2390:3;5812:45:22;1124:2390:3;5812:17:22;:45;;;;;;;;;;;1124:2390:3;5812:45:22;1124:2390:3;5872:25:22;1124:2390:3;;5872:25:22;1124:2390:3;;5872:25:22;;;;;:::i;5812:45::-;;;;;;;;;;;;;;;:::i;:::-;;;1124:2390:3;5812:45:22;1124:2390:3;;;;;;;;5812:45:22;1124:2390:3;5872:25:22;1124:2390:3;;:::i;:::-;5812:45:22;;;;;;;;1124:2390:3;;;;;;;-1:-1:-1;;1124:2390:3;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7894:25:22;;1124:2390:3;;;7894:25:22;-1:-1:-1;;;;;;;;;;;1124:2390:3;7894:25:22;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;7894:25:22;;;;;1124:2390:3;7894:25:22;;:20;;:25;;;;;;;;;;;1124:2390:3;;;;;;;;;;;7894:25:22;;;1124:2390:3;7894:25:22;;1124:2390:3;7894:25:22;;;;;;1124:2390:3;7894:25:22;;;:::i;:::-;;;1124:2390:3;;;;;;;;;:::i;:::-;7894:25:22;;;;;;-1:-1:-1;7894:25:22;;1124:2390:3;;;-1:-1:-1;;;;;1124:2390:3;;;;;-1:-1:-1;1124:2390:3;;;;;;;;;7894:11:22;1124:2390:3;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3339:17:17;;;;;:::i;:::-;-1:-1:-1;;;;;1124:2390:3;3370:10:17;:19;;-1:-1:-1;3366:46:17;;-1:-1:-1;;3366:46:17;3442:5;;;:::i;:::-;-1:-1:-1;;;;;;;1458:19:6;10225:2:17;1458:19:6;;1124:2390:3;1458:19:6;;10178:50:17;1124:2390:3;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;;;3682:16:17;1124:2390:3;;;;3682:16:17;:::i;:::-;1124:2390:3;;;;;;;;;;;;;;;-1:-1:-1;1124:2390:3;3708:12:17;;;1124:2390:3;;;3759:14:17;;;1124:2390:3;;;3759:14:17;1124:2390:3;1458:19:6;;;;-1:-1:-1;;;;;;;1458:19:6;1124:2390:3;;;;10178:69:17;-1:-1:-1;;;10178:69:17;1124:2390:3;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;;;;;;;;;;-1:-1:-1;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1124:2390:3;;;;;;;;;;-1:-1:-1;;;1124:2390:3;;;;;;;;;;-1:-1:-1;;;1124:2390:3;;;;;-1:-1:-1;;;1124:2390:3;;;;-1:-1:-1;;;;;;1124:2390:3;;;;;;;;;3903:20:17;;-1:-1:-1;1124:2390:3;;;;;;;;3903:20:17;1124:2390:3;;3903:20:17;;;;;:::i;:::-;;;;1124:2390:3;;;-1:-1:-1;;;1124:2390:3;;;;;;;;3366:46:17;-1:-1:-1;;;3398:14:17;;1124:2390:3;2056:14:17;3398;1124:2390:3;;;;;;;;;;;;;1555:30:56;1124:2390:3;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;4793:19:18;1124:2390:3;4726:19:18;1124:2390:3;;;:::i;:::-;4726:19:18;;;;;1124:2390:3;18780:3:18;1124:2390:3;;-1:-1:-1;;;;;1124:2390:3;;18816:3:18;1124:2390:3;;;;18651:204:18;;4726:19;4793;;;;1124:2390:3;18780:3:18;1124:2390:3;;-1:-1:-1;;;;;1124:2390:3;;18816:3:18;1124:2390:3;;;;18651:204:18;;4793:19;4852:29;;;;;;;:::i;:::-;4920;;;:::i;:::-;4998:12;-1:-1:-1;;;;;4998:12:18;;;1124:2390:3;;5012:12:18;4998;5012;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;:::i;:::-;;;;;4998:12:18;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4998:12:18;1124:2390:3;;;;;;;;;;;:::i;:::-;;;;;;;;4998:12:18;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13738:12:18;13734:38;;1124:2390:3;;;-1:-1:-1;;;;;1124:2390:3;;13786:14:18;13782:40;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;13836:16:18;13832:42;;2417:55:3;5040:24:18;1124:2390:3;;:::i;:::-;-1:-1:-1;1124:2390:3;5169:13:18;;;;1124:2390:3;5169:20:18;;1124:2390:3;5191:21:18;;;1124:2390:3;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;-1:-1:-1;;;2417:55:3;;-1:-1:-1;;;;;1124:2390:3;;;;2417:55;;1124:2390;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;2417:55;;;;;;;;;;1124:2390;;;2417:55;;;1124:2390;-1:-1:-1;5228:448:18;;;1124:2390:3;;5310:60:18;1124:2390:3;;;:::i;:::-;;-1:-1:-1;;;;;1124:2390:3;;5349:13:18;;;:20;1124:2390:3;;5310:60:18;;;:::i;:::-;5293:77;;;5409:51;14091:19;1124:2390:3;;:::i;:::-;14091:19:18;:::i;:::-;14202:41;1124:2390:3;;;;14202:41:18;;;:::i;:::-;14264:46;;;;;:::i;:::-;1124:2390:3;;;;-1:-1:-1;;;;;;;;;;;4998:12:18;1124:2390:3;;;;;14355:91:18;;;-1:-1:-1;;1124:2390:3;14408:38:18;;1124:2390:3;;14408:38:18;:::i;:::-;1124:2390:3;14457:32:18;1124:2390:3;;;:::i;:::-;14457:32:18;:::i;:::-;14653:15;4998:12;14530:15;;1124:2390:3;;;;;;14499:47:18;1124:2390:3;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;4998:12:18;1124:2390:3;;;14499:47:18;:::i;:::-;14556:39;1124:2390:3;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;4998:12:18;1124:2390:3;;;14556:39:18;:::i;:::-;1124:2390:3;;;;;;;;14653:15:18;;:::i;:::-;14679:19;1124:2390:3;;:::i;14679:19:18:-;1124:2390:3;14712:16:18;;;1124:2390:3;;14708:265:18;;5228:448;5384:76;;;;5228:448;;1124:2390:3;;;;;;;;;16288:10:18;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;16212:262:18;1124:2390:3;16516:15:18;;1124:2390:3;;;;;;;16516:47:18;;-1:-1:-1;;;;;1124:2390:3;5741:10:18;16583:19;16579:46;;16512:595;-1:-1:-1;;;;;1124:2390:3;17147:18:18;;1124:2390:3;;17147:23:18;17143:162;;16512:595;-1:-1:-1;1124:2390:3;9686:10:18;;;1124:2390:3;9726:10:18;;;1124:2390:3;;;;;;9845:18:18;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;;9877:30:18;;;1124:2390:3;;;;;9927:42:18;;9989:20;;;;;9873:1548;-1:-1:-1;;;;;1124:2390:3;;11435:21:18;;;11431:131;;9873:1548;5873:61;;;;;;-1:-1:-1;;;;;5873:61:18;;:::i;:::-;1124:2390:3;;;;-1:-1:-1;;;;;;;;;;;4998:12:18;1124:2390:3;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4998:12:18;1124:2390:3;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4998:12:18;1124:2390:3;;;;;;-1:-1:-1;;1124:2390:3;;;;;;;;;;;;4998:12:18;;;;1124:2390:3;;;6122:72:18;;;;1124:2390:3;1458:19:6;-1:-1:-1;;;;;;1458:19:6;1124:2390:3;1458:19:6;;;;-1:-1:-1;;;1458:19:6;18577:46:18;;;;-1:-1:-1;;;;;1124:2390:3;;;;18577:61:18;1124:2390:3;;6122:72:18;;;;;:::i;1124:2390:3:-;-1:-1:-1;;;1124:2390:3;;;;;;;;;-1:-1:-1;;;1124:2390:3;;;;;;;;11431:131:18;4998:12;1124:2390:3;;;11472:79:18;1124:2390:3;;;;;;;;11487:16:18;;1124:2390:3;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;11472:79:18;;1124:2390:3;11472:79:18;;;:::i;:::-;;;;;;;;;;;5873:61;11472:79;;;-1:-1:-1;;;;;11472:79:18;;;11431:131;;;;;;;;;;11472:79;;;4998:12;11472:79;4998:12;11472:79;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;1124:2390:3;;;;;;;;;9923:169:18;-1:-1:-1;;;10055:22:18;;1124:2390:3;11311:22:18;10055;1124:2390:3;-1:-1:-1;;;1124:2390:3;;;;;;;;9873:1548:18;1124:2390:3;10112:35:18;;;:73;;;9873:1548;10108:1313;;;1124:2390:3;;;;;10205:42:18;;;;;;;10201:295;10205:42;;;10267:20;;9873:1548;;10201:295;1124:2390:3;;-1:-1:-1;1124:2390:3;-1:-1:-1;10329:37:18;10312:54;10329:37;;1124:2390:3;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;9873:1548:18;;10108:1313;10516:33;;;;-1:-1:-1;10516:33:18;10528:20;10516:33;10528:20;;1124:2390:3;;;;;;;10569:42:18;;10565:783;10569:42;;;10631:20;;;;9873:1548;;10565:783;1124:2390:3;;-1:-1:-1;1124:2390:3;;-1:-1:-1;1124:2390:3;;10676:55:18;;1124:2390:3;;-1:-1:-1;;;10758:22:18;;1124:2390:3;11311:22:18;10758;10672:676;1124:2390:3;10822:54:18;1124:2390:3;10822:54:18;;:132;;;10672:676;10801:547;;;1124:2390:3;11131:10:18;1124:2390:3;;;;;;11177:24:18;;;;;;11164:83;11177:69;:24;10998:267;11177:24;;:::i;:::-;:69;:::i;:::-;11164:83;:::i;:::-;5741:10;;10998:267;;;:::i;:::-;10801:547;9873:1548;;1124:2390:3;-1:-1:-1;;;1124:2390:3;;;;;;;;10801:547:18;-1:-1:-1;;;11311:22:18;;1124:2390:3;11311:22:18;;10822:132;-1:-1:-1;1124:2390:3;;-1:-1:-1;1124:2390:3;10900:54:18;;;10822:132;;10512:909;-1:-1:-1;;;11385:25:18;;1124:2390:3;11385:25:18;;10112:73;10151:34;1124:2390:3;10151:34:18;;;10112:73;;1124:2390:3;-1:-1:-1;;;1124:2390:3;;;;;;;;17143:162:18;1124:2390:3;;;;;-1:-1:-1;;;;;1124:2390:3;;;;-1:-1:-1;;;;;1124:2390:3;17190:15:18;:47;17186:109;;17143:162;;;17186:109;-1:-1:-1;;;17264:16:18;;1124:2390:3;17264:16:18;;1124:2390:3;-1:-1:-1;;;1124:2390:3;;;;;;;;16579:46:18;-1:-1:-1;;;16611:14:18;;1124:2390:3;2056:14:17;16611::18;16512:595;1124:2390:3;16516:15:18;;1124:2390:3;;;;;;;;16646:47:18;1124:2390:3;;-1:-1:-1;1124:2390:3;16723:10:18;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;5741:10:18;16713:20;16709:47;;16642:465;16512:595;;16642:465;1124:2390:3;16516:15:18;;1124:2390:3;;;;;;;1669:30:56;16777:44:18;1669:30:56;;-1:-1:-1;;;;;1124:2390:3;5741:10:18;16841:19;;;:43;;16773:334;16837:70;;16512:595;;16841:43;-1:-1:-1;1124:2390:3;16874:10:18;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;5741:10:18;16864:20;;16841:43;;16773:334;1124:2390:3;16516:15:18;;1124:2390:3;;;;;;;16947:26:18;16928:45;16947:26;;-1:-1:-1;;;;;1124:2390:3;5741:10:18;16993:19;:43;;;;16924:183;16989:70;16642:465;16989:70;-1:-1:-1;;;17045:14:18;;1124:2390:3;2056:14:17;17045::18;16993:43;-1:-1:-1;1124:2390:3;17026:10:18;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;5741:10:18;17016:20;16993:43;;16924:183;;16512:595;;1124:2390:3;-1:-1:-1;;;1124:2390:3;;;;;;;;16212:262:18;1124:2390:3;;;;;;16345:20:18;16319:47;16345:20;;16382:22;16212:262;;16315:159;1124:2390:3;;;;-1:-1:-1;;;;;1124:2390:3;16212:262:18;;14708:265;1124:2390:3;;;;-1:-1:-1;;;;;;;;;;;4998:12:18;1124:2390:3;;;;;;;-1:-1:-1;14789:87:18;-1:-1:-1;;;1124:2390:3;;;;;14840:36:18;14945:16;1124:2390:3;;;-1:-1:-1;1124:2390:3;14840:36:18;;:::i;:::-;14945:16;;1124:2390:3;;14945:16:18;;:::i;:::-;14708:265;;;;;1124:2390:3;;;;-1:-1:-1;1124:2390:3;;;;;-1:-1:-1;1124:2390:3;5228:448:18;5498:18;;;;;5614:51;5498:18;5543:46;1124:2390:3;-1:-1:-1;;;;;5498:18:18;;;:::i;:::-;1124:2390:3;;;;;;5543:46:18;;;:::i;:::-;5614:51;;:::i;:::-;5228:448;;;2417:55:3;;;;;;;1124:2390;2417:55;1124:2390;2417:55;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;1124:2390;;;;;;;;;13832:42:18;13809:13;;;1124:2390:3;13861:13:18;1124:2390:3;;13861:13:18;13734:38;13759:13;;;1124:2390:3;13759:13:18;1124:2390:3;;13759:13:18;1124:2390:3;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1124:2390:3;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;-1:-1:-1;;;8733:55:22;;1124:2390:3;;;;;;;8733:55:22;;1124:2390:3;;8733:55:22;;;:::i;:::-;;:22;;:55;;;;;;;1124:2390:3;;8906:28:22;1124:2390:3;;;8815:31:22;1124:2390:3;;;;;8733:55:22;;;1124:2390:3;8815:31:22;;:::i;:::-;1124:2390:3;;;8906:28:22;;:::i;:::-;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8733:55:22;;;;;;1124:2390:3;8733:55:22;;;;;;:::i;:::-;;;;;;1124:2390:3;;;;3108:19:18;3024;1124:2390:3;;;:::i;:::-;3024:19:18;;;;;1124:2390:3;18780:3:18;1124:2390:3;;-1:-1:-1;;;;;1124:2390:3;;18816:3:18;1124:2390:3;;;;18651:204:18;;3024:19;3108;;;;1124:2390:3;18780:3:18;1124:2390:3;;-1:-1:-1;;;;;1124:2390:3;;18816:3:18;1124:2390:3;;;;18651:204:18;;3108:19;3167:29;;;;;;:::i;:::-;3235;;;:::i;:::-;3296:12;-1:-1:-1;;;;;3296:12:18;;;1124:2390:3;;;;-1:-1:-1;;;;;;;;;;;3296:12:18;1124:2390:3;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3296:12:18;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13510:36:18;;1124:2390:3;3362:13:18;;;;1124:2390:3;3362:20:18;;1124:2390:3;3384:21:18;;;1124:2390:3;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;-1:-1:-1;;;12720:63:18;;-1:-1:-1;;;;;1124:2390:3;;;;12720:63:18;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;12720:63:18;;;;;;;1124:2390:3;;;12720:63:18;;;1124:2390:3;12797:6:18;;12793:44;;3490:60;1124:2390:3;3529:13:18;-1:-1:-1;;;;;1124:2390:3;;3529:13:18;;;:20;1124:2390:3;;3490:60:18;;;:::i;:::-;15549:143;;;1124:2390:3;15549:14:18;:143;1124:2390:3;;;;15588:10:18;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;3607:10:18;15578:20;15549:143;15706:12;15702:39;;1124:2390:3;;;;;15809:10:18;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;3607:10:18;15799:20;15770:141;15925:12;15921:39;;14091:19;1124:2390:3;;:::i;14091:19:18:-;14202:41;1124:2390:3;;;;14202:41:18;;;:::i;:::-;14264:46;;;;;:::i;:::-;14355:91;1124:2390:3;;;-1:-1:-1;;;;;;;;;;;3296:12:18;1124:2390:3;;;;;14368:37:18;1124:2390:3;;;;;;;;14355:91:18;;14653:15;;14457:32;14355:91;1124:2390:3;;:::i;14457:32:18:-;3296:12;14530:15;;1124:2390:3;;;;;;;14499:47:18;1124:2390:3;;;;;;;;;:::i;14499:47:18:-;14556:39;1124:2390:3;;;;;;;;;;;;:::i;14556:39:18:-;1124:2390:3;;;;;14653:15:18;;:::i;:::-;14679:19;1124:2390:3;;:::i;14679:19:18:-;1124:2390:3;14712:16:18;;;1124:2390:3;;14708:265:18;;15770:141;1124:2390:3;7480:10:18;;;1124:2390:3;;7520:10:18;;;1124:2390:3;3296:12:18;7592:16;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;;;;;;;;7480:10:18;1124:2390:3;;;;;;;;;;;;;;7623:49:18;1124:2390:3;;;;;;;;;;;;;;7723:32:18;1124:2390:3;7769:25:18;1124:2390:3;7619:1681:18;;-1:-1:-1;;;;;1124:2390:3;;9314:21:18;;;9310:131;;7619:1681;3920:59;;;1124:2390:3;3920:59:18;;;;;:::i;:::-;1124:2390:3;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;:::i;:::-;4047:15:18;;1124:2390:3;;;3296:12:18;4012:304;;1124:2390:3;;;4012:304:18;;;;1124:2390:3;;;;-1:-1:-1;;;;;1124:2390:3;4012:304:18;;1124:2390:3;;;;4012:304:18;1124:2390:3;4012:304:18;;1124:2390:3;;;;;4012:304:18;;1124:2390:3;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;4012:304:18;;1124:2390:3;;;;4012:304:18;1124:2390:3;4012:304:18;;1124:2390:3;;;;;;;-1:-1:-1;;;;;;;;;;;3296:12:18;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3296:12:18;1124:2390:3;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3296:12:18;1124:2390:3;;;;;;;;;;;;;;;;;;;;4503:62:18;;;;1124:2390:3;1458:19:6;-1:-1:-1;;;;;;1458:19:6;1124:2390:3;1458:19:6;;;;-1:-1:-1;;;1458:19:6;18577:46:18;-1:-1:-1;;;;;1124:2390:3;;;18577:61:18;1124:2390:3;;4503:62:18;;;;;:::i;:::-;;;;1124:2390:3;;;;;;;;;;;;;9310:131:18;3296:12;1124:2390:3;;;9351:79:18;1124:2390:3;;;;;;;;9366:16:18;;1124:2390:3;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;9351:79:18;;1124:2390:3;9351:79:18;;;:::i;:::-;;;;;;;;;;3920:59;9351:79;1124:2390:3;9351:79:18;;;;;;9310:131;;;;;;;;;;9351:79;;;3296:12;9351:79;3296:12;9351:79;;;;;;;:::i;:::-;;;;;;1124:2390:3;;;;;;;;;7619:1681:18;7828:60;;;;;;;1124:2390:3;7828:60:18;;;:139;;;7619:1681;7811:1489;;;8120:10;1124:2390:3;8162:15:18;8120:10;;1124:2390:3;;;8162:15:18;;:::i;:::-;1124:2390:3;;;;;;;;;;;8149:77:18;;;;;8003:237;8149:77;;:::i;:::-;3607:10;;8003:237;;;:::i;:::-;8254:32;1124:2390:3;8300:25:18;1124:2390:3;7811:1489:18;7619:1681;;7811:1489;8346:59;;;;8367:37;8346:59;;8367:37;;9269:20;;;1124:2390:3;8428:20:18;1124:2390:3;;8428:20:18;8342:958;8482:57;;;;1124:2390:3;8482:57:18;;;:133;;;8342:958;8465:835;;;8659:4;8796:234;8659:4;;8706:15;8942:74;8955:60;:15;1124:2390:3;8693:74:18;8706:60;:15;;;:::i;8693:74::-;8913:10;;1124:2390:3;;;8955:15:18;;:::i;8942:74::-;3607:10;;8796:234;;;:::i;:::-;8465:835;7619:1681;;8465:835;9051:52;;;;;;9072:30;9051:52;;;9047:253;9072:30;;;9138:4;;;9157:35;8367:37;9206:25;1124:2390:3;9047:253:18;7619:1681;;9047:253;9269:20;;;1124:2390:3;9269:20:18;1124:2390:3;;9269:20:18;8482:133;8559:56;8580:34;8559:56;;;8482:133;;7828:139;7908:59;7929:37;7908:59;;;7828:139;;14708:265;1124:2390:3;;;-1:-1:-1;;;;;;;;;;;3296:12:18;1124:2390:3;;;;;;;;;;;;;14789:87:18;14945:16;14789:87;14945:16;1124:2390:3;;14945:16:18;;1124:2390:3;;14945:16:18;;:::i;:::-;14708:265;;15921:39;2056:14:17;;;1124:2390:3;15946:14:18;1124:2390:3;;15946:14:18;15770:141;1124:2390:3;15770:141:18;;15549:143;1124:2390:3;15549:143:18;;12793:44;12812:25;;;1124:2390:3;12812:25:18;1124:2390:3;;12812:25:18;12720:63;;;;;;;1124:2390:3;12720:63:18;1124:2390:3;12720:63:18;;;;;;;:::i;:::-;;;;;;13510:36;13535:11;;;1124:2390:3;13535:11:18;1124:2390:3;;13535:11:18;1124:2390:3;;;;;;-1:-1:-1;;1124:2390:3;;;;6725:34:22;;1124:2390:3;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;-1:-1:-1;;;6725:34:22;;1124:2390:3;;;;;;6725:34:22;;;:::i;:::-;;:24;;:34;;;;;;1124:2390:3;6725:34:22;;;1124:2390:3;6725:34:22;1124:2390:3;;;;;;;:::i;6725:34:22:-;;;;;;;;;;;;;:::i;:::-;;;1124:2390:3;6725:34:22;1124:2390:3;;;;;;6725:34:22;1124:2390:3;;;;:::i;:::-;6725:34:22;;;;;;;1124:2390:3;;;;;;;:::i;:::-;1997:17:17;;;:::i;:::-;-1:-1:-1;;;;;1124:2390:3;2028:10:17;:19;;-1:-1:-1;2024:46:17;;-1:-1:-1;;2024:46:17;2100:5;;;:::i;:::-;-1:-1:-1;;;;;;;1458:19:6;10225:2:17;1458:19:6;;1124:2390:3;1458:19:6;;10178:50:17;1124:2390:3;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;;;2342:16:17;1124:2390:3;;;;2342:16:17;:::i;:::-;1124:2390:3;;;;;;;;;;;;;;;-1:-1:-1;1124:2390:3;2368:12:17;;;1124:2390:3;;;-1:-1:-1;2394:14:17;;;1124:2390:3;;;1458:19:6;;;-1:-1:-1;;;;;;;1458:19:6;1124:2390:3;;;;10178:69:17;-1:-1:-1;;;10178:69:17;1124:2390:3;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;;;;;;;;;;-1:-1:-1;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;1458:19:6;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1124:2390:3;;;;;;;;;;-1:-1:-1;;;1124:2390:3;;;;;;;;;;-1:-1:-1;;;1124:2390:3;;;;;-1:-1:-1;;;1124:2390:3;;;;-1:-1:-1;;;;;;1124:2390:3;;;;;;;2540:22:17;;2236:14;1124:2390:3;;;;;;;2540:22:17;1124:2390:3;;2540:22:17;;;;;:::i;1124:2390:3:-;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;:::o;:::-;;;;-1:-1:-1;1124:2390:3;;;;;-1:-1:-1;1124:2390:3;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;:::o;:::-;;;-1:-1:-1;;1124:2390:3;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;:::o;:::-;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;1124:2390:3;;;;;;-1:-1:-1;;1124:2390:3;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;-1:-1:-1;;1124:2390:3;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1124:2390:3;;;;;;;;-1:-1:-1;;1124:2390:3;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1124:2390:3;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;1124:2390:3;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;:::i;:::-;;;:::o;4594:683:17:-;;;;;;;10225:2;1458:19:6;;;-1:-1:-1;;;;;;;1458:19:6;1124:2390:3;;;;10178:69:17;-1:-1:-1;;;10178:69:17;1124:2390:3;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4893:14:17;1124:2390:3;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;4995:42:17;4991:60;;-1:-1:-1;;;;;;;1458:19:6;10225:2:17;1458:19:6;;1124:2390:3;1458:19:6;;10178:50:17;1124:2390:3;;;;;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;;;;;;;-1:-1:-1;5132:62:17;;5211:59;;;:::i;:::-;4594:683;:::o;5132:62::-;5182:12;;;;;;1124:2390:3;5182:12:17;:::o;1124:2390:3:-;;;;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1124:2390:3;;;;;;:::o;149:1:7:-;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;149:1:7;;;;;;;;;;;;;;;;;;;:::i;:::-;1124:2390:3;;;;;;;:::i;:::-;149:1:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;1124:2390:3;481:1:21;149::7;;;-1:-1:-1;;;;;149:1:7;;;1124:2390:3;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;149:1:7;;;1124:2390:3;;149:1:7;;;1124:2390:3;149:1:7;1124:2390:3;149:1:7:o;:::-;-1:-1:-1;;;;;;;;;;;1124:2390:3;;-1:-1:-1;;;;;1124:2390:3;;;149:1:7;;;1124:2390:3;-1:-1:-1;149:1:7;;;1124:2390:3;481:1:21;149::7;;;1124:2390:3;149:1:7;;;:::o;256::21:-;1124:2390:3;;449:1:21;256;;;;;;;:::o;:::-;1124:2390:3;;;256:1:21;;;;;;;;;1124:2390:3;;4051:11:22;256:1:21;;;;;;;:::o;:::-;1124:2390:3;;;256:1:21;;;;;;;:::o;:::-;1124:2390:3;;383:1:21;256;;;;;;;:::o;:::-;1124:2390:3;;;256:1:21;;;;;;;:::o;:::-;1124:2390:3;;319:1:21;256;;;;;;;:::o;:::-;1124:2390:3;;256:1:21;;;;;;;;;;;;:::o;:::-;;1124:2390:3;;;;;;;;;;;256:1:21;-1:-1:-1;256:1:21;;;;;;;;;;:::o;:::-;;;1124:2390:3;;;;;;;;;;;256:1:21;;;;;;;-1:-1:-1;;;;;256:1:21;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;256:1:21;;;1124:2390:3;256:1:21;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;256:1:21;;;1124:2390:3;;;;256:1:21;;;;;:::i;1124:2390:3:-;-1:-1:-1;;;;;1124:2390:3;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;:::o;5324:671:17:-;;;;;;;10225:2;1458:19:6;;;-1:-1:-1;;;;;;;1458:19:6;1124:2390:3;;;;10178:69:17;-1:-1:-1;;;10178:69:17;1124:2390:3;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;-1:-1:-1;;;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;5715:42:17;5711:60;;-1:-1:-1;;;;;;;1458:19:6;10225:2:17;1458:19:6;;1124:2390:3;1458:19:6;;10178:50:17;1124:2390:3;;;;;;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;;;;;;;-1:-1:-1;5850:62:17;;5929:59;;;:::i;3405:215:79:-;-1:-1:-1;;;;;1124:2390:3;3489:22:79;;3485:91;;-1:-1:-1;;;;;;;;;;;1124:2390:3;;-1:-1:-1;;;;;;1124:2390:3;;;;;;;-1:-1:-1;;;;;1124:2390:3;3975:40:79;-1:-1:-1;;3975:40:79;3405:215::o;3485:91::-;3534:31;;;3509:1;3534:31;3509:1;3534:31;1124:2390:3;;3509:1:79;3534:31;6206:261:17;;6426:34;-1:-1:-1;;;;;6206:261:17;1124:2390:3;;:::i;:::-;;;;;;;;6452:2:17;1124:2390:3;;6426:34:17;:::i;:::-;6397:63;;6206:261;:::o;6603:2401::-;1458:19:6;-1:-1:-1;;;;;6686:9:17;;;1124:2390:3;;6686:40:17;6682:81;;1458:19:6;-1:-1:-1;;;;;6777:10:17;;;1124:2390:3;;6777:41:17;6773:78;;1458:19:6;-1:-1:-1;;;;;6865:9:17;;;1124:2390:3;;6865:40:17;6861:76;;6989:15;6964:11;;;1124:2390:3;6989:15:17;;1124:2390:3;;;;;;;;7008:24:17;6989:43;7008:24;;7052:19;7048:69;;6603:2401::o;7048:69::-;7080:37;;;-1:-1:-1;7080:37:17;7008:24;-1:-1:-1;7080:37:17;6985:2013;1124:2390:3;;;;;;;;7138:42:17;;7200:19;7196:68;;6603:2401::o;7196:68::-;7228:36;;;-1:-1:-1;7228:36:17;7008:24;-1:-1:-1;7228:36:17;7134:1864;1124:2390:3;;;;;;;;7304:24:17;7285:43;7304:24;;-1:-1:-1;;;;;;;1458:19:6;7344:79:17;;1124:2390:3:o;7344:79:17:-;7385:38;;;-1:-1:-1;7385:38:17;7008:24;-1:-1:-1;7385:38:17;7281:1717;1124:2390:3;;;;;;;;7463:26:17;7444:45;7463:26;;-1:-1:-1;;;;;;;1458:19:6;;7505:79:17;;-1:-1:-1;;;;;1124:2390:3;7675:28:17;:33;7671:81;;1124:2390:3:o;7671:81:17:-;7717:35;;;-1:-1:-1;7717:35:17;7008:24;-1:-1:-1;7717:35:17;7505:79;7546:38;;;-1:-1:-1;7546:38:17;7008:24;-1:-1:-1;7546:38:17;7440:1558;1124:2390:3;;;;;;;;7773:43:17;1124:2390:3;;7856:8:17;-1:-1:-1;7856:8:17;1124:2390:3;1458:19:6;6865:9:17;1458:19:6;;-1:-1:-1;;;;;;;;;;1124:2390:3;6686:9:17;1124:2390:3;;;;8067:35:17;1124:2390:3;8067:35:17;;8063:860;1124:2390:3;;;8126:39:17;1458:19:6;-1:-1:-1;8126:55:17;;;;;8063:860;8126:75;;;;;8063:860;8122:169;;;1124:2390:3:o;8122:169:17:-;8232:40;;;-1:-1:-1;8232:40:17;7008:24;-1:-1:-1;8232:40:17;8126:75;8185:16;;;8126:75;;;:55;8169:12;;;-1:-1:-1;8126:55:17;;;8063:860;8315:36;;;7304:24;8315:36;;7304:24;;8375:13;;;:56;;;;;8311:612;8375:72;;;;;8311:612;8375:92;;;;;8311:612;8371:187;;7440:1558;8371:187;8498:41;;;-1:-1:-1;8498:41:17;7008:24;-1:-1:-1;8498:41:17;8375:92;8451:16;;;8375:92;;;:72;8435:12;;-1:-1:-1;8375:72:17;;;:56;1458:19:6;-1:-1:-1;8392:39:17;-1:-1:-1;8375:56:17;;;8311:612;7463:26;8582:36;7463:26;;8642:13;;:56;;;;;8578:345;8642:72;;;;;8578:345;8642:92;;;;;8578:345;8638:187;;8063:860;8638:187;8765:41;;;-1:-1:-1;8765:41:17;7008:24;-1:-1:-1;8765:41:17;8642:92;1124:2390:3;8718:16:17;;;;8642:92;;;:72;8702:12;;-1:-1:-1;8642:72:17;;;:56;1458:19:6;-1:-1:-1;8659:39:17;-1:-1:-1;8642:56:17;;;8578:345;8870:38;;;-1:-1:-1;8870:38:17;7008:24;-1:-1:-1;8870:38:17;7769:1229;8960:27;;;-1:-1:-1;8960:27:17;7008:24;-1:-1:-1;8960:27:17;6861:76;6914:23;;;-1:-1:-1;6914:23:17;;-1:-1:-1;6914:23:17;6773:78;6827:24;;;-1:-1:-1;6827:24:17;;-1:-1:-1;6827:24:17;6682:81;6735:28;;;-1:-1:-1;6735:28:17;;-1:-1:-1;6735:28:17;14985:319:18;-1:-1:-1;1124:2390:3;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;1124:2390:3;;;15215:20:18;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;;;;15215:20:18;:::i;:::-;1124:2390:3;;;;;;;;;:::i;:::-;;;;;15252:45:18;;1124:2390:3;;15252:45:18;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;;;;15252:45:18;;1124:2390:3;;;15252:45:18;;1124:2390:3;;14985:319:18:o;1124:2390:3:-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;12873:492:18:-;;;-1:-1:-1;8733:55:22;12873:492:18;1124:2390:3;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;8733:55:22;;;;;;;:::i;:::-;;:22;;:55;;;;;;8815:31;1124:2390:3;;8906:28:22;1124:2390:3;-1:-1:-1;8733:55:22;;;8815:31;;:::i;8906:28::-;13212:6:18;;;;13208:44;;1124:2390:3;;;;13340:18:18;1124:2390:3;;;;;;;;:::i;:::-;;;;;13271:52:18;;;1124:2390:3;;;13271:52:18;;1124:2390:3;;13271:52:18;;;1124:2390:3;13340:18:18;;:::i;13208:44::-;13227:25;;;-1:-1:-1;13227:25:18;8733:55:22;-1:-1:-1;13227:25:18;8733:55:22;;;;;;-1:-1:-1;8733:55:22;;;;;;:::i;:::-;;;;;;1124:2390:3;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1124:2390:3;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;6173:33:22;1124:2390:3;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;;1124:2390:3;;;;;;;:::o;11574:491:18:-;-1:-1:-1;;;;;11574:491:18;-1:-1:-1;11778:137:18;11574:491;1124:2390:3;11574:491:18;1124:2390:3;;:::i;:::-;;;;;;;;11793:16:18;;;1124:2390:3;;;;;11863:9:18;;;;;:15;;;11889:16;11863:15;;;;;1124:2390:3;;;;;11889:16:18;;1124:2390:3;;;11863:9:18;1124:2390:3;;;;;;;;;11778:137:18;;;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;11778:137:18;;;;;;;-1:-1:-1;11778:137:18;;;11574:491;11929:5;1124:2390:3;11929:5:18;;1124:2390:3;;;;;11929:10:18;11925:49;;1124:2390:3;;;;;;;;12019:9:18;1124:2390:3;11863:9:18;12019;;1124:2390:3;;;11793:16:18;12030:8;;1124:2390:3;;12040:8:18;-1:-1:-1;;;;;11863:15:18;12040:8;11889:16;12040:8;;1124:2390:3;;12050:7:18;;1124:2390:3;;;11863:9:18;1124:2390:3;;;;;:::i;:::-;;;;11991:67:18;;1124:2390:3;11863:9:18;11991:67;;1124:2390:3;11793:16:18;11991:67;;1124:2390:3;11889:16:18;11991:67;;1124:2390:3;11863:15:18;11991:67;;1124:2390:3;11574:491:18;:::o;11925:49::-;11948:26;;;-1:-1:-1;11948:26:18;11778:137;-1:-1:-1;11948:26:18;11778:137;;;1124:2390:3;11778:137:18;1124:2390:3;11778:137:18;;;;;;;;:::i;:::-;;;1124:2390:3;;;;;;;;;;:::i;:::-;11778:137:18;;;;;;;;9010:1049:17;;;;;;-1:-1:-1;;;;;9224:9:17;;;1124:2390:3;;9224:14:17;;;:34;;;;9010:1049;9220:52;;;;-1:-1:-1;;;;;9286:10:17;;;1124:2390:3;;9286:15:17;;;:37;;;;9010:1049;9282:55;;;;-1:-1:-1;;;;;9351:9:17;;;1124:2390:3;;9351:14:17;;;:34;;;;9010:1049;9347:52;;;;9414:15;;;1124:2390:3;;;;;;;;9433:24:17;9414:43;9433:24;;9473:11;;;;1124:2390:3;9473:11:17;:::o;9410:643::-;1124:2390:3;;;;;;;;9505:42:17;;9585:16;;;;;:::i;:::-;-1:-1:-1;;;;;1124:2390:3;;;;;9622:15:17;;;;;9615:22;-1:-1:-1;;;9615:22:17:o;9501:552::-;1124:2390:3;;;;;;;;;;9677:24:17;9658:43;9677:24;;-1:-1:-1;9758:11:17;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;;;;;9724:48:17;;9717:55::o;9654:399::-;1124:2390:3;;;;;;;;;;;9812:26:17;9793:45;9812:26;;2653:15:22;;;1124:2390:3;9861:15:17;9433:24;1124:2390:3;9861:15:17;9789:264;1124:2390:3;;;;;;;;9897:43:17;1124:2390:3;;;9956:43:17;:::o;9893:160::-;1124:2390:3;10030:12:17;:::o;9347:52::-;9387:12;;;1124:2390:3;9387:12:17;:::o;9351:34::-;-1:-1:-1;;;;;1124:2390:3;9369:16:17;;;-1:-1:-1;9351:34:17;;;;9282:55;9325:12;;;;1124:2390:3;9325:12:17;:::o;9286:37::-;-1:-1:-1;;;;;1124:2390:3;9305:18:17;;;-1:-1:-1;9286:37:17;;;;9220:52;9260:12;;;;;1124:2390:3;9260:12:17;:::o;9224:34::-;-1:-1:-1;;;;;1124:2390:3;9242:16:17;;;-1:-1:-1;9224:34:17;;;;2485:241:3;1124:2390;;:::i;:::-;;;;:::i;:::-;;-1:-1:-1;;;;;1124:2390:3;;;;;;9166:51:22;;-1:-1:-1;;;;;;;;;;;9166:51:22;;;1124:2390:3;;;;;;-1:-1:-1;1124:2390:3;;;;287:1:21;1124:2390:3;;;;;9166:21:22;:51;:21;;:51;;;;;;;;2485:241:3;1124:2390;;;:::i;9166:51:22:-;1124:2390:3;9166:51:22;;1124:2390:3;9166:51:22;;;;;;1124:2390:3;9166:51:22;;;:::i;:::-;;;1124:2390:3;;;;149:1:7;9166:51:22;;;;;-1:-1:-1;9166:51:22;;18284:178:18;1124:2390:3;1458:19:6;;;;-1:-1:-1;;;1458:19:6;-1:-1:-1;;;;;1124:2390:3;;;18394:61:18;-1:-1:-1;;;18394:61:18;;18284:178::o;:::-;1458:19:6;;;;;-1:-1:-1;;;1458:19:6;1124:2390:3;1458:19:6;;;;-1:-1:-1;;;1458:19:6;18394:46:18;-1:-1:-1;;;;;1124:2390:3;;;;18394:61:18;;18284:178::o;2658:162:79:-;-1:-1:-1;;;;;;;;;;;1124:2390:3;-1:-1:-1;;;;;1124:2390:3;966:10:82;2717:23:79;2713:101;;2658:162::o;2713:101::-;2763:40;;;-1:-1:-1;2763:40:79;966:10:82;2763:40:79;1124:2390:3;;-1:-1:-1;2763:40:79;1736:766:20;1124:2390:3;;:::i;:::-;;;3370:16:20;3366:49;;3443:2;1124:2390:3;;3429:16:20;3425:48;;3500:1;3520:3;1124:2390:3;;3503:15:20;;;;;-1:-1:-1;;1124:2390:3;;;;;;;3543:16:20;:11;1124:2390:3;3543:11:20;;;:::i;:::-;;:16;1124:2390:3;;;3543:16:20;3563:7;;;;:::i;:::-;;:12;1124:2390:3;;-1:-1:-1;3543:32:20;3539:65;;3500:1;1124:2390:3;3488:13:20;;3539:65;3584:20;;;-1:-1:-1;3584:20:20;;-1:-1:-1;3584:20:20;3503:15;;;;3624:13;;;1124:2390:3;3500:1:20;1124:2390:3;;-1:-1:-1;3691:3:20;1124:2390:3;;3674:15:20;;;;;3733:7;;;;:::i;:::-;;3543:16;3758:8;;1124:2390:3;;;3758:13:20;;;3791:22;;1124:2390:3;3500:1:20;3791:22;;;;;1124:2390:3;;;;;3754:335:20;1124:2390:3;3659:13:20;;3754:335;1124:2390:3;3891:28:20;1124:2390:3;;3939:21:20;1124:2390:3;3500:1:20;3939:21;;;;;1124:2390:3;;;3543:16:20;3985;;1124:2390:3;3754:335:20;;3887:202;4051:21;;;;1124:2390:3;;;;;;;;;;;;3500:1:20;1124:2390:3;;;;;;3754:335:20;;3674:15;;;;;;1959:11;;;:::i;:::-;1124:2390:3;;-1:-1:-1;1124:2390:3;1984:13:20;3543:16;1124:2390:3;;3624:13:20;-1:-1:-1;1124:2390:3;;3543:16:20;1124:2390:3;;1980:47:20;;1124:2390:3;-1:-1:-1;1124:2390:3;1984:13:20;3543:16;1124:2390:3;3624:13:20;-1:-1:-1;1124:2390:3;;;;;;;;;;;;;;;3543:16:20;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1124:2390:3;;;;;;3543:16:20;1124:2390:3;;;;;;;;;;;;-1:-1:-1;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1124:2390:3;;;;;;-1:-1:-1;2111:3:20;1124:2390:3;;2094:15:20;;;;;2153:7;;3500:1;2153:7;;;:::i;:::-;;3543:16;2178:8;;1124:2390:3;;;;;2178:13:20;;;:45;;;;2111:3;2174:312;;;2111:3;;;1124:2390:3;2079:13:20;;2174:312;-1:-1:-1;1124:2390:3;;;1573:79:20;3543:16;1124:2390:3;;;3624:13:20;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1124:2390:3;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1124:2390:3;;;;;;;;;;;2174:312:20;;;;2178:45;1124:2390:3;2195:28:20;;;;2178:45;;;2094:15;;;;;1736:766::o;1980:47::-;2014:13;;;:::o;3425:48::-;3454:19;;;-1:-1:-1;3454:19:20;;-1:-1:-1;3454:19:20;3366:49;3395:20;;;-1:-1:-1;3395:20:20;;-1:-1:-1;3395:20:20;2732:384:3;;;1124:2390;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;1124:2390:3;;;-1:-1:-1;;;2968:44:3;;-1:-1:-1;;;;;1124:2390:3;;;;2968:44;;;1124:2390;;;;;2968:44;;1124:2390;;-1:-1:-1;;;;;1124:2390:3;2968:44;;;;;;;-1:-1:-1;2968:44:3;;;2732:384;-1:-1:-1;1124:2390:3;;-1:-1:-1;;;3029:35:3;;-1:-1:-1;;;;;1124:2390:3;;;;2968:44;3029:35;;1124:2390;;;-1:-1:-1;2968:44:3;1124:2390;;;;-1:-1:-1;;;;;1124:2390:3;;;3029:35;1124:2390;3029:35;1124:2390;;3029:35;;;;;;-1:-1:-1;3029:35:3;;;2732:384;1124:2390;3022:42;;1124:2390;2968:44;1124:2390;;;;;;;;;3082:27;;2968:44;3082:27;;1124:2390;3082:27;;;;;;;-1:-1:-1;3082:27:3;;;3074:35;2732:384;:::o;3082:27::-;;;1124:2390;3082:27;;1124:2390;3082:27;;;;;;1124:2390;3082:27;;;:::i;:::-;;;1124:2390;;;;;;;:::i;3082:27::-;;;-1:-1:-1;3082:27:3;;3029:35;;;;;;;;;;;;;:::i;:::-;;;1124:2390;3029:35;1124:2390;;;;;;;;;;;:::i;:::-;3029:35;;;;;;;2968:44;;;;1124:2390;2968:44;;1124:2390;2968:44;;;;;;1124:2390;2968:44;;;:::i;:::-;;;1124:2390;;;;;;;:::i;:::-;2968:44;;;;;;;-1:-1:-1;2968:44:3;;6191:121:75;358:279;1124:2390:3;6262:42:75;6191:121;;1124:2390:3;;6262:42:75;;;;;;;;;;;;;;1124:2390:3;;;;;;:::i;:::-;6262:42:75;1124:2390:3;;6262:42:75;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;6191:121::o;7139:145::-;1124:2390:3;7222:54:75;358:279;7139:145;;;;1124:2390:3;;7222:54:75;;;;;;;;;;1124:2390:3;7222:54:75;;;1124:2390:3;;;;;;:::i;:::-;;;;;;7222:54:75;1124:2390:3;;7222:54:75;;;;;;:::i;17317:227:18:-;;17501:6;17494:13;-1:-1:-1;17483:54:18;;17317:227::o;17483:54::-;17517:20;;;-1:-1:-1;17517:20:18;1124:2390:3;17517:20:18;1124:2390:3;;-1:-1:-1;17517:20:18;17317:227;;;17501:6;17494:13;-1:-1:-1;17483:54:18;;17317:227;:::o;17483:54::-;1124:2390:3;17517:20:18;;;;-1:-1:-1;17517:20:18;1124:2390:3;17517:20:18;1124:2390:3;;-1:-1:-1;17517:20:18;17550:728;;;;;1124:2390:3;;;;;;17745:22:18;17740:27;;17745:22;;17783:20;;;;17736:536;17550:728::o;17736:536::-;1124:2390:3;;-1:-1:-1;1124:2390:3;;17829:22:18;17824:27;;17829:22;;17867:20;;;17820:452;17550:728::o;17820:452::-;1124:2390:3;;-1:-1:-1;1124:2390:3;17913:19:18;17908:24;;17913:19;;17948:17;;17904:368;1124:2390:3:o;17904:368:18:-;1124:2390:3;;-1:-1:-1;17991:19:18;17986:24;;17991:19;;18026:16;17982:290;1124:2390:3:o;17982:290:18:-;18068:19;18063:24;;18068:19;;18103:21;;1124:2390:3;18059:213:18;1124:2390:3:o;18059:213:18:-;18150:21;18145:26;18150:21;;18141:131;1124:2390:3:o;4111:262:20:-;1124:2390:3;;4203:16:20;4199:39;;1091:17:16;;;:::i;:::-;1126;;;;:::i;:::-;1161;1196:18;1161:17;;;:::i;1196:18::-;4498:7:20;;;:18;;;4111:262;4498:29;;;4111:262;4498:40;;;4111:262;4497:95;;;;;;;1124:2390:3;4111:262:20;:::o;4497:95::-;1124:2390:3;;4565:26:20;;;;1124:2390:3;;;;;;;;;;;;;;;;4565:26:20;;;;;;:::i;:::-;1124:2390:3;4555:37:20;;4111:262;:::o;4498:40::-;4531:7;;;4498:40;;:29;4520:7;;;4498:29;;:18;4509:7;;;4498:18;;4199:39;4221:17;1124:2390:3;4221:17:20;:::o;201:716:16:-;1124:2390:3;;328:20:16;:53;;351:12;1124:2390:3;351:12:16;;:::i;:::-;;328:53;;1124:2390:3;;;422:1:16;413:24;:61;;;;1124:2390:3;-1:-1:-1;440:16:16;;422:1;440:16;;:::i;:::-;;413:61;;1124:2390:3;;;;515:1:16;506:24;:61;;;1124:2390:3;-1:-1:-1;533:16:16;;;515:1;533:16;;:::i;:::-;;506:61;;1124:2390:3;;-1:-1:-1;1124:2390:3;;608:1:16;599:24;:61;;;608:1;626:16;1124:2390:3;626:16:16;:::i;:::-;;599:61;;1124:2390:3;713:7:16;-1:-1:-1;;;1124:2390:3;;707:2:16;1458:19:6;;713:7:16;;1124:2390:3;;686:34:16;725:3;1458:19:6;1124:2390:3;;713:7:16;-1:-1:-1;;;1124:2390:3;;707:2:16;1458:19:6;;780:7:16;;1124:2390:3;;753:34:16;792:3;1458:19:6;677:119:16;1124:2390:3;;713:7:16;-1:-1:-1;;;1124:2390:3;;707:2:16;1458:19:6;;835:7:16;;1124:2390:3;;808:34:16;847:2;1458:19:6;677:173:16;1124:2390:3;;713:7:16;-1:-1:-1;;;1124:2390:3;;707:2:16;1458:19:6;;901:7:16;;1124:2390:3;;874:34:16;677:233;201:716;:::o;599:61::-;1124:2390:3;;;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;-1:-1:-1;645:15:16;;;1124:2390:3;599:61:16;;;1124:2390:3;-1:-1:-1;;;1124:2390:3;;;;;;;;506:61:16;1124:2390:3;;;;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;-1:-1:-1;552:15:16;;;1124:2390:3;506:61:16;;;413;1124:2390:3;;;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;-1:-1:-1;459:15:16;;;1124:2390:3;413:61:16;;;328:53;1124:2390:3;;;;;:::i;:::-;;;;;366:15:16;;;1124:2390:3;328:53:16;;;201:716;1124:2390:3;;;328:20:16;;;;351:12;1124:2390:3;351:12:16;;:::i;:::-;;328:53;;-1:-1:-1;1124:2390:3;;;413:24:16;:61;;;;1124:2390:3;-1:-1:-1;440:16:16;;1124:2390:3;440:16:16;;:::i;:::-;;413:61;;1124:2390:3;;;;;506:24:16;:61;;;1124:2390:3;-1:-1:-1;533:16:16;;;1124:2390:3;533:16:16;;:::i;:::-;;506:61;;1124:2390:3;;-1:-1:-1;1124:2390:3;;;599:24:16;:61;;;1124:2390:3;626:16:16;1124:2390:3;626:16:16;:::i;506:61::-;1124:2390:3;;;;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;-1:-1:-1;552:15:16;;;1124:2390:3;506:61:16;;;413;1124:2390:3;;;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;-1:-1:-1;459:15:16;;;1124:2390:3;413:61:16;;;328:53;1124:2390:3;;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;-1:-1:-1;366:15:16;;;1124:2390:3;328:53:16;;;201:716;1124:2390:3;;481:1:21;328:20:16;;;;351:12;481:1:21;351:12:16;;:::i;:::-;;328:53;;-1:-1:-1;1124:2390:3;;;413:24:16;:61;;;;1124:2390:3;-1:-1:-1;440:16:16;;1124:2390:3;440:16:16;;:::i;:::-;;413:61;;1124:2390:3;;;;;506:24:16;:61;;;1124:2390:3;-1:-1:-1;533:16:16;;;1124:2390:3;533:16:16;;:::i;:::-;;506:61;;1124:2390:3;;-1:-1:-1;1124:2390:3;;;599:24:16;:61;;;1124:2390:3;626:16:16;1124:2390:3;626:16:16;:::i;506:61::-;1124:2390:3;;;;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;-1:-1:-1;552:15:16;;;1124:2390:3;506:61:16;;;413;1124:2390:3;;;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;-1:-1:-1;459:15:16;;;1124:2390:3;413:61:16;;;328:53;1124:2390:3;;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;-1:-1:-1;366:15:16;;;1124:2390:3;328:53:16;;;201:716;1124:2390:3;;1211:2:16;328:20;;;;351:12;1211:2;351:12;;:::i;:::-;;328:53;;-1:-1:-1;1124:2390:3;;;413:24:16;:61;;;;1124:2390:3;-1:-1:-1;440:16:16;;1124:2390:3;440:16:16;;:::i;:::-;;413:61;;1124:2390:3;;;;;506:24:16;:61;;;1124:2390:3;-1:-1:-1;533:16:16;;;1124:2390:3;533:16:16;;:::i;:::-;;506:61;;1124:2390:3;;-1:-1:-1;1124:2390:3;;;599:24:16;:61;;;1124:2390:3;626:16:16;1124:2390:3;626:16:16;:::i;506:61::-;1124:2390:3;;;;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;-1:-1:-1;552:15:16;;;1124:2390:3;506:61:16;;;413;1124:2390:3;;;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;-1:-1:-1;459:15:16;;;1124:2390:3;413:61:16;;;328:53;1124:2390:3;;;;;:::i;:::-;-1:-1:-1;1124:2390:3;;-1:-1:-1;366:15:16;;;1124:2390:3;328:53:16;;;7082:141:80;1124:2390:3;-1:-1:-1;;;;;;;;;;;1124:2390:3;;;;7148:18:80;7144:73;;7082:141::o;7144:73::-;7189:17;;;-1:-1:-1;7189:17:80;;-1:-1:-1;7189:17:80;2508:750:20;;1124:2390:3;-1:-1:-1;1124:2390:3;1573:79:20;1124:2390:3;;;-1:-1:-1;1124:2390:3;;;;-1:-1:-1;1124:2390:3;;;;-1:-1:-1;1124:2390:3;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2834:103:20;;1124:2390:3;;;;-1:-1:-1;1124:2390:3;2970:13:20;1124:2390:3;;;-1:-1:-1;1124:2390:3;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3001:42:20;;3053:101;;3196:40;;;3216:16;3196:40;;2970:13;3164:87;-1:-1:-1;3164:87:20;;;2508:750;:::o;3196:40::-;-1:-1:-1;3196:40:20;;;3053:101;3099:40;;;-1:-1:-1;3099:40:20;;;3119:16;3099:40;-1:-1:-1;3078:76:20;-1:-1:-1;3078:76:20;-1:-1:-1;3078:76:20;;;:::o;3099:40::-;-1:-1:-1;3099:40:20;;3001:42;3017:26;;;;-1:-1:-1;3017:26:20;-1:-1:-1;3017:26:20;-1:-1:-1;3017:26:20;-1:-1:-1;3017:26:20;-1:-1:-1;3017:26:20;:::o;2834:103::-;2882:40;;;;-1:-1:-1;2882:40:20;;;;;2902:16;2882:40;;2857:4;2849:88;;;;;:::o;2882:40::-;-1:-1:-1;2882:40:20;;;4437:582:95;;4609:8;;-1:-1:-1;1124:2390:3;;5690:21:95;:17;;5815:158;;;;;;5686:354;6010:19;;;5710:1;6010:19;;5710:1;6010:19;4605:408;1124:2390:3;;4857:22:95;:49;;;4605:408;4853:119;;4985:17;;:::o;4853:119::-;-1:-1:-1;;;4878:1:95;4933:24;;;-1:-1:-1;;;;;1124:2390:3;;;;4933:24:95;1124:2390:3;;;4933:24:95;4857:49;4883:18;;;:23;4857:49;","linkReferences":{"contracts/libraries/Snapshots.sol":{"Snapshots":[{"start":1637,"length":20},{"start":1878,"length":20},{"start":2133,"length":20},{"start":2691,"length":20},{"start":3530,"length":20},{"start":4454,"length":20},{"start":4868,"length":20},{"start":5575,"length":20},{"start":5954,"length":20},{"start":6785,"length":20},{"start":7166,"length":20},{"start":10478,"length":20},{"start":12600,"length":20},{"start":17068,"length":20},{"start":18124,"length":20}]}},"immutableReferences":{"56718":[{"start":5714,"length":32},{"start":6221,"length":32}]}},"methodIdentifiers":{"UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","allowFrom(uint32,address,uint128,uint64,uint64,uint64)":"2629dae8","allowTo(uint32,address,uint128,uint64,uint64,uint64)":"edd716f0","elementRegistry()":"b19c3791","grantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":"05be88ac","grantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":"3440994b","initialize(address,address,address,address)":"f8c8765e","kindRegistry()":"527f3e1f","omniRegistry()":"2c636a11","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","relate(uint256,uint64,uint256)":"15ae7173","relationAdmit(uint64,uint32,uint64)":"2392f87d","relationDescriptor(uint64,uint32)":"06a883a0","relationOwner(uint64)":"bff9b974","relationRegister(address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[])":"b9f17a47","relationRevision(uint64,uint32)":"df89b3fc","relationRule(uint64)":"9e490e90","relationSnapshot(uint64,uint32)":"eab25c41","relationSota(uint64)":"52393e1a","relationStatus(uint64[])":"3dae8c28","relationTouch(uint64)":"418239fb","relationTransfer(uint64,address)":"a926f041","relationUpdate(uint64,bytes32)":"5634ad14","relationUpdate(uint64,bytes32,(uint16,uint48)[])":"c9e2a1fb","relationUpgrade(uint64,uint32,uint32)":"954fc712","renounceOwnership()":"715018a6","revokeFrom(uint128,uint32)":"ebeecfa3","revokeTo(uint128,uint32)":"876993ca","semver()":"cda493c8","setRegistry()":"ac8b956b","transferOwnership(address)":"f2fde38b","unrelate(uint256,uint64,uint256)":"2aead726","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AdjacencyKindNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AdjacencyOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AdjacencyUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AdjacencyUnordered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArcExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArcMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArcNotExist\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"kind\",\"type\":\"uint48\"}],\"name\":\"DegreeOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"kind\",\"type\":\"uint48\"}],\"name\":\"DegreeUnderflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantFilterKindInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantFilterRelationInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantFilterSetInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorAnyoneExtraNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorDelegateAddressInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorEligibleAddressInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorEligibleNotContract\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorHolderObjectParamsInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorHolderTokenTypeUnknown\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorHolderUniqueParamsInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorHolderValueParamsInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorOwnerExtraNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantInitiatorTypeUnknown\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GrantRevoked\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HeadKindRejectsRelation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HeadSetRejectsTailObject\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitial\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidKind\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRelateShift\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRelation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidUnrelateShift\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"RecordNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RelationRejectsTailKind\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"vistor\",\"type\":\"address\"}],\"name\":\"UnauthorizedAccess\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unimplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnrelateLocked\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedHoldingState\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"tail\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"id\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationInitiator\",\"name\":\"initiator\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"reserved\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"kind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"set\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"extra\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct RelationGrant\",\"name\":\"grant\",\"type\":\"tuple\"}],\"name\":\"GrantFrom\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"id\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationInitiator\",\"name\":\"initiator\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"reserved\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"kind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"set\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"extra\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct RelationGrant\",\"name\":\"grant\",\"type\":\"tuple\"}],\"name\":\"GrantTo\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"arc\",\"type\":\"uint256\"}],\"name\":\"Related\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"arcs\",\"type\":\"uint256[]\"}],\"name\":\"Related\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"code\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"relateShift\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationTerminator\",\"name\":\"terminator\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"unrelateShift\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"unrelateDelay\",\"type\":\"uint64\"},{\"internalType\":\"bytes20\",\"name\":\"extra\",\"type\":\"bytes20\"}],\"indexed\":false,\"internalType\":\"struct RelationRule\",\"name\":\"rule\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"degs\",\"type\":\"uint16\"},{\"internalType\":\"uint48\",\"name\":\"kind\",\"type\":\"uint48\"}],\"indexed\":false,\"internalType\":\"struct Adjacency[]\",\"name\":\"adjs\",\"type\":\"tuple[]\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"RelationRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"}],\"name\":\"RelationTouched\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"RelationTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"RelationUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"}],\"name\":\"RelationUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"tail\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"}],\"name\":\"RevokeFrom\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"}],\"name\":\"RevokeTo\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"arc\",\"type\":\"uint256\"}],\"name\":\"Unrelated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"arcs\",\"type\":\"uint256[]\"}],\"name\":\"Unrelated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"tail\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"headKind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"headSet\",\"type\":\"uint64\"}],\"name\":\"allowFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allow\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tailKind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tailSet\",\"type\":\"uint64\"}],\"name\":\"allowTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"elementRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"tail\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"id\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationInitiator\",\"name\":\"initiator\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"reserved\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"kind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"set\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"extra\",\"type\":\"bytes32\"}],\"internalType\":\"struct RelationGrant\",\"name\":\"grant\",\"type\":\"tuple\"}],\"name\":\"grantFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"id\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationInitiator\",\"name\":\"initiator\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"reserved\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"kind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"set\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"extra\",\"type\":\"bytes32\"}],\"internalType\":\"struct RelationGrant\",\"name\":\"grant\",\"type\":\"tuple\"}],\"name\":\"grantTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"setr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"kindr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"elemr\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kindRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"omniRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tail\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"head\",\"type\":\"uint256\"}],\"name\":\"relate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kind\",\"type\":\"uint64\"}],\"name\":\"relationAdmit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"admit\",\"type\":\"bool\"},{\"internalType\":\"uint48\",\"name\":\"effKind\",\"type\":\"uint48\"},{\"internalType\":\"uint16\",\"name\":\"effDegs\",\"type\":\"uint16\"},{\"internalType\":\"uint48\",\"name\":\"totalKind\",\"type\":\"uint48\"},{\"internalType\":\"uint16\",\"name\":\"totalDegs\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev0\",\"type\":\"uint32\"}],\"name\":\"relationDescriptor\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"relationOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"code\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"relateShift\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationTerminator\",\"name\":\"terminator\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"unrelateShift\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"unrelateDelay\",\"type\":\"uint64\"},{\"internalType\":\"bytes20\",\"name\":\"extra\",\"type\":\"bytes20\"}],\"internalType\":\"struct RelationRule\",\"name\":\"rule\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"degs\",\"type\":\"uint16\"},{\"internalType\":\"uint48\",\"name\":\"kind\",\"type\":\"uint48\"}],\"internalType\":\"struct Adjacency[]\",\"name\":\"adjs\",\"type\":\"tuple[]\"}],\"name\":\"relationRegister\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"meta\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev0\",\"type\":\"uint32\"}],\"name\":\"relationRevision\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"relationRule\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"relateShift\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationTerminator\",\"name\":\"terminator\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"unrelateShift\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"unrelateDelay\",\"type\":\"uint64\"},{\"internalType\":\"bytes20\",\"name\":\"extra\",\"type\":\"bytes20\"}],\"internalType\":\"struct RelationRule\",\"name\":\"rule\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev0\",\"type\":\"uint32\"}],\"name\":\"relationSnapshot\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"internalType\":\"bytes32[]\",\"name\":\"elems\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"relationSota\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"desc\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64[]\",\"name\":\"ids\",\"type\":\"uint64[]\"}],\"name\":\"relationStatus\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"relationTouch\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"meta\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"relationTransfer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"relationUpdate\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"meta\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"degs\",\"type\":\"uint16\"},{\"internalType\":\"uint48\",\"name\":\"kind\",\"type\":\"uint48\"}],\"internalType\":\"struct Adjacency[]\",\"name\":\"adjs\",\"type\":\"tuple[]\"}],\"name\":\"relationUpdate\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"meta\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"}],\"name\":\"relationUpgrade\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"meta\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"tail\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"}],\"name\":\"revokeFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"}],\"name\":\"revokeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"semver\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tail\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"head\",\"type\":\"uint256\"}],\"name\":\"unrelate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"GrantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"params\":{\"grant\":\"Grant definition\",\"tail\":\"Tail object ID (initiator)\"}},\"GrantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"params\":{\"grant\":\"Grant definition\",\"head\":\"Head object ID (receiver)\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Related(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256)\":{\"params\":{\"arc\":\"Encoded incoming arc\",\"desc\":\"Descriptor of the head after the relation\",\"head\":\"Encoded SID of the head object\"}},\"Related(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256[])\":{\"params\":{\"arcs\":\"Array of encoded incoming arcs\",\"desc\":\"Descriptor of the head after the relations\",\"head\":\"Encoded SID of the head object\"}},\"RelationRegistered(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[],address)\":{\"params\":{\"adjs\":\"List of admitted tail kinds and degree constraints\",\"code\":\"Optional logic contract address\",\"data\":\"Hash of the associated metadata or logic\",\"desc\":\"Descriptor of the relation\",\"id\":\"ID of the relation\",\"owner\":\"Address of the relation's owner\",\"rule\":\"Relation rule defining interaction logic\"}},\"RelationTouched(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"params\":{\"desc\":\"Descriptor after touch\",\"id\":\"ID of the relation\"}},\"RelationTransferred(uint64,address,address)\":{\"params\":{\"from\":\"Previous owner\",\"id\":\"ID of the relation\",\"to\":\"New owner\"}},\"RelationUpdated(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),bytes32)\":{\"params\":{\"data\":\"New data hash\",\"desc\":\"Updated descriptor\",\"id\":\"ID of the relation\"}},\"RelationUpgraded(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"params\":{\"desc\":\"Descriptor after upgrade\",\"id\":\"ID of the relation\"}},\"RevokeFrom(uint128,uint32)\":{\"params\":{\"grantId\":\"ID of the revoked grant\",\"tail\":\"Tail object ID (initiator)\"}},\"RevokeTo(uint128,uint32)\":{\"params\":{\"grantId\":\"ID of the revoked grant\",\"head\":\"Head object ID (receiver)\"}},\"Unrelated(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256)\":{\"params\":{\"arc\":\"Encoded incoming arc\",\"desc\":\"Descriptor of the head after unlinking\",\"head\":\"Encoded SID of the head object\"}},\"Unrelated(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256[])\":{\"params\":{\"arcs\":\"Array of encoded incoming arcs\",\"desc\":\"Descriptor of the head after unlinking\",\"head\":\"Encoded SID of the head object\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"allowFrom(uint32,address,uint128,uint64,uint64,uint64)\":{\"params\":{\"grantId\":\"Grant ID to check\",\"headKind\":\"Kind ID of the target (head) object\",\"headSet\":\"Set ID of the target (head) object\",\"rel\":\"Relation ID\",\"sender\":\"Address attempting the action\",\"tail\":\"Tail object ID\"},\"returns\":{\"allow\":\"True if authorized\"}},\"allowTo(uint32,address,uint128,uint64,uint64,uint64)\":{\"params\":{\"grantId\":\"Grant ID to check\",\"head\":\"Head object ID\",\"rel\":\"Relation ID\",\"sender\":\"Address attempting the action\",\"tailKind\":\"Kind ID of the source (tail) object\",\"tailSet\":\"Set ID of the source (tail) object\"},\"returns\":{\"_0\":\"True if authorized\"}},\"grantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"params\":{\"grant\":\"Grant details\",\"tail\":\"Tail object ID\"}},\"grantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"params\":{\"grant\":\"Grant details\",\"head\":\"Head object ID\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"relate(uint256,uint64,uint256)\":{\"params\":{\"head\":\"Encoded head node\",\"rel\":\"Relation ID\",\"tail\":\"Encoded tail node\"}},\"relationAdmit(uint64,uint32,uint64)\":{\"params\":{\"id\":\"Relation ID\",\"kind\":\"Tail kind ID to evaluate\",\"rev\":\"Revision to check\"},\"returns\":{\"admit\":\"Whether the kind is admitted\",\"effDegs\":\"Degree bounds for the matched kind\",\"effKind\":\"Matched kind (0 = wildcard match)\",\"totalDegs\":\"Degree bounds for the total-kind\",\"totalKind\":\"Special marker for total-kind (2^48-1 if defined)\"}},\"relationDescriptor(uint64,uint32)\":{\"params\":{\"id\":\"Relation ID\",\"rev0\":\"Revision to query (0 = latest)\"},\"returns\":{\"desc\":\"Descriptor at the specified revision\"}},\"relationOwner(uint64)\":{\"params\":{\"id\":\"Relation ID\"},\"returns\":{\"owner\":\"Address of the current owner\"}},\"relationRegister(address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[])\":{\"params\":{\"adjs\":\"Array of tail kind admissibility and degree limits\",\"code\":\"Optional logic contract address\",\"data\":\"Hash of the relation\\u2019s associated data\",\"rule\":\"Rule defining the behavior and constraints of the relation\"},\"returns\":{\"id\":\"New relation ID\",\"meta\":\"Descriptor after registration\"}},\"relationRevision(uint64,uint32)\":{\"params\":{\"id\":\"Relation ID\",\"rev0\":\"Requested revision (0 = latest)\"},\"returns\":{\"rev\":\"Validated revision (0 if not found)\"}},\"relationRule(uint64)\":{\"params\":{\"id\":\"Relation ID\"},\"returns\":{\"rule\":\"Possession and linkage rule for the relation\"}},\"relationSnapshot(uint64,uint32)\":{\"params\":{\"id\":\"Relation ID\",\"rev0\":\"Revision to query (0 = latest)\"},\"returns\":{\"desc\":\"Descriptor at the revision\",\"elems\":\"Elements at the revision\"}},\"relationSota(uint64)\":{\"params\":{\"id\":\"Relation ID\"},\"returns\":{\"desc\":\"Latest descriptor\",\"owner\":\"Current owner\"}},\"relationStatus(uint64[])\":{\"params\":{\"ids\":\"Array of relation IDs\"},\"returns\":{\"active\":\"True if all are valid and active\"}},\"relationTouch(uint64)\":{\"params\":{\"id\":\"Relation ID\"},\"returns\":{\"meta\":\"Descriptor after touch\"}},\"relationTransfer(uint64,address)\":{\"params\":{\"id\":\"Relation ID\",\"to\":\"New owner address\"},\"returns\":{\"from\":\"Previous owner address\"}},\"relationUpdate(uint64,bytes32)\":{\"params\":{\"data\":\"New data hash\",\"id\":\"Relation ID\"},\"returns\":{\"meta\":\"Updated descriptor\"}},\"relationUpdate(uint64,bytes32,(uint16,uint48)[])\":{\"params\":{\"adjs\":\"New array of adjacency rules\",\"data\":\"New data hash\",\"id\":\"Relation ID\"},\"returns\":{\"meta\":\"Updated descriptor\"}},\"relationUpgrade(uint64,uint32,uint32)\":{\"params\":{\"id\":\"Relation ID\",\"kindRev\":\"New kind revision (0 = no change)\",\"setRev\":\"New set revision (0 = no change)\"},\"returns\":{\"meta\":\"Descriptor after upgrade\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"revokeFrom(uint128,uint32)\":{\"params\":{\"grantId\":\"Grant ID to revoke\",\"tail\":\"Tail object ID\"}},\"revokeTo(uint128,uint32)\":{\"params\":{\"grantId\":\"Grant ID to revoke\",\"head\":\"Head object ID\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"unrelate(uint256,uint64,uint256)\":{\"params\":{\"head\":\"Encoded head node\",\"rel\":\"Relation ID\",\"tail\":\"Encoded tail node\"}},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"events\":{\"GrantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Emitted when a grant is issued to authorize initiating a relation from a tail object\"},\"GrantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Emitted when a grant is issued to authorize accepting a relation to a head object\"},\"Related(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256)\":{\"notice\":\"Emitted when a tail is linked to a head through a relation\"},\"Related(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256[])\":{\"notice\":\"Emitted when multiple tails are linked to a head\"},\"RelationRegistered(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[],address)\":{\"notice\":\"Emitted when a new relation is registered\"},\"RelationTouched(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"notice\":\"Emitted when a relation is touched (revision incremented without content change)\"},\"RelationTransferred(uint64,address,address)\":{\"notice\":\"Emitted when ownership of a relation is transferred\"},\"RelationUpdated(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),bytes32)\":{\"notice\":\"Emitted when a relation is updated\"},\"RelationUpgraded(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"notice\":\"Emitted when a relation is upgraded (kind/set revision bumped)\"},\"RevokeFrom(uint128,uint32)\":{\"notice\":\"Emitted when a grant from a tail object is revoked\"},\"RevokeTo(uint128,uint32)\":{\"notice\":\"Emitted when a grant to a head object is revoked\"},\"Unrelated(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256)\":{\"notice\":\"Emitted when a tail is unlinked from a head\"},\"Unrelated(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256[])\":{\"notice\":\"Emitted when multiple tails are unlinked from a head\"}},\"kind\":\"user\",\"methods\":{\"allowFrom(uint32,address,uint128,uint64,uint64,uint64)\":{\"notice\":\"Checks whether a sender is authorized to initiate a relation from a tail object\"},\"allowTo(uint32,address,uint128,uint64,uint64,uint64)\":{\"notice\":\"Checks whether a sender is authorized to accept a relation to a head object\"},\"grantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Issues a grant to allow initiating relations from a tail object\"},\"grantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Issues a grant to allow accepting relations to a head object\"},\"relate(uint256,uint64,uint256)\":{\"notice\":\"Links a tail object to a head object through a relation\"},\"relationAdmit(uint64,uint32,uint64)\":{\"notice\":\"Checks if a relation admits a specific kind as tail\"},\"relationDescriptor(uint64,uint32)\":{\"notice\":\"Returns descriptor of a relation at a specific revision\"},\"relationOwner(uint64)\":{\"notice\":\"Gets the current owner of a relation\"},\"relationRegister(address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[])\":{\"notice\":\"Registers a new relation\"},\"relationRevision(uint64,uint32)\":{\"notice\":\"Resolves and validates a revision number\"},\"relationRule(uint64)\":{\"notice\":\"Returns the rule definition for a relation\"},\"relationSnapshot(uint64,uint32)\":{\"notice\":\"Returns descriptor and packed elements at a specific revision\"},\"relationSota(uint64)\":{\"notice\":\"Returns the latest descriptor and current owner of a relation\"},\"relationStatus(uint64[])\":{\"notice\":\"Checks whether all specified relations are active (rev > 0)\"},\"relationTouch(uint64)\":{\"notice\":\"Touches a relation (bumps revision without modifying content)\"},\"relationTransfer(uint64,address)\":{\"notice\":\"Transfers ownership of a relation to a new address\"},\"relationUpdate(uint64,bytes32)\":{\"notice\":\"Updates the data hash of a relation\"},\"relationUpdate(uint64,bytes32,(uint16,uint48)[])\":{\"notice\":\"Updates the data hash and adjacency configuration of a relation\"},\"relationUpgrade(uint64,uint32,uint32)\":{\"notice\":\"Upgrades the kind or set revision of a relation\"},\"revokeFrom(uint128,uint32)\":{\"notice\":\"Revokes a previously issued `from` grant\"},\"revokeTo(uint128,uint32)\":{\"notice\":\"Revokes a previously issued `to` grant\"},\"unrelate(uint256,uint64,uint256)\":{\"notice\":\"Unlinks a tail object from a head object\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/OmniRegistry.sol\":\"OmniRegistry\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@create3-factory/=lib/create3-factory/src/\",\":@everyprotocol/core/=contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/\",\":@solmate/=lib/solmate/src/\",\":create3-factory/=lib/create3-factory/\",\":ds-test/=lib/solmate/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"contracts/OmniRegistry.sol\":{\"keccak256\":\"0xb97055da0dda25295d1661071520a7e4940bdbd62fb4cbe23cac84452d23edd5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://bae18b2798f03f6a0d851ec41db1111c978bee0726d389f6cdd660e42db42108\",\"dweb:/ipfs/QmQWkJRHaCyL5kgLBmsvZWEk787wrXb1Vvx5kRGF8oPk1D\"]},\"contracts/constants/Constraints.sol\":{\"keccak256\":\"0xc8c798ef5a7f1098f21dfed590db3d016a3509cfd287031570e5c0c72ec1319a\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3f62437ecc36c0e0a614bed0ebfbd93658a4387a16b489cbe463ed564d9060b8\",\"dweb:/ipfs/QmTvWuiC5ydGmoQYygkHizLTXYq2yaMiTagjCsh6cW74VQ\"]},\"contracts/constants/ObjectIds.sol\":{\"keccak256\":\"0xfdfe4689baeab1467fa2f6a913e00a3e38efc816045b22ef4d4364bfbee9d3f7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fe74ab06d9d53c390b5060deb0fd3d3d288600380a0a727e4d45a3b991752753\",\"dweb:/ipfs/QmRGa8RoCmYw3YmoZfi7fESfNy1odeEb2ZchhUmddZE2t3\"]},\"contracts/constants/Revisions.sol\":{\"keccak256\":\"0x08b2b4235bdce8213e935d9702c851015329eee27767cd7706bbb18043c0ab8b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://414d426504e6fa41e923cfb7d1e50dd8f00646b3c846f475a6e0f2b634035ce4\",\"dweb:/ipfs/QmcAQZEoMvuoj3fo8HpwF1qGPWFYsFdnpPsLzyMASyAg2w\"]},\"contracts/impl/omnir/AdjacencySpecUtils.sol\":{\"keccak256\":\"0x6cb380526e092c5103d1c74ef12359292cf8402ab2f93c1134b285fab84ed87f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://64364bb6f2d9a4dbbd3b4339813e30d3f38be311663f1027df3739a9134ff410\",\"dweb:/ipfs/QmSkrvgii4CogefjoS9LT7KkaD75AZodp41AtgvDh2k1qR\"]},\"contracts/impl/omnir/ObjectAuthorization.sol\":{\"keccak256\":\"0xb7fe44b2fab1fb2b64d06bab3ff25a79b752b529e281a3d351798fce86c99047\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3629595de35a0f82e2fbd6754dc12f2adc29e3e1048ff85f0fa8d2c74e322362\",\"dweb:/ipfs/QmRd1WDFDiVkbktM8tXPMBKsoaiFazzg3YLfDsracch2Rt\"]},\"contracts/impl/omnir/ObjectInteraction.sol\":{\"keccak256\":\"0x2773f9cbfe9b89b4ccb708a72714e5dc2ee83aa27a80ce55de3e4b7d2e382b08\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d33419ab9062bf9b485258f5a0a00691717ee054e1263f399bbdfe4cdb0793fa\",\"dweb:/ipfs/QmcHfUPzMN8wnS1SHdZuXs8QqqmSMqiuxDhEJ7EGdQmwoP\"]},\"contracts/impl/omnir/OmniRegistryErrors.sol\":{\"keccak256\":\"0x472c62227b898d76f7ef462ae245dbd8efd03dda02683042757261dea06a65df\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5b5ed2049d8f3c17a9ed58e2d12eed2bfc3e7c117c95704a4ab7195cc27cd0e7\",\"dweb:/ipfs/QmTVfi6vYD4TDgZs8DonLcgwW53qp6ArGmpcYyKDnPaDFN\"]},\"contracts/impl/omnir/RelationAdjacencies.sol\":{\"keccak256\":\"0xf800e516357d6ae7a7727d6824d808500d1c86b2dab5445079cc34b0723669fb\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a5763ece8fe86c87a05070e19bbb9438c2372ddfe7fee615ef33d34df501682d\",\"dweb:/ipfs/QmYyqq5TyrxSfeoLvs2NJhLeutQH7kRPQKNBpthjGk43H5\"]},\"contracts/impl/omnir/RelationElements.sol\":{\"keccak256\":\"0xac3a378cb735af1171aca50bb4d888966bd3d270335a3811dd66c6501db6d66b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://80d0316431df26ca6d8a32d3f26ae4af45682295b08ff9a735c2514645731da1\",\"dweb:/ipfs/QmYPZp3FBLUVWMqC3wCFUyukQe3WeGmVN69DVHjkxWoDbh\"]},\"contracts/impl/omnir/RelationRegistry.sol\":{\"keccak256\":\"0x7f3bcad0af5c6231fd235f03b6a7bc567c95bf4b3565c4d4a636cb1f783cc0cb\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://8f34441faded6719f98a6219a92dae185632cc8ee62714a2023178d715320310\",\"dweb:/ipfs/QmWqqnd1msHsThkxGFnUP7DsvYAAnbZ5o7MqVViVxsb7Kf\"]},\"contracts/interfaces/core/IElementRegistry.sol\":{\"keccak256\":\"0x66a57a950d6893a153013f7f3551a816af0e563d1bdb7738af3cb105aaefa391\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://e4d34b5f553a670d95384f8bc5d07d2a6a616eef17a661b9abedb4f70801cfec\",\"dweb:/ipfs/QmPSUMunM2mzbgtp46d6VrSztESDQohUnT9chjvVdC9d5T\"]},\"contracts/interfaces/core/IKindRegistry.sol\":{\"keccak256\":\"0x1fafc5ff965ba91caa8fcb86af8e2c9ec95b0629e488a76004ac38bdab6f2ad9\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://08f8596d01747b8e4078525eb54f206562c11a510491ce0c5a881f0c303df00c\",\"dweb:/ipfs/QmPXj59oTBwPbzsM6WZjWJXNLvf5THj2NsDHod7oaoD6nA\"]},\"contracts/interfaces/core/IObjectAuthorization.sol\":{\"keccak256\":\"0x78fc70b92b4f65163df79f322e7c8f39a00ab1c365426b8d4abc2c287581910e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://35d6e57914e967476a3ba483d05ccfa6abf0e8a0405c2d9eba7708bfcb5bd355\",\"dweb:/ipfs/QmS6NxRTSaJg6FovQHvPzi6aqZGMKdeh3Ate6T661muHjJ\"]},\"contracts/interfaces/core/IObjectInteraction.sol\":{\"keccak256\":\"0x9d101797c8186a60d794b940433ad132a9f5763103aa5ca6beeb05a6995273ed\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://e0fd6bae1cdd6e395caf04ac88ddd2d58e199be168de5fec0fbf14371f56601b\",\"dweb:/ipfs/QmWhp15h87ZqeqN4o2UfncJy9PygakDKFkeKDY4qDxcGbY\"]},\"contracts/interfaces/core/IOmniRegistry.sol\":{\"keccak256\":\"0xa3c92da90cd34c07fb565addd3920c4811d0959dcbc1cf5998bc4356932ed001\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a40013eb1a630d5c1ef0ef4b067de91672f8df2a44b76af43d8bc8ac47b4e693\",\"dweb:/ipfs/QmeA4mjPkd8vWdCRMHfWg4CFgYR733Q98u8VcjmHc28MdV\"]},\"contracts/interfaces/core/IRelationRegistry.sol\":{\"keccak256\":\"0xcb2ec73180f5c2c4d89ee6f1cd3960aa53278936021432b09cf1799df13294ec\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://65e4442dbfc632c450f3793d96895178f7e70d9c784e2aa7c5d7eef69bf22e42\",\"dweb:/ipfs/QmfPzAm7QbYHbuB2Vf4sgE1JQ5muj9WRjkVXnYiQoFCy1f\"]},\"contracts/interfaces/core/ISetRegistry.sol\":{\"keccak256\":\"0xbfa32c9f3e3df2b68e9824c4f0f78dd4585d78479e57ba88e34d303207dcf7b8\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9cf7ac1560d9181d3e4b1170556478444f63370c2913592757fa4db8119129c8\",\"dweb:/ipfs/QmbJQn2dZYbab8jixs3MY8BRWeD6QYhKGoPycGkWJDbgkC\"]},\"contracts/interfaces/core/IUniqueRegistry.sol\":{\"keccak256\":\"0xc86ef36c3bf943c9a26f5311320b759cf6f2759251978213855a987ebe39512a\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://8ea9944c8a9749ecf4ee8c63caaa5712da41b7f012990479bc3415c22ababac8\",\"dweb:/ipfs/Qmb2KyZyYPTgo7ZqqBEXLMxEKHZpeseYrx46ZVhADNtNqi\"]},\"contracts/interfaces/core/IValueRegistry.sol\":{\"keccak256\":\"0xf00cc5ef9a841d3e03dcd4c76e3976ec87094412621a481e956fabd0f2ca5ff2\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://811cb991f120a2403015ac30b676d422aa5bc7b547c8e81e8038e386de7baa9f\",\"dweb:/ipfs/QmaTF3AZrJhusrGCKQEiTjbaBHFb7RoBiEDwmRTNau3Mty\"]},\"contracts/interfaces/external/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"contracts/interfaces/user/IInteroperable.sol\":{\"keccak256\":\"0x36ba3bc48e9a7ab377a2c2e0d3502d09ebcf3b6cf96589b95ecc94ec2f798483\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://930d1757ac3e260c25079b5247a5e0aca703f48132c5287dbaa06c45ea1c983c\",\"dweb:/ipfs/QmPPUjDuZfHZKsWKt2k3KRXwyHW3buevhR468oat1jsSLy\"]},\"contracts/interfaces/user/ISet.sol\":{\"keccak256\":\"0xa6377daa6c7654e9b0551f5e92a7e5e510acbddcdbb36bd5df19e3b29ab783c0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://f19d5799e6eb85922d0eb568d521356b6cb3b58f758df675a90eb3e4bd8a3ff9\",\"dweb:/ipfs/QmbBznVYQ16QGvC86KXBJc6SvuS3EneGEwvZ2hGfsqegjR\"]},\"contracts/libraries/Counter.sol\":{\"keccak256\":\"0x7d9f675bcca78c0cc4e4e520494fa3e770b34b9e416d79208b21cb479bd5d18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cf6cf02c49d9d8e03d6d243fab812b4fb8b844c77a6393cffb13e3e14d6d900b\",\"dweb:/ipfs/QmUXagTCfuP5RnA4CcB25HTGWUaZwtPjSXhFEDHbfQ649o\"]},\"contracts/libraries/Semver.sol\":{\"keccak256\":\"0x1a8319edf650b0903d8f8791f34b201704e6e01f70feceb9e1d8430807476135\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f243a0862ccbc44f449a4c873f0f48664279900cd84ebf379797c1cb5a1f348\",\"dweb:/ipfs/QmTt2DurrymLHzJzBXUXQKCQdq5fhSMoy3yCZPrZKfPikX\"]},\"contracts/libraries/Snapshots.sol\":{\"keccak256\":\"0x57d3a7974789edb51b81f097c8064c06e60dd3cad933aa42f65ea23586705b2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d459fa5eec0a13bb5257ca1b2e0e8b16f4fa475ee5c79f1e8d6e30468e198e69\",\"dweb:/ipfs/QmeKKrnjemQWzeao4VYtPRWsWdWvNDnU1oomadksVyBVxf\"]},\"contracts/types/Descriptor.sol\":{\"keccak256\":\"0x37d21c3ba2b6fc1d92c0f90d4b5b9b6d8c9b16c9d36d769a7be93d16c0402fe4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://683a0796984d0e8a0ba15f01fa3ed8abfcd69d12f61b2eb84b7e3a41dfe48aa1\",\"dweb:/ipfs/QmU4L5AFk9NzYtj8nXELhjhyGiCrZH4kycpdKWeJQir3bT\"]},\"contracts/types/Element.sol\":{\"keccak256\":\"0x78c4d22125d02eba70d42950967bce8cef9143ade1652d3f66d60ae4459706b3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c4b4588b0d125419d991c30069814214c26b28d783808e38246940f5c1062d0c\",\"dweb:/ipfs/QmNpTwSHkjoRSNKicogKqKYC8DPi5iAPd9tyA4R4xp4UMQ\"]},\"contracts/types/Matter.sol\":{\"keccak256\":\"0x7cdeae2803ca0df53cc2674e45de091507069930df668ee4cd3666ad86ae0c3b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://58b6094a56617a7ca09b7bf578be268529d1266117632012892e05e86c645357\",\"dweb:/ipfs/QmRYw5bRBN8qgyTiTfAgiaqn24tDnwAraokehn5ooiXqED\"]},\"contracts/types/Relation.sol\":{\"keccak256\":\"0x8c714d5b0bbe95430b5ff529eec720c29f5f09071073f21e59db7bdc035a2a73\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7d935ee820a2e0e21eb041b3e61a1ae467b535ae09581195a8ca07a7cb309e79\",\"dweb:/ipfs/QmUgjpLg8YmScsCqaVLko43bagVCGuZ5R5Q1BGjQgCxTJk\"]},\"contracts/types/Token.sol\":{\"keccak256\":\"0x1a4ca38789517abd90a18e9555755b96bd9466d8b152fc871726186c81587481\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://16b4fa220db0b6be9aaab14eee64fdb58f820c4366cd642ed521a59378035090\",\"dweb:/ipfs/Qme3dhteY6tLAvMdZUqQT31ePvUZvigF5s1NCran3XW4Zt\"]},\"contracts/utils/Soke.sol\":{\"keccak256\":\"0xb2268024aaf41e8842ebe02227df193905bd667fec447b938e10f0eaf2626be8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a67374b5f98c9415e3388989159d6eb33091257b9a734268c179377371c0277\",\"dweb:/ipfs/QmfMPVewS3taKxLiUBGr64rCszYQBoYJax9Y4ic47o6KJD\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[],"type":"error","name":"AdjacencyKindNotExist"},{"inputs":[],"type":"error","name":"AdjacencyOverflow"},{"inputs":[],"type":"error","name":"AdjacencyUnderflow"},{"inputs":[],"type":"error","name":"AdjacencyUnordered"},{"inputs":[],"type":"error","name":"ArcExists"},{"inputs":[],"type":"error","name":"ArcMismatch"},{"inputs":[],"type":"error","name":"ArcNotExist"},{"inputs":[{"internalType":"uint48","name":"kind","type":"uint48"}],"type":"error","name":"DegreeOverflow"},{"inputs":[{"internalType":"uint48","name":"kind","type":"uint48"}],"type":"error","name":"DegreeUnderflow"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"type":"error","name":"ERC1967InvalidImplementation"},{"inputs":[],"type":"error","name":"ERC1967NonPayable"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"GrantFilterKindInvalid"},{"inputs":[],"type":"error","name":"GrantFilterRelationInvalid"},{"inputs":[],"type":"error","name":"GrantFilterSetInvalid"},{"inputs":[],"type":"error","name":"GrantInitiatorAnyoneExtraNotAllowed"},{"inputs":[],"type":"error","name":"GrantInitiatorDelegateAddressInvalid"},{"inputs":[],"type":"error","name":"GrantInitiatorEligibleAddressInvalid"},{"inputs":[],"type":"error","name":"GrantInitiatorEligibleNotContract"},{"inputs":[],"type":"error","name":"GrantInitiatorHolderObjectParamsInvalid"},{"inputs":[],"type":"error","name":"GrantInitiatorHolderTokenTypeUnknown"},{"inputs":[],"type":"error","name":"GrantInitiatorHolderUniqueParamsInvalid"},{"inputs":[],"type":"error","name":"GrantInitiatorHolderValueParamsInvalid"},{"inputs":[],"type":"error","name":"GrantInitiatorOwnerExtraNotAllowed"},{"inputs":[],"type":"error","name":"GrantInitiatorTypeUnknown"},{"inputs":[],"type":"error","name":"GrantNotFound"},{"inputs":[],"type":"error","name":"GrantRevoked"},{"inputs":[],"type":"error","name":"HeadKindRejectsRelation"},{"inputs":[],"type":"error","name":"HeadSetRejectsTailObject"},{"inputs":[],"type":"error","name":"InvalidCode"},{"inputs":[],"type":"error","name":"InvalidData"},{"inputs":[],"type":"error","name":"InvalidInitial"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidKind"},{"inputs":[],"type":"error","name":"InvalidRelateShift"},{"inputs":[],"type":"error","name":"InvalidRelation"},{"inputs":[],"type":"error","name":"InvalidUnrelateShift"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"Overflow"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"type":"error","name":"RecordNotExist"},{"inputs":[],"type":"error","name":"RelationRejectsTailKind"},{"inputs":[],"type":"error","name":"UUPSUnauthorizedCallContext"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"type":"error","name":"UUPSUnsupportedProxiableUUID"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"address","name":"vistor","type":"address"}],"type":"error","name":"UnauthorizedAccess"},{"inputs":[],"type":"error","name":"Unimplemented"},{"inputs":[],"type":"error","name":"UnrelateLocked"},{"inputs":[],"type":"error","name":"UnsupportedHoldingState"},{"inputs":[{"internalType":"uint128","name":"tail","type":"uint128","indexed":false},{"internalType":"struct RelationGrant","name":"grant","type":"tuple","components":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"enum RelationInitiator","name":"initiator","type":"uint8"},{"internalType":"uint16","name":"reserved","type":"uint16"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"kind","type":"uint64"},{"internalType":"uint64","name":"set","type":"uint64"},{"internalType":"bytes32","name":"extra","type":"bytes32"}],"indexed":false}],"type":"event","name":"GrantFrom","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"struct RelationGrant","name":"grant","type":"tuple","components":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"enum RelationInitiator","name":"initiator","type":"uint8"},{"internalType":"uint16","name":"reserved","type":"uint16"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"kind","type":"uint64"},{"internalType":"uint64","name":"set","type":"uint64"},{"internalType":"bytes32","name":"extra","type":"bytes32"}],"indexed":false}],"type":"event","name":"GrantTo","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"uint256","name":"arc","type":"uint256","indexed":false}],"type":"event","name":"Related","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"uint256[]","name":"arcs","type":"uint256[]","indexed":false}],"type":"event","name":"Related","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"address","name":"code","type":"address","indexed":false},{"internalType":"bytes32","name":"data","type":"bytes32","indexed":false},{"internalType":"struct RelationRule","name":"rule","type":"tuple","components":[{"internalType":"uint8","name":"version","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"relateShift","type":"uint8"},{"internalType":"enum RelationTerminator","name":"terminator","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"unrelateShift","type":"uint8"},{"internalType":"uint64","name":"unrelateDelay","type":"uint64"},{"internalType":"bytes20","name":"extra","type":"bytes20"}],"indexed":false},{"internalType":"struct Adjacency[]","name":"adjs","type":"tuple[]","components":[{"internalType":"uint16","name":"degs","type":"uint16"},{"internalType":"uint48","name":"kind","type":"uint48"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"RelationRegistered","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false}],"type":"event","name":"RelationTouched","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"address","name":"to","type":"address","indexed":false}],"type":"event","name":"RelationTransferred","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"bytes32","name":"data","type":"bytes32","indexed":false}],"type":"event","name":"RelationUpdated","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false}],"type":"event","name":"RelationUpgraded","anonymous":false},{"inputs":[{"internalType":"uint128","name":"tail","type":"uint128","indexed":false},{"internalType":"uint32","name":"grantId","type":"uint32","indexed":false}],"type":"event","name":"RevokeFrom","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"uint32","name":"grantId","type":"uint32","indexed":false}],"type":"event","name":"RevokeTo","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"uint256","name":"arc","type":"uint256","indexed":false}],"type":"event","name":"Unrelated","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"uint256[]","name":"arcs","type":"uint256[]","indexed":false}],"type":"event","name":"Unrelated","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint32","name":"grantId","type":"uint32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint128","name":"tail","type":"uint128"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"headKind","type":"uint64"},{"internalType":"uint64","name":"headSet","type":"uint64"}],"stateMutability":"view","type":"function","name":"allowFrom","outputs":[{"internalType":"bool","name":"allow","type":"bool"}]},{"inputs":[{"internalType":"uint32","name":"grantId","type":"uint32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint128","name":"head","type":"uint128"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"tailKind","type":"uint64"},{"internalType":"uint64","name":"tailSet","type":"uint64"}],"stateMutability":"view","type":"function","name":"allowTo","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"elementRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint128","name":"tail","type":"uint128"},{"internalType":"struct RelationGrant","name":"grant","type":"tuple","components":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"enum RelationInitiator","name":"initiator","type":"uint8"},{"internalType":"uint16","name":"reserved","type":"uint16"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"kind","type":"uint64"},{"internalType":"uint64","name":"set","type":"uint64"},{"internalType":"bytes32","name":"extra","type":"bytes32"}]}],"stateMutability":"nonpayable","type":"function","name":"grantFrom"},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128"},{"internalType":"struct RelationGrant","name":"grant","type":"tuple","components":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"enum RelationInitiator","name":"initiator","type":"uint8"},{"internalType":"uint16","name":"reserved","type":"uint16"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"kind","type":"uint64"},{"internalType":"uint64","name":"set","type":"uint64"},{"internalType":"bytes32","name":"extra","type":"bytes32"}]}],"stateMutability":"nonpayable","type":"function","name":"grantTo"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"setr","type":"address"},{"internalType":"address","name":"kindr","type":"address"},{"internalType":"address","name":"elemr","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"kindRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"omniRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"tail","type":"uint256"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint256","name":"head","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"relate"},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint64","name":"kind","type":"uint64"}],"stateMutability":"view","type":"function","name":"relationAdmit","outputs":[{"internalType":"bool","name":"admit","type":"bool"},{"internalType":"uint48","name":"effKind","type":"uint48"},{"internalType":"uint16","name":"effDegs","type":"uint16"},{"internalType":"uint48","name":"totalKind","type":"uint48"},{"internalType":"uint16","name":"totalDegs","type":"uint16"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev0","type":"uint32"}],"stateMutability":"view","type":"function","name":"relationDescriptor","outputs":[{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"view","type":"function","name":"relationOwner","outputs":[{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"address","name":"code","type":"address"},{"internalType":"bytes32","name":"data","type":"bytes32"},{"internalType":"struct RelationRule","name":"rule","type":"tuple","components":[{"internalType":"uint8","name":"version","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"relateShift","type":"uint8"},{"internalType":"enum RelationTerminator","name":"terminator","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"unrelateShift","type":"uint8"},{"internalType":"uint64","name":"unrelateDelay","type":"uint64"},{"internalType":"bytes20","name":"extra","type":"bytes20"}]},{"internalType":"struct Adjacency[]","name":"adjs","type":"tuple[]","components":[{"internalType":"uint16","name":"degs","type":"uint16"},{"internalType":"uint48","name":"kind","type":"uint48"}]}],"stateMutability":"nonpayable","type":"function","name":"relationRegister","outputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"struct Descriptor","name":"meta","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev0","type":"uint32"}],"stateMutability":"view","type":"function","name":"relationRevision","outputs":[{"internalType":"uint32","name":"rev","type":"uint32"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"view","type":"function","name":"relationRule","outputs":[{"internalType":"struct RelationRule","name":"rule","type":"tuple","components":[{"internalType":"uint8","name":"version","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"relateShift","type":"uint8"},{"internalType":"enum RelationTerminator","name":"terminator","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"unrelateShift","type":"uint8"},{"internalType":"uint64","name":"unrelateDelay","type":"uint64"},{"internalType":"bytes20","name":"extra","type":"bytes20"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev0","type":"uint32"}],"stateMutability":"view","type":"function","name":"relationSnapshot","outputs":[{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]},{"internalType":"bytes32[]","name":"elems","type":"bytes32[]"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"view","type":"function","name":"relationSota","outputs":[{"internalType":"struct Descriptor","name":"desc","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]},{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"uint64[]","name":"ids","type":"uint64[]"}],"stateMutability":"view","type":"function","name":"relationStatus","outputs":[{"internalType":"bool","name":"active","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"relationTouch","outputs":[{"internalType":"struct Descriptor","name":"meta","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"address","name":"to","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"relationTransfer","outputs":[{"internalType":"address","name":"from","type":"address"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"bytes32","name":"data","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"relationUpdate","outputs":[{"internalType":"struct Descriptor","name":"meta","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"bytes32","name":"data","type":"bytes32"},{"internalType":"struct Adjacency[]","name":"adjs","type":"tuple[]","components":[{"internalType":"uint16","name":"degs","type":"uint16"},{"internalType":"uint48","name":"kind","type":"uint48"}]}],"stateMutability":"nonpayable","type":"function","name":"relationUpdate","outputs":[{"internalType":"struct Descriptor","name":"meta","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"relationUpgrade","outputs":[{"internalType":"struct Descriptor","name":"meta","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint128","name":"tail","type":"uint128"},{"internalType":"uint32","name":"grantId","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"revokeFrom"},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128"},{"internalType":"uint32","name":"grantId","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"revokeTo"},{"inputs":[],"stateMutability":"pure","type":"function","name":"semver","outputs":[{"internalType":"uint32","name":"version","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"setRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"tail","type":"uint256"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint256","name":"head","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"unrelate"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"allowFrom(uint32,address,uint128,uint64,uint64,uint64)":{"params":{"grantId":"Grant ID to check","headKind":"Kind ID of the target (head) object","headSet":"Set ID of the target (head) object","rel":"Relation ID","sender":"Address attempting the action","tail":"Tail object ID"},"returns":{"allow":"True if authorized"}},"allowTo(uint32,address,uint128,uint64,uint64,uint64)":{"params":{"grantId":"Grant ID to check","head":"Head object ID","rel":"Relation ID","sender":"Address attempting the action","tailKind":"Kind ID of the source (tail) object","tailSet":"Set ID of the source (tail) object"},"returns":{"_0":"True if authorized"}},"grantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":{"params":{"grant":"Grant details","tail":"Tail object ID"}},"grantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":{"params":{"grant":"Grant details","head":"Head object ID"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"relate(uint256,uint64,uint256)":{"params":{"head":"Encoded head node","rel":"Relation ID","tail":"Encoded tail node"}},"relationAdmit(uint64,uint32,uint64)":{"params":{"id":"Relation ID","kind":"Tail kind ID to evaluate","rev":"Revision to check"},"returns":{"admit":"Whether the kind is admitted","effDegs":"Degree bounds for the matched kind","effKind":"Matched kind (0 = wildcard match)","totalDegs":"Degree bounds for the total-kind","totalKind":"Special marker for total-kind (2^48-1 if defined)"}},"relationDescriptor(uint64,uint32)":{"params":{"id":"Relation ID","rev0":"Revision to query (0 = latest)"},"returns":{"desc":"Descriptor at the specified revision"}},"relationOwner(uint64)":{"params":{"id":"Relation ID"},"returns":{"owner":"Address of the current owner"}},"relationRegister(address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[])":{"params":{"adjs":"Array of tail kind admissibility and degree limits","code":"Optional logic contract address","data":"Hash of the relation’s associated data","rule":"Rule defining the behavior and constraints of the relation"},"returns":{"id":"New relation ID","meta":"Descriptor after registration"}},"relationRevision(uint64,uint32)":{"params":{"id":"Relation ID","rev0":"Requested revision (0 = latest)"},"returns":{"rev":"Validated revision (0 if not found)"}},"relationRule(uint64)":{"params":{"id":"Relation ID"},"returns":{"rule":"Possession and linkage rule for the relation"}},"relationSnapshot(uint64,uint32)":{"params":{"id":"Relation ID","rev0":"Revision to query (0 = latest)"},"returns":{"desc":"Descriptor at the revision","elems":"Elements at the revision"}},"relationSota(uint64)":{"params":{"id":"Relation ID"},"returns":{"desc":"Latest descriptor","owner":"Current owner"}},"relationStatus(uint64[])":{"params":{"ids":"Array of relation IDs"},"returns":{"active":"True if all are valid and active"}},"relationTouch(uint64)":{"params":{"id":"Relation ID"},"returns":{"meta":"Descriptor after touch"}},"relationTransfer(uint64,address)":{"params":{"id":"Relation ID","to":"New owner address"},"returns":{"from":"Previous owner address"}},"relationUpdate(uint64,bytes32)":{"params":{"data":"New data hash","id":"Relation ID"},"returns":{"meta":"Updated descriptor"}},"relationUpdate(uint64,bytes32,(uint16,uint48)[])":{"params":{"adjs":"New array of adjacency rules","data":"New data hash","id":"Relation ID"},"returns":{"meta":"Updated descriptor"}},"relationUpgrade(uint64,uint32,uint32)":{"params":{"id":"Relation ID","kindRev":"New kind revision (0 = no change)","setRev":"New set revision (0 = no change)"},"returns":{"meta":"Descriptor after upgrade"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"revokeFrom(uint128,uint32)":{"params":{"grantId":"Grant ID to revoke","tail":"Tail object ID"}},"revokeTo(uint128,uint32)":{"params":{"grantId":"Grant ID to revoke","head":"Head object ID"}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"unrelate(uint256,uint64,uint256)":{"params":{"head":"Encoded head node","rel":"Relation ID","tail":"Encoded tail node"}},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"allowFrom(uint32,address,uint128,uint64,uint64,uint64)":{"notice":"Checks whether a sender is authorized to initiate a relation from a tail object"},"allowTo(uint32,address,uint128,uint64,uint64,uint64)":{"notice":"Checks whether a sender is authorized to accept a relation to a head object"},"grantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":{"notice":"Issues a grant to allow initiating relations from a tail object"},"grantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":{"notice":"Issues a grant to allow accepting relations to a head object"},"relate(uint256,uint64,uint256)":{"notice":"Links a tail object to a head object through a relation"},"relationAdmit(uint64,uint32,uint64)":{"notice":"Checks if a relation admits a specific kind as tail"},"relationDescriptor(uint64,uint32)":{"notice":"Returns descriptor of a relation at a specific revision"},"relationOwner(uint64)":{"notice":"Gets the current owner of a relation"},"relationRegister(address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[])":{"notice":"Registers a new relation"},"relationRevision(uint64,uint32)":{"notice":"Resolves and validates a revision number"},"relationRule(uint64)":{"notice":"Returns the rule definition for a relation"},"relationSnapshot(uint64,uint32)":{"notice":"Returns descriptor and packed elements at a specific revision"},"relationSota(uint64)":{"notice":"Returns the latest descriptor and current owner of a relation"},"relationStatus(uint64[])":{"notice":"Checks whether all specified relations are active (rev > 0)"},"relationTouch(uint64)":{"notice":"Touches a relation (bumps revision without modifying content)"},"relationTransfer(uint64,address)":{"notice":"Transfers ownership of a relation to a new address"},"relationUpdate(uint64,bytes32)":{"notice":"Updates the data hash of a relation"},"relationUpdate(uint64,bytes32,(uint16,uint48)[])":{"notice":"Updates the data hash and adjacency configuration of a relation"},"relationUpgrade(uint64,uint32,uint32)":{"notice":"Upgrades the kind or set revision of a relation"},"revokeFrom(uint128,uint32)":{"notice":"Revokes a previously issued `from` grant"},"revokeTo(uint128,uint32)":{"notice":"Revokes a previously issued `to` grant"},"unrelate(uint256,uint64,uint256)":{"notice":"Unlinks a tail object from a head object"}},"version":1}},"settings":{"remappings":["@create3-factory/=lib/create3-factory/src/","@everyprotocol/core/=contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/","@solmate/=lib/solmate/src/","create3-factory/=lib/create3-factory/","ds-test/=lib/solmate/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/OmniRegistry.sol":"OmniRegistry"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/OmniRegistry.sol":{"keccak256":"0xb97055da0dda25295d1661071520a7e4940bdbd62fb4cbe23cac84452d23edd5","urls":["bzz-raw://bae18b2798f03f6a0d851ec41db1111c978bee0726d389f6cdd660e42db42108","dweb:/ipfs/QmQWkJRHaCyL5kgLBmsvZWEk787wrXb1Vvx5kRGF8oPk1D"],"license":"BUSL-1.1"},"contracts/constants/Constraints.sol":{"keccak256":"0xc8c798ef5a7f1098f21dfed590db3d016a3509cfd287031570e5c0c72ec1319a","urls":["bzz-raw://3f62437ecc36c0e0a614bed0ebfbd93658a4387a16b489cbe463ed564d9060b8","dweb:/ipfs/QmTvWuiC5ydGmoQYygkHizLTXYq2yaMiTagjCsh6cW74VQ"],"license":"BUSL-1.1"},"contracts/constants/ObjectIds.sol":{"keccak256":"0xfdfe4689baeab1467fa2f6a913e00a3e38efc816045b22ef4d4364bfbee9d3f7","urls":["bzz-raw://fe74ab06d9d53c390b5060deb0fd3d3d288600380a0a727e4d45a3b991752753","dweb:/ipfs/QmRGa8RoCmYw3YmoZfi7fESfNy1odeEb2ZchhUmddZE2t3"],"license":"BUSL-1.1"},"contracts/constants/Revisions.sol":{"keccak256":"0x08b2b4235bdce8213e935d9702c851015329eee27767cd7706bbb18043c0ab8b","urls":["bzz-raw://414d426504e6fa41e923cfb7d1e50dd8f00646b3c846f475a6e0f2b634035ce4","dweb:/ipfs/QmcAQZEoMvuoj3fo8HpwF1qGPWFYsFdnpPsLzyMASyAg2w"],"license":"BUSL-1.1"},"contracts/impl/omnir/AdjacencySpecUtils.sol":{"keccak256":"0x6cb380526e092c5103d1c74ef12359292cf8402ab2f93c1134b285fab84ed87f","urls":["bzz-raw://64364bb6f2d9a4dbbd3b4339813e30d3f38be311663f1027df3739a9134ff410","dweb:/ipfs/QmSkrvgii4CogefjoS9LT7KkaD75AZodp41AtgvDh2k1qR"],"license":"BUSL-1.1"},"contracts/impl/omnir/ObjectAuthorization.sol":{"keccak256":"0xb7fe44b2fab1fb2b64d06bab3ff25a79b752b529e281a3d351798fce86c99047","urls":["bzz-raw://3629595de35a0f82e2fbd6754dc12f2adc29e3e1048ff85f0fa8d2c74e322362","dweb:/ipfs/QmRd1WDFDiVkbktM8tXPMBKsoaiFazzg3YLfDsracch2Rt"],"license":"BUSL-1.1"},"contracts/impl/omnir/ObjectInteraction.sol":{"keccak256":"0x2773f9cbfe9b89b4ccb708a72714e5dc2ee83aa27a80ce55de3e4b7d2e382b08","urls":["bzz-raw://d33419ab9062bf9b485258f5a0a00691717ee054e1263f399bbdfe4cdb0793fa","dweb:/ipfs/QmcHfUPzMN8wnS1SHdZuXs8QqqmSMqiuxDhEJ7EGdQmwoP"],"license":"BUSL-1.1"},"contracts/impl/omnir/OmniRegistryErrors.sol":{"keccak256":"0x472c62227b898d76f7ef462ae245dbd8efd03dda02683042757261dea06a65df","urls":["bzz-raw://5b5ed2049d8f3c17a9ed58e2d12eed2bfc3e7c117c95704a4ab7195cc27cd0e7","dweb:/ipfs/QmTVfi6vYD4TDgZs8DonLcgwW53qp6ArGmpcYyKDnPaDFN"],"license":"BUSL-1.1"},"contracts/impl/omnir/RelationAdjacencies.sol":{"keccak256":"0xf800e516357d6ae7a7727d6824d808500d1c86b2dab5445079cc34b0723669fb","urls":["bzz-raw://a5763ece8fe86c87a05070e19bbb9438c2372ddfe7fee615ef33d34df501682d","dweb:/ipfs/QmYyqq5TyrxSfeoLvs2NJhLeutQH7kRPQKNBpthjGk43H5"],"license":"BUSL-1.1"},"contracts/impl/omnir/RelationElements.sol":{"keccak256":"0xac3a378cb735af1171aca50bb4d888966bd3d270335a3811dd66c6501db6d66b","urls":["bzz-raw://80d0316431df26ca6d8a32d3f26ae4af45682295b08ff9a735c2514645731da1","dweb:/ipfs/QmYPZp3FBLUVWMqC3wCFUyukQe3WeGmVN69DVHjkxWoDbh"],"license":"BUSL-1.1"},"contracts/impl/omnir/RelationRegistry.sol":{"keccak256":"0x7f3bcad0af5c6231fd235f03b6a7bc567c95bf4b3565c4d4a636cb1f783cc0cb","urls":["bzz-raw://8f34441faded6719f98a6219a92dae185632cc8ee62714a2023178d715320310","dweb:/ipfs/QmWqqnd1msHsThkxGFnUP7DsvYAAnbZ5o7MqVViVxsb7Kf"],"license":"BUSL-1.1"},"contracts/interfaces/core/IElementRegistry.sol":{"keccak256":"0x66a57a950d6893a153013f7f3551a816af0e563d1bdb7738af3cb105aaefa391","urls":["bzz-raw://e4d34b5f553a670d95384f8bc5d07d2a6a616eef17a661b9abedb4f70801cfec","dweb:/ipfs/QmPSUMunM2mzbgtp46d6VrSztESDQohUnT9chjvVdC9d5T"],"license":"BUSL-1.1"},"contracts/interfaces/core/IKindRegistry.sol":{"keccak256":"0x1fafc5ff965ba91caa8fcb86af8e2c9ec95b0629e488a76004ac38bdab6f2ad9","urls":["bzz-raw://08f8596d01747b8e4078525eb54f206562c11a510491ce0c5a881f0c303df00c","dweb:/ipfs/QmPXj59oTBwPbzsM6WZjWJXNLvf5THj2NsDHod7oaoD6nA"],"license":"BUSL-1.1"},"contracts/interfaces/core/IObjectAuthorization.sol":{"keccak256":"0x78fc70b92b4f65163df79f322e7c8f39a00ab1c365426b8d4abc2c287581910e","urls":["bzz-raw://35d6e57914e967476a3ba483d05ccfa6abf0e8a0405c2d9eba7708bfcb5bd355","dweb:/ipfs/QmS6NxRTSaJg6FovQHvPzi6aqZGMKdeh3Ate6T661muHjJ"],"license":"BUSL-1.1"},"contracts/interfaces/core/IObjectInteraction.sol":{"keccak256":"0x9d101797c8186a60d794b940433ad132a9f5763103aa5ca6beeb05a6995273ed","urls":["bzz-raw://e0fd6bae1cdd6e395caf04ac88ddd2d58e199be168de5fec0fbf14371f56601b","dweb:/ipfs/QmWhp15h87ZqeqN4o2UfncJy9PygakDKFkeKDY4qDxcGbY"],"license":"BUSL-1.1"},"contracts/interfaces/core/IOmniRegistry.sol":{"keccak256":"0xa3c92da90cd34c07fb565addd3920c4811d0959dcbc1cf5998bc4356932ed001","urls":["bzz-raw://a40013eb1a630d5c1ef0ef4b067de91672f8df2a44b76af43d8bc8ac47b4e693","dweb:/ipfs/QmeA4mjPkd8vWdCRMHfWg4CFgYR733Q98u8VcjmHc28MdV"],"license":"BUSL-1.1"},"contracts/interfaces/core/IRelationRegistry.sol":{"keccak256":"0xcb2ec73180f5c2c4d89ee6f1cd3960aa53278936021432b09cf1799df13294ec","urls":["bzz-raw://65e4442dbfc632c450f3793d96895178f7e70d9c784e2aa7c5d7eef69bf22e42","dweb:/ipfs/QmfPzAm7QbYHbuB2Vf4sgE1JQ5muj9WRjkVXnYiQoFCy1f"],"license":"BUSL-1.1"},"contracts/interfaces/core/ISetRegistry.sol":{"keccak256":"0xbfa32c9f3e3df2b68e9824c4f0f78dd4585d78479e57ba88e34d303207dcf7b8","urls":["bzz-raw://9cf7ac1560d9181d3e4b1170556478444f63370c2913592757fa4db8119129c8","dweb:/ipfs/QmbJQn2dZYbab8jixs3MY8BRWeD6QYhKGoPycGkWJDbgkC"],"license":"BUSL-1.1"},"contracts/interfaces/core/IUniqueRegistry.sol":{"keccak256":"0xc86ef36c3bf943c9a26f5311320b759cf6f2759251978213855a987ebe39512a","urls":["bzz-raw://8ea9944c8a9749ecf4ee8c63caaa5712da41b7f012990479bc3415c22ababac8","dweb:/ipfs/Qmb2KyZyYPTgo7ZqqBEXLMxEKHZpeseYrx46ZVhADNtNqi"],"license":"BUSL-1.1"},"contracts/interfaces/core/IValueRegistry.sol":{"keccak256":"0xf00cc5ef9a841d3e03dcd4c76e3976ec87094412621a481e956fabd0f2ca5ff2","urls":["bzz-raw://811cb991f120a2403015ac30b676d422aa5bc7b547c8e81e8038e386de7baa9f","dweb:/ipfs/QmaTF3AZrJhusrGCKQEiTjbaBHFb7RoBiEDwmRTNau3Mty"],"license":"BUSL-1.1"},"contracts/interfaces/external/IERC165.sol":{"keccak256":"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c","urls":["bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617","dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u"],"license":"MIT"},"contracts/interfaces/user/IInteroperable.sol":{"keccak256":"0x36ba3bc48e9a7ab377a2c2e0d3502d09ebcf3b6cf96589b95ecc94ec2f798483","urls":["bzz-raw://930d1757ac3e260c25079b5247a5e0aca703f48132c5287dbaa06c45ea1c983c","dweb:/ipfs/QmPPUjDuZfHZKsWKt2k3KRXwyHW3buevhR468oat1jsSLy"],"license":"BUSL-1.1"},"contracts/interfaces/user/ISet.sol":{"keccak256":"0xa6377daa6c7654e9b0551f5e92a7e5e510acbddcdbb36bd5df19e3b29ab783c0","urls":["bzz-raw://f19d5799e6eb85922d0eb568d521356b6cb3b58f758df675a90eb3e4bd8a3ff9","dweb:/ipfs/QmbBznVYQ16QGvC86KXBJc6SvuS3EneGEwvZ2hGfsqegjR"],"license":"BUSL-1.1"},"contracts/libraries/Counter.sol":{"keccak256":"0x7d9f675bcca78c0cc4e4e520494fa3e770b34b9e416d79208b21cb479bd5d18e","urls":["bzz-raw://cf6cf02c49d9d8e03d6d243fab812b4fb8b844c77a6393cffb13e3e14d6d900b","dweb:/ipfs/QmUXagTCfuP5RnA4CcB25HTGWUaZwtPjSXhFEDHbfQ649o"],"license":"MIT"},"contracts/libraries/Semver.sol":{"keccak256":"0x1a8319edf650b0903d8f8791f34b201704e6e01f70feceb9e1d8430807476135","urls":["bzz-raw://3f243a0862ccbc44f449a4c873f0f48664279900cd84ebf379797c1cb5a1f348","dweb:/ipfs/QmTt2DurrymLHzJzBXUXQKCQdq5fhSMoy3yCZPrZKfPikX"],"license":"MIT"},"contracts/libraries/Snapshots.sol":{"keccak256":"0x57d3a7974789edb51b81f097c8064c06e60dd3cad933aa42f65ea23586705b2d","urls":["bzz-raw://d459fa5eec0a13bb5257ca1b2e0e8b16f4fa475ee5c79f1e8d6e30468e198e69","dweb:/ipfs/QmeKKrnjemQWzeao4VYtPRWsWdWvNDnU1oomadksVyBVxf"],"license":"MIT"},"contracts/types/Descriptor.sol":{"keccak256":"0x37d21c3ba2b6fc1d92c0f90d4b5b9b6d8c9b16c9d36d769a7be93d16c0402fe4","urls":["bzz-raw://683a0796984d0e8a0ba15f01fa3ed8abfcd69d12f61b2eb84b7e3a41dfe48aa1","dweb:/ipfs/QmU4L5AFk9NzYtj8nXELhjhyGiCrZH4kycpdKWeJQir3bT"],"license":"BUSL-1.1"},"contracts/types/Element.sol":{"keccak256":"0x78c4d22125d02eba70d42950967bce8cef9143ade1652d3f66d60ae4459706b3","urls":["bzz-raw://c4b4588b0d125419d991c30069814214c26b28d783808e38246940f5c1062d0c","dweb:/ipfs/QmNpTwSHkjoRSNKicogKqKYC8DPi5iAPd9tyA4R4xp4UMQ"],"license":"BUSL-1.1"},"contracts/types/Matter.sol":{"keccak256":"0x7cdeae2803ca0df53cc2674e45de091507069930df668ee4cd3666ad86ae0c3b","urls":["bzz-raw://58b6094a56617a7ca09b7bf578be268529d1266117632012892e05e86c645357","dweb:/ipfs/QmRYw5bRBN8qgyTiTfAgiaqn24tDnwAraokehn5ooiXqED"],"license":"BUSL-1.1"},"contracts/types/Relation.sol":{"keccak256":"0x8c714d5b0bbe95430b5ff529eec720c29f5f09071073f21e59db7bdc035a2a73","urls":["bzz-raw://7d935ee820a2e0e21eb041b3e61a1ae467b535ae09581195a8ca07a7cb309e79","dweb:/ipfs/QmUgjpLg8YmScsCqaVLko43bagVCGuZ5R5Q1BGjQgCxTJk"],"license":"BUSL-1.1"},"contracts/types/Token.sol":{"keccak256":"0x1a4ca38789517abd90a18e9555755b96bd9466d8b152fc871726186c81587481","urls":["bzz-raw://16b4fa220db0b6be9aaab14eee64fdb58f820c4366cd642ed521a59378035090","dweb:/ipfs/Qme3dhteY6tLAvMdZUqQT31ePvUZvigF5s1NCran3XW4Zt"],"license":"BUSL-1.1"},"contracts/utils/Soke.sol":{"keccak256":"0xb2268024aaf41e8842ebe02227df193905bd667fec447b938e10f0eaf2626be8","urls":["bzz-raw://3a67374b5f98c9415e3388989159d6eb33091257b9a734268c179377371c0277","dweb:/ipfs/QmfMPVewS3taKxLiUBGr64rCszYQBoYJax9Y4ic47o6KJD"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a","urls":["bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6","dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05","urls":["bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08","dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63","urls":["bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec","dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d","urls":["bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196","dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898","urls":["bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70","dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c","urls":["bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e","dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"}},"version":1},"id":3}
|