60c06040526040518060400160405280600d81526020017f5065706520526f756c6574746500000000000000000000000000000000000000815250600190816200004a9190620007c3565b506040518060400160405280600781526020017f24504953544f4c0000000000000000000000000000000000000000000000000081525060029081620000919190620007c3565b506008600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250600073ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff168152506005600455600580556064600855600360009054906101000a900460ff16600a62000143919062000a3a565b6298968062000153919062000a8b565b600d55600360009054906101000a900460ff16600a62000174919062000a3a565b61753062000183919062000a8b565b600e556000601160016101000a81548160ff0219169083151502179055506000601160026101000a81548160ff021916908315150217905550348015620001c957600080fd5b50620001ea620001de6200047d60201b60201c565b6200048560201b60201c565b33600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000601160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600019600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505062000ad6565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005cb57607f821691505b602082108103620005e157620005e062000583565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200064b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200060c565b6200065786836200060c565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006a46200069e62000698846200066f565b62000679565b6200066f565b9050919050565b6000819050919050565b620006c08362000683565b620006d8620006cf82620006ab565b84845462000619565b825550505050565b600090565b620006ef620006e0565b620006fc818484620006b5565b505050565b5b81811015620007245762000718600082620006e5565b60018101905062000702565b5050565b601f82111562000773576200073d81620005e7565b6200074884620005fc565b8101602085101562000758578190505b620007706200076785620005fc565b83018262000701565b50505b505050565b600082821c905092915050565b6000620007986000198460080262000778565b1980831691505092915050565b6000620007b3838362000785565b9150826002028217905092915050565b620007ce8262000549565b67ffffffffffffffff811115620007ea57620007e962000554565b5b620007f68254620005b2565b6200080382828562000728565b600060209050601f8311600181146200083b576000841562000826578287015190505b620008328582620007a5565b865550620008a2565b601f1984166200084b86620005e7565b60005b8281101562000875578489015182556001820191506020850194506020810190506200084e565b8683101562000895578489015162000891601f89168262000785565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620009385780860481111562000910576200090f620008aa565b5b6001851615620009205780820291505b80810290506200093085620008d9565b9450620008f0565b94509492505050565b60008262000953576001905062000a26565b8162000963576000905062000a26565b81600181146200097c57600281146200098757620009bd565b600191505062000a26565b60ff8411156200099c576200099b620008aa565b5b8360020a915084821115620009b657620009b5620008aa565b5b5062000a26565b5060208310610133831016604e8410600b8410161715620009f75782820a905083811115620009f157620009f0620008aa565b5b62000a26565b62000a068484846001620008e6565b9250905081840481111562000a205762000a1f620008aa565b5b81810290505b9392505050565b600060ff82169050919050565b600062000a47826200066f565b915062000a548362000a2d565b925062000a837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000941565b905092915050565b600062000a98826200066f565b915062000aa5836200066f565b925082820262000ab5816200066f565b9150828204841483151762000acf5762000ace620008aa565b5b5092915050565b60805160a0516149a262000b0a6000396000818161125d015261148201526000818161145601526114ae01526149a26000f3fe6080604052600436106102555760003560e01c8063715018a611610139578063cea9d26f116100b6578063e9fd33941161007a578063e9fd3394146108b8578063eec1c69f146108e3578063f242ab4114610920578063f2fde38b1461094b578063f331c7b014610974578063fb235f341461099f5761025c565b8063cea9d26f146107e9578063d4e43fb314610812578063dd62ed3e1461083b578063df8408fe14610878578063e6b2603b146108a15761025c565b8063a9059cbb116100fd578063a9059cbb14610704578063adc0d09214610741578063bf56b3711461076a578063c16dd4a414610795578063c6d2577d146107be5761025c565b8063715018a61461062f5780637ca882b5146106465780638da5cb5b1461067157806395d89b411461069c578063a457c2d7146106c75761025c565b806327c8f835116101d25780633ecad271116101965780633ecad271146104f957806342966c6814610536578063444784251461055f5780635342acb41461058a5780636ddd1713146105c757806370a08231146105f25761025c565b806327c8f835146104105780632b112e491461043b578063313ce5671461046657806337249b651461049157806339509351146104bc5761025c565b8063095ea7b311610219578063095ea7b3146103175780630adab99f14610354578063111a46511461037d57806318160ddd146103a857806323b872dd146103d35761025c565b80630445b6671461026157806306fdde031461028c5780630758d924146102b757806307df7a0d146102e25780630930907b146102ec5761025c565b3661025c57005b600080fd5b34801561026d57600080fd5b506102766109c8565b6040516102839190613748565b60405180910390f35b34801561029857600080fd5b506102a16109ce565b6040516102ae91906137f3565b60405180910390f35b3480156102c357600080fd5b506102cc610a60565b6040516102d99190613894565b60405180910390f35b6102ea610a86565b005b3480156102f857600080fd5b5061030161125b565b60405161030e91906138d0565b60405180910390f35b34801561032357600080fd5b5061033e60048036038101906103399190613948565b61127f565b60405161034b91906139a3565b60405180910390f35b34801561036057600080fd5b5061037b600480360381019061037691906139be565b61129d565b005b34801561038957600080fd5b5061039261135d565b60405161039f91906139a3565b60405180910390f35b3480156103b457600080fd5b506103bd611370565b6040516103ca9190613748565b60405180910390f35b3480156103df57600080fd5b506103fa60048036038101906103f591906139eb565b61137a565b60405161040791906139a3565b60405180910390f35b34801561041c57600080fd5b50610425611454565b60405161043291906138d0565b60405180910390f35b34801561044757600080fd5b50610450611478565b60405161045d9190613748565b60405180910390f35b34801561047257600080fd5b5061047b6114f6565b6040516104889190613a5a565b60405180910390f35b34801561049d57600080fd5b506104a661150d565b6040516104b39190613748565b60405180910390f35b3480156104c857600080fd5b506104e360048036038101906104de9190613948565b611513565b6040516104f091906139a3565b60405180910390f35b34801561050557600080fd5b50610520600480360381019061051b91906139be565b6115c6565b60405161052d91906139a3565b60405180910390f35b34801561054257600080fd5b5061055d60048036038101906105589190613a75565b6115e6565b005b34801561056b57600080fd5b50610574611787565b60405161058191906138d0565b60405180910390f35b34801561059657600080fd5b506105b160048036038101906105ac91906139be565b6117ad565b6040516105be91906139a3565b60405180910390f35b3480156105d357600080fd5b506105dc6117cd565b6040516105e991906139a3565b60405180910390f35b3480156105fe57600080fd5b50610619600480360381019061061491906139be565b6117e0565b6040516106269190613748565b60405180910390f35b34801561063b57600080fd5b50610644611829565b005b34801561065257600080fd5b5061065b6118b1565b60405161066891906138d0565b60405180910390f35b34801561067d57600080fd5b506106866118d7565b60405161069391906138d0565b60405180910390f35b3480156106a857600080fd5b506106b1611900565b6040516106be91906137f3565b60405180910390f35b3480156106d357600080fd5b506106ee60048036038101906106e99190613948565b611992565b6040516106fb91906139a3565b60405180910390f35b34801561071057600080fd5b5061072b60048036038101906107269190613948565b611a5f565b60405161073891906139a3565b60405180910390f35b34801561074d57600080fd5b5061076860048036038101906107639190613a75565b611a7e565b005b34801561077657600080fd5b5061077f611b04565b60405161078c9190613748565b60405180910390f35b3480156107a157600080fd5b506107bc60048036038101906107b79190613ace565b611b0a565b005b3480156107ca57600080fd5b506107d3611be1565b6040516107e09190613748565b60405180910390f35b3480156107f557600080fd5b50610810600480360381019061080b91906139eb565b611be7565b005b34801561081e57600080fd5b5061083960048036038101906108349190613b0e565b611db9565b005b34801561084757600080fd5b50610862600480360381019061085d9190613b4e565b611e81565b60405161086f9190613748565b60405180910390f35b34801561088457600080fd5b5061089f600480360381019061089a9190613ace565b611f08565b005b3480156108ad57600080fd5b506108b6611fdf565b005b3480156108c457600080fd5b506108cd61211e565b6040516108da91906139a3565b60405180910390f35b3480156108ef57600080fd5b5061090a60048036038101906109059190613bca565b612131565b60405161091791906139a3565b60405180910390f35b34801561092c57600080fd5b506109356122eb565b60405161094291906138d0565b60405180910390f35b34801561095757600080fd5b50610972600480360381019061096d91906139be565b612311565b005b34801561098057600080fd5b50610989612408565b6040516109969190613748565b60405180910390f35b3480156109ab57600080fd5b506109c660048036038101906109c191906139be565b61240e565b005b600e5481565b6060600180546109dd90613c26565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0990613c26565b8015610a565780601f10610a2b57610100808354040283529160200191610a56565b820191906000526020600020905b815481529060010190602001808311610a3957829003601f168201915b5050505050905090565b601160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a8e6124ce565b73ffffffffffffffffffffffffffffffffffffffff16610aac6118d7565b73ffffffffffffffffffffffffffffffffffffffff1614610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af990613ca3565b60405180910390fd5b6000600f5414610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e90613d0f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610bd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcf90613d7b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6090613d7b565b60405180910390fd5b6000610c946064610c866005600d546124d690919063ffffffff16565b61255090919063ffffffff16565b90506000610cad82600d5461259a90919063ffffffff16565b905080600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160096000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610db79190613748565b60405180910390a3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e3f9190613748565b60405180910390a3601160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719343084600080610e936118d7565b426040518863ffffffff1660e01b8152600401610eb596959493929190613dd6565b60606040518083038185885af1158015610ed3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ef89190613e4c565b5050506000601160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8e9190613eb4565b905060008173ffffffffffffffffffffffffffffffffffffffff1663e6a4390530601160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561101c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110409190613eb4565b6040518363ffffffff1660e01b815260040161105d929190613ee1565b602060405180830381865afa15801561107a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109e9190613eb4565b905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600019600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600f81905550426010819055506001601160016101000a81548160ff0219169083151502179055507fe9eb78ba3cec944cc08914c86e9e2f865657d654824acd14c88b3c271bf6397760405160405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061129361128c6124ce565b84846125e4565b6001905092915050565b6112a56124ce565b73ffffffffffffffffffffffffffffffffffffffff166112c36118d7565b73ffffffffffffffffffffffffffffffffffffffff1614611319576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131090613ca3565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601160009054906101000a900460ff1681565b6000600d54905090565b60006113878484846127ad565b50611449846113946124ce565b6114448560405180606001604052806028815260200161492060289139600a60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006113fa6124ce565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bcb9092919063ffffffff16565b6125e4565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006114f16114a67f00000000000000000000000000000000000000000000000000000000000000006117e0565b6114e36114d27f00000000000000000000000000000000000000000000000000000000000000006117e0565b600d5461259a90919063ffffffff16565b61259a90919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b60055481565b60006115bc6115206124ce565b846115b785600a60006115316124ce565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c2f90919063ffffffff16565b6125e4565b6001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b600033905081600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561166d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166490613f56565b60405180910390fd5b6116bf82600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259a90919063ffffffff16565b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061171782600d5461259a90919063ffffffff16565b600d81905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161177b9190613748565b60405180910390a35050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b6020528060005260406000206000915054906101000a900460ff1681565b601160019054906101000a900460ff1681565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6118316124ce565b73ffffffffffffffffffffffffffffffffffffffff1661184f6118d7565b73ffffffffffffffffffffffffffffffffffffffff16146118a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189c90613ca3565b60405180910390fd5b6118af6000612c8d565b565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461190f90613c26565b80601f016020809104026020016040519081016040528092919081815260200182805461193b90613c26565b80156119885780601f1061195d57610100808354040283529160200191611988565b820191906000526020600020905b81548152906001019060200180831161196b57829003601f168201915b5050505050905090565b6000611a5561199f6124ce565b84611a508560405180606001604052806025815260200161494860259139600a60006119c96124ce565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bcb9092919063ffffffff16565b6125e4565b6001905092915050565b6000611a73611a6c6124ce565b84846127ad565b506001905092915050565b611a866124ce565b73ffffffffffffffffffffffffffffffffffffffff16611aa46118d7565b73ffffffffffffffffffffffffffffffffffffffff1614611afa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af190613ca3565b60405180910390fd5b80600e8190555050565b600f5481565b611b126124ce565b73ffffffffffffffffffffffffffffffffffffffff16611b306118d7565b73ffffffffffffffffffffffffffffffffffffffff1614611b86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7d90613ca3565b60405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60105481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6e90613fc2565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff168383604051602401611ca3929190613fe2565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051611d2d9190614052565b6000604051808303816000865af19150503d8060008114611d6a576040519150601f19603f3d011682016040523d82523d6000602084013e611d6f565b606091505b5050905080611db3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611daa906140b5565b60405180910390fd5b50505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4090613fc2565b60405180910390fd5b81601160016101000a81548160ff02191690831515021790555080601160026101000a81548160ff0219169083151502179055505050565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611f106124ce565b73ffffffffffffffffffffffffffffffffffffffff16611f2e6118d7565b73ffffffffffffffffffffffffffffffffffffffff1614611f84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7b90613ca3565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461206f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206690613fc2565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1647604051612095906140fb565b60006040518083038185875af1925050503d80600081146120d2576040519150601f19603f3d011682016040523d82523d6000602084013e6120d7565b606091505b505090508061211b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121129061415c565b60405180910390fd5b50565b601160029054906101000a900460ff1681565b60008061213c6124ce565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040516122a09190613748565b60405180910390a37fb5e85c8f437dbbdc51d3b5979c8fe54dcb0dcea732661c1904898ddb2fd3bb0e81846040516122d99291906141ad565b60405180910390a16001915050919050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6123196124ce565b73ffffffffffffffffffffffffffffffffffffffff166123376118d7565b73ffffffffffffffffffffffffffffffffffffffff161461238d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238490613ca3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036123fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f390614248565b60405180910390fd5b61240581612c8d565b50565b60045481565b6124166124ce565b73ffffffffffffffffffffffffffffffffffffffff166124346118d7565b73ffffffffffffffffffffffffffffffffffffffff161461248a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248190613ca3565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b60008083036124e8576000905061254a565b600082846124f69190614297565b90508284826125059190614308565b14612545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253c906143ab565b60405180910390fd5b809150505b92915050565b600061259283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d51565b905092915050565b60006125dc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612bcb565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264a9061443d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b9906144cf565b60405180910390fd5b80600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516127a09190613748565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361281d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281490614561565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361288c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612883906145f3565b60405180910390fd5b600082116128cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c690614685565b60405180910390fd5b601260149054906101000a900460ff16156128f6576128ef848484612db4565b9050612bc4565b6000600f54141580156129165750601160009054906101000a900460ff16155b1561292457612923612f87565b5b600061292f306117e0565b90506000600e5482101590508080156129555750601260149054906101000a900460ff16155b80156129ab5750600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129c35750601160019054906101000a900460ff165b156129d2576129d182613023565b5b612a5b846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bcb9092919063ffffffff16565b600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000612aaa8787613111565b612abe57612ab987878761327c565b612ac0565b845b9050612b1481600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c2f90919063ffffffff16565b600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612bb49190613748565b60405180910390a3600193505050505b9392505050565b6000838311158290612c13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0a91906137f3565b60405180910390fd5b5060008385612c2291906146a5565b9050809150509392505050565b6000808284612c3e91906146d9565b905083811015612c83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c7a90614759565b60405180910390fd5b8091505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008083118290612d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d8f91906137f3565b60405180910390fd5b5060008385612da79190614308565b9050809150509392505050565b6000612e3f826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bcb9092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ed482600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c2f90919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f749190613748565b60405180910390a3600190509392505050565b6004600f54612f9691906146d9565b4311612fa857612fa76063806134a1565b5b6004600f54612fb791906146d9565b43118015612fd357506019600f54612fcf91906146d9565b4311155b15612fe457612fe3602d806134a1565b5b6019600f54612ff391906146d9565b431115613021576130056005806134a1565b6001601160006101000a81548160ff0219169083151502179055505b565b6001601260146101000a81548160ff021916908315150217905550601160029054906101000a900460ff161561305957600e5490505b6000479050613067826134b3565b600061307c824761259a90919063ffffffff16565b905060008111156130f157600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156130ef573d6000803e3d6000fd5b505b50506000601260146101000a81548160ff02191690831515021790555050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806131b45750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156131c25760019050613276565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806132635750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156132715760009050613276565b600090505b92915050565b600080600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613301576132fa6008546132ec600454866124d690919063ffffffff16565b61255090919063ffffffff16565b9050613380565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561337f5761337c60085461336e600554866124d690919063ffffffff16565b61255090919063ffffffff16565b90505b5b6000811115613484576133db81600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c2f90919063ffffffff16565b600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161347b9190613748565b60405180910390a35b613497818461259a90919063ffffffff16565b9150509392505050565b81600481905550806005819055505050565b6000600267ffffffffffffffff8111156134d0576134cf614779565b5b6040519080825280602002602001820160405280156134fe5781602001602082028036833780820191505090505b5090503081600081518110613516576135156147a8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156135bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135e19190613eb4565b816001815181106135f5576135f46147a8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061365c30601160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846125e4565b601160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016136c0959493929190614895565b600060405180830381600087803b1580156136da57600080fd5b505af11580156136ee573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516137239291906148ef565b60405180910390a15050565b6000819050919050565b6137428161372f565b82525050565b600060208201905061375d6000830184613739565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561379d578082015181840152602081019050613782565b60008484015250505050565b6000601f19601f8301169050919050565b60006137c582613763565b6137cf818561376e565b93506137df81856020860161377f565b6137e8816137a9565b840191505092915050565b6000602082019050818103600083015261380d81846137ba565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061385a61385561385084613815565b613835565b613815565b9050919050565b600061386c8261383f565b9050919050565b600061387e82613861565b9050919050565b61388e81613873565b82525050565b60006020820190506138a96000830184613885565b92915050565b60006138ba82613815565b9050919050565b6138ca816138af565b82525050565b60006020820190506138e560008301846138c1565b92915050565b600080fd5b6138f9816138af565b811461390457600080fd5b50565b600081359050613916816138f0565b92915050565b6139258161372f565b811461393057600080fd5b50565b6000813590506139428161391c565b92915050565b6000806040838503121561395f5761395e6138eb565b5b600061396d85828601613907565b925050602061397e85828601613933565b9150509250929050565b60008115159050919050565b61399d81613988565b82525050565b60006020820190506139b86000830184613994565b92915050565b6000602082840312156139d4576139d36138eb565b5b60006139e284828501613907565b91505092915050565b600080600060608486031215613a0457613a036138eb565b5b6000613a1286828701613907565b9350506020613a2386828701613907565b9250506040613a3486828701613933565b9150509250925092565b600060ff82169050919050565b613a5481613a3e565b82525050565b6000602082019050613a6f6000830184613a4b565b92915050565b600060208284031215613a8b57613a8a6138eb565b5b6000613a9984828501613933565b91505092915050565b613aab81613988565b8114613ab657600080fd5b50565b600081359050613ac881613aa2565b92915050565b60008060408385031215613ae557613ae46138eb565b5b6000613af385828601613907565b9250506020613b0485828601613ab9565b9150509250929050565b60008060408385031215613b2557613b246138eb565b5b6000613b3385828601613ab9565b9250506020613b4485828601613ab9565b9150509250929050565b60008060408385031215613b6557613b646138eb565b5b6000613b7385828601613907565b9250506020613b8485828601613907565b9150509250929050565b600063ffffffff82169050919050565b613ba781613b8e565b8114613bb257600080fd5b50565b600081359050613bc481613b9e565b92915050565b600060208284031215613be057613bdf6138eb565b5b6000613bee84828501613bb5565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613c3e57607f821691505b602082108103613c5157613c50613bf7565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c8d60208361376e565b9150613c9882613c57565b602082019050919050565b60006020820190508181036000830152613cbc81613c80565b9050919050565b7f416c7265616479206c61756e6368656421000000000000000000000000000000600082015250565b6000613cf960118361376e565b9150613d0482613cc3565b602082019050919050565b60006020820190508181036000830152613d2881613cec565b9050919050565b7f6e756c6c20616464726573730000000000000000000000000000000000000000600082015250565b6000613d65600c8361376e565b9150613d7082613d2f565b602082019050919050565b60006020820190508181036000830152613d9481613d58565b9050919050565b6000819050919050565b6000613dc0613dbb613db684613d9b565b613835565b61372f565b9050919050565b613dd081613da5565b82525050565b600060c082019050613deb60008301896138c1565b613df86020830188613739565b613e056040830187613dc7565b613e126060830186613dc7565b613e1f60808301856138c1565b613e2c60a0830184613739565b979650505050505050565b600081519050613e468161391c565b92915050565b600080600060608486031215613e6557613e646138eb565b5b6000613e7386828701613e37565b9350506020613e8486828701613e37565b9250506040613e9586828701613e37565b9150509250925092565b600081519050613eae816138f0565b92915050565b600060208284031215613eca57613ec96138eb565b5b6000613ed884828501613e9f565b91505092915050565b6000604082019050613ef660008301856138c1565b613f0360208301846138c1565b9392505050565b7f496e73756666696369656e742042616c616e636520466f72204275726e210000600082015250565b6000613f40601e8361376e565b9150613f4b82613f0a565b602082019050919050565b60006020820190508181036000830152613f6f81613f33565b9050919050565b7f496e76616c69642043616c6c6572210000000000000000000000000000000000600082015250565b6000613fac600f8361376e565b9150613fb782613f76565b602082019050919050565b60006020820190508181036000830152613fdb81613f9f565b9050919050565b6000604082019050613ff760008301856138c1565b6140046020830184613739565b9392505050565b600081519050919050565b600081905092915050565b600061402c8261400b565b6140368185614016565b935061404681856020860161377f565b80840191505092915050565b600061405e8284614021565b915081905092915050565b7f546f6b656e207061796d656e74206661696c6564000000000000000000000000600082015250565b600061409f60148361376e565b91506140aa82614069565b602082019050919050565b600060208201905081810360008301526140ce81614092565b9050919050565b50565b60006140e5600083614016565b91506140f0826140d5565b600082019050919050565b6000614106826140d8565b9150819050919050565b7f5472616e73616374696f6e204661696c65642121000000000000000000000000600082015250565b600061414660148361376e565b915061415182614110565b602082019050919050565b6000602082019050818103600083015261417581614139565b9050919050565b600061419761419261418d84613b8e565b613835565b61372f565b9050919050565b6141a78161417c565b82525050565b60006040820190506141c260008301856138c1565b6141cf602083018461419e565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061423260268361376e565b915061423d826141d6565b604082019050919050565b6000602082019050818103600083015261426181614225565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006142a28261372f565b91506142ad8361372f565b92508282026142bb8161372f565b915082820484148315176142d2576142d1614268565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006143138261372f565b915061431e8361372f565b92508261432e5761432d6142d9565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061439560218361376e565b91506143a082614339565b604082019050919050565b600060208201905081810360008301526143c481614388565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061442760248361376e565b9150614432826143cb565b604082019050919050565b600060208201905081810360008301526144568161441a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006144b960228361376e565b91506144c48261445d565b604082019050919050565b600060208201905081810360008301526144e8816144ac565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061454b60258361376e565b9150614556826144ef565b604082019050919050565b6000602082019050818103600083015261457a8161453e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006145dd60238361376e565b91506145e882614581565b604082019050919050565b6000602082019050818103600083015261460c816145d0565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061466f60298361376e565b915061467a82614613565b604082019050919050565b6000602082019050818103600083015261469e81614662565b9050919050565b60006146b08261372f565b91506146bb8361372f565b92508282039050818111156146d3576146d2614268565b5b92915050565b60006146e48261372f565b91506146ef8361372f565b925082820190508082111561470757614706614268565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614743601b8361376e565b915061474e8261470d565b602082019050919050565b6000602082019050818103600083015261477281614736565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61480c816138af565b82525050565b600061481e8383614803565b60208301905092915050565b6000602082019050919050565b6000614842826147d7565b61484c81856147e2565b9350614857836147f3565b8060005b8381101561488857815161486f8882614812565b975061487a8361482a565b92505060018101905061485b565b5085935050505092915050565b600060a0820190506148aa6000830188613739565b6148b76020830187613dc7565b81810360408301526148c98186614837565b90506148d860608301856138c1565b6148e56080830184613739565b9695505050505050565b60006040820190506149046000830185613739565b81810360208301526149168184614837565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220dfd779aa563a74bbd2f22ffc17510bb858d2a41d1d928349f02d4edb4a3a134b64736f6c63430008130033