Mainnet
Testnet
Goodluck (GL)

Goodluck (GL)

Overview

Max Total supply:
999,999
GL
Holders:
1 addresses
Total transfers:
1

Token info

Contract:
Name:
Goodluck
Symbol:
GL
Decimals:
18
Token type:
wrc20
Are you the contract creator? Verify and Publish your contract source code.

Creation bytecode

0x6101606040523480156200001257600080fd5b506040518060400160405280600881526020017f476f6f646c75636b000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f476f6f646c75636b0000000000000000000000000000000000000000000000008152506040518060400160405280600281526020017f474c0000000000000000000000000000000000000000000000000000000000008152508160039081620000fd9190620010ce565b5080600490816200010f9190620010ce565b50505062000132620001266200023260201b60201c565b6200023a60201b60201c565b6200014d6006836200030060201b620012541790919060201c565b6101208181525050620001706007826200030060201b620012541790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001af6200035d60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506200022c3362000202620003ba60201b60201c565b600a62000210919062001345565b620f423f62000220919062001396565b620003c360201b60201c565b62001996565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060208351101562000326576200031e83620003de60201b60201c565b905062000357565b826200033d836200044b60201b620012981760201c565b60000190816200034e9190620010ce565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016200039f95949392919062001452565b60405160208183030381529060405280519060200120905090565b60006012905090565b620003da82826200045560201b620012a21760201c565b5050565b600080829050601f815111156200042e57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016200042591906200153e565b60405180910390fd5b8051816200043c9062001594565b60001c1760001b915050919050565b6000819050919050565b6200046c82826200051360201b6200132f1760201c565b6200047c6200068060201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620004aa620006a460201b60201c565b1115620004ee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004e5906200167a565b60405180910390fd5b6200050d600c620006ae60201b620014851783620006c660201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000585576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200057c90620016ec565b60405180910390fd5b6200059960008383620009eb60201b60201c565b8060026000828254620005ad91906200170e565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000660919062001749565b60405180910390a36200067c60008383620009f060201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b60008183620006be91906200170e565b905092915050565b60008060008580549050905060008082146200079657620006f1876001840362000a0d60201b60201c565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050620007d2565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506200080584868860201c565b92506000821180156200083857506200082362000a2260201b60201c565b65ffffffffffff16816000015163ffffffff16145b15620008c057620008548362000a3f60201b6200149b1760201c565b62000869886001850362000a0d60201b60201c565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550620009e1565b866040518060400160405280620008f9620008e062000a2260201b60201c565b65ffffffffffff1662000aad60201b620015061760201c565b63ffffffff1681526020016200091a8662000a3f60201b6200149b1760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b505050565b62000a0883838362000b0360201b620015591760201c565b505050565b60008260005281602060002001905092915050565b600062000a3a4362000b5360201b620015841760201c565b905090565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111562000aa5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a9c90620017dc565b60405180910390fd5b819050919050565b600063ffffffff801682111562000afb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000af29062001874565b60405180910390fd5b819050919050565b62000b1b83838362000bab60201b620015d91760201c565b62000b4e62000b308462000bb060201b60201c565b62000b418462000bb060201b60201c565b8362000c1960201b60201c565b505050565b600065ffffffffffff801682111562000ba3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b9a906200190c565b60405180910390fd5b819050919050565b505050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000c565750600081115b1562000e3757600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000d495760008062000cf0600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000e3c60201b620015de1785620006c660201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000d3e9291906200192e565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000e365760008062000ddd600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620006ae60201b620014851785620006c660201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000e2b9291906200192e565b60405180910390a250505b5b505050565b6000818362000e4c91906200195b565b905092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000ed657607f821691505b60208210810362000eec5762000eeb62000e8e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000f567fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000f17565b62000f62868362000f17565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000faf62000fa962000fa38462000f7a565b62000f84565b62000f7a565b9050919050565b6000819050919050565b62000fcb8362000f8e565b62000fe362000fda8262000fb6565b84845462000f24565b825550505050565b600090565b62000ffa62000feb565b6200100781848462000fc0565b505050565b5b818110156200102f576200102360008262000ff0565b6001810190506200100d565b5050565b601f8211156200107e57620010488162000ef2565b620010538462000f07565b8101602085101562001063578190505b6200107b620010728562000f07565b8301826200100c565b50505b505050565b600082821c905092915050565b6000620010a36000198460080262001083565b1980831691505092915050565b6000620010be838362001090565b9150826002028217905092915050565b620010d98262000e54565b67ffffffffffffffff811115620010f557620010f462000e5f565b5b62001101825462000ebd565b6200110e82828562001033565b600060209050601f83116001811462001146576000841562001131578287015190505b6200113d8582620010b0565b865550620011ad565b601f198416620011568662000ef2565b60005b82811015620011805784890151825560018201915060208501945060208101905062001159565b86831015620011a057848901516200119c601f89168262001090565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562001243578086048111156200121b576200121a620011b5565b5b60018516156200122b5780820291505b80810290506200123b85620011e4565b9450620011fb565b94509492505050565b6000826200125e576001905062001331565b816200126e576000905062001331565b81600181146200128757600281146200129257620012c8565b600191505062001331565b60ff841115620012a757620012a6620011b5565b5b8360020a915084821115620012c157620012c0620011b5565b5b5062001331565b5060208310610133831016604e8410600b8410161715620013025782820a905083811115620012fc57620012fb620011b5565b5b62001331565b620013118484846001620011f1565b925090508184048111156200132b576200132a620011b5565b5b81810290505b9392505050565b600060ff82169050919050565b6000620013528262000f7a565b91506200135f8362001338565b92506200138e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200124c565b905092915050565b6000620013a38262000f7a565b9150620013b08362000f7a565b9250828202620013c08162000f7a565b91508282048414831517620013da57620013d9620011b5565b5b5092915050565b6000819050919050565b620013f681620013e1565b82525050565b620014078162000f7a565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200143a826200140d565b9050919050565b6200144c816200142d565b82525050565b600060a082019050620014696000830188620013eb565b620014786020830187620013eb565b620014876040830186620013eb565b620014966060830185620013fc565b620014a5608083018462001441565b9695505050505050565b600082825260208201905092915050565b60005b83811015620014e0578082015181840152602081019050620014c3565b60008484015250505050565b6000601f19601f8301169050919050565b60006200150a8262000e54565b620015168185620014af565b935062001528818560208601620014c0565b6200153381620014ec565b840191505092915050565b600060208201905081810360008301526200155a8184620014fd565b905092915050565b600081519050919050565b6000819050602082019050919050565b60006200158b8251620013e1565b80915050919050565b6000620015a18262001562565b82620015ad846200156d565b9050620015ba816200157d565b92506020821015620015fd57620015f87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080262000f17565b831692505b5050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b600062001662603083620014af565b91506200166f8262001604565b604082019050919050565b60006020820190508181036000830152620016958162001653565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620016d4601f83620014af565b9150620016e1826200169c565b602082019050919050565b600060208201905081810360008301526200170781620016c5565b9050919050565b60006200171b8262000f7a565b9150620017288362000f7a565b9250828201905080821115620017435762001742620011b5565b5b92915050565b6000602082019050620017606000830184620013fc565b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000620017c4602783620014af565b9150620017d18262001766565b604082019050919050565b60006020820190508181036000830152620017f781620017b5565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b60006200185c602683620014af565b91506200186982620017fe565b604082019050919050565b600060208201905081810360008301526200188f816200184d565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000620018f4602683620014af565b9150620019018262001896565b604082019050919050565b600060208201905081810360008301526200192781620018e5565b9050919050565b6000604082019050620019456000830185620013fc565b620019546020830184620013fc565b9392505050565b6000620019688262000f7a565b9150620019758362000f7a565b925082820390508181111562001990576200198f620011b5565b5b92915050565b60805160a05160c05160e051610100516101205161014051614662620019f16000396000610a6601526000610a320152600061264e0152600061262d01526000611acb01526000611b2101526000611b4a01526146626000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a6116101045780639ab24eb0116100a2578063d505accf11610071578063d505accf14610586578063dd62ed3e146105a2578063f1127ed8146105d2578063f2fde38b14610602576101cf565b80639ab24eb0146104da578063a457c2d71461050a578063a9059cbb1461053a578063c3cda5201461056a576101cf565b80638da5cb5b116100de5780638da5cb5b146104505780638e539e8c1461046e57806391ddadf41461049e57806395d89b41146104bc576101cf565b8063715018a6146103f25780637ecebe00146103fc57806384b0196e1461042c576101cf565b80633a46b1a811610171578063587cde1e1161014b578063587cde1e146103465780635c19a95c146103765780636fcfff451461039257806370a08231146103c2576101cf565b80633a46b1a8146102dc57806340c10f191461030c5780634bf5d7e914610328576101cf565b806323b872dd116101ad57806323b872dd14610240578063313ce567146102705780633644e5151461028e57806339509351146102ac576101cf565b806306fdde03146101d4578063095ea7b3146101f257806318160ddd14610222575b600080fd5b6101dc61061e565b6040516101e99190612cfd565b60405180910390f35b61020c60048036038101906102079190612db8565b6106b0565b6040516102199190612e13565b60405180910390f35b61022a6106d3565b6040516102379190612e3d565b60405180910390f35b61025a60048036038101906102559190612e58565b6106dd565b6040516102679190612e13565b60405180910390f35b61027861070c565b6040516102859190612ec7565b60405180910390f35b610296610715565b6040516102a39190612efb565b60405180910390f35b6102c660048036038101906102c19190612db8565b610724565b6040516102d39190612e13565b60405180910390f35b6102f660048036038101906102f19190612db8565b61075b565b6040516103039190612e3d565b60405180910390f35b61032660048036038101906103219190612db8565b6107fe565b005b610330610814565b60405161033d9190612cfd565b60405180910390f35b610360600480360381019061035b9190612f16565b6108a2565b60405161036d9190612f52565b60405180910390f35b610390600480360381019061038b9190612f16565b61090b565b005b6103ac60048036038101906103a79190612f16565b61091f565b6040516103b99190612f8c565b60405180910390f35b6103dc60048036038101906103d79190612f16565b610973565b6040516103e99190612e3d565b60405180910390f35b6103fa6109bb565b005b61041660048036038101906104119190612f16565b6109cf565b6040516104239190612e3d565b60405180910390f35b610434610a1f565b60405161044797969594939291906130a0565b60405180910390f35b610458610b21565b6040516104659190612f52565b60405180910390f35b61048860048036038101906104839190613124565b610b4b565b6040516104959190612e3d565b60405180910390f35b6104a6610bb0565b6040516104b39190613172565b60405180910390f35b6104c4610bc0565b6040516104d19190612cfd565b60405180910390f35b6104f460048036038101906104ef9190612f16565b610c52565b6040516105019190612e3d565b60405180910390f35b610524600480360381019061051f9190612db8565b610d5a565b6040516105319190612e13565b60405180910390f35b610554600480360381019061054f9190612db8565b610dd1565b6040516105619190612e13565b60405180910390f35b610584600480360381019061057f91906131e5565b610df4565b005b6105a0600480360381019061059b9190613272565b610ef8565b005b6105bc60048036038101906105b79190613314565b61103a565b6040516105c99190612e3d565b60405180910390f35b6105ec60048036038101906105e79190613380565b6110c1565b6040516105f99190613435565b60405180910390f35b61061c60048036038101906106179190612f16565b6111d1565b005b60606003805461062d9061347f565b80601f01602080910402602001604051908101604052809291908181526020018280546106599061347f565b80156106a65780601f1061067b576101008083540402835291602001916106a6565b820191906000526020600020905b81548152906001019060200180831161068957829003601f168201915b5050505050905090565b6000806106bb6115f4565b90506106c88185856115fc565b600191505092915050565b6000600254905090565b6000806106e86115f4565b90506106f58582856117c5565b610700858585611851565b60019150509392505050565b60006012905090565b600061071f611ac7565b905090565b60008061072f6115f4565b9050610750818585610741858961103a565b61074b91906134df565b6115fc565b600191505092915050565b6000610765610bb0565b65ffffffffffff1682106107ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a59061355f565b60405180910390fd5b6107f6600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083611b7e565b905092915050565b610806611cc6565b6108108282611d44565b5050565b60604361081f610bb0565b65ffffffffffff1614610867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085e906135cb565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61091c6109166115f4565b82611d52565b50565b600061096c600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611506565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109c3611cc6565b6109cd6000611e6c565b565b6000610a18600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611f32565b9050919050565b600060608060008060006060610a5f60067f0000000000000000000000000000000000000000000000000000000000000000611f4090919063ffffffff16565b610a9360077f0000000000000000000000000000000000000000000000000000000000000000611f4090919063ffffffff16565b46306000801b600067ffffffffffffffff811115610ab457610ab36135eb565b5b604051908082528060200260200182016040528015610ae25781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610b55610bb0565b65ffffffffffff168210610b9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b959061355f565b60405180910390fd5b610ba9600c83611b7e565b9050919050565b6000610bbb43611584565b905090565b606060048054610bcf9061347f565b80601f0160208091040260200160405190810160405280929190818152602001828054610bfb9061347f565b8015610c485780601f10610c1d57610100808354040283529160200191610c48565b820191906000526020600020905b815481529060010190602001808311610c2b57829003601f168201915b5050505050905090565b600080600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060008114610d3157600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001820381548110610cf657610cf561361a565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610d34565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080610d656115f4565b90506000610d73828661103a565b905083811015610db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daf906136bb565b60405180910390fd5b610dc582868684036115fc565b60019250505092915050565b600080610ddc6115f4565b9050610de9818585611851565b600191505092915050565b83421115610e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2e90613727565b60405180910390fd5b6000610e99610e917fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610e769493929190613747565b60405160208183030381529060405280519060200120611ff0565b85858561200a565b9050610ea481612035565b8614610ee5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edc906137d8565b60405180910390fd5b610eef8188611d52565b50505050505050565b83421115610f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3290613844565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610f6a8c612035565b89604051602001610f8096959493929190613864565b6040516020818303038152906040528051906020012090506000610fa382611ff0565b90506000610fb38287878761200a565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101a90613911565b60405180910390fd5b61102e8a8a8a6115fc565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110c9612c2f565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff16815481106111205761111f61361a565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b6111d9611cc6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611248576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123f906139a3565b60405180910390fd5b61125181611e6c565b50565b60006020835110156112705761126983612093565b9050611292565b8261127a83611298565b60000190816112899190613b6f565b5060ff60001b90505b92915050565b6000819050919050565b6112ac828261132f565b6112b46120fb565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166112da6106d3565b111561131b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131290613cb3565b60405180910390fd5b611329600c6114858361211f565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361139e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139590613d1f565b60405180910390fd5b6113aa600083836123fa565b80600260008282546113bc91906134df565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161146d9190612e3d565b60405180910390a3611481600083836123ff565b5050565b6000818361149391906134df565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156114fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f590613db1565b60405180910390fd5b819050919050565b600063ffffffff8016821115611551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154890613e43565b60405180910390fd5b819050919050565b6115648383836115d9565b61157f611570846108a2565b611579846108a2565b8361240f565b505050565b600065ffffffffffff80168211156115d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c890613ed5565b60405180910390fd5b819050919050565b505050565b600081836115ec9190613ef5565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361166b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166290613f9b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d19061402d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117b89190612e3d565b60405180910390a3505050565b60006117d1848461103a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461184b578181101561183d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183490614099565b60405180910390fd5b61184a84848484036115fc565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b79061412b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361192f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611926906141bd565b60405180910390fd5b61193a8383836123fa565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156119c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b79061424f565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611aae9190612e3d565b60405180910390a3611ac18484846123ff565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611b4357507f000000000000000000000000000000000000000000000000000000000000000046145b15611b70577f00000000000000000000000000000000000000000000000000000000000000009050611b7b565b611b78612608565b90505b90565b600080838054905090506000808290506005831115611bf4576000611ba28461269e565b84611bad9190613ef5565b905085611bba8883612797565b60000160009054906101000a900463ffffffff1663ffffffff161115611be257809150611bf2565b600181611bef91906134df565b92505b505b5b80821015611c54576000611c0983836127ac565b905085611c168883612797565b60000160009054906101000a900463ffffffff1663ffffffff161115611c3e57809150611c4e565b600181611c4b91906134df565b92505b50611bf5565b60008114611c9a57611c698660018303612797565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611c9d565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b611cce6115f4565b73ffffffffffffffffffffffffffffffffffffffff16611cec610b21565b73ffffffffffffffffffffffffffffffffffffffff1614611d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d39906142bb565b60405180910390fd5b565b611d4e82826112a2565b5050565b6000611d5d836108a2565b90506000611d6a84610973565b905082600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4611e6682848361240f565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b606060ff60001b8314611f5d57611f56836127d2565b9050611fea565b818054611f699061347f565b80601f0160208091040260200160405190810160405280929190818152602001828054611f959061347f565b8015611fe25780601f10611fb757610100808354040283529160200191611fe2565b820191906000526020600020905b815481529060010190602001808311611fc557829003601f168201915b505050505090505b92915050565b6000612003611ffd611ac7565b83612846565b9050919050565b600080600061201b87878787612887565b9150915061202881612969565b8192505050949350505050565b600080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061208281611f32565b915061208d81612acf565b50919050565b600080829050601f815111156120e057826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016120d79190612cfd565b60405180910390fd5b8051816120ec9061430b565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b60008060008580549050905060008082146121e5576121418760018403612797565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050612221565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061225684868863ffffffff16565b9250600082118015612280575061226b610bb0565b65ffffffffffff16816000015163ffffffff16145b156122f15761228e8361149b565b61229b8860018503612797565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506123f0565b866040518060400160405280612315612308610bb0565b65ffffffffffff16611506565b63ffffffff1681526020016123298661149b565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b505050565b61240a838383611559565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561244b5750600081115b1561260357600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612529576000806124d2600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206115de8561211f565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161251e929190614372565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612602576000806125ab600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206114858561211f565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516125f7929190614372565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000463060405160200161268395949392919061439b565b60405160208183030381529060405280519060200120905090565b60008082036126b05760009050612792565b600060016126bd84612ae5565b901c6001901b905060018184816126d7576126d66143ee565b5b048201901c905060018184816126f0576126ef6143ee565b5b048201901c90506001818481612709576127086143ee565b5b048201901c90506001818481612722576127216143ee565b5b048201901c9050600181848161273b5761273a6143ee565b5b048201901c90506001818481612754576127536143ee565b5b048201901c9050600181848161276d5761276c6143ee565b5b048201901c905061278e81828581612788576127876143ee565b5b04612bc6565b9150505b919050565b60008260005281602060002001905092915050565b600060028284186127bd919061441d565b8284166127ca91906134df565b905092915050565b606060006127df83612bdf565b90506000602067ffffffffffffffff8111156127fe576127fd6135eb565b5b6040519080825280601f01601f1916602001820160405280156128305781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156128c2576000600391509150612960565b6000600187878787604051600081526020016040526040516128e7949392919061444e565b6020604051602081039080840390855afa158015612909573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361295757600060019250925050612960565b80600092509250505b94509492505050565b6000600481111561297d5761297c614493565b5b8160048111156129905761298f614493565b5b0315612acc57600160048111156129aa576129a9614493565b5b8160048111156129bd576129bc614493565b5b036129fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129f49061450e565b60405180910390fd5b60026004811115612a1157612a10614493565b5b816004811115612a2457612a23614493565b5b03612a64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5b9061457a565b60405180910390fd5b60036004811115612a7857612a77614493565b5b816004811115612a8b57612a8a614493565b5b03612acb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac29061460c565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b600080600090506000608084901c1115612b0757608083901c92506080810190505b6000604084901c1115612b2257604083901c92506040810190505b6000602084901c1115612b3d57602083901c92506020810190505b6000601084901c1115612b5857601083901c92506010810190505b6000600884901c1115612b7357600883901c92506008810190505b6000600484901c1115612b8e57600483901c92506004810190505b6000600284901c1115612ba957600283901c92506002810190505b6000600184901c1115612bbd576001810190505b80915050919050565b6000818310612bd55781612bd7565b825b905092915050565b60008060ff8360001c169050601f811115612c26576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ca7578082015181840152602081019050612c8c565b60008484015250505050565b6000601f19601f8301169050919050565b6000612ccf82612c6d565b612cd98185612c78565b9350612ce9818560208601612c89565b612cf281612cb3565b840191505092915050565b60006020820190508181036000830152612d178184612cc4565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d4f82612d24565b9050919050565b612d5f81612d44565b8114612d6a57600080fd5b50565b600081359050612d7c81612d56565b92915050565b6000819050919050565b612d9581612d82565b8114612da057600080fd5b50565b600081359050612db281612d8c565b92915050565b60008060408385031215612dcf57612dce612d1f565b5b6000612ddd85828601612d6d565b9250506020612dee85828601612da3565b9150509250929050565b60008115159050919050565b612e0d81612df8565b82525050565b6000602082019050612e286000830184612e04565b92915050565b612e3781612d82565b82525050565b6000602082019050612e526000830184612e2e565b92915050565b600080600060608486031215612e7157612e70612d1f565b5b6000612e7f86828701612d6d565b9350506020612e9086828701612d6d565b9250506040612ea186828701612da3565b9150509250925092565b600060ff82169050919050565b612ec181612eab565b82525050565b6000602082019050612edc6000830184612eb8565b92915050565b6000819050919050565b612ef581612ee2565b82525050565b6000602082019050612f106000830184612eec565b92915050565b600060208284031215612f2c57612f2b612d1f565b5b6000612f3a84828501612d6d565b91505092915050565b612f4c81612d44565b82525050565b6000602082019050612f676000830184612f43565b92915050565b600063ffffffff82169050919050565b612f8681612f6d565b82525050565b6000602082019050612fa16000830184612f7d565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b612fdc81612fa7565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61301781612d82565b82525050565b6000613029838361300e565b60208301905092915050565b6000602082019050919050565b600061304d82612fe2565b6130578185612fed565b935061306283612ffe565b8060005b8381101561309357815161307a888261301d565b975061308583613035565b925050600181019050613066565b5085935050505092915050565b600060e0820190506130b5600083018a612fd3565b81810360208301526130c78189612cc4565b905081810360408301526130db8188612cc4565b90506130ea6060830187612e2e565b6130f76080830186612f43565b61310460a0830185612eec565b81810360c08301526131168184613042565b905098975050505050505050565b60006020828403121561313a57613139612d1f565b5b600061314884828501612da3565b91505092915050565b600065ffffffffffff82169050919050565b61316c81613151565b82525050565b60006020820190506131876000830184613163565b92915050565b61319681612eab565b81146131a157600080fd5b50565b6000813590506131b38161318d565b92915050565b6131c281612ee2565b81146131cd57600080fd5b50565b6000813590506131df816131b9565b92915050565b60008060008060008060c0878903121561320257613201612d1f565b5b600061321089828a01612d6d565b965050602061322189828a01612da3565b955050604061323289828a01612da3565b945050606061324389828a016131a4565b935050608061325489828a016131d0565b92505060a061326589828a016131d0565b9150509295509295509295565b600080600080600080600060e0888a03121561329157613290612d1f565b5b600061329f8a828b01612d6d565b97505060206132b08a828b01612d6d565b96505060406132c18a828b01612da3565b95505060606132d28a828b01612da3565b94505060806132e38a828b016131a4565b93505060a06132f48a828b016131d0565b92505060c06133058a828b016131d0565b91505092959891949750929550565b6000806040838503121561332b5761332a612d1f565b5b600061333985828601612d6d565b925050602061334a85828601612d6d565b9150509250929050565b61335d81612f6d565b811461336857600080fd5b50565b60008135905061337a81613354565b92915050565b6000806040838503121561339757613396612d1f565b5b60006133a585828601612d6d565b92505060206133b68582860161336b565b9150509250929050565b6133c981612f6d565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b613400816133cf565b82525050565b60408201600082015161341c60008501826133c0565b50602082015161342f60208501826133f7565b50505050565b600060408201905061344a6000830184613406565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061349757607f821691505b6020821081036134aa576134a9613450565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134ea82612d82565b91506134f583612d82565b925082820190508082111561350d5761350c6134b0565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b6000613549601983612c78565b915061355482613513565b602082019050919050565b600060208201905081810360008301526135788161353c565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b60006135b5601d83612c78565b91506135c08261357f565b602082019050919050565b600060208201905081810360008301526135e4816135a8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006136a5602583612c78565b91506136b082613649565b604082019050919050565b600060208201905081810360008301526136d481613698565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000613711601d83612c78565b915061371c826136db565b602082019050919050565b6000602082019050818103600083015261374081613704565b9050919050565b600060808201905061375c6000830187612eec565b6137696020830186612f43565b6137766040830185612e2e565b6137836060830184612e2e565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b60006137c2601983612c78565b91506137cd8261378c565b602082019050919050565b600060208201905081810360008301526137f1816137b5565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b600061382e601d83612c78565b9150613839826137f8565b602082019050919050565b6000602082019050818103600083015261385d81613821565b9050919050565b600060c0820190506138796000830189612eec565b6138866020830188612f43565b6138936040830187612f43565b6138a06060830186612e2e565b6138ad6080830185612e2e565b6138ba60a0830184612e2e565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b60006138fb601e83612c78565b9150613906826138c5565b602082019050919050565b6000602082019050818103600083015261392a816138ee565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061398d602683612c78565b915061399882613931565b604082019050919050565b600060208201905081810360008301526139bc81613980565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613a257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826139e8565b613a2f86836139e8565b95508019841693508086168417925050509392505050565b6000819050919050565b6000613a6c613a67613a6284612d82565b613a47565b612d82565b9050919050565b6000819050919050565b613a8683613a51565b613a9a613a9282613a73565b8484546139f5565b825550505050565b600090565b613aaf613aa2565b613aba818484613a7d565b505050565b5b81811015613ade57613ad3600082613aa7565b600181019050613ac0565b5050565b601f821115613b2357613af4816139c3565b613afd846139d8565b81016020851015613b0c578190505b613b20613b18856139d8565b830182613abf565b50505b505050565b600082821c905092915050565b6000613b4660001984600802613b28565b1980831691505092915050565b6000613b5f8383613b35565b9150826002028217905092915050565b613b7882612c6d565b67ffffffffffffffff811115613b9157613b906135eb565b5b613b9b825461347f565b613ba6828285613ae2565b600060209050601f831160018114613bd95760008415613bc7578287015190505b613bd18582613b53565b865550613c39565b601f198416613be7866139c3565b60005b82811015613c0f57848901518255600182019150602085019450602081019050613bea565b86831015613c2c5784890151613c28601f891682613b35565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000613c9d603083612c78565b9150613ca882613c41565b604082019050919050565b60006020820190508181036000830152613ccc81613c90565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613d09601f83612c78565b9150613d1482613cd3565b602082019050919050565b60006020820190508181036000830152613d3881613cfc565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000613d9b602783612c78565b9150613da682613d3f565b604082019050919050565b60006020820190508181036000830152613dca81613d8e565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000613e2d602683612c78565b9150613e3882613dd1565b604082019050919050565b60006020820190508181036000830152613e5c81613e20565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000613ebf602683612c78565b9150613eca82613e63565b604082019050919050565b60006020820190508181036000830152613eee81613eb2565b9050919050565b6000613f0082612d82565b9150613f0b83612d82565b9250828203905081811115613f2357613f226134b0565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613f85602483612c78565b9150613f9082613f29565b604082019050919050565b60006020820190508181036000830152613fb481613f78565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614017602283612c78565b915061402282613fbb565b604082019050919050565b600060208201905081810360008301526140468161400a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614083601d83612c78565b915061408e8261404d565b602082019050919050565b600060208201905081810360008301526140b281614076565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614115602583612c78565b9150614120826140b9565b604082019050919050565b6000602082019050818103600083015261414481614108565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006141a7602383612c78565b91506141b28261414b565b604082019050919050565b600060208201905081810360008301526141d68161419a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614239602683612c78565b9150614244826141dd565b604082019050919050565b600060208201905081810360008301526142688161422c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006142a5602083612c78565b91506142b08261426f565b602082019050919050565b600060208201905081810360008301526142d481614298565b9050919050565b600081519050919050565b6000819050602082019050919050565b60006143028251612ee2565b80915050919050565b6000614316826142db565b82614320846142e6565b905061432b816142f6565b9250602082101561436b576143667fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026139e8565b831692505b5050919050565b60006040820190506143876000830185612e2e565b6143946020830184612e2e565b9392505050565b600060a0820190506143b06000830188612eec565b6143bd6020830187612eec565b6143ca6040830186612eec565b6143d76060830185612e2e565b6143e46080830184612f43565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061442882612d82565b915061443383612d82565b925082614443576144426143ee565b5b828204905092915050565b60006080820190506144636000830187612eec565b6144706020830186612eb8565b61447d6040830185612eec565b61448a6060830184612eec565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006144f8601883612c78565b9150614503826144c2565b602082019050919050565b60006020820190508181036000830152614527816144eb565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000614564601f83612c78565b915061456f8261452e565b602082019050919050565b6000602082019050818103600083015261459381614557565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006145f6602283612c78565b91506146018261459a565b604082019050919050565b60006020820190508181036000830152614625816145e9565b905091905056fea2646970667358221220500ecb9556a287ea5a732fb7bebf2c71be7a2a430eed77ffabb2d7fed3d561f064736f6c63430008120033

