0x608060405234801561000f575f5ffd5b506004361061009b575f3560e01c806370a082311161006357806370a08231146101295780638da5cb5b1461014857806395d89b4114610173578063a9059cbb1461017b578063dd62ed3e1461018e575f5ffd5b806306fdde031461009f578063095ea7b3146100bd57806318160ddd146100e057806323b872dd146100f7578063313ce5671461010a575b5f5ffd5b6100a76101b8565b6040516100b49190610553565b60405180910390f35b6100d06100cb3660046105a3565b610243565b60405190151581526020016100b4565b6100e960035481565b6040519081526020016100b4565b6100d06101053660046105cb565b6102af565b6002546101179060ff1681565b60405160ff90911681526020016100b4565b6100e9610137366004610605565b60046020525f908152604090205481565b60065461015b906001600160a01b031681565b6040516001600160a01b0390911681526020016100b4565b6100a7610465565b6100d06101893660046105a3565b610472565b6100e961019c366004610625565b600560209081525f928352604080842090915290825290205481565b5f80546101c490610656565b80601f01602080910402602001604051908101604052809291908181526020018280546101f090610656565b801561023b5780601f106102125761010080835404028352916020019161023b565b820191905f5260205f20905b81548152906001019060200180831161021e57829003601f168201915b505050505081565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061029d9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f908152600460205260408120548211156103125760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064015b60405180910390fd5b6001600160a01b0384165f90815260056020908152604080832033845290915290205482111561037d5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b6044820152606401610309565b6001600160a01b0384165f90815260046020526040812080548492906103a49084906106a2565b90915550506001600160a01b0383165f90815260046020526040812080548492906103d09084906106b5565b90915550506001600160a01b0384165f908152600560209081526040808320338452909152812080548492906104079084906106a2565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161045391815260200190565b60405180910390a35060019392505050565b600180546101c490610656565b335f908152600460205260408120548211156104c75760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610309565b335f90815260046020526040812080548492906104e59084906106a2565b90915550506001600160a01b0383165f90815260046020526040812080548492906105119084906106b5565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161029d565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461059e575f5ffd5b919050565b5f5f604083850312156105b4575f5ffd5b6105bd83610588565b946020939093013593505050565b5f5f5f606084860312156105dd575f5ffd5b6105e684610588565b92506105f460208501610588565b929592945050506040919091013590565b5f60208284031215610615575f5ffd5b61061e82610588565b9392505050565b5f5f60408385031215610636575f5ffd5b61063f83610588565b915061064d60208401610588565b90509250929050565b600181811c9082168061066a57607f821691505b60208210810361068857634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156102a9576102a961068e565b808201808211156102a9576102a961068e56fea2646970667358221220b5ee02b9590239d7f3aa1beeb541b8b4bfa3a6e0b0a4e157e103a98dabe2550364736f6c634300081e0033
0x608060405234801561000f575f5ffd5b50604080518082019091526012815271426f6f6b206279204d61747420467572696560701b60208201525f9061004590826103ce565b506040805180820190915260058152641093d0935560da1b602082015260019061006f90826103ce565b506002805460ff19166012908117909155600680546001600160a01b031916331790555f9061009f90600a610581565b6100ae906402540be400610596565b90506100d261dead60646100c3846032610596565b6100cd91906105ad565b6102b0565b6100f773d99090546657c3d6f024b9a6321a6e48cfaff03860646100c384602a610596565b61011c73432e69ccb799f021c6cbdea1b734b069578b4de260646100c3846001610596565b61014173edb37ad563e2ef161b2a72169583f35799bde96260646100c3846001610596565b61016673da6c47aaa71674814e609ac91847cda31b531cab60646100c3846001610596565b61018b739cac701ec022e4cba55430998a156c0fc65040cc60646100c3846001610596565b6101b173551aa84adb62725d654866803def1459a1b256af6103e86100c3846003610596565b6101d773f825d66589e4ab363bbf867a7d1c7beb4b4ff7dd6103e86100c3846003610596565b6101fd73b78c6f8a4ccb6429b8b79ed563ca2cf13bc91fc86103e86100c3846003610596565b610222734f350fe38f8ed87718cd6896de3127a75846d78660646100c3846001610596565b61024773689b348087b49c2093b458f553c42921118e75da60646100c3846001610596565b61026c73491a1c25515f775f34d3ef3b674f9ed164b92c9560646100c3846001610596565b5f61271061027c8361270f610596565b61028691906105ad565b61029090836105cc565b6006549091506102a9906001600160a01b0316826102b0565b50506105f2565b8060035f8282546102c191906105df565b90915550506001600160a01b0382165f90815260046020526040812080548392906102ed9084906105df565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061035e57607f821691505b60208210810361037c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156103c957805f5260205f20601f840160051c810160208510156103a75750805b601f840160051c820191505b818110156103c6575f81556001016103b3565b50505b505050565b81516001600160401b038111156103e7576103e7610336565b6103fb816103f5845461034a565b84610382565b6020601f82116001811461042d575f83156104165750848201515b5f19600385901b1c1916600184901b1784556103c6565b5f84815260208120601f198516915b8281101561045c578785015182556020948501946001909201910161043c565b508482101561047957868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156104d7578085048111156104bb576104bb610488565b60018416156104c957908102905b60019390931c9280026104a0565b935093915050565b5f826104ed5750600161057b565b816104f957505f61057b565b816001811461050f576002811461051957610535565b600191505061057b565b60ff84111561052a5761052a610488565b50506001821b61057b565b5060208310610133831016604e8410600b8410161715610558575081810a61057b565b6105645f19848461049c565b805f190482111561057757610577610488565b0290505b92915050565b5f61058f60ff8416836104df565b9392505050565b808202811582820484141761057b5761057b610488565b5f826105c757634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561057b5761057b610488565b8082018082111561057b5761057b610488565b6106fe806105ff5f395ff3fe608060405234801561000f575f5ffd5b506004361061009b575f3560e01c806370a082311161006357806370a08231146101295780638da5cb5b1461014857806395d89b4114610173578063a9059cbb1461017b578063dd62ed3e1461018e575f5ffd5b806306fdde031461009f578063095ea7b3146100bd57806318160ddd146100e057806323b872dd146100f7578063313ce5671461010a575b5f5ffd5b6100a76101b8565b6040516100b49190610553565b60405180910390f35b6100d06100cb3660046105a3565b610243565b60405190151581526020016100b4565b6100e960035481565b6040519081526020016100b4565b6100d06101053660046105cb565b6102af565b6002546101179060ff1681565b60405160ff90911681526020016100b4565b6100e9610137366004610605565b60046020525f908152604090205481565b60065461015b906001600160a01b031681565b6040516001600160a01b0390911681526020016100b4565b6100a7610465565b6100d06101893660046105a3565b610472565b6100e961019c366004610625565b600560209081525f928352604080842090915290825290205481565b5f80546101c490610656565b80601f01602080910402602001604051908101604052809291908181526020018280546101f090610656565b801561023b5780601f106102125761010080835404028352916020019161023b565b820191905f5260205f20905b81548152906001019060200180831161021e57829003601f168201915b505050505081565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061029d9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f908152600460205260408120548211156103125760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064015b60405180910390fd5b6001600160a01b0384165f90815260056020908152604080832033845290915290205482111561037d5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b6044820152606401610309565b6001600160a01b0384165f90815260046020526040812080548492906103a49084906106a2565b90915550506001600160a01b0383165f90815260046020526040812080548492906103d09084906106b5565b90915550506001600160a01b0384165f908152600560209081526040808320338452909152812080548492906104079084906106a2565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161045391815260200190565b60405180910390a35060019392505050565b600180546101c490610656565b335f908152600460205260408120548211156104c75760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610309565b335f90815260046020526040812080548492906104e59084906106a2565b90915550506001600160a01b0383165f90815260046020526040812080548492906105119084906106b5565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161029d565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461059e575f5ffd5b919050565b5f5f604083850312156105b4575f5ffd5b6105bd83610588565b946020939093013593505050565b5f5f5f606084860312156105dd575f5ffd5b6105e684610588565b92506105f460208501610588565b929592945050506040919091013590565b5f60208284031215610615575f5ffd5b61061e82610588565b9392505050565b5f5f60408385031215610636575f5ffd5b61063f83610588565b915061064d60208401610588565b90509250929050565b600181811c9082168061066a57607f821691505b60208210810361068857634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156102a9576102a961068e565b808201808211156102a9576102a961068e56fea2646970667358221220b5ee02b9590239d7f3aa1beeb541b8b4bfa3a6e0b0a4e157e103a98dabe2550364736f6c634300081e0033