60806040525f60065f6101000a81548160ff0219169083151502179055506004600755600460085560046009556004600a555f600b555f600c555f600d555f600e556009600a61004f91906105be565b6240164161005d9190610608565b600f556009600a61006e91906105be565b62802c8161007c9190610608565b6010556009600a61008d91906105be565b5f6100989190610608565b6011556009600a6100a991906105be565b621e84806100b79190610608565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff0219169083151502179055503480156100f9575f5ffd5b505f61010961041f60201b60201c565b9050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101b361041f60201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a61020191906105be565b631908b1006102109190610608565b60015f61022161041f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61027161042660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061039a61041f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6103f691906105be565b631908b1006104059190610608565b6040516104129190610658565b60405180910390a3610671565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156104cf578086048111156104ab576104aa61044d565b5b60018516156104ba5780820291505b80810290506104c88561047a565b945061048f565b94509492505050565b5f826104e757600190506105a2565b816104f4575f90506105a2565b816001811461050a576002811461051457610543565b60019150506105a2565b60ff8411156105265761052561044d565b5b8360020a91508482111561053d5761053c61044d565b5b506105a2565b5060208310610133831016604e8410600b84101617156105785782820a9050838111156105735761057261044d565b5b6105a2565b6105858484846001610486565b9250905081840481111561059c5761059b61044d565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6105c8826105a9565b91506105d3836105b2565b92506106007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104d8565b905092915050565b5f610612826105a9565b915061061d836105a9565b925082820261062b816105a9565b915082820484148315176106425761064161044d565b5b5092915050565b610652816105a9565b82525050565b5f60208201905061066b5f830184610649565b92915050565b6134d58061067e5f395ff3fe608060405260043610610138575f3560e01c80637d1db4a5116100aa578063a9059cbb1161006e578063a9059cbb146103ed578063bf474bed14610429578063c131019414610453578063c876d0b91461047b578063c9567bf9146104a5578063dd62ed3e146104bb5761013f565b80637d1db4a51461031d5780638da5cb5b146103475780638f9a55c014610371578063910d9c3e1461039b57806395d89b41146103c35761013f565b8063313ce567116100fc578063313ce567146102395780633bbac5791461026357806351bc3c851461029f57806370a08231146102b5578063715018a6146102f1578063751039fc146103075761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a957806318160ddd146101d357806323b872dd146101fd5761013f565b3661013f57005b5f5ffd5b34801561014e575f5ffd5b506101576104f7565b6040516101649190612448565b60405180910390f35b348015610178575f5ffd5b50610193600480360381019061018e9190612506565b610534565b6040516101a0919061255e565b60405180910390f35b3480156101b4575f5ffd5b506101bd610551565b6040516101ca9190612586565b60405180910390f35b3480156101de575f5ffd5b506101e7610557565b6040516101f49190612586565b60405180910390f35b348015610208575f5ffd5b50610223600480360381019061021e919061259f565b61057a565b604051610230919061255e565b60405180910390f35b348015610244575f5ffd5b5061024d61064e565b60405161025a919061260a565b60405180910390f35b34801561026e575f5ffd5b5061028960048036038101906102849190612623565b610656565b604051610296919061255e565b60405180910390f35b3480156102aa575f5ffd5b506102b36106a8565b005b3480156102c0575f5ffd5b506102db60048036038101906102d69190612623565b610740565b6040516102e89190612586565b60405180910390f35b3480156102fc575f5ffd5b50610305610786565b005b348015610312575f5ffd5b5061031b6108d6565b005b348015610328575f5ffd5b50610331610a1f565b60405161033e9190612586565b60405180910390f35b348015610352575f5ffd5b5061035b610a25565b604051610368919061265d565b60405180910390f35b34801561037c575f5ffd5b50610385610a4c565b6040516103929190612586565b60405180910390f35b3480156103a6575f5ffd5b506103c160048036038101906103bc9190612676565b610a52565b005b3480156103ce575f5ffd5b506103d7610af9565b6040516103e49190612448565b60405180910390f35b3480156103f8575f5ffd5b50610413600480360381019061040e9190612506565b610b36565b604051610420919061255e565b60405180910390f35b348015610434575f5ffd5b5061043d610b53565b60405161044a9190612586565b60405180910390f35b34801561045e575f5ffd5b50610479600480360381019061047491906127f4565b610b59565b005b348015610486575f5ffd5b5061048f610c7c565b60405161049c919061255e565b60405180910390f35b3480156104b0575f5ffd5b506104b9610c8e565b005b3480156104c6575f5ffd5b506104e160048036038101906104dc919061283b565b6111ae565b6040516104ee9190612586565b60405180910390f35b60606040518060400160405280600981526020017f53656e7469766174650000000000000000000000000000000000000000000000815250905090565b5f610547610540611230565b8484611237565b6001905092915050565b60125481565b5f6009600a61056691906129d5565b631908b1006105759190612a1f565b905090565b5f6105868484846113fa565b61064384610592611230565b61063e856040518060600160405280602881526020016134786028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105f5611230565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e7c9092919063ffffffff16565b611237565b600190509392505050565b5f6009905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106e9611230565b73ffffffffffffffffffffffffffffffffffffffff1614610708575f5ffd5b5f61071230610740565b90505f8111156107265761072581611ede565b5b5f4790505f81111561073c5761073b81612165565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61078e611230565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461081b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081290612aaa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108de611230565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461096b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096290612aaa565b60405180910390fd5b6009600a61097991906129d5565b631908b1006109889190612a1f565b600f819055506009600a61099c91906129d5565b631908b1006109ab9190612a1f565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109f991906129d5565b631908b100610a089190612a1f565b604051610a159190612586565b60405180910390a1565b600f5481565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b610a5a611230565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ade90612aaa565b60405180910390fd5b8160098190555080600a819055505050565b60606040518060400160405280600481526020017f5649415400000000000000000000000000000000000000000000000000000000815250905090565b5f610b49610b42611230565b84846113fa565b6001905092915050565b60115481565b610b61611230565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be590612aaa565b60405180910390fd5b5f5f90505b8151811015610c7857600160045f848481518110610c1457610c13612ac8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610bf3565b5050565b60065f9054906101000a900460ff1681565b610c96611230565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1a90612aaa565b60405180910390fd5b60148054906101000a900460ff1615610d71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6890612b3f565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e0d3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610df991906129d5565b631908b100610e089190612a1f565b611237565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e77573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e9b9190612b71565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f21573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f459190612b71565b6040518363ffffffff1660e01b8152600401610f62929190612b9c565b6020604051808303815f875af1158015610f7e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa29190612b71565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061102930610740565b5f5f611033610a25565b426040518863ffffffff1660e01b815260040161105596959493929190612c05565b60606040518083038185885af1158015611071573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110969190612c78565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611136929190612cc8565b6020604051808303815f875af1158015611152573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111769190612d19565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129c90612db4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611313576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130a90612e42565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113ed9190612586565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611468576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145f90612ed0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cd90612f5e565b60405180910390fd5b5f8111611518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150f90612fec565b60405180910390fd5b5f5f9050611524610a25565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115925750611562610a25565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611bcc5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611635575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61163d575f5ffd5b60065f9054906101000a900460ff16156117c35760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116fb575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117c2574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061177f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117769061307a565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561186c575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118bf575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561199857600f54821115611909576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611900906130e2565b60405180910390fd5b6010548261191685610740565b6119209190613100565b1115611961576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119589061317d565b60405180910390fd5b600d54600e54101561198057611976836121ce565b1561197f575f5ffd5b5b600e5f8154809291906119929061319b565b91905055505b6119d460646119c6600b54600e54116119b3576007546119b7565b6009545b856121df90919063ffffffff16565b61225690919063ffffffff16565b905060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a5e57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611ae757600f54821115611aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9f906130e2565b60405180910390fd5b611ae46064611ad6600c54600e5411611ac357600854611ac7565b600a545b856121df90919063ffffffff16565b61225690919063ffffffff16565b90505b5f611af130610740565b9050601460159054906101000a900460ff16158015611b5c575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b745750601460169054906101000a900460ff165b8015611b81575060115481115b8015611b905750600d54600e54115b15611bca57611bb2611bad84611ba88460125461229f565b61229f565b611ede565b5f4790505f811115611bc857611bc747612165565b5b505b505b5f811115611ccb57611c248160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122b790919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cc29190612586565b60405180910390a35b611d1b8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461231490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611dbe611d72828461231490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122b790919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e61848661231490919063ffffffff16565b604051611e6e9190612586565b60405180910390a350505050565b5f838311158290611ec3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eba9190612448565b60405180910390fd5b505f8385611ed191906131e2565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f8103156121485760148054906101000a900460ff1615612148575f600267ffffffffffffffff811115611f3057611f2f6126b8565b5b604051908082528060200260200182016040528015611f5e5781602001602082028036833780820191505090505b50905030815f81518110611f7557611f74612ac8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612019573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061203d9190612b71565b8160018151811061205157612050612ac8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120b73060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611237565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016121199594939291906132cc565b5f604051808303815f87803b158015612130575f5ffd5b505af1158015612142573d5f5f3e3d5ffd5b50505050505b5f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156121ca573d5f5f3e3d5ffd5b5050565b5f5f823b90505f8111915050919050565b5f5f83036121ef575f9050612250565b5f82846121fc9190612a1f565b905082848261220b9190613351565b1461224b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612242906133f1565b60405180910390fd5b809150505b92915050565b5f61229783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061235d565b905092915050565b5f8183116122ad57826122af565b815b905092915050565b5f5f82846122c59190613100565b90508381101561230a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230190613459565b60405180910390fd5b8091505092915050565b5f61235583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e7c565b905092915050565b5f5f831182906123a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239a9190612448565b60405180910390fd5b505f83856123b19190613351565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123f55780820151818401526020810190506123da565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61241a826123be565b61242481856123c8565b93506124348185602086016123d8565b61243d81612400565b840191505092915050565b5f6020820190508181035f8301526124608184612410565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124a282612479565b9050919050565b6124b281612498565b81146124bc575f5ffd5b50565b5f813590506124cd816124a9565b92915050565b5f819050919050565b6124e5816124d3565b81146124ef575f5ffd5b50565b5f81359050612500816124dc565b92915050565b5f5f6040838503121561251c5761251b612471565b5b5f612529858286016124bf565b925050602061253a858286016124f2565b9150509250929050565b5f8115159050919050565b61255881612544565b82525050565b5f6020820190506125715f83018461254f565b92915050565b612580816124d3565b82525050565b5f6020820190506125995f830184612577565b92915050565b5f5f5f606084860312156125b6576125b5612471565b5b5f6125c3868287016124bf565b93505060206125d4868287016124bf565b92505060406125e5868287016124f2565b9150509250925092565b5f60ff82169050919050565b612604816125ef565b82525050565b5f60208201905061261d5f8301846125fb565b92915050565b5f6020828403121561263857612637612471565b5b5f612645848285016124bf565b91505092915050565b61265781612498565b82525050565b5f6020820190506126705f83018461264e565b92915050565b5f5f6040838503121561268c5761268b612471565b5b5f612699858286016124f2565b92505060206126aa858286016124f2565b9150509250929050565b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6126ee82612400565b810181811067ffffffffffffffff8211171561270d5761270c6126b8565b5b80604052505050565b5f61271f612468565b905061272b82826126e5565b919050565b5f67ffffffffffffffff82111561274a576127496126b8565b5b602082029050602081019050919050565b5f5ffd5b5f61277161276c84612730565b612716565b905080838252602082019050602084028301858111156127945761279361275b565b5b835b818110156127bd57806127a988826124bf565b845260208401935050602081019050612796565b5050509392505050565b5f82601f8301126127db576127da6126b4565b5b81356127eb84826020860161275f565b91505092915050565b5f6020828403121561280957612808612471565b5b5f82013567ffffffffffffffff81111561282657612825612475565b5b612832848285016127c7565b91505092915050565b5f5f6040838503121561285157612850612471565b5b5f61285e858286016124bf565b925050602061286f858286016124bf565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156128fb578086048111156128d7576128d6612879565b5b60018516156128e65780820291505b80810290506128f4856128a6565b94506128bb565b94509492505050565b5f8261291357600190506129ce565b81612920575f90506129ce565b816001811461293657600281146129405761296f565b60019150506129ce565b60ff84111561295257612951612879565b5b8360020a91508482111561296957612968612879565b5b506129ce565b5060208310610133831016604e8410600b84101617156129a45782820a90508381111561299f5761299e612879565b5b6129ce565b6129b184848460016128b2565b925090508184048111156129c8576129c7612879565b5b81810290505b9392505050565b5f6129df826124d3565b91506129ea836125ef565b9250612a177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612904565b905092915050565b5f612a29826124d3565b9150612a34836124d3565b9250828202612a42816124d3565b91508282048414831517612a5957612a58612879565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612a946020836123c8565b9150612a9f82612a60565b602082019050919050565b5f6020820190508181035f830152612ac181612a88565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b296017836123c8565b9150612b3482612af5565b602082019050919050565b5f6020820190508181035f830152612b5681612b1d565b9050919050565b5f81519050612b6b816124a9565b92915050565b5f60208284031215612b8657612b85612471565b5b5f612b9384828501612b5d565b91505092915050565b5f604082019050612baf5f83018561264e565b612bbc602083018461264e565b9392505050565b5f819050919050565b5f819050919050565b5f612bef612bea612be584612bc3565b612bcc565b6124d3565b9050919050565b612bff81612bd5565b82525050565b5f60c082019050612c185f83018961264e565b612c256020830188612577565b612c326040830187612bf6565b612c3f6060830186612bf6565b612c4c608083018561264e565b612c5960a0830184612577565b979650505050505050565b5f81519050612c72816124dc565b92915050565b5f5f5f60608486031215612c8f57612c8e612471565b5b5f612c9c86828701612c64565b9350506020612cad86828701612c64565b9250506040612cbe86828701612c64565b9150509250925092565b5f604082019050612cdb5f83018561264e565b612ce86020830184612577565b9392505050565b612cf881612544565b8114612d02575f5ffd5b50565b5f81519050612d1381612cef565b92915050565b5f60208284031215612d2e57612d2d612471565b5b5f612d3b84828501612d05565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612d9e6024836123c8565b9150612da982612d44565b604082019050919050565b5f6020820190508181035f830152612dcb81612d92565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e2c6022836123c8565b9150612e3782612dd2565b604082019050919050565b5f6020820190508181035f830152612e5981612e20565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612eba6025836123c8565b9150612ec582612e60565b604082019050919050565b5f6020820190508181035f830152612ee781612eae565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612f486023836123c8565b9150612f5382612eee565b604082019050919050565b5f6020820190508181035f830152612f7581612f3c565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612fd66029836123c8565b9150612fe182612f7c565b604082019050919050565b5f6020820190508181035f83015261300381612fca565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f6130646024836123c8565b915061306f8261300a565b604082019050919050565b5f6020820190508181035f83015261309181613058565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6130cc6019836123c8565b91506130d782613098565b602082019050919050565b5f6020820190508181035f8301526130f9816130c0565b9050919050565b5f61310a826124d3565b9150613115836124d3565b925082820190508082111561312d5761312c612879565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613167601a836123c8565b915061317282613133565b602082019050919050565b5f6020820190508181035f8301526131948161315b565b9050919050565b5f6131a5826124d3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131d7576131d6612879565b5b600182019050919050565b5f6131ec826124d3565b91506131f7836124d3565b925082820390508181111561320f5761320e612879565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61324781612498565b82525050565b5f613258838361323e565b60208301905092915050565b5f602082019050919050565b5f61327a82613215565b613284818561321f565b935061328f8361322f565b805f5b838110156132bf5781516132a6888261324d565b97506132b183613264565b925050600181019050613292565b5085935050505092915050565b5f60a0820190506132df5f830188612577565b6132ec6020830187612bf6565b81810360408301526132fe8186613270565b905061330d606083018561264e565b61331a6080830184612577565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61335b826124d3565b9150613366836124d3565b92508261337657613375613324565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133db6021836123c8565b91506133e682613381565b604082019050919050565b5f6020820190508181035f830152613408816133cf565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613443601b836123c8565b915061344e8261340f565b602082019050919050565b5f6020820190508181035f83015261347081613437565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b850df8abb241930312f4c0008b97b8df8c30d68b033a423ca39e951560b361d64736f6c634300081c0033