REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 68.16 KB
Close
//opt/alt/python34/lib64/python3.4/importlib/__pycache__/_bootstrap.cpython-34.pyo
Text
Base64
7gwNCmUCIGYhUwEA4wAAAAAAAAAAAAAAAAcAAABAAAAAc+QEAABkAABaAABkowBaAQBkBABkBQCEAABaAgBkBgBkBwCEAABaAwBkCABkCQCEAABaBABkCgBkCwCEAABaBQBkDABkDQCEAABaBgBkDgBkDwCEAABaBwBkEABkEQCEAABaCABkEgBkEwCEAABaCQBkFABkFQCEAABaCgBkFgBkFwBkGACEAQBaCwBkGQBkGgCEAABaDABkGwBkHACEAABaDQBlDgBlDABqDwCDAQBaEABHZB0AZB4AhAAAZB4AgwIAWhEAaQAAWhIAaQAAWhMAR2QfAGQgAIQAAGQgAGUUAIMDAFoVAEdkIQBkIgCEAABkIgCDAgBaFgBHZCMAZCQAhAAAZCQAgwIAWhcAR2QlAGQmAIQAAGQmAIMCAFoYAGQnAGQoAIQAAFoZAGQpAGQqAIQAAFoaAGQrAGQsAIQAAFobAGQtAGocAGQuAGQvAIMCAGQwABdaHQBlHgBqHwBlHQBkLwCDAgBaIABkMQBaIQBkMgBnAQBaIgBkMwBnAQBaIwBkNABnAQBaJABkNQBkNgBkNwCEAQBaJQBkOABkOQCEAABaJgBkOgBkOwCEAABaJwBkPABkPQCEAABaKABkPgBkPwBkQABkQQCEAAFaKQBkQgBkQwCEAABaKgBkRABkRQCEAABaKwBkRgBkRwCEAABaLABkSABkSQCEAABaLQBkSgBkSwCEAABaLgBkNQBkNQBkNQBkTABkTQCEAwBaLwBkNQBkNQBkNQBkTgBkTwCEAwBaMABkUABkUABkUQBkUgCEAgBaMQBkUwBkVACEAABaMgBkVQBkVgCEAABaMwBHZFcAZFgAhAAAZFgAgwIAWjQAR2RZAGRaAIQAAGRaAIMCAFo1AGRbAGQ1AGRcAGQ1AGRdAGReAIQAAlo2AGU3AIMAAFo4AGQ1AGRfAGQ1AGRgAGU4AGRhAGRiAIQBAlo5AGQ1AGQ1AGRjAGRkAIQCAFo6AEdkZQBkZgCEAABkZgCDAgBaOwBkNQBkZwBkaACEAQBaPABHZGkAZGoAhAAAZGoAgwIAWj0AR2RrAGRsAIQAAGRsAIMCAFo+AEdkbQBkbgCEAABkbgCDAgBaPwBHZG8AZHAAhAAAZHAAgwIAWkAAR2RxAGRyAIQAAGRyAGVAAIMDAFpBAEdkcwBkdACEAABkdACDAgBaQgBHZHUAZHYAhAAAZHYAZUIAZUEAgwQAWkMAR2R3AGR4AIQAAGR4AGVCAGVAAIMEAFpEAGcAAFpFAEdkeQBkegCEAABkegCDAgBaRgBHZHsAZHwAhAAAZHwAgwIAWkcAR2R9AGR+AIQAAGR+AIMCAFpIAEdkfwBkgACEAABkgACDAgBaSQBHZIEAZIIAhAAAZIIAgwIAWkoAR2SDAGSEAIQAAGSEAIMCAFpLAGSFAGSGAIQAAFpMAGSHAGSIAIQAAFpNAGQ1AGSJAGSKAIQBAFpOAGSLAGSMAIQAAFpPAGSNAFpQAGVQAGSOABdaUQBkjwBkkACEAABaUgBkkQBkkgCEAABaUwBkNQBkUABkkwBklACEAgBaVABklQBklgCEAABaVQBklwBkmACEAABaVgBkmQBkmgCEAABaVwBkNQBkNQBmAABkUABkmwBknACEBABaWABknQBkngCEAABaWQBknwBkoACEAABaWgBkoQBkogCEAABaWwBkNQBTKaRhUwEAAENvcmUgaW1wbGVtZW50YXRpb24gb2YgaW1wb3J0LgoKVGhpcyBtb2R1bGUgaXMgTk9UIG1lYW50IHRvIGJlIGRpcmVjdGx5IGltcG9ydGVkISBJdCBoYXMgYmVlbiBkZXNpZ25lZCBzdWNoCnRoYXQgaXQgY2FuIGJlIGJvb3RzdHJhcHBlZCBpbnRvIFB5dGhvbiBhcyB0aGUgaW1wbGVtZW50YXRpb24gb2YgaW1wb3J0LiBBcwpzdWNoIGl0IHJlcXVpcmVzIHRoZSBpbmplY3Rpb24gb2Ygc3BlY2lmaWMgbW9kdWxlcyBhbmQgYXR0cmlidXRlcyBpbiBvcmRlciB0bwp3b3JrLiBPbmUgc2hvdWxkIHVzZSBpbXBvcnRsaWIgYXMgdGhlIHB1YmxpYy1mYWNpbmcgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZS4KCtoDd2lu2gZjeWd3aW7aBmRhcndpbmMAAAAAAAAAAAEAAAACAAAAQwAAAHMxAAAAdAAAagEAagIAdAMAgwEAciEAZAEAZAIAhAAAfQAAbgwAZAMAZAIAhAAAfQAAfAAAUykETmMAAAAAAAAAAAAAAAACAAAAUwAAAHMNAAAAZAEAdAAAagEAawYAUykCejVUcnVlIGlmIGZpbGVuYW1lcyBtdXN0IGJlIGNoZWNrZWQgY2FzZS1pbnNlbnNpdGl2ZWx5LnMMAAAAUFlUSE9OQ0FTRU9LKQLaA19vc9oHZW52aXJvbqkAcgYAAAByBgAAAPo5L29wdC9hbHQvcHl0aG9uMzQvbGliNjQvcHl0aG9uMy40L2ltcG9ydGxpYi9fYm9vdHN0cmFwLnB52gtfcmVsYXhfY2FzZR4AAABzAgAAAAACeiVfbWFrZV9yZWxheF9jYXNlLjxsb2NhbHM+Ll9yZWxheF9jYXNlYwAAAAAAAAAAAAAAAAEAAABTAAAAcwQAAABkAQBTKQJ6NVRydWUgaWYgZmlsZW5hbWVzIG11c3QgYmUgY2hlY2tlZCBjYXNlLWluc2Vuc2l0aXZlbHkuRnIGAAAAcgYAAAByBgAAAHIGAAAAcgcAAAByCAAAACIAAABzAgAAAAACKQTaA3N5c9oIcGxhdGZvcm3aCnN0YXJ0c3dpdGjaG19DQVNFX0lOU0VOU0lUSVZFX1BMQVRGT1JNUykBcggAAAByBgAAAHIGAAAAcgcAAADaEF9tYWtlX3JlbGF4X2Nhc2UcAAAAcwgAAAAAARIBDwQMA3INAAAAYwEAAAAAAAAAAQAAAAMAAABDAAAAcxoAAAB0AAB8AACDAQBkAQBAagEAZAIAZAMAgwIAUykEeipDb252ZXJ0IGEgMzItYml0IGludGVnZXIgdG8gbGl0dGxlLWVuZGlhbi5sAwAAAP9//38DAOkEAAAA2gZsaXR0bGUpAtoDaW502gh0b19ieXRlcykB2gF4cgYAAAByBgAAAHIHAAAA2gdfd19sb25nKAAAAHMCAAAAAAJyEwAAAGMBAAAAAAAAAAEAAAADAAAAQwAAAHMQAAAAdAAAagEAfAAAZAEAgwIAUykCei9Db252ZXJ0IDQgYnl0ZXMgaW4gbGl0dGxlLWVuZGlhbiB0byBhbiBpbnRlZ2VyLnIPAAAAKQJyEAAAANoKZnJvbV9ieXRlcykB2glpbnRfYnl0ZXNyBgAAAHIGAAAAcgcAAADaB19yX2xvbmctAAAAcwIAAAAAAnIWAAAAYwAAAAAAAAAAAQAAAAMAAABHAAAAcxoAAAB0AABqAQBkAQBkAgCEAAB8AABEgwEAgwEAUykDeh9SZXBsYWNlbWVudCBmb3Igb3MucGF0aC5qb2luKCkuYwEAAAAAAAAAAgAAAAQAAABTAAAAcyUAAABnAAB8AABdGwB9AQB8AQByBgB8AQBqAAB0AQCDAQCRAgBxBgBTcgYAAAApAtoGcnN0cmlw2g9wYXRoX3NlcGFyYXRvcnMpAtoCLjDaBHBhcnRyBgAAAHIGAAAAcgcAAAD6CjxsaXN0Y29tcD40AAAAcwIAAAAJAXoeX3BhdGhfam9pbi48bG9jYWxzPi48bGlzdGNvbXA+KQLaCHBhdGhfc2Vw2gRqb2luKQHaCnBhdGhfcGFydHNyBgAAAHIGAAAAcgcAAADaCl9wYXRoX2pvaW4yAAAAcwQAAAAAAg8Bch8AAABjAQAAAAAAAAAFAAAABQAAAEMAAABzhgAAAHQAAHQBAIMBAGQBAGsCAHI0AHwAAGoCAHQDAIMBAFwDAH0BAH0CAH0DAHwBAHwDAGYCAFN4RQB0BAB8AACDAQBEXTcAfQQAfAQAdAEAawYAckEAfAAAagUAfAQAZAIAZAEAgwEBXAIAfQEAfQMAfAEAfAMAZgIAU3FBAFdkAwB8AABmAgBTKQR6IFJlcGxhY2VtZW50IGZvciBvcy5wYXRoLnNwbGl0KCku6QEAAADaCG1heHNwbGl02gApBtoDbGVuchgAAADaCnJwYXJ0aXRpb25yHAAAANoIcmV2ZXJzZWTaBnJzcGxpdCkF2gRwYXRo2gVmcm9udNoBX9oEdGFpbHISAAAAcgYAAAByBgAAAHIHAAAA2gtfcGF0aF9zcGxpdDgAAABzEAAAAAACEgEYAQoBEwEMARsBDgFyKwAAAGMBAAAAAAAAAAEAAAACAAAAQwAAAHMNAAAAdAAAagEAfAAAgwEAUykBen5TdGF0IHRoZSBwYXRoLgoKICAgIE1hZGUgYSBzZXBhcmF0ZSBmdW5jdGlvbiB0byBtYWtlIGl0IGVhc2llciB0byBvdmVycmlkZSBpbiBleHBlcmltZW50cwogICAgKGUuZy4gY2FjaGUgc3RhdCByZXN1bHRzKS4KCiAgICApAnIEAAAA2gRzdGF0KQFyJwAAAHIGAAAAcgYAAAByBwAAANoKX3BhdGhfc3RhdEQAAABzAgAAAAAHci0AAABjAgAAAAAAAAADAAAACwAAAEMAAABzOgAAAHkQAHQAAHwAAIMBAH0CAFduFgAEdAEAawoAcigAAQEBZAEAU1luAQBYfAIAagIAZAIAQHwBAGsCAFMpA3oxVGVzdCB3aGV0aGVyIHRoZSBwYXRoIGlzIHRoZSBzcGVjaWZpZWQgbW9kZSB0eXBlLkZpAPAAACkDci0AAADaB09TRXJyb3LaB3N0X21vZGUpA3InAAAA2gRtb2Rl2glzdGF0X2luZm9yBgAAAHIGAAAAcgcAAADaEl9wYXRoX2lzX21vZGVfdHlwZU4AAABzCgAAAAACAwEQAQ0BCQFyMgAAAGMBAAAAAAAAAAEAAAADAAAAQwAAAHMNAAAAdAAAfAAAZAEAgwIAUykCeh9SZXBsYWNlbWVudCBmb3Igb3MucGF0aC5pc2ZpbGUuaQCAAAApAXIyAAAAKQFyJwAAAHIGAAAAcgYAAAByBwAAANoMX3BhdGhfaXNmaWxlVwAAAHMCAAAAAAJyMwAAAGMBAAAAAAAAAAEAAAADAAAAQwAAAHMiAAAAfAAAcxUAdAAAagEAgwAAfQAAbgAAdAIAfAAAZAEAgwIAUykCeh5SZXBsYWNlbWVudCBmb3Igb3MucGF0aC5pc2Rpci5pAEAAACkDcgQAAADaBmdldGN3ZHIyAAAAKQFyJwAAAHIGAAAAcgYAAAByBwAAANoLX3BhdGhfaXNkaXJcAAAAcwYAAAAAAgYBDwFyNQAAAGm2AQAAYwMAAAAAAAAABgAAABEAAABDAAAAc8AAAABkAQBqAAB8AAB0AQB8AACDAQCDAgB9AwB0AgBqAwB8AwB0AgBqBAB0AgBqBQBCdAIAagYAQnwCAGQCAECDAwB9BAB5PAB0BwBqCAB8BABkAwCDAgCPFAB9BQB8BQBqCQB8AQCDAQABV2QEAFFYdAIAagoAfAMAfAAAgwIAAVduOwAEdAsAawoAcrsAAQEBeREAdAIAagwAfAMAgwEAAVduEgAEdAsAawoAcrMAAQEBWW4BAFiCAABZbgEAWGQEAFMpBXqiQmVzdC1lZmZvcnQgZnVuY3Rpb24gdG8gd3JpdGUgZGF0YSB0byBhIHBhdGggYXRvbWljYWxseS4KICAgIEJlIHByZXBhcmVkIHRvIGhhbmRsZSBhIEZpbGVFeGlzdHNFcnJvciBpZiBjb25jdXJyZW50IHdyaXRpbmcgb2YgdGhlCiAgICB0ZW1wb3JhcnkgZmlsZSBpcyBhdHRlbXB0ZWQuegV7fS57fWm2AQAA2gJ3Yk4pDdoGZm9ybWF02gJpZHIEAAAA2gRvcGVu2gZPX0VYQ0zaB09fQ1JFQVTaCE9fV1JPTkxZ2gNfaW/aBkZpbGVJT9oFd3JpdGXaB3JlcGxhY2VyLgAAANoGdW5saW5rKQZyJwAAANoEZGF0YXIwAAAA2ghwYXRoX3RtcNoCZmTaBGZpbGVyBgAAAHIGAAAAcgcAAADaDV93cml0ZV9hdG9taWNjAAAAcxoAAAAABRgBCQEhAQMDFQETARQBDQEDAREBDQEFAXJGAAAAYwIAAAAAAAAAAwAAAAcAAABDAAAAc18AAAB4RQBkAQBkAgBkAwBkBABnBABEXTEAfQIAdAAAfAEAfAIAgwIAchMAdAEAfAAAfAIAdAIAfAEAfAIAgwIAgwMAAXETAHETAFd8AABqAwBqBAB8AQBqAwCDAQABZAUAUykGei9TaW1wbGUgc3Vic3RpdHV0ZSBmb3IgZnVuY3Rvb2xzLnVwZGF0ZV93cmFwcGVyLtoKX19tb2R1bGVfX9oIX19uYW1lX1/aDF9fcXVhbG5hbWVfX9oHX19kb2NfX04pBdoHaGFzYXR0ctoHc2V0YXR0ctoHZ2V0YXR0ctoIX19kaWN0X1/aBnVwZGF0ZSkD2gNuZXfaA29sZHJAAAAAcgYAAAByBgAAAHIHAAAA2gVfd3JhcHkAAABzCAAAAAACGQEPASABclIAAABjAQAAAAAAAAABAAAAAgAAAEMAAABzEAAAAHQAAHQBAIMBAHwAAIMBAFMpAU4pAtoEdHlwZXIJAAAAKQHaBG5hbWVyBgAAAHIGAAAAcgcAAADaC19uZXdfbW9kdWxlgQAAAHMCAAAAAAFyVQAAAGMAAAAAAAAAAAAAAAACAAAAQAAAAHM6AAAAZQAAWgEAZAAAWgIAZAEAWgMAZAIAZAMAhAAAWgQAZAQAZAUAhAAAWgUAZAYAZAcAhAAAWgYAZAgAUykJ2g1fTWFuYWdlUmVsb2Fkej9NYW5hZ2VzIHRoZSBwb3NzaWJsZSBjbGVhbi11cCBvZiBzeXMubW9kdWxlcyBmb3IgbG9hZF9tb2R1bGUoKS5jAgAAAAAAAAACAAAAAgAAAEMAAABzDQAAAHwBAHwAAF8AAGQAAFMpAU4pAdoFX25hbWUpAtoEc2VsZnJUAAAAcgYAAAByBgAAAHIHAAAA2ghfX2luaXRfX40AAABzAgAAAAABehZfTWFuYWdlUmVsb2FkLl9faW5pdF9fYwEAAAAAAAAAAQAAAAIAAABDAAAAcxkAAAB8AABqAAB0AQBqAgBrBgB8AABfAwBkAABTKQFOKQRyVwAAAHIJAAAA2gdtb2R1bGVz2gpfaXNfcmVsb2FkKQFyWAAAAHIGAAAAcgYAAAByBwAAANoJX19lbnRlcl9fkAAAAHMCAAAAAAF6F19NYW5hZ2VSZWxvYWQuX19lbnRlcl9fYwEAAAAAAAAAAgAAAAsAAABHAAAAc1AAAAB0AABkAQBkAgCEAAB8AQBEgwEAgwEAckwAfAAAagEADHJMAHkRAHQCAGoDAHwAAGoEAD1XcUwABHQFAGsKAHJIAAEBAVlxTABYbgAAZAAAUykDTmMBAAAAAAAAAAIAAAADAAAAcwAAAHMbAAAAfAAAXREAfQEAfAEAZAAAawkAVgFxAwBkAABTKQFOcgYAAAApAnIZAAAA2gNhcmdyBgAAAHIGAAAAcgcAAAD6CTxnZW5leHByPpQAAABzAgAAAAYAeilfTWFuYWdlUmVsb2FkLl9fZXhpdF9fLjxsb2NhbHM+LjxnZW5leHByPikG2gNhbnlyWwAAAHIJAAAAcloAAAByVwAAANoIS2V5RXJyb3IpAnJYAAAA2gRhcmdzcgYAAAByBgAAAHIHAAAA2ghfX2V4aXRfX5MAAABzCgAAAAABIwEDAREBDQF6Fl9NYW5hZ2VSZWxvYWQuX19leGl0X19OKQdySAAAAHJHAAAAckkAAABySgAAAHJZAAAAclwAAAByYgAAAHIGAAAAcgYAAAByBgAAAHIHAAAAclYAAACJAAAAcwgAAAAMAgYCDAMMA3JWAAAAYwAAAAAAAAAAAAAAAAEAAABAAAAAcxAAAABlAABaAQBkAABaAgBkAQBTKQLaDl9EZWFkbG9ja0Vycm9yTikDckgAAAByRwAAAHJJAAAAcgYAAAByBgAAAHIGAAAAcgcAAAByYwAAAKIAAABzAgAAAAwBcmMAAABjAAAAAAAAAAAAAAAAAgAAAEAAAABzUgAAAGUAAFoBAGQAAFoCAGQBAFoDAGQCAGQDAIQAAFoEAGQEAGQFAIQAAFoFAGQGAGQHAIQAAFoGAGQIAGQJAIQAAFoHAGQKAGQLAIQAAFoIAGQMAFMpDdoLX01vZHVsZUxvY2t6qUEgcmVjdXJzaXZlIGxvY2sgaW1wbGVtZW50YXRpb24gd2hpY2ggaXMgYWJsZSB0byBkZXRlY3QgZGVhZGxvY2tzCiAgICAoZS5nLiB0aHJlYWQgMSB0cnlpbmcgdG8gdGFrZSBsb2NrcyBBIHRoZW4gQiwgYW5kIHRocmVhZCAyIHRyeWluZyB0bwogICAgdGFrZSBsb2NrcyBCIHRoZW4gQSkuCiAgICBjAgAAAAAAAAACAAAAAgAAAEMAAABzRgAAAHQAAGoBAIMAAHwAAF8CAHQAAGoBAIMAAHwAAF8DAHwBAHwAAF8EAGQAAHwAAF8FAGQBAHwAAF8GAGQBAHwAAF8HAGQAAFMpAk7pAAAAACkI2gdfdGhyZWFk2g1hbGxvY2F0ZV9sb2Nr2gRsb2Nr2gZ3YWtldXByVAAAANoFb3duZXLaBWNvdW502gd3YWl0ZXJzKQJyWAAAAHJUAAAAcgYAAAByBgAAAHIHAAAAclkAAACsAAAAcwwAAAAAAQ8BDwEJAQkBCQF6FF9Nb2R1bGVMb2NrLl9faW5pdF9fYwEAAAAAAAAABAAAAAIAAABDAAAAc1gAAAB0AABqAQCDAAB9AQB8AABqAgB9AgB4PAB0AwBqBAB8AgCDAQB9AwB8AwBkAABrCAByNwBkAQBTfAMAagIAfQIAfAIAfAEAawIAchgAZAIAU3EYAFdkAABTKQNORlQpBXJmAAAA2glnZXRfaWRlbnRyagAAANoMX2Jsb2NraW5nX29u2gNnZXQpBHJYAAAA2gJtZdoDdGlkcmgAAAByBgAAAHIGAAAAcgcAAADaDGhhc19kZWFkbG9ja7QAAABzEgAAAAACDAEJAQMBDwEMAQQBCQEMAXoYX01vZHVsZUxvY2suaGFzX2RlYWRsb2NrYwEAAAAAAAAAAgAAABAAAABDAAAAc9cAAAB0AABqAQCDAAB9AQB8AAB0AgB8AQA8erIAeKsAfAAAagMAj4IAAXwAAGoEAGQBAGsCAHNEAHwAAGoFAHwBAGsCAHJgAHwBAHwAAF8FAHwAAARqBABkAgA3Al8EAGQDAFN8AABqBgCDAAByfwB0BwBkBAB8AAAWgwEAggEAbgAAfAAAaggAagkAZAUAgwEAcqMAfAAABGoKAGQCADcCXwoAbgAAV2QGAFFYfAAAaggAagkAgwAAAXwAAGoIAGoLAIMAAAFxHABXV2QGAHQCAHwBAD1YZAYAUykHerkKICAgICAgICBBY3F1aXJlIHRoZSBtb2R1bGUgbG9jay4gIElmIGEgcG90ZW50aWFsIGRlYWRsb2NrIGlzIGRldGVjdGVkLAogICAgICAgIGEgX0RlYWRsb2NrRXJyb3IgaXMgcmFpc2VkLgogICAgICAgIE90aGVyd2lzZSwgdGhlIGxvY2sgaXMgYWx3YXlzIGFjcXVpcmVkIGFuZCBUcnVlIGlzIHJldHVybmVkLgogICAgICAgIHJlAAAAciAAAABUehdkZWFkbG9jayBkZXRlY3RlZCBieSAlckZOKQxyZgAAAHJtAAAAcm4AAAByaAAAAHJrAAAAcmoAAABycgAAAHJjAAAAcmkAAADaB2FjcXVpcmVybAAAANoHcmVsZWFzZSkCclgAAABycQAAAHIGAAAAcgYAAAByBwAAAHJzAAAAwAAAAHMgAAAAAAYMAQoBAwEDAQoBHgEJAQ8BBAEMARMBEgEYAg0BFQJ6E19Nb2R1bGVMb2NrLmFjcXVpcmVjAQAAAAAAAAACAAAACgAAAEMAAABzkAAAAHQAAGoBAIMAAH0BAHwAAGoCAI91AAF8AABqAwB8AQBrAwByNAB0BABkAQCDAQCCAQBuAAB8AAAEagUAZAIAOAJfBQB8AABqBQBkAwBrAgByhgBkAAB8AABfAwB8AABqBgByhgB8AAAEagYAZAIAOAJfBgB8AABqBwBqCACDAAABcYYAbgAAV2QAAFFYZAAAUykETnofY2Fubm90IHJlbGVhc2UgdW4tYWNxdWlyZWQgbG9ja3IgAAAAcmUAAAApCXJmAAAAcm0AAAByaAAAAHJqAAAA2gxSdW50aW1lRXJyb3JyawAAAHJsAAAAcmkAAABydAAAACkCclgAAABycQAAAHIGAAAAcgYAAAByBwAAAHJ0AAAA2QAAAHMUAAAAAAEMAQoBDwEPAg8BDwEJAQkBDwF6E19Nb2R1bGVMb2NrLnJlbGVhc2VjAQAAAAAAAAABAAAABAAAAEMAAABzGQAAAGQBAGoAAHwAAGoBAHQCAHwAAIMBAIMCAFMpAk56F19Nb2R1bGVMb2NrKHshcn0pIGF0IHt9KQNyNwAAAHJUAAAAcjgAAAApAXJYAAAAcgYAAAByBgAAAHIHAAAA2ghfX3JlcHJfX+YAAABzAgAAAAABehRfTW9kdWxlTG9jay5fX3JlcHJfX04pCXJIAAAAckcAAABySQAAAHJKAAAAclkAAABycgAAAHJzAAAAcnQAAABydgAAAHIGAAAAcgYAAAByBgAAAHIHAAAAcmQAAACmAAAAcwwAAAAMBAYCDAgMDAwZDA1yZAAAAGMAAAAAAAAAAAAAAAACAAAAQAAAAHNGAAAAZQAAWgEAZAAAWgIAZAEAWgMAZAIAZAMAhAAAWgQAZAQAZAUAhAAAWgUAZAYAZAcAhAAAWgYAZAgAZAkAhAAAWgcAZAoAUykL2hBfRHVtbXlNb2R1bGVMb2NrelZBIHNpbXBsZSBfTW9kdWxlTG9jayBlcXVpdmFsZW50IGZvciBQeXRob24gYnVpbGRzIHdpdGhvdXQKICAgIG11bHRpLXRocmVhZGluZyBzdXBwb3J0LmMCAAAAAAAAAAIAAAACAAAAQwAAAHMWAAAAfAEAfAAAXwAAZAEAfAAAXwEAZAAAUykCTnJlAAAAKQJyVAAAAHJrAAAAKQJyWAAAAHJUAAAAcgYAAAByBgAAAHIHAAAAclkAAADuAAAAcwQAAAAAAQkBehlfRHVtbXlNb2R1bGVMb2NrLl9faW5pdF9fYwEAAAAAAAAAAQAAAAMAAABDAAAAcxMAAAB8AAAEagAAZAEANwJfAABkAgBTKQNOciAAAABUKQFyawAAACkBclgAAAByBgAAAHIGAAAAcgcAAABycwAAAPIAAABzBAAAAAABDwF6GF9EdW1teU1vZHVsZUxvY2suYWNxdWlyZWMBAAAAAAAAAAEAAAADAAAAQwAAAHMxAAAAfAAAagAAZAEAawIAch4AdAEAZAIAgwEAggEAbgAAfAAABGoAAGQDADgCXwAAZAAAUykETnJlAAAAeh9jYW5ub3QgcmVsZWFzZSB1bi1hY3F1aXJlZCBsb2NrciAAAAApAnJrAAAAcnUAAAApAXJYAAAAcgYAAAByBgAAAHIHAAAAcnQAAAD2AAAAcwYAAAAAAQ8BDwF6GF9EdW1teU1vZHVsZUxvY2sucmVsZWFzZWMBAAAAAAAAAAEAAAAEAAAAQwAAAHMZAAAAZAEAagAAfAAAagEAdAIAfAAAgwEAgwIAUykCTnocX0R1bW15TW9kdWxlTG9jayh7IXJ9KSBhdCB7fSkDcjcAAAByVAAAAHI4AAAAKQFyWAAAAHIGAAAAcgYAAAByBwAAAHJ2AAAA+wAAAHMCAAAAAAF6GV9EdW1teU1vZHVsZUxvY2suX19yZXByX19OKQhySAAAAHJHAAAAckkAAABySgAAAHJZAAAAcnMAAABydAAAAHJ2AAAAcgYAAAByBgAAAHIGAAAAcgcAAABydwAAAOoAAABzCgAAAAwCBgIMBAwEDAVydwAAAGMAAAAAAAAAAAAAAAACAAAAQAAAAHM0AAAAZQAAWgEAZAAAWgIAZAEAZAIAhAAAWgMAZAMAZAQAhAAAWgQAZAUAZAYAhAAAWgUAZAcAUykI2hJfTW9kdWxlTG9ja01hbmFnZXJjAgAAAAAAAAACAAAAAgAAAEMAAABzFgAAAHwBAHwAAF8AAGQAAHwAAF8BAGQAAFMpAU4pAnJXAAAA2gVfbG9jaykCclgAAAByVAAAAHIGAAAAcgYAAAByBwAAAHJZAAAAAQEAAHMEAAAAAAEJAXobX01vZHVsZUxvY2tNYW5hZ2VyLl9faW5pdF9fYwEAAAAAAAAAAQAAAAoAAABDAAAAczUAAAB6FgB0AAB8AABqAQCDAQB8AABfAgBXZAAAdAMAagQAgwAAAVh8AABqAgBqBQCDAAABZAAAUykBTikG2hBfZ2V0X21vZHVsZV9sb2NrclcAAAByeQAAANoEX2ltcNoMcmVsZWFzZV9sb2NrcnMAAAApAXJYAAAAcgYAAAByBgAAAHIHAAAAclwAAAAFAQAAcwgAAAAAAQMBFgILAXocX01vZHVsZUxvY2tNYW5hZ2VyLl9fZW50ZXJfX2MBAAAAAAAAAAMAAAABAAAATwAAAHMRAAAAfAAAagAAagEAgwAAAWQAAFMpAU4pAnJ5AAAAcnQAAAApA3JYAAAAcmEAAADaBmt3YXJnc3IGAAAAcgYAAAByBwAAAHJiAAAADAEAAHMCAAAAAAF6G19Nb2R1bGVMb2NrTWFuYWdlci5fX2V4aXRfX04pBnJIAAAAckcAAABySQAAAHJZAAAAclwAAAByYgAAAHIGAAAAcgYAAAByBgAAAHIHAAAAcngAAAD/AAAAcwYAAAAMAgwEDAdyeAAAAGMBAAAAAAAAAAMAAAALAAAAAwAAAHOOAAAAZAEAfQEAeREAdAAAiAAAGYMAAH0BAFduEgAEdAEAawoAcisAAQEBWW4BAFh8AQBkAQBrCAByigB0AgBkAQBrCAByUwB0AwCIAACDAQB9AQBuDAB0BACIAACDAQB9AQCHAABmAQBkAgBkAwCGAAB9AgB0BQBqBgB8AQB8AgCDAgB0AACIAAA8bgAAfAEAUykEem1HZXQgb3IgY3JlYXRlIHRoZSBtb2R1bGUgbG9jayBmb3IgYSBnaXZlbiBtb2R1bGUgbmFtZS4KCiAgICBTaG91bGQgb25seSBiZSBjYWxsZWQgd2l0aCB0aGUgaW1wb3J0IGxvY2sgdGFrZW4uTmMBAAAAAAAAAAEAAAACAAAAEwAAAHMLAAAAdAAAiAAAPWQAAFMpAU4pAdoNX21vZHVsZV9sb2NrcykBcikAAAApAXJUAAAAcgYAAAByBwAAANoCY2IgAQAAcwIAAAAAAXocX2dldF9tb2R1bGVfbG9jay48bG9jYWxzPi5jYikHcn4AAAByYAAAAHJmAAAAcncAAAByZAAAANoIX3dlYWtyZWbaA3JlZikDclQAAAByaAAAAHJ/AAAAcgYAAAApAXJUAAAAcgcAAAByegAAABIBAABzGAAAAAAEBgEDAREBDQEFAQwBDAEPAgwBEgIZAXJ6AAAAYwEAAAAAAAAAAgAAAAsAAABDAAAAc0cAAAB0AAB8AACDAQB9AQB0AQBqAgCDAAABeQ4AfAEAagMAgwAAAVduEgAEdAQAawoAcjgAAQEBWW4LAFh8AQBqBQCDAAABZAEAUykCYRUBAABSZWxlYXNlIHRoZSBnbG9iYWwgaW1wb3J0IGxvY2ssIGFuZCBhY3F1aXJlcyB0aGVuIHJlbGVhc2UgdGhlCiAgICBtb2R1bGUgbG9jayBmb3IgYSBnaXZlbiBtb2R1bGUgbmFtZS4KICAgIFRoaXMgaXMgdXNlZCB0byBlbnN1cmUgYSBtb2R1bGUgaXMgY29tcGxldGVseSBpbml0aWFsaXplZCwgaW4gdGhlCiAgICBldmVudCBpdCBpcyBiZWluZyBpbXBvcnRlZCBieSBhbm90aGVyIHRocmVhZC4KCiAgICBTaG91bGQgb25seSBiZSBjYWxsZWQgd2l0aCB0aGUgaW1wb3J0IGxvY2sgdGFrZW4uTikGcnoAAAByewAAAHJ8AAAAcnMAAAByYwAAAHJ0AAAAKQJyVAAAAHJoAAAAcgYAAAByBgAAAHIHAAAA2hNfbG9ja191bmxvY2tfbW9kdWxlJQEAAHMOAAAAAAcMAQoBAwEOAQ0DBQJyggAAAGMBAAAAAAAAAAMAAAADAAAATwAAAHMNAAAAfAAAfAEAfAIAjgAAUykBYS4BAAByZW1vdmVfaW1wb3J0bGliX2ZyYW1lcyBpbiBpbXBvcnQuYyB3aWxsIGFsd2F5cyByZW1vdmUgc2VxdWVuY2VzCiAgICBvZiBpbXBvcnRsaWIgZnJhbWVzIHRoYXQgZW5kIHdpdGggYSBjYWxsIHRvIHRoaXMgZnVuY3Rpb24KCiAgICBVc2UgaXQgaW5zdGVhZCBvZiBhIG5vcm1hbCBjYWxsIGluIHBsYWNlcyB3aGVyZSBpbmNsdWRpbmcgdGhlIGltcG9ydGxpYgogICAgZnJhbWVzIGludHJvZHVjZXMgdW53YW50ZWQgbm9pc2UgaW50byB0aGUgdHJhY2ViYWNrIChlLmcuIHdoZW4gZXhlY3V0aW5nCiAgICBtb2R1bGUgY29kZSkKICAgIHIGAAAAKQPaAWZyYQAAANoEa3dkc3IGAAAAcgYAAAByBwAAANoZX2NhbGxfd2l0aF9mcmFtZXNfcmVtb3ZlZDkBAABzAgAAAAAIcoUAAABp7gwAAOkCAAAAcg8AAABzAgAAAA0K2gtfX3B5Y2FjaGVfX3oDLnB5egQucHljegQucHlvTmMCAAAAAAAAAAsAAAAGAAAAQwAAAHPAAAAAfAEAZAEAawgAchkAdAAAagEAagIADG4DAHwBAH0CAHwCAHIuAHQDAH0DAG4GAHQEAH0DAHQFAHwAAIMBAFwCAH0EAH0FAHwFAGoGAGQCAIMBAFwDAH0GAH0HAH0IAHQAAGoHAGoIAH0JAHwJAGQBAGsIAHKFAHQJAGQDAIMBAIIBAG4AAGQEAGoKAHwGAHKXAHwGAG4DAHwIAHwHAHwJAHwDAGQFABlnBACDAQB9CgB0CwB8BAB0DAB8CgCDAwBTKQZh9AEAAEdpdmVuIHRoZSBwYXRoIHRvIGEgLnB5IGZpbGUsIHJldHVybiB0aGUgcGF0aCB0byBpdHMgLnB5Yy8ucHlvIGZpbGUuCgogICAgVGhlIC5weSBmaWxlIGRvZXMgbm90IG5lZWQgdG8gZXhpc3Q7IHRoaXMgc2ltcGx5IHJldHVybnMgdGhlIHBhdGggdG8gdGhlCiAgICAucHljLy5weW8gZmlsZSBjYWxjdWxhdGVkIGFzIGlmIHRoZSAucHkgZmlsZSB3ZXJlIGltcG9ydGVkLiAgVGhlIGV4dGVuc2lvbgogICAgd2lsbCBiZSAucHljIHVubGVzcyBzeXMuZmxhZ3Mub3B0aW1pemUgaXMgbm9uLXplcm8sIHRoZW4gaXQgd2lsbCBiZSAucHlvLgoKICAgIElmIGRlYnVnX292ZXJyaWRlIGlzIG5vdCBOb25lLCB0aGVuIGl0IG11c3QgYmUgYSBib29sZWFuIGFuZCBpcyB1c2VkIGluCiAgICBwbGFjZSBvZiBzeXMuZmxhZ3Mub3B0aW1pemUuCgogICAgSWYgc3lzLmltcGxlbWVudGF0aW9uLmNhY2hlX3RhZyBpcyBOb25lIHRoZW4gTm90SW1wbGVtZW50ZWRFcnJvciBpcyByYWlzZWQuCgogICAgTtoBLnokc3lzLmltcGxlbWVudGF0aW9uLmNhY2hlX3RhZyBpcyBOb25lciIAAAByZQAAACkNcgkAAADaBWZsYWdz2ghvcHRpbWl6ZdoXREVCVUdfQllURUNPREVfU1VGRklYRVPaG09QVElNSVpFRF9CWVRFQ09ERV9TVUZGSVhFU3IrAAAAciQAAADaDmltcGxlbWVudGF0aW9u2gljYWNoZV90YWfaE05vdEltcGxlbWVudGVkRXJyb3JyHQAAAHIfAAAA2ghfUFlDQUNIRSkLcicAAADaDmRlYnVnX292ZXJyaWRl2gVkZWJ1Z9oIc3VmZml4ZXPaBGhlYWRyKgAAANoEYmFzZdoDc2Vw2gRyZXN02gN0YWfaCGZpbGVuYW1lcgYAAAByBgAAAHIHAAAA2hFjYWNoZV9mcm9tX3NvdXJjZbUBAABzFgAAAAANHwEGAQkCBgESARgBDAEMAQ8BKwFymgAAAGMBAAAAAAAAAAUAAAAFAAAAQwAAAHPBAAAAdAAAagEAagIAZAEAawgAciEAdAMAZAIAgwEAggEAbgAAdAQAfAAAgwEAXAIAfQEAfQIAdAQAfAEAgwEAXAIAfQEAfQMAfAMAdAUAawMAcmwAdAYAZAMAagcAdAUAfAAAgwIAgwEAggEAbgAAfAIAaggAZAQAgwEAZAUAawMAcpkAdAYAZAYAagcAfAIAgwEAgwEAggEAbgAAfAIAagkAZAQAgwEAZAcAGX0EAHQKAHwBAHwEAHQLAGQHABkXgwIAUykIYXkBAABHaXZlbiB0aGUgcGF0aCB0byBhIC5weWMuLy5weW8gZmlsZSwgcmV0dXJuIHRoZSBwYXRoIHRvIGl0cyAucHkgZmlsZS4KCiAgICBUaGUgLnB5Yy8ucHlvIGZpbGUgZG9lcyBub3QgbmVlZCB0byBleGlzdDsgdGhpcyBzaW1wbHkgcmV0dXJucyB0aGUgcGF0aCB0bwogICAgdGhlIC5weSBmaWxlIGNhbGN1bGF0ZWQgdG8gY29ycmVzcG9uZCB0byB0aGUgLnB5Yy8ucHlvIGZpbGUuICBJZiBwYXRoIGRvZXMKICAgIG5vdCBjb25mb3JtIHRvIFBFUCAzMTQ3IGZvcm1hdCwgVmFsdWVFcnJvciB3aWxsIGJlIHJhaXNlZC4gSWYKICAgIHN5cy5pbXBsZW1lbnRhdGlvbi5jYWNoZV90YWcgaXMgTm9uZSB0aGVuIE5vdEltcGxlbWVudGVkRXJyb3IgaXMgcmFpc2VkLgoKICAgIE56JHN5cy5pbXBsZW1lbnRhdGlvbi5jYWNoZV90YWcgaXMgTm9uZXole30gbm90IGJvdHRvbS1sZXZlbCBkaXJlY3RvcnkgaW4geyFyfXKIAAAAcoYAAAB6HGV4cGVjdGVkIG9ubHkgMiBkb3RzIGluIHshcn1yZQAAACkMcgkAAAByjQAAAHKOAAAAco8AAAByKwAAAHKQAAAA2gpWYWx1ZUVycm9ycjcAAAByawAAANoJcGFydGl0aW9uch8AAADaD1NPVVJDRV9TVUZGSVhFUykFcicAAABylAAAANoQcHljYWNoZV9maWxlbmFtZdoHcHljYWNoZdoNYmFzZV9maWxlbmFtZXIGAAAAcgYAAAByBwAAANoRc291cmNlX2Zyb21fY2FjaGXQAQAAcxgAAAAACRIBDwESARIBDAEJARIBFQEJAQ8BEwFyoQAAAGMBAAAAAAAAAAUAAAAMAAAAQwAAAHOkAAAAdAAAfAAAgwEAZAEAawIAchYAZAIAU3wAAGoBAGQDAIMBAFwDAH0BAH0CAH0DAHwBAAxzUQB8AwBqAgCDAABkBwBkCACFAgAZZAYAawMAclUAfAAAU3kQAHQDAHwAAIMBAH0EAFduKAAEdAQAdAUAZgIAawoAco8AAQEBfAAAZAIAZAkAhQIAGX0EAFluAQBYdAYAfAQAgwEAcqAAfAQAU3wAAFMpCnq8Q29udmVydCBhIGJ5dGVjb2RlIGZpbGUgcGF0aCB0byBhIHNvdXJjZSBwYXRoIChpZiBwb3NzaWJsZSkuCgogICAgVGhpcyBmdW5jdGlvbiBleGlzdHMgcHVyZWx5IGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSBmb3IKICAgIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aEZpbGVuYW1lcygpIGluIHRoZSBDIEFQSS4KCiAgICByZQAAAE5yiAAAAOkDAAAAciAAAADaAnB56f3////p/////3KlAAAAKQdyIwAAAHIkAAAA2gVsb3dlcnKhAAAAco8AAABymwAAAHIzAAAAKQXaDWJ5dGVjb2RlX3BhdGhylwAAAHIpAAAA2glleHRlbnNpb27aC3NvdXJjZV9wYXRocgYAAAByBgAAAHIHAAAA2g9fZ2V0X3NvdXJjZWZpbGXnAQAAcxQAAAAABxIBBAEYASMBBAEDARABEwEVAXKqAAAAYwEAAAAAAAAAAgAAAAsAAABDAAAAczwAAAB5EwB0AAB8AACDAQBqAQB9AQBXbhgABHQCAGsKAHItAAEBAWQBAH0BAFluAQBYfAEAZAIAT30BAHwBAFMpA3ozQ2FsY3VsYXRlIHRoZSBtb2RlIHBlcm1pc3Npb25zIGZvciBhIGJ5dGVjb2RlIGZpbGUuabYBAADpgAAAACkDci0AAAByLwAAAHIuAAAAKQJyJwAAAHIwAAAAcgYAAAByBgAAAHIHAAAA2gpfY2FsY19tb2Rl+gEAAHMMAAAAAAIDARMBDQELAwoBcqwAAADaCXZlcmJvc2l0eXIgAAAAYwEAAAABAAAAAwAAAAQAAABHAAAAc1EAAAB0AABqAQBqAgB8AQBrBQByTQB8AABqAwBkBgCDAQBzLgBkAwB8AAAXfQAAbgAAdAQAfAAAagUAfAIAjAAAZAQAdAAAagYAgwEBAW4AAGQFAFMpB3o9UHJpbnQgdGhlIG1lc3NhZ2UgdG8gc3RkZXJyIGlmIC12L1BZVEhPTlZFUkJPU0UgaXMgdHVybmVkIG9uLvoBI/oHaW1wb3J0IHoCIyByRQAAAE4pAnKuAAAAcq8AAAApB3IJAAAAcokAAADaB3ZlcmJvc2VyCwAAANoFcHJpbnRyNwAAANoGc3RkZXJyKQPaB21lc3NhZ2VyrQAAAHJhAAAAcgYAAAByBgAAAHIHAAAA2hBfdmVyYm9zZV9tZXNzYWdlBgIAAHMIAAAAAAISAQ8BDQFytAAAAGMBAAAAAAAAAAIAAAAEAAAAAwAAAHMmAAAAZAEAhwAAZgEAZAIAZAMAhgEAfQEAdAAAfAEAiAAAgwIAAXwBAFMpBHr8RGVjb3JhdG9yIHRvIHZlcmlmeSB0aGF0IHRoZSBtb2R1bGUgYmVpbmcgcmVxdWVzdGVkIG1hdGNoZXMgdGhlIG9uZSB0aGUKICAgIGxvYWRlciBjYW4gaGFuZGxlLgoKICAgIFRoZSBmaXJzdCBhcmd1bWVudCAoc2VsZikgbXVzdCBkZWZpbmUgX25hbWUgd2hpY2ggdGhlIHNlY29uZCBhcmd1bWVudCBpcwogICAgY29tcGFyZWQgYWdhaW5zdC4gSWYgdGhlIGNvbXBhcmlzb24gZmFpbHMgdGhlbiBJbXBvcnRFcnJvciBpcyByYWlzZWQuCgogICAgTmMCAAAAAAAAAAQAAAAFAAAAHwAAAHNTAAAAfAEAZAAAawgAchgAfAAAagAAfQEAbigAfAAAagAAfAEAawMAckAAdAEAZAEAfAEAFmQCAHwBAIMBAYIBAG4AAIgAAHwAAHwBAHwCAHwDAI4CAFMpA056F2xvYWRlciBjYW5ub3QgaGFuZGxlICVzclQAAAApAnJUAAAA2gtJbXBvcnRFcnJvcikEclgAAAByVAAAAHJhAAAAcn0AAAApAdoGbWV0aG9kcgYAAAByBwAAANoTX2NoZWNrX25hbWVfd3JhcHBlchYCAABzCgAAAAABDAEMAQ8BGQF6KF9jaGVja19uYW1lLjxsb2NhbHM+Ll9jaGVja19uYW1lX3dyYXBwZXIpAXJSAAAAKQJytgAAAHK3AAAAcgYAAAApAXK2AAAAcgcAAADaC19jaGVja19uYW1lDgIAAHMGAAAAAAgVBg0BcrgAAABjAQAAAAAAAAACAAAAAwAAAAMAAABzIwAAAIcAAGYBAGQBAGQCAIYAAH0BAHQAAHwBAIgAAIMCAAF8AQBTKQN6MURlY29yYXRvciB0byB2ZXJpZnkgdGhlIG5hbWVkIG1vZHVsZSBpcyBidWlsdC1pbi5jAgAAAAAAAAACAAAABAAAABMAAABzOgAAAHwBAHQAAGoBAGsHAHItAHQCAGQBAGoDAHwBAIMBAGQCAHwBAIMBAYIBAG4AAIgAAHwAAHwBAIMCAFMpA056HXshcn0gaXMgbm90IGEgYnVpbHQtaW4gbW9kdWxlclQAAAApBHIJAAAA2hRidWlsdGluX21vZHVsZV9uYW1lc3K1AAAAcjcAAAApAnJYAAAA2ghmdWxsbmFtZSkB2gNmeG5yBgAAAHIHAAAA2hlfcmVxdWlyZXNfYnVpbHRpbl93cmFwcGVyIgIAAHMIAAAAAAEPARIBDAF6NF9yZXF1aXJlc19idWlsdGluLjxsb2NhbHM+Ll9yZXF1aXJlc19idWlsdGluX3dyYXBwZXIpAXJSAAAAKQJyuwAAAHK8AAAAcgYAAAApAXK7AAAAcgcAAADaEV9yZXF1aXJlc19idWlsdGluIAIAAHMGAAAAAAISBQ0Bcr0AAABjAQAAAAAAAAACAAAAAwAAAAMAAABzIwAAAIcAAGYBAGQBAGQCAIYAAH0BAHQAAHwBAIgAAIMCAAF8AQBTKQN6L0RlY29yYXRvciB0byB2ZXJpZnkgdGhlIG5hbWVkIG1vZHVsZSBpcyBmcm96ZW4uYwIAAAAAAAAAAgAAAAQAAAATAAAAczoAAAB0AABqAQB8AQCDAQBzLQB0AgBkAQBqAwB8AQCDAQBkAgB8AQCDAQGCAQBuAACIAAB8AAB8AQCDAgBTKQNOeht7IXJ9IGlzIG5vdCBhIGZyb3plbiBtb2R1bGVyVAAAACkEcnsAAADaCWlzX2Zyb3plbnK1AAAAcjcAAAApAnJYAAAAcroAAAApAXK7AAAAcgYAAAByBwAAANoYX3JlcXVpcmVzX2Zyb3plbl93cmFwcGVyLQIAAHMIAAAAAAEPARIBDAF6Ml9yZXF1aXJlc19mcm96ZW4uPGxvY2Fscz4uX3JlcXVpcmVzX2Zyb3plbl93cmFwcGVyKQFyUgAAACkCcrsAAAByvwAAAHIGAAAAKQFyuwAAAHIHAAAA2hBfcmVxdWlyZXNfZnJvemVuKwIAAHMGAAAAAAISBQ0BcsAAAABjAgAAAAAAAAAFAAAABAAAAEMAAABzVwAAAHwAAGoAAHwBAIMBAFwCAH0CAH0DAHwCAGQBAGsIAHJTAHQBAHwDAIMBAHJTAGQCAH0EAHQCAGoDAHwEAGoEAHwDAGQDABmDAQB0BQCDAgABbgAAfAIAUykEeptUcnkgdG8gZmluZCBhIGxvYWRlciBmb3IgdGhlIHNwZWNpZmllZCBtb2R1bGUgYnkgZGVsZWdhdGluZyB0bwogICAgc2VsZi5maW5kX2xvYWRlcigpLgoKICAgIFRoaXMgbWV0aG9kIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgZmluZGVyLmZpbmRfc3BlYygpLgoKICAgIE56LE5vdCBpbXBvcnRpbmcgZGlyZWN0b3J5IHt9OiBtaXNzaW5nIF9faW5pdF9fcmUAAAApBtoLZmluZF9sb2FkZXJyIwAAANoJX3dhcm5pbmdz2gR3YXJucjcAAADaDUltcG9ydFdhcm5pbmcpBXJYAAAAcroAAADaBmxvYWRlctoIcG9ydGlvbnPaA21zZ3IGAAAAcgYAAAByBwAAANoRX2ZpbmRfbW9kdWxlX3NoaW02AgAAcwoAAAAAChUBGAEGASABcsgAAABjAgAAAAAAAAAFAAAAAwAAAEMAAABzXQAAAHQAAHwBAHwAAIMCAH0CAHQBAHwCAIMBAH0DAHwBAHQCAGoDAGsGAHJPAHQCAGoDAHwBABl9BAB8AwBqBAB8BACDAQABdAIAagMAfAEAGVN8AwBqBQCDAABTZAEAUykCeoBMb2FkIHRoZSBzcGVjaWZpZWQgbW9kdWxlIGludG8gc3lzLm1vZHVsZXMgYW5kIHJldHVybiBpdC4KCiAgICBUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkLiAgVXNlIGxvYWRlci5leGVjX21vZHVsZSBpbnN0ZWFkLgoKICAgIE4pBtoQc3BlY19mcm9tX2xvYWRlctoMX1NwZWNNZXRob2RzcgkAAAByWgAAANoEZXhlY9oEbG9hZCkFclgAAAByugAAANoEc3BlY9oHbWV0aG9kc9oGbW9kdWxlcgYAAAByBgAAAHIHAAAA2hFfbG9hZF9tb2R1bGVfc2hpbUcCAABzDgAAAAAGDwEMAQ8BDQENAQsCctAAAABjBAAAAAAAAAALAAAAEwAAAEMAAABz/wEAAGkAAH0EAHwCAGQBAGsJAHIfAHwCAHwEAGQCADxuBgBkAwB9AgB8AwBkAQBrCQByPgB8AwB8BABkBAA8bgAAfAAAZAEAZAUAhQIAGX0FAHwAAGQFAGQGAIUCABl9BgB8AABkBgBkBwCFAgAZfQcAfAUAdAAAawMAcqsAZAgAagEAfAIAfAUAgwIAfQgAdAIAZAkAfAgAgwIAAXQDAHwIAHwEAI0BAIIBAG56AHQEAHwGAIMBAGQFAGsDAHLoAGQKAGoBAHwCAIMBAH0IAHQCAGQJAHwIAIMCAAF0BQB8CACDAQCCAQBuPQB0BAB8BwCDAQBkBQBrAwByJQFkCwBqAQB8AgCDAQB9CAB0AgBkCQB8CACDAgABdAUAfAgAgwEAggEAbgAAfAEAZAEAawkAcvEBeRQAdAYAfAEAZAwAGYMBAH0JAFduEgAEdAcAawoAclkBAQEBWW5BAFh0CAB8BgCDAQB8CQBrAwBymgFkDQBqAQB8AgCDAQB9CAB0AgBkCQB8CACDAgABdAMAfAgAfAQAjQEAggEAbgAAeRIAfAEAZA4AGWQPAEB9CgBXbhIABHQHAGsKAHLAAQEBAVlx8QFYdAgAfAcAgwEAfAoAawMAcvEBdAMAZA0AagEAfAIAgwEAfAQAjQEAggEAcfEBbgAAfAAAZAcAZAEAhQIAGVMpEGF6AQAAVmFsaWRhdGUgdGhlIGhlYWRlciBvZiB0aGUgcGFzc2VkLWluIGJ5dGVjb2RlIGFnYWluc3Qgc291cmNlX3N0YXRzIChpZgogICAgZ2l2ZW4pIGFuZCByZXR1cm5pbmcgdGhlIGJ5dGVjb2RlIHRoYXQgY2FuIGJlIGNvbXBpbGVkIGJ5IGNvbXBpbGUoKS4KCiAgICBBbGwgb3RoZXIgYXJndW1lbnRzIGFyZSB1c2VkIHRvIGVuaGFuY2UgZXJyb3IgcmVwb3J0aW5nLgoKICAgIEltcG9ydEVycm9yIGlzIHJhaXNlZCB3aGVuIHRoZSBtYWdpYyBudW1iZXIgaXMgaW5jb3JyZWN0IG9yIHRoZSBieXRlY29kZSBpcwogICAgZm91bmQgdG8gYmUgc3RhbGUuIEVPRkVycm9yIGlzIHJhaXNlZCB3aGVuIHRoZSBkYXRhIGlzIGZvdW5kIHRvIGJlCiAgICB0cnVuY2F0ZWQuCgogICAgTnJUAAAAego8Ynl0ZWNvZGU+cicAAAByDgAAAOkIAAAA6QwAAAB6HmJhZCBtYWdpYyBudW1iZXIgaW4geyFyfTogeyFyfXoCe316K3JlYWNoZWQgRU9GIHdoaWxlIHJlYWRpbmcgdGltZXN0YW1wIGluIHshcn16MHJlYWNoZWQgRU9GIHdoaWxlIHJlYWRpbmcgc2l6ZSBvZiBzb3VyY2UgaW4geyFyfdoFbXRpbWV6GmJ5dGVjb2RlIGlzIHN0YWxlIGZvciB7IXJ92gRzaXplbAMAAAD/f/9/AwApCdoMTUFHSUNfTlVNQkVScjcAAABytAAAAHK1AAAAciMAAADaCEVPRkVycm9ychAAAAByYAAAAHIWAAAAKQtyQgAAANoMc291cmNlX3N0YXRzclQAAAByJwAAANoLZXhjX2RldGFpbHPaBW1hZ2lj2g1yYXdfdGltZXN0YW1w2ghyYXdfc2l6ZXKzAAAA2gxzb3VyY2VfbXRpbWXaC3NvdXJjZV9zaXplcgYAAAByBgAAAHIHAAAA2hlfdmFsaWRhdGVfYnl0ZWNvZGVfaGVhZGVyVwIAAHNMAAAAAAsGAQwBDQMGAQwBDQEQARABEAEMARIBDQESARIBDwENAQ8BEgEPAQ0BDwEMAQMBFAENAQUCEgEPAQ0BEgEDARIBDQEFAhIBDwEPAXLeAAAAYwQAAAAAAAAABQAAAAYAAABDAAAAc3MAAAB0AABqAQB8AACDAQB9BAB0AgB8BAB0AwCDAgByTgB0BABkAQB8AgCDAgABfAMAZAIAawkAckoAdAUAagYAfAQAfAMAgwIAAW4AAHwEAFN0BwBkAwBqCAB8AgCDAQBkBAB8AQBkBQB8AgCDAQKCAQBkAgBTKQZ6PENvbXBpbGUgYnl0ZWNvZGUgYXMgcmV0dXJuZWQgYnkgX3ZhbGlkYXRlX2J5dGVjb2RlX2hlYWRlcigpLnoVY29kZSBvYmplY3QgZnJvbSB7IXJ9TnoXTm9uLWNvZGUgb2JqZWN0IGluIHshcn1yVAAAAHInAAAAKQnaB21hcnNoYWzaBWxvYWRz2gppc2luc3RhbmNl2gpfY29kZV90eXBlcrQAAAByewAAANoQX2ZpeF9jb19maWxlbmFtZXK1AAAAcjcAAAApBXJCAAAAclQAAABypwAAAHKpAAAA2gRjb2RlcgYAAAByBgAAAHIHAAAA2hFfY29tcGlsZV9ieXRlY29kZY4CAABzEAAAAAACDwEPAQ0BDAETAQQCEgFy5QAAAHJlAAAAYwMAAAAAAAAABAAAAAMAAABDAAAAc0wAAAB0AAB0AQCDAQB9AwB8AwBqAgB0AwB8AQCDAQCDAQABfAMAagIAdAMAfAIAgwEAgwEAAXwDAGoCAHQEAGoFAHwAAIMBAIMBAAF8AwBTKQF6UENvbXBpbGUgYSBjb2RlIG9iamVjdCBpbnRvIGJ5dGVjb2RlIGZvciB3cml0aW5nIG91dCB0byBhIGJ5dGUtY29tcGlsZWQKICAgIGZpbGUuKQbaCWJ5dGVhcnJheXLVAAAA2gZleHRlbmRyEwAAAHLfAAAA2gVkdW1wcykEcuQAAABy0wAAAHLdAAAAckIAAAByBgAAAHIGAAAAcgcAAADaEV9jb2RlX3RvX2J5dGVjb2RlmgIAAHMKAAAAAAMMARMBEwEWAXLpAAAAYwEAAAAAAAAABQAAAAQAAABDAAAAc1kAAABkAQBkAgBsAAB9AQB0AQBqAgB8AACDAQBqAwB9AgB8AQBqBAB8AgCDAQB9AwB0AQBqBQBkAgBkAwCDAgB9BAB8BABqBgB8AABqBgB8AwBkAQAZgwEAgwEAUykEenlEZWNvZGUgYnl0ZXMgcmVwcmVzZW50aW5nIHNvdXJjZSBjb2RlIGFuZCByZXR1cm4gdGhlIHN0cmluZy4KCiAgICBVbml2ZXJzYWwgbmV3bGluZSBzdXBwb3J0IGlzIHVzZWQgaW4gdGhlIGRlY29kaW5nLgogICAgcmUAAABOVCkH2gh0b2tlbml6ZXI9AAAA2gdCeXRlc0lP2ghyZWFkbGluZdoPZGV0ZWN0X2VuY29kaW5n2hlJbmNyZW1lbnRhbE5ld2xpbmVEZWNvZGVy2gZkZWNvZGUpBdoMc291cmNlX2J5dGVzcuoAAADaFXNvdXJjZV9ieXRlc19yZWFkbGluZdoIZW5jb2RpbmfaD25ld2xpbmVfZGVjb2RlcnIGAAAAcgYAAAByBwAAANoNZGVjb2RlX3NvdXJjZaQCAABzCgAAAAAFDAESAQ8BEgFy9AAAAGMBAAAAAAAAAAUAAAAjAAAAQwAAAHMPAQAAdAAAfAAAZAEAZAAAgwMAfQEAdAEAfAEAZAIAgwIAckoAeREAfAEAagIAfAAAgwEAU1dxSgAEdAMAawoAckYAAQEBWXFKAFhuAAB5DQB8AABqBAB9AgBXbhIABHQFAGsKAHJrAAEBAVluHQBYfAIAZAAAawkAcogAdAYAfAIAgwEAagIAgwAAU3kNAHwAAGoHAH0DAFduGAAEdAUAawoAcq8AAQEBZAMAfQMAWW4BAFh5DQB8AABqCAB9BABXbjsABHQFAGsKAHL6AAEBAXwBAGQAAGsIAHLmAGQEAGoJAHwDAIMBAFNkBQBqCQB8AwB8AQCDAgBTWW4RAFhkBgBqCQB8AwB8BACDAgBTZAAAUykHTtoKX19sb2FkZXJfX9oLbW9kdWxlX3JlcHL6AT96DTxtb2R1bGUgeyFyfT56FDxtb2R1bGUgeyFyfSAoeyFyfSk+ehc8bW9kdWxlIHshcn0gZnJvbSB7IXJ9PikKck0AAABySwAAAHL2AAAA2glFeGNlcHRpb27aCF9fc3BlY19f2g5BdHRyaWJ1dGVFcnJvcnLKAAAAckgAAADaCF9fZmlsZV9fcjcAAAApBXLPAAAAcsUAAAByzQAAAHJUAAAAcpkAAAByBgAAAHIGAAAAcgcAAADaDF9tb2R1bGVfcmVwcrICAABzLgAAAAACEgEPBAMBEQENAQgBAwENAQ0BBQIMARAEAwENAQ0BCwEDAQ0BDQEMAQ0CFQJy/AAAAGMAAAAAAAAAAAAAAAACAAAAQAAAAHM0AAAAZQAAWgEAZAAAWgIAZAEAZAIAhAAAWgMAZAMAZAQAhAAAWgQAZAUAZAYAhAAAWgUAZAcAUykI2hFfaW5zdGFsbGVkX3NhZmVseWMCAAAAAAAAAAIAAAACAAAAQwAAAHMZAAAAfAEAfAAAXwAAfAEAagEAfAAAXwIAZAAAUykBTikD2gdfbW9kdWxlcvkAAADaBV9zcGVjKQJyWAAAAHLPAAAAcgYAAAByBgAAAHIHAAAAclkAAADYAgAAcwQAAAAAAQkBehpfaW5zdGFsbGVkX3NhZmVseS5fX2luaXRfX2MBAAAAAAAAAAEAAAADAAAAQwAAAHMmAAAAZAEAfAAAagAAXwEAfAAAagIAdAMAagQAfAAAagAAagUAPGQAAFMpAk5UKQZy/wAAANoNX2luaXRpYWxpemluZ3L+AAAAcgkAAAByWgAAAHJUAAAAKQFyWAAAAHIGAAAAcgYAAAByBwAAAHJcAAAA3AIAAHMEAAAAAAQMAXobX2luc3RhbGxlZF9zYWZlbHkuX19lbnRlcl9fYwEAAAAAAAAAAwAAABEAAABHAAAAc3kAAAB6ZQB8AABqAAB9AgB0AQBkAQBkAgCEAAB8AQBEgwEAgwEAck4AeREAdAIAagMAfAIAagQAPVdxZAAEdAUAawoAckoAAQEBWXFkAFhuFgB0BgBkAwB8AgBqBAB8AgBqBwCDAwABV2QAAGQEAHwAAGoAAF8IAFhkAABTKQVOYwEAAAAAAAAAAgAAAAMAAABzAAAAcxsAAAB8AABdEQB9AQB8AQBkAABrCQBWAXEDAGQAAFMpAU5yBgAAACkCchkAAAByXQAAAHIGAAAAcgYAAAByBwAAAHJeAAAA5gIAAHMCAAAABgB6LV9pbnN0YWxsZWRfc2FmZWx5Ll9fZXhpdF9fLjxsb2NhbHM+LjxnZW5leHByPnoSaW1wb3J0IHshcn0gIyB7IXJ9RikJcv8AAAByXwAAAHIJAAAAcloAAAByVAAAAHJgAAAAcrQAAAByxQAAAHIAAQAAKQNyWAAAAHJhAAAAcs0AAAByBgAAAHIGAAAAcgcAAAByYgAAAOMCAABzEgAAAAABAwEJARkBAwERAQ0BCAIaAnoaX2luc3RhbGxlZF9zYWZlbHkuX19leGl0X19OKQZySAAAAHJHAAAAckkAAAByWQAAAHJcAAAAcmIAAAByBgAAAHIGAAAAcgYAAAByBwAAAHL9AAAA1gIAAHMGAAAADAIMBAwHcv0AAABjAAAAAAAAAAAAAAAACAAAAEAAAABzrAAAAGUAAFoBAGQAAFoCAGQBAFoDAGQCAGQDAGQEAGQDAGQFAGQDAGQGAGQHAIQAA1oEAGQIAGQJAIQAAFoFAGQKAGQLAIQAAFoGAGUHAGQMAGQNAIQAAIMBAFoIAGUIAGoJAGQOAGQNAIQAAIMBAFoIAGUHAGQPAGQQAIQAAIMBAFoKAGUHAGQRAGQSAIQAAIMBAFoLAGULAGoJAGQTAGQSAIQAAIMBAFoLAGQDAFMpFNoKTW9kdWxlU3BlY2HQBQAAVGhlIHNwZWNpZmljYXRpb24gZm9yIGEgbW9kdWxlLCB1c2VkIGZvciBsb2FkaW5nLgoKICAgIEEgbW9kdWxlJ3Mgc3BlYyBpcyB0aGUgc291cmNlIGZvciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbW9kdWxlLiAgRm9yCiAgICBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgbW9kdWxlLCBpbmNsdWRpbmcgc291cmNlLCB1c2UgdGhlIHNwZWMncwogICAgbG9hZGVyLgoKICAgIGBuYW1lYCBpcyB0aGUgYWJzb2x1dGUgbmFtZSBvZiB0aGUgbW9kdWxlLiAgYGxvYWRlcmAgaXMgdGhlIGxvYWRlcgogICAgdG8gdXNlIHdoZW4gbG9hZGluZyB0aGUgbW9kdWxlLiAgYHBhcmVudGAgaXMgdGhlIG5hbWUgb2YgdGhlCiAgICBwYWNrYWdlIHRoZSBtb2R1bGUgaXMgaW4uICBUaGUgcGFyZW50IGlzIGRlcml2ZWQgZnJvbSB0aGUgbmFtZS4KCiAgICBgaXNfcGFja2FnZWAgZGV0ZXJtaW5lcyBpZiB0aGUgbW9kdWxlIGlzIGNvbnNpZGVyZWQgYSBwYWNrYWdlIG9yCiAgICBub3QuICBPbiBtb2R1bGVzIHRoaXMgaXMgcmVmbGVjdGVkIGJ5IHRoZSBgX19wYXRoX19gIGF0dHJpYnV0ZS4KCiAgICBgb3JpZ2luYCBpcyB0aGUgc3BlY2lmaWMgbG9jYXRpb24gdXNlZCBieSB0aGUgbG9hZGVyIGZyb20gd2hpY2ggdG8KICAgIGxvYWQgdGhlIG1vZHVsZSwgaWYgdGhhdCBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUuICBXaGVuIGZpbGVuYW1lIGlzCiAgICBzZXQsIG9yaWdpbiB3aWxsIG1hdGNoLgoKICAgIGBoYXNfbG9jYXRpb25gIGluZGljYXRlcyB0aGF0IGEgc3BlYydzICJvcmlnaW4iIHJlZmxlY3RzIGEgbG9jYXRpb24uCiAgICBXaGVuIHRoaXMgaXMgVHJ1ZSwgYF9fZmlsZV9fYCBhdHRyaWJ1dGUgb2YgdGhlIG1vZHVsZSBpcyBzZXQuCgogICAgYGNhY2hlZGAgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBjYWNoZWQgYnl0ZWNvZGUgZmlsZSwgaWYgYW55LiAgSXQKICAgIGNvcnJlc3BvbmRzIHRvIHRoZSBgX19jYWNoZWRfX2AgYXR0cmlidXRlLgoKICAgIGBzdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9uc2AgaXMgdGhlIHNlcXVlbmNlIG9mIHBhdGggZW50cmllcyB0bwogICAgc2VhcmNoIHdoZW4gaW1wb3J0aW5nIHN1Ym1vZHVsZXMuICBJZiBzZXQsIGlz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fAMAcy0AdAEAfAEAZAEAZAIAgwMAZAIAawgAclUAeRAAfAQAagIAfAEAXwMAV3FVAAR0BABrCgByUQABAQFZcVUAWG4AAHwCAHNzAHQBAHwBAGQDAGQCAIMDAGQCAGsIAHLdAHwEAGoFAH0FAHwFAGQCAGsIAHK4AHwEAGoGAGQCAGsJAHK4AHQHAGoIAHQHAIMBAH0FAHwEAGoGAHwFAF8JAHG4AG4AAHkNAHwFAHwBAF8KAFdx3QAEdAQAawoActkAAQEBWXHdAFhuAAB8AgBz+wB0AQB8AQBkBABkAgCDAwBkAgBrCAByIwF5EAB8BABqCwB8AQBfDABXcSMBBHQEAGsKAHIfAQEBAVlxIwFYbgAAeQ0AfAQAfAEAXw0AV24SAAR0BABrCgByRAEBAQFZbgEAWHwCAHNjAXQBAHwBAGQFAGQCAIMDAGQCAGsIAHKdAXwEAGoGAGQCAGsJAHKdAXkQAHwEAGoGAHwBAF8OAFdxmgEEdAQAawoAcpYBAQEBWXGaAVhxnQFuAAB8BABqDwByRwJ8AgBzxAF0AQB8AQBkBgBkAgCDAwBkAgBrCABy7AF5EAB8BABqEAB8AQBfEQBXcewBBHQEAGsKAHLoAQEBAVlx7AFYbgAAfAIAcwoCdAEAfAEAZAcAZAIAgwMAZAIAawgAckcCfAQAahIAZAIAawkAckQCeRAAfAQAahIAfAEAXxMAV3FBAgR0BABrCgByPQIBAQFZcUECWHFEAnFHAm4AAGQCAFMpCGEdAgAAU2V0IHRoZSBtb2R1bGUncyBhdHRyaWJ1dGVzLgoKICAgICAgICBBbGwgbWlzc2luZyBpbXBvcnQtcmVsYXRlZCBtb2R1bGUgYXR0cmlidXRlcyB3aWxsIGJlIHNldC4gIEhlcmUKICAgICAgICBpcyBob3cgdGhlIHNwZWMgYXR0cmlidXRlcyBtYXAgb250byB0aGUgbW9kdWxlOgoKICAgICAgICBzcGVjLm5hbWUgLT4gbW9kdWxlLl9fbmFtZV9fCiAgICAgICAgc3BlYy5sb2FkZXIgLT4gbW9kdWxlLl9fbG9hZGVyX18KICAgICAgICBzcGVjLnBhcmVudCAtPiBtb2R1bGUuX19wYWNrYWdlX18KICAgICAgICBzcGVjIC0+IG1vZHVsZS5fX3NwZWNfXwoKICAgICAgICBP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IHRoZSBudW1lcmljIHRpbWVzdGFtcCBvZiBsYXN0IHNvdXJjZQogICAgICAgICAgY29kZSBtb2RpZmljYXRpb247CiAgICAgICAgLSAnc2l6ZScgKG9wdGlvbmFsKSBpcyB0aGUgc2l6ZSBpbiBieXRlcyBvZiB0aGUgc291cmNlIGNvZGUuCgogICAgICAgIEltcGxlbWVudGluZyB0aGlzIG1ldGhvZCBhbGxvd3MgdGhlIGxvYWRlciB0byByZWFkIGJ5dGVjb2RlIGZpbGVzLgogICAgICAgIFJhaXNlcyBJT0Vycm9yIHdoZW4gdGhlIHBhdGggY2Fubm90IGJlIGhhbmRsZWQuCiAgICAgICAgctMAAAApAXJfAQAAKQJyWAAAAHInAAAAcgYAAAByBgAAAHIHAAAA2gpwYXRoX3N0YXRzzgUAAHMCAAAAAAt6F1NvdXJjZUxvYWRlci5wYXRoX3N0YXRzYwQAAAAAAAAABAAAAAMAAABDAAAAcxAAAAB8AABqAAB8AgB8AwCDAgBTKQF65E9wdGlvbmFsIG1ldGhvZCB3aGljaCB3cml0ZXMgZGF0YSAoYnl0ZXMpIHRvIGEgZmlsZSBwYXRoIChhIHN0cikuCgogICAgICAgIEltcGxlbWVudGluZyB0aGlzIG1ldGhvZCBhbGxvd3MgZm9yIHRoZSB3cml0aW5nIG9mIGJ5dGVjb2RlIGZpbGVzLgoKICAgICAgICBUaGUgc291cmNlIHBhdGggaXMgbmVlZGVkIGluIG9yZGVyIHRvIGNvcnJlY3RseSB0cmFuc2ZlciBwZXJtaXNzaW9ucwogICAgICAgICkB2ghzZXRfZGF0YSkEclgAAAByqQAAANoKY2FjaGVfcGF0aHJCAAAAcgYAAAByBgAAAHIHAAAA2g9fY2FjaGVfYnl0ZWNvZGXbBQAAcwIAAAAACHocU291cmNlTG9hZGVyLl9jYWNoZV9ieXRlY29kZWMDAAAAAAAAAAMAAAABAAAAQwAAAHMEAAAAZAEAUykCepZPcHRpb25hbCBtZXRob2Qgd2hpY2ggd3JpdGVzIGRhdGEgKGJ5dGVzKSB0byBhIGZpbGUgcGF0aCAoYSBzdHIpLgoKICAgICAgICBJbXBsZW1lbnRpbmcgdGhpcyBtZXRob2QgYWxsb3dzIGZvciB0aGUg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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 10
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
abc.cpython-34.pyc
11.31 KB
lrw-r--r--
2024-04-17 17:10:07
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
abc.cpython-34.pyo
11.31 KB
lrw-r--r--
2024-04-17 17:10:07
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
machinery.cpython-34.pyc
1002 B
lrw-r--r--
2024-04-17 17:10:07
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
machinery.cpython-34.pyo
1002 B
lrw-r--r--
2024-04-17 17:10:07
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
util.cpython-34.pyc
6.41 KB
lrw-r--r--
2024-04-17 17:10:07
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
util.cpython-34.pyo
6.41 KB
lrw-r--r--
2024-04-17 17:10:07
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_bootstrap.cpython-34.pyc
68.38 KB
lrw-r--r--
2024-04-17 17:10:07
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_bootstrap.cpython-34.pyo
68.16 KB
lrw-r--r--
2024-04-17 17:10:03
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-34.pyc
3.58 KB
lrw-r--r--
2024-04-17 17:10:07
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-34.pyo
3.58 KB
lrw-r--r--
2024-04-17 17:10:07
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).