//
0x6101606040523480156200001257600080fd5b5060405180604001604052806006815260200165536f6c61787960d01b81525080604051806040016040528060018152602001603160f81b81525060405180604001604052806006815260200165536f6c61787960d01b815250604051806040016040528060038152602001620a698b60eb1b8152508160039081620000999190620002a5565b506004620000a88282620002a5565b50620000ba915083905060056200017b565b61012052620000cb8160066200017b565b61014052815160208084019190912060e052815190820120610100524660a0526200015960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c05250600c80546001600160a01b03191633179055620003e6565b60006020835110156200019b576200019383620001b4565b9050620001ae565b81620001a88482620002a5565b5060ff90505b92915050565b600080829050601f81511115620001eb578260405163305a27a960e01b8152600401620001e2919062000371565b60405180910390fd5b8051620001f882620003c1565b179392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200022b57607f821691505b6020821081036200024c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002a057600081815260208120601f850160051c810160208610156200027b5750805b601f850160051c820191505b818110156200029c5782815560010162000287565b5050505b505050565b81516001600160401b03811115620002c157620002c162000200565b620002d981620002d2845462000216565b8462000252565b602080601f831160018114620003115760008415620002f85750858301515b600019600386901b1c1916600185901b1785556200029c565b600085815260208120601f198616915b82811015620003425788860151825594840194600190910190840162000321565b5085821015620003615787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083528351808285015260005b81811015620003a05785810183015185820160400152820162000382565b506000604082860101526040601f19601f8301168501019250505092915050565b805160208083015191908110156200024c5760001960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051613124620004416000396000610e9e01526000610e7301526000611af501526000611acd01526000611a2801526000611a5201526000611a7c01526131246000f3fe6080604052600436106102535760003560e01c80636fcfff4511610138578063a9059cbb116100b0578063d9d98ce41161007f578063e0bab4c411610064578063e0bab4c414610728578063f1127ed814610750578063f5ad797c1461079a57600080fd5b8063d9d98ce4146106c2578063dd62ed3e146106e257600080fd5b8063a9059cbb14610642578063b390c0ab14610662578063c3cda52014610682578063d505accf146106a257600080fd5b80638e539e8c1161010757806395d89b41116100ec57806395d89b41146105ed5780639ab24eb014610602578063a457c2d71461062257600080fd5b80638e539e8c146105a157806391ddadf4146105c157600080fd5b80636fcfff45146104ee57806370a08231146105235780637ecebe001461055957806384b0196e1461057957600080fd5b806339509351116101cb57806350d2e31f1161019a5780635c19a95c1161017f5780635c19a95c1461048e5780635cffe9de146104ae578063613255ab146104ce57600080fd5b806350d2e31f14610435578063587cde1e1461045557600080fd5b806339509351146103a85780633a46b1a8146103c857806341275358146103e85780634bf5d7e91461042057600080fd5b806323b872dd11610222578063313ce56711610207578063313ce567146103615780633382ccb01461037d5780633644e5151461039357600080fd5b806323b872dd1461032b5780632c31d8da1461034b57600080fd5b806306fdde031461028f578063095ea7b3146102ba57806318160ddd146102ea5780631b2ef1ca1461030957600080fd5b3661028a576040517fac00e71c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080fd5b34801561029b57600080fd5b506102a46107ba565b6040516102b19190612ad5565b60405180910390f35b3480156102c657600080fd5b506102da6102d5366004612afd565b61084c565b60405190151581526020016102b1565b3480156102f657600080fd5b506002545b6040519081526020016102b1565b34801561031557600080fd5b50610329610324366004612b29565b610866565b005b34801561033757600080fd5b506102da610346366004612b4b565b610a1d565b34801561035757600080fd5b506102fb600d5481565b34801561036d57600080fd5b50604051601281526020016102b1565b34801561038957600080fd5b506102fb600e5481565b34801561039f57600080fd5b506102fb610a41565b3480156103b457600080fd5b506102da6103c3366004612afd565b610a50565b3480156103d457600080fd5b506102fb6103e3366004612afd565b610a8f565b3480156103f457600080fd5b50600c54610408906001600160a01b031681565b6040516001600160a01b0390911681526020016102b1565b34801561042c57600080fd5b506102a4610b1d565b34801561044157600080fd5b506102fb610450366004612b8c565b610bb5565b34801561046157600080fd5b50610408610470366004612ba5565b6001600160a01b039081166000908152600960205260409020541690565b34801561049a57600080fd5b506103296104a9366004612ba5565b610bc8565b3480156104ba57600080fd5b506102da6104c9366004612bc2565b610bd5565b3480156104da57600080fd5b506102fb6104e9366004612ba5565b610dfd565b3480156104fa57600080fd5b5061050e610509366004612ba5565b610e25565b60405163ffffffff90911681526020016102b1565b34801561052f57600080fd5b506102fb61053e366004612ba5565b6001600160a01b031660009081526020819052604090205490565b34801561056557600080fd5b506102fb610574366004612ba5565b610e47565b34801561058557600080fd5b5061058e610e65565b6040516102b19796959493929190612c61565b3480156105ad57600080fd5b506102fb6105bc366004612b8c565b610f0a565b3480156105cd57600080fd5b506105d6610f75565b60405165ffffffffffff90911681526020016102b1565b3480156105f957600080fd5b506102a4610f80565b34801561060e57600080fd5b506102fb61061d366004612ba5565b610f8f565b34801561062e57600080fd5b506102da61063d366004612afd565b611011565b34801561064e57600080fd5b506102da61065d366004612afd565b6110bb565b34801561066e57600080fd5b5061032961067d366004612b29565b6110c9565b34801561068e57600080fd5b5061032961069d366004612d29565b61129b565b3480156106ae57600080fd5b506103296106bd366004612d83565b6113d1565b3480156106ce57600080fd5b506102fb6106dd366004612afd565b611535565b3480156106ee57600080fd5b506102fb6106fd366004612df1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561073457600080fd5b5061040873e0af27fada2381eac54bf38b4b10177d9805563e81565b34801561075c57600080fd5b5061077061076b366004612e2a565b611596565b60408051825163ffffffff1681526020928301516001600160e01b031692810192909252016102b1565b3480156107a657600080fd5b506102fb6107b5366004612b8c565b61161a565b6060600380546107c990612e61565b80601f01602080910402602001604051908101604052809291908181526020018280546107f590612e61565b80156108425780601f1061081757610100808354040283529160200191610842565b820191906000526020600020905b81548152906001019060200180831161082557829003601f168201915b5050505050905090565b60003361085a818585611630565b60019150505b92915050565b600d805490600061087683612eab565b9190505581101561089a57604051632276bceb60e11b815260040160405180910390fd5b60006108a58361161a565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810182905290915073e0af27fada2381eac54bf38b4b10177d9805563e906323b872dd906064016020604051808303816000875af115801561091f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109439190612ec4565b6109605760405163e9e01f9f60e01b815260040160405180910390fd5b6040516370a0823160e01b815230600482015273e0af27fada2381eac54bf38b4b10177d9805563e906370a0823190602401602060405180830381865afa1580156109af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d39190612ee6565b81847fc51504863d8e010c60eaee8b20f986c8eec0b99bae3a2fbb60a52e8b981615ba42604051610a0691815260200190565b60405180910390a4610a183384611788565b505050565b600033610a2b858285611796565b610a36858585611828565b506001949350505050565b6000610a4b611a1b565b905090565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061085a9082908690610a8a908790612eff565b611630565b6000610a99610f75565b65ffffffffffff168210610af45760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20667574757265206c6f6f6b75700000000000000060448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a60205260409020610b169083611b46565b9392505050565b606043610b28610f75565b65ffffffffffff1614610b7d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f64650000006044820152606401610aeb565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b6000610bc082611c2f565b949350505050565b610bd23382611c71565b50565b6000610be085610dfd565b841115610c555760405162461bcd60e51b815260206004820152602b60248201527f4552433230466c6173684d696e743a20616d6f756e742065786365656473206d60448201527f6178466c6173684c6f616e0000000000000000000000000000000000000000006064820152608401610aeb565b6000610c618686611535565b9050610c6d8786611788565b6040517f23e30c8b0000000000000000000000000000000000000000000000000000000081527f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9906001600160a01b038916906323e30c8b90610cde9033908b908b9088908c908c90600401612f12565b6020604051808303816000875af1158015610cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d219190612ee6565b14610d935760405162461bcd60e51b8152602060048201526024808201527f4552433230466c6173684d696e743a20696e76616c69642072657475726e207660448201527f616c7565000000000000000000000000000000000000000000000000000000006064820152608401610aeb565b6000610da98830610da4858a612eff565b611796565b811580610dbd57506001600160a01b038116155b15610dda57610dd588610dd08489612eff565b611d02565b610def565b610de48887611d02565b610def888284611828565b506001979650505050505050565b60006001600160a01b0382163014610e16576000610860565b60025461086090600019612f6d565b6001600160a01b0381166000908152600a602052604081205461086090611d0c565b6001600160a01b038116600090815260076020526040812054610860565b600060608082808083610e997f00000000000000000000000000000000000000000000000000000000000000006005611d8c565b610ec47f00000000000000000000000000000000000000000000000000000000000000006006611d8c565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6000610f14610f75565b65ffffffffffff168210610f6a5760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20667574757265206c6f6f6b7570000000000000006044820152606401610aeb565b610860600b83611b46565b6000610a4b43611e37565b6060600480546107c990612e61565b6001600160a01b0381166000908152600a60205260408120548015610ffe576001600160a01b0383166000908152600a6020526040902080546000198301908110610fdc57610fdc612f80565b60009182526020909120015464010000000090046001600160e01b0316611001565b60005b6001600160e01b03169392505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156110ae5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610aeb565b610a368286868403611630565b60003361085a818585611828565b600e80549060006110d983612eab565b919050558110156110fd57604051632276bceb60e11b815260040160405180910390fd5b600080600061110b85611c2f565b600c549295509093509150611129906001600160a01b0316846110bb565b506111343383611d02565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810182905273e0af27fada2381eac54bf38b4b10177d9805563e9063a9059cbb906044016020604051808303816000875af11580156111a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c99190612ec4565b6111e65760405163e9e01f9f60e01b815260040160405180910390fd5b6040516370a0823160e01b815230600482015273e0af27fada2381eac54bf38b4b10177d9805563e906370a0823190602401602060405180830381865afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112599190612ee6565b81837f6c51a4ab9c5cc64f65d242d0de6a7755ca4a1c2286d251717b977809dd6266394260405161128c91815260200190565b60405180910390a45050505050565b834211156112eb5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e617475726520657870697265640000006044820152606401610aeb565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b0388169181019190915260608101869052608081018590526000906113659061135d9060a00160405160208183030381529060405280519060200120611eb5565b858585611efd565b905061137081611f25565b86146113be5760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e6365000000000000006044820152606401610aeb565b6113c88188611c71565b50505050505050565b834211156114215760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610aeb565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886114508c611f25565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006114ab82611eb5565b905060006114bb82878787611efd565b9050896001600160a01b0316816001600160a01b03161461151e5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610aeb565b6115298a8a8a611630565b50505050505050505050565b60006001600160a01b038316301461158f5760405162461bcd60e51b815260206004820152601b60248201527f4552433230466c6173684d696e743a2077726f6e6720746f6b656e00000000006044820152606401610aeb565b6000610b16565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff84169081106115da576115da612f80565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b600061086060018361162b60025490565b611f4d565b6001600160a01b0383166116ab5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610aeb565b6001600160a01b0382166117275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610aeb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6117928282611fcd565b5050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461182257818110156118155760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610aeb565b6118228484848403611630565b50505050565b6001600160a01b0383166118a45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610aeb565b6001600160a01b0382166119205760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610aeb565b6001600160a01b038316600090815260208190526040902054818110156119af5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610aeb565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611822848484612064565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611a7457507f000000000000000000000000000000000000000000000000000000000000000046145b15611a9e57507f000000000000000000000000000000000000000000000000000000000000000090565b610a4b604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b815460009081816005811115611ba0576000611b618461206f565b611b6b9085612f6d565b600088815260209020909150869082015463ffffffff161115611b9057809150611b9e565b611b9b816001612eff565b92505b505b80821015611bed576000611bb48383612157565b600088815260209020909150869082015463ffffffff161115611bd957809150611be7565b611be4816001612eff565b92505b50611ba0565b8015611c19576000868152602090208101600019015464010000000090046001600160e01b0316611c1c565b60005b6001600160e01b03169695505050505050565b600080806103e8611c4285610108612f96565b611c4c9190612fc3565b9250611c588385612f6d565b9150611c6960008361162b60025490565b929491935050565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787167fffffffffffffffffffffffff00000000000000000000000000000000000000008416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4611822828483612172565b61179282826122af565b600063ffffffff821115611d885760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f32206269747300000000000000000000000000000000000000000000000000006064820152608401610aeb565b5090565b606060ff8314611da657611d9f836122c7565b9050610860565b818054611db290612e61565b80601f0160208091040260200160405190810160405280929190818152602001828054611dde90612e61565b8015611e2b5780601f10611e0057610100808354040283529160200191611e2b565b820191906000526020600020905b815481529060010190602001808311611e0e57829003601f168201915b50505050509050610860565b600065ffffffffffff821115611d885760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f38206269747300000000000000000000000000000000000000000000000000006064820152608401610aeb565b6000610860611ec2611a1b565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611f0e87878787612306565b91509150611f1b816123ca565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b600080611f5b6002856130c9565b9050600083611f6b866002612f96565b611f759190612f96565b905069152d02c7e14af6800000828288611f90836002612f96565b611f9a9190612f96565b611fa49190612eff565b611fae9190612f6d565b611fb990607d612f96565b611fc39190612fc3565b9695505050505050565b611fd7828261252f565b6002546001600160e01b0310156120565760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201527f766572666c6f77696e6720766f746573000000000000000000000000000000006064820152608401610aeb565b611822600b6125f683612602565b610a18838383612777565b60008160000361208157506000919050565b6000600161208e846127a9565b901c6001901b905060018184816120a7576120a7612fad565b048201901c905060018184816120bf576120bf612fad565b048201901c905060018184816120d7576120d7612fad565b048201901c905060018184816120ef576120ef612fad565b048201901c9050600181848161210757612107612fad565b048201901c9050600181848161211f5761211f612fad565b048201901c9050600181848161213757612137612fad565b048201901c9050610b168182858161215157612151612fad565b0461283d565b60006121666002848418612fc3565b610b1690848416612eff565b816001600160a01b0316836001600160a01b0316141580156121945750600081115b15610a18576001600160a01b03831615612222576001600160a01b0383166000908152600a6020526040812081906121cf9061285385612602565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612217929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610a18576001600160a01b0382166000908152600a602052604081208190612258906125f685612602565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516122a0929190918252602082015260400190565b60405180910390a25050505050565b6122b9828261285f565b611822600b61285383612602565b606060006122d4836129cf565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561233d57506000905060036123c1565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612391573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166123ba576000600192509250506123c1565b9150600090505b94509492505050565b60008160048111156123de576123de6130d8565b036123e65750565b60018160048111156123fa576123fa6130d8565b036124475760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610aeb565b600281600481111561245b5761245b6130d8565b036124a85760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610aeb565b60038160048111156124bc576124bc6130d8565b03610bd25760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610aeb565b6001600160a01b0382166125855760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610aeb565b80600260008282546125979190612eff565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361179260008383612064565b6000610b168284612eff565b8254600090819081811561264f5760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152612664565b60408051808201909152600080825260208201525b905080602001516001600160e01b0316935061268484868863ffffffff16565b92506000821180156126ae5750612699610f75565b65ffffffffffff16816000015163ffffffff16145b156126f3576126bc83612a10565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff90921691909117905561276d565b86604051806040016040528061271761270a610f75565b65ffffffffffff16611d0c565b63ffffffff16815260200161272b86612a10565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b6001600160a01b03838116600090815260096020526040808220548584168352912054610a1892918216911683612172565b600080608083901c156127be57608092831c92015b604083901c156127d057604092831c92015b602083901c156127e257602092831c92015b601083901c156127f457601092831c92015b600883901c1561280657600892831c92015b600483901c1561281857600492831c92015b600283901c1561282a57600292831c92015b600183901c156108605760010192915050565b600081831061284c5781610b16565b5090919050565b6000610b168284612f6d565b6001600160a01b0382166128db5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610aeb565b6001600160a01b0382166000908152602081905260409020548181101561296a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610aeb565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a1883600084612064565b600060ff8216601f811115610860576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160e01b03821115611d885760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f32342062697473000000000000000000000000000000000000000000000000006064820152608401610aeb565b6000815180845260005b81811015612ab557602081850181015186830182015201612a99565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610b166020830184612a8f565b6001600160a01b0381168114610bd257600080fd5b60008060408385031215612b1057600080fd5b8235612b1b81612ae8565b946020939093013593505050565b60008060408385031215612b3c57600080fd5b50508035926020909101359150565b600080600060608486031215612b6057600080fd5b8335612b6b81612ae8565b92506020840135612b7b81612ae8565b929592945050506040919091013590565b600060208284031215612b9e57600080fd5b5035919050565b600060208284031215612bb757600080fd5b8135610b1681612ae8565b600080600080600060808688031215612bda57600080fd5b8535612be581612ae8565b94506020860135612bf581612ae8565b935060408601359250606086013567ffffffffffffffff80821115612c1957600080fd5b818801915088601f830112612c2d57600080fd5b813581811115612c3c57600080fd5b896020828501011115612c4e57600080fd5b9699959850939650602001949392505050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e081840152612c9d60e084018a612a8f565b8381036040850152612caf818a612a8f565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015612d0157835183529284019291840191600101612ce5565b50909c9b505050505050505050505050565b803560ff81168114612d2457600080fd5b919050565b60008060008060008060c08789031215612d4257600080fd5b8635612d4d81612ae8565b95506020870135945060408701359350612d6960608801612d13565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a031215612d9e57600080fd5b8735612da981612ae8565b96506020880135612db981612ae8565b95506040880135945060608801359350612dd560808901612d13565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215612e0457600080fd5b8235612e0f81612ae8565b91506020830135612e1f81612ae8565b809150509250929050565b60008060408385031215612e3d57600080fd5b8235612e4881612ae8565b9150602083013563ffffffff81168114612e1f57600080fd5b600181811c90821680612e7557607f821691505b602082108103611f4757634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612ebd57612ebd612e95565b5060010190565b600060208284031215612ed657600080fd5b81518015158114610b1657600080fd5b600060208284031215612ef857600080fd5b5051919050565b8082018082111561086057610860612e95565b60006001600160a01b03808916835280881660208401525085604083015284606083015260a060808301528260a0830152828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b8181038181111561086057610860612e95565b634e487b7160e01b600052603260045260246000fd5b808202811582820484141761086057610860612e95565b634e487b7160e01b600052601260045260246000fd5b600082612fe057634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561302057816000190482111561300657613006612e95565b8085161561301357918102915b93841c9390800290612fea565b509250929050565b60008261303757506001610860565b8161304457506000610860565b816001811461305a576002811461306457613080565b6001915050610860565b60ff84111561307557613075612e95565b50506001821b610860565b5060208310610133831016604e8410600b84101617156130a3575081810a610860565b6130ad8383612fe5565b80600019048211156130c1576130c1612e95565b029392505050565b6000610b1660ff841683613028565b634e487b7160e01b600052602160045260246000fdfea26469706673582212206512e80ac58ca24df4a789c5355f89cad7c260ac7fd38f200a36ad86199c26d564736f6c63430008130033