LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogS29yZWFuIExhbmd1YWdlIFN1cHBvcnQKICoKICogQ29weXJpZ2h0IDIwMDIgSmFjbyBHcmVlZmYKICogQ29weXJpZ2h0IDIwMDMgRGltaXRyaWUgTy4gUGF1bgogKiBDb3B5cmlnaHQgMjAwMy0yMDA0IE1pa2UgSGVhcm4KICogQ29weXJpZ2h0IDIwMDUsMjAwNiBZdW5Tb25nIEh3YW5nCiAqIENvcHlyaWdodCAyMDA2IEJ5ZW9uZy1TaWsgSmVvbiAKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqCiAqLwoKTEFOR1VBR0UgTEFOR19LT1JFQU4sIFNVQkxBTkdfTkVVVFJBTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApJRFJfV0lORUNGRyBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAivLPBpCIsIElEQ19BVURJT19DT05GSUdVUkUKICAgIEVORApFTkQKCklERF9BQk9VVENGRyBESUFMT0dFWCAwLCAwLCAyNjAsIDI3MApTVFlMRSBXU19DSElMRApGT05UIDksICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVCAgICAgICAgICAgUEFDS0FHRV9TVFJJTkcsSURDX1NUQVRJQywxMTksMTcsMTIwLDgKICAgIENPTlRST0wgICAgICAgICBJREJfV0lORSxJRENfU1RBVElDLCJTdGF0aWMiLFNTX0JJVE1BUCAsMTUsMTcsMTU3LDExMQogICAgTFRFWFQgICAgICAgICAgICJodHRwOi8vd3d3LndpbmVocS5vcmcvIixJRENfU1RBVElDLDExOSwzMSwxMDYsOAogICAgTFRFWFQgICAgICAgICAgICLAzCC288DMuuq3r7iutMIgwNrAryC80sfBxq6//r7uwNS0z7TZLiC0573FwLogwNrAryC80sfBxq6//r7uIMDntNwoRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uKb+hvK0guLi15yBHTlUgTEdQTChMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSkgvsa3ob+hvK0gwMwgx8G3zrHXt6XAuyDA57noxvcgtse0wiC89sGkx9IgvPYgwNa9wLTPtNkuILbzwMy8vr26wMcgufbA/MC6IDIuMSC2x7TCICi8scXDwPvAuLfOKSCx1yDAzMjEILn2wPzAuyC1+7ijuOkgtcu0z7TZLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxMTksNDQsMTI0LDcyCkVORAoKSUREX0FQUENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA5LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgx8G3zrHXt6UgvLPBpCAiLElEQ19TVEFUSUMsIDgsNCwyNDQsMjQwCiAgICBMVEVYVCAgICAgICAgICAgIldpbmXAuiCworCiwMcgx8G3zrHXt6W/oSC068fYvK0gtNm4pSC59sD8wMcgwKm1tb/swe64piDI5LO7s74gvPYgwNa9wLTPtNkuIMDMIMXHwLogtvPAzLrqt6+4riwgsde3ocfIIMXHtemw+iC/rLDhtce+7iDA1r7uvK0gwMwgxce16bD6IMfUsrIgvcO9usXbIMD8w7wgtse0wiDHwbfOsde3pbqwILyzwaTAuyC52bLcILz2IMDWvcC0z7TZLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSwyMCwyMjcsMzAKICAgIENPTlRST0wgICAgICAgICAiQXBwbGljYXRpb25zIixJRENfQVBQX0xJU1RWSUVXLCJTeXNMaXN0VmlldzMyIixXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgTFZTX0xJU1QgfCBMVlNfU0lOR0xFU0VMIHwgTFZTX1NIT1dTRUxBTFdBWVMsCiAgICAgICAgICAgICAgICAgICAgMTUsNTAsMjMwLDE1MAogICAgUFVTSEJVVFRPTgkgICAgIsfBt86x17elIMPfsKHHz7HiKCZBKS4uLiIsSURDX0FQUF9BRERBUFAsIDkwLDIwNCw3NSwxNAogICAgUFVTSEJVVFRPTgkgICAgIsfBt86x17elIMGmsMXHz7HiKCZSKSIsSURDX0FQUF9SRU1PVkVBUFAsIDE3MCwyMDQsNzUsMTQKICAgIExURVhUICAgICAgICAgICAiwKm1tb/swe4gufbBrygmVyk6IixJRENfU1RBVElDLDE2LDIyNyw3NSwxNAogICAgQ09NQk9CT1ggICAgICAgIElEQ19XSU5WRVIsODMsMjI0LDE2Myw1NixDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgICAgCkVORAoKSUREX0dSQVBIQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDksICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiDDoiC8s8GkICIsSURDX1NUQVRJQyw4LDQsMjQ0LDE4MAoKICAgIENPTlRST0wJICAgICJEaXJlY3RYIMfBt86x17eltenAzCC4tr/svbogxL+8rbimILHXtenAxyDDor7Iv6EgwOK+xrXOsNQgx9QiLElEQ19EWF9NT1VTRV9HUkFCLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMTQsMjMwLDgKICAgIENPTlRST0wJICAgICK1pb26xanFviDAzMHfILn2xtu4tcC7ILChtMnHz7DUIMfUIixJRENfRE9VQkxFX0JVRkZFUiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDI0LDIzMCw4CiAgICBMVEVYVCAJICAgICJXaW5lw6K16cDMIMOisPy4rsDav6EgwMfH2LytILD8uK61yLTZuOksIFdpbmXDorXpwLogx6XB2CDDosaywLsgsKHB+iCwzcDMuOcsIMDbvvew+LCjILD8uK7A2r/NIMDfIL7uv++4sSCwzcDUtM+02S4gsde4rrDtIMOiuPG3z7+htbUgs6rFuLOvILDNwNS0z7TZLlxuXG64uL7gv6EgV2luZcOitenAzCDDorD8uK7A2r+hIMDHx9ggsPy4rrXHwfYgvsq0wrTZuOksIFdpZW7DorXpwLogw6Kw/LiuwNq/zSC/rLDhtcfB9iC+ysC7ILDNwNS0z7TZLiDAzLDNwLogV2luZcOitenAzCC1pb26xanFvrD6ILnQwaLHz7DUIMXrx9W1x8H2IL7KtMK02bTCILDNwLsgwMe5zMfVtM+02S4gx8/B9ri4IFdpbmXAxyDAqbW1v+zB7iDI5LO7s7ux4rChILT1IMGkudDH2MGuvK0guO647iDHwbfOsde3pbXpwMwgwbsgtPUgwN8gtb/A28fSILz2IMDWtbW3zyC1tb/Nwd20z7TZLiIsCiAgICAJCSAgICBJRENfU1RBVElDLDE1LDM3LDIyOCw4MAogICAgQ09OVFJPTAkgICAgIsOisPy4rsDasKEgV2luZcOiwLsgsPy4rsfPtbW3zyDH1CIsSURDX0VOQUJMRV9NQU5BR0VELCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMTExLDIzMCw4CiAgICBMVEVYVCAgICAgICAgICAgIrTnvcXAuiC48LXnIMCptbW/7MHuIMfBt86x17elwMwgsKG787WlvbrFqcW+v6G8rSC1v8DPx9Egx+C1v8C7IMfPsNQgx9IgsM3AzsH2LCC8rbfOILTZuKUgx+C1v8C7IMfPsNQgx9IgsM3AzsH2ILyxxcPH0iC89iDA1r3AtM+02S4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsMTI1LDIyOCwyOAogICAKICAgIExURVhUICAgICAgICAgICAitaW9usWpxb4gxamx4joiLElEQ19ERVNLVE9QX1NJWkUsMTUsMTY3LDQ0LDgsV1NfRElTQUJMRUQKICAgIExURVhUICAgICAgICAgICAiWCIsSURDX0RFU0tUT1BfQlksMTA4LDE2Nyw4LDgsV1NfRElTQUJMRUQKICAgIENPTlRST0wgICAgICAgICAisKG78yC1pb26xanFviDI5LO7s7ux4iIsSURDX0VOQUJMRV9ERVNLVE9QLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMTUyLDIzMCwxMAoJCSAgICAKICAgIEVESVRURVhUICAgICAgICBJRENfREVTS1RPUF9XSURUSCw2NCwxNjcsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAogICAgRURJVFRFWFQgICAgICAgIElEQ19ERVNLVE9QX0hFSUdIVCwxMTcsMTY3LDQwLDEyLEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSIHwgV1NfRElTQUJMRUQKCiAgICBHUk9VUEJPWCAgICAgICAgIiC02cDMt7rGriAzRCAiLElEQ19TVEFUSUMsOCwxODksMjQ0LDUwCgogICAgTFRFWFQJICAgICK59sXYvbogvabAzLT1IMH2v/g6ICIsSURDX1NUQVRJQywxNSwxOTksODAsMzAKICAgIENPTUJPQk9YCSAgICBJRENfRDNEX1ZTSEFERVJfTU9ERSwxMDAsMTk3LDE0Niw3MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBDT05UUk9MICAgICAgICAgIsfIvL8gvabAzLT1IMfjv+sgKMfPteW//r7uv6G8rSDB9r/4x9G02bjpKSIsSURDX0QzRF9QU0hBREVSX01PREUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwyMTYsMjMwLDEwCkVORAoKSUREX0RMTENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA5LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgRExMIL/Aufa288DMteUgIixJRENfU1RBVElDLDgsNCwyNDQsMjQwCiAgICBMVEVYVCAgICAgICAgICAgIrW/wPsguLXFqSC288DMuuq3r7iutMIgsLO6sMD7wLi3ziCzu8DlKFdpbmW/oSDAx8fYIMGmsPgpwMyzqiCz18DMxry66ijAqbW1v+zB7rOqIMfBt86x17elv6EgwMfH2CDBprD4KcC4t84gwfbBpLXJvPYgwNa9wLTPtNkuIgogICAgICAgICAgICAgICAgICAgICxJRENfU1RBVElDLDE2LDE2LDIyMCwzMgogICAgTFRFWFQgICAgICAgICAgICK79bfOIL/Aufa288DMteXH0iC288DMuuq3r7iuOiIsSURDX1NUQVRJQywxNiw1OCwxMDAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19ETExDT01CTywxNiw2OCwxNDAsMTQsQ0JTX0RST1BET1dOIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU09SVCB8IENCU19MT1dFUkNBU0UKICAgIFBVU0hCVVRUT04gICAgICAitPXHz7HiKCZBKSIsSURDX0RMTFNfQURERExMLCAxNjQsNjgsODIsMTMsQlNfREVGUFVTSEJVVFRPTiAKICAgIExURVhUICAgICAgICAgICAix/bA5yC/wLn2tvPAzLXlILjxt886IixJRENfU1RBVElDLDE2LDg2LDEwMCw4CiAgICBMSVNUQk9YICAgICAgICAgSURDX0RMTFNfTElTVCwxNiw5NiwxNDAsMTQwLFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBXU19WU0NST0xMCiAgICBQVVNIQlVUVE9OICAgICAgIrDtxKGx4igmRSkiLElEQ19ETExTX0VESVRETEwsMTY0LDk2LDgyLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIsH2v+yx4igmUikiLElEQ19ETExTX1JFTU9WRURMTCwxNjQsMTE0LDgyLDE0IApFTkQKCklERF9MT0FET1JERVIgRElBTE9HIERJU0NBUkRBQkxFIDgwLCA5MCwgMTEwLCA5MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiv8C59rbzwMy15SC89sGkIgpGT05UIDksICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiC3zrXlILz4vK0gIixJRENfU1RBVElDLDgsNCw5NCw2NgogICAgQ09OVFJPTCAgICAgICAgICKzu8DlKCZCKShXaW5lKSIsSURDX1JBRF9CVUlMVElOLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCwxNiwxNCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICKz18DMxry66igmTikoV2luKSIsSURDX1JBRF9OQVRJVkUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiwyNCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICKzu8DlLCCz18DMxry66igmbCkiLElEQ19SQURfQlVJTFRJTl9OQVRJVkUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiwzNCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICKz18DMxry66iwgs7vA5SgmdikiLElEQ19SQURfTkFUSVZFX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiw0NCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICK757/rx8/B9iC+ysC9KCZEKSIsSURDX1JBRF9ESVNBQkxFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsNTQsNzUsMTAKICAgIERFRlBVU0hCVVRUT04gICAiyK7AziIsSURPSyw4LDc0LDQ1LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIsPrvNIiLElEQ0FOQ0VMLDU3LDc0LDQ1LDE0LFdTX0dST1VQCkVORAoKSUREX0RSSVZFQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDksICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiC15bbzwMy66iC4ysfOICIsSURDX1NUQVRJQyw4LDQsMjQ0LDI0MAogICAgQ09OVFJPTCAgICAgICAgICJMaXN0dmlldyIsSURDX0xJU1RfRFJJVkVTLCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwgTFZTX0FVVE9BUlJBTkdFIHwgTFZTX0FMSUdOTEVGVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsIDE1LDE4LDIzMiw3NgogICAgUFVTSEJVVFRPTiAgICAgICLD37ChKCZBKS4uLiIsSURDX0JVVFRPTl9BREQsMTUsOTgsMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiwaawxSgmUikiLElEQ19CVVRUT05fUkVNT1ZFLDU2LDk4LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIsDatb8gw6Ox4igmRCkuLi4iLElEQ19CVVRUT05fQVVUT0RFVEVDVCwxOTUsOTgsNTEsMTQKCiAgICAvKiBlZGl0aW5nIGRyaXZlIGRldGFpbHMgKi8KICAgIExURVhUICAgICAgICAgICAisOa3zigmUCk6IixJRENfU1RBVElDLDE1LDEyMywzMCwxMCAgIAogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1BBVEgsNTAsMTIwLDE0MCwxMyxFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAiw6O+xrq4seIoJkIpLi4uIixJRENfQlVUVE9OX0JST1dTRV9QQVRILDE5NSwxMjAsNTEsMTMKICAgIAogICAgTFRFWFQgICAgICAgICAgICLBvrf5KCZUKToiLElEQ19TVEFUSUNfVFlQRSwxNSwxMzgsMzAsMTAKICAgIENPTUJPQk9YICAgICAgICBJRENfQ09NQk9fVFlQRSw1MCwxMzUsNzAsNjAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICAKICAgIExURVhUICAgICAgICAgICAitvO6p7D6IL3DuK6+8yC5+MijIixJRENfTEFCRUxTRVJJQUxfU1RBVElDLDE1LDE1NSw5NSwxMAogICAgCiAgICBQVVNIQlVUVE9OICAgICAgIsPfsKG/ybzHILq4wMyx4igmUykiLElEQ19CVVRUT05fU0hPV19ISURFX0FEVkFOQ0VELDE4NiwxMzYsNjAsMTMKICAgIENPTlRST0wgICAgICAgICAiwOXEobfOus7FzSDA2rW/sMvD4igmZik6IixJRENfUkFESU9fQVVUT0RFVEVDVCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTUsMTY2LDkzLDEwCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfREVWSUNFLDI3LDE3NiwxNjMsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiw6O+xrq4seIoJncpLi4uIixJRENfQlVUVE9OX0JST1dTRV9ERVZJQ0UsMTk1LDE3Niw1MSwxMwogICAgQ09OVFJPTCAgICAgICAgICK89rW/wLi3ziDB9sGkKCZNKToiLElEQ19SQURJT19BU1NJR04sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDE1LDE5NSw2OSwxMAoKICAgIExURVhUICAgICAgICAgICAitvO6pygmTCk6IixJRENfU1RBVElDX0xBQkVMLDI3LDIwOCwzNSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0xBQkVMLDYzLDIwNSw3OCwxMyxFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAivcO4rr7zKCZlKToiLElEQ19TVEFUSUNfU0VSSUFMLDI3LDIyNSwzNSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1NFUklBTCw2MywyMjEsNzgsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTCAgICAgICAgICK8+7HoIMbEwM8oLsC4t84gvcPA28fPtMIgxsTAzykguri/qcHWseIiLElEQ19TSE9XX0RPVF9GSUxFUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDgsMjYwLDIzMCw4CkVORAoKSUREX0FVRElPQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDksICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiC15bbzwMy59iC8scXDICIsSURDX1NUQVRJQyw4LDQsMjQ0LDE5NQogICAgTFRFWFQgICAgICAgICAgICK/+MfPtMIgteW288DMufbAxyC52r26uKYgw7zFqcfPv6kgu+e/7rXlILXltvPAzLn2uKYgvLHFw8fVtM+02S4gvu62siC15bbzwMy59rW1ILyxxcPHz8H2IL7KwLi46SC757/uteWwoSDH2MGmtcu0z7TZLiC/qbevILXltvPAzLn2uKYgvLHFw8fPtMIgsM3AuiDD38O1x8/B9iC+yr3AtM+02S4gteW288DMufYgwKe/obytILi2v+y9uiC/wLilwsogufbGsCDFrLivx8+/qSC15bbzwMy59rimILyzwaTH1bTPtNkuIixJRENfU1RBVElDLDE1LDIwLDIyNyw0MAogICAgQ09OVFJPTCAgICAgICAgICLA5cShIixJRENfQVVESU9fVFJFRSwiU3lzVHJlZVZpZXczMiIsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwxNSw2MCwxNjAsMTMwIAogICAgUFVTSEJVVFRPTgkgICAgIsGmvu7GxyIsSURDX0FVRElPX0NPTlRST0xfUEFORUwsMTgwLDYwLDY2LDEzCiAgICBHUk9VUEJPWCAgICAgICAgIiC02cDMt7rGriC757/uteUgIixJRENfU1RBVElDLDgsMjA1LDI0NCw2MAogICAgTFRFWFQJICAgICLHz7Xlv/6+7iCwobzTOiAiLElEQ19TVEFUSUMsMTQsMjE2LDcwLDEwCiAgICBDT01CT0JPWAkgICAgSURDX0RTT1VORF9IV19BQ0NFTCw5MCwyMTMsMTYwLDIsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIrHiursgu/nHwyC68cCyOiIsSURDX1NUQVRJQywxNSwyMzIsNzAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19EU09VTkRfUkFURVMsOTAsMjMwLDQyLDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICK7+cfDv6EgtOvH0SCx4rq7ILrxwLI6IixJRENfU1RBVElDLDEzNywyMzIsODAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19EU09VTkRfQklUUywyMjAsMjMwLDMwLDEzLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgQ09OVFJPTCAgICAgICAgICK15bbzwMy59iDI5LO7s7ux4iIsSURDX0RTT1VORF9EUlZfRU1VTCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE0LDI0NSw2OCwxOApFTkQKCklERF9ERVNLVE9QX0lOVEVHUkFUSU9OIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDksICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiC/3LD8ICIsSURDX1NUQVRJQyw4LDQsMjQ0LDEwNgogICAgTFRFWFQgICAgICAgICAgICLF17i2OiIsSURDX1NUQVRJQywxNSwxNiwyMzAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9USEVNRUNPTUJPLDE1LDI0LDIzMCwxNCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAixde4tiC8s8ShLi4uIixJRENfVEhFTUVfSU5TVEFMTCwxNTIsMzgsOTMsMTQKICAgIExURVhUICAgICAgICAgICAiu/a78zoiLElEQ19USEVNRV9DT0xPUlRFWFQsMTUsNTQsMjMwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfQ09MT1JDT01CTywxNSw2MiwyMzAsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIsWpseI6IixJRENfVEhFTUVfU0laRVRFWFQsMTUsODAsMjMwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfU0laRUNPTUJPLDE1LDg4LDIzMCwxNCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIEdST1VQQk9YICAgICAgICAiIL2pIMb6tPUgIixJRENfU1RBVElDLDgsMTE0LDI0NCwxMDAKICAgIENPTlRST0wgICAgICAgICAiTGlzdHZpZXciLElEQ19MSVNUX1NGUEFUSFMsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfCBMVlNfQVVUT0FSUkFOR0UgfCBMVlNfQUxJR05MRUZUIHwKICAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsIDE1LDEyNiwyMzAsNjQKICAgIENPTlRST0wgICAgICAgICAiwMyw98C4t84gv6yw4ToiLElEQ19MSU5LX1NGUEFUSCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1h8V1NfVEFCU1RPUHxXU19ESVNBQkxFRCwxNSwxOTUsNTAsMTMKICAgIEVESVRURVhUICAgICAgICAgSURDX0VESVRfU0ZQQVRILDY1LDE5NSwxNDUsMTMsRVNfQVVUT0hTQ1JPTEx8V1NfVEFCU1RPUHxXU19ESVNBQkxFRAogICAgUFVTSEJVVFRPTiAgICAgICLDo7HiIixJRENfQlJPV1NFX1NGUEFUSCwyMTUsMTk1LDMwLDEzLFdTX0RJU0FCTEVECkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19XSU5FX1ZFUlNJT04gICAgICAgICJDVlMiCiAgICBJRFNfVEFCX0FQUExJQ0FUSU9OUyAgICAix8G3zrHXt6UiCiAgICBJRFNfVEFCX0RMTFMgICAgICAgICAgICAitvPAzLrqt6+4riIKICAgIElEU19UQUJfRFJJVkVTICAgICAgICAgICK15bbzwMy66iIKICAgIElEU19DSE9PU0VfUEFUSCAgICAgICAgICLAr7TQvboguPHA+yDG+rT1uKYgvLHFw8fPvcq9w7/ALiIKICAgIElEU19ISURFX0FEVkFOQ0VEICAgICAgICLD37Chv8m8xyC8+7HiseIiCiAgICBJRFNfU0hPV19BRFZBTkNFRCAgICAgICAiw9+wob/JvMcgurjAzLHiIgogICAgSURTX05PVEhFTUUgICAgICAgICAgICAgIijF17i2IL74wL0pIgogICAgSURTX1RBQl9HUkFQSElDUyAgICAgICAgIrHXt6HHyCIKICAgIElEU19UQUJfREVTS1RPUF9JTlRFR1JBVElPTiAitaW9usWpxb4gvLPBpCIKICAgIElEU19UQUJfQVVESU8gICAgICAgICAgICK/wLXwv8AiCiAgICBJRFNfVEFCX0FCT1VUICAgICAgICAgICAiwaS6uCIKICAgIElEU19XSU5FQ0ZHX1RJVExFICAgICAgICJXaW5lILyzwaQiCiAgICBJRFNfV0lORUNGR19USVRMRV9BUFAgICAiJXO4piDAp8fRIFdpbmUgvLPBpCIKICAgIElEU19USEVNRUZJTEUgICAgICAgICAgICLF17i2IMbEwM8iCiAgICBJRFNfVEhFTUVGSUxFX1NFTEVDVCAgICAixde4tiDGxMDPILyxxcMiCiAgICBJRFNfQVVESU9fTUlTU0lORyAgICAgICAix/bA5yC3ucH2vbrGrriuv6Egv8C18L/AILXltvPAzLn2sKEgwfbBpLXHvu4gwNbB9iC+yr3AtM+02S5cblxuw9/DtSC15bbzwMy59rChILyxxcO++r3AtM+02S5cbsDMILXltvPAzLn2uKYgu+e/68fPsMWzqiCwobTJx9EgtNm4pSC15bbzwMy59rimILyxxcPH0iC89iDA1r3AtM+02S5cblxuvLHFwyC758fXwMwgyL+w+rimILOqxbizu7HiIMCnx9i8rbTCIMD7v+sgufbGsMC7ILStt6++3yDH1bTPtNkuIgogICAgSURTX1NIRUxMX0ZPTERFUiAgICAgICAgIr2pIMb6tPUiCiAgICBJRFNfTElOS1NfVE8gICAgICAgICAgICAiv6mx4r+hIL+ssOEiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19ETExfV0FSTklORyAgICAgICAgICLAzCC288DMuuq3r7iuwMcgt8615SC8+LytuKYgudmy2bTCILDNwLsgw9/DtcfPwfYgvsq9wLTPtNkuLlxuwaS4u7fOILnZstm9w7DavcC0z7HuPyIKICAgIElEU19ETExfV0FSTklOR19DQVBUSU9OICKw5rDtOiC9w726xdsgtvPAzLrqt6+4riIKICAgIElEU19ETExfTkFUSVZFICAgICAgICAgICKz18DMxry66iIKICAgIElEU19ETExfQlVJTFRJTiAgICAgICAgICKzu8DlIgogICAgSURTX0RMTF9OQVRJVkVfQlVJTFRJTiAgIrPXwMzGvLrqLCCzu8DlIgogICAgSURTX0RMTF9CVUlMVElOX05BVElWRSAgIrO7wOUsILPXwMzGvLrqIgogICAgSURTX0RMTF9ESVNBQkxFRCAgICAgICAgIrvnv+vHz8H2IL7KwL0iCiAgICBJRFNfREVGQVVMVF9TRVRUSU5HUyAgICAiseK6uyC8s8GkIgogICAgSURTX0VYRUNVVEFCTEVfRklMVEVSICAgIldpbmUgx8G3zrHXt6UgKCouZXhlLCouZXhlLnNvKVwwKi5leGU7Ki5leGUuc29cMCIKICAgIElEU19VU0VfR0xPQkFMX1NFVFRJTkdTICLA/MO8ILyzwaQgu+e/6yIKICAgIElEU19TRUxFQ1RfRVhFQ1VUQUJMRSAgICK9x8fgIMbEwM8gvLHFwyIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX1NIQURFUl9NT0RFX0hBUkRXQVJFICAgICLHz7Xlv/6+7iIKICAgIElEU19TSEFERVJfTU9ERV9OT05FICAgICAgICAivvjAvSIKICAgIElEU19TSEFERVJfTU9ERV9FTVVMQVRJT04gICAivta5xLe5wMzGriIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICBJRFNfRFJJVkVfVU5LTk9XTiAgICAgICAgICAgIsDatb/AuLfOIMOjseIiCiAgIElEU19EUklWRV9GSVhFRCAgICAgICAgICAgICAiv6yw4bXIIMfPteUgtfC9usWpIgogICBJRFNfRFJJVkVfUkVNT1RFICAgICAgICAgICAgIrPXxq6/9sWpILD4wK8iCiAgIElEU19EUklWRV9SRU1PVkFCTEUgICAgICAgICAix8O3zsfHILXwvbrFqSIKICAgSURTX0RSSVZFX0NEUk9NICAgICAgICAgICAgICJDRC1ST00iCiAgIElEU19EUklWRV9MRVRURVJTX0VYQ0VFREVEICAitOe9xcC6ILT1IMDMu/MgteW288DMuuq4piDD37Chx9IgvPYgvvi9wLTPtNkuXG5cbrCiILXltvPAzLrqtMIgud215b3DIEF+WrHuwfbAxyC5rsDauKYgsKHB/bTPtNksILHXt6G8rSC0573FwLogMjaws7q4tNkgtPUguLnAzCDD37Chx9IgvPYgvvi9wLTPtNkiCiAgIElEU19TWVNURU1fRFJJVkVfTEFCRUwgICAgICAivcO9usXbILXltvPAzLrqIgogICBJRFNfQ09ORklSTV9ERUxFVEVfQyAgICAgICAgIrTnvcXAuiDHz7XlILXltvPAzLrqICBDuKYgwfa/7LHiuKYgv/jH1bTPse4/XG5cbrTrus660MDHIMCptbW/7CDHwbfOsde3pcC6IEO15bbzwMy66rChIMDWtNmw7SC/ubvzx8+w7SwgIL74wLi46SC02b/utcmwzcDUtM+02S4guLi+4CC0573FwMwgsOi80yDB+Mfgx8+x4rimIL/4x9G02bjpILndteW9wyC02b3DILi4teW9yr3Dv8AhIgogICBJRFNfQ09MX0RSSVZFTEVUVEVSICAgICAgICAgIrmuwNoiCiAgIElEU19DT0xfRFJJVkVNQVBQSU5HICAgICAgICAiteW288DMuuogx9K05yIKICAgSURTX05PX0RSSVZFX0MgICAgICAgICAgICAgICK0573FwLogIEO15bbzwMy66rimILChwfaw7SDA1sH2IL7KvcC0z7TZLiDAzLDNwLogwcHAuiDAz8DMIL7GtNW0z7TZLlxuXG615bbzwMy66iDFx7+hvK0gW8PfsKFduKYgxay4r8fYvK0guLi15bTCILDNwLsgwNjB9iC4tr3KvcO/wCFcbiIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICBJRFNfQUNDRUxfRlVMTCAgICAgICAgICAgICAgIsD8w7wiCiAgIElEU19BQ0NFTF9TVEFOREFSRCAgICAgICAgICAix6XB2CIKICAgSURTX0FDQ0VMX0JBU0lDICAgICAgICAgICAgICKx4rq7IgogICBJRFNfQUNDRUxfRU1VTEFUSU9OICAgICAgICAgIr7WucS3ucDMvMciCiAgIElEU19EUklWRVJfQUxTQSAgICAgICAgICAgICAiQUxTQSC15bbzwMy59iIKICAgSURTX0RSSVZFUl9BUlRTICAgICAgICAgICAgICJhUnRzILXltvPAzLn2IgogICBJRFNfRFJJVkVSX0VTT1VORCAgICAgICAgICAgIkVzb3VuRCC15bbzwMy59iIKICAgSURTX0RSSVZFUl9PU1MgICAgICAgICAgICAgICJPU1MgteW288DMufYiCiAgIElEU19EUklWRVJfSkFDSyAgICAgICAgICAgICAiSkFDSyC15bbzwMy59iIKICAgSURTX0RSSVZFUl9OQVMgICAgICAgICAgICAgICJOQVMgteW288DMufYiCiAgIElEU19EUklWRVJfQVVESU9JTyAgICAgICAgICAiQXVkaW8gSU8gKFNvbGFyaXMpILXltvPAzLn2IgogICBJRFNfRFJJVkVSX0NPUkVBVURJTyAgICAgICAgIkNvcmVBdWRpbyC15bbzwMy59iIKICAgSURTX09QRU5fRFJJVkVSX0VSUk9SICAgICAgICIlc7imIL+tILz2IL74vcC0z7TZISIKICAgSURTX1NPVU5ERFJJVkVSUyAgICAgICAgICAgICK757/uteUgteW288DMufYiCiAgIElEU19ERVZJQ0VTX1dBVkVPVVQgICAgICAgICAiV2F2ZSDD4rfCIMDlxKEiCiAgIElEU19ERVZJQ0VTX1dBVkVJTiAgICAgICAgICAiV2F2ZSDA1LfCIMDlxKEiCiAgIElEU19ERVZJQ0VTX01JRElPVVQgICAgICAgICAiTUlESSDD4rfCIMDlxKEiCiAgIElEU19ERVZJQ0VTX01JRElJTiAgICAgICAgICAiTUlESSDA1LfCIMDlxKEiCiAgIElEU19ERVZJQ0VTX0FVWCAgICAgICAgICAgICAiQXV4IMDlxKEiCiAgIElEU19ERVZJQ0VTX01JWEVSICAgICAgICAgICAiTWl4ZXIgwOXEoSIKICAgSURTX1VOQVZBSUxBQkxFX0RSSVZFUiAgICAgICK3ucH2vbrGrriuv6G8rSCwobTJx8/B9iC+ysC6ILXltvPAzLn2sKEgud+w37XHvvq9wLTPtNkhXG5cbiAlc7imILe5wfa9usauuK6/obytIMH2v+yw2r3AtM+x7j8iCiAgIElEU19XQVJOSU5HICAgICAgICAgICAgICAgICAisOaw7SIKRU5ECg==