Returned Raw Transaction Hex :
0x02f955cd830b67d2068309273d83092947835d68538080b95573608060405234801562000010575f80fd5b50620000216200002760201b60201c565b62000191565b5f620000386200012b60201b60201c565b9050805f0160089054906101000a900460ff161562000083576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff8016815f015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1614620001285767ffffffffffffffff815f015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d267ffffffffffffffff6040516200011f919062000176565b60405180910390a15b50565b5f7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b5f67ffffffffffffffff82169050919050565b620001708162000152565b82525050565b5f6020820190506200018b5f83018462000165565b92915050565b6153d4806200019f5f395ff3fe608060405234801561000f575f80fd5b5060043610610251575f3560e01c8063732e86fe11610144578063bf7e214f116100c1578063d905777e11610085578063d905777e146107e3578063dd0081c714610813578063dd62ed3e14610831578063e190febc14610861578063ef8b30f71461087d578063fb183a02146108ad57610251565b8063bf7e214f14610705578063c63d75b614610723578063c6e6f59214610753578063ce96cb7714610783578063d01ab8ee146107b357610251565b8063a9059cbb11610108578063a9059cbb14610615578063aa9b074e14610645578063b3d7f6b914610675578063b460af94146106a5578063ba087652146106d557610251565b8063732e86fe1461056f5780637a9e5e4b1461058d5780638fb36037146105a957806394bf804d146105c757806395d89b41146105f757610251565b80632a994166116101d25780634cdad506116101965780634cdad50614610491578063621b1b7c146104c15780636e553f65146104f157806370a0823114610521578063728a16111461055157610251565b80632a994166146103d7578063313ce567146103f557806338d52e0f14610413578063402d267d14610431578063404b9d811461046157610251565b806313bac8201161021957806313bac820146103215780631459457a1461035157806318160ddd1461036d57806320b9353b1461038b57806323b872dd146103a757610251565b806301e1d1141461025557806306fdde031461027357806307a2d13a14610291578063095ea7b3146102c15780630a28a477146102f1575b5f80fd5b61025d6108dd565b60405161026a9190613ddd565b60405180910390f35b61027b6108f3565b6040516102889190613e80565b60405180910390f35b6102ab60048036038101906102a69190613edb565b610991565b6040516102b89190613ddd565b60405180910390f35b6102db60048036038101906102d69190613f60565b6109a3565b6040516102e89190613fb8565b60405180910390f35b61030b60048036038101906103069190613edb565b6109c5565b6040516103189190613ddd565b60405180910390f35b61033b60048036038101906103369190613fd1565b6109cb565b6040516103489190613ddd565b60405180910390f35b61036b6004803603810190610366919061400f565b610a93565b005b610375610e51565b6040516103829190613ddd565b60405180910390f35b6103a560048036038101906103a09190614086565b610e68565b005b6103c160048036038101906103bc91906140b1565b610e8c565b6040516103ce9190613fb8565b60405180910390f35b6103df610eba565b6040516103ec9190614110565b60405180910390f35b6103fd610ef0565b60405161040a9190614144565b60405180910390f35b61041b610f7c565b6040516104289190614110565b60405180910390f35b61044b60048036038101906104469190614086565b610fb1565b6040516104589190613ddd565b60405180910390f35b61047b60048036038101906104769190613edb565b610fda565b6040516104889190613ddd565b60405180910390f35b6104ab60048036038101906104a69190613edb565b610fec565b6040516104b89190613ddd565b60405180910390f35b6104db60048036038101906104d6919061415d565b61101b565b6040516104e89190613ddd565b60405180910390f35b61050b60048036038101906105069190613fd1565b611070565b6040516105189190613ddd565b60405180910390f35b61053b60048036038101906105369190614086565b6110f0565b6040516105489190613ddd565b60405180910390f35b610559611143565b6040516105669190613ddd565b60405180910390f35b6105776111ef565b6040516105849190614110565b60405180910390f35b6105a760048036038101906105a29190614086565b611224565b005b6105b161130e565b6040516105be91906141fb565b60405180910390f35b6105e160048036038101906105dc9190613fd1565b611347565b6040516105ee9190613ddd565b60405180910390f35b6105ff61137a565b60405161060c9190613e80565b60405180910390f35b61062f600480360381019061062a9190613f60565b611418565b60405161063c9190613fb8565b60405180910390f35b61065f600480360381019061065a9190613edb565b61143a565b60405161066c9190613ddd565b60405180910390f35b61068f600480360381019061068a9190613edb565b61144c565b60405161069c9190613ddd565b60405180910390f35b6106bf60048036038101906106ba9190614214565b611452565b6040516106cc9190613ddd565b60405180910390f35b6106ef60048036038101906106ea9190614214565b611485565b6040516106fc9190613ddd565b60405180910390f35b61070d611507565b60405161071a9190614110565b60405180910390f35b61073d60048036038101906107389190614086565b61153c565b60405161074a9190613ddd565b60405180910390f35b61076d60048036038101906107689190613edb565b611542565b60405161077a9190613ddd565b60405180910390f35b61079d60048036038101906107989190614086565b611554565b6040516107aa9190613ddd565b60405180910390f35b6107cd60048036038101906107c89190614264565b61155a565b6040516107da9190613ddd565b60405180910390f35b6107fd60048036038101906107f89190614086565b6115ad565b60405161080a9190613ddd565b60405180910390f35b61081b6115be565b6040516108289190613ddd565b60405180910390f35b61084b600480360381019061084691906142b4565b6115c4565b6040516108589190613ddd565b60405180910390f35b61087b6004803603810190610876919061441e565b611654565b005b61089760048036038101906108929190613edb565b611814565b6040516108a49190613ddd565b60405180910390f35b6108c760048036038101906108c29190614214565b611843565b6040516108d49190613ddd565b60405180910390f35b5f6108ee6108e9610e51565b610991565b905090565b60605f6108fe611960565b905080600301805461090f90614492565b80601f016020809104026020016040519081016040528092919081815260200182805461093b90614492565b80156109865780601f1061095d57610100808354040283529160200191610986565b820191905f5260205f20905b81548152906001019060200180831161096957829003601f168201915b505050505091505090565b5f61099c825f611987565b9050919050565b5f806109ad6119a7565b90506109ba8185856119ae565b600191505092915050565b5f919050565b5f806109d56119a7565b90505f6109e185610fda565b9050610a178230876109f16111ef565b73ffffffffffffffffffffffffffffffffffffffff166119c0909392919063ffffffff16565b610a218482611a42565b8373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f764bd851d2423ff95fbc9b4db718c64299b808c0948fa9eec41c3b30001aea5e8784604051610a809291906144c2565b60405180910390a3809250505092915050565b5f610a9c611ac1565b90505f815f0160089054906101000a900460ff161590505f825f015f9054906101000a900467ffffffffffffffff1690505f808267ffffffffffffffff16148015610ae45750825b90505f60018367ffffffffffffffff16148015610b1757505f3073ffffffffffffffffffffffffffffffffffffffff163b145b905081158015610b25575080155b15610b5c576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001855f015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508315610ba9576001855f0160086101000a81548160ff0219169083151502179055505b610bb48a8a88611ae8565b8973ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c219190614513565b60ff165f819055508660015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508760025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508673ffffffffffffffffffffffffffffffffffffffff16636254afb66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d169190614579565b60035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610da0877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8c73ffffffffffffffffffffffffffffffffffffffff16611b289092919063ffffffff16565b610deb887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8b73ffffffffffffffffffffffffffffffffffffffff16611b289092919063ffffffff16565b8315610e45575f855f0160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d26001604051610e3c91906145f9565b60405180910390a15b50505050505050505050565b5f80610e5b611960565b9050806002015491505090565b610e80610e736119a7565b610e7b611c35565b611c41565b610e8981611d88565b50565b5f80610e966119a7565b9050610ea3858285611e3a565b610eae858585611ecc565b60019150509392505050565b5f80610ec4611fbc565b9050806001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b5f610ef9611fe3565b610f016111ef565b73ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6d9190614513565b610f77919061463f565b905090565b5f80610f86611fe7565b9050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050919050565b5f610fe5825f61200e565b9050919050565b5f808203610ffc575f9050611016565b5f611007835f612066565b9050611012816120be565b9150505b919050565b5f80611028868686611843565b905082811015611064576040517ff033da7000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050949350505050565b5f8061107b83610fb1565b9050808411156110c6578284826040517f79012fb20000000000000000000000000000000000000000000000000000000081526004016110bd93929190614673565b60405180910390fd5b5f6110d085611814565b90506110e56110dd6119a7565b858784612381565b809250505092915050565b5f806110fa611960565b9050805f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054915050919050565b5f8061114d611fbc565b9050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016111aa9190614110565b602060405180830381865afa1580156111c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111e991906146bc565b91505090565b5f806111f9611fbc565b9050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b5f61122d6119a7565b9050611237611507565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146112a657806040517f068ca9d800000000000000000000000000000000000000000000000000000000815260040161129d9190614110565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff163b0361130157816040517fc2f31e5e0000000000000000000000000000000000000000000000000000000081526004016112f89190614110565b60405180910390fd5b61130a82612414565b5050565b5f8061131861249b565b9050805f0160149054906101000a900460ff16611338575f60e01b611341565b638fb3603760e01b5b91505090565b5f6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60605f611385611960565b905080600401805461139690614492565b80601f01602080910402602001604051908101604052809291908181526020018280546113c290614492565b801561140d5780601f106113e45761010080835404028352916020019161140d565b820191905f5260205f20905b8154815290600101906020018083116113f057829003601f168201915b505050505091505090565b5f806114226119a7565b905061142f818585611ecc565b600191505092915050565b5f611445825f612066565b9050919050565b5f919050565b5f6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80611490836115ad565b9050808511156114db578285826040517fb94abeec0000000000000000000000000000000000000000000000000000000081526004016114d293929190614673565b60405180910390fd5b5f6114e586610fec565b90506114fb6114f26119a7565b8686848a6124c2565b80925050509392505050565b5f8061151161249b565b9050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b5f919050565b5f61154d825f6125b9565b9050919050565b5f919050565b5f8061156685856109cb565b9050828110156115a2576040517ff033da7000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b809150509392505050565b5f6115b7826110f0565b9050919050565b61271081565b5f806115ce611960565b9050806001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205491505092915050565b61166c61165f6119a7565b611667611c35565b611c41565b5f611675610eba565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806116c757505f8173ffffffffffffffffffffffffffffffffffffffff163b145b156116fe576040517f9bc021a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff1663e190febc8460405160240161172c9190614739565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090505f8273ffffffffffffffffffffffffffffffffffffffff16826040516117969190614793565b5f60405180830381855af49150503d805f81146117ce576040519150601f19603f3d011682016040523d82523d5f602084013e6117d3565b606091505b505090508061180e576040517f6f1f970c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b5f808203611824575f905061183e565b5f61182e836125d9565b905061183a815f61200e565b9150505b919050565b5f8061184d6119a7565b90508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461188e5761188d838287611e3a565b5b5f6118988661143a565b90506118a484876128b7565b6118d685826118b16111ef565b73ffffffffffffffffffffffffffffffffffffffff166129369092919063ffffffff16565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddce703dce003cfc0a2d7cddef5f904f35cc1d27200a1b9153a656dc5208a849898560405161194c9291906144c2565b60405180910390a480925050509392505050565b5f7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00905090565b5f806119938484612066565b905061199e816129b5565b91505092915050565b5f33905090565b6119bb8383836001612b58565b505050565b611a3c848573ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040516024016119f5939291906147a9565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612d35565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ab2575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611aa99190614110565b60405180910390fd5b611abd5f8383612dca565b5050565b5f7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b611af0612ff9565b611af982613039565b611b0283613091565b611b1a611b0d6130a5565b611b15613142565b6131df565b611b23816131f5565b505050565b5f8373ffffffffffffffffffffffffffffffffffffffff1663095ea7b38484604051602401611b589291906147de565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050611ba68482613209565b611c2f57611c24848573ffffffffffffffffffffffffffffffffffffffff1663095ea7b3865f604051602401611bdd92919061483e565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612d35565b611c2e8482612d35565b5b50505050565b365f8036915091509091565b5f611c4a61249b565b90505f80611c7e611c59611507565b873088885f90600492611c6e9392919061486d565b90611c7991906148bd565b6132c8565b9150915081611d80575f8163ffffffff161115611d42576001835f0160146101000a81548160ff021916908315150217905550611cb9611507565b73ffffffffffffffffffffffffffffffffffffffff166394c7d7ee8787876040518463ffffffff1660e01b8152600401611cf593929190614947565b5f604051808303815f87803b158015611d0c575f80fd5b505af1158015611d1e573d5f803e3d5ffd5b505050505f835f0160146101000a81548160ff021916908315150217905550611d7f565b856040517f068ca9d8000000000000000000000000000000000000000000000000000000008152600401611d769190614110565b60405180910390fd5b5b505050505050565b5f611d91611fbc565b90505f816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082826001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f7c001ad9f6bdea5a8ff108ca4cf90c48873c604f3a53fd75300d5710093efcff8184604051611e2d929190614977565b60405180910390a1505050565b5f611e4584846115c4565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611ec65781811015611eb7578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401611eae93929190614673565b60405180910390fd5b611ec584848484035f612b58565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f3c575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611f339190614110565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fac575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611fa39190614110565b60405180910390fd5b611fb7838383612dca565b505050565b5f7f59ff202e9c72f33fbb7c107cbf037f949ff0624b6b8b7e53ab05f0c445903000905090565b5f90565b5f7f0773e532dfede91f04b12a73d3d2acd361424f41f76b4fb79f090161e36b4e00905090565b5f61205e61201a611fe3565b600a6120269190614acd565b61202e610e51565b6120389190614b17565b6001612042611143565b61204c9190614b17565b84866133e9909392919063ffffffff16565b905092915050565b5f6120b66001612074611143565b61207e9190614b17565b612086611fe3565b600a6120929190614acd565b61209a610e51565b6120a49190614b17565b84866133e9909392919063ffffffff16565b905092915050565b5f8060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bc979af6612105610f7c565b6040518263ffffffff1660e01b81526004016121219190614110565b608060405180830381865afa15801561213c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121609190614c01565b90505f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c47d51be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121f191906146bc565b82602001516122009190614b17565b90506127108111156122125761271090505b5f61271082866122229190614c2c565b61222c9190614c9a565b9050808511612270576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226790614d14565b60405180910390fd5b5f818661227d9190614d32565b90505f6122ab60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f613436565b90505f81116122ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e690614daf565b60405180910390fd5b5f612301865f01518760600151613436565b90505f8111612345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233c90614daf565b60405180910390fd5b5f6123705f548385876123589190614c2c565b6123629190614c9a565b6134c990919063ffffffff16565b905080975050505050505050919050565b61239461238c610f7c565b8530856119c0565b61239d826134de565b6123a78382611a42565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d784846040516124069291906144c2565b60405180910390a350505050565b5f61241d61249b565b905081815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad8260405161248f9190614110565b60405180910390a15050565b5f7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00905090565b8273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461250157612500838683611e3a565b5b5f61250c825f612066565b905061251884836128b7565b61252181613596565b61253361252c610f7c565b8685612936565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db86866040516125a99291906144c2565b60405180910390a4505050505050565b5f806125c48461363b565b90506125d0818461200e565b91505092915050565b5f806125ef5f548461380e90919063ffffffff16565b90505f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bc979af6612637610f7c565b6040518263ffffffff1660e01b81526004016126539190614110565b608060405180830381865afa15801561266e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126929190614c01565b90505f6126a6825f01518360600151613436565b90505f81116126ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e190614daf565b60405180910390fd5b5f670de0b6b3a764000082856127009190614c2c565b61270a9190614c9a565b90505f61273860035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f613436565b90505f811161277c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277390614daf565b60405180910390fd5b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c47d51be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061280b91906146bc565b856020015161281a9190614b17565b905061271081111561282c5761271090505b5f612850612710838961283f9190614c2c565b6128499190614c9a565b5f54613823565b90505f670de0b6b3a764000086836128689190614c2c565b6128729190614c9a565b90505f81866128819190614d32565b90505f85670de0b6b3a7640000836128999190614c2c565b6128a39190614c9a565b9050809a5050505050505050505050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612927575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161291e9190614110565b60405180910390fd5b612932825f83612dca565b5050565b6129b0838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040516024016129699291906147de565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612d35565b505050565b5f806129e260035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f613436565b90505f8111612a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a1d90614daf565b60405180910390fd5b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bc979af6612a6c610f7c565b6040518263ffffffff1660e01b8152600401612a889190614110565b608060405180830381865afa158015612aa3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ac79190614c01565b90505f612adb825f01518360600151613436565b90505f8111612b1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1690614daf565b60405180910390fd5b5f612b4a5f54838689612b329190614c2c565b612b3c9190614c9a565b6134c990919063ffffffff16565b905080945050505050919050565b5f612b61611960565b90505f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603612bd3575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401612bca9190614110565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612c43575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401612c3a9190614110565b60405180910390fd5b82816001015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508115612d2e578373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051612d259190613ddd565b60405180910390a35b5050505050565b5f612d5f828473ffffffffffffffffffffffffffffffffffffffff1661385790919063ffffffff16565b90505f815114158015612d83575080806020019051810190612d819190614dcd565b155b15612dc557826040517f5274afe7000000000000000000000000000000000000000000000000000000008152600401612dbc9190614110565b60405180910390fd5b505050565b5f612dd3611960565b90505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612e275781816002015f828254612e1b9190614b17565b92505081905550612ef9565b5f815f015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015612eb2578481846040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401612ea993929190614673565b60405180910390fd5b828103825f015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612f425781816002015f8282540392505081905550612f8e565b81815f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612feb9190613ddd565b60405180910390a350505050565b61300161386c565b613037576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b613041612ff9565b5f61304a611fbc565b905081815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b613099612ff9565b6130a28161388a565b50565b60606130af6111ef565b73ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156130f6573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061311e9190614e96565b60405160200161312e9190614f3d565b604051602081830303815290604052905090565b606061314c6111ef565b73ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015613193573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906131bb9190614e96565b6040516020016131cb9190614f88565b604051602081830303815290604052905090565b6131e7612ff9565b6131f1828261391c565b5050565b6131fd612ff9565b61320681613958565b50565b5f805f8473ffffffffffffffffffffffffffffffffffffffff16846040516132319190614793565b5f604051808303815f865af19150503d805f811461326a576040519150601f19603f3d011682016040523d82523d5f602084013e61326f565b606091505b509150915081801561329c57505f8151148061329b57508080602001905181019061329a9190614dcd565b5b5b80156132be57505f8573ffffffffffffffffffffffffffffffffffffffff163b115b9250505092915050565b5f805f808773ffffffffffffffffffffffffffffffffffffffff168787876040516024016132f893929190614fad565b60405160208183030381529060405263b700961360e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161334a9190614793565b5f60405180830381855afa9150503d805f8114613382576040519150601f19603f3d011682016040523d82523d5f602084013e613387565b606091505b509150915081156133de5760408151106133bc57808060200190518101906133af919061501b565b80945081955050506133dd565b60208151106133dc57808060200190518101906133d99190614dcd565b93505b5b5b505094509492505050565b5f6134176133f68361396c565b801561341257505f848061340d5761340c614c6d565b5b868809115b613999565b6134228686866139a4565b61342c9190614b17565b9050949350505050565b5f808373ffffffffffffffffffffffffffffffffffffffff1663636929056040518163ffffffff1660e01b8152600401602060405180830381865afa158015613481573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134a591906146bc565b905082156134be57670de0b6b3a76400009150506134c3565b809150505b92915050565b5f6134d683601284613a8b565b905092915050565b5f81146135935760015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c02dd27a61352a610f7c565b61353e5f548561380e90919063ffffffff16565b613547856125d9565b6040518463ffffffff1660e01b81526004016135659392919061505f565b5f604051808303815f87803b15801561357c575f80fd5b505af115801561358e573d5f803e3d5ffd5b505050505b50565b5f81146136385760025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b53f75e6135e2610f7c565b836135ec856120be565b6040518463ffffffff1660e01b815260040161360a93929190614673565b5f604051808303815f87803b158015613621575f80fd5b505af1158015613633573d5f803e3d5ffd5b505050505b50565b5f806136515f548461380e90919063ffffffff16565b90505f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bc979af6613699610f7c565b6040518263ffffffff1660e01b81526004016136b59190614110565b608060405180830381865afa1580156136d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136f49190614c01565b90505f613708825f01518360600151613436565b90505f811161374c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161374390614daf565b60405180910390fd5b5f670de0b6b3a764000082856137629190614c2c565b61376c9190614c9a565b90505f61379a60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f613436565b90505f81116137de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137d590614daf565b60405180910390fd5b5f81670de0b6b3a7640000846137f49190614c2c565b6137fe9190614c9a565b9050809650505050505050919050565b5f61381b83836012613a8b565b905092915050565b5f61384f8260ff166138418460ff16866134c990919063ffffffff16565b61380e90919063ffffffff16565b905092915050565b606061386483835f613b0f565b905092915050565b5f613875611ac1565b5f0160089054906101000a900460ff16905090565b613892612ff9565b5f61389b611fe7565b90505f806138a884613bda565b91509150816138b85760126138ba565b805b835f0160146101000a81548160ff021916908360ff16021790555083835f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b613924612ff9565b5f61392d611960565b9050828160030190816139409190615228565b50818160040190816139529190615228565b50505050565b613960612ff9565b61396981612414565b50565b5f60016002836003811115613984576139836152f7565b5b61398e9190615324565b60ff16149050919050565b5f8115159050919050565b5f8083850290505f8019858709828110838203039150505f81036139dc578382816139d2576139d1614c6d565b5b0492505050613a84565b8084116139fd576139fc5f85146139f45760116139f7565b60125b613ce3565b5b5f8486880990508281118203915080830392505f855f038616905080860495508084049350600181825f0304019050808302841793505f600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808502955050505050505b9392505050565b5f808403613a9b575f9050613b08565b818303613aaa57839050613b08565b5f82841115613add578284613abf9190614d32565b600a613acb9190615354565b85613ad69190614c9a565b9050613b03565b8383613ae99190614d32565b600a613af59190615354565b85613b009190614c2c565b90505b809150505b9392505050565b606081471015613b585747826040517fcf479181000000000000000000000000000000000000000000000000000000008152600401613b4f9291906144c2565b60405180910390fd5b5f808573ffffffffffffffffffffffffffffffffffffffff168486604051613b809190614793565b5f6040518083038185875af1925050503d805f8114613bba576040519150601f19603f3d011682016040523d82523d5f602084013e613bbf565b606091505b5091509150613bcf868383613cf4565b925050509392505050565b5f805f808473ffffffffffffffffffffffffffffffffffffffff1660405160240160405160208183030381529060405263313ce56760e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051613c4d9190614793565b5f60405180830381855afa9150503d805f8114613c85576040519150601f19603f3d011682016040523d82523d5f602084013e613c8a565b606091505b5091509150818015613c9e57506020815110155b15613cd5575f81806020019051810190613cb891906146bc565b905060ff80168111613cd35760018194509450505050613cde565b505b5f809350935050505b915091565b634e487b715f52806020526024601cfd5b606082613d0957613d0482613d81565b613d79565b5f8251148015613d2f57505f8473ffffffffffffffffffffffffffffffffffffffff163b145b15613d7157836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401613d689190614110565b60405180910390fd5b819050613d7a565b5b9392505050565b5f81511115613d935780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f819050919050565b613dd781613dc5565b82525050565b5f602082019050613df05f830184613dce565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613e2d578082015181840152602081019050613e12565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613e5282613df6565b613e5c8185613e00565b9350613e6c818560208601613e10565b613e7581613e38565b840191505092915050565b5f6020820190508181035f830152613e988184613e48565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b613eba81613dc5565b8114613ec4575f80fd5b50565b5f81359050613ed581613eb1565b92915050565b5f60208284031215613ef057613eef613ea9565b5b5f613efd84828501613ec7565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613f2f82613f06565b9050919050565b613f3f81613f25565b8114613f49575f80fd5b50565b5f81359050613f5a81613f36565b92915050565b5f8060408385031215613f7657613f75613ea9565b5b5f613f8385828601613f4c565b9250506020613f9485828601613ec7565b9150509250929050565b5f8115159050919050565b613fb281613f9e565b82525050565b5f602082019050613fcb5f830184613fa9565b92915050565b5f8060408385031215613fe757613fe6613ea9565b5b5f613ff485828601613ec7565b925050602061400585828601613f4c565b9150509250929050565b5f805f805f60a0868803121561402857614027613ea9565b5b5f61403588828901613f4c565b955050602061404688828901613f4c565b945050604061405788828901613f4c565b935050606061406888828901613f4c565b925050608061407988828901613f4c565b9150509295509295909350565b5f6020828403121561409b5761409a613ea9565b5b5f6140a884828501613f4c565b91505092915050565b5f805f606084860312156140c8576140c7613ea9565b5b5f6140d586828701613f4c565b93505060206140e686828701613f4c565b92505060406140f786828701613ec7565b9150509250925092565b61410a81613f25565b82525050565b5f6020820190506141235f830184614101565b92915050565b5f60ff82169050919050565b61413e81614129565b82525050565b5f6020820190506141575f830184614135565b92915050565b5f805f806080858703121561417557614174613ea9565b5b5f61418287828801613ec7565b945050602061419387828801613f4c565b93505060406141a487828801613f4c565b92505060606141b587828801613ec7565b91505092959194509250565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6141f5816141c1565b82525050565b5f60208201905061420e5f8301846141ec565b92915050565b5f805f6060848603121561422b5761422a613ea9565b5b5f61423886828701613ec7565b935050602061424986828701613f4c565b925050604061425a86828701613f4c565b9150509250925092565b5f805f6060848603121561427b5761427a613ea9565b5b5f61428886828701613ec7565b935050602061429986828701613f4c565b92505060406142aa86828701613ec7565b9150509250925092565b5f80604083850312156142ca576142c9613ea9565b5b5f6142d785828601613f4c565b92505060206142e885828601613f4c565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61433082613e38565b810181811067ffffffffffffffff8211171561434f5761434e6142fa565b5b80604052505050565b5f614361613ea0565b905061436d8282614327565b919050565b5f67ffffffffffffffff82111561438c5761438b6142fa565b5b61439582613e38565b9050602081019050919050565b828183375f83830152505050565b5f6143c26143bd84614372565b614358565b9050828152602081018484840111156143de576143dd6142f6565b5b6143e98482856143a2565b509392505050565b5f82601f830112614405576144046142f2565b5b81356144158482602086016143b0565b91505092915050565b5f6020828403121561443357614432613ea9565b5b5f82013567ffffffffffffffff8111156144505761444f613ead565b5b61445c848285016143f1565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806144a957607f821691505b6020821081036144bc576144bb614465565b5b50919050565b5f6040820190506144d55f830185613dce565b6144e26020830184613dce565b9392505050565b6144f281614129565b81146144fc575f80fd5b50565b5f8151905061450d816144e9565b92915050565b5f6020828403121561452857614527613ea9565b5b5f614535848285016144ff565b91505092915050565b5f61454882613f25565b9050919050565b6145588161453e565b8114614562575f80fd5b50565b5f815190506145738161454f565b92915050565b5f6020828403121561458e5761458d613ea9565b5b5f61459b84828501614565565b91505092915050565b5f819050919050565b5f67ffffffffffffffff82169050919050565b5f819050919050565b5f6145e36145de6145d9846145a4565b6145c0565b6145ad565b9050919050565b6145f3816145c9565b82525050565b5f60208201905061460c5f8301846145ea565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61464982614129565b915061465483614129565b9250828201905060ff81111561466d5761466c614612565b5b92915050565b5f6060820190506146865f830186614101565b6146936020830185613dce565b6146a06040830184613dce565b949350505050565b5f815190506146b681613eb1565b92915050565b5f602082840312156146d1576146d0613ea9565b5b5f6146de848285016146a8565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f61470b826146e7565b61471581856146f1565b9350614725818560208601613e10565b61472e81613e38565b840191505092915050565b5f6020820190508181035f8301526147518184614701565b905092915050565b5f81905092915050565b5f61476d826146e7565b6147778185614759565b9350614787818560208601613e10565b80840191505092915050565b5f61479e8284614763565b915081905092915050565b5f6060820190506147bc5f830186614101565b6147c96020830185614101565b6147d66040830184613dce565b949350505050565b5f6040820190506147f15f830185614101565b6147fe6020830184613dce565b9392505050565b5f819050919050565b5f61482861482361481e84614805565b6145c0565b613dc5565b9050919050565b6148388161480e565b82525050565b5f6040820190506148515f830185614101565b61485e602083018461482f565b9392505050565b5f80fd5b5f80fd5b5f80858511156148805761487f614865565b5b8386111561489157614890614869565b5b6001850283019150848603905094509492505050565b5f82905092915050565b5f82821b905092915050565b5f6148c883836148a7565b826148d381356141c1565b925060048210156149135761490e7fffffffff00000000000000000000000000000000000000000000000000000000836004036008026148b1565b831692505b505092915050565b5f61492683856146f1565b93506149338385846143a2565b61493c83613e38565b840190509392505050565b5f60408201905061495a5f830186614101565b818103602083015261496d81848661491b565b9050949350505050565b5f60408201905061498a5f830185614101565b6149976020830184614101565b9392505050565b5f8160011c9050919050565b5f808291508390505b60018511156149f3578086048111156149cf576149ce614612565b5b60018516156149de5780820291505b80810290506149ec8561499e565b94506149b3565b94509492505050565b5f82614a0b5760019050614ac6565b81614a18575f9050614ac6565b8160018114614a2e5760028114614a3857614a67565b6001915050614ac6565b60ff841115614a4a57614a49614612565b5b8360020a915084821115614a6157614a60614612565b5b50614ac6565b5060208310610133831016604e8410600b8410161715614a9c5782820a905083811115614a9757614a96614612565b5b614ac6565b614aa984848460016149aa565b92509050818404811115614ac057614abf614612565b5b81810290505b9392505050565b5f614ad782613dc5565b9150614ae283614129565b9250614b0f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846149fc565b905092915050565b5f614b2182613dc5565b9150614b2c83613dc5565b9250828201905080821115614b4457614b43614612565b5b92915050565b5f80fd5b5f81519050614b5c81613f36565b92915050565b614b6b81613f9e565b8114614b75575f80fd5b50565b5f81519050614b8681614b62565b92915050565b5f60808284031215614ba157614ba0614b4a565b5b614bab6080614358565b90505f614bba84828501614b4e565b5f830152506020614bcd848285016146a8565b6020830152506040614be1848285016146a8565b6040830152506060614bf584828501614b78565b60608301525092915050565b5f60808284031215614c1657614c15613ea9565b5b5f614c2384828501614b8c565b91505092915050565b5f614c3682613dc5565b9150614c4183613dc5565b9250828202614c4f81613dc5565b91508282048414831517614c6657614c65614612565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614ca482613dc5565b9150614caf83613dc5565b925082614cbf57614cbe614c6d565b5b828204905092915050565b7f736861726573203c2066656500000000000000000000000000000000000000005f82015250565b5f614cfe600c83613e00565b9150614d0982614cca565b602082019050919050565b5f6020820190508181035f830152614d2b81614cf2565b9050919050565b5f614d3c82613dc5565b9150614d4783613dc5565b9250828203905081811115614d5f57614d5e614612565b5b92915050565b7f72617465207a65726f00000000000000000000000000000000000000000000005f82015250565b5f614d99600983613e00565b9150614da482614d65565b602082019050919050565b5f6020820190508181035f830152614dc681614d8d565b9050919050565b5f60208284031215614de257614de1613ea9565b5b5f614def84828501614b78565b91505092915050565b5f67ffffffffffffffff821115614e1257614e116142fa565b5b614e1b82613e38565b9050602081019050919050565b5f614e3a614e3584614df8565b614358565b905082815260208101848484011115614e5657614e556142f6565b5b614e61848285613e10565b509392505050565b5f82601f830112614e7d57614e7c6142f2565b5b8151614e8d848260208601614e28565b91505092915050565b5f60208284031215614eab57614eaa613ea9565b5b5f82015167ffffffffffffffff811115614ec857614ec7613ead565b5b614ed484828501614e69565b91505092915050565b7f53706563747261204552433436323620577261707065723a2000000000000000815250565b5f81905092915050565b5f614f1782613df6565b614f218185614f03565b9350614f31818560208601613e10565b80840191505092915050565b5f614f4782614edd565b601982019150614f578284614f0d565b915081905092915050565b7f73772d0000000000000000000000000000000000000000000000000000000000815250565b5f614f9282614f62565b600382019150614fa28284614f0d565b915081905092915050565b5f606082019050614fc05f830186614101565b614fcd6020830185614101565b614fda60408301846141ec565b949350505050565b5f63ffffffff82169050919050565b614ffa81614fe2565b8114615004575f80fd5b50565b5f8151905061501581614ff1565b92915050565b5f806040838503121561503157615030613ea9565b5b5f61503e85828601614b78565b925050602061504f85828601615007565b9150509250929050565b5f815250565b5f6080820190506150725f830186614101565b61507f6020830185613dce565b61508c6040830184613dce565b61509860608301615059565b949350505050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f600883026150f07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826148b1565b6150fa86836148b1565b95508019841693508086168417925050509392505050565b5f61512c61512761512284613dc5565b6145c0565b613dc5565b9050919050565b5f819050919050565b61514583615112565b61515961515182615133565b8484546150c1565b825550505050565b5f90565b61516d615161565b61517881848461513c565b505050565b5b8181101561519b576151905f82615165565b60018101905061517e565b5050565b601f8211156151e0576151b1816150a0565b6151ba846150b2565b810160208510156151c9578190505b6151dd6151d5856150b2565b83018261517d565b50505b505050565b5f82821c905092915050565b5f6152005f19846008026151e5565b1980831691505092915050565b5f61521883836151f1565b9150826002028217905092915050565b61523182613df6565b67ffffffffffffffff81111561524a576152496142fa565b5b6152548254614492565b61525f82828561519f565b5f60209050601f831160018114615290575f841561527e578287015190505b615288858261520d565b8655506152ef565b601f19841661529e866150a0565b5f5b828110156152c5578489015182556001820191506020850194506020810190506152a0565b868310156152e257848901516152de601f8916826151f1565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f61532e82614129565b915061533983614129565b92508261534957615348614c6d565b5b828206905092915050565b5f61535e82613dc5565b915061536983613dc5565b92506153967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846149fc565b90509291505056fea2646970667358221220493dbec4ff2f1b3c8cb71206da7cce6cc223b7fc9343d16c19afc0a6dd8677dc64736f6c63430008140033c080a079efe69234aff9d6efd75cfb4f6e897672783f86eca58b84ec00c5996b8aab18a04b3dc84af7162fc91477dcaaf1257be5e664568ebe4678718bd0da334272d74f