60806040526101f46009819055600a556000600b556a108b2a2c28029094000000600c556a084595161401484a000000600d55600e805460ff19169055600f80546001600160a01b03191673b6afc3f3ef415a80d39f39e3a41a4a5ada5c1a2a1790553480156200006f57600080fd5b506040518060400160405280600681526020016515195a14185960d21b8152506040518060400160405280600681526020016515115214105160d21b8152508160039080519060200190620000c69291906200066f565b508051620000dc9060049060208401906200066f565b50505062000117620000f36200022860201b60201c565b620001016012600a620007ab565b6200011190633b9aca006200086a565b6200022c565b62000133600060008051602062002d5b83398151915262000315565b6200014e60008051602062002d5b8339815191523362000360565b6200016960008051602062002d3b8339815191523362000360565b6200018460008051602062002d3b8339815191523062000360565b600880546001600160a01b03191633179055620001b5737a250d5630b4cf539739df2c5dacb4c659f2488d6200036c565b600f546001600160a01b031660009081526006602081905260408083208054600160ff1991821681179092553085529184208054909216811790915591620001fa3390565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055620008df565b3390565b6001600160a01b038216620002875760405162461bcd60e51b815260206004820181905260248201527f5445485041443a206d696e7420746f20746865207a65726f2061646472657373604482015260640160405180910390fd5b80600260008282546200029b919062000747565b90915550506001600160a01b03821660009081526020819052604081208054839290620002ca90849062000747565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b5050565b600082815260056020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b620003118282620005b8565b600780546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b158015620003c157600080fd5b505afa158015620003d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003fc919062000715565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200045a57600080fd5b505afa1580156200046f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000495919062000715565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620004de57600080fd5b505af1158015620004f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000519919062000715565b600e8054610100600160a81b0319166101006001600160a01b039384168102919091179182905562000572927fd2654377a744dfef2628bf9cf3d857efd4e3961f50697d305abe9257a6effd5d92919091041662000360565b50600e5461010090046001600160a01b039081166000908152600660205260408082208054600160ff199182168117909255600754909416835291208054909216179055565b620005c4828262000642565b620003115760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620005fe3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526005602090815260408083206001600160a01b038516845290915290205460ff165b92915050565b8280546200067d906200088c565b90600052602060002090601f016020900481019282620006a15760008555620006ec565b82601f10620006bc57805160ff1916838001178555620006ec565b82800160010185558215620006ec579182015b82811115620006ec578251825591602001919060010190620006cf565b50620006fa929150620006fe565b5090565b5b80821115620006fa5760008155600101620006ff565b6000602082840312156200072857600080fd5b81516001600160a01b03811681146200074057600080fd5b9392505050565b600082198211156200075d576200075d620008c9565b500190565b600181815b80851115620007a3578160001904821115620007875762000787620008c9565b808516156200079557918102915b93841c939080029062000767565b509250929050565b60006200074060ff841683600082620007c75750600162000669565b81620007d65750600062000669565b8160018114620007ef5760028114620007fa576200081a565b600191505062000669565b60ff8411156200080e576200080e620008c9565b50506001821b62000669565b5060208310610133831016604e8410600b84101617156200083f575081810a62000669565b6200084b838362000762565b8060001904821115620008625762000862620008c9565b029392505050565b6000816000190483118215151615620008875762000887620008c9565b500290565b600181811c90821680620008a157607f821691505b60208210811415620008c357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b61244c80620008ef6000396000f3fe6080604052600436106102085760003560e01c8063715018a611610118578063cf820461116100a0578063dd4ef0511161006f578063dd4ef051146105db578063dd62ed3e146105fb578063e1f3d55a1461061b578063f2fde38b14610631578063f8b45b051461065157600080fd5b8063cf82046114610570578063cfc1e57014610586578063d096cd081461059b578063da830336146105bb57600080fd5b8063a217fddf116100e7578063a217fddf146104db578063a457c2d7146104f0578063a9059cbb14610510578063addcf55f14610530578063b6dd04921461055057600080fd5b8063715018a61461047b5780637437681e1461049057806391d14854146104a657806395d89b41146104c657600080fd5b8063313ce5671161019b578063395093511161016a57806339509351146103ca57806347061add146103ea57806349bd5a5e1461040a5780635de6c42f1461042f57806370a082311461044557600080fd5b8063313ce5671461034c578063340ac20f146103685780633515b1af1461038a57806336568abe146103aa57600080fd5b806318160ddd116101d757806318160ddd146102c3578063220f6696146102e257806323b872dd146102fc578063248a9ca31461031c57600080fd5b806301ffc9a71461021457806306fdde0314610249578063095ea7b31461026b5780631694505e1461028b57600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b5061023461022f366004611fd9565b610667565b60405190151581526020015b60405180910390f35b34801561025557600080fd5b5061025e61069e565b60405161024091906120bc565b34801561027757600080fd5b50610234610286366004611f6f565b610730565b34801561029757600080fd5b506007546102ab906001600160a01b031681565b6040516001600160a01b039091168152602001610240565b3480156102cf57600080fd5b506002545b604051908152602001610240565b3480156102ee57600080fd5b50600e546102349060ff1681565b34801561030857600080fd5b50610234610317366004611efb565b610748565b34801561032857600080fd5b506102d4610337366004611f9b565b60009081526005602052604090206001015490565b34801561035857600080fd5b5060405160128152602001610240565b34801561037457600080fd5b50610388610383366004611e88565b61076c565b005b34801561039657600080fd5b506103886103a5366004611e88565b6107a7565b3480156103b657600080fd5b506103886103c5366004611fb4565b610857565b3480156103d657600080fd5b506102346103e5366004611f6f565b6108d1565b3480156103f657600080fd5b50610388610405366004611e88565b6108f3565b34801561041657600080fd5b50600e546102ab9061010090046001600160a01b031681565b34801561043b57600080fd5b506102d4600a5481565b34801561045157600080fd5b506102d4610460366004611e88565b6001600160a01b031660009081526020819052604090205490565b34801561048757600080fd5b50610388610a1e565b34801561049c57600080fd5b506102d4600d5481565b3480156104b257600080fd5b506102346104c1366004611fb4565b610ab0565b3480156104d257600080fd5b5061025e610adb565b3480156104e757600080fd5b506102d4600081565b3480156104fc57600080fd5b5061023461050b366004611f6f565b610aea565b34801561051c57600080fd5b5061023461052b366004611f6f565b610b66565b34801561053c57600080fd5b506008546102ab906001600160a01b031681565b34801561055c57600080fd5b5061038861056b366004611e88565b610b74565b34801561057c57600080fd5b506102d4600b5481565b34801561059257600080fd5b50610388610c16565b3480156105a757600080fd5b506103886105b6366004611e88565b610c51565b3480156105c757600080fd5b506103886105d6366004611f3c565b610cfb565b3480156105e757600080fd5b506103886105f6366004611f9b565b610d3f565b34801561060757600080fd5b506102d4610616366004611ec2565b610d5d565b34801561062757600080fd5b506102d460095481565b34801561063d57600080fd5b5061038861064c366004611e88565b610d88565b34801561065d57600080fd5b506102d4600c5481565b60006001600160e01b0319821663830d5e4960e01b148061069857506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600380546106ad90612324565b80601f01602080910402602001604051908101604052809291908181526020018280546106d990612324565b80156107265780601f106106fb57610100808354040283529160200191610726565b820191906000526020600020905b81548152906001019060200180831161070957829003601f168201915b5050505050905090565b60003361073e818585610e9a565b5060019392505050565b600033610756858285610fc1565b61076185858561103b565b506001949350505050565b6000805160206123d7833981519152610784816114ed565b50600780546001600160a01b0319166001600160a01b0392909216919091179055565b6000805160206123d78339815191526107bf816114ed565b6107d76000805160206123f783398151915283610ab0565b61083b5760405162461bcd60e51b815260206004820152602a60248201527f4552433230203a3a207265766f6b6550616972526f6c65203a20686173206e6f604482015269207061697220726f6c6560b01b60648201526084015b60405180910390fd5b6108536000805160206123f7833981519152836114fa565b5050565b6001600160a01b03811633146108c75760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610832565b61085382826114fa565b60003361073e8185856108e48383610d5d565b6108ee9190612271565b610e9a565b6000805160206123d783398151915261090b816114ed565b6001600160a01b0382163b6109885760405162461bcd60e51b815260206004820152603960248201527f4552433230203a3a206772616e74526f6c65546f50616972203a20706169722060448201527f6973206e6f74206120636f6e74726163742061646472657373000000000000006064820152608401610832565b6109a06000805160206123f783398151915283610ab0565b15610a065760405162461bcd60e51b815260206004820152603060248201527f4552433230203a3a206772616e74526f6c65546f50616972203a20616c72656160448201526f647920686173207061697220726f6c6560801b6064820152608401610832565b6108536000805160206123f783398151915283611561565b6000805160206123d7833981519152610a36816114ed565b610a4f6000805160206123d78339815191526000610ab0565b15610a6c5760405162461bcd60e51b8152600401610832906121c0565b610a846000805160206123d7833981519152336114fa565b610a9d6000805160206123d78339815191526000611561565b50600880546001600160a01b0319169055565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600480546106ad90612324565b60003381610af88286610d5d565b905083811015610b595760405162461bcd60e51b815260206004820152602660248201527f5445485041443a2064656372656173656420616c6c6f77616e63652062656c6f60448201526577207a65726f60d01b6064820152608401610832565b6107618286868403610e9a565b60003361073e81858561103b565b6000805160206123d7833981519152610b8c816114ed565b610ba46000805160206123b783398151915283610ab0565b610bfe5760405162461bcd60e51b815260206004820152602560248201527f4552433230203a3a20696e636c756465546f203a20686173206e6f207061697260448201526420726f6c6560d81b6064820152608401610832565b6108536000805160206123b7833981519152836114fa565b6000805160206123d7833981519152610c2e816114ed565b3060009081526020819052604090205480610c4857600080fd5b6108538161156b565b6000805160206123d7833981519152610c69816114ed565b610c816000805160206123b783398151915283610ab0565b15610ce35760405162461bcd60e51b815260206004820152602c60248201527f4552433230203a3a206578636c75646546726f6d203a20616c7265616479206860448201526b6173207061697220726f6c6560a01b6064820152608401610832565b6108536000805160206123b783398151915283611561565b6000805160206123d7833981519152610d13816114ed565b506001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000805160206123d7833981519152610d57816114ed565b50600c55565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6000805160206123d7833981519152610da0816114ed565b6001600160a01b038216610e125760405162461bcd60e51b815260206004820152603360248201527f4552433230203a3a207472616e736665724f776e657273686970203a206e65776044820152724f776e657220213d206164647265737328302960681b6064820152608401610832565b610e2a6000805160206123d783398151915283610ab0565b15610e475760405162461bcd60e51b8152600401610832906121c0565b610e5f6000805160206123d7833981519152336114fa565b610e776000805160206123d783398151915283611561565b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610efe5760405162461bcd60e51b815260206004820152602560248201527f5445485041443a20617070726f76652066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610832565b6001600160a01b038216610f605760405162461bcd60e51b815260206004820152602360248201527f5445485041443a20617070726f766520746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610832565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610fcd8484610d5d565b9050600019811461103557818110156110285760405162461bcd60e51b815260206004820152601e60248201527f5445485041443a20696e73756666696369656e7420616c6c6f77616e636500006044820152606401610832565b6110358484848403610e9a565b50505050565b6001600160a01b0383166110615760405162461bcd60e51b81526004016108329061217a565b6001600160a01b0382166110875760405162461bcd60e51b8152600401610832906120ef565b6001600160a01b03821660009081526006602052604090205460ff166111735780600d5410156110f95760405162461bcd60e51b815260206004820152601a60248201527f5445485041443a204d61787478204c696d6974204578636565640000000000006044820152606401610832565b6111228161111c846001600160a01b031660009081526020819052604090205490565b90611728565b600c5410156111735760405162461bcd60e51b815260206004820152601b60248201527f5445485041443a206d617857616c6c6574203e3d20616d6f756e7400000000006044820152606401610832565b61117b611e4c565b6001600160a01b038416600090815260208190526040902054815261119e611e6a565b6111b66000805160206123d783398151915286610ab0565b1580156111d857506111d66000805160206123d783398151915285610ab0565b155b80156111f957506111f76000805160206123d783398151915233610ab0565b155b151581526112156000805160206123b783398151915286610ab0565b8061123357506112336000805160206123b783398151915285610ab0565b15156020820152815183111561125b5760405162461bcd60e51b815260040161083290612133565b6112736000805160206123f783398151915285610ab0565b80156112825750600e5460ff16155b156113205730600090815260208190526040902054801561131e57600e5461010090046001600160a01b03166000908152602081905260409020546112d8906064906112d2906002905b9061178e565b9061180d565b81111561131557600e5461010090046001600160a01b0316600090815260208190526040902054611312906064906112d2906002906112cc565b90505b61131e8161156b565b505b8051801561133057506020810151155b801561133f5750600e5460ff16155b156113cf578261135d6000805160206123f783398151915286610ab0565b156113775761136b8461184f565b602085015293506113a5565b61138f6000805160206123f783398151915233610ab0565b156113a55761139d8461189d565b602085015293505b6113ae816118da565b6040840181905284106113cd5760408301516113ca90856122ca565b93505b505b81516001600160a01b03868116600090815260208190526040808220938790039093559086168152908120805485929061140a908490612271565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161145691815260200190565b60405180910390a360208201511580159061146f575080515b801561147d57506020810151155b801561148c5750600e5460ff16155b156114a2576114a28583600160200201516118f7565b6040820151158015906114b3575080515b80156114c157506020810151155b80156114d05750600e5460ff16155b156114e6576114e6858360026020020151611908565b5050505050565b6114f78133611a7a565b50565b6115048282610ab0565b156108535760008281526005602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6108538282611ade565b600e805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106115ad576115ad612375565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561160157600080fd5b505afa158015611615573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116399190611ea5565b8160018151811061164c5761164c612375565b6001600160a01b0392831660209182029290920101526007546116729130911684610e9a565b600754600f5460405163791ac94760e01b81526001600160a01b039283169263791ac947926116af92879260009288929116904290600401612235565b600060405180830381600087803b1580156116c957600080fd5b505af11580156116dd573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611712929190612214565b60405180910390a15050600e805460ff19169055565b6000806117358385612271565b9050838110156117875760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610832565b9392505050565b60008261179d57506000610698565b60006117a983856122ab565b9050826117b68583612289565b146117875760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610832565b600061178783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b64565b60008061271060095461271061186591906122ca565b61186f90856122ab565b6118799190612289565b91506127106009548461188c91906122ab565b6118969190612289565b9050915091565b600080612710600a546127106118b391906122ca565b6118bd90856122ab565b6118c79190612289565b9150612710600a548461188c91906122ab565b6000612710600b54836118ed91906122ab565b6106989190612289565b801561085357610853823083611b9b565b6001600160a01b0382166119695760405162461bcd60e51b815260206004820152602260248201527f5445485041443a206275726e2066726f6d20746865207a65726f206164647265604482015261737360f01b6064820152608401610832565b6001600160a01b038216600090815260208190526040902054818110156119de5760405162461bcd60e51b815260206004820152602360248201527f5445485041443a206275726e20616d6f756e7420657863656564732062616c616044820152626e636560e81b6064820152608401610832565b6001600160a01b038316600090815260208190526040812083830390558080527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb58054849290611a2f908490612271565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b611a848282610ab0565b61085357611a9c816001600160a01b03166014611cb0565b611aa7836020611cb0565b604051602001611ab8929190612047565b60408051601f198184030181529082905262461bcd60e51b8252610832916004016120bc565b611ae88282610ab0565b6108535760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611b203390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008183611b855760405162461bcd60e51b815260040161083291906120bc565b506000611b928486612289565b95945050505050565b6001600160a01b038316611bc15760405162461bcd60e51b81526004016108329061217a565b6001600160a01b038216611be75760405162461bcd60e51b8152600401610832906120ef565b6001600160a01b03831660009081526020819052604090205481811015611c205760405162461bcd60e51b815260040161083290612133565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611c57908490612271565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ca391815260200190565b60405180910390a3611035565b60606000611cbf8360026122ab565b611cca906002612271565b67ffffffffffffffff811115611ce257611ce261238b565b6040519080825280601f01601f191660200182016040528015611d0c576020820181803683370190505b509050600360fc1b81600081518110611d2757611d27612375565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611d5657611d56612375565b60200101906001600160f81b031916908160001a9053506000611d7a8460026122ab565b611d85906001612271565b90505b6001811115611dfd576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611db957611db9612375565b1a60f81b828281518110611dcf57611dcf612375565b60200101906001600160f81b031916908160001a90535060049490941c93611df68161230d565b9050611d88565b5083156117875760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610832565b60405180606001604052806003906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b600060208284031215611e9a57600080fd5b8135611787816123a1565b600060208284031215611eb757600080fd5b8151611787816123a1565b60008060408385031215611ed557600080fd5b8235611ee0816123a1565b91506020830135611ef0816123a1565b809150509250929050565b600080600060608486031215611f1057600080fd5b8335611f1b816123a1565b92506020840135611f2b816123a1565b929592945050506040919091013590565b60008060408385031215611f4f57600080fd5b8235611f5a816123a1565b915060208301358015158114611ef057600080fd5b60008060408385031215611f8257600080fd5b8235611f8d816123a1565b946020939093013593505050565b600060208284031215611fad57600080fd5b5035919050565b60008060408385031215611fc757600080fd5b823591506020830135611ef0816123a1565b600060208284031215611feb57600080fd5b81356001600160e01b03198116811461178757600080fd5b600081518084526020808501945080840160005b8381101561203c5781516001600160a01b031687529582019590820190600101612017565b509495945050505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161207f8160178501602088016122e1565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516120b08160288401602088016122e1565b01602801949350505050565b60208152600082518060208401526120db8160408501602087016122e1565b601f01601f19169190910160400192915050565b60208082526024908201527f5445485041443a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526027908201527f5445485041443a207472616e7366657220616d6f756e7420657863656564732060408201526662616c616e636560c81b606082015260800190565b60208082526026908201527f5445485041443a207472616e736665722066726f6d20746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526034908201527f4552433230203a3a207472616e736665724f776e657273686970203a206e65776040820152734f776e657220686173206f776e657220726f6c6560601b606082015260800190565b82815260406020820152600061222d6040830184612003565b949350505050565b85815284602082015260a06040820152600061225460a0830186612003565b6001600160a01b0394909416606083015250608001529392505050565b600082198211156122845761228461235f565b500190565b6000826122a657634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156122c5576122c561235f565b500290565b6000828210156122dc576122dc61235f565b500390565b60005b838110156122fc5781810151838201526020016122e4565b838111156110355750506000910152565b60008161231c5761231c61235f565b506000190190565b600181811c9082168061233857607f821691505b6020821081141561235957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146114f757600080fdfe270221b18814a6eefbdcb82121f19495c058a3c7c42f11c2ab89d1da64b4579e878383d5df9fcd73beacab8a6acfdba5b44aa5aca352bba83bed3315b18a10a3d2654377a744dfef2628bf9cf3d857efd4e3961f50697d305abe9257a6effd5da26469706673582212202105efb47101f6bda32604799e473232a9a5f88e07bd8004fc4ed39d6334828864736f6c63430008070033270221b18814a6eefbdcb82121f19495c058a3c7c42f11c2ab89d1da64b4579e878383d5df9fcd73beacab8a6acfdba5b44aa5aca352bba83bed3315b18a10a3