0x4af63f0200000000000000000000000000000000000000000000000000000000000000408de10ce4b17ce910cf8b5df24250a7e50666ccb4d397ea54ef1098d45f5ca591000000000000000000000000000000000000000000000000000000000000133360a06040523480156200001157600080fd5b506040516200125338038062001253833981016040819052620000349162000187565b6200003f33620000e6565b6200004a84620000e6565b6001600160a01b0383166080526003805463ffffffff191663ffffffff841617905560005b8151811015620000db576001600460008484815181106200009457620000946200029c565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620000d281620002b2565b9150506200006f565b5050505050620002da565b600180546001600160a01b0319169055620001018162000104565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200016c57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156200019e57600080fd5b620001a98562000154565b93506020620001ba81870162000154565b9350604086015163ffffffff81168114620001d457600080fd5b60608701519093506001600160401b0380821115620001f257600080fd5b818801915088601f8301126200020757600080fd5b8151818111156200021c576200021c62000171565b8060051b604051601f19603f8301168101818110858211171562000244576200024462000171565b60405291825284820192508381018501918b8311156200026357600080fd5b938501935b828510156200028c576200027c8562000154565b8452938501939285019262000268565b989b979a50959850505050505050565b634e487b7160e01b600052603260045260246000fd5b600060018201620002d357634e487b7160e01b600052601160045260246000fd5b5060010190565b608051610f56620002fd6000396000818161029d0152610b080152610f566000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c80638b257989116100b2578063cc7086fb11610081578063f2fde38b11610066578063f2fde38b146102dd578063f34d1868146102f0578063fa52c7d81461030357600080fd5b8063cc7086fb14610298578063e30c3978146102bf57600080fd5b80638b2579891461020e5780638da5cb5b1461023357806397c09d3414610272578063c3d93e7c1461028557600080fd5b8063701f58c5116100ee578063701f58c5146101d8578063715018a6146101eb57806379ba5097146101f35780637f61885c146101fb57600080fd5b80630aa567021461012057806317d7de7c1461016757806340a141ff146101b05780634d238c8e146101c5575b600080fd5b61015461012e366004610bee565b600881046000908152600260209081526040909120546007909216021c63ffffffff1690565b6040519081526020015b60405180910390f35b6101a36040518060400160405280601181526020017f56616c696461746f7254696d656c6f636b00000000000000000000000000000081525081565b60405161015e9190610c07565b6101c36101be366004610c73565b610336565b005b6101c36101d3366004610c73565b610420565b6101c36101e6366004610cc9565b610507565b6101c361061f565b6101c3610633565b6101c3610209366004610d9e565b6106e8565b60035461021e9063ffffffff1681565b60405163ffffffff909116815260200161015e565b60005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161015e565b6101c3610280366004610bee565b610774565b6101c3610293366004610e21565b6107fa565b61024d7f000000000000000000000000000000000000000000000000000000000000000081565b60015473ffffffffffffffffffffffffffffffffffffffff1661024d565b6101c36102eb366004610c73565b61096a565b6101c36102fe366004610e63565b610a1a565b610326610311366004610c73565b60046020526000908152604090205460ff1681565b604051901515815260200161015e565b61033e610a85565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604090205460ff1661039d576040517fe51315d200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526004602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905590519182527fe1434e25d6611e0db941968fdc97811c982ac1602e951637d206f5fdda9dd8f191015b60405180910390a150565b610428610a85565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604090205460ff1615610488576040517f158d048300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526004602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590519182527fe366c1c0452ed8eec96861e9e54141ebff23c9ec89fe27b996b45f5ec38849879101610415565b3360009081526004602052604090205460ff16151560011461058a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f386800000000000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b4260005b82811015610610576106088484838181106105ab576105ab610e89565b90506020028101906105bd9190610eb8565b6105cb906020810190610ef6565b600867ffffffffffffffff82160460009081526002602090815260409091208054600790931690910282811c861863ffffffff16901b9091189055565b60010161058e565b505061061a610b06565b505050565b610627610a85565b6106316000610b4d565b565b600154339073ffffffffffffffffffffffffffffffffffffffff1681146106dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152608401610581565b6106e581610b4d565b50565b3360009081526004602052604090205460ff161515600114610766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f38680000000000000000000000000000000000000000000000000000000000006044820152606401610581565b61076e610b06565b50505050565b3360009081526004602052604090205460ff1615156001146107f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f38680000000000000000000000000000000000000000000000000000000000006044820152606401610581565b6106e5610b06565b3360009081526004602052604090205460ff161515600114610878576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f38680000000000000000000000000000000000000000000000000000000000006044820152606401610581565b60035463ffffffff1660005b828110156109615760006108e48585848181106108a3576108a3610e89565b6108ba926020610100909202019081019150610ef6565b600867ffffffffffffffff8216046000908152600260209081526040909120546007909216021c90565b63ffffffff169050828101421015610958576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f35630000000000000000000000000000000000000000000000000000000000006044820152606401610581565b50600101610884565b5061061a610b06565b610972610a85565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911681179091556109d560005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b610a22610a85565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff83169081179091556040519081527fd32d6d626bb9c7077c559fc3b4e5ce71ef14609d7d216d030ee63dcf2422c2c490602001610415565b60005473ffffffffffffffffffffffffffffffffffffffff163314610631576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610581565b7f0000000000000000000000000000000000000000000000000000000000000000366000803760008036600080855af13d806000803e818015610b4857816000f35b816000fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556106e5816000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610c0057600080fd5b5035919050565b600060208083528351808285015260005b81811015610c3457858101830151858201604001528201610c18565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b600060208284031215610c8557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610ca957600080fd5b9392505050565b60006101008284031215610cc357600080fd5b50919050565b60008060006101208486031215610cdf57600080fd5b610ce98585610cb0565b925061010084013567ffffffffffffffff80821115610d0757600080fd5b818601915086601f830112610d1b57600080fd5b813581811115610d2a57600080fd5b8760208260051b8501011115610d3f57600080fd5b6020830194508093505050509250925092565b60008083601f840112610d6457600080fd5b50813567ffffffffffffffff811115610d7c57600080fd5b6020830191508360208260081b8501011115610d9757600080fd5b9250929050565b6000806000806101408587031215610db557600080fd5b610dbf8686610cb0565b935061010085013567ffffffffffffffff80821115610ddd57600080fd5b610de988838901610d52565b9095509350610120870135915080821115610e0357600080fd5b50850160408188031215610e1657600080fd5b939692955090935050565b60008060208385031215610e3457600080fd5b823567ffffffffffffffff811115610e4b57600080fd5b610e5785828601610d52565b90969095509350505050565b600060208284031215610e7557600080fd5b813563ffffffff81168114610ca957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec1833603018112610eec57600080fd5b9190910192915050565b600060208284031215610f0857600080fd5b813567ffffffffffffffff81168114610ca957600080fdfea2646970667358221220407f5a4e2a7890968ada5186fc21bb99875519b48430baa277af34a77970386464736f6c63430008140033000000000000000000000000980aa65dce878b0f80605439c826ba1bfc9b5f010000000000000000000000009185b0cac7f704f80ad0076cdae8e61b45bf24a60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000020000000000000000000000007f615b1155570deaf7c04de6fafa6f5ab38d5ddc000000000000000000000000cdc3500d1af2e24e9b62e1a49bc1464098e2ec6900000000000000000000000000