60806040526000600c5563617c36a0600d556000600e60006101000a81548160ff021916908315150217905550600a600f55600a6010556000601160006101000a81548160ff021916908315150217905550604051806020016040528060008152506013908051906020019062000078929190620002c3565b503480156200008657600080fd5b5060405162005da438038062005da48339818101604052810190620000ac9190620003dd565b6040518060400160405280600d81526020017f467265696768742050756e6b73000000000000000000000000000000000000008152506040518060400160405280600581526020017f4650554e4b000000000000000000000000000000000000000000000000000000815250816000908051906020019062000130929190620002c3565b50806001908051906020019062000149929190620002c3565b5050506200016c62000160620001f560201b60201c565b620001fd60201b60201c565b80601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033601160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000474565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620002d1906200043e565b90600052602060002090601f016020900481019282620002f5576000855562000341565b82601f106200031057805160ff191683800117855562000341565b8280016001018555821562000341579182015b828111156200034057825182559160200191906001019062000323565b5b50905062000350919062000354565b5090565b5b808211156200036f57600081600090555060010162000355565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003a58262000378565b9050919050565b620003b78162000398565b8114620003c357600080fd5b50565b600081519050620003d781620003ac565b92915050565b600060208284031215620003f657620003f562000373565b5b60006200040684828501620003c6565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200045757607f821691505b602082108114156200046e576200046d6200040f565b5b50919050565b61592080620004846000396000f3fe6080604052600436106102675760003560e01c80637dfed9fe11610144578063afdf6134116100b6578063d56d229d1161007a578063d56d229d14610915578063deb59b3b14610940578063e985e9c51461096b578063f2fde38b146109a8578063f6a03ebf146109d1578063fd301c49146109fa57610267565b8063afdf613414610834578063b88d4fde1461085d578063c4d1957b14610886578063c87b56dd146108af578063cfa08b7c146108ec57610267565b806391860f781161010857806391860f781461073857806391b7f5ed1461076357806395d89b411461078c5780639b19251a146107b7578063a22cb465146107f4578063a8d43bd81461081d57610267565b80637dfed9fe1461067b5780637f649783146106925780638389e180146106bb578063868ff4a2146106e45780638da5cb5b1461070d57610267565b806342842e0e116101dd57806355f804b3116101a157806355f804b31461056d5780636352211e146105965780636373a6b1146105d357806370a08231146105fe578063715018a61461063b578063736fe5651461065257610267565b806342842e0e146104855780634287084f146104ae5780634e53faf1146104ca5780634f6ccce714610507578063547520fe1461054457610267565b8063097c0f361161022f578063097c0f3614610363578063109695231461038e57806318160ddd146103b757806323b872dd146103e25780632f745c591461040b578063306c96971461044857610267565b806301ffc9a71461026c578063045f7850146102a957806306fdde03146102d2578063081812fc146102fd578063095ea7b31461033a575b600080fd5b34801561027857600080fd5b50610293600480360381019061028e9190613bae565b610a25565b6040516102a09190613bf6565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190613ca5565b610a9f565b005b3480156102de57600080fd5b506102e7610c12565b6040516102f49190613d7e565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f9190613da0565b610ca4565b6040516103319190613ddc565b60405180910390f35b34801561034657600080fd5b50610361600480360381019061035c9190613ca5565b610d29565b005b34801561036f57600080fd5b50610378610e41565b6040516103859190613ddc565b60405180910390f35b34801561039a57600080fd5b506103b560048036038101906103b09190613f2c565b610e67565b005b3480156103c357600080fd5b506103cc610efd565b6040516103d99190613f84565b60405180910390f35b3480156103ee57600080fd5b5061040960048036038101906104049190613f9f565b610f0a565b005b34801561041757600080fd5b50610432600480360381019061042d9190613ca5565b610f6a565b60405161043f9190613f84565b60405180910390f35b34801561045457600080fd5b5061046f600480360381019061046a9190613da0565b61100f565b60405161047c9190613bf6565b60405180910390f35b34801561049157600080fd5b506104ac60048036038101906104a79190613f9f565b61102f565b005b6104c860048036038101906104c39190613da0565b61104f565b005b3480156104d657600080fd5b506104f160048036038101906104ec9190613da0565b61115b565b6040516104fe9190613bf6565b60405180910390f35b34801561051357600080fd5b5061052e60048036038101906105299190613da0565b611185565b60405161053b9190613f84565b60405180910390f35b34801561055057600080fd5b5061056b60048036038101906105669190613da0565b6111f6565b005b34801561057957600080fd5b50610594600480360381019061058f9190613f2c565b61127c565b005b3480156105a257600080fd5b506105bd60048036038101906105b89190613da0565b611312565b6040516105ca9190613ddc565b60405180910390f35b3480156105df57600080fd5b506105e86113c4565b6040516105f59190613d7e565b60405180910390f35b34801561060a57600080fd5b5061062560048036038101906106209190613ff2565b611452565b6040516106329190613f84565b60405180910390f35b34801561064757600080fd5b5061065061150a565b005b34801561065e57600080fd5b506106796004803603810190610674919061405d565b611592565b005b34801561068757600080fd5b506106906116b3565b005b34801561069e57600080fd5b506106b960048036038101906106b49190614165565b61175b565b005b3480156106c757600080fd5b506106e260048036038101906106dd9190614271565b61186c565b005b3480156106f057600080fd5b5061070b60048036038101906107069190613da0565b611c4e565b005b34801561071957600080fd5b50610722611ec1565b60405161072f9190613ddc565b60405180910390f35b34801561074457600080fd5b5061074d611eeb565b60405161075a9190613d7e565b60405180910390f35b34801561076f57600080fd5b5061078a60048036038101906107859190613da0565b611f79565b005b34801561079857600080fd5b506107a1611fff565b6040516107ae9190613d7e565b60405180910390f35b3480156107c357600080fd5b506107de60048036038101906107d99190613ff2565b612091565b6040516107eb9190613bf6565b60405180910390f35b34801561080057600080fd5b5061081b600480360381019061081691906142f9565b6120b1565b005b34801561082957600080fd5b50610832612232565b005b34801561084057600080fd5b5061085b60048036038101906108569190613da0565b6122da565b005b34801561086957600080fd5b50610884600480360381019061087f91906143da565b612360565b005b34801561089257600080fd5b506108ad60048036038101906108a89190614165565b6123c2565b005b3480156108bb57600080fd5b506108d660048036038101906108d19190613da0565b612550565b6040516108e39190613d7e565b60405180910390f35b3480156108f857600080fd5b50610913600480360381019061090e9190613ff2565b6125f7565b005b34801561092157600080fd5b5061092a6126b7565b60405161093791906144bc565b60405180910390f35b34801561094c57600080fd5b506109556126dd565b6040516109629190613f84565b60405180910390f35b34801561097757600080fd5b50610992600480360381019061098d91906144d7565b6126e3565b60405161099f9190613bf6565b60405180910390f35b3480156109b457600080fd5b506109cf60048036038101906109ca9190613ff2565b612777565b005b3480156109dd57600080fd5b506109f860048036038101906109f39190613da0565b61286f565b005b348015610a0657600080fd5b50610a0f6128f5565b604051610a1c9190613ddc565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610a985750610a978261291b565b5b9050919050565b601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b485750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610b87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7e90614563565b60405180910390fd5b612710610ba482610b96610efd565b6129fd90919063ffffffff16565b1115610be5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdc906145cf565b60405180910390fd5b60005b81811015610c0d57610bf983612a13565b508080610c059061461e565b915050610be8565b505050565b606060008054610c2190614696565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4d90614696565b8015610c9a5780601f10610c6f57610100808354040283529160200191610c9a565b820191906000526020600020905b815481529060010190602001808311610c7d57829003601f168201915b5050505050905090565b6000610caf82612a85565b610cee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce59061473a565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610d3482611312565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610da5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9c906147cc565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610dc4612af1565b73ffffffffffffffffffffffffffffffffffffffff161480610df35750610df281610ded612af1565b6126e3565b5b610e32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e299061485e565b60405180910390fd5b610e3c8383612af9565b505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e6f612af1565b73ffffffffffffffffffffffffffffffffffffffff16610e8d611ec1565b73ffffffffffffffffffffffffffffffffffffffff1614610ee3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eda906148ca565b60405180910390fd5b8060139080519060200190610ef9929190613a9f565b5050565b6000600880549050905090565b610f1b610f15612af1565b82612bb2565b610f5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f519061495c565b60405180910390fd5b610f65838383612c90565b505050565b6000610f7583611452565b8210610fb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fad906149ee565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60166020528060005260406000206000915054906101000a900460ff1681565b61104a83838360405180602001604052806000815250612360565b505050565b60011515601160009054906101000a900460ff161515146110a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109c90614a5a565b60405180910390fd5b600f548111156110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e190614ac6565b60405180910390fd5b600c5434101561112f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112690614b32565b60405180910390fd5b60005b818110156111575761114333612a13565b50808061114f9061461e565b915050611132565b5050565b60006016600083815260200190815260200160002060009054906101000a900460ff169050919050565b600061118f610efd565b82106111d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c790614bc4565b60405180910390fd5b600882815481106111e4576111e3614be4565b5b90600052602060002001549050919050565b6111fe612af1565b73ffffffffffffffffffffffffffffffffffffffff1661121c611ec1565b73ffffffffffffffffffffffffffffffffffffffff1614611272576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611269906148ca565b60405180910390fd5b80600f8190555050565b611284612af1565b73ffffffffffffffffffffffffffffffffffffffff166112a2611ec1565b73ffffffffffffffffffffffffffffffffffffffff16146112f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ef906148ca565b60405180910390fd5b806014908051906020019061130e929190613a9f565b5050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b290614c85565b60405180910390fd5b80915050919050565b601380546113d190614696565b80601f01602080910402602001604051908101604052809291908181526020018280546113fd90614696565b801561144a5780601f1061141f5761010080835404028352916020019161144a565b820191906000526020600020905b81548152906001019060200180831161142d57829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ba90614d17565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611512612af1565b73ffffffffffffffffffffffffffffffffffffffff16611530611ec1565b73ffffffffffffffffffffffffffffffffffffffff1614611586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157d906148ca565b60405180910390fd5b6115906000612eec565b565b61159a612af1565b73ffffffffffffffffffffffffffffffffffffffff166115b8611ec1565b73ffffffffffffffffffffffffffffffffffffffff161461160e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611605906148ca565b60405180910390fd5b601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461166857600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156116ae573d6000803e3d6000fd5b505050565b6116bb612af1565b73ffffffffffffffffffffffffffffffffffffffff166116d9611ec1565b73ffffffffffffffffffffffffffffffffffffffff161461172f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611726906148ca565b60405180910390fd5b601160009054906101000a900460ff1615601160006101000a81548160ff021916908315150217905550565b611763612af1565b73ffffffffffffffffffffffffffffffffffffffff16611781611ec1565b73ffffffffffffffffffffffffffffffffffffffff16146117d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ce906148ca565b60405180910390fd5b60005b8151811015611868576001601760008484815181106117fc576117fb614be4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806118609061461e565b9150506117da565b5050565b600d544210156118b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a890614d83565b60405180910390fd5b808251146118f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118eb90614e15565b60405180910390fd5b636185c58042111561193b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193290614e81565b60405180910390fd5b80601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016119979190613ddc565b60206040518083038186803b1580156119af57600080fd5b505afa1580156119c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e79190614eb6565b1015611a28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1f90614f2f565b60405180910390fd5b60005b81811015611c49576000151560166000858481518110611a4e57611a4d614be4565b5b6020026020010151815260200190815260200160002060009054906101000a900460ff16151514611ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aab90614f9b565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e858481518110611b1c57611b1b614be4565b5b60200260200101516040518263ffffffff1660e01b8152600401611b409190613f84565b60206040518083038186803b158015611b5857600080fd5b505afa158015611b6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b909190614fd0565b73ffffffffffffffffffffffffffffffffffffffff1614611be6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdd90615049565b60405180910390fd5b600160166000858481518110611bff57611bfe614be4565b5b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550611c3533612a13565b508080611c419061461e565b915050611a2b565b505050565b60011515600e60009054906101000a900460ff16151514611ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9b90614a5a565b60405180910390fd5b60011515601760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611d37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2e906150b5565b60405180910390fd5b600f54811115611d7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7390614ac6565b60405180910390fd5b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546010541015611e00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df790615121565b60405180910390fd5b60005b81811015611e2857611e1433612a13565b508080611e209061461e565b915050611e03565b50611e7b81601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129fd90919063ffffffff16565b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60148054611ef890614696565b80601f0160208091040260200160405190810160405280929190818152602001828054611f2490614696565b8015611f715780601f10611f4657610100808354040283529160200191611f71565b820191906000526020600020905b815481529060010190602001808311611f5457829003601f168201915b505050505081565b611f81612af1565b73ffffffffffffffffffffffffffffffffffffffff16611f9f611ec1565b73ffffffffffffffffffffffffffffffffffffffff1614611ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fec906148ca565b60405180910390fd5b80600c8190555050565b60606001805461200e90614696565b80601f016020809104026020016040519081016040528092919081815260200182805461203a90614696565b80156120875780601f1061205c57610100808354040283529160200191612087565b820191906000526020600020905b81548152906001019060200180831161206a57829003601f168201915b5050505050905090565b60176020528060005260406000206000915054906101000a900460ff1681565b6120b9612af1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612127576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211e9061518d565b60405180910390fd5b8060056000612134612af1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166121e1612af1565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516122269190613bf6565b60405180910390a35050565b61223a612af1565b73ffffffffffffffffffffffffffffffffffffffff16612258611ec1565b73ffffffffffffffffffffffffffffffffffffffff16146122ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a5906148ca565b60405180910390fd5b600e60009054906101000a900460ff1615600e60006101000a81548160ff021916908315150217905550565b6122e2612af1565b73ffffffffffffffffffffffffffffffffffffffff16612300611ec1565b73ffffffffffffffffffffffffffffffffffffffff1614612356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234d906148ca565b60405180910390fd5b8060108190555050565b61237161236b612af1565b83612bb2565b6123b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a79061495c565b60405180910390fd5b6123bc84848484612fb2565b50505050565b601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061246b5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6124aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a190614563565b60405180910390fd5b6127106124c882516124ba610efd565b6129fd90919063ffffffff16565b1115612509576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612500906145cf565b60405180910390fd5b60005b815181101561254c5761253882828151811061252b5761252a614be4565b5b6020026020010151612a13565b5080806125449061461e565b91505061250c565b5050565b606061255b82612a85565b61259a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125919061521f565b60405180910390fd5b60006125a461300e565b905060008151116125c457604051806020016040528060008152506125ef565b806125ce846130a0565b6040516020016125df92919061527b565b6040516020818303038152906040525b915050919050565b6125ff612af1565b73ffffffffffffffffffffffffffffffffffffffff1661261d611ec1565b73ffffffffffffffffffffffffffffffffffffffff1614612673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266a906148ca565b60405180910390fd5b80601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61271081565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61277f612af1565b73ffffffffffffffffffffffffffffffffffffffff1661279d611ec1565b73ffffffffffffffffffffffffffffffffffffffff16146127f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ea906148ca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161285a90615311565b60405180910390fd5b61286c81612eec565b50565b612877612af1565b73ffffffffffffffffffffffffffffffffffffffff16612895611ec1565b73ffffffffffffffffffffffffffffffffffffffff16146128eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e2906148ca565b60405180910390fd5b80600d8190555050565b601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806129e657507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806129f657506129f582613201565b5b9050919050565b60008183612a0b9190615331565b905092915050565b6000612a1f600b61326b565b6000612a2b600b613281565b9050612710811115612a72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a69906153d3565b60405180910390fd5b612a7c838261328f565b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16612b6c83611312565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000612bbd82612a85565b612bfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf390615465565b60405180910390fd5b6000612c0783611312565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612c7657508373ffffffffffffffffffffffffffffffffffffffff16612c5e84610ca4565b73ffffffffffffffffffffffffffffffffffffffff16145b80612c875750612c8681856126e3565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16612cb082611312565b73ffffffffffffffffffffffffffffffffffffffff1614612d06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cfd906154f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6d90615589565b60405180910390fd5b612d818383836132ad565b612d8c600082612af9565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ddc91906155a9565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e339190615331565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612fbd848484612c90565b612fc9848484846133c1565b613008576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fff9061564f565b60405180910390fd5b50505050565b60606014805461301d90614696565b80601f016020809104026020016040519081016040528092919081815260200182805461304990614696565b80156130965780601f1061306b57610100808354040283529160200191613096565b820191906000526020600020905b81548152906001019060200180831161307957829003601f168201915b5050505050905090565b606060008214156130e8576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506131fc565b600082905060005b6000821461311a5780806131039061461e565b915050600a82613113919061569e565b91506130f0565b60008167ffffffffffffffff81111561313657613135613e01565b5b6040519080825280601f01601f1916602001820160405280156131685781602001600182028036833780820191505090505b5090505b600085146131f55760018261318191906155a9565b9150600a8561319091906156cf565b603061319c9190615331565b60f81b8183815181106131b2576131b1614be4565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856131ee919061569e565b945061316c565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6001816000016000828254019250508190555050565b600081600001549050919050565b6132a9828260405180602001604052806000815250613558565b5050565b6132b88383836135b3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156132fb576132f6816135b8565b61333a565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614613339576133388382613601565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561337d576133788161376e565b6133bc565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146133bb576133ba828261383f565b5b5b505050565b60006133e28473ffffffffffffffffffffffffffffffffffffffff166138be565b1561354b578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261340b612af1565b8786866040518563ffffffff1660e01b815260040161342d9493929190615755565b602060405180830381600087803b15801561344757600080fd5b505af192505050801561347857506040513d601f19601f8201168201806040525081019061347591906157b6565b60015b6134fb573d80600081146134a8576040519150601f19603f3d011682016040523d82523d6000602084013e6134ad565b606091505b506000815114156134f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134ea9061564f565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050613550565b600190505b949350505050565b61356283836138d1565b61356f60008484846133c1565b6135ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135a59061564f565b60405180910390fd5b505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161360e84611452565b61361891906155a9565b90506000600760008481526020019081526020016000205490508181146136fd576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061378291906155a9565b90506000600960008481526020019081526020016000205490506000600883815481106137b2576137b1614be4565b5b9060005260206000200154905080600883815481106137d4576137d3614be4565b5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480613823576138226157e3565b5b6001900381819060005260206000200160009055905550505050565b600061384a83611452565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600080823b905060008111915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613941576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139389061585e565b60405180910390fd5b61394a81612a85565b1561398a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613981906158ca565b60405180910390fd5b613996600083836132ad565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546139e69190615331565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b828054613aab90614696565b90600052602060002090601f016020900481019282613acd5760008555613b14565b82601f10613ae657805160ff1916838001178555613b14565b82800160010185558215613b14579182015b82811115613b13578251825591602001919060010190613af8565b5b509050613b219190613b25565b5090565b5b80821115613b3e576000816000905550600101613b26565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613b8b81613b56565b8114613b9657600080fd5b50565b600081359050613ba881613b82565b92915050565b600060208284031215613bc457613bc3613b4c565b5b6000613bd284828501613b99565b91505092915050565b60008115159050919050565b613bf081613bdb565b82525050565b6000602082019050613c0b6000830184613be7565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613c3c82613c11565b9050919050565b613c4c81613c31565b8114613c5757600080fd5b50565b600081359050613c6981613c43565b92915050565b6000819050919050565b613c8281613c6f565b8114613c8d57600080fd5b50565b600081359050613c9f81613c79565b92915050565b60008060408385031215613cbc57613cbb613b4c565b5b6000613cca85828601613c5a565b9250506020613cdb85828601613c90565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613d1f578082015181840152602081019050613d04565b83811115613d2e576000848401525b50505050565b6000601f19601f8301169050919050565b6000613d5082613ce5565b613d5a8185613cf0565b9350613d6a818560208601613d01565b613d7381613d34565b840191505092915050565b60006020820190508181036000830152613d988184613d45565b905092915050565b600060208284031215613db657613db5613b4c565b5b6000613dc484828501613c90565b91505092915050565b613dd681613c31565b82525050565b6000602082019050613df16000830184613dcd565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613e3982613d34565b810181811067ffffffffffffffff82111715613e5857613e57613e01565b5b80604052505050565b6000613e6b613b42565b9050613e778282613e30565b919050565b600067ffffffffffffffff821115613e9757613e96613e01565b5b613ea082613d34565b9050602081019050919050565b82818337600083830152505050565b6000613ecf613eca84613e7c565b613e61565b905082815260208101848484011115613eeb57613eea613dfc565b5b613ef6848285613ead565b509392505050565b600082601f830112613f1357613f12613df7565b5b8135613f23848260208601613ebc565b91505092915050565b600060208284031215613f4257613f41613b4c565b5b600082013567ffffffffffffffff811115613f6057613f5f613b51565b5b613f6c84828501613efe565b91505092915050565b613f7e81613c6f565b82525050565b6000602082019050613f996000830184613f75565b92915050565b600080600060608486031215613fb857613fb7613b4c565b5b6000613fc686828701613c5a565b9350506020613fd786828701613c5a565b9250506040613fe886828701613c90565b9150509250925092565b60006020828403121561400857614007613b4c565b5b600061401684828501613c5a565b91505092915050565b600061402a82613c11565b9050919050565b61403a8161401f565b811461404557600080fd5b50565b60008135905061405781614031565b92915050565b6000806040838503121561407457614073613b4c565b5b600061408285828601614048565b925050602061409385828601613c90565b9150509250929050565b600067ffffffffffffffff8211156140b8576140b7613e01565b5b602082029050602081019050919050565b600080fd5b60006140e16140dc8461409d565b613e61565b90508083825260208201905060208402830185811115614104576141036140c9565b5b835b8181101561412d57806141198882613c5a565b845260208401935050602081019050614106565b5050509392505050565b600082601f83011261414c5761414b613df7565b5b813561415c8482602086016140ce565b91505092915050565b60006020828403121561417b5761417a613b4c565b5b600082013567ffffffffffffffff81111561419957614198613b51565b5b6141a584828501614137565b91505092915050565b600067ffffffffffffffff8211156141c9576141c8613e01565b5b602082029050602081019050919050565b60006141ed6141e8846141ae565b613e61565b905080838252602082019050602084028301858111156142105761420f6140c9565b5b835b8181101561423957806142258882613c90565b845260208401935050602081019050614212565b5050509392505050565b600082601f83011261425857614257613df7565b5b81356142688482602086016141da565b91505092915050565b6000806040838503121561428857614287613b4c565b5b600083013567ffffffffffffffff8111156142a6576142a5613b51565b5b6142b285828601614243565b92505060206142c385828601613c90565b9150509250929050565b6142d681613bdb565b81146142e157600080fd5b50565b6000813590506142f3816142cd565b92915050565b600080604083850312156143105761430f613b4c565b5b600061431e85828601613c5a565b925050602061432f858286016142e4565b9150509250929050565b600067ffffffffffffffff82111561435457614353613e01565b5b61435d82613d34565b9050602081019050919050565b600061437d61437884614339565b613e61565b90508281526020810184848401111561439957614398613dfc565b5b6143a4848285613ead565b509392505050565b600082601f8301126143c1576143c0613df7565b5b81356143d184826020860161436a565b91505092915050565b600080600080608085870312156143f4576143f3613b4c565b5b600061440287828801613c5a565b945050602061441387828801613c5a565b935050604061442487828801613c90565b925050606085013567ffffffffffffffff81111561444557614444613b51565b5b614451878288016143ac565b91505092959194509250565b6000819050919050565b600061448261447d61447884613c11565b61445d565b613c11565b9050919050565b600061449482614467565b9050919050565b60006144a682614489565b9050919050565b6144b68161449b565b82525050565b60006020820190506144d160008301846144ad565b92915050565b600080604083850312156144ee576144ed613b4c565b5b60006144fc85828601613c5a565b925050602061450d85828601613c5a565b9150509250929050565b7f4e6f74207065726d697474656400000000000000000000000000000000000000600082015250565b600061454d600d83613cf0565b915061455882614517565b602082019050919050565b6000602082019050818103600083015261457c81614540565b9050919050565b7f457865656473206d617800000000000000000000000000000000000000000000600082015250565b60006145b9600a83613cf0565b91506145c482614583565b602082019050919050565b600060208201905081810360008301526145e8816145ac565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061462982613c6f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561465c5761465b6145ef565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806146ae57607f821691505b602082108114156146c2576146c1614667565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000614724602c83613cf0565b915061472f826146c8565b604082019050919050565b6000602082019050818103600083015261475381614717565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006147b6602183613cf0565b91506147c18261475a565b604082019050919050565b600060208201905081810360008301526147e5816147a9565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b6000614848603883613cf0565b9150614853826147ec565b604082019050919050565b600060208201905081810360008301526148778161483b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006148b4602083613cf0565b91506148bf8261487e565b602082019050919050565b600060208201905081810360008301526148e3816148a7565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000614946603183613cf0565b9150614951826148ea565b604082019050919050565b6000602082019050818103600083015261497581614939565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b60006149d8602b83613cf0565b91506149e38261497c565b604082019050919050565b60006020820190508181036000830152614a07816149cb565b9050919050565b7f4d696e74696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000614a44601083613cf0565b9150614a4f82614a0e565b602082019050919050565b60006020820190508181036000830152614a7381614a37565b9050919050565b7f43616e206e6f74206d696e742074686973206d75636800000000000000000000600082015250565b6000614ab0601683613cf0565b9150614abb82614a7a565b602082019050919050565b60006020820190508181036000830152614adf81614aa3565b9050919050565b7f53656e64206d6f72652065746800000000000000000000000000000000000000600082015250565b6000614b1c600d83613cf0565b9150614b2782614ae6565b602082019050919050565b60006020820190508181036000830152614b4b81614b0f565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000614bae602c83613cf0565b9150614bb982614b52565b604082019050919050565b60006020820190508181036000830152614bdd81614ba1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b6000614c6f602983613cf0565b9150614c7a82614c13565b604082019050919050565b60006020820190508181036000830152614c9e81614c62565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000614d01602a83613cf0565b9150614d0c82614ca5565b604082019050919050565b60006020820190508181036000830152614d3081614cf4565b9050919050565b7f536f7272792c206d696e74696e67206e6f742073746172746564207965740000600082015250565b6000614d6d601e83613cf0565b9150614d7882614d37565b602082019050919050565b60006020820190508181036000830152614d9c81614d60565b9050919050565b7f416d6f756e74206e6f7420657175616c20746f20746f6b656e49647320616d6f60008201527f756e740000000000000000000000000000000000000000000000000000000000602082015250565b6000614dff602383613cf0565b9150614e0a82614da3565b604082019050919050565b60006020820190508181036000830152614e2e81614df2565b9050919050565b7f536f7272792c206d696e74696e672068617320656e6465640000000000000000600082015250565b6000614e6b601883613cf0565b9150614e7682614e35565b602082019050919050565b60006020820190508181036000830152614e9a81614e5e565b9050919050565b600081519050614eb081613c79565b92915050565b600060208284031215614ecc57614ecb613b4c565b5b6000614eda84828501614ea1565b91505092915050565b7f596f7520646f206e6f74206f776e20656e6f75676820574f46204e46542d7300600082015250565b6000614f19601f83613cf0565b9150614f2482614ee3565b602082019050919050565b60006020820190508181036000830152614f4881614f0c565b9050919050565b7f50756e6b20616c7265616479206d696e74656420666f722074686973204e4654600082015250565b6000614f85602083613cf0565b9150614f9082614f4f565b602082019050919050565b60006020820190508181036000830152614fb481614f78565b9050919050565b600081519050614fca81613c43565b92915050565b600060208284031215614fe657614fe5613b4c565b5b6000614ff484828501614fbb565b91505092915050565b7f596f7520646f206e6f74206f776e207468697320746f6b656e00000000000000600082015250565b6000615033601983613cf0565b915061503e82614ffd565b602082019050919050565b6000602082019050818103600083015261506281615026565b9050919050565b7f596f7520617265206e6f74206f6e2077686974656c6973740000000000000000600082015250565b600061509f601883613cf0565b91506150aa82615069565b602082019050919050565b600060208201905081810360008301526150ce81615092565b9050919050565b7f4d6178206d696e7473207065722077616c6c6574206163686965766564000000600082015250565b600061510b601d83613cf0565b9150615116826150d5565b602082019050919050565b6000602082019050818103600083015261513a816150fe565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000615177601983613cf0565b915061518282615141565b602082019050919050565b600060208201905081810360008301526151a68161516a565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000615209602f83613cf0565b9150615214826151ad565b604082019050919050565b60006020820190508181036000830152615238816151fc565b9050919050565b600081905092915050565b600061525582613ce5565b61525f818561523f565b935061526f818560208601613d01565b80840191505092915050565b6000615287828561524a565b9150615293828461524a565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006152fb602683613cf0565b91506153068261529f565b604082019050919050565b6000602082019050818103600083015261532a816152ee565b9050919050565b600061533c82613c6f565b915061534783613c6f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561537c5761537b6145ef565b5b828201905092915050565b7f4d617820616c7265616479206d696e7465640000000000000000000000000000600082015250565b60006153bd601283613cf0565b91506153c882615387565b602082019050919050565b600060208201905081810360008301526153ec816153b0565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b600061544f602c83613cf0565b915061545a826153f3565b604082019050919050565b6000602082019050818103600083015261547e81615442565b9050919050565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b60006154e1602983613cf0565b91506154ec82615485565b604082019050919050565b60006020820190508181036000830152615510816154d4565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000615573602483613cf0565b915061557e82615517565b604082019050919050565b600060208201905081810360008301526155a281615566565b9050919050565b60006155b482613c6f565b91506155bf83613c6f565b9250828210156155d2576155d16145ef565b5b828203905092915050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000615639603283613cf0565b9150615644826155dd565b604082019050919050565b600060208201905081810360008301526156688161562c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006156a982613c6f565b91506156b483613c6f565b9250826156c4576156c361566f565b5b828204905092915050565b60006156da82613c6f565b91506156e583613c6f565b9250826156f5576156f461566f565b5b828206905092915050565b600081519050919050565b600082825260208201905092915050565b600061572782615700565b615731818561570b565b9350615741818560208601613d01565b61574a81613d34565b840191505092915050565b600060808201905061576a6000830187613dcd565b6157776020830186613dcd565b6157846040830185613f75565b8181036060830152615796818461571c565b905095945050505050565b6000815190506157b081613b82565b92915050565b6000602082840312156157cc576157cb613b4c565b5b60006157da848285016157a1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000615848602083613cf0565b915061585382615812565b602082019050919050565b600060208201905081810360008301526158778161583b565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006158b4601c83613cf0565b91506158bf8261587e565b602082019050919050565b600060208201905081810360008301526158e3816158a7565b905091905056fea26469706673582212203ca413742a37c4cbc083d9eb997c52285b096475250eedabb11bd9ffc0b34f0a64736f6c634300080900330000000000000000000000001a7e29a8c5d2320a1b56735b7654139e7b2860af