@giveth/bridge-contract
Version:
Giveth bridge contract classes
731 lines • 59.6 kB
JSON
{
"contractName": "Vault",
"source": "./contracts/lib/Vault.sol",
"compilerOutput": {
"abi": [
{
"constant": true,
"inputs": [],
"name": "maxSecurityGuardDelay",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_newTimeLock",
"type": "uint256"
}
],
"name": "setTimelock",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "escapeHatchCaller",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_newOwner",
"type": "address"
}
],
"name": "changeOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "unpause",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_idPayment",
"type": "uint256"
}
],
"name": "disburseAuthorizedPayment",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "paused",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_dac",
"type": "address"
}
],
"name": "removeOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "allowed",
"type": "bool"
}
],
"name": "setAllowDisbursePaymentWhenPaused",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "numberOfAuthorizedPayments",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_newOwnerCandidate",
"type": "address"
}
],
"name": "proposeOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_spender",
"type": "address"
},
{
"name": "_authorize",
"type": "bool"
}
],
"name": "authorizeSpender",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "acceptOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_idPayment",
"type": "uint256"
}
],
"name": "cancelPayment",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "pause",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_idPayment",
"type": "uint256"
},
{
"name": "_delay",
"type": "uint256"
}
],
"name": "delayPayment",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "allowDisbursePaymentWhenPaused",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_idPayments",
"type": "uint256[]"
}
],
"name": "disburseAuthorizedPayments",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_token",
"type": "address"
}
],
"name": "isTokenEscapable",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "owner",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "uint256"
}
],
"name": "authorizedPayments",
"outputs": [
{
"name": "name",
"type": "string"
},
{
"name": "reference",
"type": "bytes32"
},
{
"name": "spender",
"type": "address"
},
{
"name": "earliestPayTime",
"type": "uint256"
},
{
"name": "canceled",
"type": "bool"
},
{
"name": "paid",
"type": "bool"
},
{
"name": "recipient",
"type": "address"
},
{
"name": "token",
"type": "address"
},
{
"name": "amount",
"type": "uint256"
},
{
"name": "securityGuardDelay",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_token",
"type": "address"
}
],
"name": "escapeHatch",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "securityGuard",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_newSecurityGuard",
"type": "address"
}
],
"name": "setSecurityGuard",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "timeLock",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "newOwnerCandidate",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_newEscapeHatchCaller",
"type": "address"
}
],
"name": "changeHatchEscapeCaller",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
}
],
"name": "allowedSpenders",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_maxSecurityGuardDelay",
"type": "uint256"
}
],
"name": "setMaxSecurityGuardDelay",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "absoluteMinTimeLock",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_name",
"type": "string"
},
{
"name": "_reference",
"type": "bytes32"
},
{
"name": "_recipient",
"type": "address"
},
{
"name": "_token",
"type": "address"
},
{
"name": "_amount",
"type": "uint256"
},
{
"name": "_paymentDelay",
"type": "uint256"
}
],
"name": "authorizePayment",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "escapeHatchDestination",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "_escapeHatchCaller",
"type": "address"
},
{
"name": "_escapeHatchDestination",
"type": "address"
},
{
"name": "_absoluteMinTimeLock",
"type": "uint256"
},
{
"name": "_timeLock",
"type": "uint256"
},
{
"name": "_securityGuard",
"type": "address"
},
{
"name": "_maxSecurityGuardDelay",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "idPayment",
"type": "uint256"
},
{
"indexed": true,
"name": "recipient",
"type": "address"
},
{
"indexed": false,
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"name": "token",
"type": "address"
},
{
"indexed": false,
"name": "reference",
"type": "bytes32"
}
],
"name": "PaymentAuthorized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "idPayment",
"type": "uint256"
},
{
"indexed": true,
"name": "recipient",
"type": "address"
},
{
"indexed": false,
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"name": "token",
"type": "address"
}
],
"name": "PaymentExecuted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "idPayment",
"type": "uint256"
}
],
"name": "PaymentCanceled",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "spender",
"type": "address"
},
{
"indexed": false,
"name": "authorized",
"type": "bool"
}
],
"name": "SpenderAuthorization",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "Pause",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "Unpause",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "token",
"type": "address"
}
],
"name": "EscapeHatchBlackistedToken",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "token",
"type": "address"
},
{
"indexed": false,
"name": "amount",
"type": "uint256"
}
],
"name": "EscapeHatchCalled",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "by",
"type": "address"
},
{
"indexed": true,
"name": "to",
"type": "address"
}
],
"name": "OwnershipRequested",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "from",
"type": "address"
},
{
"indexed": true,
"name": "to",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "OwnershipRemoved",
"type": "event"
}
],
"evm": {
"bytecode": {
"object": "60806040526005805460ff1916905534801561001a57600080fd5b5060405160c080611b7883398101604090815281516020830151918301516060840151608085015160a09095015160008054600160a060020a0319908116331790915560028054600160a060020a03968716908316179055600380549686169682169690961790955560089290925560095560078054929094169190921617909155600a55611aca806100ae6000396000f3006080604052600436106101955763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b2e7423811461019a5780631e891c0a146101c15780631f6eb6e7146101db5780632af4c31e1461020c5780633f4ba83a1461022d57806352892478146102425780635c975abb1461025a578063666a342714610283578063672f412c146102a457806368b8c5a1146102be578063710bf322146102d3578063793c0fd4146102f457806379ba50971461031a5780638422927d1461032f5780638456cb5914610347578063846a5dde1461035c578063859bcc7114610377578063863da0001461038c578063892db057146103e15780638da5cb5b14610402578063a0927a6a14610417578063a142d60814610501578063b2ca3ec414610522578063bb2a51d114610537578063d085835a14610558578063d091b5501461056d578063d836fbe814610582578063d8528af0146105a3578063da4793ac146105c4578063ea8a66c7146105dc578063f37b74ca146105f1578063f5b612301461062d575b600080fd5b3480156101a657600080fd5b506101af610642565b60408051918252519081900360200190f35b3480156101cd57600080fd5b506101d9600435610648565b005b3480156101e757600080fd5b506101f06106ac565b60408051600160a060020a039092168252519081900360200190f35b34801561021857600080fd5b506101d9600160a060020a03600435166106bb565b34801561023957600080fd5b506101d96107cc565b34801561024e57600080fd5b506101d9600435610862565b34801561026657600080fd5b5061026f610aa9565b604080519115158252519081900360200190f35b34801561028f57600080fd5b506101d9600160a060020a0360043516610ab2565b3480156102b057600080fd5b506101d96004351515610ba9565b3480156102ca57600080fd5b506101af610c1d565b3480156102df57600080fd5b506101d9600160a060020a0360043516610c24565b34801561030057600080fd5b506101d9600160a060020a03600435166024351515610cc6565b34801561032657600080fd5b506101d9610d76565b34801561033b57600080fd5b506101d9600435610e39565b34801561035357600080fd5b506101d9610f20565b34801561036857600080fd5b506101d9600435602435610f94565b34801561038357600080fd5b5061026f611046565b34801561039857600080fd5b50604080516020600480358082013583810280860185019096528085526101d99536959394602494938501929182918501908490808284375094975061104f9650505050505050565b3480156103ed57600080fd5b5061026f600160a060020a036004351661108f565b34801561040e57600080fd5b506101f06110ae565b34801561042357600080fd5b5061042f6004356110bd565b6040805160208082018c9052600160a060020a03808c1693830193909352606082018a9052881515608083015287151560a083015286831660c083015291851660e0820152610100810184905261012081018390526101408082528c51908201528b51909182916101608301918e019080838360005b838110156104bd5781810151838201526020016104a5565b50505050905090810190601f1680156104ea5780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b34801561050d57600080fd5b506101d9600160a060020a03600435166111be565b34801561052e57600080fd5b506101f0611513565b34801561054357600080fd5b506101d9600160a060020a0360043516611522565b34801561056457600080fd5b506101af611594565b34801561057957600080fd5b506101f061159a565b34801561058e57600080fd5b506101d9600160a060020a03600435166115a9565b3480156105af57600080fd5b5061026f600160a060020a0360043516611644565b3480156105d057600080fd5b506101d9600435611659565b3480156105e857600080fd5b506101af6116ae565b3480156105fd57600080fd5b506101af602460048035828101929101359035600160a060020a036044358116906064351660843560a4356116b4565b34801561063957600080fd5b506101f0611848565b600a5481565b600054600160a060020a03163314610698576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b6008548110156106a757600080fd5b600955565b600254600160a060020a031681565b60008054600160a060020a0316331461070c576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b600160a060020a038216151561076c576040805160e560020a62461bcd02815260206004820152601760248201527f6572725f6f776e6564496e76616c696441646472657373000000000000000000604482015290519081900360640190fd5b5060008054600160a060020a03838116600160a060020a031980841691909117808555600180549092169091556040519282169391169183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b600054600160a060020a0316331461081c576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b60055460ff16151561082d57600080fd5b6005805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60055460009060ff1615806108795750600b5460ff165b151561088457600080fd5b600654821061089257600080fd5b60068054839081106108a057fe5b60009182526020808320600260089093020191820154600160a060020a03168352600c905260409091205490915060ff1615156108dc57600080fd5b80600301546108e9611857565b10156108f457600080fd5b600481015460ff161561090657600080fd5b6004810154610100900460ff161561091d57600080fd5b60048101805461ff0019166101001790556005810154600160a060020a0316151561098d576004810154600682015460405162010000909204600160a060020a0316916108fc82150291906000818181858888f19350505050158015610987573d6000803e3d6000fd5b50610a47565b60058101546004808301546006840154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a036201000090940484169481019490945260248401919091525192169163a9059cbb916044808201926020929091908290030181600087803b158015610a1057600080fd5b505af1158015610a24573d6000803e3d6000fd5b505050506040513d6020811015610a3a57600080fd5b50511515610a4757600080fd5b60048101546006820154600583015460408051928352600160a060020a0391821660208401528051620100009094049091169285927f354f3c0c8efabe1a1a07cf222842b008ef284ac185e63bdf8245be8cd2d97f5192908290030190a35050565b60055460ff1681565b600054600160a060020a03163314610b02576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b610dac600160a060020a03821614610b64576040805160e560020a62461bcd02815260206004820152601360248201527f6572725f6f776e6564496e76616c696444616300000000000000000000000000604482015290519081900360640190fd5b60008054600160a060020a031990811682556001805490911690556040517f94e8b32e01b9eedfddd778ffbd051a7718cdc14781702884561162dca6f74dbb9190a150565b600054600160a060020a03163314610bf9576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b60055460ff161515610c0a57600080fd5b600b805460ff1916911515919091179055565b6006545b90565b600054600160a060020a03163314610c74576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b60018054600160a060020a031916600160a060020a03838116919091179182905560405191169033907f13a4b3bc0d5234dd3d87c9f1557d8faefa37986da62c36ba49309e2fb2c9aec490600090a350565b600054600160a060020a03163314610d16576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b600160a060020a0382166000818152600c6020908152604091829020805460ff1916851515908117909155825190815291517f801f568efbc3346a6ae3d0c3eb335a30d64e0d3cf08f1c39626d62cd5c8272819281900390910190a25050565b600154600090600160a060020a03163314610ddb576040805160e560020a62461bcd02815260206004820152601560248201527f6572725f6f776e65644e6f7443616e6469646174650000000000000000000000604482015290519081900360640190fd5b506000805460018054600160a060020a03808216600160a060020a03198086169190911780875592169092556040519282169391169183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b60008054600160a060020a03163314610e8a576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b6006548210610e9857600080fd5b6006805483908110610ea657fe5b60009182526020909120600890910201600481015490915060ff1615610ecb57600080fd5b6004810154610100900460ff1615610ee257600080fd5b60048101805460ff1916600117905560405182907ffdf197ed54809861dafe0b4d391843652730ac67274c1e9e46db7687dccaa30190600090a25050565b600054600160a060020a03163314610f70576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b60055460ff1615610f8057600080fd5b600b805460ff19169055610f9261185b565b565b600754600090600160a060020a03163314610fae57600080fd5b6006548310610fbc57600080fd5b670de0b6b3a7640000821115610fd157600080fd5b6006805484908110610fdf57fe5b90600052602060002090600802019050600a54828260070154011115151561100657600080fd5b6004810154610100900460ff161561101d57600080fd5b600481015460ff161561102f57600080fd5b600781018054830190556003018054909101905550565b600b5460ff1681565b6000805b825182101561108a57828281518110151561106a57fe5b90602001906020020151905061107f81610862565b600190910190611053565b505050565b600160a060020a031660009081526004602052604090205460ff161590565b600054600160a060020a031681565b60068054829081106110cb57fe5b60009182526020918290206008919091020180546040805160026001841615610100026000190190931692909204601f8101859004850283018501909152808252919350918391908301828280156111645780601f1061113957610100808354040283529160200191611164565b820191906000526020600020905b81548152906001019060200180831161114757829003601f168201915b5050505060018301546002840154600385015460048601546005870154600688015460079098015496979496600160a060020a039485169650929460ff80841695610100850490911694620100009094048116939216918a565b6002546000908190600160a060020a03163314806111e65750600054600160a060020a031633145b151561123c576040805160e560020a62461bcd02815260206004820152601a60248201527f6572725f657363617061626c65496e76616c696443616c6c6572000000000000604482015290519081900360640190fd5b600160a060020a03831660009081526004602052604090205460ff16156112ad576040805160e560020a62461bcd02815260206004820152601d60248201527f6572725f657363617061626c65426c61636b6c6973746564546f6b656e000000604482015290519081900360640190fd5b600160a060020a03831615156113455760035460405130319350600160a060020a03909116906108fc8415029084906000818181858888f193505050501580156112fb573d6000803e3d6000fd5b5060408051600160a060020a03851681526020810184905281517fa50dde912fa22ea0d215a0236093ac45b4d55d6ef0c604c319f900029c5d10f2929181900390910190a161108a565b50604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518391600160a060020a038316916370a08231916024808201926020929091908290030181600087803b1580156113aa57600080fd5b505af11580156113be573d6000803e3d6000fd5b505050506040513d60208110156113d457600080fd5b5051600354604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810184905290519294509083169163a9059cbb916044808201926020929091908290030181600087803b15801561144857600080fd5b505af115801561145c573d6000803e3d6000fd5b505050506040513d602081101561147257600080fd5b505115156114ca576040805160e560020a62461bcd02815260206004820152601560248201527f6572725f657363617061626c655472616e736665720000000000000000000000604482015290519081900360640190fd5b60408051600160a060020a03851681526020810184905281517fa50dde912fa22ea0d215a0236093ac45b4d55d6ef0c604c319f900029c5d10f2929181900390910190a1505050565b600754600160a060020a031681565b600054600160a060020a03163314611572576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b60078054600160a060020a031916600160a060020a0392909216919091179055565b60095481565b600154600160a060020a031681565b600254600160a060020a03163314806115cc5750600054600160a060020a031633145b1515611622576040805160e560020a62461bcd02815260206004820152601a60248201527f6572725f657363617061626c65496e76616c696443616c6c6572000000000000604482015290519081900360640190fd5b60028054600160a060020a031916600160a060020a0392909216919091179055565b600c6020526000908152604090205460ff1681565b600054600160a060020a031633146116a9576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b600a55565b60085481565b6005546000908190819060ff16156116cb57600080fd5b336000908152600c602052604090205460ff1615156116e957600080fd5b60068054925082906116fe90600183016118f3565b50600680548390811061170d57fe5b6000918252602090912060026008909202019081018054600160a060020a031916331790559050670de0b6b3a764000084111561174957600080fd5b6009548410156117645760095461175e611857565b0161176f565b8361176d611857565b015b600382015560048101805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a038a1602179055600681018590556117b7818b8b61191f565b5060018101889055600581018054600160a060020a031916600160a060020a038881169190911791829055600483015460068401546040805191825293831660208201528084018c90529251620100009091049091169184917fd11935115aa93b9f1f616d0d7702f4593572daa610390123241b3785430281c4916060908290030190a35098975050505050505050565b600354600160a060020a031681565b4290565b600054600160a060020a031633146118ab576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b60055460ff16156118bb57600080fd5b6005805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b81548183558181111561108a5760080281600802836000526020600020918201910161108a919061199d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106119605782800160ff1982351617855561198d565b8280016001018555821561198d579182015b8281111561198d578235825591602001919060010190611972565b50611999929150611a1d565b5090565b610c2191905b808211156119995760006119b78282611a37565b50600060018201819055600282018054600160a060020a03199081169091556003830182905560048301805475ffffffffffffffffffffffffffffffffffffffffffff1916905560058301805490911690556006820181905560078201556008016119a3565b610c2191905b808211156119995760008155600101611a23565b50805460018160011615610100020316600290046000825580601f10611a5d5750611a7b565b601f016020900490600052602060002090810190611a7b9190611a1d565b5056006572725f6f776e65644e6f744f776e6572000000000000000000000000000000a165627a7a72305820008acf83724d1766fc0b021814a8d88af6c00b8dc3abe63cdb90511da18b5b7a0029",
"sourceMap": "1382:11092:6:-;;;269:26:5;;;-1:-1:-1;;269:26:5;;;4929:477:6;5:2:-1;;;;30:1;27;20:12;5:2;4929:477:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;990:5:9;:18;;-1:-1:-1;;;;;;990:18:9;;;998:10;990:18;;;;2094:17:8;:38;;-1:-1:-1;;;;;2094:38:8;;;;;;;;;2142:22;:48;;;;;;;;;;;;;;;5231:19:6;:42;;;;5283:8;:20;5313:13;:30;;;;;;;;;;;;;;5353:21;:46;1382:11092;;;;;;"
},
"deployedBytecode": {
"object": "6080604052600436106101955763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b2e7423811461019a5780631e891c0a146101c15780631f6eb6e7146101db5780632af4c31e1461020c5780633f4ba83a1461022d57806352892478146102425780635c975abb1461025a578063666a342714610283578063672f412c146102a457806368b8c5a1146102be578063710bf322146102d3578063793c0fd4146102f457806379ba50971461031a5780638422927d1461032f5780638456cb5914610347578063846a5dde1461035c578063859bcc7114610377578063863da0001461038c578063892db057146103e15780638da5cb5b14610402578063a0927a6a14610417578063a142d60814610501578063b2ca3ec414610522578063bb2a51d114610537578063d085835a14610558578063d091b5501461056d578063d836fbe814610582578063d8528af0146105a3578063da4793ac146105c4578063ea8a66c7146105dc578063f37b74ca146105f1578063f5b612301461062d575b600080fd5b3480156101a657600080fd5b506101af610642565b60408051918252519081900360200190f35b3480156101cd57600080fd5b506101d9600435610648565b005b3480156101e757600080fd5b506101f06106ac565b60408051600160a060020a039092168252519081900360200190f35b34801561021857600080fd5b506101d9600160a060020a03600435166106bb565b34801561023957600080fd5b506101d96107cc565b34801561024e57600080fd5b506101d9600435610862565b34801561026657600080fd5b5061026f610aa9565b604080519115158252519081900360200190f35b34801561028f57600080fd5b506101d9600160a060020a0360043516610ab2565b3480156102b057600080fd5b506101d96004351515610ba9565b3480156102ca57600080fd5b506101af610c1d565b3480156102df57600080fd5b506101d9600160a060020a0360043516610c24565b34801561030057600080fd5b506101d9600160a060020a03600435166024351515610cc6565b34801561032657600080fd5b506101d9610d76565b34801561033b57600080fd5b506101d9600435610e39565b34801561035357600080fd5b506101d9610f20565b34801561036857600080fd5b506101d9600435602435610f94565b34801561038357600080fd5b5061026f611046565b34801561039857600080fd5b50604080516020600480358082013583810280860185019096528085526101d99536959394602494938501929182918501908490808284375094975061104f9650505050505050565b3480156103ed57600080fd5b5061026f600160a060020a036004351661108f565b34801561040e57600080fd5b506101f06110ae565b34801561042357600080fd5b5061042f6004356110bd565b6040805160208082018c9052600160a060020a03808c1693830193909352606082018a9052881515608083015287151560a083015286831660c083015291851660e0820152610100810184905261012081018390526101408082528c51908201528b51909182916101608301918e019080838360005b838110156104bd5781810151838201526020016104a5565b50505050905090810190601f1680156104ea5780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b34801561050d57600080fd5b506101d9600160a060020a03600435166111be565b34801561052e57600080fd5b506101f0611513565b34801561054357600080fd5b506101d9600160a060020a0360043516611522565b34801561056457600080fd5b506101af611594565b34801561057957600080fd5b506101f061159a565b34801561058e57600080fd5b506101d9600160a060020a03600435166115a9565b3480156105af57600080fd5b5061026f600160a060020a0360043516611644565b3480156105d057600080fd5b506101d9600435611659565b3480156105e857600080fd5b506101af6116ae565b3480156105fd57600080fd5b506101af602460048035828101929101359035600160a060020a036044358116906064351660843560a4356116b4565b34801561063957600080fd5b506101f0611848565b600a5481565b600054600160a060020a03163314610698576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b6008548110156106a757600080fd5b600955565b600254600160a060020a031681565b60008054600160a060020a0316331461070c576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b600160a060020a038216151561076c576040805160e560020a62461bcd02815260206004820152601760248201527f6572725f6f776e6564496e76616c696441646472657373000000000000000000604482015290519081900360640190fd5b5060008054600160a060020a03838116600160a060020a031980841691909117808555600180549092169091556040519282169391169183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b600054600160a060020a0316331461081c576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b60055460ff16151561082d57600080fd5b6005805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60055460009060ff1615806108795750600b5460ff165b151561088457600080fd5b600654821061089257600080fd5b60068054839081106108a057fe5b60009182526020808320600260089093020191820154600160a060020a03168352600c905260409091205490915060ff1615156108dc57600080fd5b80600301546108e9611857565b10156108f457600080fd5b600481015460ff161561090657600080fd5b6004810154610100900460ff161561091d57600080fd5b60048101805461ff0019166101001790556005810154600160a060020a0316151561098d576004810154600682015460405162010000909204600160a060020a0316916108fc82150291906000818181858888f19350505050158015610987573d6000803e3d6000fd5b50610a47565b60058101546004808301546006840154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a036201000090940484169481019490945260248401919091525192169163a9059cbb916044808201926020929091908290030181600087803b158015610a1057600080fd5b505af1158015610a24573d6000803e3d6000fd5b505050506040513d6020811015610a3a57600080fd5b50511515610a4757600080fd5b60048101546006820154600583015460408051928352600160a060020a0391821660208401528051620100009094049091169285927f354f3c0c8efabe1a1a07cf222842b008ef284ac185e63bdf8245be8cd2d97f5192908290030190a35050565b60055460ff1681565b600054600160a060020a03163314610b02576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b610dac600160a060020a03821614610b64576040805160e560020a62461bcd02815260206004820152601360248201527f6572725f6f776e6564496e76616c696444616300000000000000000000000000604482015290519081900360640190fd5b60008054600160a060020a031990811682556001805490911690556040517f94e8b32e01b9eedfddd778ffbd051a7718cdc14781702884561162dca6f74dbb9190a150565b600054600160a060020a03163314610bf9576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b60055460ff161515610c0a57600080fd5b600b805460ff1916911515919091179055565b6006545b90565b600054600160a060020a03163314610c74576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b60018054600160a060020a031916600160a060020a03838116919091179182905560405191169033907f13a4b3bc0d5234dd3d87c9f1557d8faefa37986da62c36ba49309e2fb2c9aec490600090a350565b600054600160a060020a03163314610d16576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b600160a060020a0382166000818152600c6020908152604091829020805460ff1916851515908117909155825190815291517f801f568efbc3346a6ae3d0c3eb335a30d64e0d3cf08f1c39626d62cd5c8272819281900390910190a25050565b600154600090600160a060020a03163314610ddb576040805160e560020a62461bcd02815260206004820152601560248201527f6572725f6f776e65644e6f7443616e6469646174650000000000000000000000604482015290519081900360640190fd5b506000805460018054600160a060020a03808216600160a060020a03198086169190911780875592169092556040519282169391169183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b60008054600160a060020a03163314610e8a576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b6006548210610e9857600080fd5b6006805483908110610ea657fe5b60009182526020909120600890910201600481015490915060ff1615610ecb57600080fd5b6004810154610100900460ff1615610ee257600080fd5b60048101805460ff1916600117905560405182907ffdf197ed54809861dafe0b4d391843652730ac67274c1e9e46db7687dccaa30190600090a25050565b600054600160a060020a03163314610f70576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b60055460ff1615610f8057600080fd5b600b805460ff19169055610f9261185b565b565b600754600090600160a060020a03163314610fae57600080fd5b6006548310610fbc57600080fd5b670de0b6b3a7640000821115610fd157600080fd5b6006805484908110610fdf57fe5b90600052602060002090600802019050600a54828260070154011115151561100657600080fd5b6004810154610100900460ff161561101d57600080fd5b600481015460ff161561102f57600080fd5b600781018054830190556003018054909101905550565b600b5460ff1681565b6000805b825182101561108a57828281518110151561106a57fe5b90602001906020020151905061107f81610862565b600190910190611053565b505050565b600160a060020a031660009081526004602052604090205460ff161590565b600054600160a060020a031681565b60068054829081106110cb57fe5b60009182526020918290206008919091020180546040805160026001841615610100026000190190931692909204601f8101859004850283018501909152808252919350918391908301828280156111645780601f1061113957610100808354040283529160200191611164565b820191906000526020600020905b81548152906001019060200180831161114757829003601f168201915b5050505060018301546002840154600385015460048601546005870154600688015460079098015496979496600160a060020a039485169650929460ff80841695610100850490911694620100009094048116939216918a565b6002546000908190600160a060020a03163314806111e65750600054600160a060020a031633145b151561123c576040805160e560020a62461bcd02815260206004820152601a60248201527f6572725f657363617061626c65496e76616c696443616c6c6572000000000000604482015290519081900360640190fd5b600160a060020a03831660009081526004602052604090205460ff16156112ad576040805160e560020a62461bcd02815260206004820152601d60248201527f6572725f657363617061626c65426c61636b6c6973746564546f6b656e000000604482015290519081900360640190fd5b600160a060020a03831615156113455760035460405130319350600160a060020a03909116906108fc8415029084906000818181858888f193505050501580156112fb573d6000803e3d6000fd5b5060408051600160a060020a03851681526020810184905281517fa50dde912fa22ea0d215a0236093ac45b4d55d6ef0c604c319f900029c5d10f2929181900390910190a161108a565b50604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518391600160a060020a038316916370a08231916024808201926020929091908290030181600087803b1580156113aa57600080fd5b505af11580156113be573d6000803e3d6000fd5b505050506040513d60208110156113d457600080fd5b5051600354604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810184905290519294509083169163a9059cbb916044808201926020929091908290030181600087803b15801561144857600080fd5b505af115801561145c573d6000803e3d6000fd5b505050506040513d602081101561147257600080fd5b505115156114ca576040805160e560020a62461bcd02815260206004820152601560248201527f6572725f657363617061626c655472616e736665720000000000000000000000604482015290519081900360640190fd5b60408051600160a060020a03851681526020810184905281517fa50dde912fa22ea0d215a0236093ac45b4d55d6ef0c604c319f900029c5d10f2929181900390910190a1505050565b600754600160a060020a031681565b600054600160a060020a03163314611572576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b60078054600160a060020a031916600160a060020a0392909216919091179055565b60095481565b600154600160a060020a031681565b600254600160a060020a03163314806115cc5750600054600160a060020a031633145b1515611622576040805160e560020a62461bcd02815260206004820152601a60248201527f6572725f657363617061626c65496e76616c696443616c6c6572000000000000604482015290519081900360640190fd5b60028054600160a060020a031916600160a060020a0392909216919091179055565b600c6020526000908152604090205460ff1681565b600054600160a060020a031633146116a9576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b600a55565b60085481565b6005546000908190819060ff16156116cb57600080fd5b336000908152600c602052604090205460ff1615156116e957600080fd5b60068054925082906116fe90600183016118f3565b50600680548390811061170d57fe5b6000918252602090912060026008909202019081018054600160a060020a031916331790559050670de0b6b3a764000084111561174957600080fd5b6009548410156117645760095461175e611857565b0161176f565b8361176d611857565b015b600382015560048101805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a038a1602179055600681018590556117b7818b8b61191f565b5060018101889055600581018054600160a060020a031916600160a060020a038881169190911791829055600483015460068401546040805191825293831660208201528084018c90529251620100009091049091169184917fd11935115aa93b9f1f616d0d7702f4593572daa610390123241b3785430281c4916060908290030190a35098975050505050505050565b600354600160a060020a031681565b4290565b600054600160a060020a031633146118ab576040805160e560020a62461bcd0281526020600482015260116024820152600080516020611a7f833981519152604482015290519081900360640190fd5b60055460ff16156118bb57600080fd5b6005805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b81548183558181111561108a5760080281600802836000526020600020918201910161108a919061199d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106119605782800160ff1982351617855561198d565b8280016001018555821561198d579182015b8281111561198d578235825591602001919060010190611972565b50611999929150611a1d565b5090565b610c2191905b808211156119995760006119b78282611a37565b50600060018201819055600282018054600160a060020a03199081169091556003830182905560048301805475ffffffffffffffffffffffffffffffffffffffffffff1916905560058301805490911690556006820181905560078201556008016119a3565b610c2191905b808211156119995760008155600101611a23565b50805460018160011615610100020316600290046000825580601f10611a5d5750611a7b565b601f016020900490600052602060002090810190611a7b9190611a1d565b5056006572725f6f776e65644e6f744f776e6572000000000000000000000000000000a165627a7a72305820008acf83724d1766fc0b021814a8d88af6c00b8dc3abe63cdb90511da18b5b7a0029",
"sourceMap": "1382:11092:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2487:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2487:33:6;;;;;;;;;;;;;;;;;;;;10981:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10981:153:6;;;;;;;1181:32:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1181:32:8;;;;;;;;-1:-1:-1;;;;;1181:32:8;;;;;;;;;;;;;;2474:277:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2474:277:9;-1:-1:-1;;;;;2474:277:9;;;;;913:102:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;913:102:5;;;;7684:822:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7684:822:6;;;;;269:26:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;269:26:5;;;;;;;;;;;;;;;;;;;;;;3145:206:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3145:206:9;-1:-1:-1;;;;;3145:206:9;;;;;12210:142:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12210:142:6;;;;;;;5615:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5615:114:6;;;;1602:191:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1602:191:9;-1:-1:-1;;;;;1602:191:9;;;;;10266:192:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10266:192:6;-1:-1:-1;;;;;10266:192:6;;;;;;;;;1905:271:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1905:271:9;;;;9709:311:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9709:311:6;;;;;11686:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11686:126:6;;;;9075:473;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9075:473:6;;;;;;;2526:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2526:42:6;;;;8584:233;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8584:233:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8584:233:6;;-1:-1:-1;8584:233:6;;-1:-1:-1;;;;;;;8584:233:6;3278:117:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3278:117:8;-1:-1:-1;;;;;3278:117:8;;;;;638:20:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;638:20:9;;;;2348:35:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2348:35:6;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2348:35:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2348:35:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3603:683:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3603:683:8;-1:-1:-1;;;;;3603:683:8;;;;;2390:28:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2390:28:6;;;;10595:122;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10595:122:6;-1:-1:-1;;;;;10595:122:6;;;;;2461:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2461:20:6;;;;664:32:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;664:32:9;;;;4655:158:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4655:158:8;-1:-1:-1;;;;;4655:158:8;;;;;2688:48:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2688:48:6;-1:-1:-1;;;;;2688:48:6;;;;;11394:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11394:145:6;;;;;2424:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2424:31:6;;;;6304:1195;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6304:1195:6;;;;;;;;;;;;;;-1:-1:-1;;;;;6304:1195:6;;;;;;;;;;;;;;1219:37:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1219:37:8;;;;2487:33:6;;;;:::o;10981:153::-;1168:5:9;;-1:-1:-1;;;;;1168:5:9;1154:10;:19;1145:49;;;;;-1:-1:-1;;;;;1145:49:9;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1145:49:9;;;;;;;;;;;;;;;11074:19:6;;11058:35;;;11050:44;;;;;;11104:8;:23;10981:153::o;1181:32:8:-;;;-1:-1:-1;;;;;1181:32:8;;:::o;2474:277:9:-;2607:16;1168:5;;-1:-1:-1;;;;;1168:5:9;1154:10;:19;1145:49;;;;;-1:-1:-1;;;;;1145:49:9;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1145:49:9;;;;;;;;;;;;;;;-1:-1:-1;;;;;2553:16:9;;;;2545:51;;;;;-1:-1:-1;;;;;2545:51:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2626:5:9;;;-1:-1:-1;;;;;2641:17:9;;;-1:-1:-1;;;;;;2641:17:9;;;;;;;;;;2626:5;2668:23;;;;;;;;2707:37;;2626:5;;;;2738;;;2626;;2707:37;;;2474:277;;:::o;913:102:5:-;1168:5:9;;-1:-1:-1;;;;;1168:5:9;1154:10;:19;1145:49;;;;;-1:-1:-1;;;;;1145:49:9;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1145:49:9;;;;;;;;;;;;;;;615:6:5;;;;607:15;;;;;;;;970:6;:14;;-1:-1:-1;;970:14:5;;;999:9;;;;979:5;;999:9;913:102::o;7684:822:6:-;3669:6;;7909:17;;3669:6;;3668:7;;:41;;-1:-1:-1;3679:30:6;;;;3668:41;3660:50;;;;;;;;7872:18;:25;7859:38;;7851:47;;;;;;7929:18;:30;;7948:10;;7929:30;;;;;;;;;;;;;;8053:9;7929:30;;;;;8053:9;;;;-1:-1:-1;;;;;8053:9:6;8037:26;;:15;:26;;;;;;;7929:30;;-1:-1:-1;8037:26:6;;8029:35;;;;;;;;8096:1;:17;;;8082:10;:8;:10::i;:::-;:31;;8074:40;;;;;;8133:10;;;;;;8132:11;8124:20;;;;;;8163:6;;;;;;;;;8162:7;8154:16;;;;;;8181:6;;;:13;;-1:-1:-1;;8181:13:6;;;;;8270:7;;;;-1:-1:-1;;;;;8270:7:6;:12;8266:159;;;8298:11;;;;8319:8;;;;8298:30;;:11;;;;-1:-1:-1;;;;;8298:11:6;;:30;;;;;8319:8;8298:30;;;;8319:8;8298:11;:30;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8298:30:6;8266:159;;;8373:7;;;;8391:11;;;;;8404:8;;;;8367:46;;;;;;-1:-1:-1;;;;;8391:11:6;;;;;;8367:46;;;;;;;;;;;;;;;8373:7;;;8367:23;;:46;;;;;;;;;;;;;;;-1:-1:-1;8373:7:6;8367:46;;;5:2:-1;;;;30:1;27;20:12;5:2;8367:46:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8367:46:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8367:46:6;8359:55;;;;;;;;8468:11;;;;8481:8;;;;8491:7;;;;8440:59;;;;;;-1:-1:-1;;;;;8491:7:6;;;8440:59;;;;;;8468:11;;;;;;;;8456:10;;8440:59;;;;;;;;;7684:822;;:::o;269:26:5:-;;;;;;:::o;3145:206:9:-;1168:5;;-1:-1:-1;;;;;1168:5:9;1154:10;:19;1145:49;;;;;-1:-1:-1;;;;;1145:49:9;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1145:49:9;;;;;;;;;;;;;;;3227:5;-1:-1:-1;;;;;3219:13:9;;;3211:44;;;;;-1:-1:-1;;;;;3211:44:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;3274:3;3266:11;;-1:-1:-1;;;;;;3266:11:9;;;;;;3287:23;;;;;;;3326:18;;;;3274:3;3326:18;3145:206;:::o;12210:142:6:-;1168:5:9;;-1:-1:-1;;;;;1168:5:9;1154:10;:19;1145:49;;;;;-1:-1:-1;;;;;1145:49:9;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1145:49:9;;;;;;;;;;;;;;;615:6:5;;;;607:15;;;;;;;;12305:30:6;:40;;-1:-1:-1;;12305:40:6;;;;;;;;;;12210:142::o;5615:114::-;5697:18;:25;5615:114;;:::o;1602:191:9:-;1168:5;;-1:-1:-1;;;;;1168:5:9;1154:10;:19;1145:49;;;;;-1:-1:-1;;;;;1145:49:9;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1145:49:9;;;;;;;;;;;;;;;1683:17;:38;;-1:-1:-1;;;;;;1683:38:9;-1:-1:-1;;;;;1683:38:9;;;;;;;;;;;1737:49;;1768:17;;;1756:10;;1737:49;;-1:-1:-1;;1737:49:9;1602:191;:::o;10266:192:6:-;1168:5:9;;-1:-1:-1;;;;;1168:5:9;1154:10;:19;1145:49;;;;;-1: