60806040523480156200001157600080fd5b50604080518082018252601a81527f4e465457726170706572205661756c74202d2042696e616e63650000000000006020808301918252835180850190945260088452675742494e414e434560c01b908401528151919291620000779160039162000107565b5080516200008d90600490602084019062000107565b50506005805460ff1916601217905550620000a7620000fe565b60ff16600a0a600855600680546001600160a01b031990811673faafdc07907ff5120a76b34b731b278c38d6043c1791829055600780549091166001600160a01b03929092169190911790556001600b55620001a3565b60055460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014a57805160ff19168380011785556200017a565b828001600101855582156200017a579182015b828111156200017a5782518255916020019190600101906200015d565b50620001889291506200018c565b5090565b5b808211156200018857600081556001016200018d565b6123f280620001b36000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806371a43135116100b8578063a457c2d71161007c578063a457c2d714610413578063a71604e81461043f578063a9059cbb146104bf578063bbb6ed22146104eb578063d731fff014610517578063dd62ed3e1461059757610137565b806371a43135146103945780637694eaf8146103b1578063949d225d146103d55780639523c0c4146103dd57806395d89b411461040b57610137565b8063280777d6116100ff578063280777d6146102f6578063313ce567146102fe578063395093511461031c57806354675d0a1461034857806370a082311461036e57610137565b806306fdde031461013c578063095ea7b3146101b9578063150b7a02146101f957806318160ddd146102a657806323b872dd146102c0575b600080fd5b6101446105c5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e5600480360360408110156101cf57600080fd5b506001600160a01b03813516906020013561065b565b604080519115158252519081900360200190f35b6102896004803603608081101561020f57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561024a57600080fd5b82018360208201111561025c57600080fd5b8035906020019184600183028401116401000000008311171561027e57600080fd5b509092509050610678565b604080516001600160e01b03199092168252519081900360200190f35b6102ae61083b565b60408051918252519081900360200190f35b6101e5600480360360608110156102d657600080fd5b506001600160a01b03813581169160208101359091169060400135610841565b6102ae6108c8565b6103066108ce565b6040805160ff9092168252519081900360200190f35b6101e56004803603604081101561033257600080fd5b506001600160a01b0381351690602001356108d7565b6101e56004803603602081101561035e57600080fd5b50356001600160a01b0316610925565b6102ae6004803603602081101561038457600080fd5b50356001600160a01b0316610939565b6101e5600480360360208110156103aa57600080fd5b5035610954565b6103b9610968565b604080516001600160a01b039092168252519081900360200190f35b6102ae610977565b610409600480360360408110156103f357600080fd5b506001600160a01b03813516906020013561097d565b005b610144610c5a565b6101e56004803603604081101561042957600080fd5b506001600160a01b038135169060200135610cbb565b6104096004803603604081101561045557600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561048057600080fd5b82018360208201111561049257600080fd5b803590602001918460208302840111640100000000831117156104b457600080fd5b509092509050610d23565b6101e5600480360360408110156104d557600080fd5b506001600160a01b03813516906020013561113d565b6104096004803603604081101561050157600080fd5b506001600160a01b038135169060200135611151565b6104096004803603604081101561052d57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561055857600080fd5b82018360208201111561056a57600080fd5b8035906020019184602083028401116401000000008311171561058c57600080fd5b509092509050611960565b6102ae600480360360408110156105ad57600080fd5b506001600160a01b0381358116916020013516611cb7565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106515780601f1061062657610100808354040283529160200191610651565b820191906000526020600020905b81548152906001019060200180831161063457829003601f168201915b5050505050905090565b600061066f610668611ce2565b8484611ce6565b50600192915050565b60006002600b54146106d1576040805162461bcd60e51b815260206004820152601e60248201527f5265656e7472616e63793a206e6f6e2d7265656e7472616e742063616c6c0000604482015290519081900360640190fd5b6001600160a01b0386163014610725576040805162461bcd60e51b815260206004820152601460248201527343616e6e6f742063616c6c206469726563746c7960601b604482015290519081900360640190fd5b6001600160a01b03851661076e576040805162461bcd60e51b81526020600482015260186024820152600080516020612378833981519152604482015290519081900360640190fd5b6005546001600160a01b0386811661010090920416146107ca576040805162461bcd60e51b8152602060048201526012602482015271088cae0dee6d2e8dee440dad2e6dac2e8c6d60731b604482015290519081900360640190fd5b6006546001600160a01b03163314610829576040805162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f7420616c6c6f77656420696e207661756c74000000000000604482015290519081900360640190fd5b50630a85bd0160e11b95945050505050565b60025490565b600061084e848484611dd2565b6108be8461085a611ce2565b6108b9856040518060600160405280602881526020016122e6602891396001600160a01b038a16600090815260016020526040812090610898611ce2565b6001600160a01b031681526020810191909152604001600020549190611f2d565b611ce6565b5060019392505050565b60085490565b60055460ff1690565b600061066f6108e4611ce2565b846108b985600160006108f5611ce2565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611fc4565b6006546001600160a01b0391821691161490565b6001600160a01b031660009081526020819052604090205490565b6000908152600a6020526040902054151590565b6006546001600160a01b031681565b60095490565b6002600b5414156109d2576040805162461bcd60e51b815260206004820152601a6024820152791499595b9d1c985b98de4e881c99595b9d1c985b9d0818d85b1b60321b604482015290519081900360640190fd5b6002600b556001600160a01b038216610a20576040805162461bcd60e51b81526020600482015260186024820152600080516020612378833981519152604482015290519081900360640190fd5b6001600160a01b038216301415610a7a576040805162461bcd60e51b815260206004820152601960248201527815985d5b1d081859191c995cdcc81b9bdd08185b1b1bddd959603a1b604482015290519081900360640190fd5b6006546001600160a01b0383811691161415610ada576040805162461bcd60e51b815260206004820152601a602482015279151bdad95b8818dbdb9d1c9858dd081b9bdd08185b1b1bddd95960321b604482015290519081900360640190fd5b60095480821115610ae9578091505b60008211610b36576040805162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b604482015290519081900360640190fd5b610b44336008548402612025565b6000805b83811015610c4e576009836001900393508381548110610b6457fe5b906000526020600020015491506009805480610b7c57fe5b600082815260208082208301600019908101839055909201909255838252600a905260408082208290556007548151632142170760e11b81523060048201526001600160a01b03898116602483015260448201879052925192909116926342842e0e9260648084019382900301818387803b158015610bfa57600080fd5b505af1158015610c0e573d6000803e3d6000fd5b50506040805185815290517fc172f6497c150fc242267f743e8e4034b31b16ee123408d6d5f75a81128de1149350908190036020019150a1600101610b48565b50506001600b55505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106515780601f1061062657610100808354040283529160200191610651565b600061066f610cc8611ce2565b846108b9856040518060600160405280602581526020016123986025913960016000610cf2611ce2565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611f2d565b6002600b541415610d78576040805162461bcd60e51b815260206004820152601a6024820152791499595b9d1c985b98de4e881c99595b9d1c985b9d0818d85b1b60321b604482015290519081900360640190fd5b6002600b556001600160a01b038316610dc6576040805162461bcd60e51b81526020600482015260186024820152600080516020612378833981519152604482015290519081900360640190fd5b6001600160a01b038316301415610e24576040805162461bcd60e51b815260206004820152601860248201527f546869732061646472657373206e6f7420616c6c6f7765640000000000000000604482015290519081900360640190fd5b6006546001600160a01b0384811691161415610e84576040805162461bcd60e51b815260206004820152601a602482015279151bdad95b8818dbdb9d1c9858dd081b9bdd08185b1b1bddd95960321b604482015290519081900360640190fd5b6009548180610ed1576040805162461bcd60e51b8152602060048201526014602482015273139bc81d1bdad95b9cc81d1bc819195c1bdcda5d60621b604482015290519081900360640190fd5b8181830111610f14576040805162461bcd60e51b815260206004820152600a60248201526915985d5b1d08199d5b1b60b21b604482015290519081900360640190fd5b60058054610100600160a81b03191633610100021790556000805b8281101561111057858582818110610f4357fe5b600980546001808201909255602092830294909401357f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af9094018490556000848152600a8352604090819020989091019788905560075481516331a9108f60e11b815260048101869052915194965033946001600160a01b039091169350636352211e92602480840193919291829003018186803b158015610fe457600080fd5b505afa158015610ff8573d6000803e3d6000fd5b505050506040513d602081101561100e57600080fd5b50516001600160a01b031614611063576040805162461bcd60e51b81526020600482015260156024820152742cb7ba9030b932903737ba103a34329037bbb732b960591b604482015290519081900360640190fd5b60075460408051632142170760e11b81523360048201523060248201526044810185905290516001600160a01b03909216916342842e0e9160648082019260009290919082900301818387803b1580156110bc57600080fd5b505af11580156110d0573d6000803e3d6000fd5b50506040805185815290517f26a49ee784523ce049bcbe276a63c7c9dbd9f428b1aa53633e679c9c046e88589350908190036020019150a1600101610f2f565b5061111f866008548402612121565b505060058054610100600160a81b031916905550506001600b555050565b600061066f61114a611ce2565b8484611dd2565b6002600b5414156111a6576040805162461bcd60e51b815260206004820152601a6024820152791499595b9d1c985b98de4e881c99595b9d1c985b9d0818d85b1b60321b604482015290519081900360640190fd5b6002600b556001600160a01b0382166111f4576040805162461bcd60e51b81526020600482015260186024820152600080516020612378833981519152604482015290519081900360640190fd5b6001600160a01b038216301415611252576040805162461bcd60e51b815260206004820152601a60248201527f5661756c7420636f6e7472616374206e6f7420616c6c6f776564000000000000604482015290519081900360640190fd5b6006546001600160a01b03838116911614156112b2576040805162461bcd60e51b815260206004820152601a602482015279151bdad95b8818dbdb9d1c9858dd081b9bdd08185b1b1bddd95960321b604482015290519081900360640190fd5b6001600160a01b038216331415611307576040805162461bcd60e51b81526020600482015260146024820152735461726765742063616e6e6f7420626520796f7560601b604482015290519081900360640190fd5b813b80611353576040805162461bcd60e51b815260206004820152601560248201527415185c99d95d081b9bdd08184818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b60065460408051632a33ae8560e11b81526001600160a01b039283166004820152905185928316916354675d0a916024808301926020929190829003018186803b1580156113a057600080fd5b505afa1580156113b4573d6000803e3d6000fd5b505050506040513d60208110156113ca57600080fd5b5051611415576040805162461bcd60e51b8152602060048201526015602482015274546172676574207265667573657320746f6b656e7360581b604482015290519081900360640190fd5b60095480841115611424578093505b6000841161146d576040805162461bcd60e51b815260206004820152601160248201527004e6f20746f6b656e7320746f207377617607c1b604482015290519081900360640190fd5b61147b336008548602612025565b600060608567ffffffffffffffff8111801561149657600080fd5b506040519080825280602002602001820160405280156114c0578160200160208202803683370190505b50905060005b868110156115af5760098460019003945084815481106114e257fe5b90600052602060002001549250828282815181106114fc57fe5b602002602001018181525050600980548061151357fe5b600082815260208082208301600019908101839055909201909255848252600a90526040808220829055600754815163095ea7b360e01b81526001600160a01b038c81166004830152602482018890529251929091169263095ea7b39260448084019382900301818387803b15801561158b57600080fd5b505af115801561159f573d6000803e3d6000fd5b5050600190920191506114c69050565b6000856001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156115fe57600080fd5b505afa158015611612573d6000803e3d6000fd5b505050506040513d602081101561162857600080fd5b5051604080516314e2c09d60e31b81523360048201818152602483019384528751604484015287519495506001600160a01b038b169463a71604e89492938993916064909101906020858101910280838360005b8381101561169457818101518382015260200161167c565b505050509050019350505050600060405180830381600087803b1580156116ba57600080fd5b505af11580156116ce573d6000803e3d6000fd5b50505050600091505b878210156117ca5760075483516001600160a01b03808c16921690636352211e9086908690811061170457fe5b60200260200101516040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561174057600080fd5b505afa158015611754573d6000803e3d6000fd5b505050506040513d602081101561176a57600080fd5b50516001600160a01b0316146117bf576040805162461bcd60e51b8152602060048201526015602482015274151bdad95b881b9bdd081d1c985b9cd9995c9c9959605a1b604482015290519081900360640190fd5b6001909101906116d7565b6000866001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561181957600080fd5b505afa15801561182d573d6000803e3d6000fd5b505050506040513d602081101561184357600080fd5b5051905081811161189b576040805162461bcd60e51b815260206004820152601d60248201527f50617269747920746f6b656e20646964206e6f7420696e637265617365000000604482015290519081900360640190fd5b80876001600160a01b031663280777d66040518163ffffffff1660e01b815260040160206040518083038186803b1580156118d557600080fd5b505afa1580156118e9573d6000803e3d6000fd5b505050506040513d60208110156118ff57600080fd5b50518a0283011461194f576040805162461bcd60e51b81526020600482015260156024820152740a0c2e4d2e8f240e8ded6cadc40dad2e6dac2e8c6d605b1b604482015290519081900360640190fd5b50506001600b555050505050505050565b6002600b5414156119b5576040805162461bcd60e51b815260206004820152601a6024820152791499595b9d1c985b98de4e881c99595b9d1c985b9d0818d85b1b60321b604482015290519081900360640190fd5b6002600b556001600160a01b038316611a03576040805162461bcd60e51b81526020600482015260186024820152600080516020612378833981519152604482015290519081900360640190fd5b6001600160a01b038316301415611a5d576040805162461bcd60e51b815260206004820152601960248201527815985d5b1d081859191c995cdcc81b9bdd08185b1b1bddd959603a1b604482015290519081900360640190fd5b6006546001600160a01b0384811691161415611abd576040805162461bcd60e51b815260206004820152601a602482015279151bdad95b8818dbdb9d1c9858dd081b9bdd08185b1b1bddd95960321b604482015290519081900360640190fd5b60095480611b0a576040805162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b604482015290519081900360640190fd5b816000808080805b85811015611c9857888882818110611b2657fe5b905060200201359350600a600085815260200190815260200160002054945084600014158015611b6f57508360096001870381548110611b6257fe5b9060005260206000200154145b15611c90576009876001900397508781548110611b8857fe5b906000526020600020015492508260096001870381548110611ba657fe5b50600052506009805480611bb657fe5b600082815260208082208301600019908101839055909201909255848252600a905260408082208790558582528082208290556007548151632142170760e11b81523060048201526001600160a01b038e8116602483015260448201899052925192909116926342842e0e9260648084019382900301818387803b158015611c3d57600080fd5b505af1158015611c51573d6000803e3d6000fd5b50506040805187815290516001909501947fc172f6497c150fc242267f743e8e4034b31b16ee123408d6d5f75a81128de1149350908190036020019150a15b600101611b12565b50611ca7336008548302612025565b50506001600b5550505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b038316611d2b5760405162461bcd60e51b81526004018080602001828103825260248152602001806123546024913960400191505060405180910390fd5b6001600160a01b038216611d705760405162461bcd60e51b815260040180806020018281038252602281526020018061229e6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316611e175760405162461bcd60e51b815260040180806020018281038252602581526020018061232f6025913960400191505060405180910390fd5b6001600160a01b038216611e5c5760405162461bcd60e51b81526004018080602001828103825260238152602001806122596023913960400191505060405180910390fd5b611e67838383612211565b611ea4816040518060600160405280602681526020016122c0602691396001600160a01b0386166000908152602081905260409020549190611f2d565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611ed39082611fc4565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115611fbc5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f81578181015183820152602001611f69565b50505050905090810190601f168015611fae5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008282018381101561201e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b03821661206a5760405162461bcd60e51b815260040180806020018281038252602181526020018061230e6021913960400191505060405180910390fd5b61207682600083612211565b6120b38160405180606001604052806022815260200161227c602291396001600160a01b0385166000908152602081905260409020549190611f2d565b6001600160a01b0383166000908152602081905260409020556002546120d99082612216565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b03821661217c576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61218860008383612211565b6002546121959082611fc4565b6002556001600160a01b0382166000908152602081905260409020546121bb9082611fc4565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b600061201e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f2d56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735a65726f2061646472657373206e6f7420616c6c6f776564000000000000000045524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220bef147adb92c534d3dbb4d7aac6a956fbf9593ba3a5c665440aaa1d2a2d06fc264736f6c634300060c0033