0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c806383cfab4211610104578063c4f3a853116100a2578063e4cc18be11610071578063e4cc18be146105a1578063e5839836146105a9578063f2fde38b146105cf578063f7b188a5146105f5576101cf565b8063c4f3a85314610501578063d1c4691614610527578063d8fb93371461054d578063dd62ed3e14610573576101cf565b80638da5cb5b116100de5780638da5cb5b1461046457806395d89b4114610488578063a9059cbb14610490578063b2520a7c146104bc576101cf565b806383cfab42146104105780638456cb59146104365780638d1fdf2f1461043e576101cf565b806342966c6811610171578063715018a61161014b578063715018a6146103a857806379cc6790146103b05780637b352962146103dc5780637eee288d146103e4576101cf565b806342966c681461035d5780635c975abb1461037a57806370a0823114610382576101cf565b806323b872dd116101ad57806323b872dd146102ab578063313ce567146102e157806338b82092146102ff57806340c10f1914610331576101cf565b806306fdde03146101d4578063095ea7b31461025157806318160ddd14610291575b600080fd5b6101dc6105fd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102165781810151838201526020016101fe565b50505050905090810190601f1680156102435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027d6004803603604081101561026757600080fd5b506001600160a01b03813516906020013561061d565b604080519115158252519081900360200190f35b610299610679565b60408051918252519081900360200190f35b61027d600480360360608110156102c157600080fd5b506001600160a01b0381358116916020810135909116906040013561067f565b6102e961085f565b6040805160ff9092168252519081900360200190f35b61027d6004803603606081101561031557600080fd5b506001600160a01b038135169060208101359060400135610864565b61027d6004803603604081101561034757600080fd5b506001600160a01b038135169060200135610917565b61027d6004803603602081101561037357600080fd5b5035610adc565b61027d610b6b565b6102996004803603602081101561039857600080fd5b50356001600160a01b0316610b74565b61027d610b8f565b61027d600480360360408110156103c657600080fd5b506001600160a01b038135169060200135610bea565b61027d610ccd565b61027d600480360360408110156103fa57600080fd5b506001600160a01b038135169060200135610cdb565b61027d6004803603602081101561042657600080fd5b50356001600160a01b0316610d61565b61027d610dfb565b61027d6004803603602081101561045457600080fd5b50356001600160a01b0316610ec5565b61046c610f62565b604080516001600160a01b039092168252519081900360200190f35b6101dc610f71565b61027d600480360360408110156104a657600080fd5b506001600160a01b038135169060200135610f8f565b6104e8600480360360408110156104d257600080fd5b506001600160a01b038135169060200135611108565b6040805192835260208301919091528051918290030190f35b61027d6004803603602081101561051757600080fd5b50356001600160a01b0316611170565b61027d6004803603602081101561053d57600080fd5b50356001600160a01b03166111f8565b6104e86004803603602081101561056357600080fd5b50356001600160a01b0316611283565b6102996004803603604081101561058957600080fd5b506001600160a01b03813581169160200135166112ab565b61027d6112d6565b61027d600480360360208110156105bf57600080fd5b50356001600160a01b03166113a7565b61027d600480360360208110156105e557600080fd5b50356001600160a01b03166113c5565b61027d611465565b6040805180820190915260068152652a30b635b2b760d11b602082015290565b60006001600160a01b0383166106645760405162461bcd60e51b815260040180806020018281038252602d815260200180611ffd602d913960400191505060405180910390fd5b61066f33848461152b565b5060019392505050565b60005490565b6001600160a01b038316600090815260076020526040812054849060ff16156106ef576040805162461bcd60e51b815260206004820152601c60248201527f467265657a61626c65203a207461726765742069732066726f7a656e00000000604482015290519081900360640190fd5b60065460ff16156107315760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b6001600160a01b038516600090815260056020526040902054859084906107589082611596565b6001600160a01b03831660009081526001602052604090205410156107ae5760405162461bcd60e51b8152600401808060200182810382526033815260200180611fca6033913960400191505060405180910390fd5b6001600160a01b0386166107f35760405162461bcd60e51b8152600401808060200182810382526033815260200180611c806033913960400191505060405180910390fd5b6107fe8787876115f0565b50610851873361084c88604051806060016040528060338152602001611f97603391396001600160a01b038d16600090815260026020908152604080832033845290915290205491906116bf565b61152b565b506001979650505050505050565b601290565b6003546000906001600160a01b031633146108b05760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b0384166108f55760405162461bcd60e51b815260040180806020018281038252603e815260200180611cb3603e913960400191505060405180910390fd5b6109003385856115f0565b5061090c848484611756565b506001949350505050565b6003546000906001600160a01b031633146109635760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60065460ff16156109a55760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b6001600160a01b0383166109ea5760405162461bcd60e51b8152600401808060200182810382526034815260200180611df06034913960400191505060405180910390fd5b600654610100900460ff1615610a315760405162461bcd60e51b815260040180806020018281038252602f815260200180611e9b602f913960400191505060405180910390fd5b6000546b019d971e4fe8401e7400000090610a4c9084611596565b1115610a895760405162461bcd60e51b815260040180806020018281038252602f81526020018061202a602f913960400191505060405180910390fd5b610a9383836118cf565b506040805183815290516001600160a01b038516917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a250600192915050565b60065460009060ff1615610b215760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b610b2b338361195f565b60408051848152905191925033917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59181900360200190a2506001919050565b60065460ff1690565b6001600160a01b031660009081526001602052604090205490565b6003546000906001600160a01b03163314610bdb5760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b610be56000611a3b565b905090565b60065460009060ff1615610c2f5760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b610c39838361195f565b506040805183815290516001600160a01b038516917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2610cc6833361084c85604051806060016040528060388152602001611db8603891396001600160a01b038916600090815260026020908152604080832033845290915290205491906116bf565b9392505050565b600654610100900460ff1690565b6001600160a01b0382166000908152600460205260408120805442919084908110610d0257fe5b90600052602060002090600202016001015410610d505760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8a602e913960400191505060405180910390fd5b610d5a8383611a9e565b5092915050565b6003546000906001600160a01b03163314610dad5760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b038216600081815260076020526040808220805460ff19169055517fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee9190a2506001919050565b6003546000906001600160a01b03163314610e475760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60065460ff1615610e895760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b6006805460ff191660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a150600190565b6003546000906001600160a01b03163314610f115760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b038216600081815260076020526040808220805460ff19166001179055517faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc3230499190a2506001919050565b6003546001600160a01b031690565b60408051808201909152600481526354414c4b60e01b602082015290565b3360008181526007602052604081205490919060ff1615610ff7576040805162461bcd60e51b815260206004820152601c60248201527f467265657a61626c65203a207461726765742069732066726f7a656e00000000604482015290519081900360640190fd5b60065460ff16156110395760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b3360008181526005602052604090205484906110559082611596565b6001600160a01b03831660009081526001602052604090205410156110ab5760405162461bcd60e51b8152600401808060200182810382526033815260200180611fca6033913960400191505060405180910390fd5b6001600160a01b0386166110f05760405162461bcd60e51b815260040180806020018281038252602f815260200180611ef9602f913960400191505060405180910390fd5b6110fb3387876115f0565b5060019695505050505050565b600080611113611c65565b6001600160a01b038516600090815260046020526040902080548590811061113757fe5b60009182526020918290206040805180820190915260029092020180548083526001909101549190920181905290969095509350505050565b6000805b6001600160a01b0383166000908152600460205260409020548110156111ef576001600160a01b03831660009081526004602052604090208054429190839081106111bb57fe5b90600052602060002090600202016001015410156111e7576111dd8382611a9e565b156111e757600019015b600101611174565b50600192915050565b6003546000906001600160a01b031633146112445760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60005b6001600160a01b0383166000908152600460205260409020548110156111ef576112718382611a9e565b1561127b57600019015b600101611247565b6001600160a01b03166000908152600560209081526040808320546004909252909120549091565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6003546000906001600160a01b031633146113225760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b600654610100900460ff16156113695760405162461bcd60e51b815260040180806020018281038252602e815260200180611cf1602e913960400191505060405180910390fd5b6006805461ff0019166101001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b6001600160a01b031660009081526007602052604090205460ff1690565b6003546000906001600160a01b031633146114115760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b0382166114565760405162461bcd60e51b815260040180806020018281038252604581526020018061208e6045913960600191505060405180910390fd5b61145f82611a3b565b92915050565b6003546000906001600160a01b031633146114b15760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60065460ff166114f25760405162461bcd60e51b81526004018080602001828103825260358152602001806120596035913960400191505060405180910390fd5b6006805460ff191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a150600190565b6001600160a01b03808416600081815260026020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600082820183811015610cc6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061162f826040518060600160405280603e8152602001611e5d603e91396001600160a01b03871660009081526001602052604090205491906116bf565b6001600160a01b03808616600090815260016020526040808220939093559085168152205461165e9083611596565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b6000818484111561174e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156117135781810151838201526020016116fb565b50505050905090810190601f1680156117405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60004282116117965760405162461bcd60e51b815260040180806020018281038252602b815260200180611d5f602b913960400191505060405180910390fd5b6001600160a01b0384166000908152600560205260409020546117ba908490611596565b6001600160a01b03851660009081526001602052604090205410156118105760405162461bcd60e51b8152600401808060200182810382526040815260200180611d1f6040913960400191505060405180910390fd5b6001600160a01b0384166000908152600560205260409020546118339084611596565b6001600160a01b03851660008181526005602090815260408083209490945560048152838220845180860186528881528083018881528254600181810185559386529484902091516002909502909101938455519201919091558251868152908101859052825191927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b92918290030190a25060019392505050565b600080546118dd9083611596565b60009081556001600160a01b0384168152600160205260409020546119029083611596565b6001600160a01b03841660008181526001602090815260408083209490945583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600061199e82604051806060016040528060398152602001611f28603991396001600160a01b03861660009081526001602052604090205491906116bf565b60016000856001600160a01b03166001600160a01b03168152602001908152602001600020819055506119ee82604051806060016040528060368152602001611f616036913960005491906116bf565b60009081556040805184815290516001600160a01b038616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a350600192915050565b6003546040516000916001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908490a350600380546001600160a01b0319166001600160a01b0392909216919091179055600190565b6001600160a01b0382166000908152600460205260408120805482919084908110611ac557fe5b60009182526020808320600290920290910180546001600160a01b03881684526005909252604090922054919250611afd9190611c23565b6001600160a01b0385166000818152600560209081526040918290209390935583548151908152905191927f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f192918290030190a26001600160a01b038416600090815260046020526040902080546000198101908110611b7957fe5b906000526020600020906002020160046000866001600160a01b03166001600160a01b031681526020019081526020016000208481548110611bb757fe5b60009182526020808320845460029093020191825560019384015493909101929092556001600160a01b0386168152600490915260409020805480611bf857fe5b6000828152602081206002600019909301928302018181556001908101919091559155949350505050565b6000610cc683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116bf565b60405180604001604052806000815260200160008152509056fe54414c4b2f7472616e7366657246726f6d203a2053686f756c64206e6f742073656e6420746f207a65726f206164647265737345524332304c6f636b61626c652f7472616e73666572576974684c6f636b5570203a2043616e6e6f742073656e6420746f207a65726f206164647265737345524332304d696e7461626c652f66696e6973684d696e74696e67203a20416c72656164792066696e697368656445524332304c6f636b61626c652f6c6f636b203a206c6f636b656420746f74616c2073686f756c6420626520736d616c6c6572207468616e2062616c616e636545524332304c6f636b61626c652f6c6f636b203a2043616e6e6f74207365742064756520746f207061737445524332304c6f636b61626c652f756e6c6f636b3a2063616e6e6f7420756e6c6f636b206265666f72652064756545524332304275726e61626c652f6275726e46726f6d203a2043616e6e6f74206275726e206d6f7265207468616e20616c6c6f77616e636545524332304d696e7461626c652f6d696e74203a2053686f756c64206e6f74206d696e7420746f207a65726f2061646472657373506175736564203a20546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c6564207768656e206e6f742070617573656445524332302f7472616e73666572203a2063616e6e6f74207472616e73666572206d6f7265207468616e20746f6b656e206f776e65722062616c616e636545524332304d696e7461626c652f6d696e74203a2043616e6e6f74206d696e742061667465722066696e69736865644f776e61626c65203a2046756e6374696f6e2063616c6c656420627920756e617574686f72697a656420757365722e54414c4b2f7472616e73666572203a2053686f756c64206e6f742073656e6420746f207a65726f206164647265737345524332304275726e61626c652f6275726e203a2043616e6e6f74206275726e206d6f7265207468616e207573657227732062616c616e636545524332304275726e61626c652f6275726e203a2043616e6e6f74206275726e206d6f7265207468616e20746f74616c537570706c7954414c4b2f7472616e7366657246726f6d203a2043616e6e6f742073656e64206d6f7265207468616e20616c6c6f77616e636545524332304c6f636b61626c652f43616e6e6f742073656e64206d6f7265207468616e20756e6c6f636b656420616d6f756e7453414d2f617070726f7665203a2053686f756c64206e6f7420617070726f7665207a65726f206164647265737345524332304d696e7461626c652f6d696e7420203a2043616e6e6f74206d696e74206d6f7265207468616e20636170506175736564203a20546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c6564207768656e207061757365644f776e61626c652f7472616e736665724f776e657273686970203a2063616e6e6f74207472616e73666572206f776e65727368697020746f207a65726f2061646472657373a2646970667358221220207395bf42996ca61793fabf4d09c1ec687ee9b5ea8cffd6f12f4ad968662c0864736f6c63430007010033
0x608060405234801561001057600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3612108806100606000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806383cfab4211610104578063c4f3a853116100a2578063e4cc18be11610071578063e4cc18be146105a1578063e5839836146105a9578063f2fde38b146105cf578063f7b188a5146105f5576101cf565b8063c4f3a85314610501578063d1c4691614610527578063d8fb93371461054d578063dd62ed3e14610573576101cf565b80638da5cb5b116100de5780638da5cb5b1461046457806395d89b4114610488578063a9059cbb14610490578063b2520a7c146104bc576101cf565b806383cfab42146104105780638456cb59146104365780638d1fdf2f1461043e576101cf565b806342966c6811610171578063715018a61161014b578063715018a6146103a857806379cc6790146103b05780637b352962146103dc5780637eee288d146103e4576101cf565b806342966c681461035d5780635c975abb1461037a57806370a0823114610382576101cf565b806323b872dd116101ad57806323b872dd146102ab578063313ce567146102e157806338b82092146102ff57806340c10f1914610331576101cf565b806306fdde03146101d4578063095ea7b31461025157806318160ddd14610291575b600080fd5b6101dc6105fd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102165781810151838201526020016101fe565b50505050905090810190601f1680156102435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027d6004803603604081101561026757600080fd5b506001600160a01b03813516906020013561061d565b604080519115158252519081900360200190f35b610299610679565b60408051918252519081900360200190f35b61027d600480360360608110156102c157600080fd5b506001600160a01b0381358116916020810135909116906040013561067f565b6102e961085f565b6040805160ff9092168252519081900360200190f35b61027d6004803603606081101561031557600080fd5b506001600160a01b038135169060208101359060400135610864565b61027d6004803603604081101561034757600080fd5b506001600160a01b038135169060200135610917565b61027d6004803603602081101561037357600080fd5b5035610adc565b61027d610b6b565b6102996004803603602081101561039857600080fd5b50356001600160a01b0316610b74565b61027d610b8f565b61027d600480360360408110156103c657600080fd5b506001600160a01b038135169060200135610bea565b61027d610ccd565b61027d600480360360408110156103fa57600080fd5b506001600160a01b038135169060200135610cdb565b61027d6004803603602081101561042657600080fd5b50356001600160a01b0316610d61565b61027d610dfb565b61027d6004803603602081101561045457600080fd5b50356001600160a01b0316610ec5565b61046c610f62565b604080516001600160a01b039092168252519081900360200190f35b6101dc610f71565b61027d600480360360408110156104a657600080fd5b506001600160a01b038135169060200135610f8f565b6104e8600480360360408110156104d257600080fd5b506001600160a01b038135169060200135611108565b6040805192835260208301919091528051918290030190f35b61027d6004803603602081101561051757600080fd5b50356001600160a01b0316611170565b61027d6004803603602081101561053d57600080fd5b50356001600160a01b03166111f8565b6104e86004803603602081101561056357600080fd5b50356001600160a01b0316611283565b6102996004803603604081101561058957600080fd5b506001600160a01b03813581169160200135166112ab565b61027d6112d6565b61027d600480360360208110156105bf57600080fd5b50356001600160a01b03166113a7565b61027d600480360360208110156105e557600080fd5b50356001600160a01b03166113c5565b61027d611465565b6040805180820190915260068152652a30b635b2b760d11b602082015290565b60006001600160a01b0383166106645760405162461bcd60e51b815260040180806020018281038252602d815260200180611ffd602d913960400191505060405180910390fd5b61066f33848461152b565b5060019392505050565b60005490565b6001600160a01b038316600090815260076020526040812054849060ff16156106ef576040805162461bcd60e51b815260206004820152601c60248201527f467265657a61626c65203a207461726765742069732066726f7a656e00000000604482015290519081900360640190fd5b60065460ff16156107315760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b6001600160a01b038516600090815260056020526040902054859084906107589082611596565b6001600160a01b03831660009081526001602052604090205410156107ae5760405162461bcd60e51b8152600401808060200182810382526033815260200180611fca6033913960400191505060405180910390fd5b6001600160a01b0386166107f35760405162461bcd60e51b8152600401808060200182810382526033815260200180611c806033913960400191505060405180910390fd5b6107fe8787876115f0565b50610851873361084c88604051806060016040528060338152602001611f97603391396001600160a01b038d16600090815260026020908152604080832033845290915290205491906116bf565b61152b565b506001979650505050505050565b601290565b6003546000906001600160a01b031633146108b05760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b0384166108f55760405162461bcd60e51b815260040180806020018281038252603e815260200180611cb3603e913960400191505060405180910390fd5b6109003385856115f0565b5061090c848484611756565b506001949350505050565b6003546000906001600160a01b031633146109635760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60065460ff16156109a55760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b6001600160a01b0383166109ea5760405162461bcd60e51b8152600401808060200182810382526034815260200180611df06034913960400191505060405180910390fd5b600654610100900460ff1615610a315760405162461bcd60e51b815260040180806020018281038252602f815260200180611e9b602f913960400191505060405180910390fd5b6000546b019d971e4fe8401e7400000090610a4c9084611596565b1115610a895760405162461bcd60e51b815260040180806020018281038252602f81526020018061202a602f913960400191505060405180910390fd5b610a9383836118cf565b506040805183815290516001600160a01b038516917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a250600192915050565b60065460009060ff1615610b215760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b610b2b338361195f565b60408051848152905191925033917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59181900360200190a2506001919050565b60065460ff1690565b6001600160a01b031660009081526001602052604090205490565b6003546000906001600160a01b03163314610bdb5760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b610be56000611a3b565b905090565b60065460009060ff1615610c2f5760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b610c39838361195f565b506040805183815290516001600160a01b038516917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2610cc6833361084c85604051806060016040528060388152602001611db8603891396001600160a01b038916600090815260026020908152604080832033845290915290205491906116bf565b9392505050565b600654610100900460ff1690565b6001600160a01b0382166000908152600460205260408120805442919084908110610d0257fe5b90600052602060002090600202016001015410610d505760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8a602e913960400191505060405180910390fd5b610d5a8383611a9e565b5092915050565b6003546000906001600160a01b03163314610dad5760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b038216600081815260076020526040808220805460ff19169055517fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee9190a2506001919050565b6003546000906001600160a01b03163314610e475760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60065460ff1615610e895760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b6006805460ff191660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a150600190565b6003546000906001600160a01b03163314610f115760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b038216600081815260076020526040808220805460ff19166001179055517faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc3230499190a2506001919050565b6003546001600160a01b031690565b60408051808201909152600481526354414c4b60e01b602082015290565b3360008181526007602052604081205490919060ff1615610ff7576040805162461bcd60e51b815260206004820152601c60248201527f467265657a61626c65203a207461726765742069732066726f7a656e00000000604482015290519081900360640190fd5b60065460ff16156110395760405162461bcd60e51b8152600401808060200182810382526039815260200180611e246039913960400191505060405180910390fd5b3360008181526005602052604090205484906110559082611596565b6001600160a01b03831660009081526001602052604090205410156110ab5760405162461bcd60e51b8152600401808060200182810382526033815260200180611fca6033913960400191505060405180910390fd5b6001600160a01b0386166110f05760405162461bcd60e51b815260040180806020018281038252602f815260200180611ef9602f913960400191505060405180910390fd5b6110fb3387876115f0565b5060019695505050505050565b600080611113611c65565b6001600160a01b038516600090815260046020526040902080548590811061113757fe5b60009182526020918290206040805180820190915260029092020180548083526001909101549190920181905290969095509350505050565b6000805b6001600160a01b0383166000908152600460205260409020548110156111ef576001600160a01b03831660009081526004602052604090208054429190839081106111bb57fe5b90600052602060002090600202016001015410156111e7576111dd8382611a9e565b156111e757600019015b600101611174565b50600192915050565b6003546000906001600160a01b031633146112445760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60005b6001600160a01b0383166000908152600460205260409020548110156111ef576112718382611a9e565b1561127b57600019015b600101611247565b6001600160a01b03166000908152600560209081526040808320546004909252909120549091565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6003546000906001600160a01b031633146113225760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b600654610100900460ff16156113695760405162461bcd60e51b815260040180806020018281038252602e815260200180611cf1602e913960400191505060405180910390fd5b6006805461ff0019166101001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b6001600160a01b031660009081526007602052604090205460ff1690565b6003546000906001600160a01b031633146114115760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b6001600160a01b0382166114565760405162461bcd60e51b815260040180806020018281038252604581526020018061208e6045913960600191505060405180910390fd5b61145f82611a3b565b92915050565b6003546000906001600160a01b031633146114b15760405162461bcd60e51b815260040180806020018281038252602f815260200180611eca602f913960400191505060405180910390fd5b60065460ff166114f25760405162461bcd60e51b81526004018080602001828103825260358152602001806120596035913960400191505060405180910390fd5b6006805460ff191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a150600190565b6001600160a01b03808416600081815260026020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600082820183811015610cc6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061162f826040518060600160405280603e8152602001611e5d603e91396001600160a01b03871660009081526001602052604090205491906116bf565b6001600160a01b03808616600090815260016020526040808220939093559085168152205461165e9083611596565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b6000818484111561174e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156117135781810151838201526020016116fb565b50505050905090810190601f1680156117405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60004282116117965760405162461bcd60e51b815260040180806020018281038252602b815260200180611d5f602b913960400191505060405180910390fd5b6001600160a01b0384166000908152600560205260409020546117ba908490611596565b6001600160a01b03851660009081526001602052604090205410156118105760405162461bcd60e51b8152600401808060200182810382526040815260200180611d1f6040913960400191505060405180910390fd5b6001600160a01b0384166000908152600560205260409020546118339084611596565b6001600160a01b03851660008181526005602090815260408083209490945560048152838220845180860186528881528083018881528254600181810185559386529484902091516002909502909101938455519201919091558251868152908101859052825191927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b92918290030190a25060019392505050565b600080546118dd9083611596565b60009081556001600160a01b0384168152600160205260409020546119029083611596565b6001600160a01b03841660008181526001602090815260408083209490945583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600061199e82604051806060016040528060398152602001611f28603991396001600160a01b03861660009081526001602052604090205491906116bf565b60016000856001600160a01b03166001600160a01b03168152602001908152602001600020819055506119ee82604051806060016040528060368152602001611f616036913960005491906116bf565b60009081556040805184815290516001600160a01b038616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a350600192915050565b6003546040516000916001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908490a350600380546001600160a01b0319166001600160a01b0392909216919091179055600190565b6001600160a01b0382166000908152600460205260408120805482919084908110611ac557fe5b60009182526020808320600290920290910180546001600160a01b03881684526005909252604090922054919250611afd9190611c23565b6001600160a01b0385166000818152600560209081526040918290209390935583548151908152905191927f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f192918290030190a26001600160a01b038416600090815260046020526040902080546000198101908110611b7957fe5b906000526020600020906002020160046000866001600160a01b03166001600160a01b031681526020019081526020016000208481548110611bb757fe5b60009182526020808320845460029093020191825560019384015493909101929092556001600160a01b0386168152600490915260409020805480611bf857fe5b6000828152602081206002600019909301928302018181556001908101919091559155949350505050565b6000610cc683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116bf565b60405180604001604052806000815260200160008152509056fe54414c4b2f7472616e7366657246726f6d203a2053686f756c64206e6f742073656e6420746f207a65726f206164647265737345524332304c6f636b61626c652f7472616e73666572576974684c6f636b5570203a2043616e6e6f742073656e6420746f207a65726f206164647265737345524332304d696e7461626c652f66696e6973684d696e74696e67203a20416c72656164792066696e697368656445524332304c6f636b61626c652f6c6f636b203a206c6f636b656420746f74616c2073686f756c6420626520736d616c6c6572207468616e2062616c616e636545524332304c6f636b61626c652f6c6f636b203a2043616e6e6f74207365742064756520746f207061737445524332304c6f636b61626c652f756e6c6f636b3a2063616e6e6f7420756e6c6f636b206265666f72652064756545524332304275726e61626c652f6275726e46726f6d203a2043616e6e6f74206275726e206d6f7265207468616e20616c6c6f77616e636545524332304d696e7461626c652f6d696e74203a2053686f756c64206e6f74206d696e7420746f207a65726f2061646472657373506175736564203a20546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c6564207768656e206e6f742070617573656445524332302f7472616e73666572203a2063616e6e6f74207472616e73666572206d6f7265207468616e20746f6b656e206f776e65722062616c616e636545524332304d696e7461626c652f6d696e74203a2043616e6e6f74206d696e742061667465722066696e69736865644f776e61626c65203a2046756e6374696f6e2063616c6c656420627920756e617574686f72697a656420757365722e54414c4b2f7472616e73666572203a2053686f756c64206e6f742073656e6420746f207a65726f206164647265737345524332304275726e61626c652f6275726e203a2043616e6e6f74206275726e206d6f7265207468616e207573657227732062616c616e636545524332304275726e61626c652f6275726e203a2043616e6e6f74206275726e206d6f7265207468616e20746f74616c537570706c7954414c4b2f7472616e7366657246726f6d203a2043616e6e6f742073656e64206d6f7265207468616e20616c6c6f77616e636545524332304c6f636b61626c652f43616e6e6f742073656e64206d6f7265207468616e20756e6c6f636b656420616d6f756e7453414d2f617070726f7665203a2053686f756c64206e6f7420617070726f7665207a65726f206164647265737345524332304d696e7461626c652f6d696e7420203a2043616e6e6f74206d696e74206d6f7265207468616e20636170506175736564203a20546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c6564207768656e207061757365644f776e61626c652f7472616e736665724f776e657273686970203a2063616e6e6f74207472616e73666572206f776e65727368697020746f207a65726f2061646472657373a2646970667358221220207395bf42996ca61793fabf4d09c1ec687ee9b5ea8cffd6f12f4ad968662c0864736f6c63430007010033