UNPKG

kleros-interaction-2

Version:
542 lines 1.86 MB
{ "contractName": "ArbitrablePermissionList", "abi": [ { "constant": true, "inputs": [], "name": "timeToChallenge", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "arbitratorExtraData", "outputs": [ { "name": "", "type": "bytes" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "rechallengePossible", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_disputeID", "type": "uint256" }, { "name": "_ruling", "type": "uint256" } ], "name": "rule", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "stake", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "disputeIDToItem", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "bytes32" } ], "name": "items", "outputs": [ { "name": "status", "type": "uint8" }, { "name": "lastAction", "type": "uint256" }, { "name": "submitter", "type": "address" }, { "name": "challenger", "type": "address" }, { "name": "balance", "type": "uint256" }, { "name": "disputed", "type": "bool" }, { "name": "disputeID", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "appendOnly", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "arbitrator", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "blacklist", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "itemsList", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "inputs": [ { "name": "_arbitrator", "type": "address" }, { "name": "_arbitratorExtraData", "type": "bytes" }, { "name": "_metaEvidence", "type": "string" }, { "name": "_blacklist", "type": "bool" }, { "name": "_appendOnly", "type": "bool" }, { "name": "_rechallengePossible", "type": "bool" }, { "name": "_stake", "type": "uint256" }, { "name": "_timeToChallenge", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "submitter", "type": "address" }, { "indexed": true, "name": "challenger", "type": "address" }, { "indexed": true, "name": "value", "type": "bytes32" }, { "indexed": false, "name": "status", "type": "uint8" }, { "indexed": false, "name": "disputed", "type": "bool" } ], "name": "ItemStatusChange", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_metaEvidenceID", "type": "uint256" }, { "indexed": false, "name": "_evidence", "type": "string" } ], "name": "MetaEvidence", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_arbitrator", "type": "address" }, { "indexed": true, "name": "_disputeID", "type": "uint256" }, { "indexed": false, "name": "_metaEvidenceID", "type": "uint256" } ], "name": "Dispute", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_arbitrator", "type": "address" }, { "indexed": true, "name": "_disputeID", "type": "uint256" }, { "indexed": true, "name": "_party", "type": "address" }, { "indexed": false, "name": "_evidence", "type": "string" } ], "name": "Evidence", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_arbitrator", "type": "address" }, { "indexed": true, "name": "_disputeID", "type": "uint256" }, { "indexed": false, "name": "_ruling", "type": "uint256" } ], "name": "Ruling", "type": "event" }, { "constant": false, "inputs": [ { "name": "_value", "type": "bytes32" } ], "name": "requestRegistration", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_value", "type": "bytes32" } ], "name": "requestClearing", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_value", "type": "bytes32" } ], "name": "challengeRegistration", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_value", "type": "bytes32" } ], "name": "challengeClearing", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_value", "type": "bytes32" } ], "name": "appeal", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_value", "type": "bytes32" } ], "name": "executeRequest", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_value", "type": "bytes32" } ], "name": "isPermitted", "outputs": [ { "name": "allowed", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "itemsCount", "outputs": [ { "name": "count", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "itemsCounts", "outputs": [ { "name": "pending", "type": "uint256" }, { "name": "challenged", "type": "uint256" }, { "name": "accepted", "type": "uint256" }, { "name": "rejected", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_cursor", "type": "bytes32" }, { "name": "_count", "type": "uint256" }, { "name": "_filter", "type": "bool[6]" }, { "name": "_sort", "type": "bool" } ], "name": "queryItems", "outputs": [ { "name": "values", "type": "bytes32[]" }, { "name": "hasMore", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "bytecode": "0x60806040523480156200001157600080fd5b5060405162002480380380620024808339810160409081528151602080840151928401516060850151608086015160a087015160c088015160e089015160008054600160a060020a031916600160a060020a038a16179055978901805197999098950196939592949193909289918991620000929160019184019062000180565b50505060007f61606860eb6c87306811e2695215385101daab53bd6ab4e9f9049aead9363c7d876040518080602001828103825283818151815260200191508051906020019080838360005b83811015620000f8578181015183820152602001620000de565b50505050905090810190601f168015620001265780820380516001836020036101000a031916815260200191505b509250505060405180910390a26002805460ff19169515159590951761ff001916610100941515949094029390931762ff000019166201000092151592909202919091179092556003919091556004555062000225915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001c357805160ff1916838001178555620001f3565b82800160010185558215620001f3579182015b82811115620001f3578251825591602001919060010190620001d6565b506200020192915062000205565b5090565b6200022291905b808211156200020157600081556001016200020c565b90565b61224b80620002356000396000f30060806040526004361061011c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630689d0ff81146101215780630c7ac7b61461014857806324642510146101d2578063311a6c56146101fb578063342d9a04146102185780633a4b66f114610223578063409c88281461023857806348f343f314610250578063675629fe146102c65780636cc6cde1146102db57806381a1fa021461030c5780638e604b1d1461034757806393519d66146103f5578063a4b5fa5614610400578063b783d6c714610415578063bc16272d14610420578063beabdb7b1461042b578063c2bd9d9514610443578063e2c03ace1461045b578063e9c2416614610470578063ece1de4414610488575b600080fd5b34801561012d57600080fd5b50610136610493565b60408051918252519081900360200190f35b34801561015457600080fd5b5061015d610499565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019757818101518382015260200161017f565b50505050905090810190601f1680156101c45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101de57600080fd5b506101e7610526565b604080519115158252519081900360200190f35b34801561020757600080fd5b50610216600435602435610535565b005b610216600435610602565b34801561022f57600080fd5b50610136610b45565b34801561024457600080fd5b50610136600435610b4b565b34801561025c57600080fd5b50610268600435610b5d565b6040518088600681111561027857fe5b60ff168152602081019790975250600160a060020a039485166040808801919091529390941660608601526080850191909152151560a084015260c0830191909152519081900360e0019150f35b3480156102d257600080fd5b506101e7610baf565b3480156102e757600080fd5b506102f0610bbd565b60408051600160a060020a039092168252519081900360200190f35b34801561031857600080fd5b50610321610bcc565b604080519485526020850193909352838301919091526060830152519081900360800190f35b34801561035357600080fd5b506040805160c08181019092526103969160048035926024359236929161010491604490600690839083908082843750939650505050903515159150610cb99050565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156103e05781810151838201526020016103c8565b50505050905001935050505060405180910390f35b610216600435610fc7565b34801561040c57600080fd5b506101e76112ff565b610216600435611308565b61021660043561168e565b34801561043757600080fd5b506101e76004356118a7565b34801561044f57600080fd5b50610136600435611912565b34801561046757600080fd5b50610136611931565b34801561047c57600080fd5b50610216600435611937565b610216600435611bcb565b60045481565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561051e5780601f106104f35761010080835404028352916020019161051e565b820191906000526020600020905b81548152906001019060200180831161050157829003601f168201915b505050505081565b60025462010000900460ff1681565b600054600160a060020a031633146105bd576040805160e560020a62461bcd02815260206004820152602560248201527f43616e206f6e6c792062652063616c6c6564206279207468652061726269747260448201527f61746f722e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080518281529051839133917f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769181900360200190a36105fe8282611cd9565b5050565b60008181526005602090815260408083208354915160e060020a63f7434ea9028152600481019384526001805460028183161561010002600019019091160460248301819052929594600160a060020a039094169363f7434ea99391929091829160440190849080156106b65780601f1061068b576101008083540402835291602001916106b6565b820191906000526020600020905b81548152906001019060200180831161069957829003601f168201915b505092505050602060405180830381600087803b1580156106d657600080fd5b505af11580156106ea573d6000803e3d6000fd5b505050506040513d602081101561070057600080fd5b5051600354909150810134101561074f576040805160e560020a62461bcd02815260206004820152600f6024820152600080516020612200833981519152604482015290519081900360640190fd5b6005825460ff16600681111561076157fe5b148061077c57506006825460ff16600681111561077a57fe5b145b15156107f8576040805160e560020a62461bcd02815260206004820152602560248201527f4974656d20696e2077726f6e672073746174757320666f72206368616c6c656e60448201527f67696e672e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600582015460ff161561087b576040805160e560020a62461bcd02815260206004820152602260248201527f4974656d2063616e6e6f7420626520616c7265616479206368616c6c656e676560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60048201548111610a365760038201805473ffffffffffffffffffffffffffffffffffffffff191633179055600480830180543484900301905560058301805460ff19166001908117909155600054604080517fc13517e100000000000000000000000000000000000000000000000000000000815260029481018581526024820192835284548086161561010002600019011686900460448301819052600160a060020a03949094169563c13517e1958895919490939091606490910190849080156109895780601f1061095e57610100808354040283529160200191610989565b820191906000526020600020905b81548152906001019060200180831161096c57829003601f168201915b505093505050506020604051808303818588803b1580156109a957600080fd5b505af11580156109bd573d6000803e3d6000fd5b50505050506040513d60208110156109d457600080fd5b5051600680840182815560009283526020918252604080842087905590548354825194855291519093600160a060020a03909216927fc21357d76c2ee05713ed6e2edb9a5f60ab1e8748c56201385df30007f774f58d928290030190a3610ad6565b6005825460ff166006811115610a4857fe5b1415610a67578154600390839060ff19166001835b0217905550610a70565b815460ff191682555b60028201546004830154604051600160a060020a039092169181156108fc0291906000818181858888f150506000600486018190556040513394503480156108fc029450925090818181858888f19350505050158015610ad4573d6000803e3d6000fd5b505b42600183015560038201546002830154835460058501546040518794600160a060020a039081169416926000805160206121e08339815191529260ff9182169291169080836006811115610b2657fe5b60ff1681529115156020830152506040805191829003019150a4505050565b60035481565b60066020526000908152604090205481565b6005602081905260009182526040909120805460018201546002830154600384015460048501549585015460069095015460ff948516969395600160a060020a03938416959290931693929091169087565b600254610100900460ff1681565b600054600160a060020a031681565b600080808080805b600754821015610cb15760056000600784815481101515610bf157fe5b600091825260208083209091015483528201929092526040019020600581015490915060ff1615610c2757600190940193610ca6565b6002815460ff166006811115610c3957fe5b1480610c5457506004815460ff166006811115610c5257fe5b145b15610c6457600190950194610ca6565b6003815460ff166006811115610c7657fe5b1415610c8757600190930192610ca6565b6001815460ff166006811115610c9957fe5b1415610ca6576001909201915b600190910190610bd4565b505090919293565b606060008060008060008089604051908082528060200260200182016040528015610cee578160200160208202803883390190505b509650600093508a1515610d055760009450610da1565b600092505b600754831015610d4a57600780548c919085908110610d2557fe5b6000918252602090912001541415610d3f57829450610d4a565b600190920191610d0a565b841515610da1576040805160e560020a62461bcd02815260206004820152601660248201527f54686520637572736f7220697320696e76616c69642e00000000000000000000604482015290519081900360640190fd5b8415610dc45787610dba57600754859003600101610dbf565b846001015b610dd7565b87610dd0576001610dd3565b60005b60ff165b91505b87610dea57600754821115610df0565b60075482105b15610fb9576005600060078a610e0b57600754859003610e0d565b845b81548110610e1757fe5b6000918252602080832090910154835282019290925260400181209150815460ff166006811115610e4457fe5b14158015610e6257506006815460ff166006811115610e5f57fe5b14155b8015610f4c575088518015610e9f57506002815460ff166006811115610e8457fe5b1480610e9f57506004815460ff166006811115610e9d57fe5b145b80610eba575060208901518015610eba5750600581015460ff165b80610ee0575060408901518015610ee057506003815460ff166006811115610ede57fe5b145b80610f06575060608901518015610f0657506001815460ff166006811115610f0457fe5b145b80610f29575060808901518015610f2957506002810154600160a060020a031633145b80610f4c575060a08901518015610f4c57506003810154600160a060020a031633145b15610fae5789841015610fa557600788610f6b57600754839003610f6d565b825b81548110610f7757fe5b90600052602060002001548785815181101515610f9057fe5b60209081029091010152600190930192610fae565b60019550610fb9565b600190910190610dda565b505050505094509492505050565b60008181526005602090815260408083208354915160e060020a63f7434ea9028152600481019384526001805460028183161561010002600019019091160460248301819052929594600160a060020a039094169363f7434ea993919290918291604401908490801561107b5780601f106110505761010080835404028352916020019161107b565b820191906000526020600020905b81548152906001019060200180831161105e57829003601f168201915b505092505050602060405180830381600087803b15801561109b57600080fd5b505af11580156110af573d6000803e3d6000fd5b505050506040513d60208110156110c557600080fd5b5051600254909150610100900460ff161561112a576040805160e560020a62461bcd02815260206004820152601460248201527f4c69737420697320617070656e64206f6e6c792e000000000000000000000000604482015290519081900360640190fd5b6003548101341015611174576040805160e560020a62461bcd02815260206004820152600f6024820152600080516020612200833981519152604482015290519081900360640190fd5b6003825460ff16600681111561118657fe5b14156111a5578154600590839060ff19166001835b0217905550611246565b6000825460ff1660068111156111b757fe5b14156111d0578154600690839060ff191660018361119b565b6040805160e560020a62461bcd02815260206004820152602260248201527f4974656d20696e2077726f6e672073746174757320666f7220636c656172696e60448201527f672e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6001820154151561128757600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688018390555b60028201805473ffffffffffffffffffffffffffffffffffffffff1916331790819055600483018054340190554260018401556003830154835460058501546040518794600160a060020a039485169416926000805160206121e08339815191529260ff9182169291169080836006811115610b2657fe5b60025460ff1681565b60008181526005602090815260408083208354915160e060020a63f7434ea9028152600481019384526001805460028183161561010002600019019091160460248301819052929594600160a060020a039094169363f7434ea99391929091829160440190849080156113bc5780601f10611391576101008083540402835291602001916113bc565b820191906000526020600020905b81548152906001019060200180831161139f57829003601f168201915b505092505050602060405180830381600087803b1580156113dc57600080fd5b505af11580156113f0573d6000803e3d6000fd5b505050506040513d602081101561140657600080fd5b50516003549091508101341015611455576040805160e560020a62461bcd02815260206004820152600f6024820152600080516020612200833981519152604482015290519081900360640190fd5b6002825460ff16600681111561146757fe5b148061148257506004825460ff16600681111561148057fe5b145b15156114fe576040805160e560020a62461bcd02815260206004820152602560248201527f4974656d20696e2077726f6e672073746174757320666f72206368616c6c656e60448201527f67696e672e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600582015460ff1615611581576040805160e560020a62461bcd02815260206004820152602260248201527f4974656d2063616e6e6f7420626520616c7265616479206368616c6c656e676560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600482015481116116645760038201805473ffffffffffffffffffffffffffffffffffffffff191633179055600480830180543484900301905560058301805460ff19166001908117909155600054604080517fc13517e100000000000000000000000000000000000000000000000000000000815260029481018581526024820192835284548086161561010002600019011686900460448301819052600160a060020a03949094169563c13517e1958895919490939091606490910190849080156109895780601f1061095e57610100808354040283529160200191610989565b6002825460ff16600681111561167657fe5b1415610a67578154600190839060ff19168280610a5d565b60008181526005602090815260408083208354915160e060020a63f7434ea9028152600481019384526001805460028183161561010002600019019091160460248301819052929594600160a060020a039094169363f7434ea99391929091829160440190849080156117425780601f1061171757610100808354040283529160200191611742565b820191906000526020600020905b81548152906001019060200180831161172557829003601f168201915b505092505050602060405180830381600087803b15801561176257600080fd5b505af1158015611776573d6000803e3d6000fd5b505050506040513d602081101561178c57600080fd5b505160035490915081013410156117db576040805160e560020a62461bcd02815260206004820152600f6024820152600080516020612200833981519152604482015290519081900360640190fd5b6000825460ff1660068111156117ed57fe5b1415611806578154600490839060ff191660018361119b565b6001825460ff16600681111561181857fe5b1415611831578154600290839060ff191660018361119b565b6040805160e560020a62461bcd02815260206004820152602660248201527f4974656d20696e2077726f6e672073746174757320666f72207265676973747260448201527f6174696f6e2e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000818152600560205260408120816002825460ff1660068111156118c857fe5b1115806118f457506006825460ff1660068111156118e257fe5b1480156118f45750600582015460ff16155b60025490915060ff1661190857801561190a565b805b949350505050565b600780548290811061192057fe5b600091825260209091200154905081565b60075490565b60008181526005602052604090206004546001820154420310156119cb576040805160e560020a62461bcd02815260206004820152602960248201527f5468652074696d6520746f206368616c6c656e676520686173206e6f7420706160448201527f73736564207965742e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600581015460ff1615611a28576040805160e560020a62461bcd02815260206004820152601b60248201527f546865206974656d206973207374696c6c2064697370757465642e0000000000604482015290519081900360640190fd5b6002815460ff166006811115611a3a57fe5b1480611a5557506004815460ff166006811115611a5357fe5b145b15611a73578054600390829060ff19166001835b0217905550611b2d565b6005815460ff166006811115611a8557fe5b1480611aa057506006815460ff166006811115611a9e57fe5b145b15611ab7578054600190829060ff19168280611a69565b6040805160e560020a62461bcd02815260206004820152602b60248201527f4974656d20696e2077726f6e672073746174757320666f72206578656375746960448201527f6e6720726571756573742e000000000000000000000000000000000000000000606482015290519081900360840190fd5b60028101546004820154604051600160a060020a039092169181156108fc0291906000818181858888f150506000600485015550505060038101546002820154825460058401546040518694600160a060020a039081169416926000805160206121e08339815191529260ff9182169291169080836006811115611bad57fe5b60ff1681529115156020830152506040805191829003019150a45050565b6000818152600560205260408082209154600683015482517f49912f8800000000000000000000000000000000000000000000000000000000815260048101828152602482019485526001805460028183161561010002600019019091160460448401819052600160a060020a03909516956349912f88953495949293926064019084908015611c9c5780601f10611c7157610100808354040283529160200191611c9c565b820191906000526020600020905b815481529060010190602001808311611c7f57829003601f168201915b505093505050506000604051808303818588803b158015611cbc57600080fd5b505af1158015611cd0573d6000803e3d6000fd5b50505050505050565b6000828152600660209081526040808320548352600591829052822090810154909190819060ff161515611d57576040805160e560020a62461bcd02815260206004820152601960248201527f546865206974656d206973206e6f742064697370757465642e00000000000000604482015290519081900360640190fd5b6001841415611f8e5760025462010000900460ff168015611d8757506004835460ff166006811115611d8557fe5b145b15611edd5760005460405160e060020a63f7434ea90281526020600482019081526001805460026000198284161561010002019091160460248401819052600160a060020a039094169363f7434ea993919291829160449091019084908015611e315780601f10611e0657610100808354040283529160200191611e31565b820191906000526020600020905b815481529060010190602001808311611e1457829003601f168201915b505092505050602060405180830381600087803b158015611e5157600080fd5b505af1158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b505160048401546003549193509083011015611ed857506003546004830154600284015460405192840190910391600160a060020a039091169082156108fc029083906000818181858888f1505050600485018054849003905550505b611f89565b6002835460ff166006811115611eef57fe5b1480611f0a57506004835460ff166006811115611f0857fe5b145b15611f445760028301546004840154604051600160a060020a039092169181156108fc0291906000818181858888f1935050505050611f74565b60038301546004840154604051600160a060020a039092169181156108fc0291906000818181858888f150505050505b8254600390849060ff19166001835b02179055505b612108565b6002841415612040576006835460ff166006811115611fa957fe5b1480611fc457506005835460ff166006811115611fc257fe5b145b15611ffe5760028301546004840154604051600160a060020a039092169181156108fc0291906000818181858888f193505050505061202e565b60038301546004840154604051600160a060020a039092169181156108fc0291906000818181858888f150505050505b8254600190849060ff19168280611f83565b6002835460ff16600681111561205257fe5b1415612070578254600190849060ff191682805b02179055506120a4565b6005835460ff16600681111561208257fe5b141561209b578254600390849060ff1916600183612066565b825460ff191683555b6002838101546004850154604051600160a060020a0390921692900480156108fc02916000818181858888f15050505060038401546004850154604051600160a060020a0390921692506002900480156108fc02916000818181858888f150505050505b60058301805460ff1916905560025462010000900460ff16801561213b57506004835460ff16600681111561213957fe5b145b80156121475750600184145b156121575742600184015561215f565b600060048401555b60008581526006602081905260409182902054600386015460028701548754600589015495519395600160a060020a039384169592909316936000805160206121e08339815191529360ff92831693921691819084908111156121be57fe5b60ff1681529115156020830152506040805191829003019150a450505050505600a4beab79462e336293c2f229498d5942d3b4642806ab2820d6b7846d42d7e21a4e6f7420656e6f756768204554482e0000000000000000000000000000000000a165627a7a72305820fed8ef7015b9b40fcd55c665dd5705d5d2d955f21304be69c91baf16c1b960ad0029", "deployedBytecode": "0x60806040526004361061011c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630689d0ff81146101215780630c7ac7b61461014857806324642510146101d2578063311a6c56146101fb578063342d9a04146102185780633a4b66f114610223578063409c88281461023857806348f343f314610250578063675629fe146102c65780636cc6cde1146102db57806381a1fa021461030c5780638e604b1d1461034757806393519d66146103f5578063a4b5fa5614610400578063b783d6c714610415578063bc16272d14610420578063beabdb7b1461042b578063c2bd9d9514610443578063e2c03ace1461045b578063e9c2416614610470578063ece1de4414610488575b600080fd5b34801561012d57600080fd5b50610136610493565b60408051918252519081900360200190f35b34801561015457600080fd5b5061015d610499565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019757818101518382015260200161017f565b50505050905090810190601f1680156101c45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101de57600080fd5b506101e7610526565b604080519115158252519081900360200190f35b34801561020757600080fd5b50610216600435602435610535565b005b610216600435610602565b34801561022f57600080fd5b50610136610b45565b34801561024457600080fd5b50610136600435610b4b565b34801561025c57600080fd5b50610268600435610b5d565b6040518088600681111561027857fe5b60ff168152602081019790975250600160a060020a039485166040808801919091529390941660608601526080850191909152151560a084015260c0830191909152519081900360e0019150f35b3480156102d257600080fd5b506101e7610baf565b3480156102e757600080fd5b506102f0610bbd565b60408051600160a060020a039092168252519081900360200190f35b34801561031857600080fd5b50610321610bcc565b604080519485526020850193909352838301919091526060830152519081900360800190f35b34801561035357600080fd5b506040805160c08181019092526103969160048035926024359236929161010491604490600690839083908082843750939650505050903515159150610cb99050565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156103e05781810151838201526020016103c8565b50505050905001935050505060405180910390f35b610216600435610fc7565b34801561040c57600080fd5b506101e76112ff565b610216600435611308565b61021660043561168e565b34801561043757600080fd5b506101e76004356118a7565b34801561044f57600080fd5b50610136600435611912565b34801561046757600080fd5b50610136611931565b34801561047c57600080fd5b50610216600435611937565b610216600435611bcb565b60045481565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561051e5780601f106104f35761010080835404028352916020019161051e565b820191906000526020600020905b81548152906001019060200180831161050157829003601f168201915b505050505081565b60025462010000900460ff1681565b600054600160a060020a031633146105bd576040805160e560020a62461bcd02815260206004820152602560248201527f43616e206f6e6c792062652063616c6c6564206279207468652061726269747260448201527f61746f722e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080518281529051839133917f394027a5fa6e098a1191094d1719d6929b9abc535fcc0c8f448d6a4e756222769181900360200190a36105fe8282611cd9565b5050565b60008181526005602090815260408083208354915160e060020a63f7434ea9028152600481019384526001805460028183161561010002600019019091160460248301819052929594600160a060020a039094169363f7434ea99391929091829160440190849080156106b65780601f1061068b576101008083540402835291602001916106b6565b820191906000526020600020905b81548152906001019060200180831161069957829003601f168201915b505092505050602060405180830381600087803b1580156106d657600080fd5b505af11580156106ea573d6000803e3d6000fd5b505050506040513d602081101561070057600080fd5b5051600354909150810134101561074f576040805160e560020a62461bcd02815260206004820152600f6024820152600080516020612200833981519152604482015290519081900360640190fd5b6005825460ff16600681111561076157fe5b148061077c57506006825460ff16600681111561077a57fe5b145b15156107f8576040805160e560020a62461bcd02815260206004820152602560248201527f4974656d20696e2077726f6e672073746174757320666f72206368616c6c656e60448201527f67696e672e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600582015460ff161561087b576040805160e560020a62461bcd02815260206004820152602260248201527f4974656d2063616e6e6f7420626520616c7265616479206368616c6c656e676560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60048201548111610a365760038201805473ffffffffffffffffffffffffffffffffffffffff191633179055600480830180543484900301905560058301805460ff19166001908117909155600054604080517fc13517e100000000000000000000000000000000000000000000000000000000815260029481018581526024820192835284548086161561010002600019011686900460448301819052600160a060020a03949094169563c13517e1958895919490939091606490910190849080156109895780601f1061095e57610100808354040283529160200191610989565b820191906000526020600020905b81548152906001019060200180831161096c57829003601f168201915b505093505050506020604051808303818588803b1580156109a957600080fd5b505af11580156109bd573d6000803e3d6000fd5b50505050506040513d60208110156109d457600080fd5b5051600680840182815560009283526020918252604080842087905590548354825194855291519093600160a060020a03909216927fc21357d76c2ee05713ed6e2edb9a5f60ab1e8748c56201385df30007f774f58d928290030190a3610ad6565b6005825460ff166006811115610a4857fe5b1415610a67578154600390839060ff19166001835b0217905550610a70565b815460ff191682555b60028201546004830154604051600160a060020a039092169181156108fc0291906000818181858888f150506000600486018190556040513394503480156108fc029450925090818181858888f19350505050158015610ad4573d6000803e3d6000fd5b505b42600183015560038201546002830154835460058501546040518794600160a060020a039081169416926000805160206121e08339815191529260ff9182169291169080836006811115610b2657fe5b60ff1681529115156020830152506040805191829003019150a4505050565b60035481565b60066020526000908152604090205481565b6005602081905260009182526040909120805460018201546002830154600384015460048501549585015460069095015460ff948516969395600160a060020a03938416959290931693929091169087565b600254610100900460ff1681565b600054600160a060020a031681565b600080808080805b600754821015610cb15760056000600784815481101515610bf157fe5b600091825260208083209091015483528201929092526040019020600581015490915060ff1615610c2757600190940193610ca6565b6002815460ff166006811115610c3957fe5b1480610c5457506004815460ff166006811115610c5257fe5b145b15610c6457600190950194610ca6565b6003815460ff166006811115610c7657fe5b1415610c8757600190930192610ca6565b6001815460ff166006811115610c9957fe5b1415610ca6576001909201915b600190910190610bd4565b505090919293565b606060008060008060008089604051908082528060200260200182016040528015610cee578160200160208202803883390190505b509650600093508a1515610d055760009450610da1565b600092505b600754831015610d4a57600780548c919085908110610d2557fe5b6000918252602090912001541415610d3f57829450610d4a565b600190920191610d0a565b841515610da1576040805160e560020a62461bcd02815260206004820152601660248201527f54686520637572736f7220697320696e76616c69642e00000000000000000000604482015290519081900360640190fd5b8415610dc45787610dba57600754859003600101610dbf565b846001015b610dd7565b87610dd0576001610dd3565b60005b60ff165b91505b87610dea57600754821115610df0565b60075482105b15610fb9576005600060078a610e0b57600754859003610e0d565b845b81548110610e1757fe5b6000918252602080832090910154835282019290925260400181209150815460ff166006811115610e4457fe5b14158015610e6257506006815460ff166006811115610e5f57fe5b14155b8015610f4c575088518015610e9f57506002815460ff166006811115610e8457fe5b1480610e9f57506004815460ff166006811115610e9d57fe5b145b80610eba575060208901518015610eba5750600581015460ff165b80610ee0575060408901518015610ee057506003815460ff166006811115610ede57fe5b145b80610f06575060608901518015610f0657506001815460ff166006811115610f0457fe5b145b80610f29575060808901518015610f2957506002810154600160a060020a031633145b80610f4c575060a08901518015610f4c57506003810154600160a060020a031633145b15610fae5789841015610fa557600788610f6b57600754839003610f6d565b825b81548110610f7757fe5b90600052602060002001548785815181101515610f9057fe5b60209081029091010152600190930192610fae565b60019550610fb9565b600190910190610dda565b505050505094509492505050565b60008181526005602090815260408083208354915160e060020a63f7434ea9028152600481019384526001805460028183161561010002600019019091160460248301819052929594600160a060020a039094169363f7434ea993919290918291604401908490801561107b5780601f106110505761010080835404028352916020019161107b565b820191906000526020600020905b81548152906001019060200180831161105e57829003601f168201915b505092505050602060405180830381600087803b15801561109b57600080fd5b505af11580156110af573d6000803e3d6000fd5b505050506040513d60208110156110c557600080fd5b5051600254909150610100900460ff161561112a576040805160e560020a62461bcd02815260206004820152601460248201527f4c69737420697320617070656e64206f6e6c792e000000000000000000000000604482015290519081900360640190fd5b6003548101341015611174576040805160e560020a62461bcd02815260206004820152600f6024820152600080516020612200833981519152604482015290519081900360640190fd5b6003825460ff16600681111561118657fe5b14156111a5578154600590839060ff19166001835b0217905550611246565b6000825460ff1660068111156111b757fe5b14156111d0578154600690839060ff191660018361119b565b6040805160e560020a62461bcd02815260206004820152602260248201527f4974656d20696e2077726f6e672073746174757320666f7220636c656172696e60448201527f672e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6001820154151561128757600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688018390555b60028201805473ffffffffffffffffffffffffffffffffffffffff1916331790819055600483018054340190554260018401556003830154835460058501546040518794600160a060020a039485169416926000805160206121e08339815191529260ff9182169291169080836006811115610b2657fe5b60025460ff1681565b60008181526005602090815260408083208354915160e060020a63f7434ea9028152600481019384526001805460028183161561010002600019019091160460248301819052929594600160a060020a039094169363f7434ea99391929091829160440190849080156113bc5780601f10611391576101008083540402835291602001916113bc565b820191906000526020600020905b81548152906001019060200180831161139f57829003601f168201915b505092505050602060405180830381600087803b1580156113dc57600080fd5b505af11580156113f0573d6000803e3d6000fd5b505050506040513d602081101561140657600080fd5b50516003549091508101341015611455576040805160e560020a62461bcd02815260206004820152600f6024820152600080516020612200833981519152604482015290519081900360640190fd5b6002825460ff16600681111561146757fe5b148061148257506004825460ff16600681111561148057fe5b145b15156114fe576040805160e560020a62461bcd02815260206004820152602560248201527f4974656d20696e2077726f6e672073746174757320666f72206368616c6c656e60448201527f67696e672e000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600582015460ff1615611581576040805160e560020a62461bcd02815260206004820152602260248201527f4974656d2063616e6e6f7420626520616c7265616479206368616c6c656e676560448201527f642e000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600482015481116116645760038201805473ffffffffffffffffffffffffffffffffffffffff191633179055600480830180543484900301905560058301805460ff19166001908117909155600054604080517fc13517e100000000000000000000000000000000000000000000000000000000815260029481018581526024820192835284548086161561010002600019011686900460448301819052600160a060020a03949094169563c13517e1958895919490939091606490910190849080156109895780601f1061095e57610100808354040283529160200191610989565b6002825460ff16600681111561167657fe5b1415610a67578154600190839060ff19168280610a5d565b60008181526005602090815260408083208354915160e060020a63f7434ea9028152600481019384526001805460028183161561010002600019019091160460248301819052929594600160a060020a039094169363f7434ea99391929091829160440190849080156117425780601f1061171757610100808354040283529160200191611742565b820191906000526020600020905b81548152906001019060200180831161172557829003601f168201915b505092505050602060405180830381600087803b15801561176257600080fd5b505af1158015611776573d6000803e3d6000fd5b505050506040513d602081101561178c57600080fd5b505160035490915081013410156117db576040805160e560020a62461bcd02815260206004820152600f6024820152600080516020612200833981519152604482015290519081900360640190fd5b6000825460ff1660068111156117ed57fe5b1415611806578154600490839060ff191660018361119b565b6001825460ff16600681111561181857fe5b1415611831578154600290839060ff191660018361119b565b6040805160e560020a62461bcd02815260206004820152602660248201527f4974656d20696e2077726f6e672073746174757320666f72207265676973747260448201527f6174696f6e2e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000818152600560205260408120816002825460ff1660068111156118c857fe5b1115806118f457506006825460ff1660068111156118e257fe5b1480156118f45750600582015460ff16155b60025490915060ff1661190857801561190a565b805b949350505050565b600780548290811061192057fe5b600091825260209091200154905081565b60075490565b60008181526005602052604090206004546001820154420310156119cb576040805160e560020a62461bcd02815260206004820152602960248201527f5468652074696d6520746f206368616c6c656e676520686173206e6f7420706160448201527f73736564207965742e0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600581015460ff1615611a28576040805160e560020a62461bcd02815260206004820152601b60248201527f546865206974656d206973207374696c6c2064697370757465642e0000000000604482015290519081900360640190fd5b6002815460ff166006811115611a3a57fe5b1480611a5557506004815460ff166006811115611a5357fe5b145b15611a73578054600390829060ff19166001835b0217905550611b2d565b6005815460ff166006811115611a8557fe5b1480611aa057506006815460ff166006811115611a9e57fe5b145b15611ab7578054600190829060ff19168280611a69565b6040805160e560020a62461bcd02815260206004820152602b60248201527f4974656d20696e2077726f6e672073746174757320666f72206578656375746960448201527f6e6720726571756573742e000000000000000000000000000000000000000000606482015290519081900360840190fd5b60028101546004820154604051600160a060020a039092169181156108fc0291906000818181858888f150506000600485015550505060038101546002820154825460058401546040518694600160a060020a039081169416926000805160206121e08339815191529260ff9182169291169080836006811115611bad57fe5b60ff1681529115156020830152506040805191829003019150a45050565b6000818152600560205260408082209154600683015482517f49912f8800000000000000000000000000000000000000000000000000000000815260048101828152602482019485526001805460028183161561010002600019019091160460448401819052600160a060020a03909516956349912f88953495949293926064019084908015611c9c5780601f10611c7157610100808354040283529160200191611c9c565b820191906000526020600020905b815481529060010190602001808311611c7f57829003601f168201915b505093505050506000604051808303818588803b158015611cbc57600080fd5b505af1158015611cd0573d6000803e3d6000fd5b50505050505050565b6000828152600660209081526040808320548352600591829052822090810154909190819060ff161515611d57576040805160e560020a62461bcd02815260206004820152601960248201527f546865206974656d206973206e6f742064697370757465642e00000000000000604482015290519081900360640190fd5b6001841415611f8e5760025462010000900460ff168015611d8757506004835460ff166006811115611d8557fe5b145b15611edd5760005460405160e060020a63f7434ea90281526020600482019081526001805460026000198284161561010002019091160460248401819052600160a060020a039094169363f7434ea993919291829160449091019084908015611e315780601f10611e0657610100808354040283529160200191611e31565b820191906000526020600020905b815481529060010190602001808311611e1457829003601f168201915b505092505050602060405180830381600087803b158015611e5157600080fd5b505af1158015611e65573d6000803e3d6000fd5b505050506040513d6020811015611e7b57600080fd5b505160048401546003549193509083011015611ed857506003546004830154600284015460405192840190910391600160a060020a039091169082156108fc029083906000818181858888f1505050600485018054849003905550505b611f89565b6002835460ff166006811115611eef57fe5b1480611f0a57506004835460ff166006811115611f0857fe5b145b15611f445760028301546004840154604051600160a060020a039092169181156108fc0291906000818181858888f1935050505050611f74565b60038301546004840154604051600160a060020a039092169181156108fc0291906000818181858888f150505050505b8254600390849060ff19166001835b02179055505b612108565b6002841415612040576006835460ff166006811115611fa957fe5b1480611fc457506005835460ff166006811115611fc257fe5b145b15611ffe5760028301546004840154604051600160a060020a039092169181156108fc0291906000818181858888f193505050505061202e565b60038301546004840154604051600160a060020a039092169181156108fc0291906000818181858888f150505050505b8254600190849060ff19168280611f83565b6002835460ff16600681111561205257fe5b1415612070578254600190849060ff191682805b02179055506120a4565b6005835460ff16600681111561208257fe5b141561209b578254600390849060ff1916600183612066565b825460ff191683555b6002838101546004850154604051600160a060020a0390921692900480156108fc02916000818181858888f15050505060038401546004850154604051600160a060020a0390921692506002900480156108fc02916000818181858888f150505050505b60058301805460ff1916905560025462010000900460ff16801561213b57506004835460ff16600681111561213957fe5b145b80156121475750600184145b156121575742600184015561215f565b600060048401555b60008581526006602081905260409182902054600386015460028701548754600589015495519395600160a060020a039384169592909316936000805160206121e08339815191529360ff92831693921691819084908111156121be57fe5b60ff1681529115156020830152506040805191829003019150a450505050505600a4beab79462e336293c2f229498d5942d3b4642806ab2820d6b7846d42d7e21a4e6f7420656e6f756768204554482e0000000000000000000000000000000000a165627a7a72305820fed8ef7015b9b40fcd55c665dd5705d5d2d955f21304be69c91baf16c1b960ad0029", "sourceMap": "1063:18449:45:-;;;4739:540;8:9:-1;5:2;;;30:1;27;20:12;5:2;4739:540:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2848:10:2;:24;;-1:-1:-1;;;;;;2848:24:2;-1:-1:-1;;;;;2848:24:2;;;;;4739:540:45;;;2882:42:2;;4739:540:45;;;;;;;;;;;;;;;;;;;2882:42:2;;-1:-1:-1;;2882:42:2;;;;:::i;:::-;;2767:164;;5069:1:45;5056:30;5072:13;5056:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5056:30:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5096:9;:22;;-1:-1:-1;;5096:22:45;;;;;;;;-1:-1:-1;;5128:24:45;5096:22;5128:24;;;;;;;;;;;-1:-1:-1;;5162:42:45;;;;;;;;;;;;;;;;5214:5;:14;;;;5238:15;:34;-1:-1:-1;1063:18449:45;;-1:-1:-1;;1063:18449:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1063:18449:45;;;-1:-1:-1;1063:18449:45;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", "deployedSourceMap": "1063:18449:45:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3586:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3586:27:45;;;;;;;;;;;;;;;;;;;;691:32:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;691:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;691:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3374:31:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3374:31:45;;;;;;;;;;;;;;;;;;;;;;3332:182:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3332:182:2;;;;;;;;;9321:1637:45;;;;;;3476:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3476:17:45;;;;3830:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3830:47:45;;;;;3787:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3787:37:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3787:37:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3787:37:45;3303:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3303:22:45;;;;657:28:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;657:28:2;;;;;;;;-1:-1:-1;;;;;657:28:2;;;;;;;;;;;;;;16340:523:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16340:523:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17441:2069;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17441:2069:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17441:2069:45;;-1:-1:-1;;;;17441:2069:45;;;;;-1:-1:-1;17441:2069:45;;-1:-1:-1;17441:2069:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;17441:2069:45;;;;;;;;;;;;;;;;;;6461:995;;;;;;3180:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3180:21:45;;;;7605:1574;;;;;;5427:914;;;;;;12875:379;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12875:379:45;;;;;3883:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3883:26:45;;;;;16096:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16096:96:45;;;;11627:913;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11627:913:45;;;;;11189:241;;;;;;3586:27;;;;:::o;691:32:2:-;;;;;;;;;;;;;;;-1:-1:-1;;691:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3374:31:45:-;;;;;;;;;:::o;3332:182:2:-;851:10;;-1:-1:-1;;;;;851:10:2;829;:33;821:83;;;;;-1:-1:-1;;;;;821:83:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3414:49;;;;;;;;3444:10;;3432;;3414:49;;;;;;;;;3474:33;3488:10;3499:7;3474:13;:33::i;:::-;3332:182;;:::o;9321:1637:45:-;9389:17;9409:13;;;:5;:13;;;;;;;;9454:10;;:47;;-1