60806040526000600860146101000a81548160ff0219169083151502179055506115b360095566071afd498d0000600a556001600b55600a600c553480156200004757600080fd5b50604051620038a7380380620038a783398181016040528101906200006d919062000482565b6040518060400160405280601081526020017f4d69646e696768742057616c6b657273000000000000000000000000000000008152506040518060400160405280600281526020017f4d570000000000000000000000000000000000000000000000000000000000008152508160029081620000ea91906200071e565b508060039081620000fc91906200071e565b506200010d6200017960201b60201c565b600081905550505062000135620001296200017e60201b60201c565b6200018660201b60201c565b620001456200024c60201b60201c565b6001600e60006101000a81548160ff02191690831515021790555080600d90816200017191906200071e565b505062000805565b600090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b62000273733cc6cdda760b79bafa08df41ecfa224f810dceb660016200027560201b60201c565b565b637d3e3dbe8260601b60601c925081620002a457826200029c57634420e4869050620002a4565b63a0af290390505b8060e01b60005230600452826024526004600060446000806daaeb6d7670e522a718067333cd4e5af1620002e5578060005160e01c03620002e457600080fd5b5b6000602452505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000358826200030d565b810181811067ffffffffffffffff821117156200037a57620003796200031e565b5b80604052505050565b60006200038f620002ef565b90506200039d82826200034d565b919050565b600067ffffffffffffffff821115620003c057620003bf6200031e565b5b620003cb826200030d565b9050602081019050919050565b60005b83811015620003f8578082015181840152602081019050620003db565b60008484015250505050565b60006200041b6200041584620003a2565b62000383565b9050828152602081018484840111156200043a576200043962000308565b5b62000447848285620003d8565b509392505050565b600082601f83011262000467576200046662000303565b5b81516200047984826020860162000404565b91505092915050565b6000602082840312156200049b576200049a620002f9565b5b600082015167ffffffffffffffff811115620004bc57620004bb620002fe565b5b620004ca848285016200044f565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200052657607f821691505b6020821081036200053c576200053b620004de565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005a67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000567565b620005b2868362000567565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620005ff620005f9620005f384620005ca565b620005d4565b620005ca565b9050919050565b6000819050919050565b6200061b83620005de565b620006336200062a8262000606565b84845462000574565b825550505050565b600090565b6200064a6200063b565b6200065781848462000610565b505050565b5b818110156200067f576200067360008262000640565b6001810190506200065d565b5050565b601f821115620006ce57620006988162000542565b620006a38462000557565b81016020851015620006b3578190505b620006cb620006c28562000557565b8301826200065c565b50505b505050565b600082821c905092915050565b6000620006f360001984600802620006d3565b1980831691505092915050565b60006200070e8383620006e0565b9150826002028217905092915050565b6200072982620004d3565b67ffffffffffffffff8111156200074557620007446200031e565b5b6200075182546200050d565b6200075e82828562000683565b600060209050601f83116001811462000796576000841562000781578287015190505b6200078d858262000700565b865550620007fd565b601f198416620007a68662000542565b60005b82811015620007d057848901518255600182019150602085019450602081019050620007a9565b86831015620007f05784890151620007ec601f891682620006e0565b8355505b6001600288020188555050505b505050505050565b61309280620008156000396000f3fe6080604052600436106101e35760003560e01c80636c0360eb11610102578063a50646f611610095578063d5158b4311610064578063d5158b431461063f578063e985e9c51461066a578063f2fde38b146106a7578063fb796e6c146106d0576101e3565b8063a50646f614610592578063b7c0b8e8146105bd578063b88d4fde146105e6578063c87b56dd14610602576101e3565b80638ba4cc3c116100d15780638ba4cc3c146104ea5780638da5cb5b1461051357806395d89b411461053e578063a22cb46514610569576101e3565b80636c0360eb1461044057806370a082311461046b578063715018a6146104a85780638a75283f146104bf576101e3565b80632bc7a4ae1161017a57806355f804b31161014957806355f804b3146103a75780635699d6a0146103d05780636352211e146103ec5780636afd77d314610429576101e3565b80632bc7a4ae1461033257806332cb6b0c146103495780633ccfd60b1461037457806342842e0e1461038b576101e3565b8063095ea7b3116101b6578063095ea7b3146102a457806315c0b1a6146102c057806318160ddd146102eb57806323b872dd14610316576101e3565b806301ffc9a7146101e8578063029877b61461022557806306fdde031461023c578063081812fc14610267575b600080fd5b3480156101f457600080fd5b5061020f600480360381019061020a91906122ef565b6106fb565b60405161021c9190612337565b60405180910390f35b34801561023157600080fd5b5061023a61078d565b005b34801561024857600080fd5b506102516107ec565b60405161025e91906123e2565b60405180910390f35b34801561027357600080fd5b5061028e6004803603810190610289919061243a565b61087e565b60405161029b91906124a8565b60405180910390f35b6102be60048036038101906102b991906124ef565b6108fd565b005b3480156102cc57600080fd5b506102d5610932565b6040516102e2919061253e565b60405180910390f35b3480156102f757600080fd5b50610300610938565b60405161030d919061253e565b60405180910390f35b610330600480360381019061032b9190612559565b61094f565b005b34801561033e57600080fd5b506103476109ba565b005b34801561035557600080fd5b5061035e610b14565b60405161036b919061253e565b60405180910390f35b34801561038057600080fd5b50610389610b1a565b005b6103a560048036038101906103a09190612559565b610b9f565b005b3480156103b357600080fd5b506103ce60048036038101906103c991906126e1565b610c0a565b005b6103ea60048036038101906103e5919061243a565b610c25565b005b3480156103f857600080fd5b50610413600480360381019061040e919061243a565b610db7565b60405161042091906124a8565b60405180910390f35b34801561043557600080fd5b5061043e610dc9565b005b34801561044c57600080fd5b50610455610dfd565b60405161046291906123e2565b60405180910390f35b34801561047757600080fd5b50610492600480360381019061048d919061272a565b610e8b565b60405161049f919061253e565b60405180910390f35b3480156104b457600080fd5b506104bd610f43565b005b3480156104cb57600080fd5b506104d4610f57565b6040516104e1919061253e565b60405180910390f35b3480156104f657600080fd5b50610511600480360381019061050c91906124ef565b610f5d565b005b34801561051f57600080fd5b50610528610f94565b60405161053591906124a8565b60405180910390f35b34801561054a57600080fd5b50610553610fbe565b60405161056091906123e2565b60405180910390f35b34801561057557600080fd5b50610590600480360381019061058b9190612783565b611050565b005b34801561059e57600080fd5b506105a7611085565b6040516105b49190612337565b60405180910390f35b3480156105c957600080fd5b506105e460048036038101906105df91906127c3565b611098565b005b61060060048036038101906105fb9190612891565b6110bd565b005b34801561060e57600080fd5b506106296004803603810190610624919061243a565b61112a565b60405161063691906123e2565b60405180910390f35b34801561064b57600080fd5b506106546111c8565b604051610661919061253e565b60405180910390f35b34801561067657600080fd5b50610691600480360381019061068c9190612914565b6111ce565b60405161069e9190612337565b60405180910390f35b3480156106b357600080fd5b506106ce60048036038101906106c9919061272a565b611262565b005b3480156106dc57600080fd5b506106e56112e5565b6040516106f29190612337565b60405180910390f35b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061075657506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806107865750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6107956112f8565b600061079f610938565b146107df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d6906129a0565b60405180910390fd5b6107ea336064611376565b565b6060600280546107fb906129ef565b80601f0160208091040260200160405190810160405280929190818152602001828054610827906129ef565b80156108745780601f1061084957610100808354040283529160200191610874565b820191906000526020600020905b81548152906001019060200180831161085757829003601f168201915b5050505050905090565b600061088982611531565b6108bf576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8161090781611590565b61092357610913611597565b1561092257610921816115ae565b5b5b61092d83836115f2565b505050565b600b5481565b6000610942611736565b6001546000540303905090565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109a95761098c33611590565b6109a857610998611597565b156109a7576109a6336115ae565b5b5b5b6109b484848461173b565b50505050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610a28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1f90612a6c565b60405180910390fd5b600860149054906101000a900460ff16610a6e576040517f14896b6600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600954610a79611a5d565b10610ab0576040517f15113bfc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610abb33611a70565b67ffffffffffffffff1614610afc576040517f959fb09d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b07336001611abd565b610b12336001611376565b565b60095481565b610b226112f8565b610b2a610f94565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050610b9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9490612ad8565b60405180910390fd5b565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610bf957610bdc33611590565b610bf857610be8611597565b15610bf757610bf6336115ae565b5b5b5b610c04848484611b73565b50505050565b610c126112f8565b80600d9081610c219190612ca4565b5050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610c93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8a90612a6c565b60405180910390fd5b600860149054906101000a900460ff16610cd9576040517f14896b6600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60095481610ce5611a5d565b610cef9190612da5565b1115610d27576040517f15113bfc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54811115610d63576040517f9dcaf58100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a5481610d719190612dd9565b341015610daa576040517fcd1c886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610db43382611376565b50565b6000610dc282611b93565b9050919050565b610dd16112f8565b600860149054906101000a900460ff1615600860146101000a81548160ff021916908315150217905550565b600d8054610e0a906129ef565b80601f0160208091040260200160405190810160405280929190818152602001828054610e36906129ef565b8015610e835780601f10610e5857610100808354040283529160200191610e83565b820191906000526020600020905b815481529060010190602001808311610e6657829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ef2576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b610f4b6112f8565b610f556000611c5f565b565b600c5481565b610f656112f8565b60095481610f71610938565b610f7b9190612da5565b1115610f8657600080fd5b610f908282611d25565b5050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610fcd906129ef565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff9906129ef565b80156110465780601f1061101b57610100808354040283529160200191611046565b820191906000526020600020905b81548152906001019060200180831161102957829003601f168201915b5050505050905090565b8161105a81611590565b61107657611066611597565b1561107557611074816115ae565b5b5b6110808383611d43565b505050565b600860149054906101000a900460ff1681565b6110a06112f8565b80600e60006101000a81548160ff02191690831515021790555050565b833373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611117576110fa33611590565b61111657611106611597565b1561111557611114336115ae565b5b5b5b61112385858585611e4e565b5050505050565b606061113582611531565b61116b576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611175611ec1565b9050600081510361119557604051806020016040528060008152506111c0565b8061119f84611f53565b6040516020016111b0929190612e57565b6040516020818303038152906040525b915050919050565b600a5481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61126a6112f8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d090612eed565b60405180910390fd5b6112e281611c5f565b50565b600e60009054906101000a900460ff1681565b611300611fa3565b73ffffffffffffffffffffffffffffffffffffffff1661131e610f94565b73ffffffffffffffffffffffffffffffffffffffff1614611374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136b90612f59565b60405180910390fd5b565b600080549050600082036113b6576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113c36000848385611fab565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555061143a8361142b6000866000611fb1565b61143485611fd9565b17611fe9565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b8181146114db57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a46001810190506114a0565b5060008203611516576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600081905550505061152c6000848385612014565b505050565b60008161153c611736565b1115801561154b575060005482105b8015611589575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b6000919050565b6000600e60009054906101000a900460ff16905090565b69c617113400112233445560005230601a5280603a52600080604460166daaeb6d7670e522a718067333cd4e5afa6115ea573d6000803e3d6000fd5b6000603a5250565b60006115fd82610db7565b90508073ffffffffffffffffffffffffffffffffffffffff1661161e61201a565b73ffffffffffffffffffffffffffffffffffffffff16146116815761164a8161164561201a565b6111ce565b611680576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600090565b600061174682611b93565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146117ad576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806117b984612022565b915091506117cf81876117ca61201a565b612049565b61181b576117e4866117df61201a565b6111ce565b61181a576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611881576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61188e8686866001611fab565b801561189957600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001019190508190555061196785611943888887611fb1565b7c020000000000000000000000000000000000000000000000000000000017611fe9565b600460008681526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008416036119ed57600060018501905060006004600083815260200190815260200160002054036119eb5760005481146119ea578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611a558686866001612014565b505050505050565b6000611a67611736565b60005403905090565b600060c0600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054901c9050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600082905060c081901b77ffffffffffffffffffffffffffffffffffffffffffffffff831617915081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b611b8e838383604051806020016040528060008152506110bd565b505050565b60008082905080611ba2611736565b11611c2857600054811015611c275760006004600083815260200190815260200160002054905060007c0100000000000000000000000000000000000000000000000000000000821603611c25575b60008103611c1b576004600083600190039350838152602001908152602001600020549050611bf1565b8092505050611c5a565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611d3f82826040518060200160405280600081525061208d565b5050565b8060076000611d5061201a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611dfd61201a565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611e429190612337565b60405180910390a35050565b611e5984848461094f565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611ebb57611e848484848461212a565b611eba576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b6060600d8054611ed0906129ef565b80601f0160208091040260200160405190810160405280929190818152602001828054611efc906129ef565b8015611f495780601f10611f1e57610100808354040283529160200191611f49565b820191906000526020600020905b815481529060010190602001808311611f2c57829003601f168201915b5050505050905090565b606060a060405101806040526020810391506000825281835b600115611f8e57600184039350600a81066030018453600a8104905080611f6c575b50828103602084039350808452505050919050565b600033905090565b50505050565b60008060e883901c905060e8611fc886868461227a565b62ffffff16901b9150509392505050565b60006001821460e11b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b600033905090565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b6120978383611376565b60008373ffffffffffffffffffffffffffffffffffffffff163b1461212557600080549050600083820390505b6120d7600086838060010194508661212a565b61210d576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181106120c457816000541461212257600080fd5b50505b505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261215061201a565b8786866040518563ffffffff1660e01b81526004016121729493929190612fce565b6020604051808303816000875af19250505080156121ae57506040513d601f19601f820116820180604052508101906121ab919061302f565b60015b612227573d80600081146121de576040519150601f19603f3d011682016040523d82523d6000602084013e6121e3565b606091505b50600081510361221f576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b60009392505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6122cc81612297565b81146122d757600080fd5b50565b6000813590506122e9816122c3565b92915050565b6000602082840312156123055761230461228d565b5b6000612313848285016122da565b91505092915050565b60008115159050919050565b6123318161231c565b82525050565b600060208201905061234c6000830184612328565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561238c578082015181840152602081019050612371565b60008484015250505050565b6000601f19601f8301169050919050565b60006123b482612352565b6123be818561235d565b93506123ce81856020860161236e565b6123d781612398565b840191505092915050565b600060208201905081810360008301526123fc81846123a9565b905092915050565b6000819050919050565b61241781612404565b811461242257600080fd5b50565b6000813590506124348161240e565b92915050565b6000602082840312156124505761244f61228d565b5b600061245e84828501612425565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061249282612467565b9050919050565b6124a281612487565b82525050565b60006020820190506124bd6000830184612499565b92915050565b6124cc81612487565b81146124d757600080fd5b50565b6000813590506124e9816124c3565b92915050565b600080604083850312156125065761250561228d565b5b6000612514858286016124da565b925050602061252585828601612425565b9150509250929050565b61253881612404565b82525050565b6000602082019050612553600083018461252f565b92915050565b6000806000606084860312156125725761257161228d565b5b6000612580868287016124da565b9350506020612591868287016124da565b92505060406125a286828701612425565b9150509250925092565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6125ee82612398565b810181811067ffffffffffffffff8211171561260d5761260c6125b6565b5b80604052505050565b6000612620612283565b905061262c82826125e5565b919050565b600067ffffffffffffffff82111561264c5761264b6125b6565b5b61265582612398565b9050602081019050919050565b82818337600083830152505050565b600061268461267f84612631565b612616565b9050828152602081018484840111156126a05761269f6125b1565b5b6126ab848285612662565b509392505050565b600082601f8301126126c8576126c76125ac565b5b81356126d8848260208601612671565b91505092915050565b6000602082840312156126f7576126f661228d565b5b600082013567ffffffffffffffff81111561271557612714612292565b5b612721848285016126b3565b91505092915050565b6000602082840312156127405761273f61228d565b5b600061274e848285016124da565b91505092915050565b6127608161231c565b811461276b57600080fd5b50565b60008135905061277d81612757565b92915050565b6000806040838503121561279a5761279961228d565b5b60006127a8858286016124da565b92505060206127b98582860161276e565b9150509250929050565b6000602082840312156127d9576127d861228d565b5b60006127e78482850161276e565b91505092915050565b600067ffffffffffffffff82111561280b5761280a6125b6565b5b61281482612398565b9050602081019050919050565b600061283461282f846127f0565b612616565b9050828152602081018484840111156128505761284f6125b1565b5b61285b848285612662565b509392505050565b600082601f830112612878576128776125ac565b5b8135612888848260208601612821565b91505092915050565b600080600080608085870312156128ab576128aa61228d565b5b60006128b9878288016124da565b94505060206128ca878288016124da565b93505060406128db87828801612425565b925050606085013567ffffffffffffffff8111156128fc576128fb612292565b5b61290887828801612863565b91505092959194509250565b6000806040838503121561292b5761292a61228d565b5b6000612939858286016124da565b925050602061294a858286016124da565b9150509250929050565b7f4e6f204d6f726520507572696e672e0000000000000000000000000000000000600082015250565b600061298a600f8361235d565b915061299582612954565b602082019050919050565b600060208201905081810360008301526129b98161297d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612a0757607f821691505b602082108103612a1a57612a196129c0565b5b50919050565b7f4d616368696e652047756e7320417265204e6f74204661697220546f20557365600082015250565b6000612a5660208361235d565b9150612a6182612a20565b602082019050919050565b60006020820190508181036000830152612a8581612a49565b9050919050565b7f4e6f742048617070656e696e6700000000000000000000000000000000000000600082015250565b6000612ac2600d8361235d565b9150612acd82612a8c565b602082019050919050565b60006020820190508181036000830152612af181612ab5565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612b5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612b1d565b612b648683612b1d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612ba1612b9c612b9784612404565b612b7c565b612404565b9050919050565b6000819050919050565b612bbb83612b86565b612bcf612bc782612ba8565b848454612b2a565b825550505050565b600090565b612be4612bd7565b612bef818484612bb2565b505050565b5b81811015612c1357612c08600082612bdc565b600181019050612bf5565b5050565b601f821115612c5857612c2981612af8565b612c3284612b0d565b81016020851015612c41578190505b612c55612c4d85612b0d565b830182612bf4565b50505b505050565b600082821c905092915050565b6000612c7b60001984600802612c5d565b1980831691505092915050565b6000612c948383612c6a565b9150826002028217905092915050565b612cad82612352565b67ffffffffffffffff811115612cc657612cc56125b6565b5b612cd082546129ef565b612cdb828285612c17565b600060209050601f831160018114612d0e5760008415612cfc578287015190505b612d068582612c88565b865550612d6e565b601f198416612d1c86612af8565b60005b82811015612d4457848901518255600182019150602085019450602081019050612d1f565b86831015612d615784890151612d5d601f891682612c6a565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612db082612404565b9150612dbb83612404565b9250828201905080821115612dd357612dd2612d76565b5b92915050565b6000612de482612404565b9150612def83612404565b9250828202612dfd81612404565b91508282048414831517612e1457612e13612d76565b5b5092915050565b600081905092915050565b6000612e3182612352565b612e3b8185612e1b565b9350612e4b81856020860161236e565b80840191505092915050565b6000612e638285612e26565b9150612e6f8284612e26565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612ed760268361235d565b9150612ee282612e7b565b604082019050919050565b60006020820190508181036000830152612f0681612eca565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612f4360208361235d565b9150612f4e82612f0d565b602082019050919050565b60006020820190508181036000830152612f7281612f36565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000612fa082612f79565b612faa8185612f84565b9350612fba81856020860161236e565b612fc381612398565b840191505092915050565b6000608082019050612fe36000830187612499565b612ff06020830186612499565b612ffd604083018561252f565b818103606083015261300f8184612f95565b905095945050505050565b600081519050613029816122c3565b92915050565b6000602082840312156130455761304461228d565b5b60006130538482850161301a565b9150509291505056fea2646970667358221220cfbd47469ed252587cc65c7728d17f64ce3ca9d5ea707286caa5b79809de05d764736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d6637346144534451533655654a4867444434476d74504b6d3636364448514a6859455154355a547a625046672f00000000000000000000