[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC1155InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC1155InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "idsLength", "type": "uint256" }, { "internalType": "uint256", "name": "valuesLength", "type": "uint256" } ], "name": "ERC1155InvalidArrayLength", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "ERC1155InvalidOperator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC1155InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC1155InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC1155MissingApprovalForAll", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "Down", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "hand", "type": "address" }, { "indexed": true, "internalType": "address", "name": "raiser", "type": "address" } ], "name": "Raised", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "hand", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "solutionIndex", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "comment", "type": "string" } ], "name": "Thanked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "values", "type": "uint256[]" } ], "name": "TransferBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "TransferSingle", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "value", "type": "string" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "URI", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "Up", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" } ], "name": "balanceOfBatch", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "charities", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "distributed", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "hand", "type": "address" } ], "name": "getProblem", "outputs": [], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTrustedForwarder", "outputs": [ { "internalType": "address", "name": "forwarder", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "hand", "type": "address" }, { "internalType": "address", "name": "ref", "type": "address" }, { "internalType": "address", "name": "newRef", "type": "address" }, { "internalType": "string", "name": "solution", "type": "string" } ], "name": "give", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "hands", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "handsNumber", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "forwarder", "type": "address" } ], "name": "isTrustedForwarder", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "problem", "type": "string" }, { "internalType": "string", "name": "link", "type": "string" }, { "internalType": "address", "name": "ref", "type": "address" } ], "name": "raise", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeBatchTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "hand", "type": "address" }, { "internalType": "address", "name": "ref", "type": "address" }, { "internalType": "address", "name": "newRef", "type": "address" }, { "internalType": "string", "name": "comment", "type": "string" } ], "name": "shake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "hand", "type": "address" }, { "internalType": "uint256", "name": "solutionIndex", "type": "uint256" }, { "internalType": "uint256", "name": "thank_rate", "type": "uint256" }, { "internalType": "address", "name": "charity", "type": "address" }, { "internalType": "uint256", "name": "charity_rate", "type": "uint256" }, { "internalType": "address", "name": "maint", "type": "address" }, { "internalType": "uint256", "name": "maint_rate", "type": "uint256" }, { "internalType": "string", "name": "comment", "type": "string" } ], "name": "thank", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "thumbsDown", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "thumbsUp", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "trust", "outputs": [ { "internalType": "int256", "name": "", "type": "int256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" } ]
60c060405260056080908152641852185b9960da1b60a0526004906200002690826200011a565b503480156200003457600080fd5b506040805180820190915260058152641852185b9960da1b60208201526200005c8162000063565b50620001e6565b60036200007182826200011a565b5050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a057607f821691505b602082108103620000c157634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011557600081815260208120601f850160051c81016020861015620000f05750805b601f850160051c820191505b818110156200011157828155600101620000fc565b5050505b505050565b81516001600160401b0381111562000136576200013662000075565b6200014e816200014784546200008b565b84620000c7565b602080601f8311600181146200018657600084156200016d5750858301515b600019600386901b1c1916600185901b17855562000111565b600085815260208120601f198616915b82811015620001b75788860151825594840194600190910190840162000196565b5085821015620001d65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b614f8380620001f66000396000f3fe6080604052600436106200019e5760003560e01c80634e1273f411620000e7578063c250ba381162000089578063e985e9c51162000060578063e985e9c514620004f5578063f242432a1462000542578063f84b903e146200056757600080fd5b8063c250ba381462000499578063c40d7c8a14620004b0578063ce1b815f14620004d557600080fd5b80637a7c1f6c11620000be5780637a7c1f6c14620003fc5780638e6afff91462000421578063a22cb465146200047457600080fd5b80634e1273f4146200037d578063572b6c0514620003b15780636067225c14620003e457600080fd5b80632478239a116200015157806333153f7e116200012857806333153f7e14620003025780633fd95f3e14620003275780634637d827146200034c57600080fd5b80632478239a14620002845780632544bcca14620002b85780632eb2c2d614620002dd57600080fd5b806306fdde03116200018657806306fdde0314620002115780630e89341c14620002385780631f81c89c146200025d57600080fd5b8062fdd58e14620001a357806301ffc9a714620001db575b600080fd5b348015620001b057600080fd5b50620001c8620001c23660046200242d565b6200057f565b6040519081526020015b60405180910390f35b348015620001e857600080fd5b5062000200620001fa3660046200248b565b620005a9565b6040519015158152602001620001d2565b3480156200021e57600080fd5b50620002296200068f565b604051620001d2919062002506565b3480156200024557600080fd5b5062000229620002573660046200251b565b62000725565b3480156200026a57600080fd5b50620002826200027c36600462002581565b6200093e565b005b3480156200029157600080fd5b5062000200620002a336600462002607565b60096020526000908152604090205460ff1681565b348015620002c557600080fd5b5062000282620002d736600462002581565b620009f6565b348015620002ea57600080fd5b5062000282620002fc366004620027a5565b62000aa7565b3480156200030f57600080fd5b50620002826200032136600462002861565b62000b47565b3480156200033457600080fd5b50620002826200034636600462002607565b62000e0b565b3480156200035957600080fd5b50620001c86200036b36600462002607565b60086020526000908152604090205481565b3480156200038a57600080fd5b50620003a26200039c36600462002910565b62000f4e565b604051620001d2919062002a1d565b348015620003be57600080fd5b5062000200620003d036600462002607565b6000546001600160a01b0391821691161490565b348015620003f157600080fd5b50620001c860055481565b3480156200040957600080fd5b50620002826200041b36600462002607565b6200104b565b3480156200042e57600080fd5b506200045b620004403660046200251b565b6007602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001d2565b3480156200048157600080fd5b50620002826200049336600462002a32565b620010e5565b62000282620004aa36600462002a74565b620010ff565b348015620004bd57600080fd5b5062000282620004cf36600462002607565b6200127f565b348015620004e257600080fd5b506000546001600160a01b03166200045b565b3480156200050257600080fd5b50620002006200051436600462002b01565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205460ff1690565b3480156200054f57600080fd5b50620002826200056136600462002b34565b620012e8565b3480156200057457600080fd5b50620001c860065481565b60008181526001602090815260408083206001600160a01b03861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a260000000000000000000000000000000000000000000000000000000014806200063d57507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b80620005a357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614620005a3565b600480546200069e9062002ba5565b80601f0160208091040260200160405190810160405280929190818152602001828054620006cc9062002ba5565b80156200071d5780601f10620006f1576101008083540402835291602001916200071d565b820191906000526020600020905b815481529060010190602001808311620006ff57829003601f168201915b505050505081565b6060808262000769575060408051808201909152600681527f52616973656400000000000000000000000000000000000000000000000000006020820152620008d3565b60018303620007ad575060408051808201909152600681527f5368616b656e00000000000000000000000000000000000000000000000000006020820152620008d3565b60028303620007f1575060408051808201909152600581527f476976656e0000000000000000000000000000000000000000000000000000006020820152620008d3565b6003830362000835575060408051808201909152600781527f5468616e6b6564000000000000000000000000000000000000000000000000006020820152620008d3565b6004830362000879575060408051808201909152600881527f5468756d622055700000000000000000000000000000000000000000000000006020820152620008d3565b60058303620008bd575060408051808201909152600a81527f5468756d6220446f776e000000000000000000000000000000000000000000006020820152620008d3565b5050604080516020810190915260008152919050565b6200091581620008ed620008e7866200137d565b6200153f565b6040516020016200090092919062002bfa565b6040516020818303038152906040526200153f565b60405160200162000927919062002d6c565b604051602081830303815290604052915050919050565b60006200094a620016b1565b6040517f1f81c89c0000000000000000000000000000000000000000000000000000000081529091506001600160a01b03871690631f81c89c906200099c908890889086908990899060040162002dde565b600060405180830381600087803b158015620009b757600080fd5b505af1158015620009cc573d6000803e3d6000fd5b50505050620009ee8160018060405180602001604052806000815250620016c2565b505050505050565b600062000a02620016b1565b6040517f2544bcca0000000000000000000000000000000000000000000000000000000081529091506001600160a01b03871690632544bcca9062000a54908890889086908990899060040162002dde565b600060405180830381600087803b15801562000a6f57600080fd5b505af115801562000a84573d6000803e3d6000fd5b50505050620009ee816002600160405180602001604052806000815250620016c2565b6001600160a01b038516158062000ac557506001600160a01b038416155b62000b31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4e6f6e2d7472616e7366657261626c6520746f6b656e0000000000000000000060448201526064015b60405180910390fd5b62000b4085858585856200173c565b5050505050565b6001600160a01b03861660009081526009602052604090205460ff1662000bcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f43686172697479206973206e6f742076616c6964000000000000000000000000604482015260640162000b28565b600062000bd7620016b1565b905060008a6040517f67e2d0b20000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018d9052604482018c90528a81166064830152608482018a905288811660a483015260c482018890529192506000918316906367e2d0b29060e4016020604051808303816000875af115801562000c70573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c96919062002e20565b6040517fb71698c7000000000000000000000000000000000000000000000000000000008152600481018d90529091506000906001600160a01b0384169063b71698c790602401600060405180830381865afa15801562000cfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000d25919081019062002e8e565b50905062000d47846003600160405180602001604052806000815250620016c2565b62000d7b8460046064881162000d5f57600162000d62565b60025b60ff1660405180602001604052806000815250620017ee565b62000d9a816004600160405180602001604052806000815250620017ee565b8c6001600160a01b03167ffd5dc89944aab45ed05b544f85bbb85314eea8ac16a3c73ba31924e29363b4ad8d84898960405162000ddb949392919062002edb565b60405180910390a2816006600082825462000df7919062002f36565b909155505050505050505050505050505050565b600062000e17620016b1565b9050600062000e288260046200057f565b1162000eb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f596f75206e65656420746f2068617665206174206c65617374206f6e6520555060448201527f20746f6b656e0000000000000000000000000000000000000000000000000000606482015260840162000b28565b62000ec68160046001620018bd565b62000ee5826005600160405180602001604052806000815250620017ee565b600062000ef48260046200057f565b111562000f0a5762000f0a8260046001620018bd565b816001600160a01b0316816001600160a01b03167fc3b0b1f3a13dcda569c044b6409fc94488d1b1022109f0390e232041deb96cc860405160405180910390a35050565b6060815183511462000f9a57815183516040517f5b0599910000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440162000b28565b6000835167ffffffffffffffff81111562000fb95762000fb962002627565b60405190808252806020026020018201604052801562000fe3578160200160208202803683370190505b50905060005b8451811015620010435760208082028601015162001010906020808402870101516200057f565b82828151811062001025576200102562002f4c565b60209081029190910101526200103b8162002f7b565b905062000fe9565b509392505050565b600062001057620016b1565b90506000620010688260046200057f565b116200107357600080fd5b620010828160046001620018bd565b620010a1826004600160405180602001604052806000815250620017ee565b816001600160a01b0316816001600160a01b03167f230d68fc383f6b7b814a0072f261d7f83c85006329a5172ab6dec58ab0f8459460405160405180910390a35050565b620010fb620010f3620016b1565b838362001943565b5050565b6509184e72a000341162001170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f52657761726420697320746f6f206c6f77000000000000000000000000000000604482015260640162000b28565b60006200117c620016b1565b9050600034828888888888604051620011959062002406565b620011a69695949392919062002fb6565b6040518091039082f0905080158015620011c4573d6000803e3d6000fd5b509050806007600060056000815480929190620011e19062002f7b565b91905055815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555062001236826000600160405180602001604052806000815250620016c2565b816001600160a01b0316816001600160a01b03167f846f5d08218b80eb4cdee178bc5a021148c2c4072119bd28ee2901b55fab39b960405160405180910390a350505050505050565b806001600160a01b031663453246886040518163ffffffff1660e01b8152600401600060405180830381865afa158015620012be573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620010fb919081019062003008565b6001600160a01b03851615806200130657506001600160a01b038416155b6200136e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4e6f6e2d7472616e7366657261626c6520746f6b656e00000000000000000000604482015260640162000b28565b62000b40858585858562001a13565b60608082620013c1575060408051808201909152600381527fe29c8b0000000000000000000000000000000000000000000000000000000000602082015262001510565b6001830362001405575060408051808201909152600481527ff09fa49d00000000000000000000000000000000000000000000000000000000602082015262001510565b6002830362001449575060408051808201909152600481527ff09f998c00000000000000000000000000000000000000000000000000000000602082015262001510565b600383036200148d575060408051808201909152600481527ff09f998f00000000000000000000000000000000000000000000000000000000602082015262001510565b60048303620014d1575060408051808201909152600481527ff09f918d00000000000000000000000000000000000000000000000000000000602082015262001510565b60058303620008bd575060408051808201909152600481527ff09f918e0000000000000000000000000000000000000000000000000000000060208201525b6200151d61010062001ac5565b6200152a61010062001ac5565b82604051602001620009279392919062003041565b606081516000036200155f57505060408051602081019091526000815290565b600060405180606001604052806040815260200162004f0e604091399050600060038451600262001591919062002f36565b6200159d9190620031c9565b620015aa90600462003205565b67ffffffffffffffff811115620015c557620015c562002627565b6040519080825280601f01601f191660200182016040528015620015f0576020820181803683370190505b50905060018201602082018586518701602081018051600082525b8284101562001668576003840193508351603f8160121c168701518653600186019550603f81600c1c168701518653600186019550603f8160061c168701518653600186019550603f81168701518653506001850194506200160b565b90525050855160039006600181146200168a57600281146200169e57620016a6565b603d6001830353603d6002830353620016a6565b603d60018303535b509195945050505050565b6000620016bd62001b8a565b905090565b6001600160a01b03841662001707576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526000600482015260240162000b28565b60408051600180825260208201869052818301908152606082018590526080820190925290620009ee60008784848762001bde565b600062001748620016b1565b9050806001600160a01b0316866001600160a01b0316141580156200179357506001600160a01b0380871660009081526002602090815260408083209385168352929052205460ff16155b15620017df576040517fe237d9220000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528716602482015260440162000b28565b620009ee868686868662001c46565b620017fc84848484620016c2565b600483036200187e576000620018148560046200057f565b6001600160a01b0386166000908152600860205260408120549192501280156200185557506001600160a01b03851660009081526008602052604090205481115b1562001877576001600160a01b03851660009081526008602052604090208190555b50620018b7565b60058303620018b7576001600160a01b03841660009081526008602052604081208054849290620018b19084906200321f565b90915550505b50505050565b6001600160a01b03831662001902576040517f01a835140000000000000000000000000000000000000000000000000000000081526000600482015260240162000b28565b604080516001808252602082018590528183019081526060820184905260a0820190925260006080820181815291929162000b409187918590859062001bde565b6001600160a01b03821662001988576040517fced3e1000000000000000000000000000000000000000000000000000000000081526000600482015260240162000b28565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600062001a1f620016b1565b9050806001600160a01b0316866001600160a01b03161415801562001a6a57506001600160a01b0380871660009081526002602090815260408083209385168352929052205460ff16155b1562001ab6576040517fe237d9220000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528716602482015260440162000b28565b620009ee868686868662001cdf565b6060600062001ad48362001da6565b600101905060008167ffffffffffffffff81111562001af75762001af762002627565b6040519080825280601f01601f19166020018201604052801562001b22576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508462001b2c57509392505050565b60006014361080159062001ba857506000546001600160a01b031633145b1562001bd957507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90565b503390565b62001bec8585858562001e8f565b6001600160a01b0384161562000b4057600062001c08620016b1565b9050835160010362001c36576020848101519084015162001c2e83898985858962002102565b5050620009ee565b620009ee818787878787620022af565b6001600160a01b03841662001c8b576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526000600482015260240162000b28565b6001600160a01b03851662001cd0576040517f01a835140000000000000000000000000000000000000000000000000000000081526000600482015260240162000b28565b62000b40858585858562001bde565b6001600160a01b03841662001d24576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526000600482015260240162000b28565b6001600160a01b03851662001d69576040517f01a835140000000000000000000000000000000000000000000000000000000081526000600482015260240162000b28565b6040805160018082526020820186905281830190815260608201859052608082019092529062001d9d878784848762001bde565b50505050505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831062001df0577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831062001e1d576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831062001e3c57662386f26fc10000830492506010015b6305f5e100831062001e55576305f5e100830492506008015b612710831062001e6a57612710830492506004015b6064831062001e7d576064830492506002015b600a8310620005a35760010192915050565b805182511462001ed957815181516040517f5b0599910000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440162000b28565b600062001ee5620016b1565b905060005b83518110156200201e576020818102858101820151908501909101516001600160a01b0388161562001fbe5760008281526001602090815260408083206001600160a01b038c1684529091529020548181101562001f95576040517f03dee4c50000000000000000000000000000000000000000000000000000000081526001600160a01b038a16600482015260248101829052604481018390526064810184905260840162000b28565b60008381526001602090815260408083206001600160a01b038d16845290915290209082900390555b6001600160a01b03871615620020085760008281526001602090815260408083206001600160a01b038b168452909152812080548392906200200290849062002f36565b90915550505b505080620020169062002f7b565b905062001eea565b508251600103620020a25760208301516000906020840151909150856001600160a01b0316876001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62858560405162002092929190918252602082015260400190565b60405180910390a4505062000b40565b836001600160a01b0316856001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051620020f392919062003249565b60405180910390a45050505050565b6001600160a01b0384163b15620009ee576040517ff23a6e610000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063f23a6e61906200216290899089908890889088906004016200327b565b6020604051808303816000875af1925050508015620021a0575060408051601f3d908101601f191682019092526200219d91810190620032b5565b60015b62002227573d808015620021d1576040519150601f19603f3d011682016040523d82523d6000602084013e620021d6565b606091505b5080516000036200221f576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526001600160a01b038616600482015260240162000b28565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e61000000000000000000000000000000000000000000000000000000001462001d9d576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526001600160a01b038616600482015260240162000b28565b6001600160a01b0384163b15620009ee576040517fbc197c810000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063bc197c81906200230f9089908990889088908890600401620032d5565b6020604051808303816000875af19250505080156200234d575060408051601f3d908101601f191682019092526200234a91810190620032b5565b60015b6200237e573d808015620021d1576040519150601f19603f3d011682016040523d82523d6000602084013e620021d6565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c81000000000000000000000000000000000000000000000000000000001462001d9d576040517f57f447ce0000000000000000000000000000000000000000000000000000000081526001600160a01b038616600482015260240162000b28565b611bd4806200333a83390190565b6001600160a01b03811681146200242a57600080fd5b50565b600080604083850312156200244157600080fd5b82356200244e8162002414565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146200242a57600080fd5b6000602082840312156200249e57600080fd5b8135620024ab816200245c565b9392505050565b60005b83811015620024cf578181015183820152602001620024b5565b50506000910152565b60008151808452620024f2816020860160208601620024b2565b601f01601f19169290920160200192915050565b602081526000620024ab6020830184620024d8565b6000602082840312156200252e57600080fd5b5035919050565b60008083601f8401126200254857600080fd5b50813567ffffffffffffffff8111156200256157600080fd5b6020830191508360208285010111156200257a57600080fd5b9250929050565b6000806000806000608086880312156200259a57600080fd5b8535620025a78162002414565b94506020860135620025b98162002414565b93506040860135620025cb8162002414565b9250606086013567ffffffffffffffff811115620025e857600080fd5b620025f68882890162002535565b969995985093965092949392505050565b6000602082840312156200261a57600080fd5b8135620024ab8162002414565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562002682576200268262002627565b604052919050565b600067ffffffffffffffff821115620026a757620026a762002627565b5060051b60200190565b600082601f830112620026c357600080fd5b81356020620026dc620026d6836200268a565b62002656565b82815260059290921b84018101918181019086841115620026fc57600080fd5b8286015b8481101562002719578035835291830191830162002700565b509695505050505050565b600067ffffffffffffffff82111562002741576200274162002627565b50601f01601f191660200190565b600082601f8301126200276157600080fd5b813562002772620026d68262002724565b8181528460208386010111156200278857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215620027be57600080fd5b8535620027cb8162002414565b94506020860135620027dd8162002414565b9350604086013567ffffffffffffffff80821115620027fb57600080fd5b6200280989838a01620026b1565b945060608801359150808211156200282057600080fd5b6200282e89838a01620026b1565b935060808801359150808211156200284557600080fd5b5062002854888289016200274f565b9150509295509295909350565b60008060008060008060008060006101008a8c0312156200288157600080fd5b89356200288e8162002414565b985060208a0135975060408a0135965060608a0135620028ae8162002414565b955060808a0135945060a08a0135620028c78162002414565b935060c08a0135925060e08a013567ffffffffffffffff811115620028eb57600080fd5b620028f98c828d0162002535565b915080935050809150509295985092959850929598565b600080604083850312156200292457600080fd5b823567ffffffffffffffff808211156200293d57600080fd5b818501915085601f8301126200295257600080fd5b8135602062002965620026d6836200268a565b82815260059290921b840181019181810190898411156200298557600080fd5b948201945b83861015620029b0578535620029a08162002414565b825294820194908201906200298a565b96505086013592505080821115620029c757600080fd5b50620029d685828601620026b1565b9150509250929050565b600081518084526020808501945080840160005b8381101562002a1257815187529582019590820190600101620029f4565b509495945050505050565b602081526000620024ab6020830184620029e0565b6000806040838503121562002a4657600080fd5b823562002a538162002414565b91506020830135801515811462002a6957600080fd5b809150509250929050565b60008060008060006060868803121562002a8d57600080fd5b853567ffffffffffffffff8082111562002aa657600080fd5b62002ab489838a0162002535565b9097509550602088013591508082111562002ace57600080fd5b5062002add8882890162002535565b909450925050604086013562002af38162002414565b809150509295509295909350565b6000806040838503121562002b1557600080fd5b823562002b228162002414565b9150602083013562002a698162002414565b600080600080600060a0868803121562002b4d57600080fd5b853562002b5a8162002414565b9450602086013562002b6c8162002414565b93506040860135925060608601359150608086013567ffffffffffffffff81111562002b9757600080fd5b62002854888289016200274f565b600181811c9082168062002bba57607f821691505b60208210810362002bf4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f7b0000000000000000000000000000000000000000000000000000000000000081527f2020226e616d65223a202200000000000000000000000000000000000000000060018201526000835162002c5a81600c850160208801620024b2565b80830190507f220000000000000000000000000000000000000000000000000000000000000080600c8301527f2c20226465736372697074696f6e223a2022687474703a2f2f6168616e642e69600d8301527f6e22000000000000000000000000000000000000000000000000000000000000602d8301527f2c2022696d616765223a2022646174613a696d6167652f7376672b786d6c3b62602f8301527f61736536342c0000000000000000000000000000000000000000000000000000604f830152845162002d33816055850160208901620024b2565b60559201918201527f7d000000000000000000000000000000000000000000000000000000000000006056820152605701949350505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825162002da681601d850160208701620024b2565b91909101601d0192915050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60006001600160a01b03808816835280871660208401528086166040840152506080606083015262002e1560808301848662002db3565b979650505050505050565b60006020828403121562002e3357600080fd5b5051919050565b600082601f83011262002e4c57600080fd5b815162002e5d620026d68262002724565b81815284602083860101111562002e7357600080fd5b62002e86826020830160208701620024b2565b949350505050565b6000806040838503121562002ea257600080fd5b825162002eaf8162002414565b602084015190925067ffffffffffffffff81111562002ecd57600080fd5b620029d68582860162002e3a565b84815283602082015260606040820152600062002efd60608301848662002db3565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115620005a357620005a362002f07565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362002faf5762002faf62002f07565b5060010190565b60006001600160a01b0380891683526080602084015262002fdc60808401888a62002db3565b838103604085015262002ff181878962002db3565b925050808416606084015250979650505050505050565b6000602082840312156200301b57600080fd5b815167ffffffffffffffff8111156200303357600080fd5b62002e868482850162002e3a565b7f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323081527f30302f737667222077696474683d220000000000000000000000000000000000602082015260008451620030a181602f850160208901620024b2565b7f22206865696768743d2200000000000000000000000000000000000000000000602f918401918201528451620030e0816039840160208901620024b2565b7f223e000000000000000000000000000000000000000000000000000000000000603992909101918201527f3c7465787420783d223530252220793d223630252220746578742d616e63686f603b8201527f723d226d6964646c652220666f6e742d73697a653d2236342220666f6e742d66605b8201527f616d696c793d22456d6f6a69466f6e742c2073616e732d7365726966223e0000607b820152835162003192816099840160208801620024b2565b7f3c2f746578743e3c2f7376673e000000000000000000000000000000000000006099929091019182015260a60195945050505050565b60008262003200577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b8082028115828204841417620005a357620005a362002f07565b818103600083128015838313168383128216171562003242576200324262002f07565b5092915050565b6040815260006200325e6040830185620029e0565b8281036020840152620032728185620029e0565b95945050505050565b60006001600160a01b03808816835280871660208401525084604083015283606083015260a0608083015262002e1560a0830184620024d8565b600060208284031215620032c857600080fd5b8151620024ab816200245c565b60006001600160a01b03808816835280871660208401525060a060408301526200330360a0830186620029e0565b8281036060840152620033178186620029e0565b905082810360808401526200332d8185620024d8565b9897505050505050505056fe608060405260405162001bd438038062001bd48339810160408190526200002691620001cf565b6001600160a01b038416620000815760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420726169736572206164647265737300000000000000000000604482015260640160405180910390fd5b600080546001600160a01b031990811633178255600180546001600160a01b038881169184168217909255908416835260066020526040909220805490911690911790556002620000d38482620002ee565b506003620000e28382620002ee565b5050505050620003ba565b80516001600160a01b03811681146200010557600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013257600080fd5b81516001600160401b03808211156200014f576200014f6200010a565b604051601f8301601f19908116603f011681019082821181831017156200017a576200017a6200010a565b816040528381526020925086838588010111156200019757600080fd5b600091505b83821015620001bb57858201830151818301840152908201906200019c565b600093810190920192909252949350505050565b60008060008060808587031215620001e657600080fd5b620001f185620000ed565b60208601519094506001600160401b03808211156200020f57600080fd5b6200021d8883890162000120565b945060408701519150808211156200023457600080fd5b50620002438782880162000120565b9250506200025460608601620000ed565b905092959194509250565b600181811c908216806200027457607f821691505b6020821081036200029557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002e957600081815260208120601f850160051c81016020861015620002c45750805b601f850160051c820191505b81811015620002e557828155600101620002d0565b5050505b505050565b81516001600160401b038111156200030a576200030a6200010a565b62000322816200031b84546200025f565b846200029b565b602080601f8311600181146200035a5760008415620003415750858301515b600019600386901b1c1916600185901b178555620002e5565b600085815260208120601f198616915b828110156200038b578886015182559484019460019091019084016200036a565b5085821015620003aa5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61180a80620003ca6000396000f3fe6080604052600436106100d55760003560e01c8063799320bb11610079578063a773adcb11610056578063a773adcb14610281578063ae165ab4146102ae578063b71698c7146102f1578063be4f3b0b1461031f57005b8063799320bb1461020a578063938b5f32146102345780639a2ebf631461026157005b806345324688116100b25780634532468814610149578063561bb7f91461015e57806367e2d0b21461018257806375c6c6da146101a257005b80631c4695f4146100de5780631f81c89c146101095780632544bcca1461012957005b366100dc57005b005b3480156100ea57600080fd5b506100f361034c565b604051610100919061129d565b60405180910390f35b34801561011557600080fd5b506100dc6101243660046112d9565b6103da565b34801561013557600080fd5b506100dc6101443660046112d9565b6105c8565b34801561015557600080fd5b506100f3610810565b34801561016a57600080fd5b5061017460045481565b604051908152602001610100565b34801561018e57600080fd5b5061017461019d36600461137b565b61081d565b3480156101ae57600080fd5b506101e56101bd3660046113e5565b60066020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610100565b34801561021657600080fd5b506005546102249060ff1681565b6040519015158152602001610100565b34801561024057600080fd5b506000546101e59073ffffffffffffffffffffffffffffffffffffffff1681565b34801561026d57600080fd5b5061017461027c3660046113e5565b610b22565b34801561028d57600080fd5b506102a161029c3660046113e5565b610bc5565b6040516101009190611400565b3480156102ba57600080fd5b506101e56102c93660046113e5565b60076020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156102fd57600080fd5b5061031161030c36600461145a565b610d3a565b604051610100929190611473565b34801561032b57600080fd5b506001546101e59073ffffffffffffffffffffffffffffffffffffffff1681565b60038054610359906114aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610385906114aa565b80156103d25780601f106103a7576101008083540402835291602001916103d2565b820191906000526020600020905b8154815290600101906020018083116103b557829003601f168201915b505050505081565b60005473ffffffffffffffffffffffffffffffffffffffff16331461046c5760405162461bcd60e51b815260206004820152602760248201527f43616e2062652063616c6c65642066726f6d206f726967696e20636f6e74726160448201527f6374206f6e6c790000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff85811660009081526006602052604090205416806104e15760405162461bcd60e51b815260206004820152600b60248201527f4e6f2073756368207265660000000000000000000000000000000000000000006044820152606401610463565b6104eb8185610df6565b73ffffffffffffffffffffffffffffffffffffffff85811660009081526006602052604080822080547fffffffffffffffffffffffff000000000000000000000000000000000000000016888516908117909155905190928416917f4632efe482788c25188d4f7ce36e4c97bb2e0d84c9727a62168a202b94bb028c91a381156105c0578373ffffffffffffffffffffffffffffffffffffffff167f2875f670dc64474300d367b3c3d5871bc023d32a02d044b8c8fd2c1b01f5cdd784846040516105b79291906114f7565b60405180910390a25b505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106555760405162461bcd60e51b815260206004820152602760248201527f43616e2062652063616c6c65642066726f6d206f726967696e20636f6e74726160448201527f6374206f6e6c79000000000000000000000000000000000000000000000000006064820152608401610463565b73ffffffffffffffffffffffffffffffffffffffff858116600090815260066020526040902054166106878185610df6565b73ffffffffffffffffffffffffffffffffffffffff85811660009081526006602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169388169384179055815180830183526060818301529283528151601f860182900482028101820190925284825285908590819084018382808284376000920182905250602086810195865260045482526008905260409020855181547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9091161781559351859493506001840192506107859150826115b9565b509050508473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f0e29f32fc1fae7760283500fb0de9eb57a6408e7ed5c093383f6fe1485875bb76004546040516107ea91815260200190565b60405180910390a36004805490600061080283611702565b919050555050505050505050565b60028054610359906114aa565b6000805473ffffffffffffffffffffffffffffffffffffffff1633146108ab5760405162461bcd60e51b815260206004820152602760248201527f43616e2062652063616c6c65642066726f6d206f726967696e20636f6e74726160448201527f6374206f6e6c79000000000000000000000000000000000000000000000000006064820152608401610463565b60055460ff16156108fe5760405162461bcd60e51b815260206004820152600e60248201527f416c726561647920736f6c7665640000000000000000000000000000000000006044820152606401610463565b60015473ffffffffffffffffffffffffffffffffffffffff8981169116146109685760405162461bcd60e51b815260206004820152601560248201527f4f6e6c79207261697365722063616e207468616e6b00000000000000000000006044820152606401610463565b60008781526008602052604090205473ffffffffffffffffffffffffffffffffffffffff16806109da5760405162461bcd60e51b815260206004820152601660248201527f536f6c7574696f6e20646f65736e2774206578697374000000000000000000006044820152606401610463565b6127106109e7884761173a565b6109f19190611757565b9150816109ff87878361110e565b610a099082611792565b9050610a1685858561114b565b610a209082611792565b9050816000610a30600284611757565b90505b60015473ffffffffffffffffffffffffffffffffffffffff838116911614801590610a5e5750600081115b8015610a6a5750600083115b15610ad7576000838211610a7e5781610a80565b835b9050610a8c8382611184565b610a968185611792565b73ffffffffffffffffffffffffffffffffffffffff93841660009081526007602052604090205490945090921691610acf600283611757565b915050610a33565b8215610ae757610ae78484611184565b5050600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055509098975050505050505050565b600080610b548373ffffffffffffffffffffffffffffffffffffffff9081166000908152600660205260409020541690565b9050600091505b73ffffffffffffffffffffffffffffffffffffffff811615801590610b805750600a82105b15610bbf5773ffffffffffffffffffffffffffffffffffffffff9081166000908152600760205260409020541681610bb781611702565b925050610b5b565b50919050565b73ffffffffffffffffffffffffffffffffffffffff8181166000908152600660205260409020546060911680610c3d5760405162461bcd60e51b815260206004820152600b60248201527f4e6f2073756368207265660000000000000000000000000000000000000000006044820152606401610463565b60408051600a808252610160820190925290602082016101408036833750505073ffffffffffffffffffffffffffffffffffffffff82811660009081526007602052604090205491935016610ca2575050604080516000815260208101909152919050565b60005b73ffffffffffffffffffffffffffffffffffffffff821615801590610cca5750600a81105b15610d325781838281518110610ce257610ce26117a5565b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201810191909152928116600090815260079093526040909220549091169080610d2a81611702565b915050610ca5565b825250919050565b6008602052600090815260409020805460018201805473ffffffffffffffffffffffffffffffffffffffff9092169291610d73906114aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610d9f906114aa565b8015610dec5780601f10610dc157610100808354040283529160200191610dec565b820191906000526020600020905b815481529060010190602001808311610dcf57829003601f168201915b5050505050905082565b60055460ff1615610e495760405162461bcd60e51b815260206004820152600e60248201527f416c726561647920736f6c7665640000000000000000000000000000000000006044820152606401610463565b73ffffffffffffffffffffffffffffffffffffffff8181166000908152600760205260409020541615610ebe5760405162461bcd60e51b815260206004820152600e60248201527f416c7265616479207368616b656e0000000000000000000000000000000000006044820152606401610463565b60015473ffffffffffffffffffffffffffffffffffffffff90811690821603610f295760405162461bcd60e51b815260206004820152601e60248201527f5261697365722063616e277420736f6c7665206f776e2070726f626c656d00006044820152606401610463565b73ffffffffffffffffffffffffffffffffffffffff821615801590610f7a57508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610fc65760405162461bcd60e51b815260206004820152600b60248201527f496e76616c6964207265660000000000000000000000000000000000000000006044820152606401610463565b60015473ffffffffffffffffffffffffffffffffffffffff83811691161480611015575073ffffffffffffffffffffffffffffffffffffffff8281166000908152600760205260409020541615155b6110615760405162461bcd60e51b815260206004820152600b60248201527f496e76616c6964207265660000000000000000000000000000000000000000006044820152606401610463565b600a61106c83610b22565b106110b95760405162461bcd60e51b815260206004820152601560248201527f5368616b657320636861696e20746f6f206c6f6e6700000000000000000000006044820152606401610463565b73ffffffffffffffffffffffffffffffffffffffff90811660009081526007602052604090208054919092167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116179055565b600061271060648411611122576064611124565b835b61112e908461173a565b6111389190611757565b90506111448482611184565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff8416158015906111725750600083115b156111445761271061112e848461173a565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146111de576040519150601f19603f3d011682016040523d82523d6000602084013e6111e3565b606091505b50509050806112345760405162461bcd60e51b815260206004820152601260248201527f547261736e666572696e67206661696c656400000000000000000000000000006044820152606401610463565b505050565b6000815180845260005b8181101561125f57602081850181015186830182015201611243565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006111446020830184611239565b803573ffffffffffffffffffffffffffffffffffffffff811681146112d457600080fd5b919050565b6000806000806000608086880312156112f157600080fd5b6112fa866112b0565b9450611308602087016112b0565b9350611316604087016112b0565b9250606086013567ffffffffffffffff8082111561133357600080fd5b818801915088601f83011261134757600080fd5b81358181111561135657600080fd5b89602082850101111561136857600080fd5b9699959850939650602001949392505050565b600080600080600080600060e0888a03121561139657600080fd5b61139f886112b0565b965060208801359550604088013594506113bb606089016112b0565b9350608088013592506113d060a089016112b0565b915060c0880135905092959891949750929550565b6000602082840312156113f757600080fd5b611144826112b0565b6020808252825182820181905260009190848201906040850190845b8181101561144e57835173ffffffffffffffffffffffffffffffffffffffff168352928401929184019160010161141c565b50909695505050505050565b60006020828403121561146c57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006114a26040830184611239565b949350505050565b600181811c908216806114be57607f821691505b602082108103610bbf577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561123457600081815260208120601f850160051c8101602086101561159a5750805b601f850160051c820191505b818110156105c0578281556001016115a6565b815167ffffffffffffffff8111156115d3576115d3611544565b6115e7816115e184546114aa565b84611573565b602080601f83116001811461163a57600084156116045750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556105c0565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561168757888601518255948401946001909101908401611668565b50858210156116c357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611733576117336116d3565b5060010190565b8082028115828204841417611751576117516116d3565b92915050565b60008261178d577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b81810381811115611751576117516116d3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220399f677b61662151906fc55b213ac2a5d0634d4a6efb995567a86560e0bf6e6964736f6c634300081400334142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220a393d0a38a9384c843ee4463fb7e63a3ce17f007f063859ffbcbb36a0c57ca8064736f6c63430008140033