60806040525f600a60146101000a81548161ffff021916908361ffff1602179055503480156200002d575f80fd5b50604051620033e4380380620033e4833981810160405281019062000053919062000350565b338282815f90816200006691906200060a565b5080600190816200007891906200060a565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000ee575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000e5919062000731565b60405180910390fd5b620000ff816200010860201b60201c565b5050506200074c565b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200022c82620001e4565b810181811067ffffffffffffffff821117156200024e576200024d620001f4565b5b80604052505050565b5f62000262620001cb565b905062000270828262000221565b919050565b5f67ffffffffffffffff821115620002925762000291620001f4565b5b6200029d82620001e4565b9050602081019050919050565b5f5b83811015620002c9578082015181840152602081019050620002ac565b5f8484015250505050565b5f620002ea620002e48462000275565b62000257565b905082815260208101848484011115620003095762000308620001e0565b5b62000316848285620002aa565b509392505050565b5f82601f830112620003355762000334620001dc565b5b815162000347848260208601620002d4565b91505092915050565b5f8060408385031215620003695762000368620001d4565b5b5f83015167ffffffffffffffff811115620003895762000388620001d8565b5b62000397858286016200031e565b925050602083015167ffffffffffffffff811115620003bb57620003ba620001d8565b5b620003c9858286016200031e565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200042257607f821691505b602082108103620004385762000437620003dd565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200049c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200045f565b620004a886836200045f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004f2620004ec620004e684620004c0565b620004c9565b620004c0565b9050919050565b5f819050919050565b6200050d83620004d2565b620005256200051c82620004f9565b8484546200046b565b825550505050565b5f90565b6200053b6200052d565b6200054881848462000502565b505050565b5b818110156200056f57620005635f8262000531565b6001810190506200054e565b5050565b601f821115620005be5762000588816200043e565b620005938462000450565b81016020851015620005a3578190505b620005bb620005b28562000450565b8301826200054d565b50505b505050565b5f82821c905092915050565b5f620005e05f1984600802620005c3565b1980831691505092915050565b5f620005fa8383620005cf565b9150826002028217905092915050565b6200061582620003d3565b67ffffffffffffffff811115620006315762000630620001f4565b5b6200063d82546200040a565b6200064a82828562000573565b5f60209050601f83116001811462000680575f84156200066b578287015190505b620006778582620005ed565b865550620006e6565b601f19841662000690866200043e565b5f5b82811015620006b95784890151825560018201915060208501945060208101905062000692565b86831015620006d95784890151620006d5601f891682620005cf565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200071982620006ee565b9050919050565b6200072b816200070d565b82525050565b5f602082019050620007465f83018462000720565b92915050565b612c8a806200075a5f395ff3fe608060405234801561000f575f80fd5b506004361061014b575f3560e01c806342842e0e116100c157806395d89b411161007a57806395d89b41146103af578063a22cb465146103cd578063b88d4fde146103e9578063c87b56dd14610405578063e985e9c514610435578063f2fde38b146104655761014b565b806342842e0e146102db5780634f6ccce7146102f75780636352211e1461032757806370a0823114610357578063715018a6146103875780638da5cb5b146103915761014b565b806318160ddd1161011357806318160ddd1461020557806323b872dd146102235780632b06f8601461023f5780632f745c591461025d57806332cb6b0c1461028d57806340c10f19146102ab5761014b565b806301ffc9a71461014f57806302d999e51461017f57806306fdde031461019b578063081812fc146101b9578063095ea7b3146101e9575b5f80fd5b61016960048036038101906101649190611fac565b610481565b6040516101769190611ff1565b60405180910390f35b61019960048036038101906101949190612228565b6104fa565b005b6101a3610570565b6040516101b091906122e9565b60405180910390f35b6101d360048036038101906101ce919061233c565b6105ff565b6040516101e091906123a6565b60405180910390f35b61020360048036038101906101fe91906123e9565b61061a565b005b61020d610630565b60405161021a9190612436565b60405180910390f35b61023d6004803603810190610238919061244f565b61063c565b005b61024761073b565b60405161025491906124bb565b60405180910390f35b610277600480360381019061027291906123e9565b61074f565b6040516102849190612436565b60405180910390f35b6102956107f3565b6040516102a29190612436565b60405180910390f35b6102c560048036038101906102c091906123e9565b6107f9565b6040516102d29190611ff1565b60405180910390f35b6102f560048036038101906102f0919061244f565b610974565b005b610311600480360381019061030c919061233c565b610993565b60405161031e9190612436565b60405180910390f35b610341600480360381019061033c919061233c565b610a05565b60405161034e91906123a6565b60405180910390f35b610371600480360381019061036c91906124d4565b610a16565b60405161037e9190612436565b60405180910390f35b61038f610acc565b005b610399610adf565b6040516103a691906123a6565b60405180910390f35b6103b7610b07565b6040516103c491906122e9565b60405180910390f35b6103e760048036038101906103e29190612529565b610b97565b005b61040360048036038101906103fe9190612605565b610bad565b005b61041f600480360381019061041a919061233c565b610bca565b60405161042c91906122e9565b60405180910390f35b61044f600480360381019061044a9190612685565b610d08565b60405161045c9190611ff1565b60405180910390f35b61047f600480360381019061047a91906124d4565b610d96565b005b5f7f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104f357506104f282610e1a565b5b9050919050565b610502610efb565b5f5b815181101561056c57600b828281518110610522576105216126c3565b5b6020026020010151908060018154018082558091505060019003905f5260205f20015f90919091909150908161055891906128ea565b508080610564906129e6565b915050610504565b5050565b60605f805461057e9061271d565b80601f01602080910402602001604051908101604052809291908181526020018280546105aa9061271d565b80156105f55780601f106105cc576101008083540402835291602001916105f5565b820191905f5260205f20905b8154815290600101906020018083116105d857829003601f168201915b5050505050905090565b5f61060982610f82565b5061061382611008565b9050919050565b61062c8282610627611041565b611048565b5050565b5f600880549050905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106ac575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016106a391906123a6565b60405180910390fd5b5f6106bf83836106ba611041565b61105a565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610735578382826040517f64283d7b00000000000000000000000000000000000000000000000000000000815260040161072c93929190612a2d565b60405180910390fd5b50505050565b600a60149054906101000a900461ffff1681565b5f61075983610a16565b821061079e5782826040517fa57d13dc000000000000000000000000000000000000000000000000000000008152600401610795929190612a62565b60405180910390fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f2054905092915050565b61271081565b5f60038261080633610a16565b6108109190612a89565b10610847576040517f351148e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108ac576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61271082600a60149054906101000a900461ffff1661ffff166108cf9190612a89565b10610906576040517fd05cb60900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b828110156109695761092e84600a60149054906101000a900461ffff1661ffff16611174565b806001019050600a601481819054906101000a900461ffff1660010191906101000a81548161ffff021916908361ffff160217905550610908565b506001905092915050565b61098e83838360405180602001604052805f815250610bad565b505050565b5f61099c610630565b82106109e1575f826040517fa57d13dc0000000000000000000000000000000000000000000000000000000081526004016109d8929190612a62565b60405180910390fd5b600882815481106109f5576109f46126c3565b5b905f5260205f2001549050919050565b5f610a0f82610f82565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a87575f6040517f89c62b64000000000000000000000000000000000000000000000000000000008152600401610a7e91906123a6565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ad4610efb565b610add5f611267565b565b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610b169061271d565b80601f0160208091040260200160405190810160405280929190818152602001828054610b429061271d565b8015610b8d5780601f10610b6457610100808354040283529160200191610b8d565b820191905f5260205f20905b815481529060010190602001808311610b7057829003601f168201915b5050505050905090565b610ba9610ba2611041565b838361132a565b5050565b610bb884848461063c565b610bc484848484611493565b50505050565b6060610bd582611645565b610c0b576040517fceea21b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600b8054905003610c49576040517fe1c307ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600b8054905083610c5b9190612ae9565b9050600b8181548110610c7157610c706126c3565b5b905f5260205f20018054610c849061271d565b80601f0160208091040260200160405190810160405280929190818152602001828054610cb09061271d565b8015610cfb5780601f10610cd257610100808354040283529160200191610cfb565b820191905f5260205f20905b815481529060010190602001808311610cde57829003601f168201915b5050505050915050919050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b610d9e610efb565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e0e575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610e0591906123a6565b60405180910390fd5b610e1781611267565b50565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610ee457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610ef45750610ef382611685565b5b9050919050565b610f03611041565b73ffffffffffffffffffffffffffffffffffffffff16610f21610adf565b73ffffffffffffffffffffffffffffffffffffffff1614610f8057610f44611041565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610f7791906123a6565b60405180910390fd5b565b5f80610f8d836116ee565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610fff57826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401610ff69190612436565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b6110558383836001611727565b505050565b5f806110678585856118e6565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110aa576110a584611af1565b6110e9565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146110e8576110e78185611b35565b5b5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361112a5761112584611c7f565b611169565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611168576111678585611d3f565b5b5b809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111e4575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016111db91906123a6565b60405180910390fd5b5f6111f083835f61105a565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611262575f6040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260040161125991906123a6565b60405180910390fd5b505050565b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361139a57816040517f5b08ba1800000000000000000000000000000000000000000000000000000000815260040161139191906123a6565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516114869190611ff1565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b111561163f578273ffffffffffffffffffffffffffffffffffffffff1663150b7a026114d6611041565b8685856040518563ffffffff1660e01b81526004016114f89493929190612b6b565b6020604051808303815f875af192505050801561153357506040513d601f19601f820116820180604052508101906115309190612bc9565b60015b6115b4573d805f8114611561576040519150601f19603f3d011682016040523d82523d5f602084013e611566565b606091505b505f8151036115ac57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016115a391906123a6565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461163d57836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161163491906123a6565b60405180910390fd5b505b50505050565b5f8073ffffffffffffffffffffffffffffffffffffffff16611666836116ee565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061175f57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611891575f61176e84610f82565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117d857508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156117eb57506117e98184610d08565b155b1561182d57826040517fa9fbf51f00000000000000000000000000000000000000000000000000000000815260040161182491906123a6565b60405180910390fd5b811561188f57838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b5f806118f1846116ee565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461193257611931818486611dc3565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146119bd576119715f855f80611727565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611a3c57600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b60088054905060095f8381526020019081526020015f2081905550600881908060018154018082558091505060019003905f5260205f20015f909190919091505550565b5f611b3f83610a16565b90505f60075f8481526020019081526020015f20549050818114611c16575f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205490508060065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f20819055508160075f8381526020019081526020015f2081905550505b60075f8481526020019081526020015f205f905560065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f205f905550505050565b5f6001600880549050611c929190612bf4565b90505f60095f8481526020019081526020015f205490505f60088381548110611cbe57611cbd6126c3565b5b905f5260205f20015490508060088381548110611cde57611cdd6126c3565b5b905f5260205f2001819055508160095f8381526020019081526020015f208190555060095f8581526020019081526020015f205f90556008805480611d2657611d25612c27565b5b600190038181905f5260205f20015f9055905550505050565b5f6001611d4b84610a16565b611d559190612bf4565b90508160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f20819055508060075f8481526020019081526020015f2081905550505050565b611dce838383611e86565b611e81575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e4257806040517f7e273289000000000000000000000000000000000000000000000000000000008152600401611e399190612436565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401611e78929190612a62565b60405180910390fd5b505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611f3d57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611efe5750611efd8484610d08565b5b80611f3c57508273ffffffffffffffffffffffffffffffffffffffff16611f2483611008565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611f8b81611f57565b8114611f95575f80fd5b50565b5f81359050611fa681611f82565b92915050565b5f60208284031215611fc157611fc0611f4f565b5b5f611fce84828501611f98565b91505092915050565b5f8115159050919050565b611feb81611fd7565b82525050565b5f6020820190506120045f830184611fe2565b92915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6120548261200e565b810181811067ffffffffffffffff821117156120735761207261201e565b5b80604052505050565b5f612085611f46565b9050612091828261204b565b919050565b5f67ffffffffffffffff8211156120b0576120af61201e565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f67ffffffffffffffff8211156120e3576120e261201e565b5b6120ec8261200e565b9050602081019050919050565b828183375f83830152505050565b5f612119612114846120c9565b61207c565b905082815260208101848484011115612135576121346120c5565b5b6121408482856120f9565b509392505050565b5f82601f83011261215c5761215b61200a565b5b813561216c848260208601612107565b91505092915050565b5f61218761218284612096565b61207c565b905080838252602082019050602084028301858111156121aa576121a96120c1565b5b835b818110156121f157803567ffffffffffffffff8111156121cf576121ce61200a565b5b8086016121dc8982612148565b855260208501945050506020810190506121ac565b5050509392505050565b5f82601f83011261220f5761220e61200a565b5b813561221f848260208601612175565b91505092915050565b5f6020828403121561223d5761223c611f4f565b5b5f82013567ffffffffffffffff81111561225a57612259611f53565b5b612266848285016121fb565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156122a657808201518184015260208101905061228b565b5f8484015250505050565b5f6122bb8261226f565b6122c58185612279565b93506122d5818560208601612289565b6122de8161200e565b840191505092915050565b5f6020820190508181035f83015261230181846122b1565b905092915050565b5f819050919050565b61231b81612309565b8114612325575f80fd5b50565b5f8135905061233681612312565b92915050565b5f6020828403121561235157612350611f4f565b5b5f61235e84828501612328565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61239082612367565b9050919050565b6123a081612386565b82525050565b5f6020820190506123b95f830184612397565b92915050565b6123c881612386565b81146123d2575f80fd5b50565b5f813590506123e3816123bf565b92915050565b5f80604083850312156123ff576123fe611f4f565b5b5f61240c858286016123d5565b925050602061241d85828601612328565b9150509250929050565b61243081612309565b82525050565b5f6020820190506124495f830184612427565b92915050565b5f805f6060848603121561246657612465611f4f565b5b5f612473868287016123d5565b9350506020612484868287016123d5565b925050604061249586828701612328565b9150509250925092565b5f61ffff82169050919050565b6124b58161249f565b82525050565b5f6020820190506124ce5f8301846124ac565b92915050565b5f602082840312156124e9576124e8611f4f565b5b5f6124f6848285016123d5565b91505092915050565b61250881611fd7565b8114612512575f80fd5b50565b5f81359050612523816124ff565b92915050565b5f806040838503121561253f5761253e611f4f565b5b5f61254c858286016123d5565b925050602061255d85828601612515565b9150509250929050565b5f67ffffffffffffffff8211156125815761258061201e565b5b61258a8261200e565b9050602081019050919050565b5f6125a96125a484612567565b61207c565b9050828152602081018484840111156125c5576125c46120c5565b5b6125d08482856120f9565b509392505050565b5f82601f8301126125ec576125eb61200a565b5b81356125fc848260208601612597565b91505092915050565b5f805f806080858703121561261d5761261c611f4f565b5b5f61262a878288016123d5565b945050602061263b878288016123d5565b935050604061264c87828801612328565b925050606085013567ffffffffffffffff81111561266d5761266c611f53565b5b612679878288016125d8565b91505092959194509250565b5f806040838503121561269b5761269a611f4f565b5b5f6126a8858286016123d5565b92505060206126b9858286016123d5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061273457607f821691505b602082108103612747576127466126f0565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026127a97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261276e565b6127b3868361276e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6127ee6127e96127e484612309565b6127cb565b612309565b9050919050565b5f819050919050565b612807836127d4565b61281b612813826127f5565b84845461277a565b825550505050565b5f90565b61282f612823565b61283a8184846127fe565b505050565b5b8181101561285d576128525f82612827565b600181019050612840565b5050565b601f8211156128a2576128738161274d565b61287c8461275f565b8101602085101561288b578190505b61289f6128978561275f565b83018261283f565b50505b505050565b5f82821c905092915050565b5f6128c25f19846008026128a7565b1980831691505092915050565b5f6128da83836128b3565b9150826002028217905092915050565b6128f38261226f565b67ffffffffffffffff81111561290c5761290b61201e565b5b612916825461271d565b612921828285612861565b5f60209050601f831160018114612952575f8415612940578287015190505b61294a85826128cf565b8655506129b1565b601f1984166129608661274d565b5f5b8281101561298757848901518255600182019150602085019450602081019050612962565b868310156129a457848901516129a0601f8916826128b3565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6129f082612309565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a2257612a216129b9565b5b600182019050919050565b5f606082019050612a405f830186612397565b612a4d6020830185612427565b612a5a6040830184612397565b949350505050565b5f604082019050612a755f830185612397565b612a826020830184612427565b9392505050565b5f612a9382612309565b9150612a9e83612309565b9250828201905080821115612ab657612ab56129b9565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612af382612309565b9150612afe83612309565b925082612b0e57612b0d612abc565b5b828206905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f612b3d82612b19565b612b478185612b23565b9350612b57818560208601612289565b612b608161200e565b840191505092915050565b5f608082019050612b7e5f830187612397565b612b8b6020830186612397565b612b986040830185612427565b8181036060830152612baa8184612b33565b905095945050505050565b5f81519050612bc381611f82565b92915050565b5f60208284031215612bde57612bdd611f4f565b5b5f612beb84828501612bb5565b91505092915050565b5f612bfe82612309565b9150612c0983612309565b9250828203905081811115612c2157612c206129b9565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffdfea2646970667358221220b130cbbd1309ab141fe59a31e87a7803afb6ac7c3c5f2a58bbfc4fadcff63f6a64736f6c63430008140033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000018556e6c6f636b6420416d6f792057617463686573204e4654000000000000000000000000000000000000000000000000000000000000000000000000000000035541570000000000000000000000000000000000000000000000000000000000