VeChain
Explorer
Testnet
Search
Networks
Main
Test
Contract
0x2252FB…dc08
Summary
Transactions
Transfers
Address
0x2252FB011E08d29C5CcBF68686f302bC8C0Edc08
VET
0.00
VET
VTHO
0.00
VTHO
Master
0xbf8df3046186c6cB44c25130910B44dA14eAbF58
Deployer
0xbf8df3046186c6cB44c25130910B44dA14eAbF58
Code
0x6080604052600436106102ba5760003560e01c80636c18d1ad1161016e578063bf7e214f116100cb578063ddc632621161007f578063f514e66411610064578063f514e6641461085d578063fbca6ba61461087d578063ff9810991461089d57600080fd5b8063ddc63262146107c8578063e985e9c5146107e857600080fd5b8063c4d66de8116100b0578063c4d66de814610768578063c87b56dd14610788578063cbc95fa7146107a857600080fd5b8063bf7e214f146106fe578063c3629dbe1461074857600080fd5b806395d89b4111610122578063a694fc3a11610107578063a694fc3a14610675578063ad3cb1cc14610695578063b88d4fde146106de57600080fd5b806395d89b4114610640578063a22cb4651461065557600080fd5b80637a9e5e4b116101535780637a9e5e4b146105c55780638456cb59146105e55780638fb36037146105fa57600080fd5b80636c18d1ad1461058f57806370a08231146105a557600080fd5b80632f745c591161021c5780634f1ef286116101d057806352d1902d116101b557806352d1902d146105235780635c975abb146105385780636352211e1461056f57600080fd5b80634f1ef286146104f05780634f6ccce71461050357600080fd5b80634174caf7116102015780634174caf71461049057806342842e0e146104b057806342966c68146104d057600080fd5b80632f745c591461045b5780633f4ba83a1461047b57600080fd5b8063081812fc116102735780630d831203116102585780630d831203146103dd57806318160ddd146103fd57806323b872dd1461043b57600080fd5b8063081812fc1461039d578063095ea7b3146103bd57600080fd5b806301ffc9a7116102a457806301ffc9a71461032b57806306fdde031461035b57806307920da81461037d57600080fd5b8062a5ae21146102bf5780630121b93f14610309575b600080fd5b3480156102cb57600080fd5b506102df6102da366004615109565b6108ca565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561031557600080fd5b50610329610324366004615109565b610a2a565b005b34801561033757600080fd5b5061034b610346366004615150565b610f9d565b6040519015158152602001610300565b34801561036757600080fd5b50610370610fae565b60405161030091906151db565b34801561038957600080fd5b5061034b610398366004615109565b611064565b3480156103a957600080fd5b506102df6103b8366004615109565b611517565b3480156103c957600080fd5b506103296103d8366004615210565b61156c565b3480156103e957600080fd5b506103296103f8366004615109565b611577565b34801561040957600080fd5b507f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed02545b604051908152602001610300565b34801561044757600080fd5b5061032961045636600461523c565b6115bc565b34801561046757600080fd5b5061042d610476366004615210565b6116ad565b34801561048757600080fd5b50610329611766565b34801561049c57600080fd5b506102df6104ab366004615397565b611779565b3480156104bc57600080fd5b506103296104cb36600461523c565b611786565b3480156104dc57600080fd5b506103296104eb366004615109565b6117a6565b6103296104fe3660046153cc565b6117b2565b34801561050f57600080fd5b5061042d61051e366004615109565b6117cd565b34801561052f57600080fd5b5061042d611882565b34801561054457600080fd5b507fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff1661034b565b34801561057b57600080fd5b506102df61058a366004615109565b6118b1565b34801561059b57600080fd5b5061042d60015481565b3480156105b157600080fd5b5061042d6105c036600461541c565b6118bc565b3480156105d157600080fd5b506103296105e036600461541c565b61195d565b3480156105f157600080fd5b50610329611a8a565b34801561060657600080fd5b5061060f611a9b565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610300565b34801561064c57600080fd5b50610370611b10565b34801561066157600080fd5b50610329610670366004615447565b611b61565b34801561068157600080fd5b50610329610690366004615109565b611b6c565b3480156106a157600080fd5b506103706040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b3480156106ea57600080fd5b506103296106f9366004615480565b612082565b34801561070a57600080fd5b507ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005473ffffffffffffffffffffffffffffffffffffffff166102df565b34801561075457600080fd5b506103296107633660046153cc565b612099565b34801561077457600080fd5b5061032961078336600461541c565b6123b2565b34801561079457600080fd5b506103706107a3366004615109565b6125ce565b3480156107b457600080fd5b506103296107c336600461558a565b6125d9565b3480156107d457600080fd5b506103296107e3366004615109565b612682565b3480156107f457600080fd5b5061034b61080336600461564e565b73ffffffffffffffffffffffffffffffffffffffff91821660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020908152604080832093909416825291909152205460ff1690565b34801561086957600080fd5b5061032961087836600461567c565b612b9b565b34801561088957600080fd5b50610329610898366004615109565b612c12565b3480156108a957600080fd5b506108bd6108b8366004615109565b612c39565b60405161030091906156ff565b60008181526003602052604081205473ffffffffffffffffffffffffffffffffffffffff16806109375760408051808201909152601881527f7462614163636f756e74496d706c656d656e746174696f6e0000000000000000602082015261093490600290612c56565b90505b60408051808201909152600b81527f7462615265676973747279000000000000000000000000000000000000000000602082015261097790600290612c56565b6040517f5e9bc53600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff838116600483015246602483015230604483015260648201869052608482018690529190911690635e9bc5369060a401602060405180830381865afa1580156109ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a23919061577d565b9392505050565b610a37335b600036612c98565b806000610a43826118b1565b73ffffffffffffffffffffffffffffffffffffffff1603610ac5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5644503a20546f6b656e20646f6573206e6f742065786973740000000000000060448201526064015b60405180910390fd5b6000610ad0836108ca565b90506000610b1d6040518060400160405280600381526020017f676f7600000000000000000000000000000000000000000000000000000000008152506002612c5690919063ffffffff16565b905060008173ffffffffffffffffffffffffffffffffffffffff16639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b90919061579a565b905060008273ffffffffffffffffffffffffffffffffffffffff1663eb9019d4858573ffffffffffffffffffffffffffffffffffffffff1663d06efeda866040518263ffffffff1660e01b8152600401610bec91815260200190565b602060405180830381865afa158015610c09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2d919061579a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401602060405180830381865afa158015610c9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbf919061579a565b905080600003610cd157505050505050565b6000610cdc87612e8f565b8051805191925090606090600003610e35576040517f42e654960000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff8716906342e6549690602401600060405180830381865afa158015610d59573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610d9f91908101906157b3565b80519092508067ffffffffffffffff811115610dbd57610dbd61527d565b604051908082528060200260200182016040528015610de6578160200160208202803683370190505b50602085015260005b81811015610e3257610e02826064615873565b85602001518281518110610e1857610e186158ae565b60ff90921660209283029190910190910152600101610def565b50505b610e43848460200151612fac565b90508673ffffffffffffffffffffffffffffffffffffffff166374420f4c876000888686604051602401610e79939291906158dd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f53ed6399000000000000000000000000000000000000000000000000000000001790525160e085901b7fffffffff00000000000000000000000000000000000000000000000000000000168152610f2b9392919060009060040161593a565b6000604051808303816000875af1158015610f4a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f909190810190615980565b50505050505050505b5050565b6000610fa8826130d3565b92915050565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793008054606091908190610fe0906159ee565b80601f016020809104026020016040519081016040528092919081815260200182805461100c906159ee565b80156110595780601f1061102e57610100808354040283529160200191611059565b820191906000526020600020905b81548152906001019060200180831161103c57829003601f168201915b505050505091505090565b600080611070836108ca565b905060006110bd6040518060400160405280600381526020017f676f7600000000000000000000000000000000000000000000000000000000008152506002612c5690919063ffffffff16565b905060008173ffffffffffffffffffffffffffffffffffffffff16639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561110c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611130919061579a565b6040517fd06efeda0000000000000000000000000000000000000000000000000000000081526004810182905290915060009073ffffffffffffffffffffffffffffffffffffffff84169063d06efeda90602401602060405180830381865afa1580156111a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c5919061579a565b905060006112126040518060400160405280600481526020017f62337472000000000000000000000000000000000000000000000000000000008152506002612c5690919063ffffffff16565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015291909116906370a0823190602401602060405180830381865afa158015611280573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a4919061579a565b905060006112f16040518060400160405280600881526020017f72657761726465720000000000000000000000000000000000000000000000008152506002612c5690919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16628f33d7611316600187615a41565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b168152600481019190915273ffffffffffffffffffffffffffffffffffffffff89166024820152604401602060405180830381865afa158015611386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113aa919061579a565b6040517f438596320000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff8881166024830152919250600091871690634385963290604401602060405180830381865afa158015611423573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114479190615a54565b6040517feb9019d400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301526024820187905291925060009188169063eb9019d490604401602060405180830381865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e4919061579a565b905060008411806114f55750600083115b806115095750600081118015611509575081155b9a9950505050505050505050565b600061152282613129565b5060008281527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079304602052604090205473ffffffffffffffffffffffffffffffffffffffff16610fa8565b610f998282336131a7565b61158033610a2f565b60018190556040518181527f4b392313c432b5ea962913f39ba6f53a1982c4d5bb7b7ee362825049407bcc8a906020015b60405180910390a150565b73ffffffffffffffffffffffffffffffffffffffff821661160c576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260006004820152602401610abc565b60006116198383336131b4565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146116a7576040517f64283d7b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80861660048301526024820184905282166044820152606401610abc565b50505050565b60007f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed006116d9846118bc565b8310611730576040517fa57d13dc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260248101849052604401610abc565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602091825260408082208583529092522054905092915050565b61176f33610a2f565b6117776131c9565b565b6000610fa8600283612c56565b6117a183838360405180602001604052806000815250612082565b505050565b610f99600082336131b4565b6117ba613260565b6117c382613364565b610f99828261336d565b60007f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed006118187f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed025490565b831061185a576040517fa57d13dc0000000000000000000000000000000000000000000000000000000081526000600482015260248101849052604401610abc565b80600201838154811061186f5761186f6158ae565b9060005260206000200154915050919050565b600061188c6134a6565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6000610fa882613129565b60007f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930073ffffffffffffffffffffffffffffffffffffffff831661192f576040517f89c62b6400000000000000000000000000000000000000000000000000000000815260006004820152602401610abc565b73ffffffffffffffffffffffffffffffffffffffff9092166000908152600390920160205250604090205490565b3361199c7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611a18576040517f068ca9d800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610abc565b8173ffffffffffffffffffffffffffffffffffffffff163b600003611a81576040517fc2f31e5e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152602401610abc565b610f9982613515565b611a9333610a2f565b6117776135ad565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546000919074010000000000000000000000000000000000000000900460ff16611ae8576000611b0a565b7f8fb36037000000000000000000000000000000000000000000000000000000005b91505090565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930180546060917f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930091610fe0906159ee565b610f99338383613626565b611b7533610a2f565b806000611b81826118b1565b73ffffffffffffffffffffffffffffffffffffffff1603611bfe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5644503a20546f6b656e20646f6573206e6f74206578697374000000000000006044820152606401610abc565b6000611c09836108ca565b90506000611c566040518060400160405280600481526020017f62337472000000000000000000000000000000000000000000000000000000008152506002612c5690919063ffffffff16565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015291909116906370a0823190602401602060405180830381865afa158015611cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce8919061579a565b905060008111611cf85750505050565b8173ffffffffffffffffffffffffffffffffffffffff166374420f4c611d5d6040518060400160405280600481526020017f62337472000000000000000000000000000000000000000000000000000000008152506002612c5690919063ffffffff16565b6000611da86040518060400160405280600481526020017f766f7433000000000000000000000000000000000000000000000000000000008152506002612c5690919063ffffffff16565b60405173ffffffffffffffffffffffffffffffffffffffff909116602482015260448101869052606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790525160e085901b7fffffffff00000000000000000000000000000000000000000000000000000000168152611e849392919060009060040161593a565b6000604051808303816000875af1158015611ea3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611ee99190810190615980565b508173ffffffffffffffffffffffffffffffffffffffff166374420f4c611f4f6040518060400160405280600481526020017f766f7433000000000000000000000000000000000000000000000000000000008152506002612c5690919063ffffffff16565b600084604051602401611f6491815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa694fc3a000000000000000000000000000000000000000000000000000000001790525160e085901b7fffffffff000000000000000000000000000000000000000000000000000000001681526120169392919060009060040161593a565b6000604051808303816000875af1158015612035573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261207b9190810190615980565b5050505050565b61208d8484846115bc565b6116a784848484613747565b6000805481806120a883615a71565b9190505590506120b88382613937565b6120c28183613951565b60408051808201909152601881527f7462614163636f756e74496d706c656d656e746174696f6e0000000000000000602082015261210290600290612c56565b6003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061219c6040518060400160405280600b81526020017f74626152656769737472790000000000000000000000000000000000000000008152506002612c5690919063ffffffff16565b6000828152600360205260408082205490517fda7323b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152466024820152306044820152606481018590526084810185905260c060a482015260c4810192909252919091169063da7323b39060e4016020604051808303816000875af1158015612244573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612268919061577d565b506000612274826108ca565b90508073ffffffffffffffffffffffffffffffffffffffff166374420f4c6122db6040518060400160405280600481526020017f766f7433000000000000000000000000000000000000000000000000000000008152506002612c5690919063ffffffff16565b60405173ffffffffffffffffffffffffffffffffffffffff85166024820152600090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f5c19a95c000000000000000000000000000000000000000000000000000000001790525160e085901b7fffffffff000000000000000000000000000000000000000000000000000000001681526120169392919060009060040161593a565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156123fd5750825b905060008267ffffffffffffffff16600114801561241a5750303b155b905081158015612428575080155b1561245f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156124c05784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6125346040518060400160405280600e81526020017f566544656c6567617465506f6f6c0000000000000000000000000000000000008152506040518060400160405280600381526020017f56445000000000000000000000000000000000000000000000000000000000008152506139c4565b61253c6139d6565b6125446139d6565b61254c6139de565b612555866139ee565b61255d6139d6565b6125656139d6565b83156125c65784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b6060610fa8826139ff565b826125e3816118b1565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4d75737420626520746f6b656e206f776e6572000000000000000000000000006044820152606401610abc565b6116a7848484613b59565b61268b33610a2f565b806000612697826118b1565b73ffffffffffffffffffffffffffffffffffffffff1603612714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5644503a20546f6b656e20646f6573206e6f74206578697374000000000000006044820152606401610abc565b600061271f836108ca565b9050600061276c6040518060400160405280600381526020017f676f7600000000000000000000000000000000000000000000000000000000008152506002612c5690919063ffffffff16565b9050600060018273ffffffffffffffffffffffffffffffffffffffff16639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e1919061579a565b6127eb9190615a41565b905060006128386040518060400160405280600881526020017f72657761726465720000000000000000000000000000000000000000000000008152506002612c5690919063ffffffff16565b6040517e8f33d70000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff8681166024830152919250600091831690628f33d790604401602060405180830381865afa1580156128af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d3919061579a565b9050806000036128e65750505050505050565b6040517fe70eb3920000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff868116602483015283169063e70eb39290604401600060405180830381600087803b15801561295657600080fd5b505af115801561296a573d6000803e3d6000fd5b505050506000600154612710836129819190615873565b61298b9190615aa9565b905060006129d86040518060400160405280600c81526020017f666565526563697069656e7400000000000000000000000000000000000000008152506002612c5690919063ffffffff16565b90506000821180156129ff575073ffffffffffffffffffffffffffffffffffffffff811615155b15612b90578673ffffffffffffffffffffffffffffffffffffffff166374420f4c612a696040518060400160405280600481526020017f62337472000000000000000000000000000000000000000000000000000000008152506002612c5690919063ffffffff16565b6000612ab46040518060400160405280600c81526020017f666565526563697069656e7400000000000000000000000000000000000000008152506002612c5690919063ffffffff16565b60405173ffffffffffffffffffffffffffffffffffffffff909116602482015260448101879052606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f6dbbda0d000000000000000000000000000000000000000000000000000000001790525160e085901b7fffffffff00000000000000000000000000000000000000000000000000000000168152610f2b9392919060009060040161593a565b505050505050505050565b612ba433610a2f565b612bb060028383613c3b565b81604051612bbe9190615ac0565b60405190819003812073ffffffffffffffffffffffffffffffffffffffff83168252907f730d2c947df3fb4e9d1b8da26c871ddd4d9aa91d7436a0419317f40cc3f8cc3a9060200160405180910390a25050565b612c1b33610a2f565b612c2481612682565b612c2d81611b6c565b612c3681610a2a565b50565b6040805180820190915260608082526020820152610fa882612e8f565b60008260000182604051612c6a9190615ac0565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16905092915050565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00600080612d1b612cfd7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005473ffffffffffffffffffffffffffffffffffffffff1690565b8730612d0d600460008a8c615adc565b612d1691615b06565b613ca7565b91509150816125c65763ffffffff811615612e455782547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178355612dab7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff166394c7d7ee8787876040518463ffffffff1660e01b8152600401612de793929190615b4e565b600060405180830381600087803b158015612e0157600080fd5b505af1158015612e15573d6000803e3d6000fd5b505084547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff168555506125c69050565b6040517f068ca9d800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152602401610abc565b604080518082019091526060808252602082015260007f69be37ed5b6cf08562e97f7c47276cef4e7888d82fab4dcfcf27c5953adc2600600084815260208281526040918290208251815460609381028201840185529381018481529495509390928492849190840182828015612f2557602002820191906000526020600020905b815481526020019060010190808311612f11575b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015612f9b57602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411612f6c5790505b505050505081525050915050919050565b6060815167ffffffffffffffff811115612fc857612fc861527d565b604051908082528060200260200182016040528015612ff1578160200160208202803683370190505b5090506000805b8351811015613082576064848281518110613015576130156158ae565b602002602001015160ff168661302b9190615aa9565b6130359190615873565b838281518110613047576130476158ae565b602002602001018181525050828181518110613065576130656158ae565b6020026020010151826130789190615bb8565b9150600101612ff8565b50838110156130cc576130958185615a41565b82600184516130a49190615a41565b815181106130b4576130b46158ae565b602002602001018181516130c89190615bb8565b9052505b5092915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f49064906000000000000000000000000000000000000000000000000000000001480610fa85750610fa882613e24565b60008181527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079302602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610fa8576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101849052602401610abc565b6117a18383836001613e7a565b60006131c1848484614086565b949350505050565b6131d161409b565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016115b1565b3073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000002252fb011e08d29c5ccbf68686f302bc8c0edc0816148061332d57507f0000000000000000000000002252fb011e08d29c5ccbf68686f302bc8c0edc0873ffffffffffffffffffffffffffffffffffffffff166133147f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611777576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c3633610a2f565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156133f2575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526133ef9181019061579a565b60015b613440576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152602401610abc565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461349c576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610abc565b6117a183836140f6565b3073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000002252fb011e08d29c5ccbf68686f302bc8c0edc081614611777576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6135b5614159565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2583361323b565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930073ffffffffffffffffffffffffffffffffffffffff83166136ac576040517f5b08ba1800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610abc565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260058401602090815260408083209488168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff83163b156116a7576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063150b7a02906137bc903390889087908790600401615bcb565b6020604051808303816000875af1925050508015613815575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261381291810190615c14565b60015b6138a4573d808015613843576040519150601f19603f3d011682016040523d82523d6000602084013e613848565b606091505b50805160000361389c576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610abc565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a02000000000000000000000000000000000000000000000000000000001461207b576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610abc565b610f998282604051806020016040528060008152506141b5565b60008281527f0542a41881ee128a365a727b282c86fa859579490b9bb45aab8503648c8e79006020819052604090912061398b8382615c79565b506040518381527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1505050565b6139cc6141cc565b610f998282614233565b6117776141cc565b6139e66141cc565b611777614276565b6139f66141cc565b612c36816142c7565b60607f0542a41881ee128a365a727b282c86fa859579490b9bb45aab8503648c8e7900613a2b83613129565b5060008381526020829052604081208054613a45906159ee565b80601f0160208091040260200160405190810160405280929190818152602001828054613a71906159ee565b8015613abe5780601f10613a9357610100808354040283529160200191613abe565b820191906000526020600020905b815481529060010190602001808311613aa157829003601f168201915b505050505090506000613b0160408051808201909152601681527f68747470733a2f2f766544656c65676174652e76657400000000000000000000602082015290565b90508051600003613b1457509392505050565b815115613b47578082604051602001613b2e929190615d93565b6040516020818303038152906040529350505050919050565b613b50856142d8565b95945050505050565b8051825114613bc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f566f7465734c69623a204c656e677468206d69736d61746368000000000000006044820152606401610abc565b604080518082018252838152602080820184905260008681527f69be37ed5b6cf08562e97f7c47276cef4e7888d82fab4dcfcf27c5953adc2600808352939020825180519192613c199284929091019061500c565b506020828101518051613c329260018501920190615057565b50505050505050565b808360000183604051613c4e9190615ac0565b908152604051908190036020019020805473ffffffffffffffffffffffffffffffffffffffff929092167fffffffffffffffffffffffff0000000000000000000000000000000000000000909216919091179055505050565b60405173ffffffffffffffffffffffffffffffffffffffff848116602483015283811660448301527fffffffff0000000000000000000000000000000000000000000000000000000083166064830152600091829182918291891690608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb70096130000000000000000000000000000000000000000000000000000000017905251613d879190615ac0565b600060405180830381855afa9150503d8060008114613dc2576040519150601f19603f3d011682016040523d82523d6000602084013e613dc7565b606091505b50915091508115613e19576040815110613df95780806020019051810190613def9190615dc2565b9094509250613e19565b6020815110613e195780806020019051810190613e169190615a54565b93505b505094509492505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f780e9d63000000000000000000000000000000000000000000000000000000001480610fa85750610fa882614371565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793008180613ebc575073ffffffffffffffffffffffffffffffffffffffff831615155b15614030576000613ecc85613129565b905073ffffffffffffffffffffffffffffffffffffffff841615801590613f1f57508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015613f7d575073ffffffffffffffffffffffffffffffffffffffff80821660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079305602090815260408083209388168352929052205460ff16155b15613fcc576040517fa9fbf51f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610abc565b821561402e57848673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b600093845260040160205250506040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000614090614159565b6131c1848484614454565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff16611777576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6140ff826145ad565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115614151576117a1828261467c565b610f996146f6565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff1615611777576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6141bf838361472e565b6117a16000848484613747565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16611777576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61423b6141cc565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079300806142678482615c79565b50600181016116a78382615c79565b61427e6141cc565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b6142cf6141cc565b612c3681613515565b60606142e382613129565b50600061432060408051808201909152601681527f68747470733a2f2f766544656c65676174652e76657400000000000000000000602082015290565b905060008151116143405760405180602001604052806000815250610a23565b8061434a846147df565b60405160200161435b929190615d93565b6040516020818303038152906040529392505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061440457507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b80610fa857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610fa8565b60008061446285858561489d565b905073ffffffffffffffffffffffffffffffffffffffff811661450a57614505847f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed02805460008381527f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0360205260408120829055600182018355919091527fa42f15e5d656f8155fd7419d740a6073999f19cd6e061449ce4a257150545bf20155565b614547565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614614547576145478185614a62565b73ffffffffffffffffffffffffffffffffffffffff85166145705761456b84614b32565b6131c1565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146131c1576131c18585614c2d565b8073ffffffffffffffffffffffffffffffffffffffff163b600003614616576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610abc565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516146a69190615ac0565b600060405180830381855af49150503d80600081146146e1576040519150601f19603f3d011682016040523d82523d6000602084013e6146e6565b606091505b5091509150613b50858383614ca7565b3415611777576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821661477e576040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260006004820152602401610abc565b600061478c838360006131b4565b905073ffffffffffffffffffffffffffffffffffffffff8116156117a1576040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260006004820152602401610abc565b606060006147ec83614d36565b600101905060008167ffffffffffffffff81111561480c5761480c61527d565b6040519080825280601f01601f191660200182016040528015614836576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461484057509392505050565b60008281527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930260205260408120547f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793009073ffffffffffffffffffffffffffffffffffffffff9081169084161561491857614918818587614e18565b73ffffffffffffffffffffffffffffffffffffffff81161561499057614942600086600080613e7a565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600383016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190555b73ffffffffffffffffffffffffffffffffffffffff8616156149db5773ffffffffffffffffffffffffffffffffffffffff861660009081526003830160205260409020805460010190555b600085815260028301602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a811691821790925591518893918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a495945050505050565b7f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed006000614a8e846118bc565b6000848152600184016020526040902054909150808214614af05773ffffffffffffffffffffffffffffffffffffffff851660009081526020848152604080832085845282528083205484845281842081905583526001860190915290208190555b506000928352600182016020908152604080852085905573ffffffffffffffffffffffffffffffffffffffff9095168452918252838320908352905290812055565b7f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed02547f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0090600090614b8590600190615a41565b6000848152600384016020526040812054600285018054939450909284908110614bb157614bb16158ae565b9060005260206000200154905080846002018381548110614bd457614bd46158ae565b600091825260208083209091019290925582815260038601909152604080822084905586825281205560028401805480614c1057614c10615dfa565b600190038181906000526020600020016000905590555050505050565b7f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0060006001614c5b856118bc565b614c659190615a41565b73ffffffffffffffffffffffffffffffffffffffff90941660009081526020838152604080832087845282528083208690559482526001909301909252502055565b606082614cbc57614cb782614ec8565b610a23565b8151158015614ce0575073ffffffffffffffffffffffffffffffffffffffff84163b155b15614d2f576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610abc565b5080610a23565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310614d7f577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310614dab576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310614dc957662386f26fc10000830492506010015b6305f5e1008310614de1576305f5e100830492506008015b6127108310614df557612710830492506004015b60648310614e07576064830492506002015b600a8310610fa85760010192915050565b614e23838383614f0a565b6117a15773ffffffffffffffffffffffffffffffffffffffff8316614e77576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101829052602401610abc565b6040517f177e802f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015260248101829052604401610abc565b805115614ed85780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff8316158015906131c157508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480614fb7575073ffffffffffffffffffffffffffffffffffffffff80851660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079305602090815260408083209387168352929052205460ff165b806131c157505060009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079304602052604090205473ffffffffffffffffffffffffffffffffffffffff908116911614919050565b828054828255906000526020600020908101928215615047579160200282015b8281111561504757825182559160200191906001019061502c565b506150539291506150f4565b5090565b82805482825590600052602060002090601f016020900481019282156150475791602002820160005b838211156150be57835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302615080565b80156150eb5782816101000a81549060ff02191690556001016020816000010492830192600103026150be565b50506150539291505b5b8082111561505357600081556001016150f5565b60006020828403121561511b57600080fd5b5035919050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114612c3657600080fd5b60006020828403121561516257600080fd5b8135610a2381615122565b60005b83811015615188578181015183820152602001615170565b50506000910152565b600081518084526151a981602086016020860161516d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610a236020830184615191565b73ffffffffffffffffffffffffffffffffffffffff81168114612c3657600080fd5b6000806040838503121561522357600080fd5b823561522e816151ee565b946020939093013593505050565b60008060006060848603121561525157600080fd5b833561525c816151ee565b9250602084013561526c816151ee565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156152f3576152f361527d565b604052919050565b600067ffffffffffffffff8211156153155761531561527d565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261535257600080fd5b8135615365615360826152fb565b6152ac565b81815284602083860101111561537a57600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156153a957600080fd5b813567ffffffffffffffff8111156153c057600080fd5b6131c184828501615341565b600080604083850312156153df57600080fd5b82356153ea816151ee565b9150602083013567ffffffffffffffff81111561540657600080fd5b61541285828601615341565b9150509250929050565b60006020828403121561542e57600080fd5b8135610a23816151ee565b8015158114612c3657600080fd5b6000806040838503121561545a57600080fd5b8235615465816151ee565b9150602083013561547581615439565b809150509250929050565b6000806000806080858703121561549657600080fd5b84356154a1816151ee565b935060208501356154b1816151ee565b925060408501359150606085013567ffffffffffffffff8111156154d457600080fd5b6154e087828801615341565b91505092959194509250565b600067ffffffffffffffff8211156155065761550661527d565b5060051b60200190565b600082601f83011261552157600080fd5b81356020615531615360836154ec565b8083825260208201915060208460051b87010193508684111561555357600080fd5b602086015b8481101561557f57803560ff811681146155725760008081fd5b8352918301918301615558565b509695505050505050565b60008060006060848603121561559f57600080fd5b8335925060208085013567ffffffffffffffff808211156155bf57600080fd5b818701915087601f8301126155d357600080fd5b81356155e1615360826154ec565b81815260059190911b8301840190848101908a83111561560057600080fd5b938501935b8285101561561e57843582529385019390850190615605565b96505050604087013592508083111561563657600080fd5b505061564486828701615510565b9150509250925092565b6000806040838503121561566157600080fd5b823561566c816151ee565b91506020830135615475816151ee565b6000806040838503121561568f57600080fd5b823567ffffffffffffffff8111156156a657600080fd5b6156b285828601615341565b9250506020830135615475816151ee565b60008151808452602080850194506020840160005b838110156156f4578151875295820195908201906001016156d8565b509495945050505050565b60006020808352835160408285015261571b60608501826156c3565b858301518582037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016040870152805180835290840192506000918401905b8083101561557f57835160ff16825292840192600192909201919084019061575a565b60006020828403121561578f57600080fd5b8151610a23816151ee565b6000602082840312156157ac57600080fd5b5051919050565b600060208083850312156157c657600080fd5b825167ffffffffffffffff8111156157dd57600080fd5b8301601f810185136157ee57600080fd5b80516157fc615360826154ec565b81815260059190911b8201830190838101908783111561581b57600080fd5b928401925b8284101561583957835182529284019290840190615820565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000826158a9577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b83815260006020606060208401526158f860608401866156c3565b83810360408501528451808252602080870192019060005b8181101561592c57835183529284019291840191600101615910565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8516815283602082015260806040820152600061596f6080830185615191565b905082606083015295945050505050565b60006020828403121561599257600080fd5b815167ffffffffffffffff8111156159a957600080fd5b8201601f810184136159ba57600080fd5b80516159c8615360826152fb565b8181528560208385010111156159dd57600080fd5b613b5082602083016020860161516d565b600181811c90821680615a0257607f821691505b602082108103615a3b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b81810381811115610fa857610fa8615844565b600060208284031215615a6657600080fd5b8151610a2381615439565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615aa257615aa2615844565b5060010190565b8082028115828204841417610fa857610fa8615844565b60008251615ad281846020870161516d565b9190910192915050565b60008085851115615aec57600080fd5b83861115615af957600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015615b465780818660040360031b1b83161692505b505092915050565b73ffffffffffffffffffffffffffffffffffffffff8416815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b80820180821115610fa857610fa8615844565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152615c0a6080830184615191565b9695505050505050565b600060208284031215615c2657600080fd5b8151610a2381615122565b601f8211156117a1576000816000526020600020601f850160051c81016020861015615c5a5750805b601f850160051c820191505b818110156125c657828155600101615c66565b815167ffffffffffffffff811115615c9357615c9361527d565b615ca781615ca184546159ee565b84615c31565b602080601f831160018114615cfa5760008415615cc45750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556125c6565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015615d4757888601518255948401946001909101908401615d28565b5085821015615d8357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008351615da581846020880161516d565b835190830190615db981836020880161516d565b01949350505050565b60008060408385031215615dd557600080fd5b8251615de081615439565b602084015190925063ffffffff8116811461547557600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220d5af6118db9b062ce55661436cea7adf7fc27d7bc40fbe83268ae1bf08beb39c64736f6c63430008180033