6080604052600a60075560146008555f6009555f600a556012600a620000269190620005cf565b620f42406200003691906200061f565b600b556012600a620000499190620005cf565b620f42406200005991906200061f565b600c556012600a6200006c9190620005cf565b620f42406200007c91906200061f565b600d555f600e60016101000a81548160ff0219169083151502179055505f600e60026101000a81548160ff021916908315150217905550348015620000bf575f80fd5b5060405162003c5338038062003c538339818101604052810190620000e59190620006ce565b5f620000f66200040f60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620001e29190620005cf565b6305f5e100620001f391906200061f565b60015f620002066200040f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002586200041660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003826200040f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620003e09190620005cf565b6305f5e100620003f191906200061f565b6040516200040091906200070f565b60405180910390a3506200072a565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004c7578086048111156200049f576200049e6200043d565b5b6001851615620004af5780820291505b8081029050620004bf856200046a565b94506200047f565b94509492505050565b5f82620004e15760019050620005b3565b81620004f0575f9050620005b3565b816001811462000509576002811462000514576200054a565b6001915050620005b3565b60ff8411156200052957620005286200043d565b5b8360020a9150848211156200054357620005426200043d565b5b50620005b3565b5060208310610133831016604e8410600b8410161715620005845782820a9050838111156200057e576200057d6200043d565b5b620005b3565b62000593848484600162000476565b92509050818404811115620005ad57620005ac6200043d565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620005db82620005ba565b9150620005e883620005c3565b9250620006177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004d0565b905092915050565b5f6200062b82620005ba565b91506200063883620005ba565b92508282026200064881620005ba565b915082820484148315176200066257620006616200043d565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000698826200066d565b9050919050565b620006aa816200068c565b8114620006b5575f80fd5b50565b5f81519050620006c8816200069f565b92915050565b5f60208284031215620006e657620006e562000669565b5b5f620006f584828501620006b8565b91505092915050565b6200070981620005ba565b82525050565b5f602082019050620007245f830184620006fe565b92915050565b61351b80620007385f395ff3fe60806040526004361061012d575f3560e01c8063715018a6116100aa57806395d89b411161006e57806395d89b41146103a65780639e78fb4f146103d0578063a9059cbb146103e6578063bf474bed14610422578063dd62ed3e1461044c578063fb201b1d1461048857610134565b8063715018a6146102ea57806372333356146103005780637d1db4a5146103285780638da5cb5b146103525780638f9a55c01461037c57610134565b806323b872dd116100f157806323b872dd1461021c578063313ce567146102585780634019cfa914610282578063616eb6381461029857806370a08231146102ae57610134565b806306fdde0314610138578063095ea7b3146101625780630b7640b81461019e5780630faee56f146101c857806318160ddd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049e565b6040516101599190612520565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906125d1565b6104db565b6040516101959190612629565b60405180910390f35b3480156101a9575f80fd5b506101b26104f8565b6040516101bf9190612651565b60405180910390f35b3480156101d3575f80fd5b506101dc610516565b6040516101e99190612651565b60405180910390f35b3480156101fd575f80fd5b5061020661051c565b6040516102139190612651565b60405180910390f35b348015610227575f80fd5b50610242600480360381019061023d919061266a565b61053f565b60405161024f9190612629565b60405180910390f35b348015610263575f80fd5b5061026c610613565b60405161027991906126d5565b60405180910390f35b34801561028d575f80fd5b5061029661061b565b005b3480156102a3575f80fd5b506102ac61074a565b005b3480156102b9575f80fd5b506102d460048036038101906102cf91906126ee565b6108d0565b6040516102e19190612651565b60405180910390f35b3480156102f5575f80fd5b506102fe610916565b005b34801561030b575f80fd5b5061032660048036038101906103219190612719565b610a64565b005b348015610333575f80fd5b5061033c610c7d565b6040516103499190612651565b60405180910390f35b34801561035d575f80fd5b50610366610c83565b6040516103739190612766565b60405180910390f35b348015610387575f80fd5b50610390610caa565b60405161039d9190612651565b60405180910390f35b3480156103b1575f80fd5b506103ba610cb0565b6040516103c79190612520565b60405180910390f35b3480156103db575f80fd5b506103e4610ced565b005b3480156103f1575f80fd5b5061040c600480360381019061040791906125d1565b611231565b6040516104199190612629565b60405180910390f35b34801561042d575f80fd5b5061043661124e565b6040516104439190612651565b60405180910390f35b348015610457575f80fd5b50610472600480360381019061046d919061277f565b61126d565b60405161047f9190612651565b60405180910390f35b348015610493575f80fd5b5061049c6112ef565b005b60606040518060400160405280600581526020017f5068617474000000000000000000000000000000000000000000000000000000815250905090565b5f6104ee6104e761145f565b8484611466565b6001905092915050565b6012600a6105069190612919565b614e206105139190612963565b81565b600b5481565b5f6012600a61052b9190612919565b6305f5e10061053a9190612963565b905090565b5f61054b8484846115f4565b6106088461055761145f565b610603856040518060600160405280602881526020016134be6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105ba61145f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f9a9092919063ffffffff16565b611466565b600190509392505050565b5f6012905090565b61062361145f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a6906129ee565b60405180910390fd5b6012600a6106bd9190612919565b6305f5e1006106cc9190612963565b600c819055506012600a6106e09190612919565b6305f5e1006106ef9190612963565b600d819055507f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96012600a6107249190612919565b6305f5e1006107339190612963565b6040516107409190612651565b60405180910390a1565b61075261145f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d5906129ee565b60405180910390fd5b5f4790505f8111610824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081b90612a7c565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff168260405161084990612ac7565b5f6040518083038185875af1925050503d805f8114610883576040519150601f19603f3d011682016040523d82523d5f602084013e610888565b606091505b50509050806108cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c390612b25565b60405180910390fd5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61091e61145f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a1906129ee565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a6c61145f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aef906129ee565b60405180910390fd5b601e8211158015610b0a5750605f8111155b8015610b215750600e5f9054906101000a900460ff165b610b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5790612b8d565b60405180910390fd5b81600781905550806008819055505f600560085411610bba57610bb560646012600a610b8c9190612919565b6305f5e100610b9b9190612963565b6001610ba79190612963565b611ffc90919063ffffffff16565b610bfd565b610bf76103e86012600a610bce9190612919565b6305f5e100610bdd9190612963565b6005610be99190612963565b611ffc90919063ffffffff16565b600b8190555b90507f29ddd482d71f6b4ad9a6b3978c21b2aa56a029d1de02646578471e24a465cb458383610c5f6103e86012600a610c369190612919565b6305f5e100610c459190612963565b6005610c519190612963565b611ffc90919063ffffffff16565b8414604051610c7093929190612bab565b60405180910390a1505050565b600c5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600581526020017f5048415454000000000000000000000000000000000000000000000000000000815250905090565b610cf561145f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d78906129ee565b60405180910390fd5b600e5f9054906101000a900460ff1615610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc790612c2a565b60405180910390fd5b5f610e2e610e176064610e0960146012600a610dec9190612919565b6305f5e100610dfb9190612963565b61204590919063ffffffff16565b611ffc90919063ffffffff16565b610e20306108d0565b6120bc90919063ffffffff16565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ecc3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610eb89190612919565b6305f5e100610ec79190612963565b611466565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f36573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5a9190612c5c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fe0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110049190612c5c565b6040518363ffffffff1660e01b8152600401611021929190612c87565b6020604051808303815f875af115801561103d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110619190612c5c565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730845f806110ea61145f565b426040518863ffffffff1660e01b815260040161110c96959493929190612cf0565b60606040518083038185885af1158015611128573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061114d9190612d63565b50505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111ed929190612db3565b6020604051808303815f875af1158015611209573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122d9190612e04565b5050565b5f61124461123d61145f565b84846115f4565b6001905092915050565b6012600a61125c9190612919565b620f424061126a9190612963565b81565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6112f761145f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137a906129ee565b60405180910390fd5b600e5f9054906101000a900460ff16156113d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c990612e79565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e5f6101000a81548160ff0219169083151502179055507f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c600e5f9054906101000a900460ff16600e60029054906101000a900460ff16604051611455929190612e97565b60405180910390a1565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156114ce57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61150d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150490612f08565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115e79190612651565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561165c57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61169b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169290612f70565b60405180910390fd5b5f81116116dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d490612ffe565b60405180910390fd5b5f6116e6610c83565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117545750611724610c83565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cea57600e5f9054906101000a900460ff166118475760035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611807575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183d90613066565b60405180910390fd5b5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118f0575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611943575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119fd57600c5482111561198d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611984906130ce565b60405180910390fd5b600d548261199a856108d0565b6119a491906130ec565b11156119e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119dc90613169565b60405180910390fd5b60095f8154809291906119f790613187565b91905055505b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a8557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611acb57611ac46064611ab6602d60095411611aa3576019611aa7565b6008545b8561204590919063ffffffff16565b611ffc90919063ffffffff16565b9050611b96565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b5357503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b9557611b926064611b84602360095411611b71576014611b75565b6007545b8561204590919063ffffffff16565b611ffc90919063ffffffff16565b90505b5b80600a5f828254611ba791906130ec565b925050819055505f611bb8306108d0565b9050600e60019054906101000a900460ff16158015611c23575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c3b5750600e60029054906101000a900460ff165b8015611c6157506012600a611c509190612919565b620f4240611c5e9190612963565b81115b8015611c6f57506028600954115b8015611c9657506012600a611c849190612919565b614e20611c919190612963565b600a54115b15611ce8575f600b548211611cab5781611caf565b600b545b9050611cc8818511611cc15784611cc3565b815b612105565b5f4790505f811115611cde57611cdd47612370565b5b5f600a8190555050505b505b5f811115611de957611d428160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123d890919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611de09190612651565b60405180910390a35b611e398260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120bc90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611edc611e9082846120bc90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123d890919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f7f84866120bc90919063ffffffff16565b604051611f8c9190612651565b60405180910390a350505050565b5f838311158290611fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd89190612520565b60405180910390fd5b505f8385611fef91906131ce565b9050809150509392505050565b5f61203d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612435565b905092915050565b5f808303612055575f90506120b6565b5f82846120629190612963565b9050828482612071919061322e565b146120b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a8906132ce565b60405180910390fd5b809150505b92915050565b5f6120fd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f9a565b905092915050565b6001600e60016101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561213c5761213b6132ec565b5b60405190808252806020026020018201604052801561216a5781602001602082028036833780820191505090505b50905030815f8151811061218157612180613319565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612225573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122499190612c5c565b8160018151811061225d5761225c613319565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122c33060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611466565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016123259594939291906133fd565b5f604051808303815f87803b15801561233c575f80fd5b505af115801561234e573d5f803e3d5ffd5b50505050505f600e60016101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156123d4573d5f803e3d5ffd5b5050565b5f8082846123e691906130ec565b90508381101561242b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124229061349f565b60405180910390fd5b8091505092915050565b5f808311829061247b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124729190612520565b60405180910390fd5b505f8385612489919061322e565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156124cd5780820151818401526020810190506124b2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6124f282612496565b6124fc81856124a0565b935061250c8185602086016124b0565b612515816124d8565b840191505092915050565b5f6020820190508181035f83015261253881846124e8565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61256d82612544565b9050919050565b61257d81612563565b8114612587575f80fd5b50565b5f8135905061259881612574565b92915050565b5f819050919050565b6125b08161259e565b81146125ba575f80fd5b50565b5f813590506125cb816125a7565b92915050565b5f80604083850312156125e7576125e6612540565b5b5f6125f48582860161258a565b9250506020612605858286016125bd565b9150509250929050565b5f8115159050919050565b6126238161260f565b82525050565b5f60208201905061263c5f83018461261a565b92915050565b61264b8161259e565b82525050565b5f6020820190506126645f830184612642565b92915050565b5f805f6060848603121561268157612680612540565b5b5f61268e8682870161258a565b935050602061269f8682870161258a565b92505060406126b0868287016125bd565b9150509250925092565b5f60ff82169050919050565b6126cf816126ba565b82525050565b5f6020820190506126e85f8301846126c6565b92915050565b5f6020828403121561270357612702612540565b5b5f6127108482850161258a565b91505092915050565b5f806040838503121561272f5761272e612540565b5b5f61273c858286016125bd565b925050602061274d858286016125bd565b9150509250929050565b61276081612563565b82525050565b5f6020820190506127795f830184612757565b92915050565b5f806040838503121561279557612794612540565b5b5f6127a28582860161258a565b92505060206127b38582860161258a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561283f5780860481111561281b5761281a6127bd565b5b600185161561282a5780820291505b8081029050612838856127ea565b94506127ff565b94509492505050565b5f826128575760019050612912565b81612864575f9050612912565b816001811461287a5760028114612884576128b3565b6001915050612912565b60ff841115612896576128956127bd565b5b8360020a9150848211156128ad576128ac6127bd565b5b50612912565b5060208310610133831016604e8410600b84101617156128e85782820a9050838111156128e3576128e26127bd565b5b612912565b6128f584848460016127f6565b9250905081840481111561290c5761290b6127bd565b5b81810290505b9392505050565b5f6129238261259e565b915061292e836126ba565b925061295b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612848565b905092915050565b5f61296d8261259e565b91506129788361259e565b92508282026129868161259e565b9150828204841483151761299d5761299c6127bd565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6129d86020836124a0565b91506129e3826129a4565b602082019050919050565b5f6020820190508181035f830152612a05816129cc565b9050919050565b7f4554482062616c616e6365206d7573742062652067726561746572207468616e5f8201527f2030000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a666022836124a0565b9150612a7182612a0c565b604082019050919050565b5f6020820190508181035f830152612a9381612a5a565b9050919050565b5f81905092915050565b50565b5f612ab25f83612a9a565b9150612abd82612aa4565b5f82019050919050565b5f612ad182612aa7565b9150819050919050565b7f4661696c656420746f20636c656172204554482062616c616e636500000000005f82015250565b5f612b0f601b836124a0565b9150612b1a82612adb565b602082019050919050565b5f6020820190508181035f830152612b3c81612b03565b9050919050565b7f457863656564732076616c7565000000000000000000000000000000000000005f82015250565b5f612b77600d836124a0565b9150612b8282612b43565b602082019050919050565b5f6020820190508181035f830152612ba481612b6b565b9050919050565b5f606082019050612bbe5f830186612642565b612bcb6020830185612642565b612bd8604083018461261a565b949350505050565b7f696e697420616c72656164792063616c6c6564000000000000000000000000005f82015250565b5f612c146013836124a0565b9150612c1f82612be0565b602082019050919050565b5f6020820190508181035f830152612c4181612c08565b9050919050565b5f81519050612c5681612574565b92915050565b5f60208284031215612c7157612c70612540565b5b5f612c7e84828501612c48565b91505092915050565b5f604082019050612c9a5f830185612757565b612ca76020830184612757565b9392505050565b5f819050919050565b5f819050919050565b5f612cda612cd5612cd084612cae565b612cb7565b61259e565b9050919050565b612cea81612cc0565b82525050565b5f60c082019050612d035f830189612757565b612d106020830188612642565b612d1d6040830187612ce1565b612d2a6060830186612ce1565b612d376080830185612757565b612d4460a0830184612642565b979650505050505050565b5f81519050612d5d816125a7565b92915050565b5f805f60608486031215612d7a57612d79612540565b5b5f612d8786828701612d4f565b9350506020612d9886828701612d4f565b9250506040612da986828701612d4f565b9150509250925092565b5f604082019050612dc65f830185612757565b612dd36020830184612642565b9392505050565b612de38161260f565b8114612ded575f80fd5b50565b5f81519050612dfe81612dda565b92915050565b5f60208284031215612e1957612e18612540565b5b5f612e2684828501612df0565b91505092915050565b7f74726164696e6720616c7265616479206f70656e0000000000000000000000005f82015250565b5f612e636014836124a0565b9150612e6e82612e2f565b602082019050919050565b5f6020820190508181035f830152612e9081612e57565b9050919050565b5f604082019050612eaa5f83018561261a565b612eb7602083018461261a565b9392505050565b7f45524332303a20617070726f766520746865207a65726f2061646472657373005f82015250565b5f612ef2601f836124a0565b9150612efd82612ebe565b602082019050919050565b5f6020820190508181035f830152612f1f81612ee6565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f20616464726573735f82015250565b5f612f5a6020836124a0565b9150612f6582612f26565b602082019050919050565b5f6020820190508181035f830152612f8781612f4e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612fe86029836124a0565b9150612ff382612f8e565b604082019050919050565b5f6020820190508181035f83015261301581612fdc565b9050919050565b7f74726164696e67206e6f7420796574206f70656e0000000000000000000000005f82015250565b5f6130506014836124a0565b915061305b8261301c565b602082019050919050565b5f6020820190508181035f83015261307d81613044565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6130b86019836124a0565b91506130c382613084565b602082019050919050565b5f6020820190508181035f8301526130e5816130ac565b9050919050565b5f6130f68261259e565b91506131018361259e565b9250828201905080821115613119576131186127bd565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613153601a836124a0565b915061315e8261311f565b602082019050919050565b5f6020820190508181035f83015261318081613147565b9050919050565b5f6131918261259e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131c3576131c26127bd565b5b600182019050919050565b5f6131d88261259e565b91506131e38361259e565b92508282039050818111156131fb576131fa6127bd565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6132388261259e565b91506132438361259e565b92508261325357613252613201565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132b86021836124a0565b91506132c38261325e565b604082019050919050565b5f6020820190508181035f8301526132e5816132ac565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61337881612563565b82525050565b5f613389838361336f565b60208301905092915050565b5f602082019050919050565b5f6133ab82613346565b6133b58185613350565b93506133c083613360565b805f5b838110156133f05781516133d7888261337e565b97506133e283613395565b9250506001810190506133c3565b5085935050505092915050565b5f60a0820190506134105f830188612642565b61341d6020830187612ce1565b818103604083015261342f81866133a1565b905061343e6060830185612757565b61344b6080830184612642565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613489601b836124a0565b915061349482613455565b602082019050919050565b5f6020820190508181035f8301526134b68161347d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a42860fcbe37d492fd3a223c6eae899e3a3b076d9429555d21c87ba40a5bc32764736f6c634300081400330000000000000000000000002da8643ed5e82c991106f75f519f3d3392cb5ee1