From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Thiago Melo Newsgroups: gmane.emacs.bugs Subject: bug#63589: 29.0.91; crash after creating graphical frames via emacsclient when compiled with cairo-xcb Date: Fri, 19 May 2023 11:17:36 +0000 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000009e015f05fc0a13a7" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23150"; mail-complaints-to="usenet@ciao.gmane.io" To: 63589@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri May 19 17:22:28 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q01w3-0005hq-JF for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 19 May 2023 17:22:27 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q01vh-0007u2-KM; Fri, 19 May 2023 11:22:05 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q01vf-0007sN-R9 for bug-gnu-emacs@gnu.org; Fri, 19 May 2023 11:22:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q01vf-0005RE-JC for bug-gnu-emacs@gnu.org; Fri, 19 May 2023 11:22:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1q01vf-0000lo-Dr for bug-gnu-emacs@gnu.org; Fri, 19 May 2023 11:22:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Thiago Melo Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 19 May 2023 15:22:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 63589 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.16845096952886 (code B ref -1); Fri, 19 May 2023 15:22:03 +0000 Original-Received: (at submit) by debbugs.gnu.org; 19 May 2023 15:21:35 +0000 Original-Received: from localhost ([127.0.0.1]:57132 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q01vC-0000kM-36 for submit@debbugs.gnu.org; Fri, 19 May 2023 11:21:35 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:57240) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pzy7q-00036m-5L for submit@debbugs.gnu.org; Fri, 19 May 2023 07:18:22 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pzy7p-0000Ez-VK for bug-gnu-emacs@gnu.org; Fri, 19 May 2023 07:18:21 -0400 Original-Received: from mail-yw1-x1136.google.com ([2607:f8b0:4864:20::1136]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pzy7n-0003oy-MF for bug-gnu-emacs@gnu.org; Fri, 19 May 2023 07:18:21 -0400 Original-Received: by mail-yw1-x1136.google.com with SMTP id 00721157ae682-561b50c1856so42121347b3.0 for ; Fri, 19 May 2023 04:18:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684495094; x=1687087094; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=4wVijafn4c4Q7w+VC11e0ag8IZzcEzqPFDIiYS4Fsok=; b=V+9aYlVjaUixkcJxJfyKAyLjOq8y+F09WvitjBSLUXQjAWJZPy10bVwZsqMp7iRP8t LRTaLtWZT/lt8HBG/imlJv6BDTfBsuKOlAG1DCHXNxhEZvxVI/wYp1SHsQOH3hJfgCs5 +E7v8vranZkJx97Z0Mv6/tNerOGrp14THAP/TJGRB1hJWOqw/O0LRLeGhmssvyDK+vJE Ow//7+mxPwrYBpsAUvUNxtmAQfL05T6NRiS2STnNMECDif6cxfImYmM+y0Lq2WIdOQSo /BN93lUtxwustedCVTKF7X5cT2egfzRh0ZUTU62VbFL/6Hpf7Gq/RNM5ftEFNmikv4hU RCQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684495094; x=1687087094; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=4wVijafn4c4Q7w+VC11e0ag8IZzcEzqPFDIiYS4Fsok=; b=HC+ICzOEulodosWiwLNV583g34Wpr+ZI9zjA2+MDDEr+DaFP1zulnd+6fICs5f6M31 vgycG2f7hONm8RNbCddOH+6hEqwNgXwHdrmzL8W+pktqgFdpRzrYJ7Ibnk8S/mfL1WTd YWOYeYX0jjDozEJ4YT/kS6d8Oywg6bnjyPGQnY4ruU/iBEf1NY1sU3zIAU0gqWRMhjzE Ke4r6M8Rv1T96UhQozd6waK9C9Md0tbsxo/oSOJUVB1DAlNmpGXa0y0qTcxZppF/zHSq l7fgGKu9Pk6dXIwSwUOPAxziI13O4nCeZSFQcWAEB2X0Hg0DB/jUK6+ivHilPXlaQvuB XIWw== X-Gm-Message-State: AC+VfDycnqaezMT/4+PBTE9HUTXiCncn5TQL5jWb+YM6tAC3z6FAMc6q QxuDQ5a7tpMuBX7zsW/xSQCgOkMwnyBQQ4H9nKmr6oRbmOg= X-Google-Smtp-Source: ACHHUZ6k9mxO+ECvk5aklOgxcv7M9HafpUgVaN0MBeNJqsAPwC+7iY3VGopT5er72a4RDUZGiRPHB8xs2giAKhAComw= X-Received: by 2002:a0d:ccd0:0:b0:556:d4ab:cbe with SMTP id o199-20020a0dccd0000000b00556d4ab0cbemr1575049ywd.39.1684495092529; Fri, 19 May 2023 04:18:12 -0700 (PDT) Received-SPF: pass client-ip=2607:f8b0:4864:20::1136; envelope-from=tmdmelo@gmail.com; helo=mail-yw1-x1136.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 19 May 2023 11:21:30 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:262006 Archived-At: --0000000000009e015f05fc0a13a7 Content-Type: text/plain; charset="UTF-8" With emacs 29 compiled with cairo-xcb, after starting emacs-daemon, repeatedly closing the last graphical frame and creating a new one via emacsclient will eventually crash emacs (it takes a few seconds for me). During the process, some frames might fail to be created (they briefly appear and close themselves). After the crash, I get the following error messages from the tty where I started the daemon: ``` emacs: ../../../../src/cairo-xcb-screen.c:219: _get_screen_index: Assertion `!"reached"' failed. Fatal error 6: Aborted ``` Affects starting emacs with `emacs -Q --daemon`. Issue happens since commit de614ec9 ("Use Cairo XCB surfaces when XCB is available"). Compiling emacs with only cairo is enough to trigger the bug. 'configure --without-all --with-x-toolkit=no --with-cairo' Attached are a gdb session log with backtraces and system information. Looking up the cairo-xcb error message above, I found a related discussion at the cairo mailing list: https://lists.cairographics.org/archives/cairo/2017-December/028491.html Where someone had the same issue with a different software in a similar scenario. One developer gives insight about the behavior and suggests how to better manage cairo-xcb surfaces. My workaround for now is patching emacs' configure.ac to disable cairo-xcb. --0000000000009e015f05fc0a13a7 Content-Type: text/plain; charset="US-ASCII"; name="system-information.txt" Content-Disposition: attachment; filename="system-information.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lhug65zu1 SW4gR05VIEVtYWNzIDI5LjAuOTEgKGJ1aWxkIDEsIHg4Nl82NC1wYy1saW51eC1nbnUsIGNhaXJv IHZlcnNpb24KIDEuMTYuMCkgb2YgMjAyMy0wNS0xOSBidWlsdCBvbiBkZWJpYW4teDI1MApXaW5k b3dpbmcgc3lzdGVtIGRpc3RyaWJ1dG9yICdUaGUgWC5PcmcgRm91bmRhdGlvbicsIHZlcnNpb24g MTEuMC4xMjAxMTAwMApTeXN0ZW0gRGVzY3JpcHRpb246IERlYmlhbiBHTlUvTGludXggMTEgKGJ1 bGxzZXllKQoKQ29uZmlndXJlZCB1c2luZzoKICdjb25maWd1cmUgLS13aXRob3V0LWFsbCAtLXdp dGgteC10b29sa2l0PW5vIC0td2l0aG91dC1jb21wcmVzcy1pbnN0YWxsCiAtLXdpdGhvdXQtdHJl ZS1zaXR0ZXIgLS13aXRob3V0LWpzb24gLS13aXRoLWNhaXJvCiAtLXByZWZpeD0vZGV2L3NobS9h cHBzL2VtYWNzJwoKQ29uZmlndXJlZCBmZWF0dXJlczoKQ0FJUk8gRlJFRVRZUEUgR01QIE9MRFhN RU5VIFBEVU1QRVIgU0VDQ09NUCBYMTEgWElNCgpJbXBvcnRhbnQgc2V0dGluZ3M6CiAgdmFsdWUg b2YgJExBTkc6IGVuX0RLLlVURi04CiAgbG9jYWxlLWNvZGluZy1zeXN0ZW06IHV0Zi04LXVuaXgK Ck1ham9yIG1vZGU6IExpc3AgSW50ZXJhY3Rpb24KCk1pbm9yIG1vZGVzIGluIGVmZmVjdDoKICBz ZXJ2ZXItbW9kZTogdAogIHRvb2x0aXAtbW9kZTogdAogIGdsb2JhbC1lbGRvYy1tb2RlOiB0CiAg ZWxkb2MtbW9kZTogdAogIHNob3ctcGFyZW4tbW9kZTogdAogIGVsZWN0cmljLWluZGVudC1tb2Rl OiB0CiAgbW91c2Utd2hlZWwtbW9kZTogdAogIHRvb2wtYmFyLW1vZGU6IHQKICBtZW51LWJhci1t b2RlOiB0CiAgZmlsZS1uYW1lLXNoYWRvdy1tb2RlOiB0CiAgZ2xvYmFsLWZvbnQtbG9jay1tb2Rl OiB0CiAgZm9udC1sb2NrLW1vZGU6IHQKICBibGluay1jdXJzb3ItbW9kZTogdAogIGxpbmUtbnVt YmVyLW1vZGU6IHQKICBpbmRlbnQtdGFicy1tb2RlOiB0CiAgdHJhbnNpZW50LW1hcmstbW9kZTog dAogIGF1dG8tY29tcG9zaXRpb24tbW9kZTogdAogIGF1dG8tZW5jcnlwdGlvbi1tb2RlOiB0CiAg YXV0by1jb21wcmVzc2lvbi1tb2RlOiB0CgpMb2FkLXBhdGggc2hhZG93czoKTm9uZSBmb3VuZC4K CkZlYXR1cmVzOgooc2hhZG93IHNvcnQgbWFpbC1leHRyIGVtYWNzYnVnIG1lc3NhZ2UgbWFpbGNh cCB5YW5rLW1lZGlhIHB1bnkgZGlyZWQKZGlyZWQtbG9hZGRlZnMgcmZjODIyIG1tbCBtbWwtc2Vj IHBhc3N3b3JkLWNhY2hlIGVwYSBkZXJpdmVkIGVwZyByZmM2MDY4CmVwZy1jb25maWcgZ251cy11 dGlsIHRleHQtcHJvcGVydHktc2VhcmNoIHRpbWUtZGF0ZSBzdWJyLXggbW0tZGVjb2RlCm1tLWJv ZGllcyBtbS1lbmNvZGUgbWFpbC1wYXJzZSByZmMyMjMxIG1haWxhYmJyZXYgZ21tLXV0aWxzIG1h aWxoZWFkZXIKY2wtbG9hZGRlZnMgY2wtbGliIHNlbmRtYWlsIHJmYzIwNDcgcmZjMjA0NSBpZXRm LWRydW1zIG1tLXV0aWwKbWFpbC1wcnN2ciBtYWlsLXV0aWxzIHNlcnZlciBybWMgaXNvLXRyYW5z bCB0b29sdGlwIGNjb252IGVsZG9jIHBhcmVuCmVsZWN0cmljIHVuaXF1aWZ5IGVkaWZmLWhvb2sg dmMtaG9va3MgbGlzcC1mbG9hdC10eXBlIGVsaXNwLW1vZGUgbXdoZWVsCnRlcm0veC13aW4geC13 aW4gdGVybS9jb21tb24td2luIHgtZG5kIHRvb2wtYmFyIGRuZCBmb250c2V0IGltYWdlCnJlZ2V4 cC1vcHQgZnJpbmdlIHRhYnVsYXRlZC1saXN0IHJlcGxhY2UgbmV3Y29tbWVudCB0ZXh0LW1vZGUg bGlzcC1tb2RlCnByb2ctbW9kZSByZWdpc3RlciBwYWdlIHRhYi1iYXIgbWVudS1iYXIgcmZuLWVz aGFkb3cgaXNlYXJjaCBlYXN5bWVudQp0aW1lciBzZWxlY3Qgc2Nyb2xsLWJhciBtb3VzZSBqaXQt bG9jayBmb250LWxvY2sgc3ludGF4IGZvbnQtY29yZQp0ZXJtL3R0eS1jb2xvcnMgZnJhbWUgbWlu aWJ1ZmZlciBuYWR2aWNlIHNlcSBzaW1wbGUgY2wtZ2VuZXJpYwppbmRvbmVzaWFuIHBoaWxpcHBp bmUgY2hhbSBnZW9yZ2lhbiB1dGYtOC1sYW5nIG1pc2MtbGFuZyB2aWV0bmFtZXNlCnRpYmV0YW4g dGhhaSB0YWktdmlldCBsYW8ga29yZWFuIGphcGFuZXNlIGV1Y2pwLW1zIGNwNTE5MzIgaGVicmV3 IGdyZWVrCnJvbWFuaWFuIHNsb3ZhayBjemVjaCBldXJvcGVhbiBldGhpb3BpYyBpbmRpYW4gY3ly aWxsaWMgY2hpbmVzZQpjb21wb3NpdGUgZW1vamktendqIGNoYXJzY3JpcHQgY2hhcnByb3AgY2Fz ZS10YWJsZSBlcGEtaG9vawpqa2EtY21wci1ob29rIGhlbHAgYWJicmV2IG9iYXJyYXkgb2Nsb3N1 cmUgY2wtcHJlbG9hZGVkIGJ1dHRvbiBsb2FkZGVmcwp0aGVtZS1sb2FkZGVmcyBmYWNlcyBjdXMt ZmFjZSBtYWNyb2V4cCBmaWxlcyB3aW5kb3cgdGV4dC1wcm9wZXJ0aWVzCm92ZXJsYXkgc2hhMSBt ZDUgYmFzZTY0IGZvcm1hdCBlbnYgY29kZS1wYWdlcyBtdWxlIGN1c3RvbSB3aWRnZXQga2V5bWFw Cmhhc2h0YWJsZS1wcmludC1yZWFkYWJsZSBiYWNrcXVvdGUgZHluYW1pYy1zZXR0aW5nIGZvbnQt cmVuZGVyLXNldHRpbmcKY2Fpcm8geCBtdWx0aS10dHkgbWFrZS1uZXR3b3JrLXByb2Nlc3MgZW1h Y3MpCgpNZW1vcnkgaW5mb3JtYXRpb246CigoY29uc2VzIDE2IDM3ODUzIDkyNzEpCiAoc3ltYm9s cyA0OCA1MTU3IDApCiAoc3RyaW5ncyAzMiAxMzA1NSAxNDUzKQogKHN0cmluZy1ieXRlcyAxIDM3 MzkwNCkKICh2ZWN0b3JzIDE2IDk3MTIpCiAodmVjdG9yLXNsb3RzIDggMTQ4MTQxIDE0MTk5KQog KGZsb2F0cyA4IDQxIDIyKQogKGludGVydmFscyA1NiAyMjMgMCkKIChidWZmZXJzIDk3NiAxMSkp Cg== --0000000000009e015f05fc0a13a7 Content-Type: application/vnd.lotus-organizer; name="emacs-29-cairo-xcb-gdb-backtrace.org" Content-Disposition: attachment; filename="emacs-29-cairo-xcb-gdb-backtrace.org" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lhug38ke0 CiogZ2RiIHN0YXJ0dXAKCiQgZ2RiIC0tYXJncyAvZGV2L3NobS9hcHBzL2VtYWNzL2Jpbi9lbWFj cyAtUSAtLWZnLWRhZW1vbgpHTlUgZ2RiIChEZWJpYW4gMTAuMS0xLjcpIDEwLjEuOTAuMjAyMTAx MDMtZ2l0CkNvcHlyaWdodCAoQykgMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K TGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9y Zy9saWNlbnNlcy9ncGwuaHRtbD4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgYXJlIGZyZWUg dG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuClRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0 aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuClR5cGUgInNob3cgY29weWluZyIgYW5kICJzaG93 IHdhcnJhbnR5IiBmb3IgZGV0YWlscy4KVGhpcyBHREIgd2FzIGNvbmZpZ3VyZWQgYXMgIng4Nl82 NC1saW51eC1nbnUiLgpUeXBlICJzaG93IGNvbmZpZ3VyYXRpb24iIGZvciBjb25maWd1cmF0aW9u IGRldGFpbHMuCkZvciBidWcgcmVwb3J0aW5nIGluc3RydWN0aW9ucywgcGxlYXNlIHNlZToKPGh0 dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ2RiL2J1Z3MvPi4KRmluZCB0aGUgR0RCIG1hbnVh bCBhbmQgb3RoZXIgZG9jdW1lbnRhdGlvbiByZXNvdXJjZXMgb25saW5lIGF0OgogICAgPGh0dHA6 Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nZGIvZG9jdW1lbnRhdGlvbi8+LgoKRm9yIGhlbHAsIHR5 cGUgImhlbHAiLgpUeXBlICJhcHJvcG9zIHdvcmQiIHRvIHNlYXJjaCBmb3IgY29tbWFuZHMgcmVs YXRlZCB0byAid29yZCIuLi4KUmVhZGluZyBzeW1ib2xzIGZyb20gL2Rldi9zaG0vYXBwcy9lbWFj cy9iaW4vZW1hY3MuLi4KU0lHSU5UIGlzIHVzZWQgYnkgdGhlIGRlYnVnZ2VyLgotLVR5cGUgPFJF VD4gZm9yIG1vcmUsIHEgdG8gcXVpdCwgYyB0byBjb250aW51ZSB3aXRob3V0IHBhZ2luZy0tYwpB cmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2hhbmdlIGl0PyAoeSBvciBuKSBbYW5zd2VyZWQgWTsg aW5wdXQgbm90IGZyb20gdGVybWluYWxdCkRJU1BMQVkgPSA6MApURVJNID0geHRlcm0tMjU2Y29s b3IKQnJlYWtwb2ludCAxIGF0IDB4MzdkYjA6IGZpbGUgZW1hY3MuYywgbGluZSA0MjcuCkJyZWFr cG9pbnQgMiBhdCAweDExZWJmMDogZmlsZSB4dGVybS5jLCBsaW5lIDI2MTI2LgooZ2RiKSBydW4K U3RhcnRpbmcgcHJvZ3JhbTogL2Rldi9zaG0vYXBwcy9lbWFjcy9iaW4vZW1hY3MgLVEgLS1mZy1k YWVtb24KW1RocmVhZCBkZWJ1Z2dpbmcgdXNpbmcgbGlidGhyZWFkX2RiIGVuYWJsZWRdClVzaW5n IGhvc3QgbGlidGhyZWFkX2RiIGxpYnJhcnkgIi9saWIveDg2XzY0LWxpbnV4LWdudS9saWJ0aHJl YWRfZGIuc28uMSIuClN0YXJ0aW5nIEVtYWNzIGRhZW1vbi4KCiogZnJhbWUgYnJpZWZseSBvcGVu IGFuZCBjbG9zZXMgaXRzZWxmCgoqKiBiYWNrdHJhY2UgMQoKQnJlYWtwb2ludCAyLCB4X2Vycm9y X3F1aXR0ZXIgKGRpc3BsYXk9MHg1NTU1NTVkZTJmMTAsIAogICAgZXZlbnQ9MHg3ZmZmZmZmZmEz YzApIGF0IHh0ZXJtLmM6MjYxMjYKMjYxMjYJICBpZiAoZXZlbnQtPmVycm9yX2NvZGUgPT0gQmFk TmFtZSkKKGdkYikgYmFja3RyYWNlCiMwICB4X2Vycm9yX3F1aXR0ZXIgKGRpc3BsYXk9MHg1NTU1 NTVkZTJmMTAsIGV2ZW50PTB4N2ZmZmZmZmZhM2MwKQogICAgYXQgeHRlcm0uYzoyNjEyNgojMSAg MHgwMDAwNTU1NTU1NjcyZDI2IGluIHhfZXJyb3JfaGFuZGxlciAoZGlzcGxheT0weDU1NTU1NWRl MmYxMCwgCiAgICBldmVudD0weDdmZmZmZmZmYTNjMCkgYXQgeHRlcm0uYzoyNjEwNwojMiAgMHgw MDAwN2ZmZmY3ZTZlODY0IGluIF9YRXJyb3IgKCkKICAgZnJvbSAvdXNyL2xpYi94ODZfNjQtbGlu dXgtZ251L2xpYlgxMS5zby42CiMzICAweDAwMDA3ZmZmZjdlNmIzMjcgaW4gPz8gKCkKICAgZnJv bSAvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYlgxMS5zby42CiM0ICAweDAwMDA3ZmZmZjdl NmIzYzUgaW4gPz8gKCkKICAgZnJvbSAvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYlgxMS5z by42CiM1ICAweDAwMDA3ZmZmZjdlNmJmZmEgaW4gX1hFdmVudHNRdWV1ZWQgKCkKICAgZnJvbSAv dXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYlgxMS5zby42CiM2ICAweDAwMDA3ZmZmZjdlNWQ5 MzEgaW4gWFBlbmRpbmcgKCkKICAgZnJvbSAvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYlgx MS5zby42CiM3ICAweDAwMDA1NTU1NTU2ODJhZTkgaW4gWFRyZWFkX3NvY2tldCAodGVybWluYWw9 PG9wdGltaXplZCBvdXQ+LCAKICAgIGhvbGRfcXVpdD0weDdmZmZmZmZmYTY2MCkgYXQgeHRlcm0u YzoyNDc3MwojOCAgMHgwMDAwNTU1NTU1NmE1NDdhIGluIGdvYmJsZV9pbnB1dCAoKSBhdCBrZXli b2FyZC5jOjc0MjYKIzkgIDB4MDAwMDU1NTU1NTZhNTdjNSBpbiBoYW5kbGVfYXN5bmNfaW5wdXQg KCkgYXQga2V5Ym9hcmQuYzo3NjU3CiMxMCBwcm9jZXNzX3BlbmRpbmdfc2lnbmFscyAoKSBhdCBr ZXlib2FyZC5jOjc2NzEKIzExIDB4MDAwMDU1NTU1NTcyODAzZCBpbiBwcm9iYWJseV9xdWl0ICgp IGF0IGV2YWwuYzoxNjYxCiMxMiAweDAwMDA1NTU1NTU2YjVhMzMgaW4gbWF5YmVfcXVpdCAoKSBh dCBsaXNwLmg6MzY4OQojMTMgYWNjZXNzX2tleW1hcF8xIChtYXA9PG9wdGltaXplZCBvdXQ+LCBp ZHg9aWR4QGVudHJ5PVhJTCgweGNmZjApLCB0X29rPTxvcHRpbWl6ZWQgb3V0PiwgdF9va0BlbnRy eT1mYWxzZSwgbm9pbmhlcml0PW5vaW5oZXJpdEBlbnRyeT1mYWxzZSwgYXV0b2xvYWQ9YXV0b2xv YWRAZW50cnk9dHJ1ZSkgYXQga2V5bWFwLmM6NDg3CiMxNCAweDAwMDA1NTU1NTU2YjVjNjkgaW4g YWNjZXNzX2tleW1hcF8xIChtYXA9PG9wdGltaXplZCBvdXQ+LCBtYXBAZW50cnk9WElMKDB4NTU1 NTU2M2E3ZGUzKSwgaWR4PVhJTCgweGNmZjApLCB0X29rPXRfb2tAZW50cnk9ZmFsc2UsIG5vaW5o ZXJpdD1ub2luaGVyaXRAZW50cnk9ZmFsc2UsIGF1dG9sb2FkPWF1dG9sb2FkQGVudHJ5PXRydWUp IGF0IGtleW1hcC5jOjQyMQojMTUgMHgwMDAwNTU1NTU1NmI2YmJiIGluIGFjY2Vzc19rZXltYXAg KGF1dG9sb2FkPXRydWUsIG5vaW5oZXJpdD1mYWxzZSwgdF9vaz08b3B0aW1pemVkIG91dD4sIGlk eD08b3B0aW1pemVkIG91dD4sIG1hcD1YSUwoMHg1NTU1NTYzYTdkZTMpKSBhdCBrZXltYXAuYzo0 OTkKIzE2IGxvb2t1cF9rZXlfMSAoa2V5bWFwPVhJTCgweDU1NTU1NjNhN2RlMyksIGtleT1YSUwo MHg3ZmZmZjZiYzE0MTUpLCBhY2NlcHRfZGVmYXVsdD08b3B0aW1pemVkIG91dD4pIGF0IGtleW1h cC5jOjEyNzkKIzE3IDB4MDAwMDU1NTU1NTZiNmQyMiBpbiBGbG9va3VwX2tleSAoa2V5bWFwPWtl eW1hcEBlbnRyeT1YSUwoMHg1NTU1NTYzYTdkZTMpLCBrZXk9WElMKDB4N2ZmZmY2YmMxNDE1KSwg YWNjZXB0X2RlZmF1bHQ9YWNjZXB0X2RlZmF1bHRAZW50cnk9WElMKDApKSBhdCBrZXltYXAuYzox MzE2CiMxOCAweDAwMDA1NTU1NTU2Yjg4ZTEgaW4gRmNvbW1hbmRfcmVtYXBwaW5nIChjb21tYW5k PWNvbW1hbmRAZW50cnk9WElMKDB4MmFhYWEwNzZlMWUwKSwgcG9zaXRpb249cG9zaXRpb25AZW50 cnk9WElMKDApLCBrZXltYXBzPWtleW1hcHNAZW50cnk9WElMKDB4NTU1NTU2M2E3ZGUzKSkgYXQg a2V5bWFwLmM6MTI0NAojMTkgMHgwMDAwNTU1NTU1NmI4YTRkIGluIEZ3aGVyZV9pc19pbnRlcm5h bCAoZGVmaW5pdGlvbj1YSUwoMHgyYWFhYTA3NmUxZTApLCBrZXltYXA9a2V5bWFwQGVudHJ5PVhJ TCgwKSwgZmlyc3Rvbmx5PWZpcnN0b25seUBlbnRyeT1YSUwoMHgzMCksIG5vaW5kaXJlY3Q9bm9p bmRpcmVjdEBlbnRyeT1YSUwoMCksIG5vX3JlbWFwPW5vX3JlbWFwQGVudHJ5PVhJTCgwKSkgYXQg bGlzcC5oOjExNjUKIzIwIDB4MDAwMDU1NTU1NTZhOTI3YiBpbiBwYXJzZV90b29sX2Jhcl9pdGVt IChpdGVtPTxvcHRpbWl6ZWQgb3V0Piwga2V5PTxvcHRpbWl6ZWQgb3V0PikgYXQga2V5Ym9hcmQu Yzo5MjU4CiMyMSBwcm9jZXNzX3Rvb2xfYmFyX2l0ZW0gKGtleT08b3B0aW1pemVkIG91dD4sIGRl Zj08b3B0aW1pemVkIG91dD4sIGRhdGE9PG9wdGltaXplZCBvdXQ+LCBhcmdzPTxvcHRpbWl6ZWQg b3V0PikgYXQga2V5Ym9hcmQuYzo4OTkyCiMyMiAweDAwMDA1NTU1NTU2YjYwZDggaW4gbWFwX2tl eW1hcF9pdGVtIChkYXRhPTB4MCwgdmFsPTxvcHRpbWl6ZWQgb3V0Piwga2V5PTxvcHRpbWl6ZWQg b3V0PiwgYXJncz1YSUwoMCksIGZ1bj0weDU1NTU1NTZhOGNiMCA8cHJvY2Vzc190b29sX2Jhcl9p dGVtPikgYXQga2V5bWFwLmM6NTA4CiMyMyBtYXBfa2V5bWFwX2ludGVybmFsIChtYXA9bWFwQGVu dHJ5PVhJTCgweDU1NTU1NjJiZDI4MyksIGZ1bj1mdW5AZW50cnk9MHg1NTU1NTU2YThjYjAgPHBy b2Nlc3NfdG9vbF9iYXJfaXRlbT4sIGFyZ3M9YXJnc0BlbnRyeT1YSUwoMCksIGRhdGE9ZGF0YUBl bnRyeT0weDApIGF0IGtleW1hcC5jOjU1NQojMjQgMHgwMDAwNTU1NTU1NmI3NjYzIGluIG1hcF9r ZXltYXAgKG1hcD1YSUwoMHg1NTU1NTYyYmQyODMpLCBmdW49ZnVuQGVudHJ5PTB4NTU1NTU1NmE4 Y2IwIDxwcm9jZXNzX3Rvb2xfYmFyX2l0ZW0+LCBhcmdzPWFyZ3NAZW50cnk9WElMKDApLCBkYXRh PWRhdGFAZW50cnk9MHgwLCBhdXRvbG9hZD1hdXRvbG9hZEBlbnRyeT10cnVlKSBhdCBrZXltYXAu Yzo2MDAKIzI1IDB4MDAwMDU1NTU1NTZhYWZjMSBpbiB0b29sX2Jhcl9pdGVtcyAocmV1c2U9PG9w dGltaXplZCBvdXQ+LCBuaXRlbXM9bml0ZW1zQGVudHJ5PTB4N2ZmZmZmZmZhYjhjKSBhdCBsaXNw Lmg6MTE2NQojMjYgMHgwMDAwNTU1NTU1NWIwMDBlIGluIHVwZGF0ZV90b29sX2JhciAoc2F2ZV9t YXRjaF9kYXRhPWZhbHNlLCBmPTB4NTU1NTU2MDY3ZTMwKSBhdCB4ZGlzcC5jOjE0OTE3CiMyNyB1 cGRhdGVfdG9vbF9iYXIgKGY9MHg1NTU1NTYwNjdlMzAsIHNhdmVfbWF0Y2hfZGF0YT08b3B0aW1p emVkIG91dD4pIGF0IHhkaXNwLmM6MTQ4NTIKIzI4IDB4MDAwMDU1NTU1NTVlNDA1YyBpbiBwcmVw YXJlX21lbnVfYmFycyAoKSBhdCB4ZGlzcC5jOjEzNzIwCiMyOSByZWRpc3BsYXlfaW50ZXJuYWwg KCkgYXQgeGRpc3AuYzoxNjYwMgojMzAgMHgwMDAwNTU1NTU1NWU0YTgwIGluIHJlZGlzcGxheV9w cmVzZXJ2ZV9lY2hvX2FyZWEgKGZyb21fd2hlcmU9ZnJvbV93aGVyZUBlbnRyeT0xMykgYXQgeGRp c3AuYzoxNzM1OQojMzEgMHgwMDAwNTU1NTU1NzZmMzU4IGluIEZkZWxldGVfcHJvY2VzcyAocHJv Y2Vzcz1YSUwoMHg1NTU1NTVlZDgwNDUpKSBhdCBwcm9jZXNzLmM6MTE0MAojMzIgMHgwMDAwNTU1 NTU1NzY4MmY1IGluIGV4ZWNfYnl0ZV9jb2RlIChmdW49PG9wdGltaXplZCBvdXQ+LCBhcmdzX3Rl bXBsYXRlPTxvcHRpbWl6ZWQgb3V0PiwgbmFyZ3M9PG9wdGltaXplZCBvdXQ+LCBhcmdzPTxvcHRp bWl6ZWQgb3V0PikgYXQgYnl0ZWNvZGUuYzo4MDkKIzMzIDB4MDAwMDU1NTU1NTcyODI4MyBpbiBG ZnVuY2FsbCAobmFyZ3M9MywgYXJncz0weDdmZmZmZmZmYzBkMCkgYXQgZXZhbC5jOjI5OTUKIzM0 IDB4MDAwMDU1NTU1NTcyODRhMCBpbiBGYXBwbHkgKG5hcmdzPW5hcmdzQGVudHJ5PTIsIGFyZ3M9 YXJnc0BlbnRyeT0weDdmZmZmZmZmYzE2MCkgYXQgZXZhbC5jOjI2NjYKIzM1IDB4MDAwMDU1NTU1 NTcyODgwYyBpbiBhcHBseTEgKGZuPTxvcHRpbWl6ZWQgb3V0PiwgYXJnPTxvcHRpbWl6ZWQgb3V0 PikgYXQgZXZhbC5jOjI4ODIKIzM2IDB4MDAwMDU1NTU1NTcyNmE4NCBpbiBpbnRlcm5hbF9jb25k aXRpb25fY2FzZV8xIChiZnVuPWJmdW5AZW50cnk9MHg1NTU1NTU3NmFlNDAgPHJlYWRfcHJvY2Vz c19vdXRwdXRfY2FsbD4sIGFyZz1YSUwoMHg1NTU1NTYyYmVkYTMpLCBoYW5kbGVycz1oYW5kbGVy c0BlbnRyeT1YSUwoMHg5MCksIGhmdW49aGZ1bkBlbnRyeT0weDU1NTU1NTc2YWQ4MCA8cmVhZF9w cm9jZXNzX291dHB1dF9lcnJvcl9oYW5kbGVyPikgYXQgZXZhbC5jOjE0OTgKIzM3IDB4MDAwMDU1 NTU1NTc2ZDk0YiBpbiByZWFkX2FuZF9kaXNwb3NlX29mX3Byb2Nlc3Nfb3V0cHV0IChjb2Rpbmc9 MHg1NTU1NTVlMDUxNjAsIG5ieXRlcz0xMjI3LCBjaGFycz0weDdmZmZmZmZmYzFiMCAiLWVudiBV U0VSPWRhcmxpbmcgLWVudiBYREdfU0VBVD1zZWF0MCAtZW52IFhER19TRVNTSU9OX1RZUEU9eDEx IC1lbnYgU1NIX0FHRU5UX1BJRD05OTg2NDMgLWVudiBIT01FPS9ob21lL2RhcmxpbmcgLWVudiBE RVNLVE9QX1NFU1NJT049eGZjZSAtZW52IFhER19TRUFUX1BBVEg9L29yZy9mcmVlZGVza3RvcC9E aXNwbGF5TWFuYWdlci9TZWF0MCAtZW4iLi4uLCBwPTB4N2ZmZmY2YzFmYjM5KSBhdCBwcm9jZXNz LmM6NjI5NAojMzggcmVhZF9wcm9jZXNzX291dHB1dCAocHJvYz1wcm9jQGVudHJ5PVhJTCgweDU1 NTU1NWVkODA0NSksIGNoYW5uZWw9Y2hhbm5lbEBlbnRyeT01KSBhdCBwcm9jZXNzLmM6NjIwNAoj MzkgMHgwMDAwNTU1NTU1Nzc0ZDYwIGluIHdhaXRfcmVhZGluZ19wcm9jZXNzX291dHB1dCAodGlt ZV9saW1pdD10aW1lX2xpbWl0QGVudHJ5PTAsIG5zZWNzPW5zZWNzQGVudHJ5PTAsIHJlYWRfa2Jk PXJlYWRfa2JkQGVudHJ5PS0xLCBkb19kaXNwbGF5PTxvcHRpbWl6ZWQgb3V0Piwgd2FpdF9mb3Jf Y2VsbD13YWl0X2Zvcl9jZWxsQGVudHJ5PVhJTCgwKSwgd2FpdF9wcm9jPXdhaXRfcHJvY0BlbnRy eT0weDAsIGp1c3Rfd2FpdF9wcm9jPTxvcHRpbWl6ZWQgb3V0PikgYXQgcHJvY2Vzcy5jOjU4ODgK IzQwIDB4MDAwMDU1NTU1NTZhNmViMyBpbiBrYmRfYnVmZmVyX2dldF9ldmVudCAoa2JwPTB4N2Zm ZmZmZmZkODgwLCBlbmRfdGltZT0weDAsIHVzZWRfbW91c2VfbWVudT08b3B0aW1pemVkIG91dD4p IGF0IGxpc3AuaDoxMTY1CiM0MSAweDAwMDA1NTU1NTU2YWMzZDAgaW4gcmVhZF9ldmVudF9mcm9t X21haW5fcXVldWUgKHVzZWRfbW91c2VfbWVudT08b3B0aW1pemVkIG91dD4sIGxvY2FsX2dldGNq bXA9MHg3ZmZmZmZmZmQ5YjAsIGVuZF90aW1lPTB4MCkgYXQga2V5Ym9hcmQuYzoyMjc5CiM0MiBy ZWFkX2RlY29kZWRfZXZlbnRfZnJvbV9tYWluX3F1ZXVlICh1c2VkX21vdXNlX21lbnU9PG9wdGlt aXplZCBvdXQ+LCBwcmV2X2V2ZW50PTxvcHRpbWl6ZWQgb3V0PiwgbG9jYWxfZ2V0Y2ptcD08b3B0 aW1pemVkIG91dD4sIGVuZF90aW1lPTxvcHRpbWl6ZWQgb3V0PikgYXQga2V5Ym9hcmQuYzoyMzQz CiM0MyByZWFkX2NoYXIgKGNvbW1hbmRmbGFnPTEsIG1hcD1YSUwoMHg1NTU1NTYyYmYwMzMpLCBw cmV2X2V2ZW50PVhJTCgwKSwgdXNlZF9tb3VzZV9tZW51PTB4N2ZmZmZmZmZkZDFiLCBlbmRfdGlt ZT0weDApIGF0IGtleWJvYXJkLmM6Mjk3MwojNDQgMHgwMDAwNTU1NTU1NmFlNjNkIGluIHJlYWRf a2V5X3NlcXVlbmNlIChrZXlidWY9PG9wdGltaXplZCBvdXQ+LCBwcm9tcHQ9WElMKDApLCBkb250 X2Rvd25jYXNlX2xhc3Q9PG9wdGltaXplZCBvdXQ+LCBjYW5fcmV0dXJuX3N3aXRjaF9mcmFtZT10 cnVlLCBmaXhfY3VycmVudF9idWZmZXI9dHJ1ZSwgcHJldmVudF9yZWRpc3BsYXk9PG9wdGltaXpl ZCBvdXQ+KSBhdCBrZXlib2FyZC5jOjEwMDgzCiM0NSAweDAwMDA1NTU1NTU2YjAyNzAgaW4gY29t bWFuZF9sb29wXzEgKCkgYXQgbGlzcC5oOjExNjUKIzQ2IDB4MDAwMDU1NTU1NTcyNjlmNyBpbiBp bnRlcm5hbF9jb25kaXRpb25fY2FzZSAoYmZ1bj1iZnVuQGVudHJ5PTB4NTU1NTU1NmIwMGIwIDxj b21tYW5kX2xvb3BfMT4sIGhhbmRsZXJzPWhhbmRsZXJzQGVudHJ5PVhJTCgweDkwKSwgaGZ1bj1o ZnVuQGVudHJ5PTB4NTU1NTU1NmE0MTYwIDxjbWRfZXJyb3I+KSBhdCBldmFsLmM6MTQ3NAojNDcg MHgwMDAwNTU1NTU1NjljNzQyIGluIGNvbW1hbmRfbG9vcF8yIChoYW5kbGVycz1oYW5kbGVyc0Bl bnRyeT1YSUwoMHg5MCkpIGF0IGtleWJvYXJkLmM6MTEzMwojNDggMHgwMDAwNTU1NTU1NzI2OTUx IGluIGludGVybmFsX2NhdGNoICh0YWc9dGFnQGVudHJ5PVhJTCgweGYyNDApLCBmdW5jPWZ1bmNA ZW50cnk9MHg1NTU1NTU2OWM3MjAgPGNvbW1hbmRfbG9vcF8yPiwgYXJnPWFyZ0BlbnRyeT1YSUwo MHg5MCkpIGF0IGV2YWwuYzoxMTk3CiM0OSAweDAwMDA1NTU1NTU2OWM2ZGUgaW4gY29tbWFuZF9s b29wICgpIGF0IGxpc3AuaDoxMTY1CiM1MCAweDAwMDA1NTU1NTU2YTNkMTMgaW4gcmVjdXJzaXZl X2VkaXRfMSAoKSBhdCBrZXlib2FyZC5jOjcyMAojNTEgMHgwMDAwNTU1NTU1NmE0MDhjIGluIEZy ZWN1cnNpdmVfZWRpdCAoKSBhdCBrZXlib2FyZC5jOjgwMwojNTIgMHgwMDAwNTU1NTU1NTkzMjRh IGluIG1haW4gKGFyZ2M9PG9wdGltaXplZCBvdXQ+LCBhcmd2PTxvcHRpbWl6ZWQgb3V0PikgYXQg ZW1hY3MuYzoyNTI5CgpMaXNwIEJhY2t0cmFjZToKInJlZGlzcGxheV9pbnRlcm5hbCAoQyBmdW5j dGlvbikiICgweDApCiJkZWxldGUtcHJvY2VzcyIgKDB4ZjViZmYyYjApCiJzZXJ2ZXItZGVsZXRl LWNsaWVudCIgKDB4ZjViZmYyNDApCiJzZXJ2ZXItZXhlY3V0ZSIgKDB4ZjViZmYxYTApCjB4NTVl M2RlMjggUFZFQ19DT01QSUxFRAoic2VydmVyLWV4ZWN1dGUtY29udGludWF0aW9uIiAoMHhmNWJm ZjBjOCkKInNlcnZlci1wcm9jZXNzLWZpbHRlciIgKDB4ZmZmZmMwZDgpCihnZGIpIGNvbnRpbnVl CkNvbnRpbnVpbmcuCgoqKiBiYWNrdHJhY2UgMgoKQnJlYWtwb2ludCAyLCB4X2Vycm9yX3F1aXR0 ZXIgKGRpc3BsYXk9MHg1NTU1NTVkZTJmMTAsIAogICAgZXZlbnQ9MHg3ZmZmZmZmZjljODApIGF0 IHh0ZXJtLmM6MjYxMjYKMjYxMjYJICBpZiAoZXZlbnQtPmVycm9yX2NvZGUgPT0gQmFkTmFtZSkK KGdkYikgYmFja3RyYWNlCiMwICB4X2Vycm9yX3F1aXR0ZXIgKGRpc3BsYXk9MHg1NTU1NTVkZTJm MTAsIGV2ZW50PTB4N2ZmZmZmZmY5YzgwKQogICAgYXQgeHRlcm0uYzoyNjEyNgojMSAgMHgwMDAw NTU1NTU1NjcyZDI2IGluIHhfZXJyb3JfaGFuZGxlciAoZGlzcGxheT0weDU1NTU1NWRlMmYxMCwg CiAgICBldmVudD0weDdmZmZmZmZmOWM4MCkgYXQgeHRlcm0uYzoyNjEwNwojMiAgMHgwMDAwN2Zm ZmY3ZTZlODY0IGluIF9YRXJyb3IgKCkKICAgZnJvbSAvdXNyL2xpYi94ODZfNjQtbGludXgtZ251 L2xpYlgxMS5zby42CiMzICAweDAwMDA3ZmZmZjdlNmIzMjcgaW4gPz8gKCkKICAgZnJvbSAvdXNy L2xpYi94ODZfNjQtbGludXgtZ251L2xpYlgxMS5zby42CiM0ICAweDAwMDA3ZmZmZjdlNmIzYzUg aW4gPz8gKCkKICAgZnJvbSAvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYlgxMS5zby42CiM1 ICAweDAwMDA3ZmZmZjdlNmJmZmEgaW4gX1hFdmVudHNRdWV1ZWQgKCkKICAgZnJvbSAvdXNyL2xp Yi94ODZfNjQtbGludXgtZ251L2xpYlgxMS5zby42CiM2ICAweDAwMDA3ZmZmZjdlNmVmYjUgaW4g X1hHZXRSZXF1ZXN0ICgpCiAgIGZyb20gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9saWJYMTEu c28uNgojNyAgMHgwMDAwN2ZmZmY3ZTRhZjFjIGluIFhEZXN0cm95V2luZG93ICgpCiAgIGZyb20g L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9saWJYMTEuc28uNgojOCAgMHgwMDAwNTU1NTU1Njc5 OGE4IGluIHhfZnJlZV9mcmFtZV9yZXNvdXJjZXMgKGY9MHg1NTU1NTYwNjdlMzApCiAgICBhdCB4 dGVybS5jOjI4NTE2CiM5ICAweDAwMDA1NTU1NTU2NzlkMjMgaW4geF9kZXN0cm95X3dpbmRvdyAo Zj0weDU1NTU1NjA2N2UzMCkgYXQgeHRlcm0uYzoyODY1OAojMTAgMHgwMDAwNTU1NTU1NWE3OTZh IGluIGRlbGV0ZV9mcmFtZSAoZnJhbWU9WElMKDB4NTU1NTU2MDY3ZTM1KSwgZm9yY2U9PG9wdGlt aXplZCBvdXQ+KSBhdCBmcmFtZS5jOjIyMDEKIzExIDB4MDAwMDU1NTU1NTY3MjhmNSBpbiB4X2Nv bm5lY3Rpb25fY2xvc2VkIChkcHk9MHg1NTU1NTVkZTJmMTAsIGVycm9yX21lc3NhZ2U9MHg3ZmZm ZmZmZmEwZDAgIlggcHJvdG9jb2wgZXJyb3I6IEJhZElEQ2hvaWNlIChpbnZhbGlkIHJlc291cmNl IElEIGNob3NlbiBmb3IgdGhpcyBjb25uZWN0aW9uKSBvbiBwcm90b2NvbCByZXF1ZXN0IDFcblNl cmlhbCBubzogNzA5XG4iLCBpb2Vycm9yPTxvcHRpbWl6ZWQgb3V0PikgYXQgbGlzcC5oOjExNjUK IzEyIDB4MDAwMDU1NTU1NTY3MmM0ZSBpbiB4X2Vycm9yX3F1aXR0ZXIgKGRpc3BsYXk9MHg1NTU1 NTVkZTJmMTAsIGV2ZW50PTB4N2ZmZmZmZmZhM2MwKSBhdCB4dGVybS5jOjI2MTM2CiMxMyAweDAw MDA1NTU1NTU2NzJkMjYgaW4geF9lcnJvcl9oYW5kbGVyIChkaXNwbGF5PTB4NTU1NTU1ZGUyZjEw LCBldmVudD0weDdmZmZmZmZmYTNjMCkgYXQgeHRlcm0uYzoyNjEwNwojMTQgMHgwMDAwN2ZmZmY3 ZTZlODY0IGluIF9YRXJyb3IgKCkgZnJvbSAvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYlgx MS5zby42CiMxNSAweDAwMDA3ZmZmZjdlNmIzMjcgaW4gPz8gKCkgZnJvbSAvdXNyL2xpYi94ODZf NjQtbGludXgtZ251L2xpYlgxMS5zby42CiMxNiAweDAwMDA3ZmZmZjdlNmIzYzUgaW4gPz8gKCkg ZnJvbSAvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYlgxMS5zby42CiMxNyAweDAwMDA3ZmZm ZjdlNmJmZmEgaW4gX1hFdmVudHNRdWV1ZWQgKCkgZnJvbSAvdXNyL2xpYi94ODZfNjQtbGludXgt Z251L2xpYlgxMS5zby42CiMxOCAweDAwMDA3ZmZmZjdlNWQ5MzEgaW4gWFBlbmRpbmcgKCkgZnJv bSAvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYlgxMS5zby42CiMxOSAweDAwMDA1NTU1NTU2 ODJhZTkgaW4gWFRyZWFkX3NvY2tldCAodGVybWluYWw9PG9wdGltaXplZCBvdXQ+LCBob2xkX3F1 aXQ9MHg3ZmZmZmZmZmE2NjApIGF0IHh0ZXJtLmM6MjQ3NzMKIzIwIDB4MDAwMDU1NTU1NTZhNTQ3 YSBpbiBnb2JibGVfaW5wdXQgKCkgYXQga2V5Ym9hcmQuYzo3NDI2CiMyMSAweDAwMDA1NTU1NTU2 YTU3YzUgaW4gaGFuZGxlX2FzeW5jX2lucHV0ICgpIGF0IGtleWJvYXJkLmM6NzY1NwojMjIgcHJv Y2Vzc19wZW5kaW5nX3NpZ25hbHMgKCkgYXQga2V5Ym9hcmQuYzo3NjcxCiMyMyAweDAwMDA1NTU1 NTU3MjgwM2QgaW4gcHJvYmFibHlfcXVpdCAoKSBhdCBldmFsLmM6MTY2MQojMjQgMHgwMDAwNTU1 NTU1NmI1YTMzIGluIG1heWJlX3F1aXQgKCkgYXQgbGlzcC5oOjM2ODkKIzI1IGFjY2Vzc19rZXlt YXBfMSAobWFwPTxvcHRpbWl6ZWQgb3V0PiwgaWR4PWlkeEBlbnRyeT1YSUwoMHhjZmYwKSwgdF9v az08b3B0aW1pemVkIG91dD4sIHRfb2tAZW50cnk9ZmFsc2UsIG5vaW5oZXJpdD1ub2luaGVyaXRA ZW50cnk9ZmFsc2UsIGF1dG9sb2FkPWF1dG9sb2FkQGVudHJ5PXRydWUpIGF0IGtleW1hcC5jOjQ4 NwojMjYgMHgwMDAwNTU1NTU1NmI1YzY5IGluIGFjY2Vzc19rZXltYXBfMSAobWFwPTxvcHRpbWl6 ZWQgb3V0PiwgbWFwQGVudHJ5PVhJTCgweDU1NTU1NjNhN2RlMyksIGlkeD1YSUwoMHhjZmYwKSwg dF9vaz10X29rQGVudHJ5PWZhbHNlLCBub2luaGVyaXQ9bm9pbmhlcml0QGVudHJ5PWZhbHNlLCBh dXRvbG9hZD1hdXRvbG9hZEBlbnRyeT10cnVlKSBhdCBrZXltYXAuYzo0MjEKIzI3IDB4MDAwMDU1 NTU1NTZiNmJiYiBpbiBhY2Nlc3Nfa2V5bWFwIChhdXRvbG9hZD10cnVlLCBub2luaGVyaXQ9ZmFs c2UsIHRfb2s9PG9wdGltaXplZCBvdXQ+LCBpZHg9PG9wdGltaXplZCBvdXQ+LCBtYXA9WElMKDB4 NTU1NTU2M2E3ZGUzKSkgYXQga2V5bWFwLmM6NDk5CiMyOCBsb29rdXBfa2V5XzEgKGtleW1hcD1Y SUwoMHg1NTU1NTYzYTdkZTMpLCBrZXk9WElMKDB4N2ZmZmY2YmMxNDE1KSwgYWNjZXB0X2RlZmF1 bHQ9PG9wdGltaXplZCBvdXQ+KSBhdCBrZXltYXAuYzoxMjc5CiMyOSAweDAwMDA1NTU1NTU2YjZk MjIgaW4gRmxvb2t1cF9rZXkgKGtleW1hcD1rZXltYXBAZW50cnk9WElMKDB4NTU1NTU2M2E3ZGUz KSwga2V5PVhJTCgweDdmZmZmNmJjMTQxNSksIGFjY2VwdF9kZWZhdWx0PWFjY2VwdF9kZWZhdWx0 QGVudHJ5PVhJTCgwKSkgYXQga2V5bWFwLmM6MTMxNgojMzAgMHgwMDAwNTU1NTU1NmI4OGUxIGlu IEZjb21tYW5kX3JlbWFwcGluZyAoY29tbWFuZD1jb21tYW5kQGVudHJ5PVhJTCgweDJhYWFhMDc2 ZTFlMCksIHBvc2l0aW9uPXBvc2l0aW9uQGVudHJ5PVhJTCgwKSwga2V5bWFwcz1rZXltYXBzQGVu dHJ5PVhJTCgweDU1NTU1NjNhN2RlMykpIGF0IGtleW1hcC5jOjEyNDQKIzMxIDB4MDAwMDU1NTU1 NTZiOGE0ZCBpbiBGd2hlcmVfaXNfaW50ZXJuYWwgKGRlZmluaXRpb249WElMKDB4MmFhYWEwNzZl MWUwKSwga2V5bWFwPWtleW1hcEBlbnRyeT1YSUwoMCksIGZpcnN0b25seT1maXJzdG9ubHlAZW50 cnk9WElMKDB4MzApLCBub2luZGlyZWN0PW5vaW5kaXJlY3RAZW50cnk9WElMKDApLCBub19yZW1h cD1ub19yZW1hcEBlbnRyeT1YSUwoMCkpIGF0IGxpc3AuaDoxMTY1CiMzMiAweDAwMDA1NTU1NTU2 YTkyN2IgaW4gcGFyc2VfdG9vbF9iYXJfaXRlbSAoaXRlbT08b3B0aW1pemVkIG91dD4sIGtleT08 b3B0aW1pemVkIG91dD4pIGF0IGtleWJvYXJkLmM6OTI1OAojMzMgcHJvY2Vzc190b29sX2Jhcl9p dGVtIChrZXk9PG9wdGltaXplZCBvdXQ+LCBkZWY9PG9wdGltaXplZCBvdXQ+LCBkYXRhPTxvcHRp bWl6ZWQgb3V0PiwgYXJncz08b3B0aW1pemVkIG91dD4pIGF0IGtleWJvYXJkLmM6ODk5MgojMzQg MHgwMDAwNTU1NTU1NmI2MGQ4IGluIG1hcF9rZXltYXBfaXRlbSAoZGF0YT0weDAsIHZhbD08b3B0 aW1pemVkIG91dD4sIGtleT08b3B0aW1pemVkIG91dD4sIGFyZ3M9WElMKDApLCBmdW49MHg1NTU1 NTU2YThjYjAgPHByb2Nlc3NfdG9vbF9iYXJfaXRlbT4pIGF0IGtleW1hcC5jOjUwOAojMzUgbWFw X2tleW1hcF9pbnRlcm5hbCAobWFwPW1hcEBlbnRyeT1YSUwoMHg1NTU1NTYyYmQyODMpLCBmdW49 ZnVuQGVudHJ5PTB4NTU1NTU1NmE4Y2IwIDxwcm9jZXNzX3Rvb2xfYmFyX2l0ZW0+LCBhcmdzPWFy Z3NAZW50cnk9WElMKDApLCBkYXRhPWRhdGFAZW50cnk9MHgwKSBhdCBrZXltYXAuYzo1NTUKIzM2 IDB4MDAwMDU1NTU1NTZiNzY2MyBpbiBtYXBfa2V5bWFwIChtYXA9WElMKDB4NTU1NTU2MmJkMjgz KSwgZnVuPWZ1bkBlbnRyeT0weDU1NTU1NTZhOGNiMCA8cHJvY2Vzc190b29sX2Jhcl9pdGVtPiwg YXJncz1hcmdzQGVudHJ5PVhJTCgwKSwgZGF0YT1kYXRhQGVudHJ5PTB4MCwgYXV0b2xvYWQ9YXV0 b2xvYWRAZW50cnk9dHJ1ZSkgYXQga2V5bWFwLmM6NjAwCiMzNyAweDAwMDA1NTU1NTU2YWFmYzEg aW4gdG9vbF9iYXJfaXRlbXMgKHJldXNlPTxvcHRpbWl6ZWQgb3V0Piwgbml0ZW1zPW5pdGVtc0Bl bnRyeT0weDdmZmZmZmZmYWI4YykgYXQgbGlzcC5oOjExNjUKIzM4IDB4MDAwMDU1NTU1NTViMDAw ZSBpbiB1cGRhdGVfdG9vbF9iYXIgKHNhdmVfbWF0Y2hfZGF0YT1mYWxzZSwgZj0weDU1NTU1NjA2 N2UzMCkgYXQgeGRpc3AuYzoxNDkxNwojMzkgdXBkYXRlX3Rvb2xfYmFyIChmPTB4NTU1NTU2MDY3 ZTMwLCBzYXZlX21hdGNoX2RhdGE9PG9wdGltaXplZCBvdXQ+KSBhdCB4ZGlzcC5jOjE0ODUyCiM0 MCAweDAwMDA1NTU1NTU1ZTQwNWMgaW4gcHJlcGFyZV9tZW51X2JhcnMgKCkgYXQgeGRpc3AuYzox MzcyMAojNDEgcmVkaXNwbGF5X2ludGVybmFsICgpIGF0IHhkaXNwLmM6MTY2MDIKIzQyIDB4MDAw MDU1NTU1NTVlNGE4MCBpbiByZWRpc3BsYXlfcHJlc2VydmVfZWNob19hcmVhIChmcm9tX3doZXJl PWZyb21fd2hlcmVAZW50cnk9MTMpIGF0IHhkaXNwLmM6MTczNTkKIzQzIDB4MDAwMDU1NTU1NTc2 ZjM1OCBpbiBGZGVsZXRlX3Byb2Nlc3MgKHByb2Nlc3M9WElMKDB4NTU1NTU1ZWQ4MDQ1KSkgYXQg cHJvY2Vzcy5jOjExNDAKIzQ0IDB4MDAwMDU1NTU1NTc2ODJmNSBpbiBleGVjX2J5dGVfY29kZSAo ZnVuPTxvcHRpbWl6ZWQgb3V0PiwgYXJnc190ZW1wbGF0ZT08b3B0aW1pemVkIG91dD4sIG5hcmdz PTxvcHRpbWl6ZWQgb3V0PiwgYXJncz08b3B0aW1pemVkIG91dD4pIGF0IGJ5dGVjb2RlLmM6ODA5 CiM0NSAweDAwMDA1NTU1NTU3MjgyODMgaW4gRmZ1bmNhbGwgKG5hcmdzPTMsIGFyZ3M9MHg3ZmZm ZmZmZmMwZDApIGF0IGV2YWwuYzoyOTk1CiM0NiAweDAwMDA1NTU1NTU3Mjg0YTAgaW4gRmFwcGx5 IChuYXJncz1uYXJnc0BlbnRyeT0yLCBhcmdzPWFyZ3NAZW50cnk9MHg3ZmZmZmZmZmMxNjApIGF0 IGV2YWwuYzoyNjY2CiM0NyAweDAwMDA1NTU1NTU3Mjg4MGMgaW4gYXBwbHkxIChmbj08b3B0aW1p emVkIG91dD4sIGFyZz08b3B0aW1pemVkIG91dD4pIGF0IGV2YWwuYzoyODgyCiM0OCAweDAwMDA1 NTU1NTU3MjZhODQgaW4gaW50ZXJuYWxfY29uZGl0aW9uX2Nhc2VfMSAoYmZ1bj1iZnVuQGVudHJ5 PTB4NTU1NTU1NzZhZTQwIDxyZWFkX3Byb2Nlc3Nfb3V0cHV0X2NhbGw+LCBhcmc9WElMKDB4NTU1 NTU2MmJlZGEzKSwgaGFuZGxlcnM9aGFuZGxlcnNAZW50cnk9WElMKDB4OTApLCBoZnVuPWhmdW5A ZW50cnk9MHg1NTU1NTU3NmFkODAgPHJlYWRfcHJvY2Vzc19vdXRwdXRfZXJyb3JfaGFuZGxlcj4p IGF0IGV2YWwuYzoxNDk4CiM0OSAweDAwMDA1NTU1NTU3NmQ5NGIgaW4gcmVhZF9hbmRfZGlzcG9z ZV9vZl9wcm9jZXNzX291dHB1dCAoY29kaW5nPTB4NTU1NTU1ZTA1MTYwLCBuYnl0ZXM9MTIyNywg Y2hhcnM9MHg3ZmZmZmZmZmMxYjAgIi1lbnYgVVNFUj1kYXJsaW5nIC1lbnYgWERHX1NFQVQ9c2Vh dDAgLWVudiBYREdfU0VTU0lPTl9UWVBFPXgxMSAtZW52IFNTSF9BR0VOVF9QSUQ9OTk4NjQzIC1l bnYgSE9NRT0vaG9tZS9kYXJsaW5nIC1lbnYgREVTS1RPUF9TRVNTSU9OPXhmY2UgLWVudiBYREdf U0VBVF9QQVRIPS9vcmcvZnJlZWRlc2t0b3AvRGlzcGxheU1hbmFnZXIvU2VhdDAgLWVuIi4uLiwg cD0weDdmZmZmNmMxZmIzOSkgYXQgcHJvY2Vzcy5jOjYyOTQKIzUwIHJlYWRfcHJvY2Vzc19vdXRw dXQgKHByb2M9cHJvY0BlbnRyeT1YSUwoMHg1NTU1NTVlZDgwNDUpLCBjaGFubmVsPWNoYW5uZWxA ZW50cnk9NSkgYXQgcHJvY2Vzcy5jOjYyMDQKIzUxIDB4MDAwMDU1NTU1NTc3NGQ2MCBpbiB3YWl0 X3JlYWRpbmdfcHJvY2Vzc19vdXRwdXQgKHRpbWVfbGltaXQ9dGltZV9saW1pdEBlbnRyeT0wLCBu c2Vjcz1uc2Vjc0BlbnRyeT0wLCByZWFkX2tiZD1yZWFkX2tiZEBlbnRyeT0tMSwgZG9fZGlzcGxh eT08b3B0aW1pemVkIG91dD4sIHdhaXRfZm9yX2NlbGw9d2FpdF9mb3JfY2VsbEBlbnRyeT1YSUwo MCksIHdhaXRfcHJvYz13YWl0X3Byb2NAZW50cnk9MHgwLCBqdXN0X3dhaXRfcHJvYz08b3B0aW1p emVkIG91dD4pIGF0IHByb2Nlc3MuYzo1ODg4CiM1MiAweDAwMDA1NTU1NTU2YTZlYjMgaW4ga2Jk X2J1ZmZlcl9nZXRfZXZlbnQgKGticD0weDdmZmZmZmZmZDg4MCwgZW5kX3RpbWU9MHgwLCB1c2Vk X21vdXNlX21lbnU9PG9wdGltaXplZCBvdXQ+KSBhdCBsaXNwLmg6MTE2NQojNTMgMHgwMDAwNTU1 NTU1NmFjM2QwIGluIHJlYWRfZXZlbnRfZnJvbV9tYWluX3F1ZXVlICh1c2VkX21vdXNlX21lbnU9 PG9wdGltaXplZCBvdXQ+LCBsb2NhbF9nZXRjam1wPTB4N2ZmZmZmZmZkOWIwLCBlbmRfdGltZT0w eDApIGF0IGtleWJvYXJkLmM6MjI3OQojNTQgcmVhZF9kZWNvZGVkX2V2ZW50X2Zyb21fbWFpbl9x dWV1ZSAodXNlZF9tb3VzZV9tZW51PTxvcHRpbWl6ZWQgb3V0PiwgcHJldl9ldmVudD08b3B0aW1p emVkIG91dD4sIGxvY2FsX2dldGNqbXA9PG9wdGltaXplZCBvdXQ+LCBlbmRfdGltZT08b3B0aW1p emVkIG91dD4pIGF0IGtleWJvYXJkLmM6MjM0MwojNTUgcmVhZF9jaGFyIChjb21tYW5kZmxhZz0x LCBtYXA9WElMKDB4NTU1NTU2MmJmMDMzKSwgcHJldl9ldmVudD1YSUwoMCksIHVzZWRfbW91c2Vf bWVudT0weDdmZmZmZmZmZGQxYiwgZW5kX3RpbWU9MHgwKSBhdCBrZXlib2FyZC5jOjI5NzMKIzU2 IDB4MDAwMDU1NTU1NTZhZTYzZCBpbiByZWFkX2tleV9zZXF1ZW5jZSAoa2V5YnVmPTxvcHRpbWl6 ZWQgb3V0PiwgcHJvbXB0PVhJTCgwKSwgZG9udF9kb3duY2FzZV9sYXN0PTxvcHRpbWl6ZWQgb3V0 PiwgY2FuX3JldHVybl9zd2l0Y2hfZnJhbWU9dHJ1ZSwgZml4X2N1cnJlbnRfYnVmZmVyPXRydWUs IHByZXZlbnRfcmVkaXNwbGF5PTxvcHRpbWl6ZWQgb3V0PikgYXQga2V5Ym9hcmQuYzoxMDA4Mwoj NTcgMHgwMDAwNTU1NTU1NmIwMjcwIGluIGNvbW1hbmRfbG9vcF8xICgpIGF0IGxpc3AuaDoxMTY1 CiM1OCAweDAwMDA1NTU1NTU3MjY5ZjcgaW4gaW50ZXJuYWxfY29uZGl0aW9uX2Nhc2UgKGJmdW49 YmZ1bkBlbnRyeT0weDU1NTU1NTZiMDBiMCA8Y29tbWFuZF9sb29wXzE+LCBoYW5kbGVycz1oYW5k bGVyc0BlbnRyeT1YSUwoMHg5MCksIGhmdW49aGZ1bkBlbnRyeT0weDU1NTU1NTZhNDE2MCA8Y21k X2Vycm9yPikgYXQgZXZhbC5jOjE0NzQKIzU5IDB4MDAwMDU1NTU1NTY5Yzc0MiBpbiBjb21tYW5k X2xvb3BfMiAoaGFuZGxlcnM9aGFuZGxlcnNAZW50cnk9WElMKDB4OTApKSBhdCBrZXlib2FyZC5j OjExMzMKIzYwIDB4MDAwMDU1NTU1NTcyNjk1MSBpbiBpbnRlcm5hbF9jYXRjaCAodGFnPXRhZ0Bl bnRyeT1YSUwoMHhmMjQwKSwgZnVuYz1mdW5jQGVudHJ5PTB4NTU1NTU1NjljNzIwIDxjb21tYW5k X2xvb3BfMj4sIGFyZz1hcmdAZW50cnk9WElMKDB4OTApKSBhdCBldmFsLmM6MTE5NwojNjEgMHgw MDAwNTU1NTU1NjljNmRlIGluIGNvbW1hbmRfbG9vcCAoKSBhdCBsaXNwLmg6MTE2NQojNjIgMHgw MDAwNTU1NTU1NmEzZDEzIGluIHJlY3Vyc2l2ZV9lZGl0XzEgKCkgYXQga2V5Ym9hcmQuYzo3MjAK IzYzIDB4MDAwMDU1NTU1NTZhNDA4YyBpbiBGcmVjdXJzaXZlX2VkaXQgKCkgYXQga2V5Ym9hcmQu Yzo4MDMKIzY0IDB4MDAwMDU1NTU1NTU5MzI0YSBpbiBtYWluIChhcmdjPTxvcHRpbWl6ZWQgb3V0 PiwgYXJndj08b3B0aW1pemVkIG91dD4pIGF0IGVtYWNzLmM6MjUyOQoKTGlzcCBCYWNrdHJhY2U6 CiJyZWRpc3BsYXlfaW50ZXJuYWwgKEMgZnVuY3Rpb24pIiAoMHgwKQoiZGVsZXRlLXByb2Nlc3Mi ICgweGY1YmZmMmIwKQoic2VydmVyLWRlbGV0ZS1jbGllbnQiICgweGY1YmZmMjQwKQoic2VydmVy LWV4ZWN1dGUiICgweGY1YmZmMWEwKQoweDU1ZTNkZTI4IFBWRUNfQ09NUElMRUQKInNlcnZlci1l eGVjdXRlLWNvbnRpbnVhdGlvbiIgKDB4ZjViZmYwYzgpCiJzZXJ2ZXItcHJvY2Vzcy1maWx0ZXIi ICgweGZmZmZjMGQ4KQooZ2RiKSBjb250aW51ZQpDb250aW51aW5nLgoKKiogYmFja3RyYWNlIDMK CkJyZWFrcG9pbnQgMiwgeF9lcnJvcl9xdWl0dGVyIChkaXNwbGF5PTB4NTU1NTU1ZGUyZjEwLCAK ICAgIGV2ZW50PTB4N2ZmZmZmZmY5YzgwKSBhdCB4dGVybS5jOjI2MTI2CjI2MTI2CSAgaWYgKGV2 ZW50LT5lcnJvcl9jb2RlID09IEJhZE5hbWUpCihnZGIpIGJhY2t0cmFjZQojMCAgeF9lcnJvcl9x dWl0dGVyIChkaXNwbGF5PTB4NTU1NTU1ZGUyZjEwLCBldmVudD0weDdmZmZmZmZmOWM4MCkKICAg IGF0IHh0ZXJtLmM6MjYxMjYKIzEgIDB4MDAwMDU1NTU1NTY3MmQyNiBpbiB4X2Vycm9yX2hhbmRs ZXIgKGRpc3BsYXk9MHg1NTU1NTVkZTJmMTAsIAogICAgZXZlbnQ9MHg3ZmZmZmZmZjljODApIGF0 IHh0ZXJtLmM6MjYxMDcKIzIgIDB4MDAwMDdmZmZmN2U2ZTg2NCBpbiBfWEVycm9yICgpCiAgIGZy b20gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9saWJYMTEuc28uNgojMyAgMHgwMDAwN2ZmZmY3 ZTZiMzI3IGluID8/ICgpCiAgIGZyb20gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9saWJYMTEu c28uNgojNCAgMHgwMDAwN2ZmZmY3ZTZiM2M1IGluID8/ICgpCiAgIGZyb20gL3Vzci9saWIveDg2 XzY0LWxpbnV4LWdudS9saWJYMTEuc28uNgojNSAgMHgwMDAwN2ZmZmY3ZTZiZmZhIGluIF9YRXZl bnRzUXVldWVkICgpCiAgIGZyb20gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9saWJYMTEuc28u NgojNiAgMHgwMDAwN2ZmZmY3ZTZlZmI1IGluIF9YR2V0UmVxdWVzdCAoKQogICBmcm9tIC91c3Iv bGliL3g4Nl82NC1saW51eC1nbnUvbGliWDExLnNvLjYKIzcgIDB4MDAwMDdmZmZmN2U0YWYxYyBp biBYRGVzdHJveVdpbmRvdyAoKQogICBmcm9tIC91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvbGli WDExLnNvLjYKIzggIDB4MDAwMDU1NTU1NTY3OThhOCBpbiB4X2ZyZWVfZnJhbWVfcmVzb3VyY2Vz IChmPTB4NTU1NTU2MDY3ZTMwKQogICAgYXQgeHRlcm0uYzoyODUxNgojOSAgMHgwMDAwNTU1NTU1 Njc5ZDIzIGluIHhfZGVzdHJveV93aW5kb3cgKGY9MHg1NTU1NTYwNjdlMzApIGF0IHh0ZXJtLmM6 Mjg2NTgKIzEwIDB4MDAwMDU1NTU1NTVhNzk2YSBpbiBkZWxldGVfZnJhbWUgKGZyYW1lPVhJTCgw eDU1NTU1NjA2N2UzNSksIGZvcmNlPTxvcHRpbWl6ZWQgb3V0PikgYXQgZnJhbWUuYzoyMjAxCiMx MSAweDAwMDA1NTU1NTU2NzI4ZjUgaW4geF9jb25uZWN0aW9uX2Nsb3NlZCAoZHB5PTB4NTU1NTU1 ZGUyZjEwLCBlcnJvcl9tZXNzYWdlPTB4N2ZmZmZmZmZhMGQwICJYIHByb3RvY29sIGVycm9yOiBC YWRJRENob2ljZSAoaW52YWxpZCByZXNvdXJjZSBJRCBjaG9zZW4gZm9yIHRoaXMgY29ubmVjdGlv bikgb24gcHJvdG9jb2wgcmVxdWVzdCAxXG5TZXJpYWwgbm86IDcwOVxuIiwgaW9lcnJvcj08b3B0 aW1pemVkIG91dD4pIGF0IGxpc3AuaDoxMTY1CiMxMiAweDAwMDA1NTU1NTU2NzJjNGUgaW4geF9l cnJvcl9xdWl0dGVyIChkaXNwbGF5PTB4NTU1NTU1ZGUyZjEwLCBldmVudD0weDdmZmZmZmZmYTNj MCkgYXQgeHRlcm0uYzoyNjEzNgojMTMgMHgwMDAwNTU1NTU1NjcyZDI2IGluIHhfZXJyb3JfaGFu ZGxlciAoZGlzcGxheT0weDU1NTU1NWRlMmYxMCwgZXZlbnQ9MHg3ZmZmZmZmZmEzYzApIGF0IHh0 ZXJtLmM6MjYxMDcKIzE0IDB4MDAwMDdmZmZmN2U2ZTg2NCBpbiBfWEVycm9yICgpIGZyb20gL3Vz ci9saWIveDg2XzY0LWxpbnV4LWdudS9saWJYMTEuc28uNgojMTUgMHgwMDAwN2ZmZmY3ZTZiMzI3 IGluID8/ICgpIGZyb20gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9saWJYMTEuc28uNgojMTYg MHgwMDAwN2ZmZmY3ZTZiM2M1IGluID8/ICgpIGZyb20gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdu dS9saWJYMTEuc28uNgojMTcgMHgwMDAwN2ZmZmY3ZTZiZmZhIGluIF9YRXZlbnRzUXVldWVkICgp IGZyb20gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9saWJYMTEuc28uNgojMTggMHgwMDAwN2Zm ZmY3ZTVkOTMxIGluIFhQZW5kaW5nICgpIGZyb20gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9s aWJYMTEuc28uNgojMTkgMHgwMDAwNTU1NTU1NjgyYWU5IGluIFhUcmVhZF9zb2NrZXQgKHRlcm1p bmFsPTxvcHRpbWl6ZWQgb3V0PiwgaG9sZF9xdWl0PTB4N2ZmZmZmZmZhNjYwKSBhdCB4dGVybS5j OjI0NzczCiMyMCAweDAwMDA1NTU1NTU2YTU0N2EgaW4gZ29iYmxlX2lucHV0ICgpIGF0IGtleWJv YXJkLmM6NzQyNgojMjEgMHgwMDAwNTU1NTU1NmE1N2M1IGluIGhhbmRsZV9hc3luY19pbnB1dCAo KSBhdCBrZXlib2FyZC5jOjc2NTcKIzIyIHByb2Nlc3NfcGVuZGluZ19zaWduYWxzICgpIGF0IGtl eWJvYXJkLmM6NzY3MQojMjMgMHgwMDAwNTU1NTU1NzI4MDNkIGluIHByb2JhYmx5X3F1aXQgKCkg YXQgZXZhbC5jOjE2NjEKIzI0IDB4MDAwMDU1NTU1NTZiNWEzMyBpbiBtYXliZV9xdWl0ICgpIGF0 IGxpc3AuaDozNjg5CiMyNSBhY2Nlc3Nfa2V5bWFwXzEgKG1hcD08b3B0aW1pemVkIG91dD4sIGlk eD1pZHhAZW50cnk9WElMKDB4Y2ZmMCksIHRfb2s9PG9wdGltaXplZCBvdXQ+LCB0X29rQGVudHJ5 PWZhbHNlLCBub2luaGVyaXQ9bm9pbmhlcml0QGVudHJ5PWZhbHNlLCBhdXRvbG9hZD1hdXRvbG9h ZEBlbnRyeT10cnVlKSBhdCBrZXltYXAuYzo0ODcKIzI2IDB4MDAwMDU1NTU1NTZiNWM2OSBpbiBh Y2Nlc3Nfa2V5bWFwXzEgKG1hcD08b3B0aW1pemVkIG91dD4sIG1hcEBlbnRyeT1YSUwoMHg1NTU1 NTYzYTdkZTMpLCBpZHg9WElMKDB4Y2ZmMCksIHRfb2s9dF9va0BlbnRyeT1mYWxzZSwgbm9pbmhl cml0PW5vaW5oZXJpdEBlbnRyeT1mYWxzZSwgYXV0b2xvYWQ9YXV0b2xvYWRAZW50cnk9dHJ1ZSkg YXQga2V5bWFwLmM6NDIxCiMyNyAweDAwMDA1NTU1NTU2YjZiYmIgaW4gYWNjZXNzX2tleW1hcCAo YXV0b2xvYWQ9dHJ1ZSwgbm9pbmhlcml0PWZhbHNlLCB0X29rPTxvcHRpbWl6ZWQgb3V0PiwgaWR4 PTxvcHRpbWl6ZWQgb3V0PiwgbWFwPVhJTCgweDU1NTU1NjNhN2RlMykpIGF0IGtleW1hcC5jOjQ5 OQojMjggbG9va3VwX2tleV8xIChrZXltYXA9WElMKDB4NTU1NTU2M2E3ZGUzKSwga2V5PVhJTCgw eDdmZmZmNmJjMTQxNSksIGFjY2VwdF9kZWZhdWx0PTxvcHRpbWl6ZWQgb3V0PikgYXQga2V5bWFw LmM6MTI3OQojMjkgMHgwMDAwNTU1NTU1NmI2ZDIyIGluIEZsb29rdXBfa2V5IChrZXltYXA9a2V5 bWFwQGVudHJ5PVhJTCgweDU1NTU1NjNhN2RlMyksIGtleT1YSUwoMHg3ZmZmZjZiYzE0MTUpLCBh Y2NlcHRfZGVmYXVsdD1hY2NlcHRfZGVmYXVsdEBlbnRyeT1YSUwoMCkpIGF0IGtleW1hcC5jOjEz MTYKIzMwIDB4MDAwMDU1NTU1NTZiODhlMSBpbiBGY29tbWFuZF9yZW1hcHBpbmcgKGNvbW1hbmQ9 Y29tbWFuZEBlbnRyeT1YSUwoMHgyYWFhYTA3NmUxZTApLCBwb3NpdGlvbj1wb3NpdGlvbkBlbnRy eT1YSUwoMCksIGtleW1hcHM9a2V5bWFwc0BlbnRyeT1YSUwoMHg1NTU1NTYzYTdkZTMpKSBhdCBr ZXltYXAuYzoxMjQ0CiMzMSAweDAwMDA1NTU1NTU2YjhhNGQgaW4gRndoZXJlX2lzX2ludGVybmFs IChkZWZpbml0aW9uPVhJTCgweDJhYWFhMDc2ZTFlMCksIGtleW1hcD1rZXltYXBAZW50cnk9WElM KDApLCBmaXJzdG9ubHk9Zmlyc3Rvbmx5QGVudHJ5PVhJTCgweDMwKSwgbm9pbmRpcmVjdD1ub2lu ZGlyZWN0QGVudHJ5PVhJTCgwKSwgbm9fcmVtYXA9bm9fcmVtYXBAZW50cnk9WElMKDApKSBhdCBs aXNwLmg6MTE2NQojMzIgMHgwMDAwNTU1NTU1NmE5MjdiIGluIHBhcnNlX3Rvb2xfYmFyX2l0ZW0g KGl0ZW09PG9wdGltaXplZCBvdXQ+LCBrZXk9PG9wdGltaXplZCBvdXQ+KSBhdCBrZXlib2FyZC5j OjkyNTgKIzMzIHByb2Nlc3NfdG9vbF9iYXJfaXRlbSAoa2V5PTxvcHRpbWl6ZWQgb3V0PiwgZGVm PTxvcHRpbWl6ZWQgb3V0PiwgZGF0YT08b3B0aW1pemVkIG91dD4sIGFyZ3M9PG9wdGltaXplZCBv dXQ+KSBhdCBrZXlib2FyZC5jOjg5OTIKIzM0IDB4MDAwMDU1NTU1NTZiNjBkOCBpbiBtYXBfa2V5 bWFwX2l0ZW0gKGRhdGE9MHgwLCB2YWw9PG9wdGltaXplZCBvdXQ+LCBrZXk9PG9wdGltaXplZCBv dXQ+LCBhcmdzPVhJTCgwKSwgZnVuPTB4NTU1NTU1NmE4Y2IwIDxwcm9jZXNzX3Rvb2xfYmFyX2l0 ZW0+KSBhdCBrZXltYXAuYzo1MDgKIzM1IG1hcF9rZXltYXBfaW50ZXJuYWwgKG1hcD1tYXBAZW50 cnk9WElMKDB4NTU1NTU2MmJkMjgzKSwgZnVuPWZ1bkBlbnRyeT0weDU1NTU1NTZhOGNiMCA8cHJv Y2Vzc190b29sX2Jhcl9pdGVtPiwgYXJncz1hcmdzQGVudHJ5PVhJTCgwKSwgZGF0YT1kYXRhQGVu dHJ5PTB4MCkgYXQga2V5bWFwLmM6NTU1CiMzNiAweDAwMDA1NTU1NTU2Yjc2NjMgaW4gbWFwX2tl eW1hcCAobWFwPVhJTCgweDU1NTU1NjJiZDI4MyksIGZ1bj1mdW5AZW50cnk9MHg1NTU1NTU2YThj YjAgPHByb2Nlc3NfdG9vbF9iYXJfaXRlbT4sIGFyZ3M9YXJnc0BlbnRyeT1YSUwoMCksIGRhdGE9 ZGF0YUBlbnRyeT0weDAsIGF1dG9sb2FkPWF1dG9sb2FkQGVudHJ5PXRydWUpIGF0IGtleW1hcC5j OjYwMAojMzcgMHgwMDAwNTU1NTU1NmFhZmMxIGluIHRvb2xfYmFyX2l0ZW1zIChyZXVzZT08b3B0 aW1pemVkIG91dD4sIG5pdGVtcz1uaXRlbXNAZW50cnk9MHg3ZmZmZmZmZmFiOGMpIGF0IGxpc3Au aDoxMTY1CiMzOCAweDAwMDA1NTU1NTU1YjAwMGUgaW4gdXBkYXRlX3Rvb2xfYmFyIChzYXZlX21h dGNoX2RhdGE9ZmFsc2UsIGY9MHg1NTU1NTYwNjdlMzApIGF0IHhkaXNwLmM6MTQ5MTcKIzM5IHVw ZGF0ZV90b29sX2JhciAoZj0weDU1NTU1NjA2N2UzMCwgc2F2ZV9tYXRjaF9kYXRhPTxvcHRpbWl6 ZWQgb3V0PikgYXQgeGRpc3AuYzoxNDg1MgojNDAgMHgwMDAwNTU1NTU1NWU0MDVjIGluIHByZXBh cmVfbWVudV9iYXJzICgpIGF0IHhkaXNwLmM6MTM3MjAKIzQxIHJlZGlzcGxheV9pbnRlcm5hbCAo KSBhdCB4ZGlzcC5jOjE2NjAyCiM0MiAweDAwMDA1NTU1NTU1ZTRhODAgaW4gcmVkaXNwbGF5X3By ZXNlcnZlX2VjaG9fYXJlYSAoZnJvbV93aGVyZT1mcm9tX3doZXJlQGVudHJ5PTEzKSBhdCB4ZGlz cC5jOjE3MzU5CiM0MyAweDAwMDA1NTU1NTU3NmYzNTggaW4gRmRlbGV0ZV9wcm9jZXNzIChwcm9j ZXNzPVhJTCgweDU1NTU1NWVkODA0NSkpIGF0IHByb2Nlc3MuYzoxMTQwCiM0NCAweDAwMDA1NTU1 NTU3NjgyZjUgaW4gZXhlY19ieXRlX2NvZGUgKGZ1bj08b3B0aW1pemVkIG91dD4sIGFyZ3NfdGVt cGxhdGU9PG9wdGltaXplZCBvdXQ+LCBuYXJncz08b3B0aW1pemVkIG91dD4sIGFyZ3M9PG9wdGlt aXplZCBvdXQ+KSBhdCBieXRlY29kZS5jOjgwOQojNDUgMHgwMDAwNTU1NTU1NzI4MjgzIGluIEZm dW5jYWxsIChuYXJncz0zLCBhcmdzPTB4N2ZmZmZmZmZjMGQwKSBhdCBldmFsLmM6Mjk5NQojNDYg MHgwMDAwNTU1NTU1NzI4NGEwIGluIEZhcHBseSAobmFyZ3M9bmFyZ3NAZW50cnk9MiwgYXJncz1h cmdzQGVudHJ5PTB4N2ZmZmZmZmZjMTYwKSBhdCBldmFsLmM6MjY2NgojNDcgMHgwMDAwNTU1NTU1 NzI4ODBjIGluIGFwcGx5MSAoZm49PG9wdGltaXplZCBvdXQ+LCBhcmc9PG9wdGltaXplZCBvdXQ+ KSBhdCBldmFsLmM6Mjg4MgojNDggMHgwMDAwNTU1NTU1NzI2YTg0IGluIGludGVybmFsX2NvbmRp dGlvbl9jYXNlXzEgKGJmdW49YmZ1bkBlbnRyeT0weDU1NTU1NTc2YWU0MCA8cmVhZF9wcm9jZXNz X291dHB1dF9jYWxsPiwgYXJnPVhJTCgweDU1NTU1NjJiZWRhMyksIGhhbmRsZXJzPWhhbmRsZXJz QGVudHJ5PVhJTCgweDkwKSwgaGZ1bj1oZnVuQGVudHJ5PTB4NTU1NTU1NzZhZDgwIDxyZWFkX3By b2Nlc3Nfb3V0cHV0X2Vycm9yX2hhbmRsZXI+KSBhdCBldmFsLmM6MTQ5OAojNDkgMHgwMDAwNTU1 NTU1NzZkOTRiIGluIHJlYWRfYW5kX2Rpc3Bvc2Vfb2ZfcHJvY2Vzc19vdXRwdXQgKGNvZGluZz0w eDU1NTU1NWUwNTE2MCwgbmJ5dGVzPTEyMjcsIGNoYXJzPTB4N2ZmZmZmZmZjMWIwICItZW52IFVT RVI9ZGFybGluZyAtZW52IFhER19TRUFUPXNlYXQwIC1lbnYgWERHX1NFU1NJT05fVFlQRT14MTEg LWVudiBTU0hfQUdFTlRfUElEPTk5ODY0MyAtZW52IEhPTUU9L2hvbWUvZGFybGluZyAtZW52IERF U0tUT1BfU0VTU0lPTj14ZmNlIC1lbnYgWERHX1NFQVRfUEFUSD0vb3JnL2ZyZWVkZXNrdG9wL0Rp c3BsYXlNYW5hZ2VyL1NlYXQwIC1lbiIuLi4sIHA9MHg3ZmZmZjZjMWZiMzkpIGF0IHByb2Nlc3Mu Yzo2Mjk0CiM1MCByZWFkX3Byb2Nlc3Nfb3V0cHV0IChwcm9jPXByb2NAZW50cnk9WElMKDB4NTU1 NTU1ZWQ4MDQ1KSwgY2hhbm5lbD1jaGFubmVsQGVudHJ5PTUpIGF0IHByb2Nlc3MuYzo2MjA0CiM1 MSAweDAwMDA1NTU1NTU3NzRkNjAgaW4gd2FpdF9yZWFkaW5nX3Byb2Nlc3Nfb3V0cHV0ICh0aW1l X2xpbWl0PXRpbWVfbGltaXRAZW50cnk9MCwgbnNlY3M9bnNlY3NAZW50cnk9MCwgcmVhZF9rYmQ9 cmVhZF9rYmRAZW50cnk9LTEsIGRvX2Rpc3BsYXk9PG9wdGltaXplZCBvdXQ+LCB3YWl0X2Zvcl9j ZWxsPXdhaXRfZm9yX2NlbGxAZW50cnk9WElMKDApLCB3YWl0X3Byb2M9d2FpdF9wcm9jQGVudHJ5 PTB4MCwganVzdF93YWl0X3Byb2M9PG9wdGltaXplZCBvdXQ+KSBhdCBwcm9jZXNzLmM6NTg4OAoj NTIgMHgwMDAwNTU1NTU1NmE2ZWIzIGluIGtiZF9idWZmZXJfZ2V0X2V2ZW50IChrYnA9MHg3ZmZm ZmZmZmQ4ODAsIGVuZF90aW1lPTB4MCwgdXNlZF9tb3VzZV9tZW51PTxvcHRpbWl6ZWQgb3V0Pikg YXQgbGlzcC5oOjExNjUKIzUzIDB4MDAwMDU1NTU1NTZhYzNkMCBpbiByZWFkX2V2ZW50X2Zyb21f bWFpbl9xdWV1ZSAodXNlZF9tb3VzZV9tZW51PTxvcHRpbWl6ZWQgb3V0PiwgbG9jYWxfZ2V0Y2pt cD0weDdmZmZmZmZmZDliMCwgZW5kX3RpbWU9MHgwKSBhdCBrZXlib2FyZC5jOjIyNzkKIzU0IHJl YWRfZGVjb2RlZF9ldmVudF9mcm9tX21haW5fcXVldWUgKHVzZWRfbW91c2VfbWVudT08b3B0aW1p emVkIG91dD4sIHByZXZfZXZlbnQ9PG9wdGltaXplZCBvdXQ+LCBsb2NhbF9nZXRjam1wPTxvcHRp bWl6ZWQgb3V0PiwgZW5kX3RpbWU9PG9wdGltaXplZCBvdXQ+KSBhdCBrZXlib2FyZC5jOjIzNDMK IzU1IHJlYWRfY2hhciAoY29tbWFuZGZsYWc9MSwgbWFwPVhJTCgweDU1NTU1NjJiZjAzMyksIHBy ZXZfZXZlbnQ9WElMKDApLCB1c2VkX21vdXNlX21lbnU9MHg3ZmZmZmZmZmRkMWIsIGVuZF90aW1l PTB4MCkgYXQga2V5Ym9hcmQuYzoyOTczCiM1NiAweDAwMDA1NTU1NTU2YWU2M2QgaW4gcmVhZF9r ZXlfc2VxdWVuY2UgKGtleWJ1Zj08b3B0aW1pemVkIG91dD4sIHByb21wdD1YSUwoMCksIGRvbnRf ZG93bmNhc2VfbGFzdD08b3B0aW1pemVkIG91dD4sIGNhbl9yZXR1cm5fc3dpdGNoX2ZyYW1lPXRy dWUsIGZpeF9jdXJyZW50X2J1ZmZlcj10cnVlLCBwcmV2ZW50X3JlZGlzcGxheT08b3B0aW1pemVk IG91dD4pIGF0IGtleWJvYXJkLmM6MTAwODMKIzU3IDB4MDAwMDU1NTU1NTZiMDI3MCBpbiBjb21t YW5kX2xvb3BfMSAoKSBhdCBsaXNwLmg6MTE2NQojNTggMHgwMDAwNTU1NTU1NzI2OWY3IGluIGlu dGVybmFsX2NvbmRpdGlvbl9jYXNlIChiZnVuPWJmdW5AZW50cnk9MHg1NTU1NTU2YjAwYjAgPGNv bW1hbmRfbG9vcF8xPiwgaGFuZGxlcnM9aGFuZGxlcnNAZW50cnk9WElMKDB4OTApLCBoZnVuPWhm dW5AZW50cnk9MHg1NTU1NTU2YTQxNjAgPGNtZF9lcnJvcj4pIGF0IGV2YWwuYzoxNDc0CiM1OSAw eDAwMDA1NTU1NTU2OWM3NDIgaW4gY29tbWFuZF9sb29wXzIgKGhhbmRsZXJzPWhhbmRsZXJzQGVu dHJ5PVhJTCgweDkwKSkgYXQga2V5Ym9hcmQuYzoxMTMzCiM2MCAweDAwMDA1NTU1NTU3MjY5NTEg aW4gaW50ZXJuYWxfY2F0Y2ggKHRhZz10YWdAZW50cnk9WElMKDB4ZjI0MCksIGZ1bmM9ZnVuY0Bl bnRyeT0weDU1NTU1NTY5YzcyMCA8Y29tbWFuZF9sb29wXzI+LCBhcmc9YXJnQGVudHJ5PVhJTCgw eDkwKSkgYXQgZXZhbC5jOjExOTcKIzYxIDB4MDAwMDU1NTU1NTY5YzZkZSBpbiBjb21tYW5kX2xv b3AgKCkgYXQgbGlzcC5oOjExNjUKIzYyIDB4MDAwMDU1NTU1NTZhM2QxMyBpbiByZWN1cnNpdmVf ZWRpdF8xICgpIGF0IGtleWJvYXJkLmM6NzIwCiM2MyAweDAwMDA1NTU1NTU2YTQwOGMgaW4gRnJl Y3Vyc2l2ZV9lZGl0ICgpIGF0IGtleWJvYXJkLmM6ODAzCiM2NCAweDAwMDA1NTU1NTU1OTMyNGEg aW4gbWFpbiAoYXJnYz08b3B0aW1pemVkIG91dD4sIGFyZ3Y9PG9wdGltaXplZCBvdXQ+KSBhdCBl bWFjcy5jOjI1MjkKCkxpc3AgQmFja3RyYWNlOgoicmVkaXNwbGF5X2ludGVybmFsIChDIGZ1bmN0 aW9uKSIgKDB4MCkKImRlbGV0ZS1wcm9jZXNzIiAoMHhmNWJmZjJiMCkKInNlcnZlci1kZWxldGUt Y2xpZW50IiAoMHhmNWJmZjI0MCkKInNlcnZlci1leGVjdXRlIiAoMHhmNWJmZjFhMCkKMHg1NWUz ZGUyOCBQVkVDX0NPTVBJTEVECiJzZXJ2ZXItZXhlY3V0ZS1jb250aW51YXRpb24iICgweGY1YmZm MGM4KQoic2VydmVyLXByb2Nlc3MtZmlsdGVyIiAoMHhmZmZmYzBkOCkKKGdkYikgY29udGludWUK Q29udGludWluZy4KCiogY3Jhc2gKCmVtYWNzOiAuLi8uLi8uLi8uLi9zcmMvY2Fpcm8teGNiLXNj cmVlbi5jOjIxOTogX2dldF9zY3JlZW5faW5kZXg6IEFzc2VydGlvbiBgISJyZWFjaGVkIicgZmFp bGVkLgoKUHJvZ3JhbSByZWNlaXZlZCBzaWduYWwgU0lHQUJSVCwgQWJvcnRlZC4KX19HSV9yYWlz ZSAoc2lnPXNpZ0BlbnRyeT02KSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9yYWlzZS5j OjUwCjUwCS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3JhaXNlLmM6IE5vIHN1Y2ggZmlsZSBv ciBkaXJlY3RvcnkuCihnZGIpIGJhY2t0cmFjZQojMCAgX19HSV9yYWlzZSAoc2lnPXNpZ0BlbnRy eT02KSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9yYWlzZS5jOjUwCiMxICAweDAwMDA3 ZmZmZjczMGE1MzcgaW4gX19HSV9hYm9ydCAoKSBhdCBhYm9ydC5jOjc5CiMyICAweDAwMDA3ZmZm ZjczMGE0MGYgaW4gX19hc3NlcnRfZmFpbF9iYXNlICgKICAgIGZtdD0weDdmZmZmNzQ4MTY4OCAi JXMlcyVzOiV1OiAlcyVzQXNzZXJ0aW9uIGAlcycgZmFpbGVkLlxuJW4iLCAKICAgIGFzc2VydGlv bj0weDdmZmZmN2Q3ZDg3OCAiIVwicmVhY2hlZFwiIiwgCiAgICBmaWxlPTB4N2ZmZmY3ZDg5ZWM4 ICIuLi8uLi8uLi8uLi9zcmMvY2Fpcm8teGNiLXNjcmVlbi5jIiwgbGluZT0yMTksIAogICAgZnVu Y3Rpb249PG9wdGltaXplZCBvdXQ+KSBhdCBhc3NlcnQuYzo5MgojMyAgMHgwMDAwN2ZmZmY3MzE5 NjYyIGluIF9fR0lfX19hc3NlcnRfZmFpbCAoCiAgICBhc3NlcnRpb249MHg3ZmZmZjdkN2Q4Nzgg IiFcInJlYWNoZWRcIiIsIAogICAgZmlsZT0weDdmZmZmN2Q4OWVjOCAiLi4vLi4vLi4vLi4vc3Jj L2NhaXJvLXhjYi1zY3JlZW4uYyIsIGxpbmU9MjE5LCAKICAgIGZ1bmN0aW9uPTB4N2ZmZmY3ZDg5 ZWYwICJfZ2V0X3NjcmVlbl9pbmRleCIpIGF0IGFzc2VydC5jOjEwMQojNCAgMHgwMDAwN2ZmZmY3 ZDQ0OGQxIGluID8/ICgpCiAgIGZyb20gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9saWJjYWly by5zby4yCiM1ICAweDAwMDA3ZmZmZjdkNDcwNGYgaW4gY2Fpcm9feGNiX3N1cmZhY2VfY3JlYXRl ICgpCiAgIGZyb20gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9saWJjYWlyby5zby4yCiM2ICAw eDAwMDA1NTU1NTU2Njk3YzMgaW4geF9iZWdpbl9jcl9jbGlwIChmPTB4NTU1NTU1ZmUxYWU4LCAK ICAgIGdjPTB4NTU1NTU1ZTY3OTkwKSBhdCB4dGVybS5jOjU4MDkKIzcgIDB4MDAwMDU1NTU1NTY2 YTU3OCBpbiB4X2ZpbGxfcmVjdGFuZ2xlIChmPTB4NTU1NTU1ZmUxYWU4LCAKICAgIGdjPTB4NTU1 NTU1ZTY3OTkwLCB4PTAsIHk9NTgsIHdpZHRoPTgzOCwgaGVpZ2h0PTEsIHJlc3BlY3RfYWxwaGFf YmFja2dyb3VuZD1mYWxzZSkgYXQgeHRlcm0uYzo2MzY0CiM4ICAweDAwMDA1NTU1NTU2NmY2MTAg aW4geF9jbGVhcl91bmRlcl9pbnRlcm5hbF9ib3JkZXIgKGY9MHg1NTU1NTVmZTFhZTgpIGF0IHh0 ZXJtLmM6NzQ3OAojOSAgMHgwMDAwNTU1NTU1NjdjNzQxIGluIGhhbmRsZV9vbmVfeGV2ZW50IChk cHlpbmZvPTB4NTU1NTU2MmYzMGEwLCBldmVudD08b3B0aW1pemVkIG91dD4sIGZpbmlzaD08b3B0 aW1pemVkIG91dD4sIGhvbGRfcXVpdD0weDdmZmZmZmZmYmQ3MCkgYXQgeHRlcm0uYzoyMTAyNQoj MTAgMHgwMDAwNTU1NTU1NjgyYjM2IGluIFhUcmVhZF9zb2NrZXQgKHRlcm1pbmFsPTxvcHRpbWl6 ZWQgb3V0PiwgaG9sZF9xdWl0PTB4N2ZmZmZmZmZiZDcwKSBhdCB4dGVybS5jOjI0Nzk4CiMxMSAw eDAwMDA1NTU1NTU2YTU0N2EgaW4gZ29iYmxlX2lucHV0ICgpIGF0IGtleWJvYXJkLmM6NzQyNgoj MTIgMHgwMDAwNTU1NTU1NmE3Y2I1IGluIGhhbmRsZV9hc3luY19pbnB1dCAoKSBhdCBrZXlib2Fy ZC5jOjc2NTcKIzEzIHByb2Nlc3NfcGVuZGluZ19zaWduYWxzICgpIGF0IGtleWJvYXJkLmM6NzY3 MQojMTQgdW5ibG9ja19pbnB1dF90byAobGV2ZWw9MCkgYXQga2V5Ym9hcmQuYzo3Njg2CiMxNSB1 bmJsb2NrX2lucHV0X3RvIChsZXZlbD0wKSBhdCBrZXlib2FyZC5jOjc2ODAKIzE2IHRvdGFsbHlf dW5ibG9ja19pbnB1dCAoKSBhdCBrZXlib2FyZC5jOjc3MTQKIzE3IDB4MDAwMDU1NTU1NTY3OTM0 MSBpbiB4X3dhaXRfZm9yX2V2ZW50IChmPTB4NTU1NTU1ZmUxYWU4LCBldmVudHR5cGU9PG9wdGlt aXplZCBvdXQ+KSBhdCB4dGVybS5jOjI3NDMxCiMxOCAweDAwMDA1NTU1NTU1YTBkMGQgaW4gRm1h a2VfZnJhbWVfdmlzaWJsZSAoZnJhbWU9PG9wdGltaXplZCBvdXQ+KSBhdCBmcmFtZS5jOjI3NDUK IzE5IDB4MDAwMDU1NTU1NTc2ODJmNSBpbiBleGVjX2J5dGVfY29kZSAoZnVuPTxvcHRpbWl6ZWQg b3V0PiwgYXJnc190ZW1wbGF0ZT08b3B0aW1pemVkIG91dD4sIG5hcmdzPTxvcHRpbWl6ZWQgb3V0 PiwgYXJncz08b3B0aW1pemVkIG91dD4pIGF0IGJ5dGVjb2RlLmM6ODA5CiMyMCAweDAwMDA1NTU1 NTU3MjgyODMgaW4gRmZ1bmNhbGwgKG5hcmdzPTIsIGFyZ3M9MHg3ZmZmZjViZmYyZTApIGF0IGV2 YWwuYzoyOTk1CiMyMSAweDAwMDA1NTU1NTU3Mjg3NDIgaW4gRmFwcGx5IChuYXJncz0yLCBhcmdz PTB4N2ZmZmY1YmZmMmUwKSBhdCBldmFsLmM6MjYyMwojMjIgMHgwMDAwNTU1NTU1NzY4MmY1IGlu IGV4ZWNfYnl0ZV9jb2RlIChmdW49PG9wdGltaXplZCBvdXQ+LCBhcmdzX3RlbXBsYXRlPTxvcHRp bWl6ZWQgb3V0PiwgbmFyZ3M9PG9wdGltaXplZCBvdXQ+LCBhcmdzPTxvcHRpbWl6ZWQgb3V0Pikg YXQgYnl0ZWNvZGUuYzo4MDkKIzIzIDB4MDAwMDU1NTU1NTcyODI4MyBpbiBGZnVuY2FsbCAobmFy Z3M9MywgYXJncz0weDdmZmZmZmZmYzBkMCkgYXQgZXZhbC5jOjI5OTUKIzI0IDB4MDAwMDU1NTU1 NTcyODRhMCBpbiBGYXBwbHkgKG5hcmdzPW5hcmdzQGVudHJ5PTIsIGFyZ3M9YXJnc0BlbnRyeT0w eDdmZmZmZmZmYzE2MCkgYXQgZXZhbC5jOjI2NjYKIzI1IDB4MDAwMDU1NTU1NTcyODgwYyBpbiBh cHBseTEgKGZuPTxvcHRpbWl6ZWQgb3V0PiwgYXJnPTxvcHRpbWl6ZWQgb3V0PikgYXQgZXZhbC5j OjI4ODIKIzI2IDB4MDAwMDU1NTU1NTcyNmE4NCBpbiBpbnRlcm5hbF9jb25kaXRpb25fY2FzZV8x IChiZnVuPWJmdW5AZW50cnk9MHg1NTU1NTU3NmFlNDAgPHJlYWRfcHJvY2Vzc19vdXRwdXRfY2Fs bD4sIGFyZz1YSUwoMHg1NTU1NTYxYzNiMDMpLCBoYW5kbGVycz1oYW5kbGVyc0BlbnRyeT1YSUwo MHg5MCksIGhmdW49aGZ1bkBlbnRyeT0weDU1NTU1NTc2YWQ4MCA8cmVhZF9wcm9jZXNzX291dHB1 dF9lcnJvcl9oYW5kbGVyPikgYXQgZXZhbC5jOjE0OTgKIzI3IDB4MDAwMDU1NTU1NTc2ZDk0YiBp biByZWFkX2FuZF9kaXNwb3NlX29mX3Byb2Nlc3Nfb3V0cHV0IChjb2Rpbmc9MHg1NTU1NTVlMDUx NjAsIG5ieXRlcz0xMjI3LCBjaGFycz0weDdmZmZmZmZmYzFiMCAiLWVudiBVU0VSPWRhcmxpbmcg LWVudiBYREdfU0VBVD1zZWF0MCAtZW52IFhER19TRVNTSU9OX1RZUEU9eDExIC1lbnYgU1NIX0FH RU5UX1BJRD05OTg2NDMgLWVudiBIT01FPS9ob21lL2RhcmxpbmcgLWVudiBERVNLVE9QX1NFU1NJ T049eGZjZSAtZW52IFhER19TRUFUX1BBVEg9L29yZy9mcmVlZGVza3RvcC9EaXNwbGF5TWFuYWdl ci9TZWF0MCAtZW4iLi4uLCBwPTB4N2ZmZmY2YzFmYjM5KSBhdCBwcm9jZXNzLmM6NjI5NAojMjgg cmVhZF9wcm9jZXNzX291dHB1dCAocHJvYz1wcm9jQGVudHJ5PVhJTCgweDU1NTU1NjBlOTU5ZCks IGNoYW5uZWw9Y2hhbm5lbEBlbnRyeT01KSBhdCBwcm9jZXNzLmM6NjIwNAojMjkgMHgwMDAwNTU1 NTU1Nzc0ZDYwIGluIHdhaXRfcmVhZGluZ19wcm9jZXNzX291dHB1dCAodGltZV9saW1pdD10aW1l X2xpbWl0QGVudHJ5PTAsIG5zZWNzPW5zZWNzQGVudHJ5PTAsIHJlYWRfa2JkPXJlYWRfa2JkQGVu dHJ5PS0xLCBkb19kaXNwbGF5PTxvcHRpbWl6ZWQgb3V0Piwgd2FpdF9mb3JfY2VsbD13YWl0X2Zv cl9jZWxsQGVudHJ5PVhJTCgwKSwgd2FpdF9wcm9jPXdhaXRfcHJvY0BlbnRyeT0weDAsIGp1c3Rf d2FpdF9wcm9jPTxvcHRpbWl6ZWQgb3V0PikgYXQgcHJvY2Vzcy5jOjU4ODgKIzMwIDB4MDAwMDU1 NTU1NTZhNmViMyBpbiBrYmRfYnVmZmVyX2dldF9ldmVudCAoa2JwPTB4N2ZmZmZmZmZkODgwLCBl bmRfdGltZT0weDAsIHVzZWRfbW91c2VfbWVudT08b3B0aW1pemVkIG91dD4pIGF0IGxpc3AuaDox MTY1CiMzMSAweDAwMDA1NTU1NTU2YWMzZDAgaW4gcmVhZF9ldmVudF9mcm9tX21haW5fcXVldWUg KHVzZWRfbW91c2VfbWVudT08b3B0aW1pemVkIG91dD4sIGxvY2FsX2dldGNqbXA9MHg3ZmZmZmZm ZmQ5YjAsIGVuZF90aW1lPTB4MCkgYXQga2V5Ym9hcmQuYzoyMjc5CiMzMiByZWFkX2RlY29kZWRf ZXZlbnRfZnJvbV9tYWluX3F1ZXVlICh1c2VkX21vdXNlX21lbnU9PG9wdGltaXplZCBvdXQ+LCBw cmV2X2V2ZW50PTxvcHRpbWl6ZWQgb3V0PiwgbG9jYWxfZ2V0Y2ptcD08b3B0aW1pemVkIG91dD4s IGVuZF90aW1lPTxvcHRpbWl6ZWQgb3V0PikgYXQga2V5Ym9hcmQuYzoyMzQzCiMzMyByZWFkX2No YXIgKGNvbW1hbmRmbGFnPTEsIG1hcD1YSUwoMHg1NTU1NTYxYzQyMTMpLCBwcmV2X2V2ZW50PVhJ TCgwKSwgdXNlZF9tb3VzZV9tZW51PTB4N2ZmZmZmZmZkZDFiLCBlbmRfdGltZT0weDApIGF0IGtl eWJvYXJkLmM6Mjk3MwojMzQgMHgwMDAwNTU1NTU1NmFlNjNkIGluIHJlYWRfa2V5X3NlcXVlbmNl IChrZXlidWY9PG9wdGltaXplZCBvdXQ+LCBwcm9tcHQ9WElMKDApLCBkb250X2Rvd25jYXNlX2xh c3Q9PG9wdGltaXplZCBvdXQ+LCBjYW5fcmV0dXJuX3N3aXRjaF9mcmFtZT10cnVlLCBmaXhfY3Vy cmVudF9idWZmZXI9dHJ1ZSwgcHJldmVudF9yZWRpc3BsYXk9PG9wdGltaXplZCBvdXQ+KSBhdCBr ZXlib2FyZC5jOjEwMDgzCiMzNSAweDAwMDA1NTU1NTU2YjAyNzAgaW4gY29tbWFuZF9sb29wXzEg KCkgYXQgbGlzcC5oOjExNjUKIzM2IDB4MDAwMDU1NTU1NTcyNjlmNyBpbiBpbnRlcm5hbF9jb25k aXRpb25fY2FzZSAoYmZ1bj1iZnVuQGVudHJ5PTB4NTU1NTU1NmIwMGIwIDxjb21tYW5kX2xvb3Bf MT4sIGhhbmRsZXJzPWhhbmRsZXJzQGVudHJ5PVhJTCgweDkwKSwgaGZ1bj1oZnVuQGVudHJ5PTB4 NTU1NTU1NmE0MTYwIDxjbWRfZXJyb3I+KSBhdCBldmFsLmM6MTQ3NAojMzcgMHgwMDAwNTU1NTU1 NjljNzQyIGluIGNvbW1hbmRfbG9vcF8yIChoYW5kbGVycz1oYW5kbGVyc0BlbnRyeT1YSUwoMHg5 MCkpIGF0IGtleWJvYXJkLmM6MTEzMwojMzggMHgwMDAwNTU1NTU1NzI2OTUxIGluIGludGVybmFs X2NhdGNoICh0YWc9dGFnQGVudHJ5PVhJTCgweGYyNDApLCBmdW5jPWZ1bmNAZW50cnk9MHg1NTU1 NTU2OWM3MjAgPGNvbW1hbmRfbG9vcF8yPiwgYXJnPWFyZ0BlbnRyeT1YSUwoMHg5MCkpIGF0IGV2 YWwuYzoxMTk3CiMzOSAweDAwMDA1NTU1NTU2OWM2ZGUgaW4gY29tbWFuZF9sb29wICgpIGF0IGxp c3AuaDoxMTY1CiM0MCAweDAwMDA1NTU1NTU2YTNkMTMgaW4gcmVjdXJzaXZlX2VkaXRfMSAoKSBh dCBrZXlib2FyZC5jOjcyMAojNDEgMHgwMDAwNTU1NTU1NmE0MDhjIGluIEZyZWN1cnNpdmVfZWRp dCAoKSBhdCBrZXlib2FyZC5jOjgwMwojNDIgMHgwMDAwNTU1NTU1NTkzMjRhIGluIG1haW4gKGFy Z2M9PG9wdGltaXplZCBvdXQ+LCBhcmd2PTxvcHRpbWl6ZWQgb3V0PikgYXQgZW1hY3MuYzoyNTI5 CgpMaXNwIEJhY2t0cmFjZToKIm1ha2UtZnJhbWUtdmlzaWJsZSIgKDB4ZjViZmYzZDApCiJ4LWNy ZWF0ZS1mcmFtZS13aXRoLWZhY2VzIiAoMHhmNWJmZjM2OCkKMHhmNjdlNjRkOCBQVkVDX0NPTVBJ TEVECiJhcHBseSIgKDB4ZjViZmYyZTApCiJmcmFtZS1jcmVhdGlvbi1mdW5jdGlvbiIgKDB4ZjVi ZmYyODApCiJtYWtlLWZyYW1lIiAoMHhmNWJmZjIwMCkKInNlcnZlci0tY3JlYXRlLWZyYW1lIiAo MHhmNWJmZjE4OCkKInNlcnZlci1jcmVhdGUtd2luZG93LXN5c3RlbS1mcmFtZSIgKDB4ZjViZmYw ZDApCiJzZXJ2ZXItcHJvY2Vzcy1maWx0ZXIiICgweGZmZmZjMGQ4KQo= --0000000000009e015f05fc0a13a7--