0x60806040526040518060400160405280600681526020017f4d616d6d6f6e0000000000000000000000000000000000000000000000000000815250600090805190602001906200005192919062000393565b506040518060400160405280600381526020017f4d4d4d0000000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f92919062000393565b506012600260006101000a81548160ff021916908360ff1602179055506ec097ce7bc90715b34b9f1000000000600355348015620000dc57600080fd5b50600354600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620001c69190620004b8565b60405180910390a33373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3620002396200023f60201b60201c565b62000555565b3373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620002d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002c99062000496565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b828054620003a190620004f0565b90600052602060002090601f016020900481019282620003c5576000855562000411565b82601f10620003e057805160ff191683800117855562000411565b8280016001018555821562000411579182015b8281111562000410578251825591602001919060010190620003f3565b5b50905062000420919062000424565b5090565b5b808211156200043f57600081600090555060010162000425565b5090565b600062000452601783620004d5565b91507f43616c6c6572206973206e6f7420746865206f776e65720000000000000000006000830152602082019050919050565b6200049081620004e6565b82525050565b60006020820190508181036000830152620004b18162000443565b9050919050565b6000602082019050620004cf600083018462000485565b92915050565b600082825260208201905092915050565b6000819050919050565b600060028204905060018216806200050957607f821691505b6020821081141562000520576200051f62000526565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b61121c80620005656000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806370a082311161007157806370a0823114610168578063715018a6146101985780638da5cb5b146101a257806395d89b41146101c0578063a9059cbb146101de578063dd62ed3e1461020e576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b661023e565b6040516100c39190610f6a565b60405180910390f35b6100e660048036038101906100e19190610bdf565b6102cc565b6040516100f39190610f4f565b60405180910390f35b6101046102e3565b604051610111919061106c565b60405180910390f35b610134600480360381019061012f9190610b90565b6102e9565b6040516101419190610f4f565b60405180910390f35b6101526103d2565b60405161015f9190611087565b60405180910390f35b610182600480360381019061017d9190610b2b565b6103e5565b60405161018f919061106c565b60405180910390f35b6101a061042e565b005b6101aa61057f565b6040516101b79190610f34565b60405180910390f35b6101c86105a5565b6040516101d59190610f6a565b60405180910390f35b6101f860048036038101906101f39190610bdf565b610633565b6040516102059190610f4f565b60405180910390f35b61022860048036038101906102239190610b54565b61064a565b604051610235919061106c565b60405180910390f35b6000805461024b90611146565b80601f016020809104026020016040519081016040528092919081815260200182805461027790611146565b80156102c45780601f10610299576101008083540402835291602001916102c4565b820191906000526020600020905b8154815290600101906020018083116102a757829003601f168201915b505050505081565b60006102d93384846106d1565b6001905092915050565b60035481565b600080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156103ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a59061100c565b60405180910390fd5b6103b985858561089c565b6103c685338584036106d1565b60019150509392505050565b600260009054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b590610fac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600180546105b290611146565b80601f01602080910402602001604051908101604052809291908181526020018280546105de90611146565b801561062b5780601f106106005761010080835404028352916020019161062b565b820191906000526020600020905b81548152906001019060200180831161060e57829003601f168201915b505050505081565b600061064033848461089c565b6001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610741576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107389061104c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a890610fcc565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161088f919061106c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561090c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109039061102c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561097c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097390610f8c565b60405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fa90610fec565b60405180910390fd5b818103600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610af3919061106c565b60405180910390a350505050565b600081359050610b10816111b8565b92915050565b600081359050610b25816111cf565b92915050565b600060208284031215610b3d57600080fd5b6000610b4b84828501610b01565b91505092915050565b60008060408385031215610b6757600080fd5b6000610b7585828601610b01565b9250506020610b8685828601610b01565b9150509250929050565b600080600060608486031215610ba557600080fd5b6000610bb386828701610b01565b9350506020610bc486828701610b01565b9250506040610bd586828701610b16565b9150509250925092565b60008060408385031215610bf257600080fd5b6000610c0085828601610b01565b9250506020610c1185828601610b16565b9150509250929050565b610c24816110be565b82525050565b610c33816110d0565b82525050565b6000610c44826110a2565b610c4e81856110ad565b9350610c5e818560208601611113565b610c67816111a7565b840191505092915050565b6000610c7f6023836110ad565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610ce56017836110ad565b91507f43616c6c6572206973206e6f7420746865206f776e65720000000000000000006000830152602082019050919050565b6000610d256022836110ad565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610d8b6026836110ad565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610df16028836110ad565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610e576025836110ad565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610ebd6024836110ad565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b610f1f816110fc565b82525050565b610f2e81611106565b82525050565b6000602082019050610f496000830184610c1b565b92915050565b6000602082019050610f646000830184610c2a565b92915050565b60006020820190508181036000830152610f848184610c39565b905092915050565b60006020820190508181036000830152610fa581610c72565b9050919050565b60006020820190508181036000830152610fc581610cd8565b9050919050565b60006020820190508181036000830152610fe581610d18565b9050919050565b6000602082019050818103600083015261100581610d7e565b9050919050565b6000602082019050818103600083015261102581610de4565b9050919050565b6000602082019050818103600083015261104581610e4a565b9050919050565b6000602082019050818103600083015261106581610eb0565b9050919050565b60006020820190506110816000830184610f16565b92915050565b600060208201905061109c6000830184610f25565b92915050565b600081519050919050565b600082825260208201905092915050565b60006110c9826110dc565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611131578082015181840152602081019050611116565b83811115611140576000848401525b50505050565b6000600282049050600182168061115e57607f821691505b6020821081141561117257611171611178565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b6111c1816110be565b81146111cc57600080fd5b50565b6111d8816110fc565b81146111e357600080fd5b5056fea2646970667358221220cfcc950c2126a6bce965dfd9a3449ec20c4e8031141c72c45e42de64cbfaaf0a64736f6c63430008000033