0x6080604052600436106100c25760003560e01c80637c21331b1161007f578063bc25cf7711610059578063bc25cf7714610233578063c4d66de814610253578063d180465114610273578063d4ba16661461028657600080fd5b80637c21331b146101af578063849df53c146101f3578063894b0aee1461021357600080fd5b80631a788a02146100c75780633659cfe61461010b57806342c652351461012d5780634e321b131461014d5780634f1ef2861461017957806352d1902d1461018c575b600080fd5b3480156100d357600080fd5b506100e76100e2366004612dbf565b6102a6565b604080516001600160a01b0390931683529015156020830152015b60405180910390f35b34801561011757600080fd5b5061012b610126366004612dbf565b61038f565b005b34801561013957600080fd5b5061012b610148366004612e62565b610477565b61016061015b366004612f3e565b6106ba565b60405167ffffffffffffffff9091168152602001610102565b61012b610187366004612fff565b610859565b34801561019857600080fd5b506101a1610925565b604051908152602001610102565b3480156101bb57600080fd5b506101cf6101ca3660046130a7565b6109d8565b60408051825163ffffffff9081168252602093840151169281019290925201610102565b3480156101ff57600080fd5b5061016061020e366004612f3e565b610adf565b34801561021f57600080fd5b5061012b61022e3660046130e0565b610cb8565b34801561023f57600080fd5b5061012b61024e366004612dbf565b610eca565b34801561025f57600080fd5b5061012b61026e366004612dbf565b610f94565b61012b6102813660046130e0565b6110e0565b34801561029257600080fd5b5061012b6102a1366004613121565b611161565b60c954604051630d3c450160e11b81526001600160a01b0383811660048301526000928392911690631a788a0290602401602060405180830381865afa1580156102f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610318919061314f565b60c954604051630b92054b60e21b81526001600160a01b038084166004830152929450911690632e48152c90602401602060405180830381865afa158015610364573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103889190613181565b9050915091565b6001600160a01b037f0000000000000000000000005e67fb415f4624755c9d9c66c4ee2030aa79d8f01630036103e05760405162461bcd60e51b81526004016103d79061319c565b60405180910390fd5b7f0000000000000000000000005e67fb415f4624755c9d9c66c4ee2030aa79d8f06001600160a01b03166104296000805160206136b1833981519152546001600160a01b031690565b6001600160a01b03161461044f5760405162461bcd60e51b81526004016103d7906131e8565b610458816112d6565b6040805160008082526020820190925261047491839190611366565b50565b61047f6114d1565b8051806104ba5760405162461bcd60e51b815260206004820152600960248201526873697a65207a65726f60b81b60448201526064016103d7565b60006104c784600061152a565b905061052f6040805161018081018252600060c0820181815260e083018290526101008301829052610120830182905261014083018290526101608301829052825260208201819052918101829052606081018290526080810182905260a081019190915290565b60005b838110156106a857600085828151811061054e5761054e613234565b602090810291909101015160405163116c2cb760e31b815267ffffffffffffffff821660048201529091506001600160a01b03851690638b6165b89060240161016060405180830381865afa1580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf9190613274565b8051606001519093506001600160a01b031633146106235760405162461bcd60e51b815260206004820152601160248201527068617665206e6f20617574686f7269747960781b60448201526064016103d7565b604051633f098db360e21b815267ffffffffffffffff82166004820152600060248201526001600160a01b0385169063fc2636cc906044016020604051808303816000875af115801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069e9190613181565b5050600101610532565b505050506106b66001606555565b5050565b60006106c46114d1565b60006106d189600161152a565b9050851515806106e657506106e68133611586565b6107025760405162461bcd60e51b81526004016103d790613377565b61070e600060016133d2565b6001600160801b0316876001600160801b03161161075e5760405162461bcd60e51b815260206004820152600d60248201526c746f6f206c6f7720707269636560981b60448201526064016103d7565b610841816040518060c00160405280600160ff168152602001600015158152602001600063ffffffff1681526020016107943390565b6001600160a01b031681526001600160801b03808d1660208301528b166040909101526000898981156107c85760006116d1565b866001600160a01b03166331489a1860018f8d8d6040518563ffffffff1660e01b81526004016107fb94939291906133fd565b602060405180830381865afa158015610818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083c9190613454565b6116d1565b91505061084e6001606555565b979650505050505050565b6001600160a01b037f0000000000000000000000005e67fb415f4624755c9d9c66c4ee2030aa79d8f01630036108a15760405162461bcd60e51b81526004016103d79061319c565b7f0000000000000000000000005e67fb415f4624755c9d9c66c4ee2030aa79d8f06001600160a01b03166108ea6000805160206136b1833981519152546001600160a01b031690565b6001600160a01b0316146109105760405162461bcd60e51b81526004016103d7906131e8565b610919826112d6565b6106b682826001611366565b6000306001600160a01b037f0000000000000000000000005e67fb415f4624755c9d9c66c4ee2030aa79d8f016146109c55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103d7565b506000805160206136b183398151915290565b6040805180820182526000808252602082015260c9549151631a4999c960e01b8152692332b2a9ba30ba34b7b760b11b600482015290916001600160a01b031690631a4999c990602401602060405180830381865afa158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a63919061314f565b604051637c21331b60e01b81526001600160a01b03858116600483015284811660248301529190911690637c21331b9060440160408051808303816000875af1158015610ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad8919061346d565b9392505050565b6000610ae96114d1565b6000610af689600161152a565b905085151580610b0b5750610b0b8133611586565b610b275760405162461bcd60e51b81526004016103d790613377565b610b3960016001600160801b036134c8565b6001600160801b0316876001600160801b031610610b8a5760405162461bcd60e51b815260206004820152600e60248201526d746f6f206869676820707269636560901b60448201526064016103d7565b610841816040518060c00160405280600060ff168152602001600015158152602001600063ffffffff168152602001610bc03390565b6001600160a01b031681526020018b6001600160801b031681526020018a6001600160801b0316815250610c70610c6b8b6001600160801b03168d6001600160801b0316876001600160a01b031663a49e9d1b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c669190613454565b61220a565b6122b8565b89898115610c85576001600160801b036116d1565b866001600160a01b03166331489a1860008f8d8d6040518563ffffffff1660e01b81526004016107fb94939291906133fd565b610cc06114d1565b6000610ccd84600161152a565b90506000610de8826001600160a01b031663c2930f916040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3691906134f0565b6001600160801b0316836001600160a01b0316637be5bdd16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da191906134f0565b6001600160801b0316846001600160a01b031663a49e9d1b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c42573d6000803e3d6000fd5b905080846001600160801b031610158015610e135750610e11816001600160801b038616613523565b155b610e535760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081c185e481b1a5b5a5d607a1b60448201526064016103d7565b6040805160c0810182526000808252600160208301819052928201523360608201526001600160801b0360808201819052610eb89285929160a0830191610e99916134c8565b6001600160801b0316815250866000876001600160801b0380166116d1565b505050610ec56001606555565b505050565b610ed26114d1565b60c9546b4d414e414745525f524f4c4560a01b906001600160a01b03166312d9a6ad82336040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa158015610f40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f649190613181565b610f7057610f70613537565b6000610f7d83600061152a565b9050610f8881612325565b50506104746001606555565b600054610100900460ff1615808015610fb45750600054600160ff909116105b80610fce5750303b158015610fce575060005460ff166001145b6110315760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016103d7565b6000805460ff191660011790558015611054576000805461ff0019166101001790555b61105c61261d565b61106461261d565b61106c612646565b61107461261d565b61107c61261d565b60c980546001600160a01b0319166001600160a01b03841617905580156106b6576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6110e86114d1565b6111566110f684600161152a565b6040805160c0810182526001808252602082015260009181019190915260608101336001600160a01b031681526001600160801b0386166020820152604001611141600060016133d2565b6001600160801b0316905260008085816116d1565b50610ec56001606555565b6111696114d1565b600061117683600061152a565b60405163116c2cb760e31b815267ffffffffffffffff841660048201529091506000906001600160a01b03831690638b6165b89060240161016060405180830381865afa1580156111cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ef9190613274565b8051606001519091506001600160a01b031633146112435760405162461bcd60e51b815260206004820152601160248201527068617665206e6f20617574686f7269747960781b60448201526064016103d7565b604051633f098db360e21b815267ffffffffffffffff84166004820152600060248201526001600160a01b0383169063fc2636cc906044016020604051808303816000875af115801561129a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112be9190613181565b6112ca576112ca613537565b50506106b66001606555565b60c9546000906001600160a01b03166312d9a6ad82336040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa158015611336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135a9190613181565b6106b6576106b6613537565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561139957610ec583612675565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156113f3575060408051601f3d908101601f191682019092526113f091810190613454565b60015b6114565760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016103d7565b6000805160206136b183398151915281146114c55760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016103d7565b50610ec5838383612711565b6002606554036115235760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103d7565b6002606555565b600080611536846102a6565b909250905082156115785780156115785760405162461bcd60e51b81526020600482015260066024820152651c185d5cd95960d21b60448201526064016103d7565b5092915050565b6001606555565b60c954604051631a4999c960e01b815268444558436f6e66696760b81b60048201526000916001600160a01b031690631a4999c990602401602060405180830381865afa1580156115db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ff919061314f565b6001600160a01b03166341e276e96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561163c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116609190613454565b6040516229fc4d60e71b81526001600160a01b0384811660048301528516906314fe268090602401602060405180830381865afa1580156116a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c99190613454565b109392505050565b60006001600160801b03801686608001516001600160801b0316101561183157866001600160a01b031663c2930f916040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175391906134f0565b6001600160801b031686608001516001600160801b0316101580156117ef5750866001600160a01b031663c2930f916040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d591906134f0565b86608001516117e4919061354d565b6001600160801b0316155b6118315760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908185b5bdd5b9d081d5b9a5d606a1b60448201526064016103d7565b856020015161197957866001600160a01b0316637be5bdd16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611878573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189c91906134f0565b6001600160801b03168660a001516001600160801b0316101580156119385750866001600160a01b0316637be5bdd16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191e91906134f0565b8660a0015161192d919061354d565b6001600160801b0316155b6119795760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1c9a58d9481d5b9a5d60721b60448201526064016103d7565b600080611984612736565b915091508015611a015787602001518061199e5750600286145b806119a95750600186145b611a015760405162461bcd60e51b8152602060048201526024808201527f62656e6566696361727920617661696c61626c65206f6e6c792074616b65206f604482015263393232b960e11b60648201526084016103d7565b3415611caa57875160ff16600114611a665760405162461bcd60e51b815260206004820152602260248201527f6d73672e76616c756520617661696c61626c65206f6e6c792073656c6c2d7369604482015261646560f01b60648201526084016103d7565b3488608001516001600160801b031614611ac25760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e7420616e64206d73672e76616c7565206d69736d6174636800000060448201526064016103d7565b60c954604051631a4999c960e01b8152630ae8aa8960e31b60048201526000916001600160a01b031690631a4999c990602401602060405180830381865afa158015611b12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b36919061314f565b9050806001600160a01b03168a6001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba4919061314f565b6001600160a01b031614611bea5760405162461bcd60e51b815260206004820152600d60248201526c0c4c2e6ca40dcdee840eecae8d609b1b60448201526064016103d7565b6001600160a01b03811663023276f034336040516001600160e01b031960e085901b1681526001600160a01b03909116600482015260240160206040518083038185885af1158015611c40573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c659190613181565b611ca85760405162461bcd60e51b81526020600482015260146024820152733330b4b632b2103a37903bb930b81032ba3432b960611b60448201526064016103d7565b505b6000611cb6838b6109d8565b805163ffffffff1660408b81019190915260c9549051631a4999c960e01b815268444558436f6e66696760b81b60048201529192506000916001600160a01b0390911690631a4999c990602401602060405180830381865afa158015611d20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d44919061314f565b8a5190915060ff16611f2e57806001600160a01b03166327c647f88c6001600160a01b031663999b93af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc1919061314f565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611e05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e299190613454565b896001600160801b03161015611e775760405162461bcd60e51b8152602060048201526013602482015272756e646572206d696e696d756d2076616c756560681b60448201526064016103d7565b6000611e9b8b602001518a8c6001600160801b0316866000015187602001516128e8565b9050611f28338d611eb5846001600160801b038f16613573565b8f6001600160a01b031663999b93af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f17919061314f565b6001600160a01b0316929190612944565b506120ab565b806001600160a01b03166327c647f88c6001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9f919061314f565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611fe3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120079190613454565b8a608001516001600160801b0316101561205a5760405162461bcd60e51b81526020600482015260146024820152731d5b99195c881b5a5b9a5b5d5b48185b5bdd5b9d60621b60448201526064016103d7565b6120ab338c8c608001516001600160801b03168e6001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ef3573d6000803e3d6000fd5b866000036120b95760001996505b6020808301516040805163168e591760e31b81528d5160ff166004820152928d0151151560248401528c015163ffffffff908116604484015260608d01516001600160a01b03908116606485015260808e01516001600160801b03908116608486015260a08f0151811660a48601528d1660c4850152911660e483015285811661010483015261012482018a905261014482018990526101648201889052600091908d169063b472c8b8906101840160408051808303816000875af1158015612186573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121aa919061358b565b96509050806121fb5760405162461bcd60e51b815260206004820152601d60248201527f6661696c656420746f20706c616365206f7264657220746f207061697200000060448201526064016103d7565b50505050509695505050505050565b60008080600019858709858702925082811083820303915050806000036122445783828161223a5761223a61350d565b0492505050610ad8565b80841161225057600080fd5b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b60006001600160801b038211156123215760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016103d7565b5090565b60c954604051631a4999c960e01b815268444558436f6e66696760b81b60048201526000916001600160a01b031690631a4999c990602401602060405180830381865afa15801561237a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239e919061314f565b6001600160a01b031663e2fdcc176040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123ff919061314f565b90506001600160a01b0381166124575760405162461bcd60e51b815260206004820152601960248201527f726563697069656e74206973207a65726f20616464726573730000000000000060448201526064016103d7565b60006040518060400160405280846001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c6919061314f565b6001600160a01b03166001600160a01b03168152602001846001600160a01b031663999b93af6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561251b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061253f919061314f565b6001600160a01b03169052905060005b600281101561261757600082826002811061256c5761256c613234565b60200201516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156125b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125da9190613454565b9050801561260e5761260e84828585600281106125f9576125f9613234565b60200201516001600160a01b031691906129af565b5060010161254f565b50505050565b600054610100900460ff166126445760405162461bcd60e51b81526004016103d7906135b7565b565b600054610100900460ff1661266d5760405162461bcd60e51b81526004016103d7906135b7565b6126446129df565b6001600160a01b0381163b6126e25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016103d7565b6000805160206136b183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61271a83612a06565b6000825111806127275750805b15610ec5576126178383612a46565b3360003282146128e45760c954604051631a4999c960e01b815268444558436f6e66696760b81b60048201526001600160a01b0390911690631a4999c990602401602060405180830381865afa158015612794573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127b8919061314f565b604051635464db7b60e01b81526001600160a01b0384811660048301529190911690635464db7b90602401602060405180830381865afa158015612800573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128249190613181565b61283057612830613537565b816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561286e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612892919061314f565b91506001600160a01b0382166128e05760405162461bcd60e51b8152602060048201526013602482015272776f726b65722773206f776e6572207a65726f60681b60448201526064016103d7565b5060015b9091565b60008086806128f657508515155b15612908575063ffffffff831661292c565b8363ffffffff168363ffffffff16116129215783612923565b825b63ffffffff1690505b620f424061293a8287613602565b61084e9190613621565b6040516001600160a01b03808516602483015283166044820152606481018290526126179085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612b3a565b6040516001600160a01b038316602482015260448101829052610ec590849063a9059cbb60e01b90606401612978565b600054610100900460ff1661157f5760405162461bcd60e51b81526004016103d7906135b7565b612a0f81612675565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b612aae5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016103d7565b600080846001600160a01b031684604051612ac99190613661565b600060405180830381855af49150503d8060008114612b04576040519150601f19603f3d011682016040523d82523d6000602084013e612b09565b606091505b5091509150612b3182826040518060600160405280602781526020016136d160279139612c0c565b95945050505050565b6000612b8f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612c259092919063ffffffff16565b805190915015610ec55780806020019051810190612bad9190613181565b610ec55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016103d7565b60608315612c1b575081610ad8565b610ad88383612c3c565b6060612c348484600085612c66565b949350505050565b815115612c4c5781518083602001fd5b8060405162461bcd60e51b81526004016103d7919061367d565b606082471015612cc75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016103d7565b600080866001600160a01b03168587604051612ce39190613661565b60006040518083038185875af1925050503d8060008114612d20576040519150601f19603f3d011682016040523d82523d6000602084013e612d25565b606091505b509150915061084e8783838760608315612da0578251600003612d99576001600160a01b0385163b612d995760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103d7565b5081612c34565b612c348383612c3c565b6001600160a01b038116811461047457600080fd5b600060208284031215612dd157600080fd5b8135610ad881612daa565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612e1557612e15612ddc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612e4457612e44612ddc565b604052919050565b67ffffffffffffffff8116811461047457600080fd5b60008060408385031215612e7557600080fd5b8235612e8081612daa565b915060208381013567ffffffffffffffff80821115612e9e57600080fd5b818601915086601f830112612eb257600080fd5b813581811115612ec457612ec4612ddc565b8060051b9150612ed5848301612e1b565b8181529183018401918481019089841115612eef57600080fd5b938501935b83851015612f195784359250612f0983612e4c565b8282529385019390850190612ef4565b8096505050505050509250929050565b6001600160801b038116811461047457600080fd5b600080600080600080600060c0888a031215612f5957600080fd5b8735612f6481612daa565b96506020880135612f7481612f29565b95506040880135612f8481612f29565b9450606088013593506080880135925060a088013567ffffffffffffffff80821115612faf57600080fd5b818a0191508a601f830112612fc357600080fd5b813581811115612fd257600080fd5b8b60208260051b8501011115612fe757600080fd5b60208301945080935050505092959891949750929550565b6000806040838503121561301257600080fd5b823561301d81612daa565b915060208381013567ffffffffffffffff8082111561303b57600080fd5b818601915086601f83011261304f57600080fd5b81358181111561306157613061612ddc565b613073601f8201601f19168501612e1b565b9150808252878482850101111561308957600080fd5b80848401858401376000848284010152508093505050509250929050565b600080604083850312156130ba57600080fd5b82356130c581612daa565b915060208301356130d581612daa565b809150509250929050565b6000806000606084860312156130f557600080fd5b833561310081612daa565b9250602084013561311081612f29565b929592945050506040919091013590565b6000806040838503121561313457600080fd5b823561313f81612daa565b915060208301356130d581612e4c565b60006020828403121561316157600080fd5b8151610ad881612daa565b8051801515811461317c57600080fd5b919050565b60006020828403121561319357600080fd5b610ad88261316c565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b805163ffffffff8116811461317c57600080fd5b805161317c81612f29565b805161317c81612e4c565b600081830361016081121561328857600080fd5b613290612df2565b60c082121561329e57600080fd5b6132a6612df2565b9150835160ff811681146132b957600080fd5b82526132c76020850161316c565b60208301526132d86040850161324a565b604083015260608401516132eb81612daa565b606083015260808401516132fe81612f29565b608083015261330f60a0850161325e565b60a083015281815261332360c08501613269565b602082015261333460e08501613269565b60408201526133466101008501613269565b60608201526133586101208501613269565b608082015261336a610140850161325e565b60a0820152949350505050565b60208082526025908201527f657863656564656420746865206d6178696d756d206e756d626572206f66206f604082015264726465727360d81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60006001600160801b038083168185168083038211156133f4576133f46133bc565b01949350505050565b60ff851681526001600160801b0384166020820152606060408201819052810182905260006001600160fb1b0383111561343657600080fd5b8260051b808560808501376000920160800191825250949350505050565b60006020828403121561346657600080fd5b5051919050565b60006040828403121561347f57600080fd5b6040516040810181811067ffffffffffffffff821117156134a2576134a2612ddc565b6040526134ae8361324a565b81526134bc6020840161324a565b60208201529392505050565b60006001600160801b03838116908316818110156134e8576134e86133bc565b039392505050565b60006020828403121561350257600080fd5b8151610ad881612f29565b634e487b7160e01b600052601260045260246000fd5b6000826135325761353261350d565b500690565b634e487b7160e01b600052600160045260246000fd5b60006001600160801b03808416806135675761356761350d565b92169190910692915050565b60008219821115613586576135866133bc565b500190565b6000806040838503121561359e57600080fd5b6135a78361316c565b915060208301516130d581612e4c565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600081600019048311821515161561361c5761361c6133bc565b500290565b6000826136305761363061350d565b500490565b60005b83811015613650578181015183820152602001613638565b838111156126175750506000910152565b60008251613673818460208701613635565b9190910192915050565b602081526000825180602084015261369c816040850160208701613635565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208bbb1a4941d2c9757c80f24c5f4cfa04263e4d827879178a2b2f0ffe6dbe4f4864736f6c634300080e0033