token-icon

Secret of The Sphinx

Token

Overview[ERC-20]

Max Total Supply
60,000,000.0
SPHINX
Holders
237+0.00%
Transfers
681

Profile Summary

Decimals
18

Market

Price
$0 @0.00000000 ETH
If you are the owner of this contract, verify it.
Deployed ByteCode
0x6080604052600436106103905760003560e01c80636fd23588116101dc578063a4a2a9f611610102578063dc44b6a0116100a0578063efcc52de1161006f578063efcc52de146109a5578063f2488aa5146109ba578063f2fde38b146109cf578063f6887cd3146109ef57610397565b8063dc44b6a01461093b578063dd62ed3e14610950578063ea2f0b3714610970578063ebd2affc1461099057610397565b8063b02c43d0116100dc578063b02c43d0146108c4578063b44a2722146108f1578063b62496f514610906578063bbc0c7421461092657610397565b8063a4a2a9f61461086f578063a69df4b51461088f578063a9059cbb146108a457610397565b806388f820201161017a5780639686d322116101495780639686d322146107fa5780639a7a23d61461081a5780639d1b464a1461083a578063a457c2d71461084f57610397565b806388f820201461079b57806389a30271146107bb5780638da5cb5b146107d057806395d89b41146107e557610397565b8063744ac697116101b6578063744ac6971461073157806377a59f001461074657806378e97925146107665780637cc8eb761461077b57610397565b80636fd23588146106e757806370a08231146106fc578063715018a61461071c57610397565b8063313ce567116102c1578063437823ec1161025f57806352390c021161022e57806352390c021461067d5780635342acb41461069d57806362015852146106bd5780636ddd1713146106d257610397565b8063437823ec1461061357806343c667b4146106335780634549b0391461064857806349bd5a5e1461066857610397565b80633a924d5b1161029b5780633a924d5b146105b45780633ad10ef6146105c9578063417c7985146105de57806341f20b68146105fe57610397565b8063313ce567146105525780633685d41914610574578063395093511461059457610397565b80631868aadf1161032e578063251c1aa311610308578063251c1aa3146104e65780632692166e146104fb5780632c76d7a61461051d5780632d8381191461053257610397565b80631868aadf1461049c57806319291c69146104b157806323b872dd146104c657610397565b806313114a9d1161036a57806313114a9d14610416578063150b7a02146104385780631694505e1461046557806318160ddd1461048757610397565b806306fdde031461039c578063089fe6aa146103c7578063095ea7b3146103e957610397565b3661039757005b600080fd5b3480156103a857600080fd5b506103b1610a0f565b6040516103be91906153b3565b60405180910390f35b3480156103d357600080fd5b506103dc610a46565b6040516103be91906159a0565b3480156103f557600080fd5b5061040961040436600461506d565b610a4c565b6040516103be919061537b565b34801561042257600080fd5b5061042b610a6a565b6040516103be91906159b0565b34801561044457600080fd5b50610458610453366004614fa6565b610a70565b6040516103be9190615386565b34801561047157600080fd5b5061047a610aa6565b6040516103be919061535a565b34801561049357600080fd5b5061042b610ac2565b3480156104a857600080fd5b5061042b610ad1565b3480156104bd57600080fd5b5061042b610ad7565b3480156104d257600080fd5b506104096104e1366004614f66565b610add565b3480156104f257600080fd5b5061042b610b7e565b34801561050757600080fd5b5061051b610516366004614f2e565b610b84565b005b34801561052957600080fd5b5061047a610ce3565b34801561053e57600080fd5b5061042b61054d36600461515f565b610cff565b34801561055e57600080fd5b50610567610d65565b6040516103be91906159b9565b34801561058057600080fd5b5061051b61058f366004614f12565b610d6a565b3480156105a057600080fd5b506104096105af36600461506d565b61102b565b3480156105c057600080fd5b5061047a611086565b3480156105d557600080fd5b5061047a6110a2565b3480156105ea57600080fd5b5061051b6105f9366004615211565b6110be565b34801561060a57600080fd5b506104096111f2565b34801561061f57600080fd5b5061051b61062e366004614f12565b611200565b34801561063f57600080fd5b5061051b6112f7565b34801561065457600080fd5b5061042b61066336600461518f565b6116f0565b34801561067457600080fd5b5061047a611770565b34801561068957600080fd5b5061051b610698366004614f12565b61178c565b3480156106a957600080fd5b506104096106b8366004614f12565b611a00565b3480156106c957600080fd5b5061042b611a2b565b3480156106de57600080fd5b50610409611a31565b3480156106f357600080fd5b50610409611a53565b34801561070857600080fd5b5061042b610717366004614f12565b611a5c565b34801561072857600080fd5b5061051b611ae5565b34801561073d57600080fd5b5061042b611bfc565b34801561075257600080fd5b5061042b610761366004614f12565b611c02565b34801561077257600080fd5b5061042b611c14565b34801561078757600080fd5b5061051b61079636600461515f565b611c1a565b3480156107a757600080fd5b506104096107b6366004614f12565b611cce565b3480156107c757600080fd5b5061047a611cf9565b3480156107dc57600080fd5b5061047a611d11565b3480156107f157600080fd5b506103b1611d2d565b34801561080657600080fd5b5061051b610815366004615040565b611d64565b34801561082657600080fd5b5061051b610835366004615040565b611e62565b34801561084657600080fd5b5061042b611f69565b34801561085b57600080fd5b5061040961086a36600461506d565b611f6f565b34801561087b57600080fd5b5061051b61088a366004615098565b611fe4565b34801561089b57600080fd5b5061051b612393565b3480156108b057600080fd5b506104096108bf36600461506d565b6125df565b3480156108d057600080fd5b506108e46108df36600461515f565b6125f3565b6040516103be9190615983565b3480156108fd57600080fd5b5061047a612617565b34801561091257600080fd5b50610409610921366004614f12565b612633565b34801561093257600080fd5b50610409612648565b34801561094757600080fd5b5061042b612651565b34801561095c57600080fd5b5061042b61096b366004614f2e565b612657565b34801561097c57600080fd5b5061051b61098b366004614f12565b61268f565b34801561099c57600080fd5b5061042b612783565b3480156109b157600080fd5b5061042b612789565b3480156109c657600080fd5b5061042b61278f565b3480156109db57600080fd5b5061051b6109ea366004614f12565b612795565b3480156109fb57600080fd5b50610409610a0a366004614f12565b612936565b60408051808201909152601481527f536563726574206f662054686520537068696e78000000000000000000000000602082015290565b6101f481565b6000610a60610a59612a43565b8484612a47565b5060015b92915050565b600a5490565b6000610a7b84612b56565b507f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b60255473ffffffffffffffffffffffffffffffffffffffff1681565b6a31a17e847807b1bc00000090565b60195481565b60225481565b6000610aea848484612c5a565b610b7484610af6612a43565b610b6f85604051806060016040528060288152602001615a426028913973ffffffffffffffffffffffffffffffffffffffff8a16600090815260056020526040812090610b41612a43565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020549190612f98565b612a47565b5060019392505050565b600d5481565b610b8c612a43565b73ffffffffffffffffffffffffffffffffffffffff16610baa611d11565b73ffffffffffffffffffffffffffffffffffffffff1614610c2c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190610c8190309060040161535a565b60206040518083038186803b158015610c9957600080fd5b505afa158015610cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd19190615177565b9050610cde838383613049565b505050565b601d5473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954821115610d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d90615481565b60405180910390fd5b6000610d50613225565b9050610d5c838261294b565b9150505b919050565b601290565b610d72612a43565b73ffffffffffffffffffffffffffffffffffffffff16610d90611d11565b73ffffffffffffffffffffffffffffffffffffffff1614610e1257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090205460ff16610e71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d90615617565b60005b600854811015611027578173ffffffffffffffffffffffffffffffffffffffff1660088281548110610ea257fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561101f57600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610efa57fe5b6000918252602090912001546008805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610f2d57fe5b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff948516179055918416815260048252604080822082905560079092522080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556008805480610fc257fe5b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055019055611027565b600101610e74565b5050565b6000610a60611038612a43565b84610b6f8560056000611049612a43565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918c168152925290205490613248565b601e5473ffffffffffffffffffffffffffffffffffffffff1681565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b6110c6612a43565b73ffffffffffffffffffffffffffffffffffffffff166110e4611d11565b73ffffffffffffffffffffffffffffffffffffffff161461116657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b601393909355601491909155601555600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179081905516600090815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b601654610100900460ff1681565b611208612a43565b73ffffffffffffffffffffffffffffffffffffffff16611226611d11565b73ffffffffffffffffffffffffffffffffffffffff16146112a857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6112ff612a43565b73ffffffffffffffffffffffffffffffffffffffff1661131d611d11565b73ffffffffffffffffffffffffffffffffffffffff161461139f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6113aa6020546132c3565b6113b56020546133b7565b6113c06021546132c3565b6113cb6021546133b7565b6113d66022546132c3565b6113e16022546133b7565b6113ec6023546132c3565b6113f76023546133b7565b600061140230611a5c565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815290915060009073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48906370a082319061145890309060040161535a565b60206040518083038186803b15801561147057600080fd5b505afa158015611484573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a89190615177565b905060006114b782606461294b565b6002549091506114f39073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489073ffffffffffffffffffffffffffffffffffffffff1683613049565b8082039150600080601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561156357600080fd5b505afa158015611577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159b91906150cc565b5050505050915091506000808260020b126115c957600a8260020b816115bd57fe5b05600a02600a016115dd565b600a808360020b816115d757fe5b05600a02035b90506000808360020b1261160357600a808460020b816115f957fe5b05600a0203611618565b600a8360020b8161161057fe5b05600a02600a015b905060c061164e670de0b6b3a764000061164873ffffffffffffffffffffffffffffffffffffffff881680613492565b90613492565b901c60248190555060008060008061166860245488613505565b935093509350935061167d60008b86896136ad565b6020556116a261169960646116938e6014613492565b9061294b565b600087866136ad565b6021556116c16116b860646116938e601e613492565b600085856136ad565b6022556116e06116d760646116938e6032613492565b600084846136ad565b6023555050505050505050505050565b60006a31a17e847807b1bc000000831115611737576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d9061564e565b816117565760006117478461393a565b50939550610a64945050505050565b60006117618461393a565b50929550610a64945050505050565b60265473ffffffffffffffffffffffffffffffffffffffff1681565b611794612a43565b73ffffffffffffffffffffffffffffffffffffffff166117b2611d11565b73ffffffffffffffffffffffffffffffffffffffff161461183457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090205460ff1615611894576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d906155e0565b6008546032600190910111156118d6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d906157d3565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902054156119575773ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604090205461193090610cff565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600460205260409020555b73ffffffffffffffffffffffffffffffffffffffff16600081815260076020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205460ff1690565b60155481565b6026547501000000000000000000000000000000000000000000900460ff1681565b600e5460ff1681565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604081205460ff1615611ab6575073ffffffffffffffffffffffffffffffffffffffff8116600090815260046020526040902054610d60565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040902054610a6490610cff565b611aed612a43565b73ffffffffffffffffffffffffffffffffffffffff16611b0b611d11565b73ffffffffffffffffffffffffffffffffffffffff1614611b8d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60205481565b60176020526000908152604090205481565b600c5481565b611c22612a43565b73ffffffffffffffffffffffffffffffffffffffff16611c40611d11565b73ffffffffffffffffffffffffffffffffffffffff1614611cc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b62015180024201600d55565b73ffffffffffffffffffffffffffffffffffffffff1660009081526007602052604090205460ff1690565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60408051808201909152600681527f535048494e580000000000000000000000000000000000000000000000000000602082015290565b611d6c612a43565b73ffffffffffffffffffffffffffffffffffffffff16611d8a611d11565b73ffffffffffffffffffffffffffffffffffffffff1614611e0c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260186020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b611e6a612a43565b73ffffffffffffffffffffffffffffffffffffffff16611e88611d11565b73ffffffffffffffffffffffffffffffffffffffff1614611f0a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60265473ffffffffffffffffffffffffffffffffffffffff83811691161415611f5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d90615572565b6110278282613989565b60245481565b6000610a60611f7c612a43565b84610b6f85604051806060016040528060258152602001615a6a6025913960056000611fa6612a43565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918d16815292529020549190612f98565b611fec612a43565b73ffffffffffffffffffffffffffffffffffffffff1661200a611d11565b73ffffffffffffffffffffffffffffffffffffffff161461208c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b612098303330856139f8565b6120b873a0b86991c6218b36c1d19d4a2e9eb0ce3606eb483330846139f8565b42600c81905562ed4e0001600d5560168054602680547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821660019081179190911661010017909255600e805482168317905573ffffffffffffffffffffffffffffffffffffffff851660009081526018602052604090208054909116821790556121a2908490613989565b601e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8581169190911791829055604080517f3850c7bd000000000000000000000000000000000000000000000000000000008152905160009384931691633850c7bd9160048083019260e0929190829003018186803b15801561223d57600080fd5b505afa158015612251573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061227591906150cc565b5050505050915091506000808260020b126122a357600a8260020b8161229757fe5b05600a02600a016122b7565b600a808360020b816122b157fe5b05600a02035b90506000808360020b126122dd57600a808460020b816122d357fe5b05600a02036122f2565b600a8360020b816122ea57fe5b05600a02600a015b905060c0612322670de0b6b3a764000061164873ffffffffffffffffffffffffffffffffffffffff881680613492565b901c60248190555060008060008061233c60245488613505565b935093509350935061235160008a86896136ad565b60205561236761169960646116938d6014613492565b60215561237d6116b860646116938d601e613492565b6022556116e06116d760646116938d6032613492565b61239b612a43565b73ffffffffffffffffffffffffffffffffffffffff166123b9611d11565b73ffffffffffffffffffffffffffffffffffffffff161461243b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b42600d5410612476576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d9061553b565b6124816020546132c3565b61248c6020546133b7565b6124976021546132c3565b6124a26021546133b7565b6124ad6022546132c3565b6124b86022546133b7565b6124c36023546132c3565b6124ce6023546133b7565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48906370a082319061252190309060040161535a565b60206040518083038186803b15801561253957600080fd5b505afa15801561254d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125719190615177565b9050600061257e30611a5c565b6002549091506125ba9073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489073ffffffffffffffffffffffffffffffffffffffff1684613049565b60025461102790309073ffffffffffffffffffffffffffffffffffffffff1683613049565b6000610a606125ec612a43565b8484612c5a565b6001602052600090815260409020546fffffffffffffffffffffffffffffffff1681565b601f5473ffffffffffffffffffffffffffffffffffffffff1681565b601c6020526000908152604090205460ff1681565b60165460ff1681565b60145481565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205490565b612697612a43565b73ffffffffffffffffffffffffffffffffffffffff166126b5611d11565b73ffffffffffffffffffffffffffffffffffffffff161461273757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60215481565b60135481565b60235481565b61279d612a43565b73ffffffffffffffffffffffffffffffffffffffff166127bb611d11565b73ffffffffffffffffffffffffffffffffffffffff161461283d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166128a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806159fb6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60186020526000908152604090205460ff1681565b60008082116129bb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816129c457fe5b049392505050565b600082821115612a3d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b3390565b73ffffffffffffffffffffffffffffffffffffffff8316612a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d9061573f565b73ffffffffffffffffffffffffffffffffffffffff8216612ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d906154de565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526005602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590612b499085906159b0565b60405180910390a3505050565b601f546040517f99fbab8800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906399fbab8890612bad9085906004016159b0565b6101806040518083038186803b158015612bc657600080fd5b505afa158015612bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bfe9190615251565b50505060009a8b52506001602052604090992080547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff909a16999099179098555050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316612ca7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d906156e2565b73ffffffffffffffffffffffffffffffffffffffff8216612cf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d90615424565b60008111612d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d90615685565b60165460ff16612dc95773ffffffffffffffffffffffffffffffffffffffff83166000908152601c602052604090205460ff161580612d93575073ffffffffffffffffffffffffffffffffffffffff82166000908152601c602052604090205460ff16155b612dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d906155a9565b601654610100900460ff1615612e795773ffffffffffffffffffffffffffffffffffffffff831660009081526018602052604090205460ff16158015612e35575073ffffffffffffffffffffffffffffffffffffffff821660009081526018602052604090205460ff16155b15612e79576000612e468484613bdd565b9050612e5181613c81565b73ffffffffffffffffffffffffffffffffffffffff1660009081526017602052604090204390555b612e81613d18565b600e5460ff1615612ed457600c5462093a8001421015612ed4576014601381905560329055601e601555600e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b6003600b5573ffffffffffffffffffffffffffffffffffffffff831660009081526006602052604090205460ff16158015612f35575073ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090205460ff16155b15612f855773ffffffffffffffffffffffffffffffffffffffff83166000908152601c602052604090205460ff1615612f8557601354600f5560155460145401601181905515612f85576001600b555b612f90838383613d4a565b610cde613e9a565b60008184841115613041576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613006578181015183820152602001612fee565b50505050905090810190601f1680156130335780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b6020831061311e57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016130e1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613180576040519150601f19603f3d011682016040523d82523d6000602084013e613185565b606091505b50915091508180156131b35750805115806131b357508080602001905160208110156131b057600080fd5b50515b61321e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5050505050565b6000806000613232613ea8565b9092509050613241828261294b565b9250505090565b6000828201838110156132bc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600081815260016020908152604080832054815160a0810183528581526fffffffffffffffffffffffffffffffff9091169281018390528082018490526060810193909352426080840152601f5490517f0c49ccbe00000000000000000000000000000000000000000000000000000000815291929173ffffffffffffffffffffffffffffffffffffffff90911690630c49ccbe90613366908490600401615889565b6040805180830381600087803b15801561337f57600080fd5b505af1158015613393573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e91906151ee565b604080516080810182528281523060208201526fffffffffffffffffffffffffffffffff8183018190526060820152601f5491517ffc6f7865000000000000000000000000000000000000000000000000000000008152909173ffffffffffffffffffffffffffffffffffffffff169063fc6f78659061343b908490600401615830565b6040805180830381600087803b15801561345457600080fd5b505af1158015613468573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061348c91906151ee565b50505050565b6000826134a157506000610a64565b828202828482816134ae57fe5b04146132bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615a216021913960400191505060405180910390fd5b60008060008060008060008060008960020b12156135b157613548613543670de0b6b3a764000060c06135398e600a61294b565b8e03901b9061294b565b614063565b935061356e613543670de0b6b3a764000060c06135668e6002613492565b901b9061294b565b925061358c613543670de0b6b3a764000060c06135668e6003613492565b91506135aa613543670de0b6b3a764000060c06135668e6004613492565b9050613634565b6135d7613543670de0b6b3a764000060c06135cd8e600a61294b565b8e01901b9061294b565b93506135f5613543670de0b6b3a764000060c06135668e600261294b565b9250613613613543670de0b6b3a764000060c06135668e600361294b565b9150613631613543670de0b6b3a764000060c06135668e600461294b565b90505b600a61363f8561409a565b60020b8161364957fe5b05600a029750600a61365a8461409a565b60020b8161366457fe5b05600a029650600a6136758361409a565b60020b8161367f57fe5b05600a029550600a6136908261409a565b60020b8161369a57fe5b05600a0294505050505092959194509250565b6000806000806000808660020b8860020b126136c957866136cb565b875b905060008760020b8960020b126136e257886136e4565b875b9050600281900b620d89e8126136fa57806136ff565b620d89e85b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27618600283900b126137325781613754565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff276185b601f5490925061377c90309073ffffffffffffffffffffffffffffffffffffffff168d614466565b601f546137b59073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489073ffffffffffffffffffffffffffffffffffffffff168c614466565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb483010156137f65730955073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4894508a9350899250613817565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4895503094508993508a92505b604080516101608101825273ffffffffffffffffffffffffffffffffffffffff808916825287811660208301526101f482840152600285810b606084015284900b608083015260a0820187905260c08201869052600060e083018190526101008301523061012083015242610140830152601f5492517f88316456000000000000000000000000000000000000000000000000000000008152919216906388316456906138c89084906004016158d5565b608060405180830381600087803b1580156138e257600080fd5b505af11580156138f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061391a91906151b3565b5091995061392b9150899050612b56565b50505050505050949350505050565b60008060008060008060008060006139518a61463b565b925092509250600080600061396f8d868661396a613225565b61467d565b919f909e50909c50959a5093985091965092945050505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152601c6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682158015919091179091556139ea576139ea8261178c565b806110275761102782610d6a565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b60208310613ad557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613a98565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613b37576040519150601f19603f3d011682016040523d82523d6000602084013e613b3c565b606091505b5091509150818015613b6a575080511580613b6a5750808060200190516020811015613b6757600080fd5b50515b613bd557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b505050505050565b6000613be8836146cd565b1580613bfa5750613bf8826146cd565b155b613c6557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f20626f747320616c6c6f7765642100000000000000000000000000000000604482015290519081900360640190fd5b613c6e836146cd565b15613c7a575080610a64565b5081610a64565b73ffffffffffffffffffffffffffffffffffffffff81166000908152601760205260408120541580613cdf575060195473ffffffffffffffffffffffffffffffffffffffff8316600090815260176020526040902054600143019101105b905080611027576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d9061579c565b600f54158015613d285750601154155b15613d3257613d48565b600f805460105560118054601255600091829055555b565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602052604090205460ff168015613da5575073ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090205460ff16155b15613dba57613db58383836146d3565b610cde565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602052604090205460ff16158015613e15575073ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090205460ff165b15613e2557613db5838383614845565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602052604090205460ff168015613e7f575073ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090205460ff165b15613e8f57613db5838383614915565b610cde8383836149a2565b601054600f55601254601155565b60095460009081906a31a17e847807b1bc000000825b60085481101561401f57826003600060088481548110613eda57fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff1683528201929092526040019020541180613f595750816004600060088481548110613f2557fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168352820192909252604001902054115b15613f79576009546a31a17e847807b1bc0000009450945050505061405f565b613fc66003600060088481548110613f8d57fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205484906129cc565b92506140156004600060088481548110613fdc57fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205483906129cc565b9150600101613ebe565b50600954614038906a31a17e847807b1bc00000061294b565b821015614059576009546a31a17e847807b1bc00000093509350505061405f565b90925090505b9091565b80600260018201045b818110156140945780915060028182858161408357fe5b04018161408c57fe5b04905061406c565b50919050565b60006401000276a373ffffffffffffffffffffffffffffffffffffffff8316108015906140f0575073fffd8963efd1fc6a506488495d951d5263988d2673ffffffffffffffffffffffffffffffffffffffff8316105b61415b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f5200000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c9790881196179094179092171790911717176080811061420557607f810383901c915061420f565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581027ffffffffffffffffffffffffffffffffffd709b7e5480fba5a50fed5e62ffc5568101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b14614457578873ffffffffffffffffffffffffffffffffffffffff1661442e826149f3565b73ffffffffffffffffffffffffffffffffffffffff1611156144505781614452565b805b614459565b815b9998505050505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b6020831061453b57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016144fe565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461459d576040519150601f19603f3d011682016040523d82523d6000602084013e6145a2565b606091505b50915091508180156145d05750805115806145d057508080602001905160208110156145cd57600080fd5b50515b61321e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5341000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60008060008061464a85614d86565b9050600061465786614da3565b9050600061466f8261466989866129cc565b906129cc565b979296509094509092505050565b600080808061468c8886613492565b9050600061469a8887613492565b905060006146a88888613492565b905060006146ba8261466986866129cc565b939b939a50919850919650505050505050565b3b151590565b6000806000806000806146e58761393a565b73ffffffffffffffffffffffffffffffffffffffff8f16600090815260046020526040902054959b5093995091975095509350915061472490886129cc565b73ffffffffffffffffffffffffffffffffffffffff8a1660009081526004602090815260408083209390935560039052205461476090876129cc565b73ffffffffffffffffffffffffffffffffffffffff808b1660009081526003602052604080822093909355908a168152205461479c9086613248565b73ffffffffffffffffffffffffffffffffffffffff89166000908152600360205260409020556147cb81614dc0565b6147d58483614e8c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161483291906159b0565b60405180910390a3505050505050505050565b6000806000806000806148578761393a565b73ffffffffffffffffffffffffffffffffffffffff8f16600090815260036020526040902054959b5093995091975095509350915061489690876129cc565b73ffffffffffffffffffffffffffffffffffffffff808b16600090815260036020908152604080832094909455918b168152600490915220546148d99084613248565b73ffffffffffffffffffffffffffffffffffffffff891660009081526004602090815260408083209390935560039052205461479c9086613248565b6000806000806000806149278761393a565b73ffffffffffffffffffffffffffffffffffffffff8f16600090815260046020526040902054959b5093995091975095509350915061496690886129cc565b73ffffffffffffffffffffffffffffffffffffffff8a1660009081526004602090815260408083209390935560039052205461489690876129cc565b6000806000806000806149b48761393a565b73ffffffffffffffffffffffffffffffffffffffff8f16600090815260036020526040902054959b5093995091975095509350915061476090876129cc565b60008060008360020b12614a0a578260020b614a12565b8260020b6000035b9050620d89e8811115614a8657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f5400000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600060018216614aa757700100000000000000000000000000000000614ab9565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615614aed576ffff97272373d413259a46990580e213a0260801c5b6004821615614b0c576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615614b2b576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615614b4a576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615614b69576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615614b88576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615614ba7576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615614bc7576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615614be7576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615614c07576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615614c27576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615614c47576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615614c67576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615614c87576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615614ca7576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615614cc8576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615614ce8576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615614d07576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615614d24576b048a170391f7dc42444e8fa20260801c5b60008460020b1315614d5d57807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81614d5957fe5b0490505b640100000000810615614d71576001614d74565b60005b60ff16602082901c0192505050919050565b6000610a646103e8611693600f548561349290919063ffffffff16565b6000610a646103e86116936011548561349290919063ffffffff16565b6001600b541415614e0457601154601454820281614dda57fe5b601a8054929091049091019055601154601554820281614df657fe5b601b80549290910490910190555b6000614e0e613225565b90506000614e1c8383613492565b30600090815260036020526040902054909150614e399082613248565b3060009081526003602090815260408083209390935560079052205460ff1615610cde5730600090815260046020526040902054614e779084613248565b30600090815260046020526040902055505050565b600954614e9990836129cc565b600955600a54614ea99082613248565b600a555050565b8051610d60816159c7565b8051600281900b8114610d6057600080fd5b80516fffffffffffffffffffffffffffffffff81168114610d6057600080fd5b805161ffff81168114610d6057600080fd5b805162ffffff81168114610d6057600080fd5b600060208284031215614f23578081fd5b81356132bc816159c7565b60008060408385031215614f40578081fd5b8235614f4b816159c7565b91506020830135614f5b816159c7565b809150509250929050565b600080600060608486031215614f7a578081fd5b8335614f85816159c7565b92506020840135614f95816159c7565b929592945050506040919091013590565b600080600080600060808688031215614fbd578081fd5b8535614fc8816159c7565b94506020860135614fd8816159c7565b935060408601359250606086013567ffffffffffffffff80821115614ffb578283fd5b818801915088601f83011261500e578283fd5b81358181111561501c578384fd5b89602082850101111561502d578384fd5b9699959850939650602001949392505050565b60008060408385031215615052578182fd5b823561505d816159c7565b91506020830135614f5b816159ec565b6000806040838503121561507f578182fd5b823561508a816159c7565b946020939093013593505050565b6000806000606084860312156150ac578283fd5b83356150b7816159c7565b95602085013595506040909401359392505050565b600080600080600080600060e0888a0312156150e6578182fd5b87516150f1816159c7565b96506150ff60208901614ebb565b955061510d60408901614eed565b945061511b60608901614eed565b935061512960808901614eed565b925060a088015160ff8116811461513e578283fd5b60c089015190925061514f816159ec565b8091505092959891949750929550565b600060208284031215615170578081fd5b5035919050565b600060208284031215615188578081fd5b5051919050565b600080604083850312156151a1578182fd5b823591506020830135614f5b816159ec565b600080600080608085870312156151c8578182fd5b845193506151d860208601614ecd565b6040860151606090960151949790965092505050565b60008060408385031215615200578182fd5b505080516020909101519092909150565b60008060008060808587031215615226578182fd5b8435935060208501359250604085013591506060850135615246816159c7565b939692955090935050565b6000806000806000806000806000806000806101808d8f031215615273578586fd5b8c516bffffffffffffffffffffffff8116811461528e578687fd5b9b5061529c60208e01614eb0565b9a506152aa60408e01614eb0565b99506152b860608e01614eb0565b98506152c660808e01614eff565b97506152d460a08e01614ebb565b96506152e260c08e01614ebb565b95506152f060e08e01614ecd565b94506101008d015193506101208d0151925061530f6101408e01614ecd565b915061531e6101608e01614ecd565b90509295989b509295989b509295989b565b73ffffffffffffffffffffffffffffffffffffffff169052565b60020b9052565b62ffffff169052565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b6000602080835283518082850152825b818110156153df578581018301518582016040015282016153c3565b818111156153f05783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602a908201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260408201527f65666c656374696f6e7300000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f43616e6e6f7420756e6c6f636b20756e74696c2036206d6f6e74680000000000604082015260600190565b60208082526012908201527f43616e6e6f742072656d6f766520706169720000000000000000000000000000604082015260600190565b60208082526014908201527f43616e6e6f7420616464206c6971756964697479000000000000000000000000604082015260600190565b6020808252601b908201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604082015260600190565b60208082526017908201527f4163636f756e74206973206e6f74206578636c75646564000000000000000000604082015260600190565b6020808252601f908201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060408201527f7468616e207a65726f0000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601a908201527f4d6178207478206672657175656e637920657863656564656421000000000000604082015260600190565b60208082526025908201527f43616e6e6f74206578636c756465206d6f7265207468616e203530206163636f60408201527f756e74732e000000000000000000000000000000000000000000000000000000606082015260800190565b8151815260208083015173ffffffffffffffffffffffffffffffffffffffff16908201526040808301516fffffffffffffffffffffffffffffffff90811691830191909152606092830151169181019190915260800190565b600060a082019050825182526fffffffffffffffffffffffffffffffff602084015116602083015260408301516040830152606083015160608301526080830151608083015292915050565b6000610160820190506158e9828451615330565b60208301516158fb6020840182615330565b50604083015161590e6040840182615351565b506060830151615921606084018261534a565b506080830151615934608084018261534a565b5060a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015161597282850182615330565b505061014092830151919092015290565b6fffffffffffffffffffffffffffffffff91909116815260200190565b62ffffff91909116815260200190565b90815260200190565b60ff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff811681146159e957600080fd5b50565b80151581146159e957600080fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c6343000706000a
Creation ByteCode
0x6080604052600280546001600160a01b03191673bc09bb32e3ba81e3969f680b86a37f3f6abaaf801790556a246db7c785a8ccb7ffffff19600955600e805460ff19169055600f54601055601154601255601460138190556050905560326015556016805461ffff1916905560016019556026805460ff60a81b191690553480156200008a57600080fd5b5060006200009762000385565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506009543360008181526003602090815260409182902093909355601d80546001600160a01b03199081167368b3465833fb72a70ecdf485e0e4c7bd8665fc4517909155601f8054821673c36442b4a4522e871399cd717abdd847ab11fe8817905560258054909116737a250d5630b4cf539739df2c5dacb4c659f2488d1790819055815163c45a015560e01b8152915192936001600160a01b03919091169263c45a0155926004808201939291829003018186803b158015620001a357600080fd5b505afa158015620001b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001de919062000a31565b6001600160a01b031663c9c653963073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb486040518363ffffffff1660e01b81526004016200022192919062000a5a565b602060405180830381600087803b1580156200023c57600080fd5b505af115801562000251573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000277919062000a31565b602680546001600160a01b0319166001600160a01b039283161790819055620002a39116600162000389565b6001600160a01b0381811660008181526006602090815260408083208054600160ff199182168117909255308552828520805482168317905560189093528184208054841682179055602554861684528184208054841682179055601d54861684528184208054841682179055602654861684528184208054841682179055601f5490951683528083208054909216909417905591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9062000376906a31a17e847807b1bc0000009062000b71565b60405180910390a35062000b7a565b3390565b6001600160a01b0382166000908152601c60205260409020805460ff19168215801591909117909155620003c257620003c282620003d7565b80620003d357620003d38262000572565b5050565b620003e162000385565b6001600160a01b0316620003f462000715565b6001600160a01b0316146200043f576040805162461bcd60e51b8152602060048201819052602482015260008051602062006625833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526007602052604090205460ff1615620004845760405162461bcd60e51b81526004016200047b9062000abe565b60405180910390fd5b600854603260019091011115620004af5760405162461bcd60e51b81526004016200047b9062000b2c565b6001600160a01b038116600090815260036020526040902054156200050c576001600160a01b038116600090815260036020526040902054620004f29062000724565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b6200057c62000385565b6001600160a01b03166200058f62000715565b6001600160a01b031614620005da576040805162461bcd60e51b8152602060048201819052602482015260008051602062006625833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526007602052604090205460ff16620006155760405162461bcd60e51b81526004016200047b9062000af5565b60005b600854811015620003d357816001600160a01b0316600882815481106200063b57fe5b6000918252602090912001546001600160a01b031614156200070c576008805460001981019081106200066a57fe5b600091825260209091200154600880546001600160a01b0390921691839081106200069157fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600790925220805460ff191690556008805480620006e457fe5b600082815260209020810160001990810180546001600160a01b0319169055019055620003d3565b60010162000618565b6000546001600160a01b031690565b60006009548211156200074b5760405162461bcd60e51b81526004016200047b9062000a74565b6000620007576200077a565b9050620007738184620007ad60201b6200294b1790919060201c565b9392505050565b600080806200078862000816565b91509150620007a68183620007ad60201b6200294b1790919060201c565b9250505090565b600080821162000804576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816200080e57fe5b049392505050565b60095460009081906a31a17e847807b1bc000000825b6008548110156200097e578260036000600884815481106200084a57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180620008b157508160046000600884815481106200088a57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15620008d3576009546a31a17e847807b1bc00000094509450505050620009cf565b620009226003600060088481548110620008e957fe5b60009182526020808320909101546001600160a01b031683528281019390935260409091019020548591620029cc620009d3821b17901c565b92506200097360046000600884815481106200093a57fe5b60009182526020808320909101546001600160a01b031683528281019390935260409091019020548491620029cc620009d3821b17901c565b91506001016200082c565b50620009a66a31a17e847807b1bc000000600954620007ad60201b6200294b1790919060201c565b821015620009c9576009546a31a17e847807b1bc000000935093505050620009cf565b90925090505b9091565b60008282111562000a2b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006020828403121562000a43578081fd5b81516001600160a01b038116811462000773578182fd5b6001600160a01b0392831681529116602082015260400190565b6020808252602a908201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260408201526965666c656374696f6e7360b01b606082015260800190565b6020808252601b908201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604082015260600190565b60208082526017908201527f4163636f756e74206973206e6f74206578636c75646564000000000000000000604082015260600190565b60208082526025908201527f43616e6e6f74206578636c756465206d6f7265207468616e203530206163636f6040820152643ab73a399760d91b606082015260800190565b90815260200190565b615a9b8062000b8a6000396000f3fe6080604052600436106103905760003560e01c80636fd23588116101dc578063a4a2a9f611610102578063dc44b6a0116100a0578063efcc52de1161006f578063efcc52de146109a5578063f2488aa5146109ba578063f2fde38b146109cf578063f6887cd3146109ef57610397565b8063dc44b6a01461093b578063dd62ed3e14610950578063ea2f0b3714610970578063ebd2affc1461099057610397565b8063b02c43d0116100dc578063b02c43d0146108c4578063b44a2722146108f1578063b62496f514610906578063bbc0c7421461092657610397565b8063a4a2a9f61461086f578063a69df4b51461088f578063a9059cbb146108a457610397565b806388f820201161017a5780639686d322116101495780639686d322146107fa5780639a7a23d61461081a5780639d1b464a1461083a578063a457c2d71461084f57610397565b806388f820201461079b57806389a30271146107bb5780638da5cb5b146107d057806395d89b41146107e557610397565b8063744ac697116101b6578063744ac6971461073157806377a59f001461074657806378e97925146107665780637cc8eb761461077b57610397565b80636fd23588146106e757806370a08231146106fc578063715018a61461071c57610397565b8063313ce567116102c1578063437823ec1161025f57806352390c021161022e57806352390c021461067d5780635342acb41461069d57806362015852146106bd5780636ddd1713146106d257610397565b8063437823ec1461061357806343c667b4146106335780634549b0391461064857806349bd5a5e1461066857610397565b80633a924d5b1161029b5780633a924d5b146105b45780633ad10ef6146105c9578063417c7985146105de57806341f20b68146105fe57610397565b8063313ce567146105525780633685d41914610574578063395093511461059457610397565b80631868aadf1161032e578063251c1aa311610308578063251c1aa3146104e65780632692166e146104fb5780632c76d7a61461051d5780632d8381191461053257610397565b80631868aadf1461049c57806319291c69146104b157806323b872dd146104c657610397565b806313114a9d1161036a57806313114a9d14610416578063150b7a02146104385780631694505e1461046557806318160ddd1461048757610397565b806306fdde031461039c578063089fe6aa146103c7578063095ea7b3146103e957610397565b3661039757005b600080fd5b3480156103a857600080fd5b506103b1610a0f565b6040516103be91906153b3565b60405180910390f35b3480156103d357600080fd5b506103dc610a46565b6040516103be91906159a0565b3480156103f557600080fd5b5061040961040436600461506d565b610a4c565b6040516103be919061537b565b34801561042257600080fd5b5061042b610a6a565b6040516103be91906159b0565b34801561044457600080fd5b50610458610453366004614fa6565b610a70565b6040516103be9190615386565b34801561047157600080fd5b5061047a610aa6565b6040516103be919061535a565b34801561049357600080fd5b5061042b610ac2565b3480156104a857600080fd5b5061042b610ad1565b3480156104bd57600080fd5b5061042b610ad7565b3480156104d257600080fd5b506104096104e1366004614f66565b610add565b3480156104f257600080fd5b5061042b610b7e565b34801561050757600080fd5b5061051b610516366004614f2e565b610b84565b005b34801561052957600080fd5b5061047a610ce3565b34801561053e57600080fd5b5061042b61054d36600461515f565b610cff565b34801561055e57600080fd5b50610567610d65565b6040516103be91906159b9565b34801561058057600080fd5b5061051b61058f366004614f12565b610d6a565b3480156105a057600080fd5b506104096105af36600461506d565b61102b565b3480156105c057600080fd5b5061047a611086565b3480156105d557600080fd5b5061047a6110a2565b3480156105ea57600080fd5b5061051b6105f9366004615211565b6110be565b34801561060a57600080fd5b506104096111f2565b34801561061f57600080fd5b5061051b61062e366004614f12565b611200565b34801561063f57600080fd5b5061051b6112f7565b34801561065457600080fd5b5061042b61066336600461518f565b6116f0565b34801561067457600080fd5b5061047a611770565b34801561068957600080fd5b5061051b610698366004614f12565b61178c565b3480156106a957600080fd5b506104096106b8366004614f12565b611a00565b3480156106c957600080fd5b5061042b611a2b565b3480156106de57600080fd5b50610409611a31565b3480156106f357600080fd5b50610409611a53565b34801561070857600080fd5b5061042b610717366004614f12565b611a5c565b34801561072857600080fd5b5061051b611ae5565b34801561073d57600080fd5b5061042b611bfc565b34801561075257600080fd5b5061042b610761366004614f12565b611c02565b34801561077257600080fd5b5061042b611c14565b34801561078757600080fd5b5061051b61079636600461515f565b611c1a565b3480156107a757600080fd5b506104096107b6366004614f12565b611cce565b3480156107c757600080fd5b5061047a611cf9565b3480156107dc57600080fd5b5061047a611d11565b3480156107f157600080fd5b506103b1611d2d565b34801561080657600080fd5b5061051b610815366004615040565b611d64565b34801561082657600080fd5b5061051b610835366004615040565b611e62565b34801561084657600080fd5b5061042b611f69565b34801561085b57600080fd5b5061040961086a36600461506d565b611f6f565b34801561087b57600080fd5b5061051b61088a366004615098565b611fe4565b34801561089b57600080fd5b5061051b612393565b3480156108b057600080fd5b506104096108bf36600461506d565b6125df565b3480156108d057600080fd5b506108e46108df36600461515f565b6125f3565b6040516103be9190615983565b3480156108fd57600080fd5b5061047a612617565b34801561091257600080fd5b50610409610921366004614f12565b612633565b34801561093257600080fd5b50610409612648565b34801561094757600080fd5b5061042b612651565b34801561095c57600080fd5b5061042b61096b366004614f2e565b612657565b34801561097c57600080fd5b5061051b61098b366004614f12565b61268f565b34801561099c57600080fd5b5061042b612783565b3480156109b157600080fd5b5061042b612789565b3480156109c657600080fd5b5061042b61278f565b3480156109db57600080fd5b5061051b6109ea366004614f12565b612795565b3480156109fb57600080fd5b50610409610a0a366004614f12565b612936565b60408051808201909152601481527f536563726574206f662054686520537068696e78000000000000000000000000602082015290565b6101f481565b6000610a60610a59612a43565b8484612a47565b5060015b92915050565b600a5490565b6000610a7b84612b56565b507f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b60255473ffffffffffffffffffffffffffffffffffffffff1681565b6a31a17e847807b1bc00000090565b60195481565b60225481565b6000610aea848484612c5a565b610b7484610af6612a43565b610b6f85604051806060016040528060288152602001615a426028913973ffffffffffffffffffffffffffffffffffffffff8a16600090815260056020526040812090610b41612a43565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020549190612f98565b612a47565b5060019392505050565b600d5481565b610b8c612a43565b73ffffffffffffffffffffffffffffffffffffffff16610baa611d11565b73ffffffffffffffffffffffffffffffffffffffff1614610c2c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190610c8190309060040161535a565b60206040518083038186803b158015610c9957600080fd5b505afa158015610cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd19190615177565b9050610cde838383613049565b505050565b601d5473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954821115610d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d90615481565b60405180910390fd5b6000610d50613225565b9050610d5c838261294b565b9150505b919050565b601290565b610d72612a43565b73ffffffffffffffffffffffffffffffffffffffff16610d90611d11565b73ffffffffffffffffffffffffffffffffffffffff1614610e1257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090205460ff16610e71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d90615617565b60005b600854811015611027578173ffffffffffffffffffffffffffffffffffffffff1660088281548110610ea257fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561101f57600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610efa57fe5b6000918252602090912001546008805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610f2d57fe5b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff948516179055918416815260048252604080822082905560079092522080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556008805480610fc257fe5b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055019055611027565b600101610e74565b5050565b6000610a60611038612a43565b84610b6f8560056000611049612a43565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918c168152925290205490613248565b601e5473ffffffffffffffffffffffffffffffffffffffff1681565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b6110c6612a43565b73ffffffffffffffffffffffffffffffffffffffff166110e4611d11565b73ffffffffffffffffffffffffffffffffffffffff161461116657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b601393909355601491909155601555600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179081905516600090815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b601654610100900460ff1681565b611208612a43565b73ffffffffffffffffffffffffffffffffffffffff16611226611d11565b73ffffffffffffffffffffffffffffffffffffffff16146112a857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6112ff612a43565b73ffffffffffffffffffffffffffffffffffffffff1661131d611d11565b73ffffffffffffffffffffffffffffffffffffffff161461139f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6113aa6020546132c3565b6113b56020546133b7565b6113c06021546132c3565b6113cb6021546133b7565b6113d66022546132c3565b6113e16022546133b7565b6113ec6023546132c3565b6113f76023546133b7565b600061140230611a5c565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815290915060009073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48906370a082319061145890309060040161535a565b60206040518083038186803b15801561147057600080fd5b505afa158015611484573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a89190615177565b905060006114b782606461294b565b6002549091506114f39073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489073ffffffffffffffffffffffffffffffffffffffff1683613049565b8082039150600080601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561156357600080fd5b505afa158015611577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159b91906150cc565b5050505050915091506000808260020b126115c957600a8260020b816115bd57fe5b05600a02600a016115dd565b600a808360020b816115d757fe5b05600a02035b90506000808360020b1261160357600a808460020b816115f957fe5b05600a0203611618565b600a8360020b8161161057fe5b05600a02600a015b905060c061164e670de0b6b3a764000061164873ffffffffffffffffffffffffffffffffffffffff881680613492565b90613492565b901c60248190555060008060008061166860245488613505565b935093509350935061167d60008b86896136ad565b6020556116a261169960646116938e6014613492565b9061294b565b600087866136ad565b6021556116c16116b860646116938e601e613492565b600085856136ad565b6022556116e06116d760646116938e6032613492565b600084846136ad565b6023555050505050505050505050565b60006a31a17e847807b1bc000000831115611737576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d9061564e565b816117565760006117478461393a565b50939550610a64945050505050565b60006117618461393a565b50929550610a64945050505050565b60265473ffffffffffffffffffffffffffffffffffffffff1681565b611794612a43565b73ffffffffffffffffffffffffffffffffffffffff166117b2611d11565b73ffffffffffffffffffffffffffffffffffffffff161461183457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090205460ff1615611894576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d906155e0565b6008546032600190910111156118d6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d906157d3565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902054156119575773ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604090205461193090610cff565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600460205260409020555b73ffffffffffffffffffffffffffffffffffffffff16600081815260076020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205460ff1690565b60155481565b6026547501000000000000000000000000000000000000000000900460ff1681565b600e5460ff1681565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604081205460ff1615611ab6575073ffffffffffffffffffffffffffffffffffffffff8116600090815260046020526040902054610d60565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040902054610a6490610cff565b611aed612a43565b73ffffffffffffffffffffffffffffffffffffffff16611b0b611d11565b73ffffffffffffffffffffffffffffffffffffffff1614611b8d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60205481565b60176020526000908152604090205481565b600c5481565b611c22612a43565b73ffffffffffffffffffffffffffffffffffffffff16611c40611d11565b73ffffffffffffffffffffffffffffffffffffffff1614611cc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b62015180024201600d55565b73ffffffffffffffffffffffffffffffffffffffff1660009081526007602052604090205460ff1690565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60408051808201909152600681527f535048494e580000000000000000000000000000000000000000000000000000602082015290565b611d6c612a43565b73ffffffffffffffffffffffffffffffffffffffff16611d8a611d11565b73ffffffffffffffffffffffffffffffffffffffff1614611e0c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260186020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b611e6a612a43565b73ffffffffffffffffffffffffffffffffffffffff16611e88611d11565b73ffffffffffffffffffffffffffffffffffffffff1614611f0a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60265473ffffffffffffffffffffffffffffffffffffffff83811691161415611f5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d90615572565b6110278282613989565b60245481565b6000610a60611f7c612a43565b84610b6f85604051806060016040528060258152602001615a6a6025913960056000611fa6612a43565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918d16815292529020549190612f98565b611fec612a43565b73ffffffffffffffffffffffffffffffffffffffff1661200a611d11565b73ffffffffffffffffffffffffffffffffffffffff161461208c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b612098303330856139f8565b6120b873a0b86991c6218b36c1d19d4a2e9eb0ce3606eb483330846139f8565b42600c81905562ed4e0001600d5560168054602680547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821660019081179190911661010017909255600e805482168317905573ffffffffffffffffffffffffffffffffffffffff851660009081526018602052604090208054909116821790556121a2908490613989565b601e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8581169190911791829055604080517f3850c7bd000000000000000000000000000000000000000000000000000000008152905160009384931691633850c7bd9160048083019260e0929190829003018186803b15801561223d57600080fd5b505afa158015612251573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061227591906150cc565b5050505050915091506000808260020b126122a357600a8260020b8161229757fe5b05600a02600a016122b7565b600a808360020b816122b157fe5b05600a02035b90506000808360020b126122dd57600a808460020b816122d357fe5b05600a02036122f2565b600a8360020b816122ea57fe5b05600a02600a015b905060c0612322670de0b6b3a764000061164873ffffffffffffffffffffffffffffffffffffffff881680613492565b901c60248190555060008060008061233c60245488613505565b935093509350935061235160008a86896136ad565b60205561236761169960646116938d6014613492565b60215561237d6116b860646116938d601e613492565b6022556116e06116d760646116938d6032613492565b61239b612a43565b73ffffffffffffffffffffffffffffffffffffffff166123b9611d11565b73ffffffffffffffffffffffffffffffffffffffff161461243b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b42600d5410612476576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d9061553b565b6124816020546132c3565b61248c6020546133b7565b6124976021546132c3565b6124a26021546133b7565b6124ad6022546132c3565b6124b86022546133b7565b6124c36023546132c3565b6124ce6023546133b7565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48906370a082319061252190309060040161535a565b60206040518083038186803b15801561253957600080fd5b505afa15801561254d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125719190615177565b9050600061257e30611a5c565b6002549091506125ba9073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489073ffffffffffffffffffffffffffffffffffffffff1684613049565b60025461102790309073ffffffffffffffffffffffffffffffffffffffff1683613049565b6000610a606125ec612a43565b8484612c5a565b6001602052600090815260409020546fffffffffffffffffffffffffffffffff1681565b601f5473ffffffffffffffffffffffffffffffffffffffff1681565b601c6020526000908152604090205460ff1681565b60165460ff1681565b60145481565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205490565b612697612a43565b73ffffffffffffffffffffffffffffffffffffffff166126b5611d11565b73ffffffffffffffffffffffffffffffffffffffff161461273757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60215481565b60135481565b60235481565b61279d612a43565b73ffffffffffffffffffffffffffffffffffffffff166127bb611d11565b73ffffffffffffffffffffffffffffffffffffffff161461283d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166128a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806159fb6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60186020526000908152604090205460ff1681565b60008082116129bb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816129c457fe5b049392505050565b600082821115612a3d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b3390565b73ffffffffffffffffffffffffffffffffffffffff8316612a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d9061573f565b73ffffffffffffffffffffffffffffffffffffffff8216612ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d906154de565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526005602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590612b499085906159b0565b60405180910390a3505050565b601f546040517f99fbab8800000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906399fbab8890612bad9085906004016159b0565b6101806040518083038186803b158015612bc657600080fd5b505afa158015612bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bfe9190615251565b50505060009a8b52506001602052604090992080547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff909a16999099179098555050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316612ca7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d906156e2565b73ffffffffffffffffffffffffffffffffffffffff8216612cf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d90615424565b60008111612d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d90615685565b60165460ff16612dc95773ffffffffffffffffffffffffffffffffffffffff83166000908152601c602052604090205460ff161580612d93575073ffffffffffffffffffffffffffffffffffffffff82166000908152601c602052604090205460ff16155b612dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d906155a9565b601654610100900460ff1615612e795773ffffffffffffffffffffffffffffffffffffffff831660009081526018602052604090205460ff16158015612e35575073ffffffffffffffffffffffffffffffffffffffff821660009081526018602052604090205460ff16155b15612e79576000612e468484613bdd565b9050612e5181613c81565b73ffffffffffffffffffffffffffffffffffffffff1660009081526017602052604090204390555b612e81613d18565b600e5460ff1615612ed457600c5462093a8001421015612ed4576014601381905560329055601e601555600e80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b6003600b5573ffffffffffffffffffffffffffffffffffffffff831660009081526006602052604090205460ff16158015612f35575073ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090205460ff16155b15612f855773ffffffffffffffffffffffffffffffffffffffff83166000908152601c602052604090205460ff1615612f8557601354600f5560155460145401601181905515612f85576001600b555b612f90838383613d4a565b610cde613e9a565b60008184841115613041576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613006578181015183820152602001612fee565b50505050905090810190601f1680156130335780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b6020831061311e57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016130e1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613180576040519150601f19603f3d011682016040523d82523d6000602084013e613185565b606091505b50915091508180156131b35750805115806131b357508080602001905160208110156131b057600080fd5b50515b61321e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5050505050565b6000806000613232613ea8565b9092509050613241828261294b565b9250505090565b6000828201838110156132bc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600081815260016020908152604080832054815160a0810183528581526fffffffffffffffffffffffffffffffff9091169281018390528082018490526060810193909352426080840152601f5490517f0c49ccbe00000000000000000000000000000000000000000000000000000000815291929173ffffffffffffffffffffffffffffffffffffffff90911690630c49ccbe90613366908490600401615889565b6040805180830381600087803b15801561337f57600080fd5b505af1158015613393573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e91906151ee565b604080516080810182528281523060208201526fffffffffffffffffffffffffffffffff8183018190526060820152601f5491517ffc6f7865000000000000000000000000000000000000000000000000000000008152909173ffffffffffffffffffffffffffffffffffffffff169063fc6f78659061343b908490600401615830565b6040805180830381600087803b15801561345457600080fd5b505af1158015613468573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061348c91906151ee565b50505050565b6000826134a157506000610a64565b828202828482816134ae57fe5b04146132bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615a216021913960400191505060405180910390fd5b60008060008060008060008060008960020b12156135b157613548613543670de0b6b3a764000060c06135398e600a61294b565b8e03901b9061294b565b614063565b935061356e613543670de0b6b3a764000060c06135668e6002613492565b901b9061294b565b925061358c613543670de0b6b3a764000060c06135668e6003613492565b91506135aa613543670de0b6b3a764000060c06135668e6004613492565b9050613634565b6135d7613543670de0b6b3a764000060c06135cd8e600a61294b565b8e01901b9061294b565b93506135f5613543670de0b6b3a764000060c06135668e600261294b565b9250613613613543670de0b6b3a764000060c06135668e600361294b565b9150613631613543670de0b6b3a764000060c06135668e600461294b565b90505b600a61363f8561409a565b60020b8161364957fe5b05600a029750600a61365a8461409a565b60020b8161366457fe5b05600a029650600a6136758361409a565b60020b8161367f57fe5b05600a029550600a6136908261409a565b60020b8161369a57fe5b05600a0294505050505092959194509250565b6000806000806000808660020b8860020b126136c957866136cb565b875b905060008760020b8960020b126136e257886136e4565b875b9050600281900b620d89e8126136fa57806136ff565b620d89e85b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27618600283900b126137325781613754565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff276185b601f5490925061377c90309073ffffffffffffffffffffffffffffffffffffffff168d614466565b601f546137b59073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489073ffffffffffffffffffffffffffffffffffffffff168c614466565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb483010156137f65730955073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4894508a9350899250613817565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4895503094508993508a92505b604080516101608101825273ffffffffffffffffffffffffffffffffffffffff808916825287811660208301526101f482840152600285810b606084015284900b608083015260a0820187905260c08201869052600060e083018190526101008301523061012083015242610140830152601f5492517f88316456000000000000000000000000000000000000000000000000000000008152919216906388316456906138c89084906004016158d5565b608060405180830381600087803b1580156138e257600080fd5b505af11580156138f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061391a91906151b3565b5091995061392b9150899050612b56565b50505050505050949350505050565b60008060008060008060008060006139518a61463b565b925092509250600080600061396f8d868661396a613225565b61467d565b919f909e50909c50959a5093985091965092945050505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152601c6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682158015919091179091556139ea576139ea8261178c565b806110275761102782610d6a565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b60208310613ad557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613a98565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613b37576040519150601f19603f3d011682016040523d82523d6000602084013e613b3c565b606091505b5091509150818015613b6a575080511580613b6a5750808060200190516020811015613b6757600080fd5b50515b613bd557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b505050505050565b6000613be8836146cd565b1580613bfa5750613bf8826146cd565b155b613c6557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f20626f747320616c6c6f7765642100000000000000000000000000000000604482015290519081900360640190fd5b613c6e836146cd565b15613c7a575080610a64565b5081610a64565b73ffffffffffffffffffffffffffffffffffffffff81166000908152601760205260408120541580613cdf575060195473ffffffffffffffffffffffffffffffffffffffff8316600090815260176020526040902054600143019101105b905080611027576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d9061579c565b600f54158015613d285750601154155b15613d3257613d48565b600f805460105560118054601255600091829055555b565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602052604090205460ff168015613da5575073ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090205460ff16155b15613dba57613db58383836146d3565b610cde565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602052604090205460ff16158015613e15575073ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090205460ff165b15613e2557613db5838383614845565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602052604090205460ff168015613e7f575073ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090205460ff165b15613e8f57613db5838383614915565b610cde8383836149a2565b601054600f55601254601155565b60095460009081906a31a17e847807b1bc000000825b60085481101561401f57826003600060088481548110613eda57fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff1683528201929092526040019020541180613f595750816004600060088481548110613f2557fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168352820192909252604001902054115b15613f79576009546a31a17e847807b1bc0000009450945050505061405f565b613fc66003600060088481548110613f8d57fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205484906129cc565b92506140156004600060088481548110613fdc57fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205483906129cc565b9150600101613ebe565b50600954614038906a31a17e847807b1bc00000061294b565b821015614059576009546a31a17e847807b1bc00000093509350505061405f565b90925090505b9091565b80600260018201045b818110156140945780915060028182858161408357fe5b04018161408c57fe5b04905061406c565b50919050565b60006401000276a373ffffffffffffffffffffffffffffffffffffffff8316108015906140f0575073fffd8963efd1fc6a506488495d951d5263988d2673ffffffffffffffffffffffffffffffffffffffff8316105b61415b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f5200000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c9790881196179094179092171790911717176080811061420557607f810383901c915061420f565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581027ffffffffffffffffffffffffffffffffffd709b7e5480fba5a50fed5e62ffc5568101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b14614457578873ffffffffffffffffffffffffffffffffffffffff1661442e826149f3565b73ffffffffffffffffffffffffffffffffffffffff1611156144505781614452565b805b614459565b815b9998505050505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b6020831061453b57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016144fe565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461459d576040519150601f19603f3d011682016040523d82523d6000602084013e6145a2565b606091505b50915091508180156145d05750805115806145d057508080602001905160208110156145cd57600080fd5b50515b61321e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5341000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60008060008061464a85614d86565b9050600061465786614da3565b9050600061466f8261466989866129cc565b906129cc565b979296509094509092505050565b600080808061468c8886613492565b9050600061469a8887613492565b905060006146a88888613492565b905060006146ba8261466986866129cc565b939b939a50919850919650505050505050565b3b151590565b6000806000806000806146e58761393a565b73ffffffffffffffffffffffffffffffffffffffff8f16600090815260046020526040902054959b5093995091975095509350915061472490886129cc565b73ffffffffffffffffffffffffffffffffffffffff8a1660009081526004602090815260408083209390935560039052205461476090876129cc565b73ffffffffffffffffffffffffffffffffffffffff808b1660009081526003602052604080822093909355908a168152205461479c9086613248565b73ffffffffffffffffffffffffffffffffffffffff89166000908152600360205260409020556147cb81614dc0565b6147d58483614e8c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161483291906159b0565b60405180910390a3505050505050505050565b6000806000806000806148578761393a565b73ffffffffffffffffffffffffffffffffffffffff8f16600090815260036020526040902054959b5093995091975095509350915061489690876129cc565b73ffffffffffffffffffffffffffffffffffffffff808b16600090815260036020908152604080832094909455918b168152600490915220546148d99084613248565b73ffffffffffffffffffffffffffffffffffffffff891660009081526004602090815260408083209390935560039052205461479c9086613248565b6000806000806000806149278761393a565b73ffffffffffffffffffffffffffffffffffffffff8f16600090815260046020526040902054959b5093995091975095509350915061496690886129cc565b73ffffffffffffffffffffffffffffffffffffffff8a1660009081526004602090815260408083209390935560039052205461489690876129cc565b6000806000806000806149b48761393a565b73ffffffffffffffffffffffffffffffffffffffff8f16600090815260036020526040902054959b5093995091975095509350915061476090876129cc565b60008060008360020b12614a0a578260020b614a12565b8260020b6000035b9050620d89e8811115614a8657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f5400000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600060018216614aa757700100000000000000000000000000000000614ab9565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615614aed576ffff97272373d413259a46990580e213a0260801c5b6004821615614b0c576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615614b2b576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615614b4a576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615614b69576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615614b88576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615614ba7576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615614bc7576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615614be7576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615614c07576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615614c27576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615614c47576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615614c67576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615614c87576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615614ca7576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615614cc8576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615614ce8576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615614d07576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615614d24576b048a170391f7dc42444e8fa20260801c5b60008460020b1315614d5d57807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81614d5957fe5b0490505b640100000000810615614d71576001614d74565b60005b60ff16602082901c0192505050919050565b6000610a646103e8611693600f548561349290919063ffffffff16565b6000610a646103e86116936011548561349290919063ffffffff16565b6001600b541415614e0457601154601454820281614dda57fe5b601a8054929091049091019055601154601554820281614df657fe5b601b80549290910490910190555b6000614e0e613225565b90506000614e1c8383613492565b30600090815260036020526040902054909150614e399082613248565b3060009081526003602090815260408083209390935560079052205460ff1615610cde5730600090815260046020526040902054614e779084613248565b30600090815260046020526040902055505050565b600954614e9990836129cc565b600955600a54614ea99082613248565b600a555050565b8051610d60816159c7565b8051600281900b8114610d6057600080fd5b80516fffffffffffffffffffffffffffffffff81168114610d6057600080fd5b805161ffff81168114610d6057600080fd5b805162ffffff81168114610d6057600080fd5b600060208284031215614f23578081fd5b81356132bc816159c7565b60008060408385031215614f40578081fd5b8235614f4b816159c7565b91506020830135614f5b816159c7565b809150509250929050565b600080600060608486031215614f7a578081fd5b8335614f85816159c7565b92506020840135614f95816159c7565b929592945050506040919091013590565b600080600080600060808688031215614fbd578081fd5b8535614fc8816159c7565b94506020860135614fd8816159c7565b935060408601359250606086013567ffffffffffffffff80821115614ffb578283fd5b818801915088601f83011261500e578283fd5b81358181111561501c578384fd5b89602082850101111561502d578384fd5b9699959850939650602001949392505050565b60008060408385031215615052578182fd5b823561505d816159c7565b91506020830135614f5b816159ec565b6000806040838503121561507f578182fd5b823561508a816159c7565b946020939093013593505050565b6000806000606084860312156150ac578283fd5b83356150b7816159c7565b95602085013595506040909401359392505050565b600080600080600080600060e0888a0312156150e6578182fd5b87516150f1816159c7565b96506150ff60208901614ebb565b955061510d60408901614eed565b945061511b60608901614eed565b935061512960808901614eed565b925060a088015160ff8116811461513e578283fd5b60c089015190925061514f816159ec565b8091505092959891949750929550565b600060208284031215615170578081fd5b5035919050565b600060208284031215615188578081fd5b5051919050565b600080604083850312156151a1578182fd5b823591506020830135614f5b816159ec565b600080600080608085870312156151c8578182fd5b845193506151d860208601614ecd565b6040860151606090960151949790965092505050565b60008060408385031215615200578182fd5b505080516020909101519092909150565b60008060008060808587031215615226578182fd5b8435935060208501359250604085013591506060850135615246816159c7565b939692955090935050565b6000806000806000806000806000806000806101808d8f031215615273578586fd5b8c516bffffffffffffffffffffffff8116811461528e578687fd5b9b5061529c60208e01614eb0565b9a506152aa60408e01614eb0565b99506152b860608e01614eb0565b98506152c660808e01614eff565b97506152d460a08e01614ebb565b96506152e260c08e01614ebb565b95506152f060e08e01614ecd565b94506101008d015193506101208d0151925061530f6101408e01614ecd565b915061531e6101608e01614ecd565b90509295989b509295989b509295989b565b73ffffffffffffffffffffffffffffffffffffffff169052565b60020b9052565b62ffffff169052565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b6000602080835283518082850152825b818110156153df578581018301518582016040015282016153c3565b818111156153f05783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602a908201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260408201527f65666c656374696f6e7300000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f43616e6e6f7420756e6c6f636b20756e74696c2036206d6f6e74680000000000604082015260600190565b60208082526012908201527f43616e6e6f742072656d6f766520706169720000000000000000000000000000604082015260600190565b60208082526014908201527f43616e6e6f7420616464206c6971756964697479000000000000000000000000604082015260600190565b6020808252601b908201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604082015260600190565b60208082526017908201527f4163636f756e74206973206e6f74206578636c75646564000000000000000000604082015260600190565b6020808252601f908201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060408201527f7468616e207a65726f0000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601a908201527f4d6178207478206672657175656e637920657863656564656421000000000000604082015260600190565b60208082526025908201527f43616e6e6f74206578636c756465206d6f7265207468616e203530206163636f60408201527f756e74732e000000000000000000000000000000000000000000000000000000606082015260800190565b8151815260208083015173ffffffffffffffffffffffffffffffffffffffff16908201526040808301516fffffffffffffffffffffffffffffffff90811691830191909152606092830151169181019190915260800190565b600060a082019050825182526fffffffffffffffffffffffffffffffff602084015116602083015260408301516040830152606083015160608301526080830151608083015292915050565b6000610160820190506158e9828451615330565b60208301516158fb6020840182615330565b50604083015161590e6040840182615351565b506060830151615921606084018261534a565b506080830151615934608084018261534a565b5060a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015161597282850182615330565b505061014092830151919092015290565b6fffffffffffffffffffffffffffffffff91909116815260200190565b62ffffff91909116815260200190565b90815260200190565b60ff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff811681146159e957600080fd5b50565b80151581146159e957600080fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c6343000706000a4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
©2022-now by Spectre