0x608060405234801562000010575f80fd5b506200001b6200002b565b620000256200002b565b620000df565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156200007c5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000dc5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b612d7280620000ed5f395ff3fe608060405234801561000f575f80fd5b506004361061026b575f3560e01c806370a082311161014b578063b61d27f6116100bf578063ce96cb7711610084578063ce96cb7714610558578063d547741f1461056b578063d905777e1461057e578063db2e21bc14610591578063dd62ed3e14610599578063ef8b30f714610545575f80fd5b8063b61d27f6146104fe578063b9dfadce1461051f578063ba08765214610532578063c63d75b6146103c6578063c6e6f59214610545575f80fd5b806395d89b411161011057806395d89b4114610486578063a217fddf1461048e578063a9059cbb14610495578063b3d7f6b9146104a8578063b460af94146104bb578063b4a076f6146104ce575f80fd5b806370a082311461043c5780638456cb591461044f57806391d148541461045757806392f6576e1461046a57806394bf804d14610473575f80fd5b8063364bc15a116101e25780634cdad506116101a75780634cdad506146102c25780635312ea8e146103d95780635c975abb146103ec578063613d25bb146104035780636cf1dbed146104165780636e553f6514610429575f80fd5b8063364bc15a1461037757806336568abe1461038b57806338d52e0f1461039e5780633f4ba83a146103be578063402d267d146103c6575f80fd5b80630a28a477116102335780630a28a477146102e857806318160ddd146102fb57806323b872dd14610322578063248a9ca3146103355780632f2ff15d14610348578063313ce5671461035d575f80fd5b806301e1d1141461026f57806301ffc9a71461028a57806306fdde03146102ad57806307a2d13a146102c2578063095ea7b3146102d5575b5f80fd5b6102776105ac565b6040519081526020015b60405180910390f35b61029d610298366004612436565b61074f565b6040519015158152602001610281565b6102b5610785565b60405161028191906124aa565b6102776102d03660046124bc565b610845565b61029d6102e33660046124e7565b610850565b6102776102f63660046124bc565b610867565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0254610277565b61029d610330366004612511565b610873565b6102776103433660046124bc565b610898565b61035b61035636600461254f565b6108b8565b005b6103656108da565b60405160ff9091168152602001610281565b6102775f80516020612c9d83398151915281565b61035b61039936600461254f565b61090a565b6103a6610942565b6040516001600160a01b039091168152602001610281565b61035b61095d565b6102776103d436600461257d565b6109b3565b61035b6103e73660046124bc565b6109e0565b5f80516020612cfd8339815191525460ff1661029d565b61035b610411366004612635565b610a37565b61035b6104243660046126b9565b610b8d565b61027761043736600461254f565b610cdc565b61027761044a36600461257d565b610d11565b61035b610d37565b61029d61046536600461254f565b610d82565b61027761271081565b61027761048136600461254f565b610db8565b6102b5610dd4565b6102775f81565b61029d6104a33660046124e7565b610e12565b6102776104b63660046124bc565b610e1f565b6102776104c9366004612751565b610e2b565b7fbb608e3d0c9e28aeffd46207d323ce6abb54190320b3f8cc0f426d1824ea5102546001600160a01b03166103a6565b61051161050c366004612790565b610e59565b604051610281929190612812565b61035b61052d36600461257d565b610f11565b610277610540366004612751565b610f5b565b6102776105533660046124bc565b610f70565b61027761056636600461257d565b610f7b565b61035b61057936600461254f565b610f8e565b61027761058c36600461257d565b610faa565b61035b610fb4565b6102776105a736600461282c565b611013565b5f7fbb608e3d0c9e28aeffd46207d323ce6abb54190320b3f8cc0f426d1824ea5100816105d7610942565b90505f826002015f9054906101000a90046001600160a01b03166001600160a01b031663e860accb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106509190612858565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038416906370a0823190602401602060405180830381865afa158015610697573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106bb9190612873565b6040516328dd2d0160e01b81526001600160a01b0385811660048301523060248301529192505f918416906328dd2d019060440161012060405180830381865afa15801561070b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072f919061289e565b505050505050505090508082610745919061292e565b9550505050505090565b5f6001600160e01b03198216637965db0b60e01b148061077f57506301ffc9a760e01b6001600160e01b03198316145b92915050565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0380546060915f80516020612c7d833981519152916107c390612941565b80601f01602080910402602001604051908101604052809291908181526020018280546107ef90612941565b801561083a5780601f106108115761010080835404028352916020019161083a565b820191905f5260205f20905b81548152906001019060200180831161081d57829003601f168201915b505050505091505090565b5f61077f825f61105c565b5f3361085d8185856110b4565b5060019392505050565b5f61077f8260016110c1565b5f33610880858285611110565b61088b85858561115a565b60019150505b9392505050565b5f9081525f80516020612cbd833981519152602052604090206001015490565b6108c182610898565b6108ca816111b7565b6108d483836111c1565b50505050565b5f805f80516020612cdd8339815191529050600681546109049190600160a01b900460ff16612979565b91505090565b6001600160a01b03811633146109335760405163334bd91960e11b815260040160405180910390fd5b61093d8282611262565b505050565b5f80516020612cdd833981519152546001600160a01b031690565b6109675f33610d82565b8061098457506109845f80516020612c9d83398151915233610d82565b6109a95760405162461bcd60e51b81526004016109a090612992565b60405180910390fd5b6109b16112db565b565b5f6109cc5f80516020612cfd8339815191525460ff1690565b156109d857505f919050565b505f19919050565b6109ea5f33610d82565b80610a075750610a075f80516020612c9d83398151915233610d82565b610a235760405162461bcd60e51b81526004016109a090612992565b610a2b61133a565b610a3481611382565b50565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f81158015610a7c5750825b90505f8267ffffffffffffffff166001148015610a985750303b155b905081158015610aa6575080155b15610ac45760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610aee57845460ff60401b1916600160401b1785555b610af789611390565b610b0188886113a1565b610b096113b3565b610b116113bb565b610b196113cb565b610b235f336111c1565b50610b3b5f80516020612c9d833981519152876111c1565b508315610b8257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f81158015610bd25750825b90505f8267ffffffffffffffff166001148015610bee5750303b155b905081158015610bfc575080155b15610c1a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610c4457845460ff60401b1916600160401b1785555b610c508a8a8a8a610a37565b7fbb608e3d0c9e28aeffd46207d323ce6abb54190320b3f8cc0f426d1824ea510280546001600160a01b0319166001600160a01b0388161790558315610cd057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050565b5f610ce56113db565b610ced611412565b5f610cf88484611442565b91505061077f60015f80516020612d1d83398151915255565b6001600160a01b03165f9081525f80516020612c7d833981519152602052604090205490565b610d415f33610d82565b80610d5e5750610d5e5f80516020612c9d83398151915233610d82565b610d7a5760405162461bcd60e51b81526004016109a090612992565b6109b161133a565b5f9182525f80516020612cbd833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b5f610dc16113db565b610dc9611412565b5f610cf884846114a9565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480546060915f80516020612c7d833981519152916107c390612941565b5f3361085d81858561115a565b5f61077f82600161105c565b5f610e346113db565b5f610e408585856114f5565b91505061089160015f80516020612d1d83398151915255565b5f6060610e65826111b7565b5f80876001600160a01b0316878787604051610e829291906129be565b5f6040518083038185875af1925050503d805f8114610ebc576040519150601f19603f3d011682016040523d82523d5f602084013e610ec1565b606091505b509150915081610f045760405162461bcd60e51b815260206004820152600e60248201526d195e1958dd5d194819985a5b195960921b60448201526064016109a0565b9097909650945050505050565b610f1a5f6111b7565b7fbb608e3d0c9e28aeffd46207d323ce6abb54190320b3f8cc0f426d1824ea510280546001600160a01b0319166001600160a01b0392909216919091179055565b5f610f646113db565b5f610e4085858561154b565b5f61077f825f6110c1565b5f61077f610f8883610d11565b5f61105c565b610f9782610898565b610fa0816111b7565b6108d48383611262565b5f61077f82610d11565b610fbe5f33610d82565b80610fdb5750610fdb5f80516020612c9d83398151915233610d82565b610ff75760405162461bcd60e51b81526004016109a090612992565b610fff61133a565b5f6110086105ac565b9050610a3481611382565b6001600160a01b039182165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b5f6108916110686105ac565b61107390600161292e565b61107f6006600a612aad565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02546110ab919061292e565b85919085611598565b61093d83838360016115da565b5f6108916110d16006600a612aad565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02546110fd919061292e565b6111056105ac565b6110ab90600161292e565b5f61111b8484611013565b90505f1981146108d4578181101561114c57828183604051637dc7a0d960e11b81526004016109a093929190612abb565b6108d484848484035f6115da565b6001600160a01b03831661118357604051634b637e8f60e11b81525f60048201526024016109a0565b6001600160a01b0382166111ac5760405163ec442f0560e01b81525f60048201526024016109a0565b61093d8383836116be565b610a3481336117e4565b5f5f80516020612cbd8339815191526111da8484610d82565b611259575f848152602082815260408083206001600160a01b03871684529091529020805460ff1916600117905561120f3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600191505061077f565b5f91505061077f565b5f5f80516020612cbd83398151915261127b8484610d82565b15611259575f848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4600191505061077f565b6112e361181d565b5f80516020612cfd833981519152805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b611342611412565b5f80516020612cfd833981519152805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2583361131c565b61138c308261184c565b5050565b6113986119f7565b610a3481611a40565b6113a96119f7565b61138c8282611ab0565b6109b16119f7565b6113c36119f7565b6109b1611b00565b6113d36119f7565b6109b1611b20565b5f80516020612d1d83398151915280546001190161140c57604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b5f80516020612cfd8339815191525460ff16156109b15760405163d93c066560e01b815260040160405180910390fd5b5f8061144d836109b3565b90508084111561147657828482604051633c8097d960e11b81526004016109a093929190612abb565b5f61148085610f70565b905061148e33858784611b28565b949350505050565b60015f80516020612d1d83398151915255565b5f806114b4836109b3565b9050808411156114dd5782848260405163284ff66760e01b81526004016109a093929190612abb565b5f6114e785610e1f565b905061148e33858388611b28565b5f8061150083610f7b565b90508085111561152957828582604051633fa733bb60e21b81526004016109a093929190612abb565b5f61153386610867565b90506115423386868985611b3e565b95945050505050565b5f8061155683610faa565b90508085111561157f57828582604051632e52afbb60e21b81526004016109a093929190612abb565b5f61158986610845565b9050611542338686848a611b3e565b5f6115c56115a583611b56565b80156115c057505f84806115bb576115bb612adc565b868809115b151590565b6115d0868686611b82565b611542919061292e565b5f80516020612c7d8339815191526001600160a01b0385166116115760405163e602df0560e01b81525f60048201526024016109a0565b6001600160a01b03841661163a57604051634a1406b160e11b81525f60048201526024016109a0565b6001600160a01b038086165f908152600183016020908152604080832093881683529290522083905581156116b757836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040516116ae91815260200190565b60405180910390a35b5050505050565b5f80516020612c7d8339815191526001600160a01b0384166116f85781816002015f8282546116ed919061292e565b909155506117559050565b6001600160a01b0384165f90815260208290526040902054828110156117375784818460405163391434e360e21b81526004016109a093929190612abb565b6001600160a01b0385165f9081526020839052604090209083900390555b6001600160a01b038316611773576002810180548390039055611791565b6001600160a01b0383165f9081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117d691815260200190565b60405180910390a350505050565b6117ee8282610d82565b61138c5760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016109a0565b5f80516020612cfd8339815191525460ff166109b157604051638dfc202b60e01b815260040160405180910390fd5b5f7fbb608e3d0c9e28aeffd46207d323ce6abb54190320b3f8cc0f426d1824ea510081611877610942565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156118be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118e29190612873565b90505f836002015f9054906101000a90046001600160a01b03166001600160a01b031663026b1d5f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611937573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061195b9190612858565b9050818611156119ed575f6119708388612af0565b604051631a4ca37b60e21b81526001600160a01b03868116600483015260248201839052306044830152919250908316906369328dec906064016020604051808303815f875af11580156119c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119ea9190612873565b50505b5050505092915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166109b157604051631afcd79f60e31b815260040160405180910390fd5b611a486119f7565b5f80516020612cdd8339815191525f80611a6184611c3f565b9150915081611a71576012611a73565b805b83546001600160a81b031916600160a01b60ff92909216919091026001600160a01b031916176001600160a01b0394909416939093179091555050565b611ab86119f7565b5f80516020612c7d8339815191527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03611af18482612b47565b50600481016108d48382612b47565b611b086119f7565b5f80516020612cfd833981519152805460ff19169055565b6114966119f7565b611b3484848484611d15565b6116b78383611d92565b611b48838361184c565b506116b78585858585611f30565b5f6002826003811115611b6b57611b6b612c07565b611b759190612c1b565b60ff166001149050919050565b5f838302815f1985870982811083820303915050805f03611bb657838281611bac57611bac612adc565b0492505050610891565b808411611bd457611bd48415611bcd576011611fe4565b6012611fe4565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f918291829182916001600160a01b03871691611c8591612c48565b5f60405180830381855afa9150503d805f8114611cbd576040519150601f19603f3d011682016040523d82523d5f602084013e611cc2565b606091505b5091509150818015611cd657506020815110155b15611d09575f81806020019051810190611cf09190612873565b905060ff8111611d07576001969095509350505050565b505b505f9485945092505050565b5f80516020612cdd8339815191528054611d3a906001600160a01b0316863086611ff7565b611d44848361205e565b836001600160a01b0316856001600160a01b03167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d785856040516116ae929190918252602082015260400190565b5f7fbb608e3d0c9e28aeffd46207d323ce6abb54190320b3f8cc0f426d1824ea510081611dbd610942565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038316906370a0823190602401602060405180830381865afa158015611e04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e289190612873565b90505f836002015f9054906101000a90046001600160a01b03166001600160a01b031663026b1d5f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea19190612858565b905081156119ed57611ebd6001600160a01b0384168284612092565b60405163e8eda9df60e01b81526001600160a01b038481166004830152602482018490523060448301525f606483015282169063e8eda9df906084015f604051808303815f87803b158015611f10575f80fd5b505af1158015611f22573d5f803e3d5ffd5b505050505050505092915050565b5f80516020612cdd8339815191526001600160a01b0386811690851614611f5c57611f5c848784611110565b611f668483612119565b8054611f7c906001600160a01b0316868561214d565b836001600160a01b0316856001600160a01b0316876001600160a01b03167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db8686604051611fd4929190918252602082015260400190565b60405180910390a4505050505050565b634e487b7160e01b5f528060045260245ffd5b6040516001600160a01b0384811660248301528381166044830152606482018390526108d49186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061217e565b6001600160a01b0382166120875760405163ec442f0560e01b81525f60048201526024016109a0565b61138c5f83836116be565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa1580156120df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121039190612873565b90506108d48484612114858561292e565b6121df565b6001600160a01b03821661214257604051634b637e8f60e11b81525f60048201526024016109a0565b61138c825f836116be565b6040516001600160a01b0383811660248301526044820183905261093d91859182169063a9059cbb9060640161202c565b5f6121926001600160a01b0384168361226e565b905080515f141580156121b65750808060200190518101906121b49190612c63565b155b1561093d57604051635274afe760e01b81526001600160a01b03841660048201526024016109a0565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612230848261227b565b6108d4576040516001600160a01b0384811660248301525f604483015261226491869182169063095ea7b39060640161202c565b6108d4848261217e565b606061089183835f612318565b5f805f846001600160a01b0316846040516122969190612c48565b5f604051808303815f865af19150503d805f81146122cf576040519150601f19603f3d011682016040523d82523d5f602084013e6122d4565b606091505b50915091508180156122fe5750805115806122fe5750808060200190518101906122fe9190612c63565b80156115425750505050506001600160a01b03163b151590565b60608147101561233d5760405163cd78605960e01b81523060048201526024016109a0565b5f80856001600160a01b031684866040516123589190612c48565b5f6040518083038185875af1925050503d805f8114612392576040519150601f19603f3d011682016040523d82523d5f602084013e612397565b606091505b50915091506123a78683836123b1565b9695505050505050565b6060826123c6576123c18261240d565b610891565b81511580156123dd57506001600160a01b0384163b155b1561240657604051639996b31560e01b81526001600160a01b03851660048201526024016109a0565b5080610891565b80511561241d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f60208284031215612446575f80fd5b81356001600160e01b031981168114610891575f80fd5b5f5b8381101561247757818101518382015260200161245f565b50505f910152565b5f815180845261249681602086016020860161245d565b601f01601f19169290920160200192915050565b602081525f610891602083018461247f565b5f602082840312156124cc575f80fd5b5035919050565b6001600160a01b0381168114610a34575f80fd5b5f80604083850312156124f8575f80fd5b8235612503816124d3565b946020939093013593505050565b5f805f60608486031215612523575f80fd5b833561252e816124d3565b9250602084013561253e816124d3565b929592945050506040919091013590565b5f8060408385031215612560575f80fd5b823591506020830135612572816124d3565b809150509250929050565b5f6020828403121561258d575f80fd5b8135610891816124d3565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126125bb575f80fd5b813567ffffffffffffffff808211156125d6576125d6612598565b604051601f8301601f19908116603f011681019082821181831017156125fe576125fe612598565b81604052838152866020858801011115612616575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f8060808587031215612648575f80fd5b8435612653816124d3565b9350602085013567ffffffffffffffff8082111561266f575f80fd5b61267b888389016125ac565b94506040870135915080821115612690575f80fd5b5061269d878288016125ac565b92505060608501356126ae816124d3565b939692955090935050565b5f805f805f60a086880312156126cd575f80fd5b85356126d8816124d3565b9450602086013567ffffffffffffffff808211156126f4575f80fd5b61270089838a016125ac565b95506040880135915080821115612715575f80fd5b50612722888289016125ac565b9350506060860135612733816124d3565b91506080860135612743816124d3565b809150509295509295909350565b5f805f60608486031215612763575f80fd5b833592506020840135612775816124d3565b91506040840135612785816124d3565b809150509250925092565b5f805f80606085870312156127a3575f80fd5b84356127ae816124d3565b935060208501359250604085013567ffffffffffffffff808211156127d1575f80fd5b818701915087601f8301126127e4575f80fd5b8135818111156127f2575f80fd5b886020828501011115612803575f80fd5b95989497505060200194505050565b8215158152604060208201525f61148e604083018461247f565b5f806040838503121561283d575f80fd5b8235612848816124d3565b91506020830135612572816124d3565b5f60208284031215612868575f80fd5b8151610891816124d3565b5f60208284031215612883575f80fd5b5051919050565b80518015158114612899575f80fd5b919050565b5f805f805f805f805f6101208a8c0312156128b7575f80fd5b8951985060208a0151975060408a0151965060608a0151955060808a0151945060a08a0151935060c08a0151925060e08a015164ffffffffff811681146128fc575f80fd5b915061290b6101008b0161288a565b90509295985092959850929598565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561077f5761077f61291a565b600181811c9082168061295557607f821691505b60208210810361297357634e487b7160e01b5f52602260045260245ffd5b50919050565b60ff818116838216019081111561077f5761077f61291a565b60208082526012908201527114195c9b5a5cdcda5bdb9cc819195b9a595960721b604082015260600190565b818382375f9101908152919050565b600181815b80851115612a0757815f19048211156129ed576129ed61291a565b808516156129fa57918102915b93841c93908002906129d2565b509250929050565b5f82612a1d5750600161077f565b81612a2957505f61077f565b8160018114612a3f5760028114612a4957612a65565b600191505061077f565b60ff841115612a5a57612a5a61291a565b50506001821b61077f565b5060208310610133831016604e8410600b8410161715612a88575081810a61077f565b612a9283836129cd565b805f1904821115612aa557612aa561291a565b029392505050565b5f61089160ff841683612a0f565b6001600160a01b039390931683526020830191909152604082015260600190565b634e487b7160e01b5f52601260045260245ffd5b8181038181111561077f5761077f61291a565b601f82111561093d57805f5260205f20601f840160051c81016020851015612b285750805b601f840160051c820191505b818110156116b7575f8155600101612b34565b815167ffffffffffffffff811115612b6157612b61612598565b612b7581612b6f8454612941565b84612b03565b602080601f831160018114612ba8575f8415612b915750858301515b5f19600386901b1c1916600185901b178555612bff565b5f85815260208120601f198616915b82811015612bd657888601518255948401946001909101908401612bb7565b5085821015612bf357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52602160045260245ffd5b5f60ff831680612c3957634e487b7160e01b5f52601260045260245ffd5b8060ff84160691505092915050565b5f8251612c5981846020870161245d565b9190910192915050565b5f60208284031215612c73575f80fd5b6108918261288a56fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00fc8737ab85eb45125971625a9ebdb75cc78e01d5c1fa80c4c6e5203f47bc4fab02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268000773e532dfede91f04b12a73d3d2acd361424f41f76b4fb79f090161e36b4e00cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a26469706673582212209d21aedd68302cbbd18598c2374cd19ad516a66b220475b67bbb1e3211d9d22164736f6c63430008180033