6080604052612710600955610bb8600a556014600b55601e600c556001600d55660aa87bee538000600e553480156200003757600080fd5b50604051620039be380380620039be83398181016040528101906200005d91906200069c565b733cc6cdda760b79bafa08df41ecfa224f810dceb660016040518060400160405280600881526020017f4e616b617a756b690000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4e4b5a4b490000000000000000000000000000000000000000000000000000008152508160029080519060200190620000f89291906200044f565b508060039080519060200190620001119291906200044f565b50620001226200037c60201b60201c565b600081905550505060006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b11156200031f578015620001e5576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16637d3e3dbe30846040518363ffffffff1660e01b8152600401620001ab92919062000732565b600060405180830381600087803b158015620001c657600080fd5b505af1158015620001db573d6000803e3d6000fd5b505050506200031e565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146200029f576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663a0af290330846040518363ffffffff1660e01b81526004016200026592919062000732565b600060405180830381600087803b1580156200028057600080fd5b505af115801562000295573d6000803e3d6000fd5b505050506200031d565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b8152600401620002e891906200075f565b600060405180830381600087803b1580156200030357600080fd5b505af115801562000318573d6000803e3d6000fd5b505050505b5b5b505062000341620003356200038160201b60201c565b6200038960201b60201c565b8060109080519060200190620003599291906200044f565b506000600f60006101000a81548160ff02191690831515021790555050620007e0565b600090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200045d90620007ab565b90600052602060002090601f016020900481019282620004815760008555620004cd565b82601f106200049c57805160ff1916838001178555620004cd565b82800160010185558215620004cd579182015b82811115620004cc578251825591602001919060010190620004af565b5b509050620004dc9190620004e0565b5090565b5b80821115620004fb576000816000905550600101620004e1565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000568826200051d565b810181811067ffffffffffffffff821117156200058a57620005896200052e565b5b80604052505050565b60006200059f620004ff565b9050620005ad82826200055d565b919050565b600067ffffffffffffffff821115620005d057620005cf6200052e565b5b620005db826200051d565b9050602081019050919050565b60005b8381101562000608578082015181840152602081019050620005eb565b8381111562000618576000848401525b50505050565b6000620006356200062f84620005b2565b62000593565b90508281526020810184848401111562000654576200065362000518565b5b62000661848285620005e8565b509392505050565b600082601f83011262000681576200068062000513565b5b8151620006938482602086016200061e565b91505092915050565b600060208284031215620006b557620006b462000509565b5b600082015167ffffffffffffffff811115620006d657620006d56200050e565b5b620006e48482850162000669565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200071a82620006ed565b9050919050565b6200072c816200070d565b82525050565b600060408201905062000749600083018562000721565b62000758602083018462000721565b9392505050565b600060208201905062000776600083018462000721565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620007c457607f821691505b602082108103620007da57620007d96200077c565b5b50919050565b6131ce80620007f06000396000f3fe6080604052600436106101ee5760003560e01c8063563aaf111161010d57806395d89b41116100a0578063c87b56dd1161006f578063c87b56dd14610654578063c9b0a2a714610691578063d755bf99146106bc578063e985e9c5146106e5578063f2fde38b14610722576101ee565b806395d89b41146105b957806396f0bd61146105e4578063a22cb4651461060f578063b88d4fde14610638576101ee565b806370a08231116100dc57806370a0823114610511578063715018a61461054e5780638da5cb5b1461056557806391b7f5ed14610590576101ee565b8063563aaf111461045757806362628e66146104805780636352211e146104a95780636c0360eb146104e6576101ee565b806323b872dd1161018557806342842e0e1161015457806342842e0e146103aa578063438a67e7146103c657806347aa9a5b1461040357806355f804b31461042e576101ee565b806323b872dd1461033d57806328473e1c146103595780633ccfd60b1461037557806341f434341461037f576101ee565b8063095ea7b3116101c1578063095ea7b3146102b457806315ef3061146102d057806318160ddd146102fb5780631d9cfd6d14610326576101ee565b806301ffc9a7146101f357806306fdde0314610230578063078837031461025b578063081812fc14610277575b600080fd5b3480156101ff57600080fd5b5061021a600480360381019061021591906123c0565b61074b565b6040516102279190612408565b60405180910390f35b34801561023c57600080fd5b506102456107dd565b60405161025291906124bc565b60405180910390f35b61027560048036038101906102709190612514565b61086f565b005b34801561028357600080fd5b5061029e60048036038101906102999190612514565b610b07565b6040516102ab9190612582565b60405180910390f35b6102ce60048036038101906102c991906125c9565b610b86565b005b3480156102dc57600080fd5b506102e5610b9f565b6040516102f29190612618565b60405180910390f35b34801561030757600080fd5b50610310610ba9565b60405161031d9190612618565b60405180910390f35b34801561033257600080fd5b5061033b610bc0565b005b61035760048036038101906103529190612633565b610c1b565b005b610373600480360381019061036e9190612514565b610c6a565b005b61037d610cd6565b005b34801561038b57600080fd5b50610394610e20565b6040516103a191906126e5565b60405180910390f35b6103c460048036038101906103bf9190612633565b610e32565b005b3480156103d257600080fd5b506103ed60048036038101906103e89190612700565b610e81565b6040516103fa9190612618565b60405180910390f35b34801561040f57600080fd5b50610418610e99565b6040516104259190612618565b60405180910390f35b34801561043a57600080fd5b5061045560048036038101906104509190612792565b610ea3565b005b34801561046357600080fd5b5061047e60048036038101906104799190612514565b610ec1565b005b34801561048c57600080fd5b506104a760048036038101906104a291906127df565b610ed3565b005b3480156104b557600080fd5b506104d060048036038101906104cb9190612514565b610f07565b6040516104dd9190612582565b60405180910390f35b3480156104f257600080fd5b506104fb610f19565b60405161050891906124bc565b60405180910390f35b34801561051d57600080fd5b5061053860048036038101906105339190612700565b610fa7565b6040516105459190612618565b60405180910390f35b34801561055a57600080fd5b5061056361105f565b005b34801561057157600080fd5b5061057a611073565b6040516105879190612582565b60405180910390f35b34801561059c57600080fd5b506105b760048036038101906105b29190612514565b61109d565b005b3480156105c557600080fd5b506105ce6110c1565b6040516105db91906124bc565b60405180910390f35b3480156105f057600080fd5b506105f9611153565b6040516106069190612618565b60405180910390f35b34801561061b57600080fd5b506106366004803603810190610631919061285e565b61115d565b005b610652600480360381019061064d91906129ce565b611176565b005b34801561066057600080fd5b5061067b60048036038101906106769190612514565b6111c7565b60405161068891906124bc565b60405180910390f35b34801561069d57600080fd5b506106a6611265565b6040516106b39190612408565b60405180910390f35b3480156106c857600080fd5b506106e360048036038101906106de9190612514565b611278565b005b3480156106f157600080fd5b5061070c60048036038101906107079190612a51565b61128a565b6040516107199190612408565b60405180910390f35b34801561072e57600080fd5b5061074960048036038101906107449190612700565b61131e565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107a657506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806107d65750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6060600280546107ec90612ac0565b80601f016020809104026020016040519081016040528092919081815260200182805461081890612ac0565b80156108655780601f1061083a57610100808354040283529160200191610865565b820191906000526020600020905b81548152906001019060200180831161084857829003601f168201915b5050505050905090565b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600f60009054906101000a900460ff16610902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f990612b3d565b60405180910390fd5b600b54821115610947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093e90612ba9565b60405180910390fd5b600c5481836109569190612bf8565b1115610997576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098e90612c9a565b60405180910390fd5b600954826109a3610ba9565b6109ad9190612bf8565b11156109ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e590612d06565b60405180910390fd5b6000829050600a546109fe610ba9565b11610a0c5760009050610a52565b600d54821015610a51578282600d54610a259190612d26565b1115610a345760009050610a50565b81600d54610a429190612d26565b83610a4d9190612d26565b90505b5b5b600e5481610a609190612d5a565b341015610aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9990612e00565b60405180910390fd5b610aac33846113a1565b82601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610afb9190612bf8565b92505081905550505050565b6000610b12826113bf565b610b48576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b81610b908161141e565b610b9a838361151b565b505050565b6000600d54905090565b6000610bb361165f565b6001546000540303905090565b610bc8611664565b600f60009054906101000a900460ff1615610bfd576000600f60006101000a81548160ff021916908315150217905550610c19565b6001600f60006101000a81548160ff0219169083151502179055505b565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c5957610c583361141e565b5b610c648484846116e2565b50505050565b610c72611664565b60095481610c7e610ba9565b610c889190612bf8565b1115610cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc090612e6c565b60405180910390fd5b610cd333826113a1565b50565b610cde611664565b600073779964e81a5df8307feafdd71a6d55817eae603f90508073ffffffffffffffffffffffffffffffffffffffff166108fc6064601447610d209190612d5a565b610d2a9190612ebb565b9081150290604051600060405180830381858888f19350505050158015610d55573d6000803e3d6000fd5b50600073be47e5b1e71cf8f2cb0e85722b9257c09fb0dda790508073ffffffffffffffffffffffffffffffffffffffff166108fc6064603247610d989190612d5a565b610da29190612ebb565b9081150290604051600060405180830381858888f19350505050158015610dcd573d6000803e3d6000fd5b50610dd6611073565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610e1b573d6000803e3d6000fd5b505050565b6daaeb6d7670e522a718067333cd4e81565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610e7057610e6f3361141e565b5b610e7b848484611a04565b50505050565b60116020528060005260406000206000915090505481565b6000600a54905090565b610eab611664565b818160109190610ebc9291906122b1565b505050565b610ec9611664565b80600a8190555050565b610edb611664565b82600d8190555066038d7ea4c6800082610ef59190612d5a565b600e8190555080600a81905550505050565b6000610f1282611a24565b9050919050565b60108054610f2690612ac0565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5290612ac0565b8015610f9f5780601f10610f7457610100808354040283529160200191610f9f565b820191906000526020600020905b815481529060010190602001808311610f8257829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361100e576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b611067611664565b6110716000611af0565b565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110a5611664565b66038d7ea4c68000816110b89190612d5a565b600e8190555050565b6060600380546110d090612ac0565b80601f01602080910402602001604051908101604052809291908181526020018280546110fc90612ac0565b80156111495780601f1061111e57610100808354040283529160200191611149565b820191906000526020600020905b81548152906001019060200180831161112c57829003601f168201915b5050505050905090565b6000600e54905090565b816111678161141e565b6111718383611bb6565b505050565b833373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146111b4576111b33361141e565b5b6111c085858585611cc1565b5050505050565b60606111d2826113bf565b611208576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611212611d34565b90506000815103611232576040518060200160405280600081525061125d565b8061123c84611dc6565b60405160200161124d929190612f28565b6040516020818303038152906040525b915050919050565b600f60009054906101000a900460ff1681565b611280611664565b80600d8190555050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611326611664565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138c90612fbe565b60405180910390fd5b61139e81611af0565b50565b6113bb828260405180602001604052806000815250611e16565b5050565b6000816113ca61165f565b111580156113d9575060005482105b8015611417575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b60006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115611518576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b8152600401611495929190612fde565b602060405180830381865afa1580156114b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d6919061301c565b61151757806040517fede71dcc00000000000000000000000000000000000000000000000000000000815260040161150e9190612582565b60405180910390fd5b5b50565b600061152682610f07565b90508073ffffffffffffffffffffffffffffffffffffffff16611547611eb3565b73ffffffffffffffffffffffffffffffffffffffff16146115aa576115738161156e611eb3565b61128a565b6115a9576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600090565b61166c611ebb565b73ffffffffffffffffffffffffffffffffffffffff1661168a611073565b73ffffffffffffffffffffffffffffffffffffffff16146116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d790613095565b60405180910390fd5b565b60006116ed82611a24565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611754576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061176084611ec3565b915091506117768187611771611eb3565b611eea565b6117c25761178b86611786611eb3565b61128a565b6117c1576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611828576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118358686866001611f2e565b801561184057600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001019190508190555061190e856118ea888887611f34565b7c020000000000000000000000000000000000000000000000000000000017611f5c565b600460008681526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008416036119945760006001850190506000600460008381526020019081526020016000205403611992576000548114611991578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46119fc8686866001611f87565b505050505050565b611a1f83838360405180602001604052806000815250611176565b505050565b60008082905080611a3361165f565b11611ab957600054811015611ab85760006004600083815260200190815260200160002054905060007c0100000000000000000000000000000000000000000000000000000000821603611ab6575b60008103611aac576004600083600190039350838152602001908152602001600020549050611a82565b8092505050611aeb565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060076000611bc3611eb3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611c70611eb3565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611cb59190612408565b60405180910390a35050565b611ccc848484610c1b565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611d2e57611cf784848484611f8d565b611d2d576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b606060108054611d4390612ac0565b80601f0160208091040260200160405190810160405280929190818152602001828054611d6f90612ac0565b8015611dbc5780601f10611d9157610100808354040283529160200191611dbc565b820191906000526020600020905b815481529060010190602001808311611d9f57829003601f168201915b5050505050905090565b606060a060405101806040526020810391506000825281835b600115611e0157600184039350600a81066030018453600a8104905080611ddf575b50828103602084039350808452505050919050565b611e2083836120dd565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611eae57600080549050600083820390505b611e606000868380600101945086611f8d565b611e96576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818110611e4d578160005414611eab57600080fd5b50505b505050565b600033905090565b600033905090565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8611f4b868684612298565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611fb3611eb3565b8786866040518563ffffffff1660e01b8152600401611fd5949392919061310a565b6020604051808303816000875af192505050801561201157506040513d601f19601f8201168201806040525081019061200e919061316b565b60015b61208a573d8060008114612041576040519150601f19603f3d011682016040523d82523d6000602084013e612046565b606091505b506000815103612082576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6000805490506000820361211d576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61212a6000848385611f2e565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506121a1836121926000866000611f34565b61219b856122a1565b17611f5c565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b81811461224257808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600181019050612207565b506000820361227d576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060008190555050506122936000848385611f87565b505050565b60009392505050565b60006001821460e11b9050919050565b8280546122bd90612ac0565b90600052602060002090601f0160209004810192826122df5760008555612326565b82601f106122f857803560ff1916838001178555612326565b82800160010185558215612326579182015b8281111561232557823582559160200191906001019061230a565b5b5090506123339190612337565b5090565b5b80821115612350576000816000905550600101612338565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61239d81612368565b81146123a857600080fd5b50565b6000813590506123ba81612394565b92915050565b6000602082840312156123d6576123d561235e565b5b60006123e4848285016123ab565b91505092915050565b60008115159050919050565b612402816123ed565b82525050565b600060208201905061241d60008301846123f9565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561245d578082015181840152602081019050612442565b8381111561246c576000848401525b50505050565b6000601f19601f8301169050919050565b600061248e82612423565b612498818561242e565b93506124a881856020860161243f565b6124b181612472565b840191505092915050565b600060208201905081810360008301526124d68184612483565b905092915050565b6000819050919050565b6124f1816124de565b81146124fc57600080fd5b50565b60008135905061250e816124e8565b92915050565b60006020828403121561252a5761252961235e565b5b6000612538848285016124ff565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061256c82612541565b9050919050565b61257c81612561565b82525050565b60006020820190506125976000830184612573565b92915050565b6125a681612561565b81146125b157600080fd5b50565b6000813590506125c38161259d565b92915050565b600080604083850312156125e0576125df61235e565b5b60006125ee858286016125b4565b92505060206125ff858286016124ff565b9150509250929050565b612612816124de565b82525050565b600060208201905061262d6000830184612609565b92915050565b60008060006060848603121561264c5761264b61235e565b5b600061265a868287016125b4565b935050602061266b868287016125b4565b925050604061267c868287016124ff565b9150509250925092565b6000819050919050565b60006126ab6126a66126a184612541565b612686565b612541565b9050919050565b60006126bd82612690565b9050919050565b60006126cf826126b2565b9050919050565b6126df816126c4565b82525050565b60006020820190506126fa60008301846126d6565b92915050565b6000602082840312156127165761271561235e565b5b6000612724848285016125b4565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126127525761275161272d565b5b8235905067ffffffffffffffff81111561276f5761276e612732565b5b60208301915083600182028301111561278b5761278a612737565b5b9250929050565b600080602083850312156127a9576127a861235e565b5b600083013567ffffffffffffffff8111156127c7576127c6612363565b5b6127d38582860161273c565b92509250509250929050565b6000806000606084860312156127f8576127f761235e565b5b6000612806868287016124ff565b9350506020612817868287016124ff565b9250506040612828868287016124ff565b9150509250925092565b61283b816123ed565b811461284657600080fd5b50565b60008135905061285881612832565b92915050565b600080604083850312156128755761287461235e565b5b6000612883858286016125b4565b925050602061289485828601612849565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6128db82612472565b810181811067ffffffffffffffff821117156128fa576128f96128a3565b5b80604052505050565b600061290d612354565b905061291982826128d2565b919050565b600067ffffffffffffffff821115612939576129386128a3565b5b61294282612472565b9050602081019050919050565b82818337600083830152505050565b600061297161296c8461291e565b612903565b90508281526020810184848401111561298d5761298c61289e565b5b61299884828561294f565b509392505050565b600082601f8301126129b5576129b461272d565b5b81356129c584826020860161295e565b91505092915050565b600080600080608085870312156129e8576129e761235e565b5b60006129f6878288016125b4565b9450506020612a07878288016125b4565b9350506040612a18878288016124ff565b925050606085013567ffffffffffffffff811115612a3957612a38612363565b5b612a45878288016129a0565b91505092959194509250565b60008060408385031215612a6857612a6761235e565b5b6000612a76858286016125b4565b9250506020612a87858286016125b4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612ad857607f821691505b602082108103612aeb57612aea612a91565b5b50919050565b7f53616c65206973206e6f74206163746976650000000000000000000000000000600082015250565b6000612b2760128361242e565b9150612b3282612af1565b602082019050919050565b60006020820190508181036000830152612b5681612b1a565b9050919050565b7f457863656564656420746865206d617820616d6f756e74207065722074780000600082015250565b6000612b93601e8361242e565b9150612b9e82612b5d565b602082019050919050565b60006020820190508181036000830152612bc281612b86565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c03826124de565b9150612c0e836124de565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c4357612c42612bc9565b5b828201905092915050565b7f457863656564656420746865206d617820616d6f756e74206f66206d696e7473600082015250565b6000612c8460208361242e565b9150612c8f82612c4e565b602082019050919050565b60006020820190508181036000830152612cb381612c77565b9050919050565b7f4e6f7420656e6f756768204e616b617a756b69204e465473206c656674000000600082015250565b6000612cf0601d8361242e565b9150612cfb82612cba565b602082019050919050565b60006020820190508181036000830152612d1f81612ce3565b9050919050565b6000612d31826124de565b9150612d3c836124de565b925082821015612d4f57612d4e612bc9565b5b828203905092915050565b6000612d65826124de565b9150612d70836124de565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612da957612da8612bc9565b5b828202905092915050565b7f4e6f7420656e6f7567682065746865722073656e740000000000000000000000600082015250565b6000612dea60158361242e565b9150612df582612db4565b602082019050919050565b60006020820190508181036000830152612e1981612ddd565b9050919050565b7f4e6f7420656e6f756768204e616b617a756b69206c6566740000000000000000600082015250565b6000612e5660188361242e565b9150612e6182612e20565b602082019050919050565b60006020820190508181036000830152612e8581612e49565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ec6826124de565b9150612ed1836124de565b925082612ee157612ee0612e8c565b5b828204905092915050565b600081905092915050565b6000612f0282612423565b612f0c8185612eec565b9350612f1c81856020860161243f565b80840191505092915050565b6000612f348285612ef7565b9150612f408284612ef7565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612fa860268361242e565b9150612fb382612f4c565b604082019050919050565b60006020820190508181036000830152612fd781612f9b565b9050919050565b6000604082019050612ff36000830185612573565b6130006020830184612573565b9392505050565b60008151905061301681612832565b92915050565b6000602082840312156130325761303161235e565b5b600061304084828501613007565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061307f60208361242e565b915061308a82613049565b602082019050919050565b600060208201905081810360008301526130ae81613072565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006130dc826130b5565b6130e681856130c0565b93506130f681856020860161243f565b6130ff81612472565b840191505092915050565b600060808201905061311f6000830187612573565b61312c6020830186612573565b6131396040830185612609565b818103606083015261314b81846130d1565b905095945050505050565b60008151905061316581612394565b92915050565b6000602082840312156131815761318061235e565b5b600061318f84828501613156565b9150509291505056fea26469706673582212205bb094db12ffe89e7deddb025bf589abfc09b86273abb64a49ee44f2daeeb6c264736f6c634300080d003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d5161655766466e3164754167365634534e47466b76323578516b3373544a7054774d4a59545a536a35374a482f00000000000000000000