610120604052600d80546001600160b01b0319166001176001600160b01b0316600160b01b1790553480156200003457600080fd5b50604051620062f5380380620062f58339810160408190526200005791620002db565b82826040518060400160405280601b81526020017f556e697377617020563320506f736974696f6e73204e46542d563100000000008152506040518060400160405280600a815260200169554e492d56332d504f5360b01b815250604051806040016040528060018152602001603160f81b8152508282620000e66301ffc9a760e01b6200018d60201b60201c565b8151620000fb90600690602085019062000212565b5080516200011190600790602084019062000212565b50620001246380ac58cd60e01b6200018d565b62000136635b5e139f60e01b6200018d565b6200014863780e9d6360e01b6200018d565b50508251602093840120608052805192019190912060a052506001600160601b0319606092831b811660c05290821b811660e05291901b166101005250620003249050565b6001600160e01b03198082161415620001ed576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826200024a576000855562000295565b82601f106200026557805160ff191683800117855562000295565b8280016001018555821562000295579182015b828111156200029557825182559160200191906001019062000278565b50620002a3929150620002a7565b5090565b5b80821115620002a35760008155600101620002a8565b80516001600160a01b0381168114620002d657600080fd5b919050565b600080600060608486031215620002f0578283fd5b620002fb84620002be565b92506200030b60208501620002be565b91506200031b60408501620002be565b90509250925092565b60805160a05160c05160601c60e05160601c6101005160601c615f4c620003a960003980612a86525080610299528061171a528061181052806118985280613e615280613ea75280613f1b525080610aa75280610ddf5280610ea65280612a205280612b265280612e4752806136e55250806115015250806114e05250615f4c6000f3fe6080604052600436106102895760003560e01c80636352211e11610153578063ac9650d8116100cb578063d34879971161007f578063e985e9c511610064578063e985e9c5146106f5578063f3995c6714610715578063fc6f7865146107285761030d565b8063d3487997146106c2578063df2ab5bb146106e25761030d565b8063c2e3140a116100b0578063c2e3140a1461067a578063c45a01551461068d578063c87b56dd146106a25761030d565b8063ac9650d81461063a578063b88d4fde1461065a5761030d565b8063883164561161012257806399fbab881161010757806399fbab88146105cf578063a22cb46514610607578063a4a78f0c146106275761030d565b8063883164561461059757806395d89b41146105ba5761030d565b80636352211e1461052f5780636c0360eb1461054f57806370a08231146105645780637ac2ff7b146105845761030d565b806323b872dd1161020157806342966c68116101b557806349404b7c1161019a57806349404b7c146104e75780634aa4a4fc146104fa5780634f6ccce71461050f5761030d565b806342966c68146104c15780634659a494146104d45761030d565b806330adf81f116101e657806330adf81f146104775780633644e5151461048c57806342842e0e146104a15761030d565b806323b872dd146104375780632f745c59146104575761030d565b80630c49ccbe1161025857806313ead5621161023d57806313ead562146103e057806318160ddd146103f3578063219f5d17146104155761030d565b80630c49ccbe146103b757806312210e8a146103d85761030d565b806301ffc9a71461031257806306fdde0314610348578063081812fc1461036a578063095ea7b3146103975761030d565b3661030d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461030b576040805162461bcd60e51b815260206004820152600960248201527f4e6f742057455448390000000000000000000000000000000000000000000000604482015290519081900360640190fd5b005b600080fd5b34801561031e57600080fd5b5061033261032d3660046153aa565b61073b565b60405161033f919061592a565b60405180910390f35b34801561035457600080fd5b5061035d610776565b60405161033f919061597d565b34801561037657600080fd5b5061038a6103853660046156c4565b61080c565b60405161033f91906157ee565b3480156103a357600080fd5b5061030b6103b2366004615274565b610868565b6103ca6103c5366004615487565b61093e565b60405161033f929190615b4e565b61030b610dab565b61038a6103ee366004615107565b610dbd565b3480156103ff57600080fd5b506104086110ca565b60405161033f9190615935565b610428610423366004615498565b6110db565b60405161033f93929190615b09565b34801561044357600080fd5b5061030b610452366004615160565b611415565b34801561046357600080fd5b50610408610472366004615274565b61146c565b34801561048357600080fd5b50610408611497565b34801561049857600080fd5b506104086114bb565b3480156104ad57600080fd5b5061030b6104bc366004615160565b611579565b61030b6104cf3660046156c4565b611594565b61030b6104e23660046152e0565b611663565b61030b6104f53660046156dc565b611716565b34801561050657600080fd5b5061038a611896565b34801561051b57600080fd5b5061040861052a3660046156c4565b6118ba565b34801561053b57600080fd5b5061038a61054a3660046156c4565b6118d0565b34801561055b57600080fd5b5061035d6118f8565b34801561057057600080fd5b5061040861057f3660046150b3565b6118fd565b61030b6105923660046152e0565b611965565b6105aa6105a5366004615554565b611e11565b60405161033f9493929190615b2a565b3480156105c657600080fd5b5061035d612373565b3480156105db57600080fd5b506105ef6105ea3660046156c4565b6123d4565b60405161033f9c9b9a99989796959493929190615b5c565b34801561061357600080fd5b5061030b610622366004615247565b612603565b61030b6106353660046152e0565b612726565b61064d61064836600461533b565b6127d8565b60405161033f91906158ac565b34801561066657600080fd5b5061030b6106753660046151a0565b612918565b61030b6106883660046152e0565b612976565b34801561069957600080fd5b5061038a612a1e565b3480156106ae57600080fd5b5061035d6106bd3660046156c4565b612a42565b3480156106ce57600080fd5b5061030b6106dd366004615723565b612b11565b61030b6106f036600461529f565b612b8f565b34801561070157600080fd5b506103326107103660046150cf565b612c72565b61030b6107233660046152e0565b612ca0565b6103ca610736366004615470565b612d2b565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526020819052604090205460ff165b919050565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108025780601f106107d757610100808354040283529160200191610802565b820191906000526020600020905b8154815290600101906020018083116107e557829003601f168201915b5050505050905090565b60006108178261324a565b61083c5760405162461bcd60e51b8152600401610833906159c7565b60405180910390fd5b506000908152600c60205260409020546c0100000000000000000000000090046001600160a01b031690565b6000610873826118d0565b9050806001600160a01b0316836001600160a01b031614156108c65760405162461bcd60e51b8152600401808060200182810382526021815260200180615eee6021913960400191505060405180910390fd5b806001600160a01b03166108d8613257565b6001600160a01b031614806108f457506108f481610710613257565b61092f5760405162461bcd60e51b8152600401808060200182810382526038815260200180615e186038913960400191505060405180910390fd5b610939838361325b565b505050565b600080823561094d33826132df565b6109695760405162461bcd60e51b815260040161083390615990565b83608001358061097761337b565b11156109ca576040805162461bcd60e51b815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b60006109dc6040870160208801615566565b6001600160801b0316116109ef57600080fd5b84356000908152600c602090815260409182902060018101549092600160801b9091046001600160801b031691610a2a918901908901615566565b6001600160801b0316816001600160801b03161015610a4857600080fd5b60018281015469ffffffffffffffffffff166000908152600b60209081526040808320815160608101835281546001600160a01b039081168252919095015490811692850192909252600160a01b90910462ffffff1690830152610acc7f00000000000000000000000000000000000000000000000000000000000000008361337f565b60018501549091506001600160a01b0382169063a34123a7906a01000000000000000000008104600290810b91600160681b9004900b610b1260408e0160208f01615566565b6040518463ffffffff1660e01b8152600401610b3093929190615957565b6040805180830381600087803b158015610b4957600080fd5b505af1158015610b5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b819190615700565b909850965060408901358810801590610b9e575088606001358710155b610bba5760405162461bcd60e51b815260040161083390615a24565b6001840154600090610bea9030906a01000000000000000000008104600290810b91600160681b9004900b61347b565b9050600080836001600160a01b031663514ea4bf846040518263ffffffff1660e01b8152600401610c1b9190615935565b60c06040518083038186803b158015610c3357600080fd5b505afa158015610c47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6b91906155b0565b5050509250925050610c9187600201548303876001600160801b0316600160801b6134d5565b6004880180546fffffffffffffffffffffffffffffffff198116928e016001600160801b039182160181169290921790556003880154610cdb91908303908816600160801b6134d5565b6004880180546001600160801b03808216938e01600160801b9283900482160116029190911790556002870182905560038701819055610d2160408d0160208e01615566565b86038760010160106101000a8154816001600160801b0302191690836001600160801b031602179055508b600001357f26f6a048ee9138f2c0ce266f322cb99228e8d619ae2bff30c67f8dcf9d2377b48d6020016020810190610d849190615566565b8d8d604051610d9593929190615b09565b60405180910390a2505050505050505050915091565b4715610dbb57610dbb3347613584565b565b6000836001600160a01b0316856001600160a01b031610610ddd57600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631698ee828686866040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018262ffffff168152602001935050505060206040518083038186803b158015610e6857600080fd5b505afa158015610e7c573d6000803e3d6000fd5b505050506040513d6020811015610e9257600080fd5b505190506001600160a01b038116610fe1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a16712958686866040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018262ffffff1681526020019350505050602060405180830381600087803b158015610f3157600080fd5b505af1158015610f45573d6000803e3d6000fd5b505050506040513d6020811015610f5b57600080fd5b5051604080517ff637731d0000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015291519293509083169163f637731d9160248082019260009290919082900301818387803b158015610fc457600080fd5b505af1158015610fd8573d6000803e3d6000fd5b505050506110c2565b6000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561101c57600080fd5b505afa158015611030573d6000803e3d6000fd5b505050506040513d60e081101561104657600080fd5b505190506001600160a01b0381166110c057816001600160a01b031663f637731d846040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156110a757600080fd5b505af11580156110bb573d6000803e3d6000fd5b505050505b505b949350505050565b60006110d6600261368d565b905090565b60008060008360a00135806110ee61337b565b1115611141576040805162461bcd60e51b815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b84356000908152600c6020908152604080832060018082015469ffffffffffffffffffff81168652600b855283862084516060808201875282546001600160a01b039081168352929094015480831682890190815262ffffff600160a01b9092048216838901908152885161014081018a528451861681529151909416818a01529251168287015230828501526a01000000000000000000008304600290810b810b608080850191909152600160681b909404810b900b60a0830152958c013560c0820152938b013560e0850152908a0135610100840152890135610120830152929061122d90613698565b6001870154939a50919850965091506000906112679030906a01000000000000000000008104600290810b91600160681b9004900b61347b565b9050600080836001600160a01b031663514ea4bf846040518263ffffffff1660e01b81526004016112989190615935565b60c06040518083038186803b1580156112b057600080fd5b505afa1580156112c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e891906155b0565b5050509250925050611325866002015483038760010160109054906101000a90046001600160801b03166001600160801b0316600160801b6134d5565b6004870180546001600160801b0380821690930183166fffffffffffffffffffffffffffffffff19909116179055600387015460018801546113759291840391600160801b9182900416906134d5565b6004870180546001600160801b03600160801b80830482169094018116840291811691909117909155600288018490556003880183905560018801805483810483168e018316909302929091169190911790556040518b35907f3067048beee31b25b2f1681f88dac838c8bba36af25bfb2b7cf7473a5847e35f906113ff908d908d908d90615b09565b60405180910390a2505050505050509193909250565b611426611420613257565b826132df565b6114615760405162461bcd60e51b8152600401808060200182810382526031815260200180615f0f6031913960400191505060405180910390fd5b6109398383836138d3565b6001600160a01b038216600090815260016020526040812061148e9083613a1f565b90505b92915050565b7f49ecf333e5b8c95c40fdafc95c1ad136e8914a8fb55e9dc8bb01eaa83a2df9ad81565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611528613a2b565b3060405160200180868152602001858152602001848152602001838152602001826001600160a01b031681526020019550505050505060405160208183030381529060405280519060200120905090565b61093983838360405180602001604052806000815250612918565b8061159f33826132df565b6115bb5760405162461bcd60e51b815260040161083390615990565b6000828152600c602052604090206001810154600160801b90046001600160801b03161580156115f6575060048101546001600160801b0316155b801561161457506004810154600160801b90046001600160801b0316155b6116305760405162461bcd60e51b815260040161083390615a92565b6000838152600c602052604081208181556001810182905560028101829055600381018290556004015561093983613a2f565b604080517f8fcbaf0c00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101879052606481018690526001608482015260ff851660a482015260c4810184905260e4810183905290516001600160a01b03881691638fcbaf0c9161010480830192600092919082900301818387803b1580156116f657600080fd5b505af115801561170a573d6000803e3d6000fd5b50505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561178557600080fd5b505afa158015611799573d6000803e3d6000fd5b505050506040513d60208110156117af57600080fd5b5051905082811015611808576040805162461bcd60e51b815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b8015610939577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561187457600080fd5b505af1158015611888573d6000803e3d6000fd5b505050506109398282613584565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806118c8600284613afc565b509392505050565b600061149182604051806060016040528060298152602001615e7a6029913960029190613b1a565b606090565b60006001600160a01b0382166119445760405162461bcd60e51b815260040180806020018281038252602a815260200180615e50602a913960400191505060405180910390fd5b6001600160a01b03821660009081526001602052604090206114919061368d565b8361196e61337b565b11156119c1576040805162461bcd60e51b815260206004820152600e60248201527f5065726d69742065787069726564000000000000000000000000000000000000604482015290519081900360640190fd5b60006119cb6114bb565b7f49ecf333e5b8c95c40fdafc95c1ad136e8914a8fb55e9dc8bb01eaa83a2df9ad88886119f781613b27565b604080516020808201969096526001600160a01b03909416848201526060840192909252608083015260a08083018a90528151808403909101815260c0830182528051908401207f190100000000000000000000000000000000000000000000000000000000000060e084015260e283019490945261010280830194909452805180830390940184526101229091019052815191012090506000611a9a876118d0565b9050806001600160a01b0316886001600160a01b03161415611aed5760405162461bcd60e51b8152600401808060200182810382526027815260200180615d7b6027913960400191505060405180910390fd5b611af681613b66565b15611cd1576040805160208082018790528183018690527fff0000000000000000000000000000000000000000000000000000000000000060f889901b16606083015282516041818403018152606183018085527f1626ba7e0000000000000000000000000000000000000000000000000000000090526065830186815260858401948552815160a585015281516001600160a01b03871695631626ba7e958995919260c59091019185019080838360005b83811015611bc0578181015183820152602001611ba8565b50505050905090810190601f168015611bed5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015611c0b57600080fd5b505afa158015611c1f573d6000803e3d6000fd5b505050506040513d6020811015611c3557600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014611ccc576040805162461bcd60e51b815260206004820152600c60248201527f556e617574686f72697a65640000000000000000000000000000000000000000604482015290519081900360640190fd5b611dfd565b600060018387878760405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611d2d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611d95576040805162461bcd60e51b815260206004820152601160248201527f496e76616c6964207369676e6174757265000000000000000000000000000000604482015290519081900360640190fd5b816001600160a01b0316816001600160a01b031614611dfb576040805162461bcd60e51b815260206004820152600c60248201527f556e617574686f72697a65640000000000000000000000000000000000000000604482015290519081900360640190fd5b505b611e07888861325b565b5050505050505050565b60008060008084610140013580611e2661337b565b1115611e79576040805162461bcd60e51b815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b604080516101408101909152600090611f459080611e9a60208b018b6150b3565b6001600160a01b03168152602001896020016020810190611ebb91906150b3565b6001600160a01b03168152602001611ed960608b0160408c016156aa565b62ffffff168152306020820152604001611ef960808b0160608c016153ea565b60020b8152602001611f1160a08b0160808c016153ea565b60020b81526020018960a0013581526020018960c0013581526020018960e001358152602001896101000135815250613698565b92975090955093509050611fb9611f6461014089016101208a016150b3565b600d80547fffffffffffffffffffff000000000000000000000000000000000000000000008116600175ffffffffffffffffffffffffffffffffffffffffffff92831690810190921617909155975087613b6c565b6000611fe430611fcf60808b0160608c016153ea565b611fdf60a08c0160808d016153ea565b61347b565b9050600080836001600160a01b031663514ea4bf846040518263ffffffff1660e01b81526004016120159190615935565b60c06040518083038186803b15801561202d57600080fd5b505afa158015612041573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206591906155b0565b505050925092505060006120df8560405180606001604052808e600001602081019061209191906150b3565b6001600160a01b031681526020018e60200160208101906120b291906150b3565b6001600160a01b031681526020018e60400160208101906120d391906156aa565b62ffffff169052613c9a565b905060405180610140016040528060006bffffffffffffffffffffffff16815260200160006001600160a01b031681526020018269ffffffffffffffffffff1681526020018c606001602081019061213791906153ea565b60020b815260200161214f60a08e0160808f016153ea565b60020b81526020018a6001600160801b0316815260200184815260200183815260200160006001600160801b0316815260200160006001600160801b0316815250600c60008c815260200190815260200160002060008201518160000160006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550602082015181600001600c6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a81548169ffffffffffffffffffff021916908369ffffffffffffffffffff160217905550606082015181600101600a6101000a81548162ffffff021916908360020b62ffffff160217905550608082015181600101600d6101000a81548162ffffff021916908360020b62ffffff16021790555060a08201518160010160106101000a8154816001600160801b0302191690836001600160801b0316021790555060c0820151816002015560e082015181600301556101008201518160040160006101000a8154816001600160801b0302191690836001600160801b031602179055506101208201518160040160106101000a8154816001600160801b0302191690836001600160801b03160217905550905050897f3067048beee31b25b2f1681f88dac838c8bba36af25bfb2b7cf7473a5847e35f8a8a8a60405161235e93929190615b09565b60405180910390a25050505050509193509193565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108025780601f106107d757610100808354040283529160200191610802565b6000818152600c6020908152604080832081516101408101835281546bffffffffffffffffffffffff811682526001600160a01b036c010000000000000000000000009091041693810193909352600181015469ffffffffffffffffffff81169284018390526a01000000000000000000008104600290810b810b810b6060860152600160681b8204810b810b810b60808601526001600160801b03600160801b92839004811660a08701529083015460c0860152600383015460e0860152600490920154808316610100860152041661012083015282918291829182918291829182918291829182918291906124dd5760405162461bcd60e51b815260040161083390615a5b565b6000600b6000836040015169ffffffffffffffffffff1669ffffffffffffffffffff1681526020019081526020016000206040518060600160405290816000820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016001820160149054906101000a900462ffffff1662ffffff1662ffffff1681525050905081600001518260200151826000015183602001518460400151866060015187608001518860a001518960c001518a60e001518b61010001518c61012001519d509d509d509d509d509d509d509d509d509d509d509d50505091939597999b5091939597999b565b61260b613257565b6001600160a01b0316826001600160a01b03161415612671576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b806005600061267e613257565b6001600160a01b0390811682526020808301939093526040918201600090812091871680825291909352912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016921515929092179091556126e0613257565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051600019916001600160a01b0389169163dd62ed3e91604480820192602092909190829003018186803b15801561279057600080fd5b505afa1580156127a4573d6000803e3d6000fd5b505050506040513d60208110156127ba57600080fd5b505110156127d0576127d0868686868686611663565b505050505050565b60608167ffffffffffffffff811180156127f157600080fd5b5060405190808252806020026020018201604052801561282557816020015b60608152602001906001900390816128105790505b50905060005b82811015612911576000803086868581811061284357fe5b90506020028101906128559190615bfb565b6040516128639291906157de565b600060405180830381855af49150503d806000811461289e576040519150601f19603f3d011682016040523d82523d6000602084013e6128a3565b606091505b5091509150816128ef576044815110156128bc57600080fd5b600481019050808060200190518101906128d69190615406565b60405162461bcd60e51b8152600401610833919061597d565b808484815181106128fc57fe5b6020908102919091010152505060010161282b565b5092915050565b612929612923613257565b836132df565b6129645760405162461bcd60e51b8152600401808060200182810382526031815260200180615f0f6031913960400191505060405180910390fd5b61297084848484613dea565b50505050565b604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152336004820152306024820152905186916001600160a01b0389169163dd62ed3e91604480820192602092909190829003018186803b1580156129de57600080fd5b505afa1580156129f2573d6000803e3d6000fd5b505050506040513d6020811015612a0857600080fd5b505110156127d0576127d0868686868686612ca0565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060612a4d8261324a565b612a5657600080fd5b6040517fe9dc63750000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e9dc637590612abd903090869060040161593e565b60006040518083038186803b158015612ad557600080fd5b505afa158015612ae9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114919190810190615406565b6000612b1f828401846154a9565b9050612b4f7f00000000000000000000000000000000000000000000000000000000000000008260000151613e3c565b508415612b6a578051516020820151612b6a91903388613e5f565b8315612b8857612b8881600001516020015182602001513387613e5f565b5050505050565b6000836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015612bde57600080fd5b505afa158015612bf2573d6000803e3d6000fd5b505050506040513d6020811015612c0857600080fd5b5051905082811015612c61576040805162461bcd60e51b815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b801561297057612970848383613fef565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c4810183905290516001600160a01b0388169163d505accf9160e480830192600092919082900301818387803b1580156116f657600080fd5b6000808235612d3a33826132df565b612d565760405162461bcd60e51b815260040161083390615990565b6000612d686060860160408701615566565b6001600160801b03161180612d9557506000612d8a6080860160608701615566565b6001600160801b0316115b612d9e57600080fd5b600080612db160408701602088016150b3565b6001600160a01b031614612dd457612dcf60408601602087016150b3565b612dd6565b305b85356000908152600c6020908152604080832060018082015469ffffffffffffffffffff168552600b8452828520835160608101855281546001600160a01b039081168252919092015490811694820194909452600160a01b90930462ffffff169183019190915292935090612e6c7f00000000000000000000000000000000000000000000000000000000000000008361337f565b600484015460018501549192506001600160801b0380821692600160801b928390048216929004161561308a5760018501546040517fa34123a70000000000000000000000000000000000000000000000000000000081526001600160a01b0385169163a34123a791612f03916a01000000000000000000008104600290810b92600160681b909204900b90600090600401615957565b6040805180830381600087803b158015612f1c57600080fd5b505af1158015612f30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f549190615700565b5050600185015460009081906001600160a01b0386169063514ea4bf90612f999030906a01000000000000000000008104600290810b91600160681b9004900b61347b565b6040518263ffffffff1660e01b8152600401612fb59190615935565b60c06040518083038186803b158015612fcd57600080fd5b505afa158015612fe1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061300591906155b0565b5050509250925050613042876002015483038860010160109054906101000a90046001600160801b03166001600160801b0316600160801b6134d5565b8401935061307b876003015482038860010160109054906101000a90046001600160801b03166001600160801b0316600160801b6134d5565b60028801929092556003870155015b6000806001600160801b0384166130a760608e0160408f01615566565b6001600160801b0316116130ca576130c560608d0160408e01615566565b6130cc565b835b836001600160801b03168d60600160208101906130e99190615566565b6001600160801b03161161310c5761310760808e0160608f01615566565b61310e565b835b60018901546040517f4f1eb3d80000000000000000000000000000000000000000000000000000000081529294509092506001600160a01b03871691634f1eb3d891613181918c916a01000000000000000000008104600290810b92600160681b909204900b9088908890600401615845565b6040805180830381600087803b15801561319a57600080fd5b505af11580156131ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131d29190615582565b6004890180546fffffffffffffffffffffffffffffffff196001600160801b03918216600160801b878a0384160217168689038216179091556040519281169d50169a508c35907f40d0efd1a53d60ecbf40971b9daf7dc90178c3aadc7aab1765632738fa8b8f0190610d95908b9086908690615882565b600061149160028361417f565b3390565b6000818152600c6020526040902080546bffffffffffffffffffffffff166c010000000000000000000000006001600160a01b0385169081029190911790915581906132a6826118d0565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006132ea8261324a565b6133255760405162461bcd60e51b815260040180806020018281038252602c815260200180615dec602c913960400191505060405180910390fd5b6000613330836118d0565b9050806001600160a01b0316846001600160a01b0316148061336b5750836001600160a01b03166133608461080c565b6001600160a01b0316145b806110c257506110c28185612c72565b4290565b600081602001516001600160a01b031682600001516001600160a01b0316106133a757600080fd5b50805160208083015160409384015184516001600160a01b0394851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b6bffffffffffffffffffffffff191660a183015260b58201939093527f4f157d8bc516d785f45049f8f9027de387954a1002431d9eac3d87b5f08a197660d5808301919091528251808303909101815260f5909101909152805191012090565b604080516bffffffffffffffffffffffff19606086901b16602080830191909152600285810b60e890811b60348501529085900b901b60378301528251601a818403018152603a90920190925280519101205b9392505050565b600080806000198587098686029250828110908390030390508061350b576000841161350057600080fd5b5082900490506134ce565b80841161351757600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b604080516000808252602082019092526001600160a01b0384169083906040518082805190602001908083835b602083106135d05780518252601f1990920191602091820191016135b1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613632576040519150601f19603f3d011682016040523d82523d6000602084013e613637565b606091505b5050905080610939576040805162461bcd60e51b815260206004820152600360248201527f5354450000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60006114918261418b565b6000806000806000604051806060016040528087600001516001600160a01b0316815260200187602001516001600160a01b03168152602001876040015162ffffff16815250905061370a7f00000000000000000000000000000000000000000000000000000000000000008261337f565b91506000826001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561374757600080fd5b505afa15801561375b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061377f9190615619565b50505050505090506000613796886080015161418f565b905060006137a78960a0015161418f565b90506137be8383838c60c001518d60e001516144dd565b9750505050816001600160a01b0316633c8a7d8d876060015188608001518960a00151896040518060400160405280888152602001336001600160a01b03168152506040516020016138109190615ac9565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161383f959493929190615802565b6040805180830381600087803b15801561385857600080fd5b505af115801561386c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138909190615700565b610100880151919550935084108015906138af57508561012001518310155b6138cb5760405162461bcd60e51b815260040161083390615a24565b509193509193565b826001600160a01b03166138e6826118d0565b6001600160a01b03161461392b5760405162461bcd60e51b8152600401808060200182810382526029815260200180615ec56029913960400191505060405180910390fd5b6001600160a01b0382166139705760405162461bcd60e51b8152600401808060200182810382526024815260200180615da26024913960400191505060405180910390fd5b61397b838383610939565b61398660008261325b565b6001600160a01b03831660009081526001602052604090206139a890826145a1565b506001600160a01b03821660009081526001602052604090206139cb90826145ad565b506139d8600282846145b9565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600061148e83836145cf565b4690565b6000613a3a826118d0565b9050613a4881600084610939565b613a5360008361325b565b6000828152600860205260409020546002600019610100600184161502019091160415613a91576000828152600860205260408120613a9191615023565b6001600160a01b0381166000908152600160205260409020613ab390836145a1565b50613abf600283614633565b5060405182906000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6000808080613b0b868661463f565b909450925050505b9250929050565b60006110c28484846146ba565b6000908152600c6020526040902080546bffffffffffffffffffffffff19811660016bffffffffffffffffffffffff9283169081019092161790915590565b3b151590565b6001600160a01b038216613bc7576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b613bd08161324a565b15613c22576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b613c2e60008383610939565b6001600160a01b0382166000908152600160205260409020613c5090826145ad565b50613c5d600282846145b9565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160a01b0382166000908152600a602052604090205469ffffffffffffffffffff16806114915750600d8054600169ffffffffffffffffffff76010000000000000000000000000000000000000000000080840482168381019092160275ffffffffffffffffffffffffffffffffffffffffffff909316929092179092556001600160a01b038085166000908152600a6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffff000000000000000000001686179055848352600b825291829020865181549085167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617825591870151950180549287015162ffffff16600160a01b027fffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff969094169290911691909117939093161790915592915050565b613df58484846138d3565b613e0184848484614784565b6129705760405162461bcd60e51b8152600401808060200182810382526032815260200180615d496032913960400191505060405180910390fd5b6000613e48838361337f565b9050336001600160a01b0382161461149157600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316148015613ea05750804710155b15613fc2577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015613f0057600080fd5b505af1158015613f14573d6000803e3d6000fd5b50505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015613f9057600080fd5b505af1158015613fa4573d6000803e3d6000fd5b505050506040513d6020811015613fba57600080fd5b506129709050565b6001600160a01b038316301415613fe357613fde848383613fef565b612970565b61297084848484614960565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b602083106140995780518252601f19909201916020918201910161407a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146140fb576040519150601f19603f3d011682016040523d82523d6000602084013e614100565b606091505b509150915081801561412e57508051158061412e575080806020019051602081101561412b57600080fd5b50515b612b88576040805162461bcd60e51b815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600061148e8383614af8565b5490565b60008060008360020b126141a6578260020b6141ae565b8260020b6000035b9050620d89e8811115614208576040805162461bcd60e51b815260206004820152600160248201527f5400000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60006001821661421c57600160801b61422e565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615614262576ffff97272373d413259a46990580e213a0260801c5b6004821615614281576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b60088216156142a0576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b60108216156142bf576fffcb9843d60f6159c9db58835c9266440260801c5b60208216156142de576fff973b41fa98c081472e6896dfb254c00260801c5b60408216156142fd576fff2ea16466c96a3843ec78b326b528610260801c5b608082161561431c576ffe5dee046a99a2a811c461f1969c30530260801c5b61010082161561433c576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b61020082161561435c576ff987a7253ac413176f2b074cf7815e540260801c5b61040082161561437c576ff3392b0822b70005940c7a398e4b70f30260801c5b61080082161561439c576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156143bc576fd097f3bdfd2022b8845ad8f792aa58250260801c5b6120008216156143dc576fa9f746462d870fdf8a65dc1f90e061e50260801c5b6140008216156143fc576f70d869a156d2a1b890bb3df62baf32f70260801c5b61800082161561441c576f31be135f97d08fd981231505542fcfa60260801c5b6201000082161561443d576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561445d576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561447c576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615614499576b048a170391f7dc42444e8fa20260801c5b60008460020b13156144b45780600019816144b057fe5b0490505b6401000000008106156144c85760016144cb565b60005b60ff16602082901c0192505050919050565b6000836001600160a01b0316856001600160a01b031611156144fd579293925b846001600160a01b0316866001600160a01b03161161452857614521858585614b10565b9050614598565b836001600160a01b0316866001600160a01b0316101561458a57600061454f878686614b10565b9050600061455e878986614b7c565b9050806001600160801b0316826001600160801b03161061457f5780614581565b815b92505050614598565b614595858584614b7c565b90505b95945050505050565b600061148e8383614bc2565b600061148e8383614c88565b60006110c284846001600160a01b038516614cd2565b815460009082106146115760405162461bcd60e51b8152600401808060200182810382526022815260200180615d276022913960400191505060405180910390fd5b82600001828154811061462057fe5b9060005260206000200154905092915050565b600061148e8383614d69565b8154600090819083106146835760405162461bcd60e51b8152600401808060200182810382526022815260200180615ea36022913960400191505060405180910390fd5b600084600001848154811061469457fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082815260018401602052604081205482816147555760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561471a578181015183820152602001614702565b50505050905090810190601f1680156147475780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061476857fe5b9060005260206000209060020201600101549150509392505050565b6000614798846001600160a01b0316613b66565b6147a4575060016110c2565b60006148f57f150b7a02000000000000000000000000000000000000000000000000000000006147d2613257565b88878760405160240180856001600160a01b03168152602001846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614839578181015183820152602001614821565b50505050905090810190601f1680156148665780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051806060016040528060328152602001615d49603291396001600160a01b0388169190614e3d565b9050600081806020019051602081101561490e57600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001492505050949350505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b60208310614a125780518252601f1990920191602091820191016149f3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114614a74576040519150601f19603f3d011682016040523d82523d6000602084013e614a79565b606091505b5091509150818015614aa7575080511580614aa75750808060200190516020811015614aa457600080fd5b50515b6127d0576040805162461bcd60e51b815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60009081526001919091016020526040902054151590565b6000826001600160a01b0316846001600160a01b03161115614b30579192915b6000614b5c856001600160a01b0316856001600160a01b03166c010000000000000000000000006134d5565b9050614598614b7784838888036001600160a01b03166134d5565b614e4c565b6000826001600160a01b0316846001600160a01b03161115614b9c579192915b6110c2614b77836c010000000000000000000000008787036001600160a01b03166134d5565b60008181526001830160205260408120548015614c7e5783546000198083019190810190600090879083908110614bf557fe5b9060005260206000200154905080876000018481548110614c1257fe5b600091825260208083209091019290925582815260018981019092526040902090840190558654879080614c4257fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050611491565b6000915050611491565b6000614c948383614af8565b614cca57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611491565b506000611491565b600082815260018401602052604081205480614d375750506040805180820182528381526020808201848152865460018181018955600089815284812095516002909302909501918255915190820155865486845281880190925292909120556134ce565b82856000016001830381548110614d4a57fe5b90600052602060002090600202016001018190555060009150506134ce565b60008181526001830160205260408120548015614c7e5783546000198083019190810190600090879083908110614d9c57fe5b9060005260206000209060020201905080876000018481548110614dbc57fe5b600091825260208083208454600290930201918255600193840154918401919091558354825289830190526040902090840190558654879080614dfb57fe5b60008281526020808220600260001990940193840201828155600190810183905592909355888152898201909252604082209190915594506114919350505050565b60606110c28484600085614e62565b806001600160801b038116811461077157600080fd5b606082471015614ea35760405162461bcd60e51b8152600401808060200182810382526026815260200180615dc66026913960400191505060405180910390fd5b614eac85613b66565b614efd576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310614f3b5780518252601f199092019160209182019101614f1c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114614f9d576040519150601f19603f3d011682016040523d82523d6000602084013e614fa2565b606091505b5091509150614fb2828286614fbd565b979650505050505050565b60608315614fcc5750816134ce565b825115614fdc5782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561471a578181015183820152602001614702565b50805460018160011615610100020316600290046000825580601f106150495750615067565b601f016020900490600052602060002090810190615067919061506a565b50565b5b8082111561507f576000815560010161506b565b5090565b803561077181615cd0565b805161ffff8116811461077157600080fd5b803562ffffff8116811461077157600080fd5b6000602082840312156150c4578081fd5b81356134ce81615cd0565b600080604083850312156150e1578081fd5b82356150ec81615cd0565b915060208301356150fc81615cd0565b809150509250929050565b6000806000806080858703121561511c578182fd5b843561512781615cd0565b9350602085013561513781615cd0565b9250615145604086016150a0565b9150606085013561515581615cd0565b939692955090935050565b600080600060608486031215615174578081fd5b833561517f81615cd0565b9250602084013561518f81615cd0565b929592945050506040919091013590565b600080600080608085870312156151b5578182fd5b84356151c081615cd0565b935060208501356151d081615cd0565b925060408501359150606085013567ffffffffffffffff8111156151f2578182fd5b8501601f81018713615202578182fd5b803561521561521082615c82565b615c5e565b818152886020838501011115615229578384fd5b81602084016020830137908101602001929092525092959194509250565b60008060408385031215615259578182fd5b823561526481615cd0565b915060208301356150fc81615ce5565b60008060408385031215615286578182fd5b823561529181615cd0565b946020939093013593505050565b6000806000606084860312156152b3578081fd5b83356152be81615cd0565b92506020840135915060408401356152d581615cd0565b809150509250925092565b60008060008060008060c087890312156152f8578384fd5b863561530381615cd0565b95506020870135945060408701359350606087013561532181615d17565b9598949750929560808101359460a0909101359350915050565b6000806020838503121561534d578182fd5b823567ffffffffffffffff80821115615364578384fd5b818501915085601f830112615377578384fd5b813581811115615385578485fd5b8660208083028501011115615398578485fd5b60209290920196919550909350505050565b6000602082840312156153bb578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146134ce578182fd5b6000602082840312156153fb578081fd5b81356134ce81615cf3565b600060208284031215615417578081fd5b815167ffffffffffffffff81111561542d578182fd5b8201601f8101841361543d578182fd5b805161544b61521082615c82565b81815285602083850101111561545f578384fd5b614598826020830160208601615ca4565b600060808284031215615481578081fd5b50919050565b600060a08284031215615481578081fd5b600060c08284031215615481578081fd5b600081830360808112156154bb578182fd5b6040516040810167ffffffffffffffff82821081831117156154d957fe5b8160405260608412156154ea578485fd5b60a08301935081841081851117156154fe57fe5b50826040528435925061551083615cd0565b91825260208401359161552283615cd0565b826060830152615534604086016150a0565b6080830152815261554760608501615083565b6020820152949350505050565b60006101608284031215615481578081fd5b600060208284031215615577578081fd5b81356134ce81615d02565b60008060408385031215615594578182fd5b825161559f81615d02565b60208401519092506150fc81615d02565b60008060008060008060c087890312156155c8578384fd5b86516155d381615d02565b80965050602087015194506040870151935060608701516155f381615d02565b608088015190935061560481615d02565b8092505060a087015190509295509295509295565b600080600080600080600060e0888a031215615633578485fd5b875161563e81615cd0565b602089015190975061564f81615cf3565b955061565d6040890161508e565b945061566b6060890161508e565b93506156796080890161508e565b925060a088015161568981615d17565b60c089015190925061569a81615ce5565b8091505092959891949750929550565b6000602082840312156156bb578081fd5b61148e826150a0565b6000602082840312156156d5578081fd5b5035919050565b600080604083850312156156ee578182fd5b8235915060208301356150fc81615cd0565b60008060408385031215615712578182fd5b505080516020909101519092909150565b60008060008060608587031215615738578182fd5b8435935060208501359250604085013567ffffffffffffffff8082111561575d578384fd5b818701915087601f830112615770578384fd5b81358181111561577e578485fd5b88602082850101111561578f578485fd5b95989497505060200194505050565b600081518084526157b6816020860160208601615ca4565b601f01601f19169290920160200192915050565b60020b9052565b6001600160801b03169052565b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b60006001600160a01b03871682528560020b60208301528460020b60408301526001600160801b038416606083015260a06080830152614fb260a083018461579e565b6001600160a01b03959095168552600293840b60208601529190920b60408401526001600160801b03918216606084015216608082015260a00190565b6001600160a01b039390931683526001600160801b03918216602084015216604082015260600190565b6000602080830181845280855180835260408601915060408482028701019250838701855b8281101561591d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261590b85835161579e565b945092850192908501906001016158d1565b5092979650505050505050565b901515815260200190565b90815260200190565b6001600160a01b03929092168252602082015260400190565b600293840b81529190920b60208201526001600160801b03909116604082015260600190565b60006020825261148e602083018461579e565b6020808252600c908201527f4e6f7420617070726f7665640000000000000000000000000000000000000000604082015260600190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201527f697374656e7420746f6b656e0000000000000000000000000000000000000000606082015260800190565b60208082526014908201527f507269636520736c69707061676520636865636b000000000000000000000000604082015260600190565b60208082526010908201527f496e76616c696420746f6b656e20494400000000000000000000000000000000604082015260600190565b6020808252600b908201527f4e6f7420636c6561726564000000000000000000000000000000000000000000604082015260600190565b815180516001600160a01b03908116835260208083015182168185015260409283015162ffffff1692840192909252920151909116606082015260800190565b6001600160801b039390931683526020830191909152604082015260600190565b9384526001600160801b039290921660208401526040830152606082015260800190565b918252602082015260400190565b6bffffffffffffffffffffffff8d1681526001600160a01b038c811660208301528b811660408301528a16606082015262ffffff89166080820152600288900b60a08201526101808101615bb360c08301896157ca565b615bc060e08301886157d1565b8561010083015284610120830152615bdc6101408301856157d1565b615bea6101608301846157d1565b9d9c50505050505050505050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112615c2f578283fd5b83018035915067ffffffffffffffff821115615c49578283fd5b602001915036819003821315613b1357600080fd5b60405181810167ffffffffffffffff81118282101715615c7a57fe5b604052919050565b600067ffffffffffffffff821115615c9657fe5b50601f01601f191660200190565b60005b83811015615cbf578181015183820152602001615ca7565b838111156129705750506000910152565b6001600160a01b038116811461506757600080fd5b801515811461506757600080fd5b8060020b811461506757600080fd5b6001600160801b038116811461506757600080fd5b60ff8116811461506757600080fdfe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732315065726d69743a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e7366657220746f20746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a164736f6c6343000706000a000000000000000000000000235a0f30b8d3338e5046b2e9cdb62e5ce498d3a100000000000000000000000042000000000000000000000000000000000000060000000000000000000000003b4c32a1721ae2b92402b74d3000d16d562fae9f