0x60806040526005805460ff60a860020a60ff0201191690553480156200002457600080fd5b5060018054600160a060020a0319163317905560408051808201909152600b8082527f4b656c76696e20436f696e00000000000000000000000000000000000000000060209092019182526200007d916006916200016e565b506040805180820190915260038082527f4b4c4300000000000000000000000000000000000000000000000000000000006020909201918252620000c4916007916200016e565b5060088054601260ff199091161790556a5dff6f94f73d37814c000060008181556005805461010060a860020a0319167453309bb90342897df18f7ae3dccc80353cdb6af20017808255600160a060020a0361010091829004811684526002602090815260408086208790559354845196875293519290930416937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a362000213565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001b157805160ff1916838001178555620001e1565b82800160010185558215620001e1579182015b82811115620001e1578251825591602001919060010190620001c4565b50620001ef929150620001f3565b5090565b6200021091905b80821115620001ef5760008155600101620001fa565b90565b61121780620002236000396000f30060806040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461014257806306fdde031461016b578063095ea7b3146101f55780630d1118ce1461021957806318160ddd1461023f5780632272df671461026657806323b872dd14610287578063313ce567146102b15780633f4ba83a146102dc57806340c10f19146102f15780634d853ee5146103155780635c975abb14610346578063661884631461035b57806370a082311461037f5780637d64bcb4146103a05780638456cb59146103b55780638da5cb5b146103ca57806395d89b41146103df578063a9059cbb146103f4578063b414d4b614610418578063d73dd62314610439578063dd62ed3e1461045d578063e724529c14610484578063f2fde38b146104aa575b600080fd5b34801561014e57600080fd5b506101576104cb565b604080519115158252519081900360200190f35b34801561017757600080fd5b506101806104ed565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ba5781810151838201526020016101a2565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020157600080fd5b50610157600160a060020a036004351660243561057b565b34801561022557600080fd5b5061023d600160a060020a03600435166024356105bb565b005b34801561024b57600080fd5b5061025461069c565b60408051918252519081900360200190f35b34801561027257600080fd5b5061023d600160a060020a03600435166106a2565b34801561029357600080fd5b50610157600160a060020a0360043581169060243516604435610747565b3480156102bd57600080fd5b506102c6610789565b6040805160ff9092168252519081900360200190f35b3480156102e857600080fd5b5061023d610792565b3480156102fd57600080fd5b50610157600160a060020a03600435166024356107ef565b34801561032157600080fd5b5061032a61090c565b60408051600160a060020a039092168252519081900360200190f35b34801561035257600080fd5b50610157610920565b34801561036757600080fd5b50610157600160a060020a0360043516602435610929565b34801561038b57600080fd5b50610254600160a060020a0360043516610962565b3480156103ac57600080fd5b5061015761097d565b3480156103c157600080fd5b5061023d610a26565b3480156103d657600080fd5b5061032a610aa1565b3480156103eb57600080fd5b50610180610ab0565b34801561040057600080fd5b50610157600160a060020a0360043516602435610b0b565b34801561042457600080fd5b50610157600160a060020a0360043516610b44565b34801561044557600080fd5b50610157600160a060020a0360043516602435610b59565b34801561046957600080fd5b50610254600160a060020a0360043581169060243516610b92565b34801561049057600080fd5b5061023d600160a060020a03600435166024351515610bbd565b3480156104b657600080fd5b5061023d600160a060020a0360043516610c38565b6005547501000000000000000000000000000000000000000000900460ff1681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b60055460009060ff16158061059f57506005546101009004600160a060020a031633145b15156105aa57600080fd5b6105b48383610ccd565b9392505050565b6005546101009004600160a060020a031633146105d757600080fd5b600160a060020a0382166000908152600260205260409020548111156105fc57600080fd5b600160a060020a038216600090815260026020526040902054610625908263ffffffff610d6f16565b600160a060020a03831660009081526002602052604081209190915554610652908263ffffffff610d6f16565b60005560408051338152602081018390528151600160a060020a038516927f857ac1c9e97cc66ecae5f524c9c611463ae748b85af3ca454a5ec4d7d341924d928290030190a25050565b60005481565b6005546101009004600160a060020a031633146106be57600080fd5b600160a060020a03811615156106d357600080fd5b600554604051600160a060020a0380841692610100900416907f0d047c5b275ad9d6a7f6a203edd17152390d220403ca3216d56ed80663eca20190600090a360058054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b60055460009060ff16158061076b57506005546101009004600160a060020a031633145b151561077657600080fd5b610781848484610d81565b949350505050565b60085460ff1681565b600154600160a060020a031633146107a957600080fd5b60055460ff1615156107ba57600080fd5b6005805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600154600090600160a060020a0316331461080957600080fd5b6005547501000000000000000000000000000000000000000000900460ff161561083257600080fd5b600054610845908363ffffffff610f2d16565b6000908155600160a060020a038416815260026020526040902054610870908363ffffffff610f2d16565b600160a060020a038416600081815260026020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b6005546101009004600160a060020a031681565b60055460ff1681565b60055460009060ff16158061094d57506005546101009004600160a060020a031633145b151561095857600080fd5b6105b48383610f3c565b600160a060020a031660009081526002602052604090205490565b600154600090600160a060020a0316331461099757600080fd5b6005547501000000000000000000000000000000000000000000900460ff16156109c057600080fd5b6005805475ff000000000000000000000000000000000000000000191675010000000000000000000000000000000000000000001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600154600160a060020a03163314610a3d57600080fd5b60055460ff161580610a5e57506005546101009004600160a060020a031633145b1515610a6957600080fd5b6005805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600154600160a060020a031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105735780601f1061054857610100808354040283529160200191610573565b60055460009060ff161580610b2f57506005546101009004600160a060020a031633145b1515610b3a57600080fd5b6105b4838361102c565b60036020526000908152604090205460ff1681565b60055460009060ff161580610b7d57506005546101009004600160a060020a031633145b1515610b8857600080fd5b6105b48383611152565b600160a060020a03918216600090815260046020908152604080832093909416825291909152205490565b600154600160a060020a03163314610bd457600080fd5b600160a060020a038216600081815260036020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15050565b600154600160a060020a03163314610c4f57600080fd5b600160a060020a0381161515610c6457600080fd5b600154604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000811580610cfd5750336000908152600460209081526040808320600160a060020a0387168452909152902054155b1515610d0857600080fd5b336000818152600460209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600082821115610d7b57fe5b50900390565b6000600160a060020a0383161515610d9857600080fd5b600160a060020a0384166000908152600460209081526040808320338452909152902054821115610dc857600080fd5b600160a060020a038416600090815260026020526040902054821115610ded57600080fd5b600160a060020a038316600090815260026020526040902054610e16818463ffffffff610f2d16565b11610e2057600080fd5b600160a060020a038416600090815260026020526040902054610e49908363ffffffff610d6f16565b600160a060020a038086166000908152600260205260408082209390935590851681522054610e7e908363ffffffff610f2d16565b600160a060020a038085166000908152600260209081526040808320949094559187168152600482528281203382529091522054610ec2908363ffffffff610d6f16565b600160a060020a03808616600081815260046020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b6000828201838110156105b457fe5b336000908152600460209081526040808320600160a060020a038616845290915281205480831115610f9157336000908152600460209081526040808320600160a060020a0388168452909152812055610fc6565b610fa1818463ffffffff610d6f16565b336000908152600460209081526040808320600160a060020a03891684529091529020555b336000818152600460209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000600160a060020a038316151561104357600080fd5b3360009081526002602052604090205482111561105f57600080fd5b3360009081526003602052604090205460ff161561107c57600080fd5b600160a060020a03831660009081526003602052604090205460ff16156110a257600080fd5b336000908152600260205260409020546110c2908363ffffffff610d6f16565b3360009081526002602052604080822092909255600160a060020a038516815220546110f4908363ffffffff610f2d16565b600160a060020a0384166000818152600260209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b336000908152600460209081526040808320600160a060020a0386168452909152812054611186908363ffffffff610f2d16565b336000818152600460209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a3506001929150505600a165627a7a72305820c6e674d051b50e777eb219707321c472c1ffe22ae7b8e3b700f037a846ecdd730029