60806040526000600660006101000a81548160ff021916908315150217905550600a600755601e60085560006009556000600a556000600b556014600c556000600d556012600a6200005291906200071a565b60c86200006091906200076b565b600e556012600a6200007391906200071a565b60c86200008191906200076b565b600f556012600a6200009491906200071a565b6064620000a291906200076b565b6010556012600a620000b591906200071a565b60c8620000c391906200076b565b601155620000f76012600a620000da91906200071a565b612710620000e991906200076b565b60006200051560201b60201c565b6012556000601460156101000a81548160ff0219169083151502179055506000601460166101000a81548160ff0219169083151502179055506001601460176101000a81548160ff021916908360ff1602179055506003601460186101000a81548160ff021916908360ff16021790555060006200017a6200054f60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620002286200054f60201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125460016000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506012546012600a620002e391906200071a565b612710620002f291906200076b565b620002fe9190620007b6565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620003576200055760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200048a6200054f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620004e991906200071a565b612710620004f891906200076b565b60405162000507919062000802565b60405180910390a362000886565b6000806064836200052791906200076b565b905061271081856200053a91906200076b565b6200054691906200084e565b91505092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200060e57808604811115620005e657620005e562000580565b5b6001851615620005f65780820291505b80810290506200060685620005af565b9450620005c6565b94509492505050565b600082620006295760019050620006fc565b81620006395760009050620006fc565b81600181146200065257600281146200065d5762000693565b6001915050620006fc565b60ff84111562000672576200067162000580565b5b8360020a9150848211156200068c576200068b62000580565b5b50620006fc565b5060208310610133831016604e8410600b8410161715620006cd5782820a905083811115620006c757620006c662000580565b5b620006fc565b620006dc8484846001620005bc565b92509050818404811115620006f657620006f562000580565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007278262000703565b915062000734836200070d565b9250620007637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000617565b905092915050565b6000620007788262000703565b9150620007858362000703565b9250828202620007958162000703565b91508282048414831517620007af57620007ae62000580565b5b5092915050565b6000620007c38262000703565b9150620007d08362000703565b9250828203905081811115620007eb57620007ea62000580565b5b92915050565b620007fc8162000703565b82525050565b6000602082019050620008196000830184620007f1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200085b8262000703565b9150620008688362000703565b9250826200087b576200087a6200081f565b5b828204905092915050565b6135a580620008966000396000f3fe60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063a9059cbb1161006f578063a9059cbb1461047b578063aa5c6d33146104b8578063bf474bed146104cf578063c876d0b9146104fa578063c9567bf914610525578063dd62ed3e1461052f57610156565b80638da5cb5b146103575780638dfa4363146103825780638f9a55c0146103bf578063908e3b7d146103ea57806395d89b4114610413578063970b44d41461043e57610156565b806335ce3c801161010857806335ce3c801461028157806341fb0d21146102aa57806351bc3c85146102c157806370a08231146102d8578063715018a6146103155780637d1db4a51461032c57610156565b806306fdde031461015b578063095ea7b3146101865780630faee56f146101c357806318160ddd146101ee57806323b872dd14610219578063313ce5671461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b5061017061056c565b60405161017d9190612553565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a8919061260e565b6105a9565b6040516101ba9190612669565b60405180910390f35b3480156101cf57600080fd5b506101d86105c7565b6040516101e59190612693565b60405180910390f35b3480156101fa57600080fd5b506102036105cd565b6040516102109190612693565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b91906126ae565b6105ef565b60405161024d9190612669565b60405180910390f35b34801561026257600080fd5b5061026b6106c8565b604051610278919061271d565b60405180910390f35b34801561028d57600080fd5b506102a860048036038101906102a39190612764565b6106d1565b005b3480156102b657600080fd5b506102bf6107c1565b005b3480156102cd57600080fd5b506102d6610836565b005b3480156102e457600080fd5b506102ff60048036038101906102fa91906127a4565b6108d3565b60405161030c9190612693565b60405180910390f35b34801561032157600080fd5b5061032a61091c565b005b34801561033857600080fd5b50610341610a6f565b60405161034e9190612693565b60405180910390f35b34801561036357600080fd5b5061036c610a75565b60405161037991906127e0565b60405180910390f35b34801561038e57600080fd5b506103a960048036038101906103a491906127fb565b610a9e565b6040516103b69190612693565b60405180910390f35b3480156103cb57600080fd5b506103d4610ad2565b6040516103e19190612693565b60405180910390f35b3480156103f657600080fd5b50610411600480360381019061040c9190612867565b610ad8565b005b34801561041f57600080fd5b50610428610b8b565b6040516104359190612553565b60405180910390f35b34801561044a57600080fd5b50610465600480360381019061046091906127a4565b610bc8565b6040516104729190612669565b60405180910390f35b34801561048757600080fd5b506104a2600480360381019061049d919061260e565b610c1e565b6040516104af9190612669565b60405180910390f35b3480156104c457600080fd5b506104cd610c3c565b005b3480156104db57600080fd5b506104e4610d81565b6040516104f19190612693565b60405180910390f35b34801561050657600080fd5b5061050f610d87565b60405161051c9190612669565b60405180910390f35b61052d610d9a565b005b34801561053b57600080fd5b5061055660048036038101906105519190612894565b6112dc565b6040516105639190612693565b60405180910390f35b60606040518060400160405280600481526020017f4c41525000000000000000000000000000000000000000000000000000000000815250905090565b60006105bd6105b6611363565b848461136b565b6001905092915050565b60115481565b60006012600a6105dd9190612a36565b6127106105ea9190612a81565b905090565b60006105fc848484611534565b6106bd84610608611363565b6106b88560405180606001604052806028815260200161354860289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061066e611363565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f629092919063ffffffff16565b61136b565b600190509392505050565b60006012905090565b6106d9611363565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075d90612b0f565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610802611363565b73ffffffffffffffffffffffffffffffffffffffff161461082257600080fd5b600954600781905550600a54600881905550565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610877611363565b73ffffffffffffffffffffffffffffffffffffffff161461089757600080fd5b60006108a2306108d3565b905060008111156108b7576108b681611fc6565b5b600047905060008111156108cf576108ce8161225c565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610924611363565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a890612b0f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080606483610aae9190612a81565b90506127108185610abf9190612a81565b610ac99190612b5e565b91505092915050565b600f5481565b610ae0611363565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6490612b0f565b60405180910390fd5b80601460176101000a81548160ff021916908360ff16021790555050565b60606040518060400160405280600481526020017f4c41525000000000000000000000000000000000000000000000000000000000815250905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000610c32610c2b611363565b8484611534565b6001905092915050565b610c44611363565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc890612b0f565b60405180910390fd5b6012600a610cdf9190612a36565b612710610cec9190612a81565b600e819055506012600a610d009190612a36565b612710610d0d9190612a81565b600f819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610d5d9190612a36565b612710610d6a9190612a81565b604051610d779190612693565b60405180910390a1565b60105481565b600660009054906101000a900460ff1681565b610da2611363565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2690612b0f565b60405180910390fd5b60148054906101000a900460ff1615610e7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7490612bdb565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f1930601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610f079190612a36565b612710610f149190612a81565b61136b565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610faa9190612c10565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611033573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110579190612c10565b6040518363ffffffff1660e01b8152600401611074929190612c3d565b6020604051808303816000875af1158015611093573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b79190612c10565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719600034116111435747611145565b345b3061114f306108d3565b60008061115a610a75565b426040518863ffffffff1660e01b815260040161117c96959493929190612cab565b60606040518083038185885af115801561119a573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111bf9190612d21565b505050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611261929190612d74565b6020604051808303816000875af1158015611280573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a49190612db2565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d190612e51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611449576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144090612ee3565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115279190612693565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159a90612f75565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611612576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160990613007565b60405180910390fd5b60008111611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164c90613099565b60405180910390fd5b600061165f610a75565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116cd575061169d610a75565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ca557600660009054906101000a900460ff161561185f57601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117935750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561185e5743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611819576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118109061312b565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561190a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119605750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a3b57600e548211156119aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a190613197565b60405180910390fd5b600f54826119b7856108d3565b6119c191906131b7565b1115611a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f990613237565b60405180910390fd5b600c54600d541015611a2257611a17836122c8565b15611a2157600080fd5b5b600d6000815480929190611a3590613257565b91905055505b611a636064611a55600754856122db90919063ffffffff16565b61235590919063ffffffff16565b9050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611aee57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b6357600e54821115611b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2f90613197565b60405180910390fd5b611b606064611b52600854856122db90919063ffffffff16565b61235590919063ffffffff16565b90505b6000611b6e306108d3565b9050601460159054906101000a900460ff16158015611bda5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bf25750601460169054906101000a900460ff165b8015611bff575060105481115b8015611c0e5750600c54600d54115b8015611c3e5750601460189054906101000a900460ff1660ff166015600043815260200190815260200160002054105b15611ca357611c60611c5b84611c568460115461239f565b61239f565b611fc6565b60004790506000811115611c7857611c774761225c565b5b601560004381526020019081526020016000206000815480929190611c9c90613257565b9190505550505b505b6000811115611da957611d0081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123b890919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611da09190612693565b60405180910390a35b611dfb82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ea2611e54828461241690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123b890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f47848661241690919063ffffffff16565b604051611f549190612693565b60405180910390a350505050565b6000838311158290611faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa19190612553565b60405180910390fd5b5060008385611fb9919061329f565b9050809150509392505050565b6001601460156101000a81548160ff021916908315150217905550600081031561223e5760148054906101000a900460ff161561223e576000600267ffffffffffffffff81111561201a576120196132d3565b5b6040519080825280602002602001820160405280156120485781602001602082028036833780820191505090505b50905030816000815181106120605761205f613302565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212b9190612c10565b8160018151811061213f5761213e613302565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121a630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461136b565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161220a9594939291906133ef565b600060405180830381600087803b15801561222457600080fd5b505af1158015612238573d6000803e3d6000fd5b50505050505b6000601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156122c4573d6000803e3d6000fd5b5050565b600080823b905060008111915050919050565b60008083036122ed576000905061234f565b600082846122fb9190612a81565b905082848261230a9190612b5e565b1461234a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612341906134bb565b60405180910390fd5b809150505b92915050565b600061239783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612460565b905092915050565b60008183116123ae57826123b0565b815b905092915050565b60008082846123c791906131b7565b90508381101561240c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240390613527565b60405180910390fd5b8091505092915050565b600061245883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f62565b905092915050565b600080831182906124a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249e9190612553565b60405180910390fd5b50600083856124b69190612b5e565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124fd5780820151818401526020810190506124e2565b60008484015250505050565b6000601f19601f8301169050919050565b6000612525826124c3565b61252f81856124ce565b935061253f8185602086016124df565b61254881612509565b840191505092915050565b6000602082019050818103600083015261256d818461251a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125a58261257a565b9050919050565b6125b58161259a565b81146125c057600080fd5b50565b6000813590506125d2816125ac565b92915050565b6000819050919050565b6125eb816125d8565b81146125f657600080fd5b50565b600081359050612608816125e2565b92915050565b6000806040838503121561262557612624612575565b5b6000612633858286016125c3565b9250506020612644858286016125f9565b9150509250929050565b60008115159050919050565b6126638161264e565b82525050565b600060208201905061267e600083018461265a565b92915050565b61268d816125d8565b82525050565b60006020820190506126a86000830184612684565b92915050565b6000806000606084860312156126c7576126c6612575565b5b60006126d5868287016125c3565b93505060206126e6868287016125c3565b92505060406126f7868287016125f9565b9150509250925092565b600060ff82169050919050565b61271781612701565b82525050565b6000602082019050612732600083018461270e565b92915050565b6127418161264e565b811461274c57600080fd5b50565b60008135905061275e81612738565b92915050565b6000806040838503121561277b5761277a612575565b5b6000612789858286016125c3565b925050602061279a8582860161274f565b9150509250929050565b6000602082840312156127ba576127b9612575565b5b60006127c8848285016125c3565b91505092915050565b6127da8161259a565b82525050565b60006020820190506127f560008301846127d1565b92915050565b6000806040838503121561281257612811612575565b5b6000612820858286016125f9565b9250506020612831858286016125f9565b9150509250929050565b61284481612701565b811461284f57600080fd5b50565b6000813590506128618161283b565b92915050565b60006020828403121561287d5761287c612575565b5b600061288b84828501612852565b91505092915050565b600080604083850312156128ab576128aa612575565b5b60006128b9858286016125c3565b92505060206128ca858286016125c3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561295a57808604811115612936576129356128d4565b5b60018516156129455780820291505b808102905061295385612903565b945061291a565b94509492505050565b6000826129735760019050612a2f565b816129815760009050612a2f565b816001811461299757600281146129a1576129d0565b6001915050612a2f565b60ff8411156129b3576129b26128d4565b5b8360020a9150848211156129ca576129c96128d4565b5b50612a2f565b5060208310610133831016604e8410600b8410161715612a055782820a905083811115612a00576129ff6128d4565b5b612a2f565b612a128484846001612910565b92509050818404811115612a2957612a286128d4565b5b81810290505b9392505050565b6000612a41826125d8565b9150612a4c83612701565b9250612a797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612963565b905092915050565b6000612a8c826125d8565b9150612a97836125d8565b9250828202612aa5816125d8565b91508282048414831517612abc57612abb6128d4565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612af96020836124ce565b9150612b0482612ac3565b602082019050919050565b60006020820190508181036000830152612b2881612aec565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b69826125d8565b9150612b74836125d8565b925082612b8457612b83612b2f565b5b828204905092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612bc56017836124ce565b9150612bd082612b8f565b602082019050919050565b60006020820190508181036000830152612bf481612bb8565b9050919050565b600081519050612c0a816125ac565b92915050565b600060208284031215612c2657612c25612575565b5b6000612c3484828501612bfb565b91505092915050565b6000604082019050612c5260008301856127d1565b612c5f60208301846127d1565b9392505050565b6000819050919050565b6000819050919050565b6000612c95612c90612c8b84612c66565b612c70565b6125d8565b9050919050565b612ca581612c7a565b82525050565b600060c082019050612cc060008301896127d1565b612ccd6020830188612684565b612cda6040830187612c9c565b612ce76060830186612c9c565b612cf460808301856127d1565b612d0160a0830184612684565b979650505050505050565b600081519050612d1b816125e2565b92915050565b600080600060608486031215612d3a57612d39612575565b5b6000612d4886828701612d0c565b9350506020612d5986828701612d0c565b9250506040612d6a86828701612d0c565b9150509250925092565b6000604082019050612d8960008301856127d1565b612d966020830184612684565b9392505050565b600081519050612dac81612738565b92915050565b600060208284031215612dc857612dc7612575565b5b6000612dd684828501612d9d565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612e3b6024836124ce565b9150612e4682612ddf565b604082019050919050565b60006020820190508181036000830152612e6a81612e2e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ecd6022836124ce565b9150612ed882612e71565b604082019050919050565b60006020820190508181036000830152612efc81612ec0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612f5f6025836124ce565b9150612f6a82612f03565b604082019050919050565b60006020820190508181036000830152612f8e81612f52565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612ff16023836124ce565b9150612ffc82612f95565b604082019050919050565b6000602082019050818103600083015261302081612fe4565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006130836029836124ce565b915061308e82613027565b604082019050919050565b600060208201905081810360008301526130b281613076565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b60006131156024836124ce565b9150613120826130b9565b604082019050919050565b6000602082019050818103600083015261314481613108565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006131816019836124ce565b915061318c8261314b565b602082019050919050565b600060208201905081810360008301526131b081613174565b9050919050565b60006131c2826125d8565b91506131cd836125d8565b92508282019050808211156131e5576131e46128d4565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613221601a836124ce565b915061322c826131eb565b602082019050919050565b6000602082019050818103600083015261325081613214565b9050919050565b6000613262826125d8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613294576132936128d4565b5b600182019050919050565b60006132aa826125d8565b91506132b5836125d8565b92508282039050818111156132cd576132cc6128d4565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6133668161259a565b82525050565b6000613378838361335d565b60208301905092915050565b6000602082019050919050565b600061339c82613331565b6133a6818561333c565b93506133b18361334d565b8060005b838110156133e25781516133c9888261336c565b97506133d483613384565b9250506001810190506133b5565b5085935050505092915050565b600060a0820190506134046000830188612684565b6134116020830187612c9c565b81810360408301526134238186613391565b905061343260608301856127d1565b61343f6080830184612684565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006134a56021836124ce565b91506134b082613449565b604082019050919050565b600060208201905081810360008301526134d481613498565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613511601b836124ce565b915061351c826134db565b602082019050919050565b6000602082019050818103600083015261354081613504565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122040505edd55e498afee06f2c23a81445db94b7efb620f8be06c5fd36cfe54229a64736f6c63430008140033