LyoKICogQ3plY2ggcmVzb3VyY2VzIGZvciB3aW5tbQogKiBDb3B5cmlnaHQgMTk5OSBFcmljIFBvdWVjaAogKiBDb3B5cmlnaHQgMjAwNCBEYXZpZCBLcmVkYmEgCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKi8KClNUUklOR1RBQkxFIExBTkdVQUdFIExBTkdfQ1pFQ0gsIFNVQkxBTkdfTkVVVFJBTApCRUdJTgoKLyogTU1TWVMgZXJyb3JzICovCk1NU1lTRVJSX05PRVJST1IsIAkJIlVy6GVu/SBw+O1rYXogYnlsIHByb3ZlZGVuLiIKTU1TWVNFUlJfRVJST1IsIAkJIk5lZGVmaW5vdmFu4SB2buxque0gY2h5YmEuIgpNTVNZU0VSUl9CQURERVZJQ0VJRCwgCQkiUG91vml06SBJRCB6YfjtemVu7SBqZSBtaW1vIG1vvm5vc3RpIHN5c3TpbXUuIgpNTVNZU0VSUl9OT1RFTkFCTEVELCAJCSJPdmxhZGHoIG5lYnlsIHBvdm9sZW4uIgpNTVNZU0VSUl9BTExPQ0FURUQsIAkJIlph+O16ZW7tIGplIGRvc3VkIHBvdb7tduFuby4gVnnoa2VqdGUgbmEgamVobyB1dm9sbuxu7SBhIHprdXN0ZSB0byB6bm92dS4iCk1NU1lTRVJSX0lOVkFMSEFORExFLCAJCSJVa2F6YXRlbCBuYSB6YfjtemVu7SBqZSBuZXBsYXRu/S4iCk1NU1lTRVJSX05PRFJJVkVSLCAJCSJWIHN5c3TpbXUgbmVu7SBuYWluc3RhbG924W4gvuFkbv0gb3ZsYWRh6CAhXG4iCk1NU1lTRVJSX05PTUVNLCAJCSJOZW7tIGRvc3QgcGFt7HRpIHBybyB0dXRvIPpsb2h1LiBVa29u6GV0ZSBqZWRudSBuZWJvIHbtYyBhcGxpa2Fj7SBrIHrtc2vhbu0gdu1jZSB2b2xu6SBwYW3sdGkgYSB6a3VzdGUgdG8gem5vdnUuIgpNTVNZU0VSUl9OT1RTVVBQT1JURUQsIAkJIlRhdG8gZnVua2NlIG5lbu0gcG9kcG9yb3bhbmEuIFBvdb5panRlIGZ1bmtjaSBDYXBhYmlsaXRpZXMgayB1cuhlbu0sIGpha+kgZnVua2NlIGEgenBy4XZ5IG92bGFkYeggcG9kcG9ydWplLiIKTU1TWVNFUlJfQkFERVJSTlVNLCAJCSJVdmVkZW7pIOjtc2xvIGNoeWJ5IG5lbu0gdiBzeXN06W11IGRlZmlub3bhbm8uIgpNTVNZU0VSUl9JTlZBTEZMQUcsIAkJIlN5c3TpbW926SBmdW5rY2kgYnlsIHD4ZWThbiBuZXBsYXRu/SBw+O16bmFrLiIKTU1TWVNFUlJfSU5WQUxQQVJBTSwgCQkiU3lzdOltb3bpIGZ1bmtjaSBieWwgcPhlZOFuIG5lcGxhdG79IHBhcmFtZXRyLiIKCi8qIFdBVkUgZXJyb3JzICovCldBVkVSUl9CQURGT1JNQVQsIAkJIlRlbnRvIGZvcm3hdCBuZW7tIHBvZHBvcm924W4gbmVibyBuZW35vmUgYv10IHD4ZWxvvmVuLiBQb3W+aWp0ZSBmdW5rY2kgQ2FwYWJpbGl0aWVzIGsgdXLoZW7tIHBvZHBvcm92YW7paG8gZm9ybeF0dS4iCldBVkVSUl9TVElMTFBMQVlJTkcsIAkJIk5lbW9odSBwcm926XN0IHR1dG8gb3BlcmFjaSBkb2t1ZCBqc291IGRhdGEgcPhlaHLhduFuYS4gWnJlc2V0dWp0ZSBtdWx0aW1lZGnhbG7tIHph+O16ZW7tIG5lYm8gdnnoa2VqdGUgbmEga29uZWMgcPhlaHLhduFu7S4iCldBVkVSUl9VTlBSRVBBUkVELCAJCSJXYXZlIGhsYXZp6GthIG5lYnlsYSBw+GlwcmF2ZW5hLiBQb3W+aWp0ZSBmdW5rY2kgUHJlcGFyZSBrIGplau0ga29uc3RydWtjaSBhIHBhayB0byB6a3VzdGUgem5vdnUuIgpXQVZFUlJfU1lOQywgCQkJIk5lbW9odSBvdGV2+O10IHph+O16ZW7tIGJleiBwb3W+aXTtIHD47XpuYWt1IFdBVkVfQUxMT1dTWU5DLiBQb3W+aWp0ZSBobyBhIHprdXN0ZSB0byB6bm92dS4iCgovKiBNSURJIGVycm9ycyAqLwpNSURJRVJSX1VOUFJFUEFSRUQsIAkJIk1JREkgaGxhdmnoa2EgbmVieWxhIHD4aXByYXZlbmEuIFBvdb5panRlIGZ1bmtjaSBQcmVwYXJlIGsgamVq7SBrb25zdHJ1a2NpIGEgcGFrIHRvIHprdXN0ZSB6bm92dS4iCk1JRElFUlJfU1RJTExQTEFZSU5HLCAJCSJOZW1vaHUgcHJvdulzdCB0dXRvIG9wZXJhY2kgZG9rdWQganNvdSBkYXRhIHD4ZWhy4XbhbmEuIFpyZXNldHVqdGUgbXVsdGltZWRp4Wxu7SB6YfjtemVu7SBuZWJvIHZ56GtlanRlIG5hIGtvbmVjIHD4ZWhy4Xbhbu0uIgpNSURJRVJSX05PTUFQLCAJCQkiTUlESSBtYXAgbmVieWxhIG5hbGV6ZW5hLiBUbyBt+b5lIHVrYXpvdmF0IG5hIHByb2Js6W0gcyBvdmxhZGHoZW0gbmVibyBqZSBzb3Vib3IgTUlESU1BUC5DRkcgcG+5a296ZW4g6GkgY2h5Yu0uIgpNSURJRVJSX05PVFJFQURZLCAJCSJQb3J0IHD4ZW7hue0gZGF0YSBuYSB6YfjtemVu7S4gUG/oa2VqdGUgbmEgZG9rb27oZW7tIHD4ZW5vc3UgYSB6a3VzdGUgdG8gem5vdnUuIgpNSURJRVJSX05PREVWSUNFLCAJCSJTb3XoYXNu6SBuYXN0YXZlbu0gTUlESSBtYXBwZXJ1IHNlIG9ka2F6dWplIG5hIE1JREkgemH47Xplbu0gbmVw+O10b21u6SB2IHN5c3TpbXUuIFVwcmF2dGUgbmFzdGF2ZW7tIE1JREkgbWFwcGVydS4iCk1JRElFUlJfSU5WQUxJRFNFVFVQLCAJCSJTb3XoYXNu6SBuYXN0YXZlbu0gTUlESSBqZSBwb7lrb3plbukuIFD4ZXBpuXRlIHNvdWJvciBNSURJTUFQLkNGRyB2ZSBXaW5kb3dzIHNsb75jZSBTWVNURU0gb3JpZ2lu4WxlbSBhIHprdXN0ZSB0byB6bm92dS4iCgovKiBNQ0kgZXJyb3JzICovCk1DSUVSUl9JTlZBTElEX0RFVklDRV9JRCwgCSJOZXBsYXRu/SBpZGVudGlmaWvhdG9yIE1DSSB6YfjtemVu7S4gUG91vmlqdGUgaWRlbnRpZmlr4XRvciB2cuFjZW79IHD4aSBvdGV2+GVu7SBNQ0kgemH47Xplbu0uIgpNQ0lFUlJfVU5SRUNPR05JWkVEX0tFWVdPUkQsIAkiT3ZsYWRh6CBuZXD4aXBvdbl07SBwb3W+aXT9IHBhcmFtZXRyIHD47WthenUuIgpNQ0lFUlJfVU5SRUNPR05JWkVEX0NPTU1BTkQsCSJPdmxhZGHoIG5lcPhpcG91uXTtIHBvdb5pdP0gcPjta2F6LiIKTUNJRVJSX0hBUkRXQVJFLCAJCSJTIG11bHRpbWVkaeFsbu1tIHph+O16ZW7tbSBu7GNvIG5lbu0gdiBwb/jhZGt1LiBVamlzdOx0ZSBzZSwgvmUgcHJhY3VqZSBqYWsgbeEsIHD47XBhZG7sIG9zbG92dGUgamVobyB2/XJvYmNlLiIKTUNJRVJSX0lOVkFMSURfREVWSUNFX05BTUUsIAkiVXZlZGVu6SB6YfjtemVu7SBuZW7tIHBvdb5pdGVsbukgbmVibyBuZW7tIHBvZHBvcm92YW7pIE1DSS4iCk1DSUVSUl9PVVRfT0ZfTUVNT1JZLCAJCSJOZW7tIGRvc3QgcGFt7HRpIG5hIHByb3ZlZGVu7SB06XRvIPpsb2h5LiBcblVrb27oZXRlIGplZG51IG5lYm8gdu1jIGFwbGlrYWPtIGEgemt1c3RlIHRvIHpub3Z1LiIKTUNJRVJSX0RFVklDRV9PUEVOLCAJCSJKbelubyB6YfjtemVu7SB1viBqZSBwb3W+aXRvIGpha28gYWxpYXMgdG91dG8gYXBsaWthY+0uIFBvdb5panRlIHVuaWvhdG7tIGFsaWFzLiIKTUNJRVJSX0NBTk5PVF9MT0FEX0RSSVZFUiwgCSJWeXNreXRsIHNlIG5lcm96cG96bmF0ZWxu/SBwcm9ibOltIHD4aSB6YXbhZOxu7SB1dmVkZW7paG8gb3ZsYWRh6GUuIgpNQ0lFUlJfTUlTU0lOR19DT01NQU5EX1NUUklORywgCSJOZWJ5bCB6YWThbiC+4WRu/SBw+O1rYXouIgpNQ0lFUlJfUEFSQU1fT1ZFUkZMT1csIAkJIlb9c3R1cG7tIPhldOx6ZWMgc2UgbmV2ZWpkZSBkbyB2/XN0dXBu7WhvIHrhc29ibu1rdS4gWnbsdLlldGUgdmVsaWtvc3QgeuFzb2Ju7Wt1LiIKTUNJRVJSX01JU1NJTkdfU1RSSU5HX0FSR1VNRU5ULCAiVGVudG8gcPjta2F6IHZ5vmFkdWplIHRleHRvdv0gcGFyYW1ldHIuIFphZGVqdGUgamVkZW4uIgpNQ0lFUlJfQkFEX0lOVEVHRVIsIAkJIlRvdG8g6O1zbG8gamUgbmVwbGF0bukgcHJvIHRlbnRvIHD47Wthei4iCk1DSUVSUl9QQVJTRVJfSU5URVJOQUwsIAkiT3ZsYWRh6CB6YfjtemVu7SB2cuF0aWwgbmVwbGF0bv0gbuF2cmF0b3b9IHR5cC4gWmVwdGVqdGUgc2UgZG9kYXZhdGVsZSB6YfjtemVu7SBuYSBub3b9IG92bGFkYeguIgpNQ0lFUlJfRFJJVkVSX0lOVEVSTkFMLCAJIkJ5bCByb3pwb3pu4W4gcHJvYmzpbSBzIG92bGFkYehlbS4gWu1za2VqdGUgb2Qgdv1yb2JjZSBub3b9IG92bGFkYeguIgpNQ0lFUlJfTUlTU0lOR19QQVJBTUVURVIsIAkiVGVudG8gcPjta2F6IHZ5vmFkdWplIHBhcmFtZXRyLiBaYWRlanRlIGhvLiIKTUNJRVJSX1VOU1VQUE9SVEVEX0ZVTkNUSU9OLCAJIlbhbWkgcG91vml06SBNQ0kgemH47Xplbu0gbmVwb2Rwb3J1amUgdXZlZGVu/SBw+O1rYXouIgpNQ0lFUlJfRklMRV9OT1RfRk9VTkQsIAkJIlNvdWJvciBuZWJ5bCBuYWxlemVuLiBVamlzdOx0ZSBzZSwgvmUgY2VzdGEgayBzb3Vib3J1IGEgamVobyBqbelubyBqc291IHBsYXRu6S4iCk1DSUVSUl9ERVZJQ0VfTk9UX1JFQURZLCAJIk92bGFkYeggemH47Xplbu0gbmVu7SBw+GlwcmF2ZW4uIgpNQ0lFUlJfSU5URVJOQUwsIAkJIlD4aSBpbmljaWFsaWF6YWNpIE1DSSBkb7lsbyBrIHByb2Js6W35bS4gWmt1c3RlIHpyZXN0YXJ0b3ZhdCBXaW5kb3dzLiIKTUNJRVJSX0RSSVZFUiwgCQkJIk92bGFkYeggbeEgcHJvYmzpbXkgYSB1a29u6GlsIHN2b3Ug6Glubm9zdC4gT3ZsYWRh6CBuZXZy4XRpbCBwb3BpcyBjaHlieS4iCk1DSUVSUl9DQU5OT1RfVVNFX0FMTCwgCQkiTmVtb2h1IHBvdb7tdCAnYWxsJyBqYWtvIGpt6W5vIHph+O16ZW7tIHD4aSBwcm924WTsbu0gdG9ob3RvIHD47WthenUuIgpNQ0lFUlJfTVVMVElQTEUsIAkJIlZ5c2t5dGx5IHNlIGNoeWJ5IG5hIHbtY2UgemH47Xplbu1jaC4gWmFkZWp0ZSBw+O1rYXp5IHp2bOG5uyBwcm8ga2G+ZOkgamVkbm8gemH47Xplbu1pZnksIGFieSBieWxvIHpqabl07G5vLCBrdGVy6SB6YfjtemVu7SBjaHlidWplLiIKTUNJRVJSX0VYVEVOU0lPTl9OT1RfRk9VTkQsIAkiTmVkb2vhvmkgcPhp+GFkaXQgc291Ym9yIHMgdG91dG8gcPjtcG9ub3UgdmhvZG7pbXUgemH47Xplbu0uIgpNQ0lFUlJfT1VUT0ZSQU5HRSwgCQkiVXZlZGVu/SBwYXJhbWV0ciBqZSBtaW1vIG1lemUgdXZlZGVu6WhvIHD47WthenUuIgpNQ0lFUlJfRkxBR1NfTk9UX0NPTVBBVElCTEUsIAkiVHl0byBwYXJhbWV0cnkgbmVtb2hvdSBi/XQgcG++aXR5IHNwb2x1LiIKTUNJRVJSX0ZJTEVfTk9UX1NBVkVELCAJCSJOZW1vaHUgdWxvvml0IHNvdWJvci4gVWppc3TsdGUgc2UsIL5lIGplIGRvc3Qgbe1zdGEgbmEgZGlza3UgbmVibyBqZS1saSBWYbllIHPtu2926SBw+Glwb2plbu0gcHL5Y2hveu0uIgpNQ0lFUlJfREVWSUNFX1RZUEVfUkVRVUlSRUQsIAkiTmVtb2h1IG5hau10IHBvvmFkb3ZhbukgemH47Xplbu0uIFVqaXN07HRlIHNlLCC+ZSBqZSBuYWluc3RhbG924W5vLCBuZWJvIL5lIGpzdGUgamVobyBu4XpldiB1dmVkbGkgcPhlc27sLiIKTUNJRVJSX0RFVklDRV9MT0NLRUQsIAkJIlRvdG8gemH47Xplbu0gamUgcHLhduwgdXphdu1y4W5vLiBWeehrZWp0ZSBu7GtvbGlrIHNla3VuZCBhIHprdXN0ZSB0byB6bm92dS4iCk1DSUVSUl9EVVBMSUNBVEVfQUxJQVMsIAkiVGVudG8gYWxpYXMgamUgdb4gcG91vu124W4gdiB06XRvIGFwbGlrYWNpLiBQb3W+aWp0ZSBqaW7pIGpt6W5vLiIKTUNJRVJSX0JBRF9DT05TVEFOVCwgCQkiVXZlZGVu/SBwYXJhbWV0ciBqZSBuZXBsYXRu/SBwcm8gdGVudG8gcPjta2F6LiIKTUNJRVJSX01VU1RfVVNFX1NIQVJFQUJMRSwgCSJVdmVkZW7pIHph+O16ZW7tIGplIHW+IHBvdb7tduFuby4gQ2hjZXRlLWxpIGhvIHNk7WxldCwgcG91vmlqdGUgJ3NoYXJlYWJsZScgcGFyYW1ldHIgcyBrYb5k/W0gcPjta2F6ZW0gJ29wZW4nLiIKTUNJRVJSX01JU1NJTkdfREVWSUNFX05BTUUsIAkiVGVudG8gcPjta2F6IHZ5vmFkdWplIGFsaWFzLCBzb3Vib3IsIG92bGFkYeggbmVibyBu4XpldiB6YfjtemVu7S4gVXZl73RlIGplZGVuIHByb3PtbS4iCk1DSUVSUl9CQURfVElNRV9GT1JNQVQsIAkiUG91vml0/SBmb3Jt4XQg6GFzdSBqZSBuZXBsYXRu/S4gTmFobOlkbux0ZSBkbyBNQ0kgZG9rdW1lbnRhY2UgYSB6amlzdOx0ZSBzaSBwbGF0bukgZm9ybeF0eS4iCk1DSUVSUl9OT19DTE9TSU5HX1FVT1RFLCAJIkhvZG5vdGEgcGFyYW1ldHJ1IG5lbu0gdXphdvhlbmEgdXZvem92a2FtaS4gRG9wbPJ0ZSBqZS4iCk1DSUVSUl9EVVBMSUNBVEVfRkxBR1MsIAkiUGFyYW1ldHIgbmVibyBob2Rub3RhIGJ5bGEgemFk4W5hIGR2YWty4XQuIFphZGVqdGUgamVuIGplZGVuL2plZG51LiIKTUNJRVJSX0lOVkFMSURfRklMRSwgCQkiVGVudG8gc291Ym9yIG5lbfm+ZSBi/XQgcPhlaHLhbiBuYSB0b210byBNQ0kgemH47Xplbu0uIFNvdWJvciBt+b5lIGL9dCBwb7lrb3plbiBuZWJvIG5lbeEgc3By4XZu/SBmb3Jt4XQuIgpNQ0lFUlJfTlVMTF9QQVJBTUVURVJfQkxPQ0ssIAkiTUNJIGJ5bCBw+GVk4W4gcHLhemRu/SBibG9rIHBhcmFtZXRy+S4iCk1DSUVSUl9VTk5BTUVEX1JFU09VUkNFLCAJIk5lbW9odSB1bG++aXQgc291Ym9yIGJleiBu4Xp2dS4gWmFkZWp0ZSBu4Xpldi4iCk1DSUVSUl9ORVdfUkVRVUlSRVNfQUxJQVMsIAkiUPhpIHBvdb5pdO0gcGFyYW1ldHJ1ICduZXcnIG11c+10ZSB6YWRhdCBhbGlhcy4iCk1DSUVSUl9OT1RJRllfT05fQVVUT19PUEVOLCAJIk5lbHplIHBvdb7tdCBwYXJhbWV0ciAnbm90aWZ5JyBzIGF1dG9tYXRpY2t5IG90ZXb4ZW79bSB6YfjtemVu7W0uIgpNQ0lFUlJfTk9fRUxFTUVOVF9BTExPV0VELCAJIk5lbHplIHBvdb7tdCBzb3Vib3IgcyB07W10byB6YfjtemVu7W0uIgpNQ0lFUlJfTk9OQVBQTElDQUJMRV9GVU5DVElPTiwgCSJOZWx6ZSBkb2tvbuhpdCBza3VwaW51IHD47WthevkgdiB0b210byBwb/hhZO0uIE9wcmF2dGUgcG/4YWTtIHD47WthevkgYSB6a3VzdGUgdG8gem5vdnUuIgpNQ0lFUlJfSUxMRUdBTF9GT1JfQVVUT19PUEVOLCAJIlRlbnRvIHD47WtheiBuZWx6ZSBkb2tvbuhpdCBuYSBhdXRvbWF0aWNreSBvdGV2+GVu6W0gemH47Xplbu0uIFZ56GtlanRlIG5hIHphdvhlbu0gemH47Xplbu0gYSB6a3VzdGUgdG8gem5vdnUuIgpNQ0lFUlJfRklMRU5BTUVfUkVRVUlSRUQsIAkiTuF6ZXYgc291Ym9ydSBqZSBuZXBsYXRu/S4gVWppc3TsdGUgc2UsIL5lIG7hemV2IHNvdWJvcnUgbeEgOCB6bmFr+SBu4XNsZWRvdmFu/WNoIHRl6GtvdSBhIHD47XBvbm91LiIKTUNJRVJSX0VYVFJBX0NIQVJBQ1RFUlMsIAkiTmVsemUgemFkYXQgem5ha3kgemEg+GV07HplYyB1emF2+GVu/SB1dm96b3ZrYW1pLiIKTUNJRVJSX0RFVklDRV9OT1RfSU5TVEFMTEVELCAJIlRvdG8gemH47Xplbu0gbmVu7SB2IHN5c3TpbXUgbmFpbnN0YWxvduFuby4gTmFpbnN0YWx1anRlIGhvIHYgT3Zs4WRhY+1tIHBhbmVsdSwgbmEgeuFsb75jZSBPdmxhZGHoZS4iCk1DSUVSUl9HRVRfQ0QsIAkJCSJOZW1vaHUgcPhpc3RvdXBpdCBrIHV2ZWRlbultdSBzb3Vib3J1IG5lYm8gTUNJIHph+O16ZW7tLiBabezydGUgYWRyZXPh+CBuZWJvIHJlc3RhcnR1anRlIFbhuSBwb+jtdGHoLiIKTUNJRVJSX1NFVF9DRCwgCQkJIk5lbW9odSBw+GlzdG91cGl0IGsgdXZlZGVu6W11IHNvdWJvcnUgbmVibyBNQ0kgemH47Xplbu0sIHByb3RvvmUgYXBsaWthY2UgbmVt+b5lIHpt7G5pdCBhZHJlc+H4LiIKTUNJRVJSX1NFVF9EUklWRSwgCQkiTmVtb2h1IHD4aXN0b3VwaXQgayB1dmVkZW7pbXUgc291Ym9ydSBuZWJvIE1DSSB6YfjtemVu7SwgcHJvdG++ZSBhcGxpa2FjZSBuZW35vmUgem3sbml0IGplZG5vdGt1IGRpc2t1LiIKTUNJRVJSX0RFVklDRV9MRU5HVEgsIAkJIlVy6GV0ZSB6YfjtemVu7SBuZWJvIG92bGFkYeggamVob74gbuF6ZXYgamUga3JhdLntIG5lviA3OSB6bmFr+S4iCk1DSUVSUl9ERVZJQ0VfT1JEX0xFTkdUSCwgCSJVcuhldGUgemH47Xplbu0gbmVibyBvdmxhZGHoIGplaG++IG7hemV2IGplIGtyYXS57SBuZb4gNjkgem5ha/kuIgpNQ0lFUlJfTk9fSU5URUdFUiwgCQkiVGVudG8gcPjta2F6IHZ5vmFkdWplIGNlbG/o7XNlbG79IHBhcmFtZXRyLiBQb3W+aWp0ZSBobyBwcm9z7W0uIgpNQ0lFUlJfV0FWRV9PVVRQVVRTSU5VU0UsIAkiVrllY2huYSB3YXZlIHph+O16ZW7tLCBrdGVy4SBieSBtb2hsYSBw+GVocuF0IHNvdWJvcnkgcyB07W10byBmb3Jt4XRlbSBqc291IHBvdb7tduFuYS4gVnnoa2VqdGUgbmEgdXZvbG7sbu0gemH47Xplbu0gYSB6a3VzdGUgdG8gem5vdnUuIgpNQ0lFUlJfV0FWRV9TRVRPVVRQVVRJTlVTRSwgCSJOZW1vaHUgbmFzdGF2aXQgdG90byB3YXZlIHph+O16ZW7tIG5hIHBsYXliYWNrLCBqZWxpa2++IGplIHBvdb7tduFuby4gVnnoa2VqdGUgbmEgdXZvbG7sbu0gemH47Xplbu0gYSB6a3VzdGUgdG8gem5vdnUuIgpNQ0lFUlJfV0FWRV9JTlBVVFNJTlVTRSwgCSJWuWVjaG5hIHdhdmUgemH47Xplbu0sIGt0ZXLhIGJ5IG1vaGxhIG5haHLhdmF0IG91Ym9yeSBzIHTtbXRvIGZvcm3hdGVtIGpzb3UgcG91vu124W5hLiBWeehrZWp0ZSBuYSB1dm9sbuxu7SB6YfjtemVu7SBhIHprdXN0ZSB0byB6bm92dS4iCk1DSUVSUl9XQVZFX1NFVElOUFVUSU5VU0UsIAkiTmVtb2h1IG5hc3Rhdml0IHRvdG8gd2F2ZSB6YfjtemVu7SBuYSBuYWhy4Xbhbu0sIGplbGlrb74gamUgcG91vu124W5vLiBWeehrZWp0ZSBuYSB1dm9sbuxu7SB6YfjtemVu7SBhIHprdXN0ZSB0byB6bm92dS4iCk1DSUVSUl9XQVZFX09VVFBVVFVOU1BFQ0lGSUVELAkiSmFr6WtvbGl2IHdhdmVmb3JtIGtvbXBhdGliaWxu7SBw+GVocuF2YWPtIHph+O16ZW7tIG35vmUgYv10IHBvdb5pdG8uIgpNQ0lFUlJfV0FWRV9JTlBVVFVOU1BFQ0lGSUVELCAJIkpha+lrb2xpdiB3YXZlZm9ybSBrb21wYXRpYmlsbu0gbmFocuF2YWPtIHph+O16ZW7tIG35vmUgYv10IHBvdb5pdG8uIgpNQ0lFUlJfV0FWRV9PVVRQVVRTVU5TVUlUQUJMRSwgCSJOZW7tIG5haW5zdGFsb3bhbm8gvuFkbukgd2F2ZSB6YfjtemVu7Swga3RlcukgYnkgYnlsbyBzY2hvcG5vIHD4ZWhy4XQgc291Ym9yeSB2IHRvbXRvIGZvcm3hdHUuIFBvdb5panRlIHrhbG++a3UgT3ZsYWRh6GUgayBpbnN0YWxhY2kgd2F2ZSB6YfjtemVu7S4iCk1DSUVSUl9XQVZFX1NFVE9VVFBVVFVOU1VJVEFCTEUsIlD4ZWhy4XZhY+0gemH47Xplbu0gbmVkb2vhemFsbyByb3pwb3puYXQgZm9ybeF0IHNvdWJvcnUuIgpNQ0lFUlJfV0FWRV9JTlBVVFNVTlNVSVRBQkxFLCAJIk5lbu0gbmFpbnN0YWxvduFubyC+4WRu6SB3YXZlIHph+O16ZW7tLCBrdGVy6SBieSBieWxvIHNjaG9wbm8gbmFocuF0IHNvdWJvcnkgdiB0b210byBmb3Jt4XR1LiBQb3W+aWp0ZSB64Wxvvmt1IE92bGFkYehlIGsgaW5zdGFsYWNpIHdhdmUgemH47Xplbu0uIgpNQ0lFUlJfV0FWRV9TRVRJTlBVVFVOU1VJVEFCTEUsICJaYfjtemVu7SwgemUga3RlculobyB6a291ue10ZSBuYWhy4XZhdCwgbmVkb2vhvmUgcm96cG96bmF0IGZvcm3hdCB2/XN0dXBu7WhvIHNvdWJvcnUuIgpNQ0lFUlJfTk9fV0lORE9XLCAJCSJPa25vIGRpc3BsYXkgY2h5Yu0uIgpNQ0lFUlJfQ1JFQVRFV0lORE9XLCAJCSJOZW1vaHUgdnl0dm/4aXQgbmVibyBwb3W+7XQgb2tuby4iCk1DSUVSUl9GSUxFX1JFQUQsIAkJIk5lbW9odSBw+GXo7XN0IHphZGFu/SBzb3Vib3IuIFVqaXN07HRlIHNlLCC+ZSBzb3Vib3Igc3ThbGUgZXhpc3R1amUgYSB6a29udHJvbHVqdGUgc3b5aiBkaXNrIG5lYm8gc+27b3ZvdSBrb25la3Rpdml0dS4iCk1DSUVSUl9GSUxFX1dSSVRFLCAJCSJOZW1vaHUgemFwaXNvdmF0IGRvIHphZGFu6WhvIHNvdWJvcnUuIFVqaXN07HRlIHNlLCC+ZSBt4XRlIGRvc3Qgbe1zdGEgbmEgZGlza3UgbmVibyB6ZGEganN0ZSBw+Glwb2plbmkgayBz7XRpLiIKTUNJRVJSX1NFUV9ESVZfSU5DT01QQVRJQkxFLCAJIkZvcm3hdHkg6GFzdSAiInNvbmcgcG9pbnRlciIiIGEgU01QVEUganNvdSB2euFqZW1u7CB2/Wx16G7pLiBOZW35vmV0ZSBqZSBwb3W+7XQgc2916GFzbuwuIgpNQ0lFUlJfU0VRX05PTUlESVBSRVNFTlQsIAkiViBzeXN06W11IG5lanNvdSBuYWluc3RhbG924W55IE1JREkgemH47Xplbu0uIE5haW5zdGFsdWp0ZSBqZSB6ZSB64Wxvvmt5IE92bGFkYeggdiBPdmzhZGFj7W0gcGFuZWx1LiIKTUNJRVJSX1NFUV9QT1JUX0lOVVNFLCAJCSJUZW50byBNSURJIHBvcnQgamUgcG91vu124W4uIFZ56GtlanRlIG5hIGplaG8gdXZvbG7sbu07IHBhayB0byB6a3VzdGUgem5vdnUuIgpNQ0lFUlJfU0VRX1BPUlRfTUFQTk9ERVZJQ0UsIAkiTmFzdGF2ZW7tIE1JREkgbWFwcGVydSBvZGthenVqZSBuYSBNSURJIHph+O16ZW7tLCBrdGVy6SBuZW7tIHYgc3lzdOltdSBuYWluc3RhbG924W5vLiBOYWluc3RhbHVqdGUgaG8gcG9tb2PtIHrhbG++a3kgTUlESSBNYXBwZXIgdiBPdmzhZGFj7W0gcGFuZWx1LiIKTUNJRVJSX1NFUV9QT1JUX01JU0NFUlJPUiwgCSJOYXN0YWxhIGNoeWJhIHD4aSBwcuFjaSBzIHTtbXRvIHBvcnRlbS4iCk1DSUVSUl9TRVFfUE9SVF9OT05FWElTVEVOVCwgCSJUb3RvIE1JREkgemH47Xplbu0gbmVu7SBuYWluc3RhbG924W5vIHYgc3lzdOltdS4gTmFpbnN0YWx1anRlIGhvIHYgT3Zs4WRhY+1tIHBhbmVsdSBuYSB64WxvvmNlIERyaXZlci4iCk1DSUVSUl9TRVFfUE9SVFVOU1BFQ0lGSUVELCAJIlN5c3TpbSBuZXpu4SB0ZW50byBNSURJIHBvcnQuIgpNQ0lFUlJfU0VRX1RJTUVSLCAJCSJWuWVjaG55IOhhc292YehlIG11bHRpbelkae0ganNvdSBwb3W+7XbhbnkgYXBsaWthY2VtaS4gVWtvbuhldGUgamVkbnUgeiB07GNodG8gYXBsaWthY+0gYSB6a3VzdGUgdG8gem5vdnUuIgoKRU5ECg==