Deployed bytecode

0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a6116101045780639ab24eb0116100a2578063d505accf11610071578063d505accf14610586578063dd62ed3e146105a2578063f1127ed8146105d2578063f2fde38b14610602576101cf565b80639ab24eb0146104da578063a457c2d71461050a578063a9059cbb1461053a578063c3cda5201461056a576101cf565b80638da5cb5b116100de5780638da5cb5b146104505780638e539e8c1461046e57806391ddadf41461049e57806395d89b41146104bc576101cf565b8063715018a6146103f25780637ecebe00146103fc57806384b0196e1461042c576101cf565b80633a46b1a811610171578063587cde1e1161014b578063587cde1e146103465780635c19a95c146103765780636fcfff451461039257806370a08231146103c2576101cf565b80633a46b1a8146102dc57806340c10f191461030c5780634bf5d7e914610328576101cf565b806323b872dd116101ad57806323b872dd14610240578063313ce567146102705780633644e5151461028e57806339509351146102ac576101cf565b806306fdde03146101d4578063095ea7b3146101f257806318160ddd14610222575b600080fd5b6101dc61061e565b6040516101e99190612cfd565b60405180910390f35b61020c60048036038101906102079190612db8565b6106b0565b6040516102199190612e13565b60405180910390f35b61022a6106d3565b6040516102379190612e3d565b60405180910390f35b61025a60048036038101906102559190612e58565b6106dd565b6040516102679190612e13565b60405180910390f35b61027861070c565b6040516102859190612ec7565b60405180910390f35b610296610715565b6040516102a39190612efb565b60405180910390f35b6102c660048036038101906102c19190612db8565b610724565b6040516102d39190612e13565b60405180910390f35b6102f660048036038101906102f19190612db8565b61075b565b6040516103039190612e3d565b60405180910390f35b61032660048036038101906103219190612db8565b6107fe565b005b610330610814565b60405161033d9190612cfd565b60405180910390f35b610360600480360381019061035b9190612f16565b6108a2565b60405161036d9190612f52565b60405180910390f35b610390600480360381019061038b9190612f16565b61090b565b005b6103ac60048036038101906103a79190612f16565b61091f565b6040516103b99190612f8c565b60405180910390f35b6103dc60048036038101906103d79190612f16565b610973565b6040516103e99190612e3d565b60405180910390f35b6103fa6109bb565b005b61041660048036038101906104119190612f16565b6109cf565b6040516104239190612e3d565b60405180910390f35b610434610a1f565b60405161044797969594939291906130a0565b60405180910390f35b610458610b21565b6040516104659190612f52565b60405180910390f35b61048860048036038101906104839190613124565b610b4b565b6040516104959190612e3d565b60405180910390f35b6104a6610bb0565b6040516104b39190613172565b60405180910390f35b6104c4610bc0565b6040516104d19190612cfd565b60405180910390f35b6104f460048036038101906104ef9190612f16565b610c52565b6040516105019190612e3d565b60405180910390f35b610524600480360381019061051f9190612db8565b610d5a565b6040516105319190612e13565b60405180910390f35b610554600480360381019061054f9190612db8565b610dd1565b6040516105619190612e13565b60405180910390f35b610584600480360381019061057f91906131e5565b610df4565b005b6105a0600480360381019061059b9190613272565b610ef8565b005b6105bc60048036038101906105b79190613314565b61103a565b6040516105c99190612e3d565b60405180910390f35b6105ec60048036038101906105e79190613380565b6110c1565b6040516105f99190613435565b60405180910390f35b61061c60048036038101906106179190612f16565b6111d1565b005b60606003805461062d9061347f565b80601f01602080910402602001604051908101604052809291908181526020018280546106599061347f565b80156106a65780601f1061067b576101008083540402835291602001916106a6565b820191906000526020600020905b81548152906001019060200180831161068957829003601f168201915b5050505050905090565b6000806106bb6115f4565b90506106c88185856115fc565b600191505092915050565b6000600254905090565b6000806106e86115f4565b90506106f58582856117c5565b610700858585611851565b60019150509392505050565b60006012905090565b600061071f611ac7565b905090565b60008061072f6115f4565b9050610750818585610741858961103a565b61074b91906134df565b6115fc565b600191505092915050565b6000610765610bb0565b65ffffffffffff1682106107ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a59061355f565b60405180910390fd5b6107f6600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083611b7e565b905092915050565b610806611cc6565b6108108282611d44565b5050565b60604361081f610bb0565b65ffffffffffff1614610867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085e906135cb565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61091c6109166115f4565b82611d52565b50565b600061096c600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611506565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109c3611cc6565b6109cd6000611e6c565b565b6000610a18600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611f32565b9050919050565b600060608060008060006060610a5f60067f476f6f646c75636b000000000000000000000000000000000000000000000008611f4090919063ffffffff16565b610a9360077f3100000000000000000000000000000000000000000000000000000000000001611f4090919063ffffffff16565b46306000801b600067ffffffffffffffff811115610ab457610ab36135eb565b5b604051908082528060200260200182016040528015610ae25781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610b55610bb0565b65ffffffffffff168210610b9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b959061355f565b60405180910390fd5b610ba9600c83611b7e565b9050919050565b6000610bbb43611584565b905090565b606060048054610bcf9061347f565b80601f0160208091040260200160405190810160405280929190818152602001828054610bfb9061347f565b8015610c485780601f10610c1d57610100808354040283529160200191610c48565b820191906000526020600020905b815481529060010190602001808311610c2b57829003601f168201915b5050505050905090565b600080600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060008114610d3157600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001820381548110610cf657610cf561361a565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610d34565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080610d656115f4565b90506000610d73828661103a565b905083811015610db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daf906136bb565b60405180910390fd5b610dc582868684036115fc565b60019250505092915050565b600080610ddc6115f4565b9050610de9818585611851565b600191505092915050565b83421115610e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2e90613727565b60405180910390fd5b6000610e99610e917fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610e769493929190613747565b60405160208183030381529060405280519060200120611ff0565b85858561200a565b9050610ea481612035565b8614610ee5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edc906137d8565b60405180910390fd5b610eef8188611d52565b50505050505050565b83421115610f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3290613844565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610f6a8c612035565b89604051602001610f8096959493929190613864565b6040516020818303038152906040528051906020012090506000610fa382611ff0565b90506000610fb38287878761200a565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101a90613911565b60405180910390fd5b61102e8a8a8a6115fc565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110c9612c2f565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff16815481106111205761111f61361a565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b6111d9611cc6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611248576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123f906139a3565b60405180910390fd5b61125181611e6c565b50565b60006020835110156112705761126983612093565b9050611292565b8261127a83611298565b60000190816112899190613b6f565b5060ff60001b90505b92915050565b6000819050919050565b6112ac828261132f565b6112b46120fb565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166112da6106d3565b111561131b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131290613cb3565b60405180910390fd5b611329600c6114858361211f565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361139e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139590613d1f565b60405180910390fd5b6113aa600083836123fa565b80600260008282546113bc91906134df565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161146d9190612e3d565b60405180910390a3611481600083836123ff565b5050565b6000818361149391906134df565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156114fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f590613db1565b60405180910390fd5b819050919050565b600063ffffffff8016821115611551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154890613e43565b60405180910390fd5b819050919050565b6115648383836115d9565b61157f611570846108a2565b611579846108a2565b8361240f565b505050565b600065ffffffffffff80168211156115d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c890613ed5565b60405180910390fd5b819050919050565b505050565b600081836115ec9190613ef5565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361166b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166290613f9b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d19061402d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117b89190612e3d565b60405180910390a3505050565b60006117d1848461103a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461184b578181101561183d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183490614099565b60405180910390fd5b61184a84848484036115fc565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b79061412b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361192f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611926906141bd565b60405180910390fd5b61193a8383836123fa565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156119c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b79061424f565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611aae9190612e3d565b60405180910390a3611ac18484846123ff565b50505050565b60007f0000000000000000000000000ef40c39e8e3c3b7bf5520b9683ef1e0f75a549473ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611b4357507f0000000000000000000000000000000000000000000000000000000000000a4146145b15611b70577ff6ca14cdcd39155fac263c7f53d00a077efb85213538ec66c4da93f1efa1e9169050611b7b565b611b78612608565b90505b90565b600080838054905090506000808290506005831115611bf4576000611ba28461269e565b84611bad9190613ef5565b905085611bba8883612797565b60000160009054906101000a900463ffffffff1663ffffffff161115611be257809150611bf2565b600181611bef91906134df565b92505b505b5b80821015611c54576000611c0983836127ac565b905085611c168883612797565b60000160009054906101000a900463ffffffff1663ffffffff161115611c3e57809150611c4e565b600181611c4b91906134df565b92505b50611bf5565b60008114611c9a57611c698660018303612797565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611c9d565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b611cce6115f4565b73ffffffffffffffffffffffffffffffffffffffff16611cec610b21565b73ffffffffffffffffffffffffffffffffffffffff1614611d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d39906142bb565b60405180910390fd5b565b611d4e82826112a2565b5050565b6000611d5d836108a2565b90506000611d6a84610973565b905082600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4611e6682848361240f565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b606060ff60001b8314611f5d57611f56836127d2565b9050611fea565b818054611f699061347f565b80601f0160208091040260200160405190810160405280929190818152602001828054611f959061347f565b8015611fe25780601f10611fb757610100808354040283529160200191611fe2565b820191906000526020600020905b815481529060010190602001808311611fc557829003601f168201915b505050505090505b92915050565b6000612003611ffd611ac7565b83612846565b9050919050565b600080600061201b87878787612887565b9150915061202881612969565b8192505050949350505050565b600080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061208281611f32565b915061208d81612acf565b50919050565b600080829050601f815111156120e057826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016120d79190612cfd565b60405180910390fd5b8051816120ec9061430b565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b60008060008580549050905060008082146121e5576121418760018403612797565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050612221565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061225684868863ffffffff16565b9250600082118015612280575061226b610bb0565b65ffffffffffff16816000015163ffffffff16145b156122f15761228e8361149b565b61229b8860018503612797565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506123f0565b866040518060400160405280612315612308610bb0565b65ffffffffffff16611506565b63ffffffff1681526020016123298661149b565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b505050565b61240a838383611559565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561244b5750600081115b1561260357600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612529576000806124d2600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206115de8561211f565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161251e929190614372565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612602576000806125ab600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206114858561211f565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516125f7929190614372565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f29f3724ef4f81a84ad03e8cf0082fa9e8235d63d025fe850c1b70708fdf80ff57fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6463060405160200161268395949392919061439b565b60405160208183030381529060405280519060200120905090565b60008082036126b05760009050612792565b600060016126bd84612ae5565b901c6001901b905060018184816126d7576126d66143ee565b5b048201901c905060018184816126f0576126ef6143ee565b5b048201901c90506001818481612709576127086143ee565b5b048201901c90506001818481612722576127216143ee565b5b048201901c9050600181848161273b5761273a6143ee565b5b048201901c90506001818481612754576127536143ee565b5b048201901c9050600181848161276d5761276c6143ee565b5b048201901c905061278e81828581612788576127876143ee565b5b04612bc6565b9150505b919050565b60008260005281602060002001905092915050565b600060028284186127bd919061441d565b8284166127ca91906134df565b905092915050565b606060006127df83612bdf565b90506000602067ffffffffffffffff8111156127fe576127fd6135eb565b5b6040519080825280601f01601f1916602001820160405280156128305781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156128c2576000600391509150612960565b6000600187878787604051600081526020016040526040516128e7949392919061444e565b6020604051602081039080840390855afa158015612909573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361295757600060019250925050612960565b80600092509250505b94509492505050565b6000600481111561297d5761297c614493565b5b8160048111156129905761298f614493565b5b0315612acc57600160048111156129aa576129a9614493565b5b8160048111156129bd576129bc614493565b5b036129fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129f49061450e565b60405180910390fd5b60026004811115612a1157612a10614493565b5b816004811115612a2457612a23614493565b5b03612a64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5b9061457a565b60405180910390fd5b60036004811115612a7857612a77614493565b5b816004811115612a8b57612a8a614493565b5b03612acb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac29061460c565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b600080600090506000608084901c1115612b0757608083901c92506080810190505b6000604084901c1115612b2257604083901c92506040810190505b6000602084901c1115612b3d57602083901c92506020810190505b6000601084901c1115612b5857601083901c92506010810190505b6000600884901c1115612b7357600883901c92506008810190505b6000600484901c1115612b8e57600483901c92506004810190505b6000600284901c1115612ba957600283901c92506002810190505b6000600184901c1115612bbd576001810190505b80915050919050565b6000818310612bd55781612bd7565b825b905092915050565b60008060ff8360001c169050601f811115612c26576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ca7578082015181840152602081019050612c8c565b60008484015250505050565b6000601f19601f8301169050919050565b6000612ccf82612c6d565b612cd98185612c78565b9350612ce9818560208601612c89565b612cf281612cb3565b840191505092915050565b60006020820190508181036000830152612d178184612cc4565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d4f82612d24565b9050919050565b612d5f81612d44565b8114612d6a57600080fd5b50565b600081359050612d7c81612d56565b92915050565b6000819050919050565b612d9581612d82565b8114612da057600080fd5b50565b600081359050612db281612d8c565b92915050565b60008060408385031215612dcf57612dce612d1f565b5b6000612ddd85828601612d6d565b9250506020612dee85828601612da3565b9150509250929050565b60008115159050919050565b612e0d81612df8565b82525050565b6000602082019050612e286000830184612e04565b92915050565b612e3781612d82565b82525050565b6000602082019050612e526000830184612e2e565b92915050565b600080600060608486031215612e7157612e70612d1f565b5b6000612e7f86828701612d6d565b9350506020612e9086828701612d6d565b9250506040612ea186828701612da3565b9150509250925092565b600060ff82169050919050565b612ec181612eab565b82525050565b6000602082019050612edc6000830184612eb8565b92915050565b6000819050919050565b612ef581612ee2565b82525050565b6000602082019050612f106000830184612eec565b92915050565b600060208284031215612f2c57612f2b612d1f565b5b6000612f3a84828501612d6d565b91505092915050565b612f4c81612d44565b82525050565b6000602082019050612f676000830184612f43565b92915050565b600063ffffffff82169050919050565b612f8681612f6d565b82525050565b6000602082019050612fa16000830184612f7d565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b612fdc81612fa7565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61301781612d82565b82525050565b6000613029838361300e565b60208301905092915050565b6000602082019050919050565b600061304d82612fe2565b6130578185612fed565b935061306283612ffe565b8060005b8381101561309357815161307a888261301d565b975061308583613035565b925050600181019050613066565b5085935050505092915050565b600060e0820190506130b5600083018a612fd3565b81810360208301526130c78189612cc4565b905081810360408301526130db8188612cc4565b90506130ea6060830187612e2e565b6130f76080830186612f43565b61310460a0830185612eec565b81810360c08301526131168184613042565b905098975050505050505050565b60006020828403121561313a57613139612d1f565b5b600061314884828501612da3565b91505092915050565b600065ffffffffffff82169050919050565b61316c81613151565b82525050565b60006020820190506131876000830184613163565b92915050565b61319681612eab565b81146131a157600080fd5b50565b6000813590506131b38161318d565b92915050565b6131c281612ee2565b81146131cd57600080fd5b50565b6000813590506131df816131b9565b92915050565b60008060008060008060c0878903121561320257613201612d1f565b5b600061321089828a01612d6d565b965050602061322189828a01612da3565b955050604061323289828a01612da3565b945050606061324389828a016131a4565b935050608061325489828a016131d0565b92505060a061326589828a016131d0565b9150509295509295509295565b600080600080600080600060e0888a03121561329157613290612d1f565b5b600061329f8a828b01612d6d565b97505060206132b08a828b01612d6d565b96505060406132c18a828b01612da3565b95505060606132d28a828b01612da3565b94505060806132e38a828b016131a4565b93505060a06132f48a828b016131d0565b92505060c06133058a828b016131d0565b91505092959891949750929550565b6000806040838503121561332b5761332a612d1f565b5b600061333985828601612d6d565b925050602061334a85828601612d6d565b9150509250929050565b61335d81612f6d565b811461336857600080fd5b50565b60008135905061337a81613354565b92915050565b6000806040838503121561339757613396612d1f565b5b60006133a585828601612d6d565b92505060206133b68582860161336b565b9150509250929050565b6133c981612f6d565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b613400816133cf565b82525050565b60408201600082015161341c60008501826133c0565b50602082015161342f60208501826133f7565b50505050565b600060408201905061344a6000830184613406565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061349757607f821691505b6020821081036134aa576134a9613450565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134ea82612d82565b91506134f583612d82565b925082820190508082111561350d5761350c6134b0565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b6000613549601983612c78565b915061355482613513565b602082019050919050565b600060208201905081810360008301526135788161353c565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b60006135b5601d83612c78565b91506135c08261357f565b602082019050919050565b600060208201905081810360008301526135e4816135a8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006136a5602583612c78565b91506136b082613649565b604082019050919050565b600060208201905081810360008301526136d481613698565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000613711601d83612c78565b915061371c826136db565b602082019050919050565b6000602082019050818103600083015261374081613704565b9050919050565b600060808201905061375c6000830187612eec565b6137696020830186612f43565b6137766040830185612e2e565b6137836060830184612e2e565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b60006137c2601983612c78565b91506137cd8261378c565b602082019050919050565b600060208201905081810360008301526137f1816137b5565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b600061382e601d83612c78565b9150613839826137f8565b602082019050919050565b6000602082019050818103600083015261385d81613821565b9050919050565b600060c0820190506138796000830189612eec565b6138866020830188612f43565b6138936040830187612f43565b6138a06060830186612e2e565b6138ad6080830185612e2e565b6138ba60a0830184612e2e565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b60006138fb601e83612c78565b9150613906826138c5565b602082019050919050565b6000602082019050818103600083015261392a816138ee565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061398d602683612c78565b915061399882613931565b604082019050919050565b600060208201905081810360008301526139bc81613980565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613a257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826139e8565b613a2f86836139e8565b95508019841693508086168417925050509392505050565b6000819050919050565b6000613a6c613a67613a6284612d82565b613a47565b612d82565b9050919050565b6000819050919050565b613a8683613a51565b613a9a613a9282613a73565b8484546139f5565b825550505050565b600090565b613aaf613aa2565b613aba818484613a7d565b505050565b5b81811015613ade57613ad3600082613aa7565b600181019050613ac0565b5050565b601f821115613b2357613af4816139c3565b613afd846139d8565b81016020851015613b0c578190505b613b20613b18856139d8565b830182613abf565b50505b505050565b600082821c905092915050565b6000613b4660001984600802613b28565b1980831691505092915050565b6000613b5f8383613b35565b9150826002028217905092915050565b613b7882612c6d565b67ffffffffffffffff811115613b9157613b906135eb565b5b613b9b825461347f565b613ba6828285613ae2565b600060209050601f831160018114613bd95760008415613bc7578287015190505b613bd18582613b53565b865550613c39565b601f198416613be7866139c3565b60005b82811015613c0f57848901518255600182019150602085019450602081019050613bea565b86831015613c2c5784890151613c28601f891682613b35565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000613c9d603083612c78565b9150613ca882613c41565b604082019050919050565b60006020820190508181036000830152613ccc81613c90565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613d09601f83612c78565b9150613d1482613cd3565b602082019050919050565b60006020820190508181036000830152613d3881613cfc565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000613d9b602783612c78565b9150613da682613d3f565b604082019050919050565b60006020820190508181036000830152613dca81613d8e565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000613e2d602683612c78565b9150613e3882613dd1565b604082019050919050565b60006020820190508181036000830152613e5c81613e20565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000613ebf602683612c78565b9150613eca82613e63565b604082019050919050565b60006020820190508181036000830152613eee81613eb2565b9050919050565b6000613f0082612d82565b9150613f0b83612d82565b9250828203905081811115613f2357613f226134b0565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613f85602483612c78565b9150613f9082613f29565b604082019050919050565b60006020820190508181036000830152613fb481613f78565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614017602283612c78565b915061402282613fbb565b604082019050919050565b600060208201905081810360008301526140468161400a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614083601d83612c78565b915061408e8261404d565b602082019050919050565b600060208201905081810360008301526140b281614076565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614115602583612c78565b9150614120826140b9565b604082019050919050565b6000602082019050818103600083015261414481614108565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006141a7602383612c78565b91506141b28261414b565b604082019050919050565b600060208201905081810360008301526141d68161419a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614239602683612c78565b9150614244826141dd565b604082019050919050565b600060208201905081810360008301526142688161422c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006142a5602083612c78565b91506142b08261426f565b602082019050919050565b600060208201905081810360008301526142d481614298565b9050919050565b600081519050919050565b6000819050602082019050919050565b60006143028251612ee2565b80915050919050565b6000614316826142db565b82614320846142e6565b905061432b816142f6565b9250602082101561436b576143667fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026139e8565b831692505b5050919050565b60006040820190506143876000830185612e2e565b6143946020830184612e2e565b9392505050565b600060a0820190506143b06000830188612eec565b6143bd6020830187612eec565b6143ca6040830186612eec565b6143d76060830185612e2e565b6143e46080830184612f43565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061442882612d82565b915061443383612d82565b925082614443576144426143ee565b5b828204905092915050565b60006080820190506144636000830187612eec565b6144706020830186612eb8565b61447d6040830185612eec565b61448a6060830184612eec565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006144f8601883612c78565b9150614503826144c2565b602082019050919050565b60006020820190508181036000830152614527816144eb565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000614564601f83612c78565b915061456f8261452e565b602082019050919050565b6000602082019050818103600083015261459381614557565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006145f6602283612c78565b91506146018261459a565b604082019050919050565b60006020820190508181036000830152614625816145e9565b905091905056fea2646970667358221220500ecb9556a287ea5a732fb7bebf2c71be7a2a430eed77ffabb2d7fed3d561f064736f6c63430008120033