60806040526040518060400160405280600881526020017f697066733a2f2f2f000000000000000000000000000000000000000000000000815250600990816200004a9190620004b4565b50613a98600a55611388600b5564174876e800600c55612710600d556000600e556000600f556001601060006101000a81548160ff0219169083151502179055503480156200009857600080fd5b506040518060400160405280601281526020017f47656e65736973205370616365204170657300000000000000000000000000008152506040518060400160405280600c81526020017f47454e53504143454150455300000000000000000000000000000000000000008152508160029081620001169190620004b4565b508060039081620001289190620004b4565b50620001396200016760201b60201c565b600081905550505062000161620001556200016c60201b60201c565b6200017460201b60201c565b6200059b565b600090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002bc57607f821691505b602082108103620002d257620002d162000274565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200033c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002fd565b620003488683620002fd565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003956200038f620003898462000360565b6200036a565b62000360565b9050919050565b6000819050919050565b620003b18362000374565b620003c9620003c0826200039c565b8484546200030a565b825550505050565b600090565b620003e0620003d1565b620003ed818484620003a6565b505050565b5b81811015620004155762000409600082620003d6565b600181019050620003f3565b5050565b601f82111562000464576200042e81620002d8565b6200043984620002ed565b8101602085101562000449578190505b620004616200045885620002ed565b830182620003f2565b50505b505050565b600082821c905092915050565b6000620004896000198460080262000469565b1980831691505092915050565b6000620004a4838362000476565b9150826002028217905092915050565b620004bf826200023a565b67ffffffffffffffff811115620004db57620004da62000245565b5b620004e78254620002a3565b620004f482828562000419565b600060209050601f8311600181146200052c576000841562000517578287015190505b62000523858262000496565b86555062000593565b601f1984166200053c86620002d8565b60005b8281101562000566578489015182556001820191506020850194506020810190506200053f565b8683101562000586578489015162000582601f89168262000476565b8355505b6001600288020188555050505b505050505050565b6133e980620005ab6000396000f3fe60806040526004361061020f5760003560e01c8063715018a611610118578063b88d4fde116100a0578063d5abeb011161006f578063d5abeb0114610713578063e985e9c51461073e578063efdc77881461077b578063f2fde38b146107a4578063f6511f93146107cd5761020f565b8063b88d4fde14610664578063c6a91b4214610680578063c87b56dd146106ab578063d547cfb7146106e85761020f565b806395d89b41116100e757806395d89b4114610591578063982d669e146105bc57806398710d1e146105e75780639e9fcffc14610612578063a22cb4651461063b5761020f565b8063715018a6146105295780637bb2b3c114610540578063853828b61461055c5780638da5cb5b146105665761020f565b80631e84c4131161019b57806328cad13d1161016a57806328cad13d1461044157806342842e0e1461046a57806355f804b3146104865780636352211e146104af57806370a08231146104ec5761020f565b80631e84c413146103a8578063202f298a146103d3578063228025e8146103fc57806323b872dd146104255761020f565b8063095ea7b3116101e2578063095ea7b3146102e45780630a00ae831461030057806318160ddd146103295780631919fed714610354578063193ad7b41461037d5761020f565b806301ffc9a71461021457806306fdde031461025157806307e89ec01461027c578063081812fc146102a7575b600080fd5b34801561022057600080fd5b5061023b60048036038101906102369190612496565b61080a565b60405161024891906124de565b60405180910390f35b34801561025d57600080fd5b5061026661089c565b6040516102739190612589565b60405180910390f35b34801561028857600080fd5b5061029161092e565b60405161029e91906125c4565b60405180910390f35b3480156102b357600080fd5b506102ce60048036038101906102c9919061260b565b610934565b6040516102db9190612679565b60405180910390f35b6102fe60048036038101906102f991906126c0565b6109b3565b005b34801561030c57600080fd5b506103276004803603810190610322919061260b565b610af7565b005b34801561033557600080fd5b5061033e610b7d565b60405161034b91906125c4565b60405180910390f35b34801561036057600080fd5b5061037b6004803603810190610376919061260b565b610b94565b005b34801561038957600080fd5b50610392610c1a565b60405161039f91906125c4565b60405180910390f35b3480156103b457600080fd5b506103bd610c20565b6040516103ca91906124de565b60405180910390f35b3480156103df57600080fd5b506103fa60048036038101906103f5919061260b565b610c33565b005b34801561040857600080fd5b50610423600480360381019061041e919061260b565b610cb9565b005b61043f600480360381019061043a9190612700565b610d3f565b005b34801561044d57600080fd5b506104686004803603810190610463919061277f565b611061565b005b610484600480360381019061047f9190612700565b6110fa565b005b34801561049257600080fd5b506104ad60048036038101906104a891906128e1565b61111a565b005b3480156104bb57600080fd5b506104d660048036038101906104d1919061260b565b6111a9565b6040516104e39190612679565b60405180910390f35b3480156104f857600080fd5b50610513600480360381019061050e919061292a565b6111bb565b60405161052091906125c4565b60405180910390f35b34801561053557600080fd5b5061053e611273565b005b61055a6004803603810190610555919061260b565b6112fb565b005b6105646114e2565b005b34801561057257600080fd5b5061057b6116ed565b6040516105889190612679565b60405180910390f35b34801561059d57600080fd5b506105a6611717565b6040516105b39190612589565b60405180910390f35b3480156105c857600080fd5b506105d16117a9565b6040516105de91906125c4565b60405180910390f35b3480156105f357600080fd5b506105fc6117af565b60405161060991906125c4565b60405180910390f35b34801561061e57600080fd5b506106396004803603810190610634919061260b565b6117b5565b005b34801561064757600080fd5b50610662600480360381019061065d9190612957565b61183b565b005b61067e60048036038101906106799190612a38565b611946565b005b34801561068c57600080fd5b506106956119b9565b6040516106a291906125c4565b60405180910390f35b3480156106b757600080fd5b506106d260048036038101906106cd919061260b565b6119bf565b6040516106df9190612589565b60405180910390f35b3480156106f457600080fd5b506106fd6119c6565b60405161070a9190612589565b60405180910390f35b34801561071f57600080fd5b50610728611a54565b60405161073591906125c4565b60405180910390f35b34801561074a57600080fd5b5061076560048036038101906107609190612abb565b611a5a565b60405161077291906124de565b60405180910390f35b34801561078757600080fd5b506107a2600480360381019061079d919061260b565b611aee565b005b3480156107b057600080fd5b506107cb60048036038101906107c6919061292a565b611c11565b005b3480156107d957600080fd5b506107f460048036038101906107ef919061260b565b611d08565b60405161080191906125c4565b60405180910390f35b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061086557506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806108955750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6060600280546108ab90612b2a565b80601f01602080910402602001604051908101604052809291908181526020018280546108d790612b2a565b80156109245780601f106108f957610100808354040283529160200191610924565b820191906000526020600020905b81548152906001019060200180831161090757829003601f168201915b5050505050905090565b600c5481565b600061093f82611d7b565b610975576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006109be826111a9565b90508073ffffffffffffffffffffffffffffffffffffffff166109df611dda565b73ffffffffffffffffffffffffffffffffffffffff1614610a4257610a0b81610a06611dda565b611a5a565b610a41576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b610aff611de2565b73ffffffffffffffffffffffffffffffffffffffff16610b1d6116ed565b73ffffffffffffffffffffffffffffffffffffffff1614610b73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6a90612ba7565b60405180910390fd5b80600d8190555050565b6000610b87611dea565b6001546000540303905090565b610b9c611de2565b73ffffffffffffffffffffffffffffffffffffffff16610bba6116ed565b73ffffffffffffffffffffffffffffffffffffffff1614610c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0790612ba7565b60405180910390fd5b80600c8190555050565b600f5481565b601060009054906101000a900460ff1681565b610c3b611de2565b73ffffffffffffffffffffffffffffffffffffffff16610c596116ed565b73ffffffffffffffffffffffffffffffffffffffff1614610caf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca690612ba7565b60405180910390fd5b80600e8190555050565b610cc1611de2565b73ffffffffffffffffffffffffffffffffffffffff16610cdf6116ed565b73ffffffffffffffffffffffffffffffffffffffff1614610d35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2c90612ba7565b60405180910390fd5b80600a8190555050565b6000610d4a82611def565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610db1576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610dbd84611ebb565b91509150610dd38187610dce611dda565b611ee2565b610e1f57610de886610de3611dda565b611a5a565b610e1e576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610e85576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e928686866001611f26565b8015610e9d57600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815460010191905081905550610f6b85610f47888887611f2c565b7c020000000000000000000000000000000000000000000000000000000017611f54565b600460008681526020019081526020016000208190555060007c0200000000000000000000000000000000000000000000000000000000841603610ff15760006001850190506000600460008381526020019081526020016000205403610fef576000548114610fee578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46110598686866001611f7f565b505050505050565b611069611de2565b73ffffffffffffffffffffffffffffffffffffffff166110876116ed565b73ffffffffffffffffffffffffffffffffffffffff16146110dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d490612ba7565b60405180910390fd5b80601060006101000a81548160ff02191690831515021790555050565b61111583838360405180602001604052806000815250611946565b505050565b611122611de2565b73ffffffffffffffffffffffffffffffffffffffff166111406116ed565b73ffffffffffffffffffffffffffffffffffffffff1614611196576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118d90612ba7565b60405180910390fd5b80600990816111a59190612d73565b5050565b60006111b482611def565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611222576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b61127b611de2565b73ffffffffffffffffffffffffffffffffffffffff166112996116ed565b73ffffffffffffffffffffffffffffffffffffffff16146112ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e690612ba7565b60405180910390fd5b6112f96000611f85565b565b6001600a5461130a9190612e74565b81611313610b7d565b61131d9190612e74565b111561135e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135590612ef4565b60405180910390fd5b600061136982611d08565b9050600d5482600f5461137c9190612e74565b11156113ca57348111156113c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bc90612f60565b60405180910390fd5b6114d4565b600e54826113d7336111bb565b6113e19190612e74565b1115611474573481111561142a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142190612f60565b60405180910390fd5b600b5482111561146f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146690612ff2565b60405180910390fd5b6114d3565b600e548211156114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b090612ff2565b60405180910390fd5b81600f60008282546114cb9190612e74565b925050819055505b5b6114de338361204b565b5050565b6114ea611de2565b73ffffffffffffffffffffffffffffffffffffffff166115086116ed565b73ffffffffffffffffffffffffffffffffffffffff161461155e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155590612ba7565b60405180910390fd5b600047905060006064605a836115749190613012565b61157e9190613083565b905060006064600a846115919190613012565b61159b9190613083565b905060007346e23fccc4607833bb85ad982be92c038b4032b173ffffffffffffffffffffffffffffffffffffffff16836040516115d7906130e5565b60006040518083038185875af1925050503d8060008114611614576040519150601f19603f3d011682016040523d82523d6000602084013e611619565b606091505b5050905060007346e23fccc4607833bb85ad982be92c038b4032b173ffffffffffffffffffffffffffffffffffffffff1683604051611657906130e5565b60006040518083038185875af1925050503d8060008114611694576040519150601f19603f3d011682016040523d82523d6000602084013e611699565b606091505b505090508180156116a75750805b6116e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116dd90613146565b60405180910390fd5b5050505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606003805461172690612b2a565b80601f016020809104026020016040519081016040528092919081815260200182805461175290612b2a565b801561179f5780601f106117745761010080835404028352916020019161179f565b820191906000526020600020905b81548152906001019060200180831161178257829003601f168201915b5050505050905090565b600d5481565b600e5481565b6117bd611de2565b73ffffffffffffffffffffffffffffffffffffffff166117db6116ed565b73ffffffffffffffffffffffffffffffffffffffff1614611831576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182890612ba7565b60405180910390fd5b80600b8190555050565b8060076000611848611dda565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166118f5611dda565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161193a91906124de565b60405180910390a35050565b611951848484610d3f565b60008373ffffffffffffffffffffffffffffffffffffffff163b146119b35761197c84848484612069565b6119b2576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b600b5481565b6060919050565b600980546119d390612b2a565b80601f01602080910402602001604051908101604052809291908181526020018280546119ff90612b2a565b8015611a4c5780601f10611a2157610100808354040283529160200191611a4c565b820191906000526020600020905b815481529060010190602001808311611a2f57829003601f168201915b505050505081565b600a5481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611af6611de2565b73ffffffffffffffffffffffffffffffffffffffff16611b146116ed565b73ffffffffffffffffffffffffffffffffffffffff1614611b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6190612ba7565b60405180910390fd5b60008111611bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba4906131b2565b60405180910390fd5b600a5481611bb9610b7d565b611bc39190612e74565b1115611c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfb9061321e565b60405180910390fd5b611c0e338261204b565b50565b611c19611de2565b73ffffffffffffffffffffffffffffffffffffffff16611c376116ed565b73ffffffffffffffffffffffffffffffffffffffff1614611c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8490612ba7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611cfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf3906132b0565b60405180910390fd5b611d0581611f85565b50565b600060328203611d215766016c2963c4a0009050611d76565b60648203611d38576602d7ab243120009050611d76565b60018203611d4f57661b9ac619e7a0009050611d76565b600a8203611d65576548d513f420009050611d76565b81600c54611d739190613012565b90505b919050565b600081611d86611dea565b11158015611d95575060005482105b8015611dd3575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b600033905090565b600033905090565b600090565b60008082905080611dfe611dea565b11611e8457600054811015611e835760006004600083815260200190815260200160002054905060007c0100000000000000000000000000000000000000000000000000000000821603611e81575b60008103611e77576004600083600190039350838152602001908152602001600020549050611e4d565b8092505050611eb6565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8611f438686846121b9565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6120658282604051806020016040528060008152506121c2565b5050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261208f611dda565b8786866040518563ffffffff1660e01b81526004016120b19493929190613325565b6020604051808303816000875af19250505080156120ed57506040513d601f19601f820116820180604052508101906120ea9190613386565b60015b612166573d806000811461211d576040519150601f19603f3d011682016040523d82523d6000602084013e612122565b606091505b50600081510361215e576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b60009392505050565b6121cc838361225f565b60008373ffffffffffffffffffffffffffffffffffffffff163b1461225a57600080549050600083820390505b61220c6000868380600101945086612069565b612242576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181106121f957816000541461225757600080fd5b50505b505050565b6000805490506000820361229f576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122ac6000848385611f26565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550612323836123146000866000611f2c565b61231d8561241a565b17611f54565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b8181146123c457808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600181019050612389565b50600082036123ff576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060008190555050506124156000848385611f7f565b505050565b60006001821460e11b9050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124738161243e565b811461247e57600080fd5b50565b6000813590506124908161246a565b92915050565b6000602082840312156124ac576124ab612434565b5b60006124ba84828501612481565b91505092915050565b60008115159050919050565b6124d8816124c3565b82525050565b60006020820190506124f360008301846124cf565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612533578082015181840152602081019050612518565b60008484015250505050565b6000601f19601f8301169050919050565b600061255b826124f9565b6125658185612504565b9350612575818560208601612515565b61257e8161253f565b840191505092915050565b600060208201905081810360008301526125a38184612550565b905092915050565b6000819050919050565b6125be816125ab565b82525050565b60006020820190506125d960008301846125b5565b92915050565b6125e8816125ab565b81146125f357600080fd5b50565b600081359050612605816125df565b92915050565b60006020828403121561262157612620612434565b5b600061262f848285016125f6565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061266382612638565b9050919050565b61267381612658565b82525050565b600060208201905061268e600083018461266a565b92915050565b61269d81612658565b81146126a857600080fd5b50565b6000813590506126ba81612694565b92915050565b600080604083850312156126d7576126d6612434565b5b60006126e5858286016126ab565b92505060206126f6858286016125f6565b9150509250929050565b60008060006060848603121561271957612718612434565b5b6000612727868287016126ab565b9350506020612738868287016126ab565b9250506040612749868287016125f6565b9150509250925092565b61275c816124c3565b811461276757600080fd5b50565b60008135905061277981612753565b92915050565b60006020828403121561279557612794612434565b5b60006127a38482850161276a565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6127ee8261253f565b810181811067ffffffffffffffff8211171561280d5761280c6127b6565b5b80604052505050565b600061282061242a565b905061282c82826127e5565b919050565b600067ffffffffffffffff82111561284c5761284b6127b6565b5b6128558261253f565b9050602081019050919050565b82818337600083830152505050565b600061288461287f84612831565b612816565b9050828152602081018484840111156128a05761289f6127b1565b5b6128ab848285612862565b509392505050565b600082601f8301126128c8576128c76127ac565b5b81356128d8848260208601612871565b91505092915050565b6000602082840312156128f7576128f6612434565b5b600082013567ffffffffffffffff81111561291557612914612439565b5b612921848285016128b3565b91505092915050565b6000602082840312156129405761293f612434565b5b600061294e848285016126ab565b91505092915050565b6000806040838503121561296e5761296d612434565b5b600061297c858286016126ab565b925050602061298d8582860161276a565b9150509250929050565b600067ffffffffffffffff8211156129b2576129b16127b6565b5b6129bb8261253f565b9050602081019050919050565b60006129db6129d684612997565b612816565b9050828152602081018484840111156129f7576129f66127b1565b5b612a02848285612862565b509392505050565b600082601f830112612a1f57612a1e6127ac565b5b8135612a2f8482602086016129c8565b91505092915050565b60008060008060808587031215612a5257612a51612434565b5b6000612a60878288016126ab565b9450506020612a71878288016126ab565b9350506040612a82878288016125f6565b925050606085013567ffffffffffffffff811115612aa357612aa2612439565b5b612aaf87828801612a0a565b91505092959194509250565b60008060408385031215612ad257612ad1612434565b5b6000612ae0858286016126ab565b9250506020612af1858286016126ab565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612b4257607f821691505b602082108103612b5557612b54612afb565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b91602083612504565b9150612b9c82612b5b565b602082019050919050565b60006020820190508181036000830152612bc081612b84565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612c297fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612bec565b612c338683612bec565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612c70612c6b612c66846125ab565b612c4b565b6125ab565b9050919050565b6000819050919050565b612c8a83612c55565b612c9e612c9682612c77565b848454612bf9565b825550505050565b600090565b612cb3612ca6565b612cbe818484612c81565b505050565b5b81811015612ce257612cd7600082612cab565b600181019050612cc4565b5050565b601f821115612d2757612cf881612bc7565b612d0184612bdc565b81016020851015612d10578190505b612d24612d1c85612bdc565b830182612cc3565b50505b505050565b600082821c905092915050565b6000612d4a60001984600802612d2c565b1980831691505092915050565b6000612d638383612d39565b9150826002028217905092915050565b612d7c826124f9565b67ffffffffffffffff811115612d9557612d946127b6565b5b612d9f8254612b2a565b612daa828285612ce6565b600060209050601f831160018114612ddd5760008415612dcb578287015190505b612dd58582612d57565b865550612e3d565b601f198416612deb86612bc7565b60005b82811015612e1357848901518255600182019150602085019450602081019050612dee565b86831015612e305784890151612e2c601f891682612d39565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e7f826125ab565b9150612e8a836125ab565b9250828201905080821115612ea257612ea1612e45565b5b92915050565b7f4e6f206d6f726500000000000000000000000000000000000000000000000000600082015250565b6000612ede600783612504565b9150612ee982612ea8565b602082019050919050565b60006020820190508181036000830152612f0d81612ed1565b9050919050565b7f496e636f7272656374204554482076616c75652073656e740000000000000000600082015250565b6000612f4a601883612504565b9150612f5582612f14565b602082019050919050565b60006020820190508181036000830152612f7981612f3d565b9050919050565b7f4d6178206d696e747320706572207472616e73616374696f6e2065786365656460008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b6000612fdc602283612504565b9150612fe782612f80565b604082019050919050565b6000602082019050818103600083015261300b81612fcf565b9050919050565b600061301d826125ab565b9150613028836125ab565b9250828202613036816125ab565b9150828204841483151761304d5761304c612e45565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061308e826125ab565b9150613099836125ab565b9250826130a9576130a8613054565b5b828204905092915050565b600081905092915050565b50565b60006130cf6000836130b4565b91506130da826130bf565b600082019050919050565b60006130f0826130c2565b9150819050919050565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b6000613130601083612504565b915061313b826130fa565b602082019050919050565b6000602082019050818103600083015261315f81613123565b9050919050565b7f496e76616c6964206d696e7420616d6f756e7400000000000000000000000000600082015250565b600061319c601383612504565b91506131a782613166565b602082019050919050565b600060208201905081810360008301526131cb8161318f565b9050919050565b7f4d6178696d756d20737570706c79206578636565646564000000000000000000600082015250565b6000613208601783612504565b9150613213826131d2565b602082019050919050565b60006020820190508181036000830152613237816131fb565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061329a602683612504565b91506132a58261323e565b604082019050919050565b600060208201905081810360008301526132c98161328d565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006132f7826132d0565b61330181856132db565b9350613311818560208601612515565b61331a8161253f565b840191505092915050565b600060808201905061333a600083018761266a565b613347602083018661266a565b61335460408301856125b5565b818103606083015261336681846132ec565b905095945050505050565b6000815190506133808161246a565b92915050565b60006020828403121561339c5761339b612434565b5b60006133aa84828501613371565b9150509291505056fea26469706673582212202a0f909cd05e04f56dcc6a278c4c97863ce2034042adfe6cf0144c775819588d64736f6c63430008110033