60806040523480156200001157600080fd5b506200001c62000022565b620000e3565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61316380620000f36000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c806379ba509711610146578063a08d5654116100c3578063ced67f0c11610087578063ced67f0c14610586578063d505accf14610618578063dd62ed3e1461062b578063e30c39781461063e578063f1127ed814610646578063f2fde38b1461068357600080fd5b8063a08d56541461050e578063a457c2d714610521578063a9059cbb14610534578063c1eb713714610547578063c3cda5201461057357600080fd5b806391ddadf41161010a57806391ddadf4146104b757806395d89b41146104cd578063998955d3146104d55780639ab24eb0146104e85780639dc29fac146104fb57600080fd5b806379ba5097146104665780637ecebe001461046e57806384b0196e146104815780638da5cb5b1461049c5780638e539e8c146104a457600080fd5b806340c10f19116101d4578063651fd26811610198578063651fd268146103e757806366cc5702146103fa5780636fcfff451461040d57806370a0823114610435578063715018a61461045e57600080fd5b806340c10f1914610340578063435350b7146103535780634bf5d7e914610366578063587cde1e146103905780635c19a95c146103d457600080fd5b8063313ce5671161021b578063313ce567146102ee57806334de9b8d146102fd5780633644e51514610312578063395093511461031a5780633a46b1a81461032d57600080fd5b806306fdde0314610258578063095ea7b3146102765780630c05f82c1461029957806318160ddd146102d357806323b872dd146102db575b600080fd5b610260610696565b60405161026d9190612956565b60405180910390f35b610289610284366004612985565b610728565b604051901515815260200161026d565b6102c56102a73660046129af565b6001600160a01b0316600090815260ff602052604090206002015490565b60405190815260200161026d565b6035546102c5565b6102896102e93660046129ca565b610742565b6040516012815260200161026d565b61031061030b366004612b4c565b610768565b005b6102c561091c565b610289610328366004612985565b61092b565b6102c561033b366004612985565b61094d565b61031061034e366004612985565b6109c4565b6103106103613660046129af565b6109f4565b60408051808201909152600e81526d06d6f64653d74696d657374616d760941b6020820152610260565b6103bc61039e3660046129af565b6001600160a01b03908116600090815260cc60205260409020541690565b6040516001600160a01b03909116815260200161026d565b6103106103e23660046129af565b610a50565b6102c56103f53660046129af565b610a5d565b60fe546103bc906001600160a01b031681565b61042061041b3660046129af565b610a91565b60405163ffffffff909116815260200161026d565b6102c56104433660046129af565b6001600160a01b031660009081526033602052604090205490565b610310610ab3565b610310610ac7565b6102c561047c3660046129af565b610b0c565b610489610b17565b60405161026d9796959493929190612c64565b6103bc610bb5565b6102c56104b2366004612cfa565b610bea565b60405165ffffffffffff4216815260200161026d565b610260610c4a565b6102c56104e33660046129af565b610c59565b6102c56104f63660046129af565b610c90565b610310610509366004612985565b610d12565b61031061051c366004612d13565b610d59565b61028961052f366004612985565b610dbe565b610289610542366004612985565b610e44565b6102c56105553660046129af565b6001600160a01b0316600090815260ff602052604090206006015490565b610310610581366004612d57565b610e52565b61060a6105943660046129af565b60ff602090815260009182526040918290208251608080820185528254825260018301548285015260028301548286015260038301546060808401919091528551918201865260048401548252600584015494820194909452600683015494810194909452600790910154918301919091529082565b60405161026d929190612daf565b610310610626366004612dfb565b610f88565b6102c5610639366004612e65565b6110ec565b6103bc611117565b610659610654366004612e98565b611140565b60408051825163ffffffff1681526020928301516001600160e01b0316928101929092520161026d565b6103106106913660046129af565b6111c4565b6060603680546106a590612ed8565b80601f01602080910402602001604051908101604052809291908181526020018280546106d190612ed8565b801561071e5780601f106106f35761010080835404028352916020019161071e565b820191906000526020600020905b81548152906001019060200180831161070157829003601f168201915b5050505050905090565b600033610736818585611249565b60019150505b92915050565b60003361075085828561136d565b61075b8585856113e7565b60019150505b9392505050565b600054610100900460ff16158080156107885750600054600160ff909116105b806107a25750303b1580156107a2575060005460ff166001145b61080a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561082d576000805461ff0019166101001790555b6108378686611598565b610840866115c9565b610848611613565b6108518261163a565b825184511461087357604051630d89ebf960e01b815260040160405180910390fd5b60005b84518110156108cd576108bb85828151811061089457610894612f0c565b60200260200101518583815181106108ae576108ae612f0c565b602002602001015161166a565b806108c581612f38565b915050610876565b508015610914576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6000610926611674565b905090565b60003361073681858561093e83836110ec565b6109489190612f51565b611249565b60004265ffffffffffff1682106109a25760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b6044820152606401610801565b6001600160a01b038316600090815260cd60205260409020610761908361167e565b6109cc610bb5565b6001600160a01b031633036109e9576109e5828261166a565b5050565b6109e5338383611767565b6109fc6117c5565b60fe80546001600160a01b0319166001600160a01b0383169081179091556040519081527ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a399060200160405180910390a150565b610a5a33826117f7565b50565b6001600160a01b038116600090815260ff6020526040812060038101546002820154825460019093015461073c9390611871565b6001600160a01b038116600090815260cd602052604081205461073c906118e9565b610abb6117c5565b610ac56000611952565b565b3380610ad1611117565b6001600160a01b031614610b035760405163118cdaa760e01b81526001600160a01b0382166004820152602401610801565b610a5a81611952565b600061073c8261198a565b6000606080600080600060606065546000801b148015610b375750606654155b610b7b5760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606401610801565b610b836119a8565b610b8b6119b7565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005b546001600160a01b031692915050565b60004265ffffffffffff168210610c3f5760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b6044820152606401610801565b61073c60ce8361167e565b6060603780546106a590612ed8565b6001600160a01b038116600090815260ff6020526040812060078101546006820154600483015460059093015461073c9390611871565b6001600160a01b038116600090815260cd60205260408120548015610cff576001600160a01b038316600090815260cd6020526040902080546000198301908110610cdd57610cdd612f0c565b60009182526020909120015464010000000090046001600160e01b0316610d02565b60005b6001600160e01b03169392505050565b610d1a610bb5565b6001600160a01b03163303610d33576109e582826119c6565b336001600160a01b03831614610d4e57610d4e82338361136d565b6109e53383836119d0565b610d616117c5565b610d6b8383611a29565b610d758382611acd565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944910160405180910390a2505050565b60003381610dcc82866110ec565b905083811015610e2c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610801565b610e398286868403611249565b506001949350505050565b6000336107368185856113e7565b83421115610ea25760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e617475726520657870697265640000006044820152606401610801565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610f1c90610f149060a00160405160208183030381529060405280519060200120611b77565b858585611ba4565b9050610f2781611bcc565b8614610f755760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e6365000000000000006044820152606401610801565b610f7f81886117f7565b50505050505050565b83421115610fd85760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610801565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886110078c611bcc565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061106282611b77565b9050600061107282878787611ba4565b9050896001600160a01b0316816001600160a01b0316146110d55760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610801565b6110e08a8a8a611249565b50505050505050505050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6000807f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00610bda565b60408051808201909152600080825260208201526001600160a01b038316600090815260cd60205260409020805463ffffffff841690811061118457611184612f0c565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b6111cc6117c5565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319166001600160a01b0383169081178255611210610bb5565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a35050565b6001600160a01b0383166112ab5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610801565b6001600160a01b03821661130c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610801565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061137984846110ec565b905060001981146113e157818110156113d45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610801565b6113e18484848403611249565b50505050565b6001600160a01b03831661144b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610801565b6001600160a01b0382166114ad5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610801565b6001600160a01b038316600090815260336020526040902054818110156115255760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610801565b6001600160a01b0380851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115859086815260200190565b60405180910390a36113e1848484611bf4565b600054610100900460ff166115bf5760405162461bcd60e51b815260040161080190612f64565b6109e58282611bff565b600054610100900460ff166115f05760405162461bcd60e51b815260040161080190612f64565b610a5a81604051806040016040528060018152602001603160f81b815250611c3f565b600054610100900460ff16610ac55760405162461bcd60e51b815260040161080190612f64565b600054610100900460ff166116615760405162461bcd60e51b815260040161080190612f64565b610a5a81611c8e565b6109e58282611cdf565b6000610926611d69565b8154600090818160058111156116d857600061169984611ddd565b6116a39085612faf565b600088815260209020909150869082015463ffffffff1611156116c8578091506116d6565b6116d3816001612f51565b92505b505b808210156117255760006116ec8383611ec5565b600088815260209020909150869082015463ffffffff1611156117115780915061171f565b61171c816001612f51565b92505b506116d8565b8015611751576000868152602090208101600019015464010000000090046001600160e01b0316611754565b60005b6001600160e01b03169695505050505050565b60fe546001600160a01b038481169116146117b657600061178784610a5d565b9050818110156117aa576040516305b4215560e11b815260040160405180910390fd5b6117b48483611ee0565b505b6117c0828261166a565b505050565b336117ce610bb5565b6001600160a01b031614610ac55760405163118cdaa760e01b8152336004820152602401610801565b6001600160a01b03828116600081815260cc6020818152604080842080546033845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46113e1828483611f36565b838381146118e157426118876201518085612f51565b116118935750826118e1565b426118a16201518085612f51565b11156118e15760006118b38442612faf565b905060006118c18483612fc2565b6118cb9084612f51565b90508581116118da57806118dc565b855b925050505b949350505050565b600063ffffffff82111561194e5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610801565b5090565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b03191681556109e582612073565b6001600160a01b03811660009081526099602052604081205461073c565b6060606780546106a590612ed8565b6060606880546106a590612ed8565b6109e582826120e4565b60fe546001600160a01b03848116911614611a1f5760006119f084610c59565b905081811015611a13576040516305b4215560e11b815260040160405180910390fd5b611a1d84836120fc565b505b6117c082826119c6565b6001600160a01b038216600090815260ff602052604081206002015490611a4f84610a5d565b6001600160a01b038516600090815260ff602052604090206002018490559050611a7a838383612156565b6001600160a01b038516600090815260ff6020526040902060030155611aa36201518084612fef565b6001600160a01b03909416600090815260ff60205260409020600181019490945550504290915550565b6001600160a01b038216600090815260ff602052604081206006015490611af384610c59565b6001600160a01b038516600090815260ff602052604090206006018490559050611b1e838383612156565b6001600160a01b038516600090815260ff6020526040902060070155611b476201518084612fef565b6001600160a01b03909416600090815260ff60205260409020600581019490945550504260049092019190915550565b600061073c611b84611674565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000611bb5878787876121ad565b91509150611bc281612271565b5095945050505050565b6001600160a01b03811660009081526099602052604090208054600181018255905b50919050565b6117c08383836123bb565b600054610100900460ff16611c265760405162461bcd60e51b815260040161080190612f64565b6036611c328382613057565b5060376117c08282613057565b600054610100900460ff16611c665760405162461bcd60e51b815260040161080190612f64565b6067611c728382613057565b506068611c7f8282613057565b50506000606581905560665550565b600054610100900460ff16611cb55760405162461bcd60e51b815260040161080190612f64565b6001600160a01b038116610b0357604051631e4fbdf760e01b815260006004820152602401610801565b611ce982826123ed565b6035546001600160e01b031015611d5b5760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b6064820152608401610801565b6113e160ce6124b6836124c2565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611d9461262c565b611d9c612685565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600081600003611def57506000919050565b60006001611dfc846126b6565b901c6001901b90506001818481611e1557611e15612fd9565b048201901c90506001818481611e2d57611e2d612fd9565b048201901c90506001818481611e4557611e45612fd9565b048201901c90506001818481611e5d57611e5d612fd9565b048201901c90506001818481611e7557611e75612fd9565b048201901c90506001818481611e8d57611e8d612fd9565b048201901c90506001818481611ea557611ea5612fd9565b048201901c905061076181828581611ebf57611ebf612fd9565b0461274a565b6000611ed46002848418612fef565b61076190848416612f51565b6000611eeb83610a5d565b6001600160a01b038416600090815260ff602052604090204290559050611f128282612faf565b6001600160a01b03909316600090815260ff60205260409020600301929092555050565b816001600160a01b0316836001600160a01b031614158015611f585750600081115b156117c0576001600160a01b03831615611fe6576001600160a01b038316600090815260cd602052604081208190611f9390612760856124c2565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611fdb929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156117c0576001600160a01b038216600090815260cd60205260408120819061201c906124b6856124c2565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612064929190918252602082015260400190565b60405180910390a25050505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6120ee828261276c565b6113e160ce612760836124c2565b600061210783610c59565b6001600160a01b038416600090815260ff602052604090204260049091015590506121328282612faf565b6001600160a01b03909316600090815260ff60205260409020600701929092555050565b6000808484111561218c5761216b8585612faf565b905080831161217b576000612185565b6121858184612faf565b91506121a5565b6121968486612faf565b90506121a28184612f51565b91505b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156121e45750600090506003612268565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661226157600060019250925050612268565b9150600090505b94509492505050565b600081600481111561228557612285613117565b0361228d5750565b60018160048111156122a1576122a1613117565b036122ee5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610801565b600281600481111561230257612302613117565b0361234f5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610801565b600381600481111561236357612363613117565b03610a5a5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610801565b6001600160a01b03838116600090815260cc60205260408082205485841683529120546117c092918216911683611f36565b6001600160a01b0382166124435760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610801565b80603560008282546124559190612f51565b90915550506001600160a01b0382166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36109e560008383611bf4565b60006107618284612f51565b8254600090819081811561250f5760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152612524565b60408051808201909152600080825260208201525b905080602001516001600160e01b0316935061254484868863ffffffff16565b92506000821180156125645750805163ffffffff1665ffffffffffff4216145b156125a957612572836128a7565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff909216919091179055612622565b8660405180604001604052806125cc6125bf4290565b65ffffffffffff166118e9565b63ffffffff1681526020016125e0866128a7565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b6000806126376119a8565b80519091501561264e578051602090910120919050565b606554801561265d5792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b6000806126906119b7565b8051909150156126a7578051602090910120919050565b606654801561265d5792915050565b600080608083901c156126cb57608092831c92015b604083901c156126dd57604092831c92015b602083901c156126ef57602092831c92015b601083901c1561270157601092831c92015b600883901c1561271357600892831c92015b600483901c1561272557600492831c92015b600283901c1561273757600292831c92015b600183901c1561073c5760010192915050565b60008183106127595781610761565b5090919050565b60006107618284612faf565b6001600160a01b0382166127cc5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610801565b6001600160a01b038216600090815260336020526040902054818110156128405760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610801565b6001600160a01b03831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36117c083600084611bf4565b60006001600160e01b0382111561194e5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610801565b6000815180845260005b818110156129365760208185018101518683018201520161291a565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006107616020830184612910565b80356001600160a01b038116811461298057600080fd5b919050565b6000806040838503121561299857600080fd5b6129a183612969565b946020939093013593505050565b6000602082840312156129c157600080fd5b61076182612969565b6000806000606084860312156129df57600080fd5b6129e884612969565b92506129f660208501612969565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612a4557612a45612a06565b604052919050565b600082601f830112612a5e57600080fd5b813567ffffffffffffffff811115612a7857612a78612a06565b612a8b601f8201601f1916602001612a1c565b818152846020838601011115612aa057600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff821115612ad757612ad7612a06565b5060051b60200190565b600082601f830112612af257600080fd5b81356020612b07612b0283612abd565b612a1c565b82815260059290921b84018101918181019086841115612b2657600080fd5b8286015b84811015612b415780358352918301918301612b2a565b509695505050505050565b600080600080600060a08688031215612b6457600080fd5b853567ffffffffffffffff80821115612b7c57600080fd5b612b8889838a01612a4d565b9650602091508188013581811115612b9f57600080fd5b612bab8a828b01612a4d565b965050604088013581811115612bc057600080fd5b8801601f81018a13612bd157600080fd5b8035612bdf612b0282612abd565b81815260059190911b8201840190848101908c831115612bfe57600080fd5b928501925b82841015612c2357612c1484612969565b82529285019290850190612c03565b97505050506060880135915080821115612c3c57600080fd5b50612c4988828901612ae1565b925050612c5860808701612969565b90509295509295909350565b60ff60f81b881681526000602060e081840152612c8460e084018a612910565b8381036040850152612c96818a612910565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015612ce857835183529284019291840191600101612ccc565b50909c9b505050505050505050505050565b600060208284031215612d0c57600080fd5b5035919050565b600080600060608486031215612d2857600080fd5b612d3184612969565b95602085013595506040909401359392505050565b803560ff8116811461298057600080fd5b60008060008060008060c08789031215612d7057600080fd5b612d7987612969565b95506020870135945060408701359350612d9560608801612d46565b92506080870135915060a087013590509295509295509295565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e08201526101008101610761565b600080600080600080600060e0888a031215612e1657600080fd5b612e1f88612969565b9650612e2d60208901612969565b95506040880135945060608801359350612e4960808901612d46565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215612e7857600080fd5b612e8183612969565b9150612e8f60208401612969565b90509250929050565b60008060408385031215612eab57600080fd5b612eb483612969565b9150602083013563ffffffff81168114612ecd57600080fd5b809150509250929050565b600181811c90821680612eec57607f821691505b602082108103611bee57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612f4a57612f4a612f22565b5060010190565b8082018082111561073c5761073c612f22565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b8181038181111561073c5761073c612f22565b808202811582820484141761073c5761073c612f22565b634e487b7160e01b600052601260045260246000fd5b60008261300c57634e487b7160e01b600052601260045260246000fd5b500490565b601f8211156117c057600081815260208120601f850160051c810160208610156130385750805b601f850160051c820191505b8181101561091457828155600101613044565b815167ffffffffffffffff81111561307157613071612a06565b6130858161307f8454612ed8565b84613011565b602080601f8311600181146130ba57600084156130a25750858301515b600019600386901b1c1916600185901b178555610914565b600085815260208120601f198616915b828110156130e9578886015182559484019460019091019084016130ca565b50858210156131075787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fdfea2646970667358221220a1ce34d2142469529db829419baf2fc005140dbccef7bd1f783bf3f1100044c164736f6c63430008130033