6080604052600f805461ffff191690553480156200001c57600080fd5b5060405162002f3638038062002f368339810160408190526200003f916200023e565b604080518082018252600c81526b20b6383430a430b63637bbbd60a11b6020808301918252835180850190945260078452662420a62627abad60c91b908401528151919291620000929160039162000198565b508051620000a890600490602084019062000198565b50600060015550506009859055600a849055600b839055600c829055600d80546001600160a01b0319166001600160a01b038316179055620000ec600033620000f7565b5050505050620002d8565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000194576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620001533390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b828054620001a6906200029b565b90600052602060002090601f016020900481019282620001ca576000855562000215565b82601f10620001e557805160ff191683800117855562000215565b8280016001018555821562000215579182015b8281111562000215578251825591602001919060010190620001f8565b506200022392915062000227565b5090565b5b8082111562000223576000815560010162000228565b600080600080600060a086880312156200025757600080fd5b855160208701516040880151606089015160808a0151939850919650945092506001600160a01b03811681146200028d57600080fd5b809150509295509295909350565b600181811c90821680620002b057607f821691505b60208210811415620002d257634e487b7160e01b600052602260045260246000fd5b50919050565b612c4e80620002e86000396000f3fe608060405234801561001057600080fd5b50600436106102e95760003560e01c806355f804b311610191578063a22cb465116100e3578063d4a6a2fd11610097578063dc33e68111610071578063dc33e68114610649578063de4b32621461065c578063e985e9c51461066f57600080fd5b8063d4a6a2fd14610616578063d547741f14610623578063db6242c31461063657600080fd5b8063b88d4fde116100c8578063b88d4fde146105e7578063c7876ea4146105fa578063c87b56dd1461060357600080fd5b8063a22cb465146105c1578063aca8ffe7146105d457600080fd5b806391d1485411610145578063a0712d681161011f578063a0712d681461057f578063a1ebf35d14610592578063a217fddf146105b957600080fd5b806391d14854146104f6578063927e33011461052d57806395d89b411461057757600080fd5b8063654f97a311610176578063654f97a3146104c757806370a08231146104da57806377e5c4a8146104ed57600080fd5b806355f804b3146104a15780636352211e146104b457600080fd5b8063359370c71161024a5780633cd3d9fb116101fe57806345c0f533116101d857806345c0f5331461047c5780634a30048614610485578063507e094f1461049857600080fd5b80633cd3d9fb1461044357806342842e0e14610456578063449e815d1461046957600080fd5b8063375a069a1161022f578063375a069a1461041557806338926b6d146104285780633ccfd60b1461043b57600080fd5b8063359370c7146103ef57806336568abe1461040257600080fd5b80631f85e3ca116102a1578063248a9ca311610286578063248a9ca3146103a757806325fd90f3146103ca5780632f2ff15d146103dc57600080fd5b80631f85e3ca1461038157806323b872dd1461039457600080fd5b8063081812fc116102d2578063081812fc1461032b578063095ea7b31461035657806318160ddd1461036b57600080fd5b806301ffc9a7146102ee57806306fdde0314610316575b600080fd5b6103016102fc36600461261e565b6106ab565b60405190151581526020015b60405180910390f35b61031e6106bc565b60405161030d9190612693565b61033e6103393660046126a6565b61074e565b6040516001600160a01b03909116815260200161030d565b6103696103643660046126db565b6107ab565b005b600254600154035b60405190815260200161030d565b61036961038f366004612715565b61086b565b6103696103a2366004612730565b6108af565b6103736103b53660046126a6565b60009081526020819052604090206001015490565b600f5461030190610100900460ff1681565b6103696103ea36600461276c565b6108ba565b6103696103fd3660046126a6565b6108e0565b61036961041036600461276c565b6108f2565b6103696104233660046126a6565b610983565b610369610436366004612798565b610a8a565b610369610ba4565b610373610451366004612814565b610c4a565b610369610464366004612730565b610c65565b6103736104773660046126db565b610c80565b61037360095481565b600d5461033e906001600160a01b031681565b610373600c5481565b6103696104af3660046128bb565b610c93565b61033e6104c23660046126a6565b610cb2565b6103696104d5366004612715565b610cc4565b6103736104e8366004612814565b610ce4565b610373600b5481565b61030161050436600461276c565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b61054061053b3660046126a6565b610d4c565b6040805182516001600160a01b0316815260208084015167ffffffffffffffff16908201529181015115159082015260600161030d565b61031e610d72565b61036961058d3660046126a6565b610d81565b6103737fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f7081565b610373600081565b6103696105cf366004612904565b610ec9565b6103696105e23660046126a6565b610f78565b6103696105f536600461292e565b610f8a565b610373600a5481565b61031e6106113660046126a6565b610fd5565b600f546103019060ff1681565b61036961063136600461276c565b611072565b6103696106443660046126a6565b611098565b610373610657366004612814565b6110aa565b61036961066a3660046126a6565b6110b5565b61030161067d3660046129aa565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b60006106b6826110c7565b92915050565b6060600380546106cb906129d4565b80601f01602080910402602001604051908101604052809291908181526020018280546106f7906129d4565b80156107445780601f1061071957610100808354040283529160200191610744565b820191906000526020600020905b81548152906001019060200180831161072757829003601f168201915b5050505050905090565b600061075982611139565b61078f576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000908152600760205260409020546001600160a01b031690565b60006107b682610cb2565b9050806001600160a01b0316836001600160a01b03161415610804576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b038216148015906108245750610822813361067d565b155b1561085b576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610866838383611165565b505050565b600061087781336111d9565b50600f8054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b610866838383611257565b6000828152602081905260409020600101546108d681336111d9565b61086683836114b9565b60006108ec81336111d9565b50600b55565b6001600160a01b03811633146109755760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b61097f8282611557565b5050565b600061098f81336111d9565b600954826109a06002546001540390565b6109aa9190612a25565b11156109c957604051633e0866c760e01b815260040160405180910390fd5b600c546109d69083612a53565b15610a495760405162461bcd60e51b815260206004820152602a60248201527f63616e206f6e6c79206d696e742061206d756c7469706c65206f66207468652060448201527f6d61785065724d696e7400000000000000000000000000000000000000000000606482015260840161096c565b6000600c5483610a599190612a67565b905060005b81811015610a8457610a7233600c546115d6565b80610a7c81612a7b565b915050610a5e565b50505050565b600f5460ff16610ac6576040517f0a917d3700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60095483610ad76002546001540390565b610ae19190612a25565b1115610b0057604051633e0866c760e01b815260040160405180910390fd5b610b0b8282856115f0565b610b41576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610b4c3361172e565b905067ffffffffffffffff811615610b90576040517f646cf55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b9a33856115d6565b610a8433856117b2565b6000610bb081336111d9565b6040514790600090339083908381818185875af1925050503d8060008114610bf4576040519150601f19603f3d011682016040523d82523d6000602084013e610bf9565b606091505b50509050806108665760405162461bcd60e51b815260206004820152601a60248201527f4661696c656420746f207769746864726177207061796d656e74000000000000604482015260640161096c565b6000610c558261172e565b67ffffffffffffffff1692915050565b61086683838360405180602001604052806000815250610f8a565b6000610c8c8383611858565b9392505050565b6000610c9f81336111d9565b815161086690600e90602085019061256f565b6000610cbd826118f3565b5192915050565b6000610cd081336111d9565b50600f805460ff1916911515919091179055565b60006001600160a01b038216610d26576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001600160a01b031660009081526006602052604090205467ffffffffffffffff1690565b60408051606081018252600080825260208201819052918101919091526106b6826118f3565b6060600480546106cb906129d4565b600f54610100900460ff16610dc2576040517fd7d248ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54811115610dfe576040517ffe024afa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60095481610e0f6002546001540390565b610e199190612a25565b1115610e3857604051633e0866c760e01b815260040160405180910390fd5b6000610e443383611858565b600d549091506001600160a01b0316634e840f74336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b158015610ea157600080fd5b505af1158015610eb5573d6000803e3d6000fd5b5050505061097f610ec33390565b836115d6565b6001600160a01b038216331415610f0c576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360008181526008602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000610f8481336111d9565b50600955565b610f95848484611257565b6001600160a01b0383163b15158015610fb75750610fb584848484611a28565b155b15610a84576040516368d2bf6b60e11b815260040160405180910390fd5b6060610fe082611139565b611016576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611020611b43565b90508051600014156110415760405180602001604052806000815250610c8c565b8061104b84611b52565b60405160200161105c929190612a96565b6040516020818303038152906040529392505050565b60008281526020819052604090206001015461108e81336111d9565b6108668383611557565b60006110a481336111d9565b50600c55565b60006106b682611c84565b60006110c181336111d9565b50600a55565b60006001600160e01b031982167f80ac58cd00000000000000000000000000000000000000000000000000000000148061112a57506001600160e01b031982167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806106b657506106b682611cf8565b6000600154821080156106b6575050600090815260056020526040902054600160e01b900460ff161590565b60008281526007602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1661097f57611215816001600160a01b03166014611d5f565b611220836020611d5f565b604051602001611231929190612ac5565b60408051601f198184030181529082905262461bcd60e51b825261096c91600401612693565b6000611262826118f3565b80519091506000906001600160a01b0316336001600160a01b0316148061129057508151611290903361067d565b806112ab5750336112a08461074e565b6001600160a01b0316145b9050806112e4576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846001600160a01b031682600001516001600160a01b031614611333576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038416611373576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113836000848460000151611165565b6001600160a01b038581166000908152600660209081526040808320805467ffffffffffffffff1980821667ffffffffffffffff92831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600590945282852080546001600160e01b031916909417600160a01b42909216919091021790925590860180835291205490911661146f5760015481101561146f578251600082815260056020908152604090912080549186015167ffffffffffffffff16600160a01b026001600160e01b03199092166001600160a01b03909316929092171790555b5082846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b5050505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1661097f576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556115133390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff161561097f576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b61097f828260405180602001604052806000815250611f88565b600080823360405160200161163492919091825260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602082015260340190565b60405160208183030381529060405280519060200120905060006116a5826040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b905060006116e98288888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f9592505050565b6001600160a01b031660009081527f059f08e7d7ba1c82eddc57afae67f80df851baf38a099607a779825038c3ce5b602052604090205460ff16979650505050505050565b60006001600160a01b038216611770576040517fac3727ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001600160a01b03166000908152600660205260409020547801000000000000000000000000000000000000000000000000900467ffffffffffffffff1690565b6001600160a01b0382166117f2576040517fac3727ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b039091166000908152600660205260409020805467ffffffffffffffff90921678010000000000000000000000000000000000000000000000000277ffffffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6000806118648461172e565b905060008167ffffffffffffffff1661187c86611c84565b6118869190612b46565b90506000815b6118968684612a25565b8110156118e957600a546000906118ae836001612a25565b6118b89190612b5d565b9050600b548111156118c95750600b545b6118d38184612a25565b92505080806118e190612a7b565b91505061188c565b5095945050505050565b6040805160608101825260008082526020820181905291810191909152816001548110156119f657600081815260056020908152604091829020825160608101845290546001600160a01b0381168252600160a01b810467ffffffffffffffff1692820192909252600160e01b90910460ff161515918101829052906119f45780516001600160a01b03161561198a579392505050565b5060001901600081815260056020908152604091829020825160608101845290546001600160a01b038116808352600160a01b820467ffffffffffffffff1693830193909352600160e01b900460ff16151592810192909252156119ef579392505050565b61198a565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f150b7a020000000000000000000000000000000000000000000000000000000081526000906001600160a01b0385169063150b7a0290611a76903390899088908890600401612b7c565b6020604051808303816000875af1925050508015611ab1575060408051601f3d908101601f19168201909252611aae91810190612bb8565b60015b611b0c573d808015611adf576040519150601f19603f3d011682016040523d82523d6000602084013e611ae4565b606091505b508051611b04576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b0319167f150b7a02000000000000000000000000000000000000000000000000000000001490505b949350505050565b6060600e80546106cb906129d4565b606081611b9257505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611bbc5780611ba681612a7b565b9150611bb59050600a83612a67565b9150611b96565b60008167ffffffffffffffff811115611bd757611bd761282f565b6040519080825280601f01601f191660200182016040528015611c01576020820181803683370190505b5090505b8415611b3b57611c16600183612b46565b9150611c23600a86612a53565b611c2e906030612a25565b60f81b818381518110611c4357611c43612bd5565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611c7d600a86612a67565b9450611c05565b60006001600160a01b038216611cc6576040517f35ebb31900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001600160a01b031660009081526006602052604090205468010000000000000000900467ffffffffffffffff1690565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806106b657507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316146106b6565b60606000611d6e836002612b5d565b611d79906002612a25565b67ffffffffffffffff811115611d9157611d9161282f565b6040519080825280601f01601f191660200182016040528015611dbb576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611df257611df2612bd5565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611e5557611e55612bd5565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611e91846002612b5d565b611e9c906001612a25565b90505b6001811115611f39577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611edd57611edd612bd5565b1a60f81b828281518110611ef357611ef3612bd5565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c93611f3281612beb565b9050611e9f565b508315610c8c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161096c565b6108668383836001611fb9565b6000806000611fa485856121cc565b91509150611fb18161223c565b509392505050565b6001546001600160a01b038516611ffc576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83612033576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038516600081815260066020908152604080832080547fffffffffffffffffffffffffffffffff00000000000000000000000000000000811667ffffffffffffffff8083168c0181169182176801000000000000000067ffffffffffffffff1990941690921783900481168c01811690920217909155858452600590925290912080546001600160e01b031916909217600160a01b4290921691909102179055808085018380156120f457506001600160a01b0387163b15155b1561217d575b60405182906001600160a01b038916906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46121456000888480600101955088611a28565b612162576040516368d2bf6b60e11b815260040160405180910390fd5b808214156120fa57826001541461217857600080fd5b6121c3565b5b6040516001830192906001600160a01b038916906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a48082141561217e575b506001556114b2565b6000808251604114156122035760208301516040840151606085015160001a6121f787828585612430565b94509450505050612235565b82516040141561222d576020830151604084015161222286838361251d565b935093505050612235565b506000905060025b9250929050565b600081600481111561225057612250612c02565b14156122595750565b600181600481111561226d5761226d612c02565b14156122bb5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161096c565b60028160048111156122cf576122cf612c02565b141561231d5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161096c565b600381600481111561233157612331612c02565b14156123a55760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161096c565b60048160048111156123b9576123b9612c02565b141561242d5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161096c565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156124675750600090506003612514565b8460ff16601b1415801561247f57508460ff16601c14155b156124905750600090506004612514565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156124e4573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661250d57600060019250925050612514565b9150600090505b94509492505050565b6000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83168161255360ff86901c601b612a25565b905061256187828885612430565b935093505050935093915050565b82805461257b906129d4565b90600052602060002090601f01602090048101928261259d57600085556125e3565b82601f106125b657805160ff19168380011785556125e3565b828001600101855582156125e3579182015b828111156125e35782518255916020019190600101906125c8565b506125ef9291506125f3565b5090565b5b808211156125ef57600081556001016125f4565b6001600160e01b03198116811461242d57600080fd5b60006020828403121561263057600080fd5b8135610c8c81612608565b60005b8381101561265657818101518382015260200161263e565b83811115610a845750506000910152565b6000815180845261267f81602086016020860161263b565b601f01601f19169290920160200192915050565b602081526000610c8c6020830184612667565b6000602082840312156126b857600080fd5b5035919050565b80356001600160a01b03811681146126d657600080fd5b919050565b600080604083850312156126ee57600080fd5b6126f7836126bf565b946020939093013593505050565b803580151581146126d657600080fd5b60006020828403121561272757600080fd5b610c8c82612705565b60008060006060848603121561274557600080fd5b61274e846126bf565b925061275c602085016126bf565b9150604084013590509250925092565b6000806040838503121561277f57600080fd5b8235915061278f602084016126bf565b90509250929050565b6000806000604084860312156127ad57600080fd5b83359250602084013567ffffffffffffffff808211156127cc57600080fd5b818601915086601f8301126127e057600080fd5b8135818111156127ef57600080fd5b87602082850101111561280157600080fd5b6020830194508093505050509250925092565b60006020828403121561282657600080fd5b610c8c826126bf565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156128605761286061282f565b604051601f8501601f19908116603f011681019082821181831017156128885761288861282f565b816040528093508581528686860111156128a157600080fd5b858560208301376000602087830101525050509392505050565b6000602082840312156128cd57600080fd5b813567ffffffffffffffff8111156128e457600080fd5b8201601f810184136128f557600080fd5b611b3b84823560208401612845565b6000806040838503121561291757600080fd5b612920836126bf565b915061278f60208401612705565b6000806000806080858703121561294457600080fd5b61294d856126bf565b935061295b602086016126bf565b925060408501359150606085013567ffffffffffffffff81111561297e57600080fd5b8501601f8101871361298f57600080fd5b61299e87823560208401612845565b91505092959194509250565b600080604083850312156129bd57600080fd5b6129c6836126bf565b915061278f602084016126bf565b600181811c908216806129e857607f821691505b60208210811415612a0957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115612a3857612a38612a0f565b500190565b634e487b7160e01b600052601260045260246000fd5b600082612a6257612a62612a3d565b500690565b600082612a7657612a76612a3d565b500490565b6000600019821415612a8f57612a8f612a0f565b5060010190565b60008351612aa881846020880161263b565b835190830190612abc81836020880161263b565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612afd81601785016020880161263b565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351612b3a81602884016020880161263b565b01602801949350505050565b600082821015612b5857612b58612a0f565b500390565b6000816000190483118215151615612b7757612b77612a0f565b500290565b60006001600160a01b03808716835280861660208401525083604083015260806060830152612bae6080830184612667565b9695505050505050565b600060208284031215612bca57600080fd5b8151610c8c81612608565b634e487b7160e01b600052603260045260246000fd5b600081612bfa57612bfa612a0f565b506000190190565b634e487b7160e01b600052602160045260246000fdfea26469706673582212200a1647ba6b99f116741e8837812b61191feb3fca1f9900643af3680496c4513964736f6c634300080c0033000000000000000000000000000000000000000000000000000000000000157c000000000000000000000000000000000000000000000000000000000000012c0000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000d783da699790969988889b05cdcb4ee76d0f1250