60806040526000600a60006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b50604051620039593803806200395983398181016040528101906200005291906200032a565b6040518060400160405280601581526020017f566869676821204176617461722047656e20302e3000000000000000000000008152506040518060400160405280600481526020017f56414730000000000000000000000000000000000000000000000000000000008152508160009080519060200190620000d692919062000208565b508060019080519060200190620000ef92919062000208565b50505060016006819055506200011a6200010e6200013a60201b60201c565b6200014260201b60201c565b80600b90805190602001906200013292919062000208565b5050620004df565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620002169062000404565b90600052602060002090601f0160209004810192826200023a576000855562000286565b82601f106200025557805160ff191683800117855562000286565b8280016001018555821562000286579182015b828111156200028557825182559160200191906001019062000268565b5b50905062000295919062000299565b5090565b5b80821115620002b45760008160009055506001016200029a565b5090565b6000620002cf620002c98462000398565b6200036f565b905082815260208101848484011115620002e857600080fd5b620002f5848285620003ce565b509392505050565b600082601f8301126200030f57600080fd5b815162000321848260208601620002b8565b91505092915050565b6000602082840312156200033d57600080fd5b600082015167ffffffffffffffff8111156200035857600080fd5b6200036684828501620002fd565b91505092915050565b60006200037b6200038e565b90506200038982826200043a565b919050565b6000604051905090565b600067ffffffffffffffff821115620003b657620003b56200049f565b5b620003c182620004ce565b9050602081019050919050565b60005b83811015620003ee578082015181840152602081019050620003d1565b83811115620003fe576000848401525b50505050565b600060028204905060018216806200041d57607f821691505b6020821081141562000434576200043362000470565b5b50919050565b6200044582620004ce565b810181811067ffffffffffffffff821117156200046757620004666200049f565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61346a80620004ef6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80636352211e116100de578063b88d4fde11610097578063d6c336ed11610071578063d6c336ed14610422578063e985e9c514610440578063eb8d244414610470578063f2fde38b1461048e57610173565b8063b88d4fde146103a6578063bb660c0a146103c2578063c87b56dd146103f257610173565b80636352211e146102e457806370a0823114610314578063715018a6146103445780638da5cb5b1461034e57806395d89b411461036c578063a22cb4651461038a57610173565b80631249c58b116101305780631249c58b1461024a57806318160ddd1461025457806323b872dd1461027257806332cb6b0c1461028e57806342842e0e146102ac57806355f804b3146102c857610173565b806301ffc9a71461017857806302c88989146101a857806306fdde03146101c4578063081812fc146101e2578063095ea7b3146102125780631169560c1461022e575b600080fd5b610192600480360381019061018d919061234c565b6104aa565b60405161019f919061281f565b60405180910390f35b6101c260048036038101906101bd9190612323565b61058c565b005b6101cc610625565b6040516101d9919061283a565b60405180910390f35b6101fc60048036038101906101f791906123df565b6106b7565b60405161020991906127b8565b60405180910390f35b61022c600480360381019061022791906122e7565b61073c565b005b6102486004803603810190610243919061217c565b610854565b005b61025261091f565b005b61025c610a9a565b6040516102699190612adc565b60405180910390f35b61028c600480360381019061028791906121e1565b610aab565b005b610296610b0b565b6040516102a39190612adc565b60405180910390f35b6102c660048036038101906102c191906121e1565b610b11565b005b6102e260048036038101906102dd919061239e565b610b31565b005b6102fe60048036038101906102f991906123df565b610bc7565b60405161030b91906127b8565b60405180910390f35b61032e6004803603810190610329919061217c565b610c79565b60405161033b9190612adc565b60405180910390f35b61034c610d31565b005b610356610db9565b60405161036391906127b8565b60405180910390f35b610374610de3565b604051610381919061283a565b60405180910390f35b6103a4600480360381019061039f91906122ab565b610e75565b005b6103c060048036038101906103bb9190612230565b610e8b565b005b6103dc60048036038101906103d7919061217c565b610eed565b6040516103e99190612adc565b60405180910390f35b61040c600480360381019061040791906123df565b610f42565b604051610419919061283a565b60405180910390f35b61042a610fe9565b6040516104379190612adc565b60405180910390f35b61045a600480360381019061045591906121a5565b610fee565b604051610467919061281f565b60405180910390f35b610478611082565b604051610485919061281f565b60405180910390f35b6104a860048036038101906104a3919061217c565b611095565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061057557507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061058557506105848261118d565b5b9050919050565b6105946111f7565b73ffffffffffffffffffffffffffffffffffffffff166105b2610db9565b73ffffffffffffffffffffffffffffffffffffffff1614610608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ff90612a1c565b60405180910390fd5b80600a60006101000a81548160ff02191690831515021790555050565b60606000805461063490612d32565b80601f016020809104026020016040519081016040528092919081815260200182805461066090612d32565b80156106ad5780601f10610682576101008083540402835291602001916106ad565b820191906000526020600020905b81548152906001019060200180831161069057829003601f168201915b5050505050905090565b60006106c2826111ff565b610701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f8906129fc565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061074782610bc7565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107af90612a7c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107d76111f7565b73ffffffffffffffffffffffffffffffffffffffff1614806108065750610805816108006111f7565b610fee565b5b610845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083c9061295c565b60405180910390fd5b61084f838361126b565b505050565b61085c6111f7565b73ffffffffffffffffffffffffffffffffffffffff1661087a610db9565b73ffffffffffffffffffffffffffffffffffffffff16146108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c790612a1c565b60405180910390fd5b60006108da610a9a565b905060005b600b81101561091a576108fd8382846108f89190612bc1565b611324565b6109076009611342565b808061091290612d95565b9150506108df565b505050565b60026006541415610965576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095c90612abc565b60405180910390fd5b6002600681905550600a60009054906101000a900460ff166109bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b39061293c565b60405180910390fd5b60016109ce6109c96111f7565b610eed565b106109e8576109e36109de6111f7565b611358565b610a23565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1a9061291c565b60405180910390fd5b6103e8610a2e610a9a565b10610a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a65906129bc565b60405180910390fd5b610a86610a796111f7565b610a81610a9a565b611324565b610a906009611342565b6001600681905550565b6000610aa660096113b2565b905090565b610abc610ab66111f7565b826113c0565b610afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af290612a9c565b60405180910390fd5b610b0683838361149e565b505050565b6103e881565b610b2c83838360405180602001604052806000815250610e8b565b505050565b610b396111f7565b73ffffffffffffffffffffffffffffffffffffffff16610b57610db9565b73ffffffffffffffffffffffffffffffffffffffff1614610bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba490612a1c565b60405180910390fd5b80600b9080519060200190610bc3929190611fa0565b5050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c679061299c565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce19061297c565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d396111f7565b73ffffffffffffffffffffffffffffffffffffffff16610d57610db9565b73ffffffffffffffffffffffffffffffffffffffff1614610dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da490612a1c565b60405180910390fd5b610db760006116fa565b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610df290612d32565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1e90612d32565b8015610e6b5780601f10610e4057610100808354040283529160200191610e6b565b820191906000526020600020905b815481529060010190602001808311610e4e57829003601f168201915b5050505050905090565b610e87610e806111f7565b83836117c0565b5050565b610e9c610e966111f7565b836113c0565b610edb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed290612a9c565b60405180910390fd5b610ee78484848461192d565b50505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546001610f3b9190612c48565b9050919050565b6060610f4d826111ff565b610f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8390612a5c565b60405180910390fd5b6000610f96611989565b90506000815111610fb65760405180602001604052806000815250610fe1565b80610fc084611a1b565b604051602001610fd1929190612794565b6040516020818303038152906040525b915050919050565b600181565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600a60009054906101000a900460ff1681565b61109d6111f7565b73ffffffffffffffffffffffffffffffffffffffff166110bb610db9565b73ffffffffffffffffffffffffffffffffffffffff1614611111576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110890612a1c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611181576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111789061287c565b60405180910390fd5b61118a816116fa565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166112de83610bc7565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b61133e828260405180602001604052806000815250611bc8565b5050565b6001816000016000828254019250508190555050565b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113a89190612bc1565b9250508190555050565b600081600001549050919050565b60006113cb826111ff565b61140a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611401906128fc565b60405180910390fd5b600061141583610bc7565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061148457508373ffffffffffffffffffffffffffffffffffffffff1661146c846106b7565b73ffffffffffffffffffffffffffffffffffffffff16145b8061149557506114948185610fee565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166114be82610bc7565b73ffffffffffffffffffffffffffffffffffffffff1614611514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150b90612a3c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157b906128bc565b60405180910390fd5b61158f838383611c23565b61159a60008261126b565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115ea9190612c48565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116419190612bc1565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561182f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611826906128dc565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611920919061281f565b60405180910390a3505050565b61193884848461149e565b61194484848484611c28565b611983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197a9061285c565b60405180910390fd5b50505050565b6060600b805461199890612d32565b80601f01602080910402602001604051908101604052809291908181526020018280546119c490612d32565b8015611a115780601f106119e657610100808354040283529160200191611a11565b820191906000526020600020905b8154815290600101906020018083116119f457829003601f168201915b5050505050905090565b60606000821415611a63576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611bc3565b600082905060005b60008214611a95578080611a7e90612d95565b915050600a82611a8e9190612c17565b9150611a6b565b60008167ffffffffffffffff811115611ad7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611b095781602001600182028036833780820191505090505b5090505b60008514611bbc57600182611b229190612c48565b9150600a85611b319190612dde565b6030611b3d9190612bc1565b60f81b818381518110611b79577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611bb59190612c17565b9450611b0d565b8093505050505b919050565b611bd28383611dbf565b611bdf6000848484611c28565b611c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c159061285c565b60405180910390fd5b505050565b505050565b6000611c498473ffffffffffffffffffffffffffffffffffffffff16611f8d565b15611db2578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611c726111f7565b8786866040518563ffffffff1660e01b8152600401611c9494939291906127d3565b602060405180830381600087803b158015611cae57600080fd5b505af1925050508015611cdf57506040513d601f19601f82011682018060405250810190611cdc9190612375565b60015b611d62573d8060008114611d0f576040519150601f19603f3d011682016040523d82523d6000602084013e611d14565b606091505b50600081511415611d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d519061285c565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611db7565b600190505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e26906129dc565b60405180910390fd5b611e38816111ff565b15611e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6f9061289c565b60405180910390fd5b611e8460008383611c23565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ed49190612bc1565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b828054611fac90612d32565b90600052602060002090601f016020900481019282611fce5760008555612015565b82601f10611fe757805160ff1916838001178555612015565b82800160010185558215612015579182015b82811115612014578251825591602001919060010190611ff9565b5b5090506120229190612026565b5090565b5b8082111561203f576000816000905550600101612027565b5090565b600061205661205184612b1c565b612af7565b90508281526020810184848401111561206e57600080fd5b612079848285612cf0565b509392505050565b600061209461208f84612b4d565b612af7565b9050828152602081018484840111156120ac57600080fd5b6120b7848285612cf0565b509392505050565b6000813590506120ce816133d8565b92915050565b6000813590506120e3816133ef565b92915050565b6000813590506120f881613406565b92915050565b60008151905061210d81613406565b92915050565b600082601f83011261212457600080fd5b8135612134848260208601612043565b91505092915050565b600082601f83011261214e57600080fd5b813561215e848260208601612081565b91505092915050565b6000813590506121768161341d565b92915050565b60006020828403121561218e57600080fd5b600061219c848285016120bf565b91505092915050565b600080604083850312156121b857600080fd5b60006121c6858286016120bf565b92505060206121d7858286016120bf565b9150509250929050565b6000806000606084860312156121f657600080fd5b6000612204868287016120bf565b9350506020612215868287016120bf565b925050604061222686828701612167565b9150509250925092565b6000806000806080858703121561224657600080fd5b6000612254878288016120bf565b9450506020612265878288016120bf565b935050604061227687828801612167565b925050606085013567ffffffffffffffff81111561229357600080fd5b61229f87828801612113565b91505092959194509250565b600080604083850312156122be57600080fd5b60006122cc858286016120bf565b92505060206122dd858286016120d4565b9150509250929050565b600080604083850312156122fa57600080fd5b6000612308858286016120bf565b925050602061231985828601612167565b9150509250929050565b60006020828403121561233557600080fd5b6000612343848285016120d4565b91505092915050565b60006020828403121561235e57600080fd5b600061236c848285016120e9565b91505092915050565b60006020828403121561238757600080fd5b6000612395848285016120fe565b91505092915050565b6000602082840312156123b057600080fd5b600082013567ffffffffffffffff8111156123ca57600080fd5b6123d68482850161213d565b91505092915050565b6000602082840312156123f157600080fd5b60006123ff84828501612167565b91505092915050565b61241181612c7c565b82525050565b61242081612c8e565b82525050565b600061243182612b7e565b61243b8185612b94565b935061244b818560208601612cff565b61245481612ecb565b840191505092915050565b600061246a82612b89565b6124748185612ba5565b9350612484818560208601612cff565b61248d81612ecb565b840191505092915050565b60006124a382612b89565b6124ad8185612bb6565b93506124bd818560208601612cff565b80840191505092915050565b60006124d6603283612ba5565b91506124e182612edc565b604082019050919050565b60006124f9602683612ba5565b915061250482612f2b565b604082019050919050565b600061251c601c83612ba5565b915061252782612f7a565b602082019050919050565b600061253f602483612ba5565b915061254a82612fa3565b604082019050919050565b6000612562601983612ba5565b915061256d82612ff2565b602082019050919050565b6000612585602c83612ba5565b91506125908261301b565b604082019050919050565b60006125a8601683612ba5565b91506125b38261306a565b602082019050919050565b60006125cb600f83612ba5565b91506125d682613093565b602082019050919050565b60006125ee603883612ba5565b91506125f9826130bc565b604082019050919050565b6000612611602a83612ba5565b915061261c8261310b565b604082019050919050565b6000612634602983612ba5565b915061263f8261315a565b604082019050919050565b6000612657601283612ba5565b9150612662826131a9565b602082019050919050565b600061267a602083612ba5565b9150612685826131d2565b602082019050919050565b600061269d602c83612ba5565b91506126a8826131fb565b604082019050919050565b60006126c0602083612ba5565b91506126cb8261324a565b602082019050919050565b60006126e3602983612ba5565b91506126ee82613273565b604082019050919050565b6000612706602f83612ba5565b9150612711826132c2565b604082019050919050565b6000612729602183612ba5565b915061273482613311565b604082019050919050565b600061274c603183612ba5565b915061275782613360565b604082019050919050565b600061276f601f83612ba5565b915061277a826133af565b602082019050919050565b61278e81612ce6565b82525050565b60006127a08285612498565b91506127ac8284612498565b91508190509392505050565b60006020820190506127cd6000830184612408565b92915050565b60006080820190506127e86000830187612408565b6127f56020830186612408565b6128026040830185612785565b81810360608301526128148184612426565b905095945050505050565b60006020820190506128346000830184612417565b92915050565b60006020820190508181036000830152612854818461245f565b905092915050565b60006020820190508181036000830152612875816124c9565b9050919050565b60006020820190508181036000830152612895816124ec565b9050919050565b600060208201905081810360008301526128b58161250f565b9050919050565b600060208201905081810360008301526128d581612532565b9050919050565b600060208201905081810360008301526128f581612555565b9050919050565b6000602082019050818103600083015261291581612578565b9050919050565b600060208201905081810360008301526129358161259b565b9050919050565b60006020820190508181036000830152612955816125be565b9050919050565b60006020820190508181036000830152612975816125e1565b9050919050565b6000602082019050818103600083015261299581612604565b9050919050565b600060208201905081810360008301526129b581612627565b9050919050565b600060208201905081810360008301526129d58161264a565b9050919050565b600060208201905081810360008301526129f58161266d565b9050919050565b60006020820190508181036000830152612a1581612690565b9050919050565b60006020820190508181036000830152612a35816126b3565b9050919050565b60006020820190508181036000830152612a55816126d6565b9050919050565b60006020820190508181036000830152612a75816126f9565b9050919050565b60006020820190508181036000830152612a958161271c565b9050919050565b60006020820190508181036000830152612ab58161273f565b9050919050565b60006020820190508181036000830152612ad581612762565b9050919050565b6000602082019050612af16000830184612785565b92915050565b6000612b01612b12565b9050612b0d8282612d64565b919050565b6000604051905090565b600067ffffffffffffffff821115612b3757612b36612e9c565b5b612b4082612ecb565b9050602081019050919050565b600067ffffffffffffffff821115612b6857612b67612e9c565b5b612b7182612ecb565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000612bcc82612ce6565b9150612bd783612ce6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c0c57612c0b612e0f565b5b828201905092915050565b6000612c2282612ce6565b9150612c2d83612ce6565b925082612c3d57612c3c612e3e565b5b828204905092915050565b6000612c5382612ce6565b9150612c5e83612ce6565b925082821015612c7157612c70612e0f565b5b828203905092915050565b6000612c8782612cc6565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015612d1d578082015181840152602081019050612d02565b83811115612d2c576000848401525b50505050565b60006002820490506001821680612d4a57607f821691505b60208210811415612d5e57612d5d612e6d565b5b50919050565b612d6d82612ecb565b810181811067ffffffffffffffff82111715612d8c57612d8b612e9c565b5b80604052505050565b6000612da082612ce6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612dd357612dd2612e0f565b5b600182019050919050565b6000612de982612ce6565b9150612df483612ce6565b925082612e0457612e03612e3e565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4d696e74696e67206c696d697420657863656564656400000000000000000000600082015250565b7f53616c65206e6f74206163746976650000000000000000000000000000000000600082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f45786365656473206d617820737570706c790000000000000000000000000000600082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6133e181612c7c565b81146133ec57600080fd5b50565b6133f881612c8e565b811461340357600080fd5b50565b61340f81612c9a565b811461341a57600080fd5b50565b61342681612ce6565b811461343157600080fd5b5056fea2646970667358221220b8d429e196bd6c257f2b1508d4e8bc34d0a84b4de562e977ff10be10a76cde6c64736f6c6343000804003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d517a44633247646f467638313267414465546e36696b617751484d69486a71386f64725237684a6f644b515a2f00000000000000000000