Loading
60806040526000600760146101000a81548160ff0219169083151502179055506000600760156101000a81548160ff0219169083151502179055506000600760166101000a81548160ff02191690831515021790555069021e19e0c9bab24000006008556000600a55600b8055692a5a058fc295ed000000600c55692a5a058fc295ed000000600d55692a5a058fc295ed000000600e55738b8b966e5bcf55a1d1132694cf8b75d495e8c5e4600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051806040016040528060058152602001600081525060106000820151816000015560208201518160010155505060405180604001604052806005815260200160008152506012600082015181600001556020820151816001015550503480156200015657600080fd5b506040518060400160405280600881526020017f536869624b776f6e0000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f536869624b776f6e0000000000000000000000000000000000000000000000008152508160039081620001d4919062000a79565b508060049081620001e6919062000a79565b50505062000209620001fd620005d860201b60201c565b620005e060201b60201c565b62000248336200021e620006a660201b60201c565b600a6200022c919062000cf0565b629896806200023c919062000d41565b620006af60201b60201c565b6001601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000307573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032d919062000df6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000395573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003bb919062000df6565b6040518363ffffffff1660e01b8152600401620003da92919062000e39565b6020604051808303816000875af1158015620003fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000420919062000df6565b905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160146000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016014600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505062000f78565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000721576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007189062000eed565b60405180910390fd5b806002600082825462000735919062000f0f565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200078c919062000f0f565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620007f3919062000f5b565b60405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200088157607f821691505b60208210810362000897576200089662000839565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620009017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008c2565b6200090d8683620008c2565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200095a620009546200094e8462000925565b6200092f565b62000925565b9050919050565b6000819050919050565b620009768362000939565b6200098e620009858262000961565b848454620008cf565b825550505050565b600090565b620009a562000996565b620009b28184846200096b565b505050565b5b81811015620009da57620009ce6000826200099b565b600181019050620009b8565b5050565b601f82111562000a2957620009f3816200089d565b620009fe84620008b2565b8101602085101562000a0e578190505b62000a2662000a1d85620008b2565b830182620009b7565b50505b505050565b600082821c905092915050565b600062000a4e6000198460080262000a2e565b1980831691505092915050565b600062000a69838362000a3b565b9150826002028217905092915050565b62000a8482620007ff565b67ffffffffffffffff81111562000aa05762000a9f6200080a565b5b62000aac825462000868565b62000ab9828285620009de565b600060209050601f83116001811462000af1576000841562000adc578287015190505b62000ae8858262000a5b565b86555062000b58565b601f19841662000b01866200089d565b60005b8281101562000b2b5784890151825560018201915060208501945060208101905062000b04565b8683101562000b4b578489015162000b47601f89168262000a3b565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000bee5780860481111562000bc65762000bc562000b60565b5b600185161562000bd65780820291505b808102905062000be68562000b8f565b945062000ba6565b94509492505050565b60008262000c09576001905062000cdc565b8162000c19576000905062000cdc565b816001811462000c32576002811462000c3d5762000c73565b600191505062000cdc565b60ff84111562000c525762000c5162000b60565b5b8360020a91508482111562000c6c5762000c6b62000b60565b5b5062000cdc565b5060208310610133831016604e8410600b841016171562000cad5782820a90508381111562000ca75762000ca662000b60565b5b62000cdc565b62000cbc848484600162000b9c565b9250905081840481111562000cd65762000cd562000b60565b5b81810290505b9392505050565b600060ff82169050919050565b600062000cfd8262000925565b915062000d0a8362000ce3565b925062000d397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bf7565b905092915050565b600062000d4e8262000925565b915062000d5b8362000925565b925082820262000d6b8162000925565b9150828204841483151762000d855762000d8462000b60565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000dbe8262000d91565b9050919050565b62000dd08162000db1565b811462000ddc57600080fd5b50565b60008151905062000df08162000dc5565b92915050565b60006020828403121562000e0f5762000e0e62000d8c565b5b600062000e1f8482850162000ddf565b91505092915050565b62000e338162000db1565b82525050565b600060408201905062000e50600083018562000e28565b62000e5f602083018462000e28565b9392505050565b600082825260208201905092915050565b7f45524332303a2067656e65726174696f6e20746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600062000ed560258362000e66565b915062000ee28262000e77565b604082019050919050565b6000602082019050818103600083015262000f088162000ec6565b9050919050565b600062000f1c8262000925565b915062000f298362000925565b925082820190508082111562000f445762000f4362000b60565b5b92915050565b62000f558162000925565b82525050565b600060208201905062000f72600083018462000f4a565b92915050565b614b548062000f886000396000f3fe60806040526004361061024a5760003560e01c8063728f8eea11610139578063c5d32bb2116100b6578063f2fde38b1161007a578063f2fde38b1461088e578063f52be97c146108b7578063f66895a3146108e0578063f887ea401461090c578063fbe6324e14610937578063fe8f12b41461096257610251565b8063c5d32bb214610799578063c9300ed5146107d6578063dd62ed3e146107ff578063e1b450ad1461083c578063edaa11681461086557610251565b806395d89b41116100fd57806395d89b41146106a0578063a457c2d7146106cb578063a8aa1b3114610708578063a9059cbb14610733578063aacebbe31461077057610251565b8063728f8eea146105c857806375f0a874146105f457806385141a771461061f5780638a33e8811461064a5780638da5cb5b1461067557610251565b8063355496ca116101c757806366a88d961161018b57806366a88d96146105075780636aa5b37f1461053257806370a082311461055d57806370defc841461059a578063715018a6146105b157610251565b8063355496ca14610424578063395093511461044d57806342b6fa111461048a578063441b1d30146104b3578063652e2f04146104dc57610251565b806318160ddd1161020e57806318160ddd1461033b57806323b872dd14610366578063274a533c146103a35780632b112e49146103ce578063313ce567146103f957610251565b806306fdde0314610256578063095ea7b3146102815780630e375a5c146102be5780631340538f146102e75780631675d8021461031057610251565b3661025157005b600080fd5b34801561026257600080fd5b5061026b61098d565b60405161027891906130b2565b60405180910390f35b34801561028d57600080fd5b506102a860048036038101906102a3919061317c565b610a1f565b6040516102b591906131d7565b60405180910390f35b3480156102ca57600080fd5b506102e560048036038101906102e09190613366565b610a3d565b005b3480156102f357600080fd5b5061030e600480360381019061030991906133c2565b610b4e565b005b34801561031c57600080fd5b50610325610be7565b60405161033291906133fe565b60405180910390f35b34801561034757600080fd5b50610350610bed565b60405161035d91906133fe565b60405180910390f35b34801561037257600080fd5b5061038d60048036038101906103889190613419565b610bf7565b60405161039a91906131d7565b60405180910390f35b3480156103af57600080fd5b506103b8610cf8565b6040516103c591906133fe565b60405180910390f35b3480156103da57600080fd5b506103e3610cfe565b6040516103f091906133fe565b60405180910390f35b34801561040557600080fd5b5061040e610d36565b60405161041b9190613488565b60405180910390f35b34801561043057600080fd5b5061044b600480360381019061044691906134a3565b610d3f565b005b34801561045957600080fd5b50610474600480360381019061046f919061317c565b610e16565b60405161048191906131d7565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac91906134e3565b610ec2565b005b3480156104bf57600080fd5b506104da60048036038101906104d591906134e3565b610fac565b005b3480156104e857600080fd5b506104f1611079565b6040516104fe91906133fe565b60405180910390f35b34801561051357600080fd5b5061051c61107f565b60405161052991906133fe565b60405180910390f35b34801561053e57600080fd5b50610547611085565b60405161055491906133fe565b60405180910390f35b34801561056957600080fd5b50610584600480360381019061057f9190613510565b61108b565b60405161059191906133fe565b60405180910390f35b3480156105a657600080fd5b506105af6110d3565b005b3480156105bd57600080fd5b506105c66111de565b005b3480156105d457600080fd5b506105dd611266565b6040516105eb92919061353d565b60405180910390f35b34801561060057600080fd5b50610609611278565b6040516106169190613575565b60405180910390f35b34801561062b57600080fd5b5061063461129e565b6040516106419190613575565b60405180910390f35b34801561065657600080fd5b5061065f6112a4565b60405161066c9190613575565b60405180910390f35b34801561068157600080fd5b5061068a6112a9565b6040516106979190613575565b60405180910390f35b3480156106ac57600080fd5b506106b56112d3565b6040516106c291906130b2565b60405180910390f35b3480156106d757600080fd5b506106f260048036038101906106ed919061317c565b611365565b6040516106ff91906131d7565b60405180910390f35b34801561071457600080fd5b5061071d611459565b60405161072a9190613575565b60405180910390f35b34801561073f57600080fd5b5061075a6004803603810190610755919061317c565b61147f565b60405161076791906131d7565b60405180910390f35b34801561077c57600080fd5b5061079760048036038101906107929190613510565b611496565b005b3480156107a557600080fd5b506107c060048036038101906107bb9190613510565b6115c5565b6040516107cd91906131d7565b60405180910390f35b3480156107e257600080fd5b506107fd60048036038101906107f8919061317c565b6115e5565b005b34801561080b57600080fd5b5061082660048036038101906108219190613590565b611759565b60405161083391906133fe565b60405180910390f35b34801561084857600080fd5b50610863600480360381019061085e91906135d0565b6117e0565b005b34801561087157600080fd5b5061088c600480360381019061088791906134e3565b6119a2565b005b34801561089a57600080fd5b506108b560048036038101906108b09190613510565b611aba565b005b3480156108c357600080fd5b506108de60048036038101906108d99190613623565b611bb1565b005b3480156108ec57600080fd5b506108f5611cae565b60405161090392919061353d565b60405180910390f35b34801561091857600080fd5b50610921611cc0565b60405161092e91906136c2565b60405180910390f35b34801561094357600080fd5b5061094c611ce6565b60405161095991906131d7565b60405180910390f35b34801561096e57600080fd5b50610977611cf9565b60405161098491906131d7565b60405180910390f35b60606003805461099c9061370c565b80601f01602080910402602001604051908101604052809291908181526020018280546109c89061370c565b8015610a155780601f106109ea57610100808354040283529160200191610a15565b820191906000526020600020905b8154815290600101906020018083116109f857829003601f168201915b5050505050905090565b6000610a33610a2c611d0c565b8484611d14565b6001905092915050565b610a45611d0c565b73ffffffffffffffffffffffffffffffffffffffff16610a636112a9565b73ffffffffffffffffffffffffffffffffffffffff1614610ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab090613789565b60405180910390fd5b60005b8251811015610b49578160146000858481518110610add57610adc6137a9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610b4190613807565b915050610abc565b505050565b610b56611d0c565b73ffffffffffffffffffffffffffffffffffffffff16610b746112a9565b73ffffffffffffffffffffffffffffffffffffffff1614610bca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc190613789565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b60085481565b6000600254905090565b6000610c04848484611edd565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c4f611d0c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc6906138c1565b60405180910390fd5b610cec85610cdb611d0c565b8584610ce791906138e1565b611d14565b60019150509392505050565b60095481565b6000610d0a600061108b565b610d1561dead61108b565b610d1d610bed565b610d2791906138e1565b610d3191906138e1565b905090565b60006012905090565b610d47611d0c565b73ffffffffffffffffffffffffffffffffffffffff16610d656112a9565b73ffffffffffffffffffffffffffffffffffffffff1614610dbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db290613789565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000610eb8610e23611d0c565b848460016000610e31611d0c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610eb39190613915565b611d14565b6001905092915050565b610eca611d0c565b73ffffffffffffffffffffffffffffffffffffffff16610ee86112a9565b73ffffffffffffffffffffffffffffffffffffffff1614610f3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3590613789565b60405180910390fd5b620186a0811115610f84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7b906139bb565b60405180910390fd5b610f8c610d36565b600a610f989190613b0e565b81610fa39190613b59565b60088190555050565b610fb4611d0c565b73ffffffffffffffffffffffffffffffffffffffff16610fd26112a9565b73ffffffffffffffffffffffffffffffffffffffff1614611028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101f90613789565b60405180910390fd5b6110306112a9565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611075573d6000803e3d6000fd5b5050565b600e5481565b600c5481565b600d5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110db611d0c565b73ffffffffffffffffffffffffffffffffffffffff166110f96112a9565b73ffffffffffffffffffffffffffffffffffffffff161461114f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114690613789565b60405180910390fd5b600760169054906101000a900460ff161561119f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119690613be7565b60405180910390fd5b6001600760166101000a81548160ff0219169083151502179055506001600760156101000a81548160ff02191690831515021790555043600981905550565b6111e6611d0c565b73ffffffffffffffffffffffffffffffffffffffff166112046112a9565b73ffffffffffffffffffffffffffffffffffffffff161461125a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125190613789565b60405180910390fd5b6112646000612710565b565b60108060000154908060010154905082565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61dead81565b600081565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546112e29061370c565b80601f016020809104026020016040519081016040528092919081815260200182805461130e9061370c565b801561135b5780601f106113305761010080835404028352916020019161135b565b820191906000526020600020905b81548152906001019060200180831161133e57829003601f168201915b5050505050905090565b60008060016000611374611d0c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142890613c79565b60405180910390fd5b61144e61143c611d0c565b85858461144991906138e1565b611d14565b600191505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061148c338484611edd565b6001905092915050565b61149e611d0c565b73ffffffffffffffffffffffffffffffffffffffff166114bc6112a9565b73ffffffffffffffffffffffffffffffffffffffff1614611512576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150990613789565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157890613d0b565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60146020528060005260406000206000915054906101000a900460ff1681565b6115ed611d0c565b73ffffffffffffffffffffffffffffffffffffffff1661160b6112a9565b73ffffffffffffffffffffffffffffffffffffffff1614611661576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165890613789565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c690613d9d565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6116f36112a9565b836040518363ffffffff1660e01b8152600401611711929190613dbd565b6020604051808303816000875af1158015611730573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117549190613dfb565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6117e8611d0c565b73ffffffffffffffffffffffffffffffffffffffff166118066112a9565b73ffffffffffffffffffffffffffffffffffffffff161461185c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185390613789565b60405180910390fd5b620bdb288310156118a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189990613e9a565b60405180910390fd5b620bdb288210156118e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118df90613f2c565b60405180910390fd5b62768f9081101561192e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192590613fbe565b60405180910390fd5b611936610d36565b600a6119429190613b0e565b8361194d9190613b59565b600d8190555061195b610d36565b600a6119679190613b0e565b826119729190613b59565b600e81905550611980610d36565b600a61198c9190613b0e565b816119979190613b59565b600c81905550505050565b6119aa611d0c565b73ffffffffffffffffffffffffffffffffffffffff166119c86112a9565b73ffffffffffffffffffffffffffffffffffffffff1614611a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1590613789565b60405180910390fd5b600760169054906101000a900460ff16611a6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6490614050565b60405180910390fd5b60058110611ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa7906140e2565b60405180910390fd5b80600a8190555050565b611ac2611d0c565b73ffffffffffffffffffffffffffffffffffffffff16611ae06112a9565b73ffffffffffffffffffffffffffffffffffffffff1614611b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2d90613789565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9c90614174565b60405180910390fd5b611bae81612710565b50565b611bb9611d0c565b73ffffffffffffffffffffffffffffffffffffffff16611bd76112a9565b73ffffffffffffffffffffffffffffffffffffffff1614611c2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2490613789565b60405180910390fd5b6040518060400160405280838152602001828152506012600082015181600001556020820151816001015590505060098183611c699190613915565b1115611caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca1906141e0565b60405180910390fd5b5050565b60128060000154908060010154905082565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760159054906101000a900460ff1681565b600760169054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7a90614272565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de990614304565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ed091906133fe565b60405180910390a3505050565b60008111611f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1790614396565b60405180910390fd5b601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611fc45750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561201957600760169054906101000a900460ff16612018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200f90614402565b60405180910390fd5b5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156120c05750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120d95750600760149054906101000a900460ff16155b1561217c57600d54811115612123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211a9061446e565b60405180910390fd5b600c54816121308461108b565b61213a9190613915565b111561217b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612172906144da565b60405180910390fd5b5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156122245750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561227a5750601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156122935750600760149054906101000a900460ff16155b1561238c57600e548111156122dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d490614546565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461238b57600c548161233f8461108b565b6123499190613915565b111561238a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612381906144da565b60405180910390fd5b5b5b6000806000612399613008565b6000601460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561243f5750601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156124595750600a546009546124569190613915565b43105b9050600760149054906101000a900460ff16806124bf5750601460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806125135750601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156125215760009250612620565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614801561257c575080155b156125c4576012600001546012600101546125979190613915565b9450849350601260405180604001604052908160008201548152602001600182015481525050915061261f565b8061260c576010600001546010600101546125df9190613915565b9450849350601060405180604001604052908160008201548152602001600182015481525050915061261e565b801561261d57600b549450600b5493505b5b5b5b6064848761262e9190613b59565b6126389190614595565b9250600760159054906101000a900460ff1680156126a45750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b156126b4576126b385836127d6565b5b6126ca888885896126c591906138e1565b61297a565b6000831115612706576000851115612705576000606486886126ec9190613b59565b6126f69190614595565b905061270389308361297a565b505b5b5050505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600760149054906101000a900460ff16612976576001600760146101000a81548160ff021916908315150217905550600082031561295a5760006128193061108b565b9050600854811061295857600160085411156128355760085490505b60006002846128449190613b59565b90506000818460200151846128599190613b59565b6128639190614595565b90506000818461287391906138e1565b9050600047905061288382612bec565b6000814761289191906138e1565b905060008760200151866128a591906138e1565b826128b09190614595565b905060008860200151826128c49190613b59565b905060008111156128da576128d98682612e2f565b5b600089600001516002846128ee9190613b59565b6128f89190613b59565b9050600081111561294f5761294e81600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612f1490919063ffffffff16565b5b50505050505050505b505b6000600760146101000a81548160ff0219169083151502179055505b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036129e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129e090614638565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612a58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4f906146ca565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612ade576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ad59061475c565b60405180910390fd5b8181612aea91906138e1565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612b7a9190613915565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612bde91906133fe565b60405180910390a350505050565b6000600267ffffffffffffffff811115612c0957612c086131f7565b5b604051908082528060200260200182016040528015612c375781602001602082028036833780820191505090505b5090503081600081518110612c4f57612c4e6137a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d1a9190614791565b81600181518110612d2e57612d2d6137a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612d9530600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611d14565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612df99594939291906148b7565b600060405180830381600087803b158015612e1357600080fd5b505af1158015612e27573d6000803e3d6000fd5b505050505050565b612e5c30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611d14565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080612ea86112a9565b426040518863ffffffff1660e01b8152600401612eca96959493929190614911565b60606040518083038185885af1158015612ee8573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f0d9190614987565b5050505050565b80471015612f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f4e90614a26565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051612f7d90614a77565b60006040518083038185875af1925050503d8060008114612fba576040519150601f19603f3d011682016040523d82523d6000602084013e612fbf565b606091505b5050905080613003576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ffa90614afe565b60405180910390fd5b505050565b604051806040016040528060008152602001600081525090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561305c578082015181840152602081019050613041565b60008484015250505050565b6000601f19601f8301169050919050565b600061308482613022565b61308e818561302d565b935061309e81856020860161303e565b6130a781613068565b840191505092915050565b600060208201905081810360008301526130cc8184613079565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613113826130e8565b9050919050565b61312381613108565b811461312e57600080fd5b50565b6000813590506131408161311a565b92915050565b6000819050919050565b61315981613146565b811461316457600080fd5b50565b60008135905061317681613150565b92915050565b60008060408385031215613193576131926130de565b5b60006131a185828601613131565b92505060206131b285828601613167565b9150509250929050565b60008115159050919050565b6131d1816131bc565b82525050565b60006020820190506131ec60008301846131c8565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61322f82613068565b810181811067ffffffffffffffff8211171561324e5761324d6131f7565b5b80604052505050565b60006132616130d4565b905061326d8282613226565b919050565b600067ffffffffffffffff82111561328d5761328c6131f7565b5b602082029050602081019050919050565b600080fd5b60006132b66132b184613272565b613257565b905080838252602082019050602084028301858111156132d9576132d861329e565b5b835b8181101561330257806132ee8882613131565b8452602084019350506020810190506132db565b5050509392505050565b600082601f830112613321576133206131f2565b5b81356133318482602086016132a3565b91505092915050565b613343816131bc565b811461334e57600080fd5b50565b6000813590506133608161333a565b92915050565b6000806040838503121561337d5761337c6130de565b5b600083013567ffffffffffffffff81111561339b5761339a6130e3565b5b6133a78582860161330c565b92505060206133b885828601613351565b9150509250929050565b6000602082840312156133d8576133d76130de565b5b60006133e684828501613351565b91505092915050565b6133f881613146565b82525050565b600060208201905061341360008301846133ef565b92915050565b600080600060608486031215613432576134316130de565b5b600061344086828701613131565b935050602061345186828701613131565b925050604061346286828701613167565b9150509250925092565b600060ff82169050919050565b6134828161346c565b82525050565b600060208201905061349d6000830184613479565b92915050565b600080604083850312156134ba576134b96130de565b5b60006134c885828601613131565b92505060206134d985828601613351565b9150509250929050565b6000602082840312156134f9576134f86130de565b5b600061350784828501613167565b91505092915050565b600060208284031215613526576135256130de565b5b600061353484828501613131565b91505092915050565b600060408201905061355260008301856133ef565b61355f60208301846133ef565b9392505050565b61356f81613108565b82525050565b600060208201905061358a6000830184613566565b92915050565b600080604083850312156135a7576135a66130de565b5b60006135b585828601613131565b92505060206135c685828601613131565b9150509250929050565b6000806000606084860312156135e9576135e86130de565b5b60006135f786828701613167565b935050602061360886828701613167565b925050604061361986828701613167565b9150509250925092565b6000806040838503121561363a576136396130de565b5b600061364885828601613167565b925050602061365985828601613167565b9150509250929050565b6000819050919050565b600061368861368361367e846130e8565b613663565b6130e8565b9050919050565b600061369a8261366d565b9050919050565b60006136ac8261368f565b9050919050565b6136bc816136a1565b82525050565b60006020820190506136d760008301846136b3565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061372457607f821691505b602082108103613737576137366136dd565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061377360208361302d565b915061377e8261373d565b602082019050919050565b600060208201905081810360008301526137a281613766565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061381282613146565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613844576138436137d8565b5b600182019050919050565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006138ab60288361302d565b91506138b68261384f565b604082019050919050565b600060208201905081810360008301526138da8161389e565b9050919050565b60006138ec82613146565b91506138f783613146565b925082820390508181111561390f5761390e6137d8565b5b92915050565b600061392082613146565b915061392b83613146565b9250828201905080821115613943576139426137d8565b5b92915050565b7f53776170207468726573686f6c6420616d6f756e742073686f756c642062652060008201527f6c6f776572206f7220657175616c20746f203125206f6620746f6b656e730000602082015250565b60006139a5603e8361302d565b91506139b082613949565b604082019050919050565b600060208201905081810360008301526139d481613998565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115613a3257808604811115613a0e57613a0d6137d8565b5b6001851615613a1d5780820291505b8081029050613a2b856139db565b94506139f2565b94509492505050565b600082613a4b5760019050613b07565b81613a595760009050613b07565b8160018114613a6f5760028114613a7957613aa8565b6001915050613b07565b60ff841115613a8b57613a8a6137d8565b5b8360020a915084821115613aa257613aa16137d8565b5b50613b07565b5060208310610133831016604e8410600b8410161715613add5782820a905083811115613ad857613ad76137d8565b5b613b07565b613aea84848460016139e8565b92509050818404811115613b0157613b006137d8565b5b81810290505b9392505050565b6000613b1982613146565b9150613b248361346c565b9250613b517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613a3b565b905092915050565b6000613b6482613146565b9150613b6f83613146565b9250828202613b7d81613146565b91508282048414831517613b9457613b936137d8565b5b5092915050565b7f43616e6e6f742072652d656e61626c652074726164696e670000000000000000600082015250565b6000613bd160188361302d565b9150613bdc82613b9b565b602082019050919050565b60006020820190508181036000830152613c0081613bc4565b9050919050565b7f42455032303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613c6360258361302d565b9150613c6e82613c07565b604082019050919050565b60006020820190508181036000830152613c9281613c56565b9050919050565b7f46656520416464726573732063616e6e6f74206265207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cf560228361302d565b9150613d0082613c99565b604082019050919050565b60006020820190508181036000830152613d2481613ce8565b9050919050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b6000613d8760368361302d565b9150613d9282613d2b565b604082019050919050565b60006020820190508181036000830152613db681613d7a565b9050919050565b6000604082019050613dd26000830185613566565b613ddf60208301846133ef565b9392505050565b600081519050613df58161333a565b92915050565b600060208284031215613e1157613e106130de565b5b6000613e1f84828501613de6565b91505092915050565b7f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f7765722060008201527f7468616e20302e31250000000000000000000000000000000000000000000000602082015250565b6000613e8460298361302d565b9150613e8f82613e28565b604082019050919050565b60006020820190508181036000830152613eb381613e77565b9050919050565b7f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f77657260008201527f207468616e20302e312500000000000000000000000000000000000000000000602082015250565b6000613f16602a8361302d565b9150613f2182613eba565b604082019050919050565b60006020820190508181036000830152613f4581613f09565b9050919050565b7f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760008201527f6572207468616e20312500000000000000000000000000000000000000000000602082015250565b6000613fa8602a8361302d565b9150613fb382613f4c565b604082019050919050565b60006020820190508181036000830152613fd781613f9b565b9050919050565b7f43616e2774206368616e6765207768656e2074726164696e672068617320737460008201527f6172746564000000000000000000000000000000000000000000000000000000602082015250565b600061403a60258361302d565b915061404582613fde565b604082019050919050565b600060208201905081810360008301526140698161402d565b9050919050565b7f446561646c696e652073686f756c64206265206c657373207468616e2035204260008201527f6c6f636b73000000000000000000000000000000000000000000000000000000602082015250565b60006140cc60258361302d565b91506140d782614070565b604082019050919050565b600060208201905081810360008301526140fb816140bf565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061415e60268361302d565b915061416982614102565b604082019050919050565b6000602082019050818103600083015261418d81614151565b9050919050565b7f4d757374206b6565702066656573206174203925206f72206c65737300000000600082015250565b60006141ca601c8361302d565b91506141d582614194565b602082019050919050565b600060208201905081810360008301526141f9816141bd565b9050919050565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061425c60248361302d565b915061426782614200565b604082019050919050565b6000602082019050818103600083015261428b8161424f565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006142ee60228361302d565b91506142f982614292565b604082019050919050565b6000602082019050818103600083015261431d816142e1565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061438060298361302d565b915061438b82614324565b604082019050919050565b600060208201905081810360008301526143af81614373565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b60006143ec60138361302d565b91506143f7826143b6565b602082019050919050565b6000602082019050818103600083015261441b816143df565b9050919050565b7f596f752061726520657863656564696e67206d61784275794c696d6974000000600082015250565b6000614458601d8361302d565b915061446382614422565b602082019050919050565b600060208201905081810360008301526144878161444b565b9050919050565b7f596f752061726520657863656564696e67206d617857616c6c65744c696d6974600082015250565b60006144c460208361302d565b91506144cf8261448e565b602082019050919050565b600060208201905081810360008301526144f3816144b7565b9050919050565b7f596f752061726520657863656564696e67206d617853656c6c4c696d69740000600082015250565b6000614530601e8361302d565b915061453b826144fa565b602082019050919050565b6000602082019050818103600083015261455f81614523565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006145a082613146565b91506145ab83613146565b9250826145bb576145ba614566565b5b828204905092915050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061462260258361302d565b915061462d826145c6565b604082019050919050565b6000602082019050818103600083015261465181614615565b9050919050565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006146b460238361302d565b91506146bf82614658565b604082019050919050565b600060208201905081810360008301526146e3816146a7565b9050919050565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061474660268361302d565b9150614751826146ea565b604082019050919050565b6000602082019050818103600083015261477581614739565b9050919050565b60008151905061478b8161311a565b92915050565b6000602082840312156147a7576147a66130de565b5b60006147b58482850161477c565b91505092915050565b6000819050919050565b60006147e36147de6147d9846147be565b613663565b613146565b9050919050565b6147f3816147c8565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61482e81613108565b82525050565b60006148408383614825565b60208301905092915050565b6000602082019050919050565b6000614864826147f9565b61486e8185614804565b935061487983614815565b8060005b838110156148aa5781516148918882614834565b975061489c8361484c565b92505060018101905061487d565b5085935050505092915050565b600060a0820190506148cc60008301886133ef565b6148d960208301876147ea565b81810360408301526148eb8186614859565b90506148fa6060830185613566565b61490760808301846133ef565b9695505050505050565b600060c0820190506149266000830189613566565b61493360208301886133ef565b61494060408301876147ea565b61494d60608301866147ea565b61495a6080830185613566565b61496760a08301846133ef565b979650505050505050565b60008151905061498181613150565b92915050565b6000806000606084860312156149a05761499f6130de565b5b60006149ae86828701614972565b93505060206149bf86828701614972565b92505060406149d086828701614972565b9150509250925092565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000614a10601d8361302d565b9150614a1b826149da565b602082019050919050565b60006020820190508181036000830152614a3f81614a03565b9050919050565b600081905092915050565b50565b6000614a61600083614a46565b9150614a6c82614a51565b600082019050919050565b6000614a8282614a54565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000614ae8603a8361302d565b9150614af382614a8c565b604082019050919050565b60006020820190508181036000830152614b1781614adb565b905091905056fea26469706673582212206f6d06d2b0d535214bf184f5521ac9cd56a8bdaa6b61bbd033417b9d88aac37064736f6c63430008110033