0x60806040526040518060400160405280600a81526020017f5375727265616c69736d000000000000000000000000000000000000000000008152505f908162000049919062000466565b506040518060400160405280600281526020017f53520000000000000000000000000000000000000000000000000000000000008152506001908162000090919062000466565b506004600255600160035f6101000a81548160ff021916908315150217905550348015620000bc575f80fd5b503360045f8081526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360045f600181526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360045f600281526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360045f600381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200054a565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027e57607f821691505b60208210810362000294576200029362000239565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002f87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002bb565b620003048683620002bb565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200034e6200034862000342846200031c565b62000325565b6200031c565b9050919050565b5f819050919050565b62000369836200032e565b62000381620003788262000355565b848454620002c7565b825550505050565b5f90565b6200039762000389565b620003a48184846200035e565b505050565b5b81811015620003cb57620003bf5f826200038d565b600181019050620003aa565b5050565b601f8211156200041a57620003e4816200029a565b620003ef84620002ac565b81016020851015620003ff578190505b620004176200040e85620002ac565b830182620003a9565b50505b505050565b5f82821c905092915050565b5f6200043c5f19846008026200041f565b1980831691505092915050565b5f6200045683836200042b565b9150826002028217905092915050565b620004718262000202565b67ffffffffffffffff8111156200048d576200048c6200020c565b5b62000499825462000266565b620004a6828285620003cf565b5f60209050601f831160018114620004dc575f8415620004c7578287015190505b620004d3858262000449565b86555062000542565b601f198416620004ec866200029a565b5f5b828110156200051557848901518255600182019150602085019450602081019050620004ee565b8683101562000535578489015162000531601f8916826200042b565b8355505b6001600288020188555050505b505050505050565b610c3a80620005585f395ff3fe608060405234801561000f575f80fd5b506004361061007b575f3560e01c806387491c601161005957806387491c60146100eb57806395d89b41146100f557806396532d1c14610113578063d8b66ae1146101315761007b565b806306fdde031461007f57806318160ddd1461009d5780636352211e146100bb575b5f80fd5b61008761014d565b604051610094919061063c565b60405180910390f35b6100a56101d8565b6040516100b29190610674565b60405180910390f35b6100d560048036038101906100d091906106bf565b6101de565b6040516100e29190610729565b60405180910390f35b6100f361020e565b005b6100fd610277565b60405161010a919061063c565b60405180910390f35b61011b610303565b604051610128919061075c565b60405180910390f35b61014b6004803603810190610146919061082b565b610315565b005b5f8054610159906108d6565b80601f0160208091040260200160405190810160405280929190818152602001828054610185906108d6565b80156101d05780601f106101a7576101008083540402835291602001916101d0565b820191905f5260205f20905b8154815290600101906020018083116101b357829003601f168201915b505050505081565b60025481565b6004602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035f9054906101000a900460ff1661025c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025390610950565b60405180910390fd5b5f60035f6101000a81548160ff021916908315150217905550565b60018054610284906108d6565b80601f01602080910402602001604051908101604052809291908181526020018280546102b0906108d6565b80156102fb5780601f106102d2576101008083540402835291602001916102fb565b820191905f5260205f20905b8154815290600101906020018083116102de57829003601f168201915b505050505081565b60035f9054906101000a900460ff1681565b81819050848490501461035d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610354906109b8565b60405180910390fd5b60035f9054906101000a900460ff166103ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a290610a20565b60405180910390fd5b5f5b848490508110156105ab575f8585838181106103cc576103cb610a3e565b5b90506020020160208101906103e19190610a95565b90505f8484848181106103f7576103f6610a3e565b5b9050602002013590506002548110610444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043b90610b0a565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1660045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d990610b72565b60405180910390fd5b8160045f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161058e9190610674565b60405180910390a3505080806105a390610bbd565b9150506103ad565b5050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156105e95780820151818401526020810190506105ce565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61060e826105b2565b61061881856105bc565b93506106288185602086016105cc565b610631816105f4565b840191505092915050565b5f6020820190508181035f8301526106548184610604565b905092915050565b5f819050919050565b61066e8161065c565b82525050565b5f6020820190506106875f830184610665565b92915050565b5f80fd5b5f80fd5b61069e8161065c565b81146106a8575f80fd5b50565b5f813590506106b981610695565b92915050565b5f602082840312156106d4576106d361068d565b5b5f6106e1848285016106ab565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610713826106ea565b9050919050565b61072381610709565b82525050565b5f60208201905061073c5f83018461071a565b92915050565b5f8115159050919050565b61075681610742565b82525050565b5f60208201905061076f5f83018461074d565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261079657610795610775565b5b8235905067ffffffffffffffff8111156107b3576107b2610779565b5b6020830191508360208202830111156107cf576107ce61077d565b5b9250929050565b5f8083601f8401126107eb576107ea610775565b5b8235905067ffffffffffffffff81111561080857610807610779565b5b6020830191508360208202830111156108245761082361077d565b5b9250929050565b5f805f80604085870312156108435761084261068d565b5b5f85013567ffffffffffffffff8111156108605761085f610691565b5b61086c87828801610781565b9450945050602085013567ffffffffffffffff81111561088f5761088e610691565b5b61089b878288016107d6565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806108ed57607f821691505b602082108103610900576108ff6108a9565b5b50919050565b7f4d696e74696e6720616c726561647920636c6f736564000000000000000000005f82015250565b5f61093a6016836105bc565b915061094582610906565b602082019050919050565b5f6020820190508181035f8301526109678161092e565b9050919050565b7f496e76616c696420696e707574206c656e6774680000000000000000000000005f82015250565b5f6109a26014836105bc565b91506109ad8261096e565b602082019050919050565b5f6020820190508181035f8301526109cf81610996565b9050919050565b7f4d696e74696e67206e6f7420616c6c6f776564000000000000000000000000005f82015250565b5f610a0a6013836105bc565b9150610a15826109d6565b602082019050919050565b5f6020820190508181035f830152610a37816109fe565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b610a7481610709565b8114610a7e575f80fd5b50565b5f81359050610a8f81610a6b565b92915050565b5f60208284031215610aaa57610aa961068d565b5b5f610ab784828501610a81565b91505092915050565b7f496e76616c696420746f6b656e496400000000000000000000000000000000005f82015250565b5f610af4600f836105bc565b9150610aff82610ac0565b602082019050919050565b5f6020820190508181035f830152610b2181610ae8565b9050919050565b7f53656e64657220646f6573206e6f74206f776e2074686520746f6b656e4964005f82015250565b5f610b5c601f836105bc565b9150610b6782610b28565b602082019050919050565b5f6020820190508181035f830152610b8981610b50565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610bc78261065c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610bf957610bf8610b90565b5b60018201905091905056fea2646970667358221220a4668f6ac08b9ba17d704cd55e943d69778351a6a02ff4333c1e3920f73439b264736f6c63430008140033