60806040526040518060600160405280602e8152602001613321602e91396001908161002b91906102e2565b5060016002556105dc6003555f6004555f6009555f600c5f6101000a81548160ff021916908315150217905550348015610063575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103b1565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061012357607f821691505b602082108103610136576101356100df565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026101987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261015d565b6101a2868361015d565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6101e66101e16101dc846101ba565b6101c3565b6101ba565b9050919050565b5f819050919050565b6101ff836101cc565b61021361020b826101ed565b848454610169565b825550505050565b5f90565b61022761021b565b6102328184846101f6565b505050565b5b818110156102555761024a5f8261021f565b600181019050610238565b5050565b601f82111561029a5761026b8161013c565b6102748461014e565b81016020851015610283578190505b61029761028f8561014e565b830182610237565b50505b505050565b5f82821c905092915050565b5f6102ba5f198460080261029f565b1980831691505092915050565b5f6102d283836102ab565b9150826002028217905092915050565b6102eb826100a8565b67ffffffffffffffff811115610304576103036100b2565b5b61030e825461010c565b610319828285610259565b5f60209050601f83116001811461034a575f8415610338578287015190505b61034285826102c7565b8655506103a9565b601f1984166103588661013c565b5f5b8281101561037f5784890151825560018201915060208501945060208101905061035a565b8683101561039c5784890151610398601f8916826102ab565b8355505b6001600288020188555050505b505050505050565b612f63806103be5f395ff3fe6080604052600436106101c5575f3560e01c806370a08231116100f6578063a22cb46511610094578063bf8fbbd211610063578063bf8fbbd214610726578063c87b56dd14610750578063e985e9c51461078c578063f14695ae146107c857610260565b8063a22cb46514610696578063b88d4fde146106be578063ba7a86b8146106e6578063ba9ddfcc146106fc57610260565b80638ef1e259116100d05780638ef1e259146105ea57806395d89b411461062657806398710d1e14610650578063a0712d681461067a57610260565b806370a082311461055a578063748dc522146105965780638da5cb5b146105c057610260565b80633ccfd60b116101635780634dd08f821161013d5780634dd08f82146104a25780635b70ea9f146104cc578063609526c2146104e25780636352211e1461051e57610260565b80633ccfd60b1461043c57806342842e0e1461045257806347064d6a1461047a57610260565b8063095ea7b31161019f578063095ea7b31461039857806318160ddd146103c057806323b872dd146103ea57806332cb6b0c1461041257610260565b806301ffc9a7146102f657806306fdde0314610332578063081812fc1461035c57610260565b36610260575f600b6101dc5f600b80549050610804565b815481106101ed576101ec611f7e565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8190508073ffffffffffffffffffffffffffffffffffffffff166108fc3490811502906040515f60405180830381858888f1935050505015801561025e573d5f803e3d5ffd5b005b5f600b6102725f600b80549050610804565b8154811061028357610282611f7e565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8190508073ffffffffffffffffffffffffffffffffffffffff166108fc3490811502906040515f60405180830381858888f193505050501580156102f4573d5f803e3d5ffd5b005b348015610301575f80fd5b5061031c60048036038101906103179190612011565b61085b565b6040516103299190612056565b60405180910390f35b34801561033d575f80fd5b506103466108ec565b60405161035391906120df565b60405180910390f35b348015610367575f80fd5b50610382600480360381019061037d9190612132565b610929565b60405161038f919061219c565b60405180910390f35b3480156103a3575f80fd5b506103be60048036038101906103b991906121df565b6109a1565b005b3480156103cb575f80fd5b506103d4610b15565b6040516103e1919061222c565b60405180910390f35b3480156103f5575f80fd5b50610410600480360381019061040b9190612245565b610b27565b005b34801561041d575f80fd5b50610426610b74565b604051610433919061222c565b60405180910390f35b348015610447575f80fd5b50610450610b7a565b005b34801561045d575f80fd5b5061047860048036038101906104739190612245565b610c52565b005b348015610485575f80fd5b506104a0600480360381019061049b91906123c1565b610c71565b005b3480156104ad575f80fd5b506104b6610d11565b6040516104c39190612056565b60405180910390f35b3480156104d7575f80fd5b506104e0610d23565b005b3480156104ed575f80fd5b5061050860048036038101906105039190612408565b610804565b604051610515919061222c565b60405180910390f35b348015610529575f80fd5b50610544600480360381019061053f9190612132565b610eb5565b604051610551919061219c565b60405180910390f35b348015610565575f80fd5b50610580600480360381019061057b9190612446565b610ec6565b60405161058d919061222c565b60405180910390f35b3480156105a1575f80fd5b506105aa610f57565b6040516105b7919061222c565b60405180910390f35b3480156105cb575f80fd5b506105d4610f87565b6040516105e1919061219c565b60405180910390f35b3480156105f5575f80fd5b50610610600480360381019061060b9190612446565b610fae565b60405161061d9190612056565b60405180910390f35b348015610631575f80fd5b5061063a610fcb565b60405161064791906120df565b60405180910390f35b34801561065b575f80fd5b50610664611008565b604051610671919061222c565b60405180910390f35b610694600480360381019061068f9190612132565b61100d565b005b3480156106a1575f80fd5b506106bc60048036038101906106b7919061249b565b6110d1565b005b3480156106c9575f80fd5b506106e460048036038101906106df9190612577565b611243565b005b3480156106f1575f80fd5b506106fa611254565b005b348015610707575f80fd5b5061071061135c565b60405161071d919061222c565b60405180910390f35b348015610731575f80fd5b5061073a611362565b604051610747919061222c565b60405180910390f35b34801561075b575f80fd5b5061077660048036038101906107719190612132565b61136c565b60405161078391906120df565b60405180910390f35b348015610797575f80fd5b506107b260048036038101906107ad91906125f7565b611488565b6040516107bf9190612056565b60405180910390f35b3480156107d3575f80fd5b506107ee60048036038101906107e99190612132565b611516565b6040516107fb919061219c565b60405180910390f35b5f806001436108139190612662565b90505f81338660405160200161082b93929190612695565b60405160208183030381529060405280519060200120905083815f1c61085191906126f7565b9250505092915050565b5f6301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108b557506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806108e55750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60606040518060400160405280600b81526020017f4f7470797263536b6e7570000000000000000000000000000000000000000000815250905090565b5f61093382611551565b610969576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60075f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f6109ab82611571565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109e4575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff16610a03611635565b73ffffffffffffffffffffffffffffffffffffffff1614610a6657610a2f81610a2a611635565b611488565b610a65576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b8260075f8481526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b5f610b1e61163c565b60045403905090565b5f610b335f6014610804565b90505f5b81811015610b6257610b4a858585611640565b610b55848685611640565b8080600101915050610b37565b50610b6e848484611640565b50505050565b61271081565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfe90612771565b60405180910390fd5b5f4790503373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610c4e573d5f803e3d5ffd5b5050565b610c6c83838360405180602001604052805f815250611243565b505050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf590612771565b60405180910390fd5b8060019081610d0d9190612989565b5050565b600c5f9054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610d91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8890612aa2565b60405180910390fd5b5f610d9a611635565b90505f6001905061271081610dad610b15565b610db79190612ac0565b1115610df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610def90612b3d565b60405180910390fd5b6001610e038361199d565b82610e0e9190612ac0565b1115610e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4690612ba5565b60405180910390fd5b612328610e5a610b15565b1015610e6557600290505b611f40610e70610b15565b1015610e7b57600390505b611b58610e86610b15565b1015610e9157600490505b611770610e9c610b15565b1015610ea757600590505b610eb182826119f1565b5050565b5f610ebf82611571565b9050919050565b5f80610ed183611b46565b03610f08576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054169050919050565b5f805b600354811015610f83578081610f709190612bc3565b6002819055508080600101915050610f5a565b5090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a602052805f5260405f205f915054906101000a900460ff1681565b60606040518060400160405280600b81526020017f4f7470797263536b6e7570000000000000000000000000000000000000000000815250905090565b600181565b5f611016611635565b905061271082611024610b15565b61102e9190612ac0565b111561106f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106690612c4e565b60405180910390fd5b346509184e72a000836110829190612bc3565b11156110c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ba90612cb6565b60405180910390fd5b6110cd81836119f1565b5050565b6110d9611635565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361113d576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060085f611149611635565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166111f2611635565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516112379190612056565b60405180910390a35050565b61124e848484611640565b50505050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d890612771565b60405180910390fd5b5f1515600c5f9054906101000a900460ff16151514611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132c90612d1e565b60405180910390fd5b6001600c5f6101000a81548160ff02191690831515021790555061135a3360326119f1565b565b60025481565b6509184e72a00081565b606061137782611551565b6113ad576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600180546113bb906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546113e7906127bc565b80156114325780601f1061140957610100808354040283529160200191611432565b820191905f5260205f20905b81548152906001019060200180831161141557829003601f168201915b505050505090505f8151036114555760405180602001604052805f815250611480565b8061145f84611b4f565b604051602001611470929190612e54565b6040516020818303038152906040525b915050919050565b5f60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b600b8181548110611525575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8161155b61163c565b1115801561156a575060045482105b9050919050565b5f808290508061157f61163c565b116115fe576004548110156115fd575f60055f8381526020019081526020015f205490505f7c01000000000000000000000000000000000000000000000000000000008216036115fb575b5f81036115f15760055f836001900393508381526020019081526020015f205490506115ca565b8092505050611630565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b5f33905090565b5f90565b5f61164a82611571565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146116b1576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60075f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8573ffffffffffffffffffffffffffffffffffffffff16611705611635565b73ffffffffffffffffffffffffffffffffffffffff16148061173457506117338661172e611635565b611488565b5b806117715750611742611635565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050806117aa576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6117b483611b46565b146117ed5760075f8581526020019081526020015f205f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154600190039190508190555060065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154600101919050819055507c020000000000000000000000000000000000000000000000000000000060a042901b6118ae87611b46565b171760055f8681526020019081526020015f20819055505f7c020000000000000000000000000000000000000000000000000000000084160361192d575f6001850190505f60055f8381526020019081526020015f20540361192b57600454811461192a578360055f8381526020019081526020015f20819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46119958686866001611ba9565b505050505050565b5f67ffffffffffffffff604060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054901c169050919050565b5f60045490505f8203611a30576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160406001901b17820260065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254019250508190555060e1611a9260018414611e1e565b901b60a042901b611aa285611b46565b171760055f8381526020019081526020015f20819055505f8190505f83820190505b818060010192508573ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4808210611ac457816004819055505050611b415f848385611ba9565b505050565b5f819050919050565b60606080604051019050806040528082600183039250600a81066030018353600a810490505b8015611b9557600183039250600a81066030018353600a81049050611b75565b508181036020830392508083525050919050565b5f339050600a5f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611c0d57506032611c0a82610ec6565b10155b15611cc8576001600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600b81908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600a5f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611d2657506032611d2482610ec6565b105b15611e17575f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f5b600b80549050811015611e15578173ffffffffffffffffffffffffffffffffffffffff16600b8281548110611db957611db8611f7e565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611e0857611e07600b82611e27565b5b8080600101915050611d81565b505b5050505050565b5f819050919050565b80828054905011611e6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6490612ee2565b60405180910390fd5b5f8190505b60018380549050611e839190612662565b811015611f365782600182611e989190612ac0565b81548110611ea957611ea8611f7e565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838281548110611ee457611ee3611f7e565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508080600101915050611e72565b5081805480611f4857611f47612f00565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590555050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ff081611fbc565b8114611ffa575f80fd5b50565b5f8135905061200b81611fe7565b92915050565b5f6020828403121561202657612025611fb4565b5b5f61203384828501611ffd565b91505092915050565b5f8115159050919050565b6120508161203c565b82525050565b5f6020820190506120695f830184612047565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6120b18261206f565b6120bb8185612079565b93506120cb818560208601612089565b6120d481612097565b840191505092915050565b5f6020820190508181035f8301526120f781846120a7565b905092915050565b5f819050919050565b612111816120ff565b811461211b575f80fd5b50565b5f8135905061212c81612108565b92915050565b5f6020828403121561214757612146611fb4565b5b5f6121548482850161211e565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121868261215d565b9050919050565b6121968161217c565b82525050565b5f6020820190506121af5f83018461218d565b92915050565b6121be8161217c565b81146121c8575f80fd5b50565b5f813590506121d9816121b5565b92915050565b5f80604083850312156121f5576121f4611fb4565b5b5f612202858286016121cb565b92505060206122138582860161211e565b9150509250929050565b612226816120ff565b82525050565b5f60208201905061223f5f83018461221d565b92915050565b5f805f6060848603121561225c5761225b611fb4565b5b5f612269868287016121cb565b935050602061227a868287016121cb565b925050604061228b8682870161211e565b9150509250925092565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122d382612097565b810181811067ffffffffffffffff821117156122f2576122f161229d565b5b80604052505050565b5f612304611fab565b905061231082826122ca565b919050565b5f67ffffffffffffffff82111561232f5761232e61229d565b5b61233882612097565b9050602081019050919050565b828183375f83830152505050565b5f61236561236084612315565b6122fb565b90508281526020810184848401111561238157612380612299565b5b61238c848285612345565b509392505050565b5f82601f8301126123a8576123a7612295565b5b81356123b8848260208601612353565b91505092915050565b5f602082840312156123d6576123d5611fb4565b5b5f82013567ffffffffffffffff8111156123f3576123f2611fb8565b5b6123ff84828501612394565b91505092915050565b5f806040838503121561241e5761241d611fb4565b5b5f61242b8582860161211e565b925050602061243c8582860161211e565b9150509250929050565b5f6020828403121561245b5761245a611fb4565b5b5f612468848285016121cb565b91505092915050565b61247a8161203c565b8114612484575f80fd5b50565b5f8135905061249581612471565b92915050565b5f80604083850312156124b1576124b0611fb4565b5b5f6124be858286016121cb565b92505060206124cf85828601612487565b9150509250929050565b5f67ffffffffffffffff8211156124f3576124f261229d565b5b6124fc82612097565b9050602081019050919050565b5f61251b612516846124d9565b6122fb565b90508281526020810184848401111561253757612536612299565b5b612542848285612345565b509392505050565b5f82601f83011261255e5761255d612295565b5b813561256e848260208601612509565b91505092915050565b5f805f806080858703121561258f5761258e611fb4565b5b5f61259c878288016121cb565b94505060206125ad878288016121cb565b93505060406125be8782880161211e565b925050606085013567ffffffffffffffff8111156125df576125de611fb8565b5b6125eb8782880161254a565b91505092959194509250565b5f806040838503121561260d5761260c611fb4565b5b5f61261a858286016121cb565b925050602061262b858286016121cb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61266c826120ff565b9150612677836120ff565b925082820390508181111561268f5761268e612635565b5b92915050565b5f6060820190506126a85f83018661221d565b6126b5602083018561218d565b6126c2604083018461221d565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612701826120ff565b915061270c836120ff565b92508261271c5761271b6126ca565b5b828206905092915050565b7f6e6f74204f776e657200000000000000000000000000000000000000000000005f82015250565b5f61275b600983612079565b915061276682612727565b602082019050919050565b5f6020820190508181035f8301526127888161274f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806127d357607f821691505b6020821081036127e6576127e561278f565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026128487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261280d565b612852868361280d565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61288d612888612883846120ff565b61286a565b6120ff565b9050919050565b5f819050919050565b6128a683612873565b6128ba6128b282612894565b848454612819565b825550505050565b5f90565b6128ce6128c2565b6128d981848461289d565b505050565b5b818110156128fc576128f15f826128c6565b6001810190506128df565b5050565b601f82111561294157612912816127ec565b61291b846127fe565b8101602085101561292a578190505b61293e612936856127fe565b8301826128de565b50505b505050565b5f82821c905092915050565b5f6129615f1984600802612946565b1980831691505092915050565b5f6129798383612952565b9150826002028217905092915050565b6129928261206f565b67ffffffffffffffff8111156129ab576129aa61229d565b5b6129b582546127bc565b6129c0828285612900565b5f60209050601f8311600181146129f1575f84156129df578287015190505b6129e9858261296e565b865550612a50565b601f1984166129ff866127ec565b5f5b82811015612a2657848901518255600182019150602085019450602081019050612a01565b86831015612a435784890151612a3f601f891682612952565b8355505b6001600288020188555050505b505050505050565b7f6e6f2053637269707400000000000000000000000000000000000000000000005f82015250565b5f612a8c600983612079565b9150612a9782612a58565b602082019050919050565b5f6020820190508181035f830152612ab981612a80565b9050919050565b5f612aca826120ff565b9150612ad5836120ff565b9250828201905080821115612aed57612aec612635565b5b92915050565b7f467265656d696e7420536f6c64204f75740000000000000000000000000000005f82015250565b5f612b27601183612079565b9150612b3282612af3565b602082019050919050565b5f6020820190508181035f830152612b5481612b1b565b9050919050565b7f4d6178207065722057616c6c65740000000000000000000000000000000000005f82015250565b5f612b8f600e83612079565b9150612b9a82612b5b565b602082019050919050565b5f6020820190508181035f830152612bbc81612b83565b9050919050565b5f612bcd826120ff565b9150612bd8836120ff565b9250828202612be6816120ff565b91508282048414831517612bfd57612bfc612635565b5b5092915050565b7f536f6c64204f75740000000000000000000000000000000000000000000000005f82015250565b5f612c38600883612079565b9150612c4382612c04565b602082019050919050565b5f6020820190508181035f830152612c6581612c2c565b9050919050565b7f56616c756520746f204c6f7700000000000000000000000000000000000000005f82015250565b5f612ca0600c83612079565b9150612cab82612c6c565b602082019050919050565b5f6020820190508181035f830152612ccd81612c94565b9050919050565b7f55736564206f6e6c79204f6e63650000000000000000000000000000000000005f82015250565b5f612d08600e83612079565b9150612d1382612cd4565b602082019050919050565b5f6020820190508181035f830152612d3581612cfc565b9050919050565b5f81905092915050565b7f697066733a2f2f000000000000000000000000000000000000000000000000005f82015250565b5f612d7a600783612d3c565b9150612d8582612d46565b600782019050919050565b5f612d9a8261206f565b612da48185612d3c565b9350612db4818560208601612089565b80840191505092915050565b7f2f000000000000000000000000000000000000000000000000000000000000005f82015250565b5f612df4600183612d3c565b9150612dff82612dc0565b600182019050919050565b7f2e6a736f6e0000000000000000000000000000000000000000000000000000005f82015250565b5f612e3e600583612d3c565b9150612e4982612e0a565b600582019050919050565b5f612e5e82612d6e565b9150612e6a8285612d90565b9150612e7582612de8565b9150612e818284612d90565b9150612e8c82612e32565b91508190509392505050565b7f4f7574206f6620626f756e6473000000000000000000000000000000000000005f82015250565b5f612ecc600d83612079565b9150612ed782612e98565b602082019050919050565b5f6020820190508181035f830152612ef981612ec0565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffdfea26469706673582212201ac0231666b536f514bf8ab9fc202bacf065c748f129e98cda211571bf91057a64736f6c634300081a0033516d557959574e3735563877773969314d784273676a6839457a4542794336714161463476454334766351643737