From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23901 invoked by alias); 27 Feb 2014 15:20:27 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 23888 invoked by uid 89); 27 Feb 2014 15:20:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.1 required=5.0 tests=AWL,BAYES_05,RCVD_IN_DNSWL_LOW,SPF_SOFTFAIL autolearn=no version=3.3.2 X-HELO: mail-la0-f54.google.com Received: from mail-la0-f54.google.com (HELO mail-la0-f54.google.com) (209.85.215.54) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Thu, 27 Feb 2014 15:20:21 +0000 Received: by mail-la0-f54.google.com with SMTP id mc6so1747405lab.41 for ; Thu, 27 Feb 2014 07:20:17 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=UF4o4ShQpJ7LXEc7m5gDdEpJvoIxtOwfOtw1h2uZE8U=; b=jCuSEJRZw1HFBR1H3FTycwmKK6mZnh7vmVVbnTVaQPuwM6gcYwL29Ylj8ZU7qsDIm0 Th8uuijjecTQ1i6eN7JXa9w0qfbffHEBoqEuzeZ2JdNHzgErZLT0J6HH87H7FiNFrgax 6qH/h2xmloD3Gd3Y0Q8vtG3ePU3XaP54oqgOhixeDSjXELBsw6ZfO9Wjqd6DiuLCRDOd yP62E4sNZJI9UIDAUUsesWfJukjWA5ZpqJ0pdug4iUTZA5DCmbaMrrVIvOMsFZ0JHU87 lJFRxUJdstDboWUXYgnOhVDlfeBXHhn7acGzSjP585jrIEG6d6ACpZwZ1jKktmZ4xoEJ Sm7w== X-Gm-Message-State: ALoCoQknDtDlBF33UWHqc5i/RfxQMoUNI8+Zn7Dg2+FWWvKFo1JW5D+t9KfEnGDHM+ktSJIWfiGW MIME-Version: 1.0 X-Received: by 10.152.203.193 with SMTP id ks1mr7116870lac.0.1393514417226; Thu, 27 Feb 2014 07:20:17 -0800 (PST) Received: by 10.112.63.100 with HTTP; Thu, 27 Feb 2014 07:20:16 -0800 (PST) Date: Thu, 27 Feb 2014 15:20:00 -0000 Message-ID: Subject: [PATCH] add CodeComposer Studio assembly syntax compatibility support From: Daniel Gutson To: binutils@sourceware.org Content-Type: multipart/mixed; boundary=001a113470d2d424b704f364db0d X-IsSubscribed: yes X-SW-Source: 2014-02/txt/msg00166.txt.bz2 --001a113470d2d424b704f364db0d Content-Type: text/plain; charset=ISO-8859-1 Content-length: 11409 The attached patch adds support for the TI's CodeComposer Studio assembly syntax to the assembler. This mode is enabled by specifying the new -mccs flag I added. I needed to change the comment_chars, line_comment_chars and line_separator_chars arrays at runtime (depending on the command line options), so I removed the 'const' specifier from their declaration. I propagated this change to all the architectures, but only tested ARM (please help with the rest). I think that the ability to change the content of such arrays at runtime could be helpful in other future cases as well. All tests passed including the new one I added to test this new mode. I could not test the other architectures since I'm not sure the best configure options to build them. Is there a way to make them all for testing purposes? Thanks. 2014-02-27 Daniel Gutson gas/ * read.h (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-arm.c (codecomposer_syntax): New flag that states whether the CCS syntax compatibility mode is on or off. (asmfunc_states): New enum to represent the asmfunc directive state. (asmfunc_state): New variable holding the asmfunc directive state. (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. (s_ccs_ref): New function that handles the .ref directive. (asmfunc_debug): New function. (s_ccs_asmfunc): New function that handles the .asmfunc directive. (s_ccs_endasmfunc): New function that handles the .endasmfunc directive. (s_ccs_def): New function that handles the .def directive. (tc_start_label_without_colon): New function. (md_pseudo_table): Added new CCS directives. (arm_ccs_mode): New function that handles the -mccs command line option. (arm_long_opts): Added new -mccs command line option. * config/tc-arm.h (LABELS_WITHOUT_COLONS): New macro. (TC_START_LABEL_WITHOUT_COLON): New macro. (tc_start_label_without_colon): Added extern function declaration. * config/tc-aarch64.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-alpha.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-arc.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-avr.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-bfin.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-cr16.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-cris.c (line_comment_chars): Removed const modifier. (line_separator_chars): alike. * config/tc-crx.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-d10v.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-d30v.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-dlx.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-epiphany.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-fr30.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-frv.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-h8300.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-hppa.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-i370.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-i386.c (line_comment_chars): Removed const modifier. (line_separator_chars): alike. * config/tc-i860.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-i960.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-ia64.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-ip2k.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-iq2000.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-lm32.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-m32c.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-m32r.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-m68hc11.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-m68k.c (line_comment_chars): Removed const modifier. (line_separator_chars): alike. * config/tc-mcore.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-mep.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-metag.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-microblaze.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-mips.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-mmix.c (line_comment_chars): Removed const modifier. (line_separator_chars): alike. * config/tc-mn10200.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-mn10300.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-moxie.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-msp430.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-mt.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-nds32.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-nios2.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-ns32k.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-openrisc.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-or32.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-pdp11.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-pj.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-ppc.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-rl78.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-rx.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-s390.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-score.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-sh.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-sparc.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-spu.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-tic30.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-tic4x.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-tic54x.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-tic6x.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-tilegx.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-tilepro.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-v850.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-vax.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-xc16x.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-xgate.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-xstormy16.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-xtensa.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-z80.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-z8k.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. gas/doc/ * as.texinfo: added documentation for the -mccs command line option. --001a113470d2d424b704f364db0d Content-Type: text/x-patch; charset=US-ASCII; name="ccs.patch" Content-Disposition: attachment; filename="ccs.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hs66gyxc0 Content-length: 76067 ZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtYWFyY2g2NC5jIGIvZ2FzL2Nv bmZpZy90Yy1hYXJjaDY0LmMKaW5kZXggNGIyNDNjZS4uNzcxYTYwMyAxMDA2 NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1hYXJjaDY0LmMKKysrIGIvZ2FzL2Nv bmZpZy90Yy1hYXJjaDY0LmMKQEAgLTQ1NSw3ICs0NTUsNyBAQCBzdGF0aWMg bGl0ZXJhbF9wb29sICpsaXN0X29mX3Bvb2xzID0gTlVMTDsKIAogLyogVGhp cyBhcnJheSBob2xkcyB0aGUgY2hhcnMgdGhhdCBhbHdheXMgc3RhcnQgYSBj b21tZW50LiAgSWYgdGhlCiAgICBwcmUtcHJvY2Vzc29yIGlzIGRpc2FibGVk LCB0aGVzZSBhcmVuJ3QgdmVyeSB1c2VmdWwuCSAqLwotY29uc3QgY2hhciBj b21tZW50X2NoYXJzW10gPSAiIjsKK2NoYXIgY29tbWVudF9jaGFyc1tdID0g IiI7CiAKIC8qIFRoaXMgYXJyYXkgaG9sZHMgdGhlIGNoYXJzIHRoYXQgb25s eSBzdGFydCBhIGNvbW1lbnQgYXQgdGhlIGJlZ2lubmluZyBvZgogICAgYSBs aW5lLiAgSWYgdGhlIGxpbmUgc2VlbXMgdG8gaGF2ZSB0aGUgZm9ybSAnIyAx MjMgZmlsZW5hbWUnCkBAIC00NjQsOSArNDY0LDkgQEAgY29uc3QgY2hhciBj b21tZW50X2NoYXJzW10gPSAiIjsKICAgIGZpcnN0IGxpbmUgb2YgdGhlIGlu cHV0IGZpbGUuICBUaGlzIGlzIGJlY2F1c2UgdGhlIGNvbXBpbGVyIG91dHB1 dHMKICAgICNOT19BUFAgYXQgdGhlIGJlZ2lubmluZyBvZiBpdHMgb3V0cHV0 LiAgKi8KIC8qIEFsc28gbm90ZSB0aGF0IGNvbW1lbnRzIGxpa2UgdGhpcyBv bmUgd2lsbCBhbHdheXMgd29yay4gICovCi1jb25zdCBjaGFyIGxpbmVfY29t bWVudF9jaGFyc1tdID0gIiMiOworY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNb XSA9ICIjIjsKIAotY29uc3QgY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1td ID0gIjsiOworY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIjsiOwog CiAvKiBDaGFycyB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlcGFyYXRlIG1hbnQK ICAgIGZyb20gZXhwIGluIGZsb2F0aW5nIHBvaW50IG51bWJlcnMuCSovCmRp ZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLWFscGhhLmMgYi9nYXMvY29uZmln L3RjLWFscGhhLmMKaW5kZXggZDAyMDg5Ni4uOWRiMzQzNSAxMDA2NDQKLS0t IGEvZ2FzL2NvbmZpZy90Yy1hbHBoYS5jCisrKyBiL2dhcy9jb25maWcvdGMt YWxwaGEuYwpAQCAtMjI3LDE0ICsyMjcsMTQgQEAgc3RydWN0IGFscGhhX21h Y3JvCiAgICB0YXJnZXRzLiAgKi8KIAogLyogQ2hhcmFjdGVycyB3aGljaCBh bHdheXMgc3RhcnQgYSBjb21tZW50LiAgKi8KLWNvbnN0IGNoYXIgY29tbWVu dF9jaGFyc1tdID0gIiMiOworY2hhciBjb21tZW50X2NoYXJzW10gPSAiIyI7 CiAKIC8qIENoYXJhY3RlcnMgd2hpY2ggc3RhcnQgYSBjb21tZW50IGF0IHRo ZSBiZWdpbm5pbmcgb2YgYSBsaW5lLiAgKi8KLWNvbnN0IGNoYXIgbGluZV9j b21tZW50X2NoYXJzW10gPSAiIyI7CitjaGFyIGxpbmVfY29tbWVudF9jaGFy c1tdID0gIiMiOwogCiAvKiBDaGFyYWN0ZXJzIHdoaWNoIG1heSBiZSB1c2Vk IHRvIHNlcGFyYXRlIG11bHRpcGxlIGNvbW1hbmRzIG9uIGEKICAgIHNpbmds ZSBsaW5lLiAgKi8KLWNvbnN0IGNoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNb XSA9ICI7IjsKK2NoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsK IAogLyogQ2hhcmFjdGVycyB3aGljaCBhcmUgdXNlZCB0byBpbmRpY2F0ZSBh biBleHBvbmVudCBpbiBhIGZsb2F0aW5nCiAgICBwb2ludCBudW1iZXIuICAq LwpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1hcmMuYyBiL2dhcy9jb25m aWcvdGMtYXJjLmMKaW5kZXggOGQyZGE5Ni4uNjI2ZjY3ZCAxMDA2NDQKLS0t IGEvZ2FzL2NvbmZpZy90Yy1hcmMuYworKysgYi9nYXMvY29uZmlnL3RjLWFy Yy5jCkBAIC02Miw3ICs2Miw3IEBAIGNvbnN0IHN0cnVjdCBzeW50YXhfY2xh c3NlcwogCiAvKiBUaGlzIGFycmF5IGhvbGRzIHRoZSBjaGFycyB0aGF0IGFs d2F5cyBzdGFydCBhIGNvbW1lbnQuICBJZiB0aGUKICAgIHByZS1wcm9jZXNz b3IgaXMgZGlzYWJsZWQsIHRoZXNlIGFyZW4ndCB2ZXJ5IHVzZWZ1bC4gICov Ci1jb25zdCBjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICIjOyI7CitjaGFyIGNv bW1lbnRfY2hhcnNbXSA9ICIjOyI7CiAKIC8qIFRoaXMgYXJyYXkgaG9sZHMg dGhlIGNoYXJzIHRoYXQgb25seSBzdGFydCBhIGNvbW1lbnQgYXQgdGhlIGJl Z2lubmluZyBvZgogICAgYSBsaW5lLiAgSWYgdGhlIGxpbmUgc2VlbXMgdG8g aGF2ZSB0aGUgZm9ybSAnIyAxMjMgZmlsZW5hbWUnCkBAIC03Miw5ICs3Miw5 IEBAIGNvbnN0IGNoYXIgY29tbWVudF9jaGFyc1tdID0gIiM7IjsKICAgICNO T19BUFAgYXQgdGhlIGJlZ2lubmluZyBvZiBpdHMgb3V0cHV0LiAgKi8KIC8q IEFsc28gbm90ZSB0aGF0IGNvbW1lbnRzIHN0YXJ0ZWQgbGlrZSB0aGlzIG9u ZSB3aWxsIGFsd2F5cwogICAgd29yayBpZiAnLycgaXNuJ3Qgb3RoZXJ3aXNl IGRlZmluZWQuICAqLwotY29uc3QgY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNb XSA9ICIjIjsKK2NoYXIgbGluZV9jb21tZW50X2NoYXJzW10gPSAiIyI7CiAK LWNvbnN0IGNoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICIiOworY2hh ciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIiI7CiAKIC8qIENoYXJzIHRo YXQgY2FuIGJlIHVzZWQgdG8gc2VwYXJhdGUgbWFudCBmcm9tIGV4cCBpbiBm bG9hdGluZyBwb2ludCBudW1zLiAgKi8KIGNvbnN0IGNoYXIgRVhQX0NIQVJT W10gPSAiZUUiOwpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1hcm0uYyBi L2dhcy9jb25maWcvdGMtYXJtLmMKaW5kZXggZTU5NjIxNy4uMjU5NTRhMiAx MDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1hcm0uYworKysgYi9nYXMvY29u ZmlnL3RjLWFybS5jCkBAIC0xMzcsNiArMTM3LDggQEAgc3RhdGljIGludCBm aXhfdjRieAkgICAgID0gRkFMU0U7CiAvKiBXYXJuIG9uIHVzaW5nIGRlcHJl Y2F0ZWQgZmVhdHVyZXMuICAqLwogc3RhdGljIGludCB3YXJuX29uX2RlcHJl Y2F0ZWQgPSBUUlVFOwogCisvKiBVbmRlcnN0YW5kIENvZGVDb21wb3NlciBT dHVkaW8gYXNzZW1ibHkgc3ludGF4LiAgKi8KK2ludCBjb2RlY29tcG9zZXJf c3ludGF4ID0gRkFMU0U7CiAKIC8qIFZhcmlhYmxlcyB0aGF0IHdlIHNldCB3 aGlsZSBwYXJzaW5nIGNvbW1hbmQtbGluZSBvcHRpb25zLiAgT25jZSBhbGwK ICAgIG9wdGlvbnMgaGF2ZSBiZWVuIHJlYWQgd2UgcmUtcHJvY2VzcyB0aGVz ZSB2YWx1ZXMgdG8gc2V0IHRoZSByZWFsCkBAIC03OTUsNiArNzk3LDE1IEBA IHR5cGVkZWYgc3RydWN0IGxpdGVyYWxfcG9vbAogLyogUG9pbnRlciB0byBh IGxpbmtlZCBsaXN0IG9mIGxpdGVyYWwgcG9vbHMuICAqLwogbGl0ZXJhbF9w b29sICogbGlzdF9vZl9wb29scyA9IE5VTEw7CiAKK3R5cGVkZWYgZW51bSBh c21mdW5jX3N0YXRlcworeworICBPVVRTSURFX0FTTUZVTkMsCisgIFdBSVRJ TkdfQVNNRlVOQ19OQU1FLAorICBXQUlUSU5HX0VOREFTTUZVTkMKK30gYXNt ZnVuY19zdGF0ZXM7CisKK3N0YXRpYyBhc21mdW5jX3N0YXRlcyBhc21mdW5j X3N0YXRlID0gT1VUU0lERV9BU01GVU5DOworCiAjaWZkZWYgT0JKX0VMRgog IyAgZGVmaW5lIG5vd19pdCBzZWdfaW5mbyAobm93X3NlZyktPnRjX3NlZ21l bnRfaW5mb19kYXRhLmN1cnJlbnRfaXQKICNlbHNlCkBAIC04NTMsNyArODY0 LDcgQEAgc3RhdGljIHZvaWQgaXRfZnNtX3Bvc3RfZW5jb2RlICh2b2lkKTsK IAogLyogVGhpcyBhcnJheSBob2xkcyB0aGUgY2hhcnMgdGhhdCBhbHdheXMg c3RhcnQgYSBjb21tZW50LiAgSWYgdGhlCiAgICBwcmUtcHJvY2Vzc29yIGlz IGRpc2FibGVkLCB0aGVzZSBhcmVuJ3QgdmVyeSB1c2VmdWwuCSAqLwotY29u c3QgY2hhciBjb21tZW50X2NoYXJzW10gPSAiQCI7CitjaGFyIGNvbW1lbnRf Y2hhcnNbXSA9ICJAIjsKIAogLyogVGhpcyBhcnJheSBob2xkcyB0aGUgY2hh cnMgdGhhdCBvbmx5IHN0YXJ0IGEgY29tbWVudCBhdCB0aGUgYmVnaW5uaW5n IG9mCiAgICBhIGxpbmUuICBJZiB0aGUgbGluZSBzZWVtcyB0byBoYXZlIHRo ZSBmb3JtICcjIDEyMyBmaWxlbmFtZScKQEAgLTg2Miw5ICs4NzMsOSBAQCBj b25zdCBjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICJAIjsKICAgIGZpcnN0IGxp bmUgb2YgdGhlIGlucHV0IGZpbGUuICBUaGlzIGlzIGJlY2F1c2UgdGhlIGNv bXBpbGVyIG91dHB1dHMKICAgICNOT19BUFAgYXQgdGhlIGJlZ2lubmluZyBv ZiBpdHMgb3V0cHV0LiAgKi8KIC8qIEFsc28gbm90ZSB0aGF0IGNvbW1lbnRz IGxpa2UgdGhpcyBvbmUgd2lsbCBhbHdheXMgd29yay4gICovCi1jb25zdCBj aGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0gIiMiOworY2hhciBsaW5lX2Nv bW1lbnRfY2hhcnNbXSA9ICIjIjsKIAotY29uc3QgY2hhciBsaW5lX3NlcGFy YXRvcl9jaGFyc1tdID0gIjsiOworY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFy c1tdID0gIjsiOwogCiAvKiBDaGFycyB0aGF0IGNhbiBiZSB1c2VkIHRvIHNl cGFyYXRlIG1hbnQKICAgIGZyb20gZXhwIGluIGZsb2F0aW5nIHBvaW50IG51 bWJlcnMuCSovCkBAIC0zMDEyLDYgKzMwMjMsMTA3IEBAIHNfZXZlbiAoaW50 IGlnbm9yZSBBVFRSSUJVVEVfVU5VU0VEKQogICBkZW1hbmRfZW1wdHlfcmVz dF9vZl9saW5lICgpOwogfQogCisvKiBEaXJlY3RpdmVzOiBDb2RlQ29tcG9z ZXIgU3R1ZGlvLiAgKi8KKworLyogIC5yZWYgIChmb3IgQ29kZUNvbXBvc2Vy IFN0dWRpbyBzeW50YXggb25seSkuICAqLworc3RhdGljIHZvaWQKK3NfY2Nz X3JlZiAoaW50IHVudXNlZCBBVFRSSUJVVEVfVU5VU0VEKQoreworICBpZiAo Y29kZWNvbXBvc2VyX3N5bnRheCkKKyAgICBpZ25vcmVfcmVzdF9vZl9saW5l ICgpOworICBlbHNlCisgICAgYXNfYmFkIChfKCIucmVmIHBzZXVkby1vcCBv bmx5IGF2YWlsYWJsZSB3aXRoIC1tY2NzIGZsYWcuIikpOworfQorCisvKiAg SWYgbmFtZSBpcyBub3QgTlVMTCwgdGhlbiBpdCBpcyB1c2VkIGZvciBtYXJr aW5nIHRoZSBiZWdpbm5pbmcgb2YgYQorICAgIGZ1bmN0aW9uLCB3aGVyZWFz ZSBpZiBpdCBpcyBOVUxMIHRoZW4gaXQgbWVhbnMgdGhlIGZ1bmN0aW9uIGVu ZC4gICovCitzdGF0aWMgdm9pZAorYXNtZnVuY19kZWJ1ZyAoY29uc3QgY2hh ciAqIG5hbWUpCit7CisgIHN0YXRpYyBjb25zdCBjaGFyICogbGFzdF9uYW1l ID0gTlVMTDsKKworICBpZiAobmFtZSAhPSBOVUxMKQorICAgIHsKKyAgICAg IGdhc19hc3NlcnQgKGxhc3RfbmFtZSA9PSBOVUxMKTsKKyAgICAgIGxhc3Rf bmFtZSA9IG5hbWU7CisKKyAgICAgIGlmIChkZWJ1Z190eXBlID09IERFQlVH X1NUQUJTKQorICAgICAgICAgc3RhYnNfZ2VuZXJhdGVfYXNtX2Z1bmMgKG5h bWUsIG5hbWUpOworCisgICAgfQorICBlbHNlCisgICAgeworICAgICAgZ2Fz X2Fzc2VydCAobGFzdF9uYW1lICE9IE5VTEwpOworCisgICAgICBpZiAoZGVi dWdfdHlwZSA9PSBERUJVR19TVEFCUykKKyAgICAgICAgc3RhYnNfZ2VuZXJh dGVfYXNtX2VuZGZ1bmMgKGxhc3RfbmFtZSwgbGFzdF9uYW1lKTsKKworICAg ICAgbGFzdF9uYW1lID0gTlVMTDsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lk CitzX2Njc19hc21mdW5jIChpbnQgdW51c2VkIEFUVFJJQlVURV9VTlVTRUQp Cit7CisgIGlmIChjb2RlY29tcG9zZXJfc3ludGF4KQorICB7CisgICAgc3dp dGNoIChhc21mdW5jX3N0YXRlKQorICAgICAgeworICAgICAgY2FzZSBPVVRT SURFX0FTTUZVTkM6CisgICAgICAgIGFzbWZ1bmNfc3RhdGUgPSBXQUlUSU5H X0FTTUZVTkNfTkFNRTsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2Ug V0FJVElOR19BU01GVU5DX05BTUU6CisgICAgICAgIGFzX2JhZCAoXygiLmFz bWZ1bmMgcmVwZWF0ZWQuIikpOworICAgICAgICBicmVhazsKKworICAgICAg Y2FzZSBXQUlUSU5HX0VOREFTTUZVTkM6CisgICAgICAgIGFzX2JhZCAoXygi LmFzbWZ1bmMgd2l0aG91dCBmdW5jdGlvbi4iKSk7CisgICAgICAgIGJyZWFr OworICAgICAgfQorICAgIGRlbWFuZF9lbXB0eV9yZXN0X29mX2xpbmUgKCk7 CisgIH0KKyAgZWxzZQorICAgIGFzX2JhZCAoXygiLmFzbWZ1bmMgcHNldWRv LW9wIG9ubHkgYXZhaWxhYmxlIHdpdGggLW1jY3MgZmxhZy4iKSk7Cit9CisK K3N0YXRpYyB2b2lkCitzX2Njc19lbmRhc21mdW5jIChpbnQgdW51c2VkIEFU VFJJQlVURV9VTlVTRUQpCit7CisgIGlmIChjb2RlY29tcG9zZXJfc3ludGF4 KQorICB7CisgICAgc3dpdGNoIChhc21mdW5jX3N0YXRlKQorICAgICAgewor ICAgICAgY2FzZSBPVVRTSURFX0FTTUZVTkM6CisgICAgICAgIGFzX2JhZCAo XygiLmVuZGFzbWZ1bmMgd2l0aG91dCBhIC5hc21mdW5jLiIpKTsKKyAgICAg ICAgYnJlYWs7CisKKyAgICAgIGNhc2UgV0FJVElOR19BU01GVU5DX05BTUU6 CisgICAgICAgIGFzX2JhZCAoXygiLmVuZGFzbWZ1bmMgd2l0aG91dCBmdW5j dGlvbi4iKSk7CisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIFdBSVRJ TkdfRU5EQVNNRlVOQzoKKyAgICAgICAgYXNtZnVuY19zdGF0ZSA9IE9VVFNJ REVfQVNNRlVOQzsKKyAgICAgICAgYXNtZnVuY19kZWJ1ZyAoTlVMTCk7Cisg ICAgICAgIGJyZWFrOworICAgICAgfQorICAgIGRlbWFuZF9lbXB0eV9yZXN0 X29mX2xpbmUgKCk7CisgIH0KKyAgZWxzZQorICAgIGFzX2JhZCAoXygiLmVu ZGFzbWZ1bmMgcHNldWRvLW9wIG9ubHkgYXZhaWxhYmxlIHdpdGggLW1jY3Mg ZmxhZy4iKSk7Cit9CisKK3N0YXRpYyB2b2lkCitzX2Njc19kZWYgKGludCBu YW1lKQoreworICBpZiAoY29kZWNvbXBvc2VyX3N5bnRheCkKKyAgICB7Cisg ICAgICBzX2dsb2JsIChuYW1lKTsKKyAgICB9CisgIGVsc2UKKyAgICBhc19i YWQgKF8oIi5kZWYgcHNldWRvLW9wIG9ubHkgYXZhaWxhYmxlIHdpdGggLW1j Y3MgZmxhZy4iKSk7Cit9CisKIC8qIERpcmVjdGl2ZXM6IExpdGVyYWwgcG9v bHMuICAqLwogCiBzdGF0aWMgbGl0ZXJhbF9wb29sICoKQEAgLTMxMjgsNiAr MzI0MCwzMiBAQCBhZGRfdG9fbGl0X3Bvb2wgKHZvaWQpCiAgIHJldHVybiBT VUNDRVNTOwogfQogCitiZmRfYm9vbGVhbgordGNfc3RhcnRfbGFiZWxfd2l0 aG91dF9jb2xvbiAoY2hhciB1bnVzZWQxIEFUVFJJQlVURV9VTlVTRUQsIGNv bnN0IGNoYXIgKiByZXN0KQoreworICBiZmRfYm9vbGVhbiByZXQgPSBUUlVF OworCisgIGlmIChjb2RlY29tcG9zZXJfc3ludGF4ICYmIGFzbWZ1bmNfc3Rh dGUgPT0gV0FJVElOR19BU01GVU5DX05BTUUpCisgIHsKKyAgICBjb25zdCBj aGFyICpsYWJlbCA9IHJlc3Q7CisKKyAgICB3aGlsZSAoIWlzX2VuZF9vZl9s aW5lWyhpbnQpIGxhYmVsWy0xXV0pCisgICAgICAgLS1sYWJlbDsKKworICAg IGlmICgqbGFiZWwgPT0gJy4nKQorICAgICAgIHsKKyAgICAgICAgIGFzX2Jh ZCAoXygiSW52YWxpZCBsYWJlbCAnJXMnIiksIGxhYmVsKTsKKyAgICAgICAg IHJldCA9IEZBTFNFOworICAgICAgIH0KKworICAgIGFzbWZ1bmNfZGVidWcg KGxhYmVsKTsKKworICAgIGFzbWZ1bmNfc3RhdGUgPSBXQUlUSU5HX0VOREFT TUZVTkM7CisgIH0KKworICByZXR1cm4gcmV0OworfQorCiAvKiBDYW4ndCB1 c2Ugc3ltYm9sX25ldyBoZXJlLCBzbyBoYXZlIHRvIGNyZWF0ZSBhIHN5bWJv bCBhbmQgdGhlbiBhdAogICAgYSBsYXRlciBkYXRlIGFzc2lnbiBpdCBhIHZh bHVlLiBUaGF0cyB3aGF0IHRoZXNlIGZ1bmN0aW9ucyBkby4gICovCiAKQEAg LTQ0NzcsNiArNDYxNSwxMyBAQCBjb25zdCBwc2V1ZG9fdHlwZVMgbWRfcHNl dWRvX3RhYmxlW10gPQogI2lmZGVmIFRFX1BFCiAgIHsic2VjcmVsMzIiLCBw ZV9kaXJlY3RpdmVfc2VjcmVsLCAwfSwKICNlbmRpZgorCisgIC8qIFRoZXNl IGFyZSBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIENvZGVDb21wb3NlciBTdHVk aW8uICAqLworICB7InJlZiIsIHNfY2NzX3JlZiwgMH0sCisgIHsiZGVmIiwg c19jY3NfZGVmLCAwfSwKKyAgeyJhc21mdW5jIiwgc19jY3NfYXNtZnVuYywg MH0sCisgIHsiZW5kYXNtZnVuYyIsIHNfY2NzX2VuZGFzbWZ1bmMsIDB9LAor CiAgIHsgMCwgMCwgMCB9CiB9OwogDApAQCAtMjQ1MDYsNiArMjQ2NTEsMTUg QEAgYXJtX3BhcnNlX2l0X21vZGUgKGNoYXIgKiBzdHIpCiAgIHJldHVybiBy ZXQ7CiB9CiAKK3N0YXRpYyBiZmRfYm9vbGVhbgorYXJtX2Njc19tb2RlIChj aGFyICogdW51c2VkIEFUVFJJQlVURV9VTlVTRUQpCit7CisgIGNvZGVjb21w b3Nlcl9zeW50YXggPSBUUlVFOworICBjb21tZW50X2NoYXJzWzBdID0gJzsn OworICBsaW5lX3NlcGFyYXRvcl9jaGFyc1swXSA9IDA7CisgIHJldHVybiBU UlVFOworfQorCiBzdHJ1Y3QgYXJtX2xvbmdfb3B0aW9uX3RhYmxlIGFybV9s b25nX29wdHNbXSA9CiB7CiAgIHsibWNwdT0iLCBOXygiPGNwdSBuYW1lPlx0 ICBhc3NlbWJsZSBmb3IgQ1BVIDxjcHUgbmFtZT4iKSwKQEAgLTI0NTIyLDYg KzI0Njc2LDggQEAgc3RydWN0IGFybV9sb25nX29wdGlvbl90YWJsZSBhcm1f bG9uZ19vcHRzW10gPQogI2VuZGlmCiAgIHsibWltcGxpY2l0LWl0PSIsIE5f KCI8bW9kZT5cdCAgY29udHJvbHMgaW1wbGljaXQgaW5zZXJ0aW9uIG9mIElU IGluc3RydWN0aW9ucyIpLAogICAgYXJtX3BhcnNlX2l0X21vZGUsIE5VTEx9 LAorICB7Im1jY3MiLCBOXygiXHRcdFx0ICBUSSBDb2RlQ29tcG9zZXIgU3R1 ZGlvIHN5bnRheCBjb21wYXRpYmlsaXR5IG1vZGUiKSwKKyAgIGFybV9jY3Nf bW9kZSwgTlVMTH0sCiAgIHtOVUxMLCBOVUxMLCAwLCBOVUxMfQogfTsKIApk aWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1hcm0uaCBiL2dhcy9jb25maWcv dGMtYXJtLmgKaW5kZXggM2EwZmFiMC4uODE2M2EzNiAxMDA2NDQKLS0tIGEv Z2FzL2NvbmZpZy90Yy1hcm0uaAorKysgYi9nYXMvY29uZmlnL3RjLWFybS5o CkBAIC04Miw2ICs4MiwxMCBAQCBzdHJ1Y3QgZml4OwogLyogV2Ugc3VwcG9y dCBkb3VibGUgc2xhc2ggbGluZS1jb21tZW50cyBmb3IgY29tcGF0aWJpbGl0 eSB3aXRoIHRoZSBBUk0gQUFyY2g2NCBBc3NlbWJsZXIuICAqLwogI2RlZmlu ZSBET1VCTEVTTEFTSF9MSU5FX0NPTU1FTlRTCiAKKy8qIFdlIGNvbmRpdGlv bmFsbHkgc3VwcG9ydCBsYWJlbHMgd2l0aG91dCBjb2xvbi4gICovCisjZGVm aW5lIExBQkVMU19XSVRIT1VUX0NPTE9OUyBjb2RlY29tcG9zZXJfc3ludGF4 CitleHRlcm4gaW50IGNvZGVjb21wb3Nlcl9zeW50YXg7CisKICNkZWZpbmUg dGNfc3ltYm9sX2NoYXJzIGFybV9zeW1ib2xfY2hhcnMKIGV4dGVybiBjb25z dCBjaGFyIGFybV9zeW1ib2xfY2hhcnNbXTsKIApAQCAtMTAxLDYgKzEwNSw5 IEBAIGV4dGVybiBpbnQgYXJtX29wdGltaXplX2V4cHIgKGV4cHJlc3Npb25T ICosIG9wZXJhdG9yVCwgZXhwcmVzc2lvblMgKik7CiAKICNkZWZpbmUgbWRf c3RhcnRfbGluZV9ob29rKCkgYXJtX3N0YXJ0X2xpbmVfaG9vayAoKQogCisj ZGVmaW5lIFRDX1NUQVJUX0xBQkVMX1dJVEhPVVRfQ09MT04oYywgbCkgIHRj X3N0YXJ0X2xhYmVsX3dpdGhvdXRfY29sb24gKGMsIGwpCitleHRlcm4gYmZk X2Jvb2xlYW4gdGNfc3RhcnRfbGFiZWxfd2l0aG91dF9jb2xvbiAoY2hhciBj LCBjb25zdCBjaGFyICogbCk7CisKICNkZWZpbmUgdGNfZnJvYl9sYWJlbChT KSBhcm1fZnJvYl9sYWJlbCAoUykKIAogLyogV2UgYWxzbyBuZWVkIHRvIG1h cmsgYXNzZW1ibGVyIGNyZWF0ZWQgc3ltYm9sczogICovCmRpZmYgLS1naXQg YS9nYXMvY29uZmlnL3RjLWF2ci5jIGIvZ2FzL2NvbmZpZy90Yy1hdnIuYwpp bmRleCAzMzJhYTJkLi42N2U1NDdjIDEwMDY0NAotLS0gYS9nYXMvY29uZmln L3RjLWF2ci5jCisrKyBiL2dhcy9jb25maWcvdGMtYXZyLmMKQEAgLTQ2LDkg KzQ2LDkgQEAgc3RydWN0IGF2cl9vcGNvZGVzX3MgYXZyX29wY29kZXNbXSA9 CiAgIHtOVUxMLCBOVUxMLCBOVUxMLCAwLCAwLCAwfQogfTsKIAotY29uc3Qg Y2hhciBjb21tZW50X2NoYXJzW10gPSAiOyI7Ci1jb25zdCBjaGFyIGxpbmVf Y29tbWVudF9jaGFyc1tdID0gIiMiOwotY29uc3QgY2hhciBsaW5lX3NlcGFy YXRvcl9jaGFyc1tdID0gIiQiOworY2hhciBjb21tZW50X2NoYXJzW10gPSAi OyI7CitjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0gIiMiOworY2hhciBs aW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIiQiOwogCiBjb25zdCBjaGFyICpt ZF9zaG9ydG9wdHMgPSAibToiOwogc3RydWN0IG1jdV90eXBlX3MKZGlmZiAt LWdpdCBhL2dhcy9jb25maWcvdGMtYmZpbi5jIGIvZ2FzL2NvbmZpZy90Yy1i ZmluLmMKaW5kZXggOTllOWIxZS4uOGYyZGQ4MiAxMDA2NDQKLS0tIGEvZ2Fz L2NvbmZpZy90Yy1iZmluLmMKKysrIGIvZ2FzL2NvbmZpZy90Yy1iZmluLmMK QEAgLTEzNiw5ICsxMzYsOSBAQCBjb25zdCBwc2V1ZG9fdHlwZVMgbWRfcHNl dWRvX3RhYmxlW10gPSB7CiB9OwogCiAvKiBDaGFyYWN0ZXJzIHRoYXQgYXJl IHVzZWQgdG8gZGVub3RlIGNvbW1lbnRzIGFuZCBsaW5lIHNlcGFyYXRvcnMu ICovCi1jb25zdCBjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICIjIjsKLWNvbnN0 IGNoYXIgbGluZV9jb21tZW50X2NoYXJzW10gPSAiIyI7Ci1jb25zdCBjaGFy IGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiOyI7CitjaGFyIGNvbW1lbnRf Y2hhcnNbXSA9ICIjIjsKK2NoYXIgbGluZV9jb21tZW50X2NoYXJzW10gPSAi IyI7CitjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiOyI7CiAKIC8q IENoYXJhY3RlcnMgdGhhdCBjYW4gYmUgdXNlZCB0byBzZXBhcmF0ZSB0aGUg bWFudGlzc2EgZnJvbSB0aGUKICAgIGV4cG9uZW50IGluIGZsb2F0aW5nIHBv aW50IG51bWJlcnMuICovCmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLWNy MTYuYyBiL2dhcy9jb25maWcvdGMtY3IxNi5jCmluZGV4IDhkNmU3ODAuLjE4 MmM0MDEgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtY3IxNi5jCisrKyBi L2dhcy9jb25maWcvdGMtY3IxNi5jCkBAIC04NiwxMyArODYsMTMgQEAgaW50 IGN1cl9hcmdfbnVtOwogLyogR2VuZXJpYyBhc3NlbWJsZXIgZ2xvYmFsIHZh cmlhYmxlcyB3aGljaCBtdXN0IGJlIGRlZmluZWQgYnkgYWxsIHRhcmdldHMu ICAqLwogCiAvKiBDaGFyYWN0ZXJzIHdoaWNoIGFsd2F5cyBzdGFydCBhIGNv bW1lbnQuICAqLwotY29uc3QgY2hhciBjb21tZW50X2NoYXJzW10gPSAiIyI7 CitjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICIjIjsKIAogLyogQ2hhcmFjdGVy cyB3aGljaCBzdGFydCBhIGNvbW1lbnQgYXQgdGhlIGJlZ2lubmluZyBvZiBh IGxpbmUuICAqLwotY29uc3QgY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9 ICIjIjsKK2NoYXIgbGluZV9jb21tZW50X2NoYXJzW10gPSAiIyI7CiAKIC8q IFRoaXMgYXJyYXkgaG9sZHMgbWFjaGluZSBzcGVjaWZpYyBsaW5lIHNlcGFy YXRvciBjaGFyYWN0ZXJzLiAgKi8KLWNvbnN0IGNoYXIgbGluZV9zZXBhcmF0 b3JfY2hhcnNbXSA9ICI7IjsKK2NoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNb XSA9ICI7IjsKIAogLyogQ2hhcnMgdGhhdCBjYW4gYmUgdXNlZCB0byBzZXBh cmF0ZSBtYW50IGZyb20gZXhwIGluIGZsb2F0aW5nIHBvaW50IG51bXMuICAq LwogY29uc3QgY2hhciBFWFBfQ0hBUlNbXSA9ICJlRSI7CmRpZmYgLS1naXQg YS9nYXMvY29uZmlnL3RjLWNyaXMuYyBiL2dhcy9jb25maWcvdGMtY3Jpcy5j CmluZGV4IDY1N2M3ZWQuLjRlNGQ3YjggMTAwNjQ0Ci0tLSBhL2dhcy9jb25m aWcvdGMtY3Jpcy5jCisrKyBiL2dhcy9jb25maWcvdGMtY3Jpcy5jCkBAIC0y MjEsOCArMjIxLDggQEAgY29uc3QgY2hhciBjcmlzX2NvbW1lbnRfY2hhcnNb XSA9ICI7IjsKICAgIGZpcnN0IGxpbmUgb2YgdGhlIGlucHV0IGZpbGUuICBU aGlzIGlzIGJlY2F1c2UgdGhlIGNvbXBpbGVyIG91dHB1dHMKICAgICNOT19B UFAgYXQgdGhlIGJlZ2lubmluZyBvZiBpdHMgb3V0cHV0LiAgKi8KIC8qIEFs c28gbm90ZSB0aGF0IHNsYXNoLXN0YXIgd2lsbCBhbHdheXMgc3RhcnQgYSBj b21tZW50LiAgKi8KLWNvbnN0IGNoYXIgbGluZV9jb21tZW50X2NoYXJzW10g PSAiIyI7Ci1jb25zdCBjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAi QCI7CitjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0gIiMiOworY2hhciBs aW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIkAiOwogCiAvKiBOb3cgYWxsIGZs b2F0aW5nIHBvaW50IHN1cHBvcnQgaXMgc2h1dCBvZmYuICBTZWUgbWRfYXRv Zi4gICovCiBjb25zdCBjaGFyIEVYUF9DSEFSU1tdID0gIiI7CmRpZmYgLS1n aXQgYS9nYXMvY29uZmlnL3RjLWNyeC5jIGIvZ2FzL2NvbmZpZy90Yy1jcngu YwppbmRleCAzYjA2YTc4Li40ODZkZTEyIDEwMDY0NAotLS0gYS9nYXMvY29u ZmlnL3RjLWNyeC5jCisrKyBiL2dhcy9jb25maWcvdGMtY3J4LmMKQEAgLTg5 LDEzICs4OSwxMyBAQCBpbnQgY3VyX2FyZ19udW07CiAvKiBHZW5lcmljIGFz c2VtYmxlciBnbG9iYWwgdmFyaWFibGVzIHdoaWNoIG11c3QgYmUgZGVmaW5l ZCBieSBhbGwgdGFyZ2V0cy4gICovCiAKIC8qIENoYXJhY3RlcnMgd2hpY2gg YWx3YXlzIHN0YXJ0IGEgY29tbWVudC4gICovCi1jb25zdCBjaGFyIGNvbW1l bnRfY2hhcnNbXSA9ICIjIjsKK2NoYXIgY29tbWVudF9jaGFyc1tdID0gIiMi OwogCiAvKiBDaGFyYWN0ZXJzIHdoaWNoIHN0YXJ0IGEgY29tbWVudCBhdCB0 aGUgYmVnaW5uaW5nIG9mIGEgbGluZS4gICovCi1jb25zdCBjaGFyIGxpbmVf Y29tbWVudF9jaGFyc1tdID0gIiMiOworY2hhciBsaW5lX2NvbW1lbnRfY2hh cnNbXSA9ICIjIjsKIAogLyogVGhpcyBhcnJheSBob2xkcyBtYWNoaW5lIHNw ZWNpZmljIGxpbmUgc2VwYXJhdG9yIGNoYXJhY3RlcnMuICAqLwotY29uc3Qg Y2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIjsiOworY2hhciBsaW5l X3NlcGFyYXRvcl9jaGFyc1tdID0gIjsiOwogCiAvKiBDaGFycyB0aGF0IGNh biBiZSB1c2VkIHRvIHNlcGFyYXRlIG1hbnQgZnJvbSBleHAgaW4gZmxvYXRp bmcgcG9pbnQgbnVtcy4gICovCiBjb25zdCBjaGFyIEVYUF9DSEFSU1tdID0g ImVFIjsKZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtZDEwdi5jIGIvZ2Fz L2NvbmZpZy90Yy1kMTB2LmMKaW5kZXggOTgzYzJmOC4uMGIzOTI5MCAxMDA2 NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1kMTB2LmMKKysrIGIvZ2FzL2NvbmZp Zy90Yy1kMTB2LmMKQEAgLTI3LDkgKzI3LDkgQEAKICNpbmNsdWRlICJlbGYv cHBjLmgiCiAjaW5jbHVkZSAiZHdhcmYyZGJnLmgiCiAKLWNvbnN0IGNoYXIg Y29tbWVudF9jaGFyc1tdICAgICAgICA9ICI7IjsKLWNvbnN0IGNoYXIgbGlu ZV9jb21tZW50X2NoYXJzW10gICA9ICIjIjsKLWNvbnN0IGNoYXIgbGluZV9z ZXBhcmF0b3JfY2hhcnNbXSA9ICIiOworY2hhciBjb21tZW50X2NoYXJzW10g ICAgICAgICAgICAgID0gIjsiOworY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNb XSAgICAgICAgID0gIiMiOworY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1td ICAgICAgID0gIiI7CiBjb25zdCBjaGFyICptZF9zaG9ydG9wdHMgICAgICAg ICAgPSAiTyI7CiBjb25zdCBjaGFyIEVYUF9DSEFSU1tdICAgICAgICAgICAg PSAiZUUiOwogY29uc3QgY2hhciBGTFRfQ0hBUlNbXSAgICAgICAgICAgID0g ImREIjsKZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtZDMwdi5jIGIvZ2Fz L2NvbmZpZy90Yy1kMzB2LmMKaW5kZXggOWEzNDc3Yi4uZDk5NTNiYiAxMDA2 NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1kMzB2LmMKKysrIGIvZ2FzL2NvbmZp Zy90Yy1kMzB2LmMKQEAgLTI1LDkgKzI1LDkgQEAKICNpbmNsdWRlICJvcGNv ZGUvZDMwdi5oIgogI2luY2x1ZGUgImR3YXJmMmRiZy5oIgogCi1jb25zdCBj aGFyIGNvbW1lbnRfY2hhcnNbXSAgICAgICAgPSAiOyI7Ci1jb25zdCBjaGFy IGxpbmVfY29tbWVudF9jaGFyc1tdICAgPSAiIyI7Ci1jb25zdCBjaGFyIGxp bmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiIjsKK2NoYXIgY29tbWVudF9jaGFy c1tdICAgICAgICAgICAgICA9ICI7IjsKK2NoYXIgbGluZV9jb21tZW50X2No YXJzW10gICAgICAgICA9ICIjIjsKK2NoYXIgbGluZV9zZXBhcmF0b3JfY2hh cnNbXSAgICAgICA9ICIiOwogY29uc3QgY2hhciAqbWRfc2hvcnRvcHRzICAg ICAgICAgID0gIk9uTmNDIjsKIGNvbnN0IGNoYXIgRVhQX0NIQVJTW10gICAg ICAgICAgICA9ICJlRSI7CiBjb25zdCBjaGFyIEZMVF9DSEFSU1tdICAgICAg ICAgICAgPSAiZEQiOwpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1kbHgu YyBiL2dhcy9jb25maWcvdGMtZGx4LmMKaW5kZXggYTYyOTUzMy4uZDNjYjE1 YiAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1kbHguYworKysgYi9nYXMv Y29uZmlnL3RjLWRseC5jCkBAIC02MSw3ICs2MSw3IEBAIHRoZV9pbnNuOwog CiAvKiBUaGlzIGFycmF5IGhvbGRzIHRoZSBjaGFycyB0aGF0IGFsd2F5cyBz dGFydCBhIGNvbW1lbnQuICBJZiB0aGUKICAgIHByZS1wcm9jZXNzb3IgaXMg ZGlzYWJsZWQsIHRoZXNlIGFyZW4ndCB2ZXJ5IHVzZWZ1bC4gICovCi1jb25z dCBjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICI7IjsKK2NoYXIgY29tbWVudF9j aGFyc1tdID0gIjsiOwogCiAvKiBUaGlzIGFycmF5IGhvbGRzIHRoZSBjaGFy cyB0aGF0IG9ubHkgc3RhcnQgYSBjb21tZW50IGF0IHRoZSBiZWdpbm5pbmcg b2YKICAgIGEgbGluZS4gIElmIHRoZSBsaW5lIHNlZW1zIHRvIGhhdmUgdGhl IGZvcm0gJyMgMTIzIGZpbGVuYW1lJwpAQCAtNzAsMTEgKzcwLDExIEBAIGNv bnN0IGNoYXIgY29tbWVudF9jaGFyc1tdID0gIjsiOwogICAgZmlyc3QgbGlu ZSBvZiB0aGUgaW5wdXQgZmlsZS4gIFRoaXMgaXMgYmVjYXVzZSB0aGUgY29t cGlsZXIgb3V0cHV0cwogICAgI05PX0FQUCBhdCB0aGUgYmVnaW5uaW5nIG9m IGl0cyBvdXRwdXQuICAqLwogLyogQWxzbyBub3RlIHRoYXQgY29tbWVudHMg bGlrZSB0aGlzIG9uZSB3aWxsIGFsd2F5cyB3b3JrLiAgKi8KLWNvbnN0IGNo YXIgbGluZV9jb21tZW50X2NoYXJzW10gPSAiIyI7CitjaGFyIGxpbmVfY29t bWVudF9jaGFyc1tdID0gIiMiOwogCiAvKiBXZSBuZWVkZWQgYW4gdW51c2Vk IGNoYXIgZm9yIGxpbmUgc2VwYXJhdGlvbiB0byB3b3JrIGFyb3VuZCB0aGUK ICAgIGxhY2sgb2YgbWFjcm9zLCB1c2luZyBzZWQgYW5kIHN1Y2guICAqLwot Y29uc3QgY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIkAiOworY2hh ciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIkAiOwogCiAvKiBDaGFycyB0 aGF0IGNhbiBiZSB1c2VkIHRvIHNlcGFyYXRlIG1hbnQgZnJvbSBleHAgaW4g ZmxvYXRpbmcgcG9pbnQgbnVtcy4gICovCiBjb25zdCBjaGFyIEVYUF9DSEFS U1tdID0gImVFIjsKZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtZXBpcGhh bnkuYyBiL2dhcy9jb25maWcvdGMtZXBpcGhhbnkuYwppbmRleCBkNDcyOTY4 Li5lZGNlYmZjIDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLWVwaXBoYW55 LmMKKysrIGIvZ2FzL2NvbmZpZy90Yy1lcGlwaGFueS5jCkBAIC01Miw5ICs1 Miw5IEBAIHR5cGVkZWYgc3RydWN0CiB9CiBlcGlwaGFueV9pbnNuOwogCi1j b25zdCBjaGFyIGNvbW1lbnRfY2hhcnNbXSAgICAgICAgPSAiOyI7Ci1jb25z dCBjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdICAgPSAiIyI7Ci1jb25zdCBj aGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiYCI7CitjaGFyIGNvbW1l bnRfY2hhcnNbXSAgICAgICAgICAgICAgPSAiOyI7CitjaGFyIGxpbmVfY29t bWVudF9jaGFyc1tdICAgICAgICAgPSAiIyI7CitjaGFyIGxpbmVfc2VwYXJh dG9yX2NoYXJzW10gICAgICAgPSAiYCI7CiBjb25zdCBjaGFyIEVYUF9DSEFS U1tdICAgICAgICAgICAgPSAiZUUiOwogY29uc3QgY2hhciBGTFRfQ0hBUlNb XSAgICAgICAgICAgID0gImZGZEQiOwogCmRpZmYgLS1naXQgYS9nYXMvY29u ZmlnL3RjLWZyMzAuYyBiL2dhcy9jb25maWcvdGMtZnIzMC5jCmluZGV4IDhl MDFmYjIuLmIwZWI2Y2MgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtZnIz MC5jCisrKyBiL2dhcy9jb25maWcvdGMtZnIzMC5jCkBAIC00OSw5ICs0OSw5 IEBAIHR5cGVkZWYgc3RydWN0CiB9CiBmcjMwX2luc247CiAKLWNvbnN0IGNo YXIgY29tbWVudF9jaGFyc1tdICAgICAgICA9ICI7IjsKLWNvbnN0IGNoYXIg bGluZV9jb21tZW50X2NoYXJzW10gICA9ICIjIjsKLWNvbnN0IGNoYXIgbGlu ZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICJ8IjsKK2NoYXIgY29tbWVudF9jaGFy c1tdICAgICAgICAgICAgICA9ICI7IjsKK2NoYXIgbGluZV9jb21tZW50X2No YXJzW10gICAgICAgICA9ICIjIjsKK2NoYXIgbGluZV9zZXBhcmF0b3JfY2hh cnNbXSAgICAgICA9ICJ8IjsKIGNvbnN0IGNoYXIgRVhQX0NIQVJTW10gICAg ICAgICAgICA9ICJlRSI7CiBjb25zdCBjaGFyIEZMVF9DSEFSU1tdICAgICAg ICAgICAgPSAiZEQiOwogDApkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1m cnYuYyBiL2dhcy9jb25maWcvdGMtZnJ2LmMKaW5kZXggOWNkYmUyNi4uMGU1 NWNmNSAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1mcnYuYworKysgYi9n YXMvY29uZmlnL3RjLWZydi5jCkBAIC0xMTQsMTEgKzExNCwxMSBAQCBzdGF0 aWMgc3RydWN0IHZsaXdfY2hhaW4JKmN1cnJlbnRfdmxpd19jaGFpbjsKIHN0 YXRpYyBzdHJ1Y3Qgdmxpd19jaGFpbgkqcHJldmlvdXNfdmxpd19jaGFpbjsK IHN0YXRpYyBzdHJ1Y3Qgdmxpd19pbnNuX2xpc3QJKmN1cnJlbnRfdmxpd19p bnNuOwogCi1jb25zdCBjaGFyIGNvbW1lbnRfY2hhcnNbXSAgICAgICAgPSAi OyI7Ci1jb25zdCBjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdICAgPSAiIyI7 Ci1jb25zdCBjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiISI7IAot Y29uc3QgY2hhciBFWFBfQ0hBUlNbXSAgICAgICAgICAgID0gImVFIjsKLWNv bnN0IGNoYXIgRkxUX0NIQVJTW10gICAgICAgICAgICA9ICJkRCI7CitjaGFy IGNvbW1lbnRfY2hhcnNbXSAgICAgICAgPSAiOyI7CitjaGFyIGxpbmVfY29t bWVudF9jaGFyc1tdICAgPSAiIyI7CitjaGFyIGxpbmVfc2VwYXJhdG9yX2No YXJzW10gPSAiISI7IAorY29uc3QgY2hhciBFWFBfQ0hBUlNbXSAgICAgID0g ImVFIjsKK2NvbnN0IGNoYXIgRkxUX0NIQVJTW10gICAgICA9ICJkRCI7CiAK IHN0YXRpYyBGUlZfVkxJVyB2bGl3OwogCmRpZmYgLS1naXQgYS9nYXMvY29u ZmlnL3RjLWg4MzAwLmMgYi9nYXMvY29uZmlnL3RjLWg4MzAwLmMKaW5kZXgg MDMyODMxYi4uMmY4MDM5OCAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1o ODMwMC5jCisrKyBiL2dhcy9jb25maWcvdGMtaDgzMDAuYwpAQCAtMzMsOSAr MzMsOSBAQAogI2luY2x1ZGUgImVsZi9oOC5oIgogI2VuZGlmCiAKLWNvbnN0 IGNoYXIgY29tbWVudF9jaGFyc1tdID0gIjsiOwotY29uc3QgY2hhciBsaW5l X2NvbW1lbnRfY2hhcnNbXSA9ICIjIjsKLWNvbnN0IGNoYXIgbGluZV9zZXBh cmF0b3JfY2hhcnNbXSA9ICIiOworY2hhciBjb21tZW50X2NoYXJzW10gPSAi OyI7CitjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0gIiMiOworY2hhciBs aW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIiI7CiAKIHN0YXRpYyB2b2lkIHNi cmFuY2ggKGludCk7CiBzdGF0aWMgdm9pZCBoODMwMGhtb2RlIChpbnQpOwpk aWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1ocHBhLmMgYi9nYXMvY29uZmln L3RjLWhwcGEuYwppbmRleCA2ZTJkZWJlLi4xNGNiN2MwIDEwMDY0NAotLS0g YS9nYXMvY29uZmlnL3RjLWhwcGEuYworKysgYi9nYXMvY29uZmlnL3RjLWhw cGEuYwpAQCAtNTY4LDE0ICs1NjgsMTQgQEAgY29uc3QgY2hhciBocHBhX3N5 bWJvbF9jaGFyc1tdID0gIio/PTw+IjsKICAgICNOT19BUFAgYXQgdGhlIGJl Z2lubmluZyBvZiBpdHMgb3V0cHV0LgogCiAgICBBbHNvIG5vdGUgdGhhdCBD IHN0eWxlIGNvbW1lbnRzIHdpbGwgYWx3YXlzIHdvcmsuICAqLwotY29uc3Qg Y2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIjIjsKK2NoYXIgbGluZV9j b21tZW50X2NoYXJzW10gPSAiIyI7CiAKIC8qIFRoaXMgYXJyYXkgaG9sZHMg dGhlIGNoYXJzIHRoYXQgYWx3YXlzIHN0YXJ0IGEgY29tbWVudC4gIElmIHRo ZQogICAgcHJlLXByb2Nlc3NvciBpcyBkaXNhYmxlZCwgdGhlc2UgYXJlbid0 IHZlcnkgdXNlZnVsLiAgKi8KLWNvbnN0IGNoYXIgY29tbWVudF9jaGFyc1td ID0gIjsiOworY2hhciBjb21tZW50X2NoYXJzW10gPSAiOyI7CiAKIC8qIFRo aXMgYXJyYXkgaG9sZHMgdGhlIGNoYXJhY3RlcnMgd2hpY2ggYWN0IGFzIGxp bmUgc2VwYXJhdG9ycy4gICovCi1jb25zdCBjaGFyIGxpbmVfc2VwYXJhdG9y X2NoYXJzW10gPSAiISI7CitjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10g PSAiISI7CiAKIC8qIENoYXJzIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VwYXJh dGUgbWFudCBmcm9tIGV4cCBpbiBmbG9hdGluZyBwb2ludCBudW1zLiAgKi8K IGNvbnN0IGNoYXIgRVhQX0NIQVJTW10gPSAiZUUiOwpkaWZmIC0tZ2l0IGEv Z2FzL2NvbmZpZy90Yy1pMzcwLmMgYi9nYXMvY29uZmlnL3RjLWkzNzAuYwpp bmRleCBiZjM2MmEzLi4wYjcwNmMyIDEwMDY0NAotLS0gYS9nYXMvY29uZmln L3RjLWkzNzAuYworKysgYi9nYXMvY29uZmlnL3RjLWkzNzAuYwpAQCAtNTYs MTUgKzU2LDE1IEBAIHN0YXRpYyBjb25zdCBjaGFyIGkzNzBfZWFiaV9jb21t ZW50X2NoYXJzW10gPSAiIyI7CiAKIGNvbnN0IGNoYXIgKmkzNzBfY29tbWVu dF9jaGFycyA9IGkzNzBfZWFiaV9jb21tZW50X2NoYXJzOwogI2Vsc2UKLWNv bnN0IGNoYXIgY29tbWVudF9jaGFyc1tdID0gIiMiOworY2hhciBjb21tZW50 X2NoYXJzW10gPSAiIyI7CiAjZW5kaWYKIAogLyogQ2hhcmFjdGVycyB3aGlj aCBzdGFydCBhIGNvbW1lbnQgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUu ICAqLwotY29uc3QgY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIjKiI7 CitjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0gIiMqIjsKIAogLyogQ2hh cmFjdGVycyB3aGljaCBtYXkgYmUgdXNlZCB0byBzZXBhcmF0ZSBtdWx0aXBs ZSBjb21tYW5kcyBvbiBhCiAgICBzaW5nbGUgbGluZS4gICovCi1jb25zdCBj aGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiOyI7CitjaGFyIGxpbmVf c2VwYXJhdG9yX2NoYXJzW10gPSAiOyI7CiAKIC8qIENoYXJhY3RlcnMgd2hp Y2ggYXJlIHVzZWQgdG8gaW5kaWNhdGUgYW4gZXhwb25lbnQgaW4gYSBmbG9h dGluZwogICAgcG9pbnQgbnVtYmVyLiAgKi8KZGlmZiAtLWdpdCBhL2dhcy9j b25maWcvdGMtaTM4Ni5jIGIvZ2FzL2NvbmZpZy90Yy1pMzg2LmMKaW5kZXgg ZTYzMTNjZi4uNDUzYTUyMiAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1p Mzg2LmMKKysrIGIvZ2FzL2NvbmZpZy90Yy1pMzg2LmMKQEAgLTQzMyw5ICs0 MzMsOSBAQCBjb25zdCBjaGFyICppMzg2X2NvbW1lbnRfY2hhcnMgPSAiIyI7 CiAgICAjTk9fQVBQIGF0IHRoZSBiZWdpbm5pbmcgb2YgaXRzIG91dHB1dC4K ICAgIEFsc28gbm90ZSB0aGF0IGNvbW1lbnRzIHN0YXJ0ZWQgbGlrZSB0aGlz IG9uZSB3aWxsIGFsd2F5cyB3b3JrIGlmCiAgICAnLycgaXNuJ3Qgb3RoZXJ3 aXNlIGRlZmluZWQuICAqLwotY29uc3QgY2hhciBsaW5lX2NvbW1lbnRfY2hh cnNbXSA9ICIjLyI7CitjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0gIiMv IjsKIAotY29uc3QgY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIjsi OworY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIjsiOwogCiAvKiBD aGFycyB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlcGFyYXRlIG1hbnQgZnJvbSBl eHAgaW4gZmxvYXRpbmcgcG9pbnQKICAgIG51bXMuICAqLwpkaWZmIC0tZ2l0 IGEvZ2FzL2NvbmZpZy90Yy1pODYwLmMgYi9nYXMvY29uZmlnL3RjLWk4NjAu YwppbmRleCAzMmFlZDBmLi45NDFkYzY4IDEwMDY0NAotLS0gYS9nYXMvY29u ZmlnL3RjLWk4NjAuYworKysgYi9nYXMvY29uZmlnL3RjLWk4NjAuYwpAQCAt MzIsMTIgKzMyLDEyIEBACiBzdGF0aWMgc3RydWN0IGhhc2hfY29udHJvbCAq b3BfaGFzaCA9IE5VTEw7CiAKIC8qIFRoZXNlIGNoYXJhY3RlcnMgYWx3YXlz IHN0YXJ0IGEgY29tbWVudC4gICovCi1jb25zdCBjaGFyIGNvbW1lbnRfY2hh cnNbXSA9ICIjIS8iOworY2hhciBjb21tZW50X2NoYXJzW10gPSAiIyEvIjsK IAogLyogVGhlc2UgY2hhcmFjdGVycyBzdGFydCBhIGNvbW1lbnQgYXQgdGhl IGJlZ2lubmluZyBvZiBhIGxpbmUuICAqLwotY29uc3QgY2hhciBsaW5lX2Nv bW1lbnRfY2hhcnNbXSA9ICIjLyI7CitjaGFyIGxpbmVfY29tbWVudF9jaGFy c1tdID0gIiMvIjsKIAotY29uc3QgY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFy c1tdID0gIjsiOworY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIjsi OwogCiAvKiBDaGFyYWN0ZXJzIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VwYXJh dGUgdGhlIG1hbnRpc3NhIGZyb20gdGhlIGV4cG9uZW50CiAgICBpbiBmbG9h dGluZyBwb2ludCBudW1iZXJzLiAgKi8KZGlmZiAtLWdpdCBhL2dhcy9jb25m aWcvdGMtaTk2MC5jIGIvZ2FzL2NvbmZpZy90Yy1pOTYwLmMKaW5kZXggNDQ2 NjRkZi4uNjJkMGVmZSAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1pOTYw LmMKKysrIGIvZ2FzL2NvbmZpZy90Yy1pOTYwLmMKQEAgLTEzMSw3ICsxMzEs NyBAQCBzdGF0aWMgY2hhciBpbnN0cnVtZW50X2JyYW5jaGVzOwkvKiBUcnVl IGlmIC1iIHN3aXRjaCBzZWVuLiAgKi8KIAogLyogQ2hhcmFjdGVycyB0aGF0 IGFsd2F5cyBzdGFydCBhIGNvbW1lbnQuCiAgICBJZiB0aGUgcHJlLXByb2Nl c3NvciBpcyBkaXNhYmxlZCwgdGhlc2UgYXJlbid0IHZlcnkgdXNlZnVsLiAg Ki8KLWNvbnN0IGNoYXIgY29tbWVudF9jaGFyc1tdID0gIiMiOworY2hhciBj b21tZW50X2NoYXJzW10gPSAiIyI7CiAKIC8qIENoYXJhY3RlcnMgdGhhdCBv bmx5IHN0YXJ0IGEgY29tbWVudCBhdCB0aGUgYmVnaW5uaW5nIG9mCiAgICBh IGxpbmUuICBJZiB0aGUgbGluZSBzZWVtcyB0byBoYXZlIHRoZSBmb3JtICcj IDEyMyBmaWxlbmFtZScKQEAgLTE0Myw4ICsxNDMsOCBAQCBjb25zdCBjaGFy IGNvbW1lbnRfY2hhcnNbXSA9ICIjIjsKIAogLyogQWxzbyBub3RlIHRoYXQg Y29tbWVudHMgc3RhcnRlZCBsaWtlIHRoaXMgb25lIHdpbGwgYWx3YXlzIHdv cmsuICAqLwogCi1jb25zdCBjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdICAg PSAiIyI7Ci1jb25zdCBjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAi OyI7CitjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdICAgPSAiIyI7CitjaGFy IGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiOyI7CiAKIC8qIENoYXJzIHRo YXQgY2FuIGJlIHVzZWQgdG8gc2VwYXJhdGUgbWFudCBmcm9tIGV4cCBpbiBm bG9hdGluZyBwb2ludCBudW1zLiAgKi8KIGNvbnN0IGNoYXIgRVhQX0NIQVJT W10gPSAiZUUiOwpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1pYTY0LmMg Yi9nYXMvY29uZmlnL3RjLWlhNjQuYwppbmRleCBiOGZmZTRlLi42ZWQ2ZTY3 IDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLWlhNjQuYworKysgYi9nYXMv Y29uZmlnL3RjLWlhNjQuYwpAQCAtMTk1LDE0ICsxOTUsMTQgQEAgc3RhdGlj IHN0cnVjdCBoYXNoX2NvbnRyb2wgKnNlY2FsaWFzX25hbWVfaGFzaDsKIGNv bnN0IGNoYXIgaWE2NF9zeW1ib2xfY2hhcnNbXSA9ICJAPyI7CiAKIC8qIENo YXJhY3RlcnMgd2hpY2ggYWx3YXlzIHN0YXJ0IGEgY29tbWVudC4gICovCi1j b25zdCBjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICIiOworY2hhciBjb21tZW50 X2NoYXJzW10gPSAiIjsKIAogLyogQ2hhcmFjdGVycyB3aGljaCBzdGFydCBh IGNvbW1lbnQgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUuICAqLwotY29u c3QgY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIjIjsKK2NoYXIgbGlu ZV9jb21tZW50X2NoYXJzW10gPSAiIyI7CiAKIC8qIENoYXJhY3RlcnMgd2hp Y2ggbWF5IGJlIHVzZWQgdG8gc2VwYXJhdGUgbXVsdGlwbGUgY29tbWFuZHMg b24gYQogICAgc2luZ2xlIGxpbmUuICAqLwotY29uc3QgY2hhciBsaW5lX3Nl cGFyYXRvcl9jaGFyc1tdID0gIjt7fSI7CitjaGFyIGxpbmVfc2VwYXJhdG9y X2NoYXJzW10gPSAiO3t9IjsKIAogLyogQ2hhcmFjdGVycyB3aGljaCBhcmUg dXNlZCB0byBpbmRpY2F0ZSBhbiBleHBvbmVudCBpbiBhIGZsb2F0aW5nCiAg ICBwb2ludCBudW1iZXIuICAqLwpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90 Yy1pcDJrLmMgYi9nYXMvY29uZmlnL3RjLWlwMmsuYwppbmRleCAzODM2Y2M5 Li42OWI2MTI0IDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLWlwMmsuYwor KysgYi9nYXMvY29uZmlnL3RjLWlwMmsuYwpAQCAtNTEsMTEgKzUxLDExIEBA IHR5cGVkZWYgc3RydWN0CiB9CiBpcDJrX2luc247CiAKLWNvbnN0IGNoYXIg Y29tbWVudF9jaGFyc1tdICAgICAgICA9ICI7IjsKLWNvbnN0IGNoYXIgbGlu ZV9jb21tZW50X2NoYXJzW10gICA9ICIjIjsKLWNvbnN0IGNoYXIgbGluZV9z ZXBhcmF0b3JfY2hhcnNbXSA9ICIiOyAKLWNvbnN0IGNoYXIgRVhQX0NIQVJT W10gICAgICAgICAgICA9ICJlRSI7Ci1jb25zdCBjaGFyIEZMVF9DSEFSU1td ICAgICAgICAgICAgPSAiZEQiOworY2hhciBjb21tZW50X2NoYXJzW10gICAg ICAgID0gIjsiOworY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSAgID0gIiMi OworY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIiI7IAorY29uc3Qg Y2hhciBFWFBfQ0hBUlNbXSAgICAgID0gImVFIjsKK2NvbnN0IGNoYXIgRkxU X0NIQVJTW10gICAgICA9ICJkRCI7CiAKIC8qIEZsYWcgdG8gZGV0ZWN0IHdo ZW4gc3dpdGNoaW5nIHRvIGNvZGUgc2VjdGlvbiB3aGVyZSBpbnNuIGFsaWdu bWVudCBpcwogICAgaW1wbGllZC4gICovCmRpZmYgLS1naXQgYS9nYXMvY29u ZmlnL3RjLWlxMjAwMC5jIGIvZ2FzL2NvbmZpZy90Yy1pcTIwMDAuYwppbmRl eCBlOGVkMjFkLi42ZGI0YTg2IDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3Rj LWlxMjAwMC5jCisrKyBiL2dhcy9jb25maWcvdGMtaXEyMDAwLmMKQEAgLTU0 LDExICs1NCwxMSBAQCB0eXBlZGVmIHN0cnVjdAogfQogaXEyMDAwX2luc247 CiAKLWNvbnN0IGNoYXIgY29tbWVudF9jaGFyc1tdICAgICAgICA9ICIjIjsK LWNvbnN0IGNoYXIgbGluZV9jb21tZW50X2NoYXJzW10gICA9ICIjIjsKLWNv bnN0IGNoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsKLWNvbnN0 IGNoYXIgRVhQX0NIQVJTW10gICAgICAgICAgICA9ICJlRSI7Ci1jb25zdCBj aGFyIEZMVF9DSEFSU1tdICAgICAgICAgICAgPSAiZEQiOworY2hhciBjb21t ZW50X2NoYXJzW10gICAgICAgID0gIiMiOworY2hhciBsaW5lX2NvbW1lbnRf Y2hhcnNbXSAgID0gIiMiOworY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1td ID0gIjsiOworY29uc3QgY2hhciBFWFBfQ0hBUlNbXSAgICAgID0gImVFIjsK K2NvbnN0IGNoYXIgRkxUX0NIQVJTW10gICAgICA9ICJkRCI7CiAKIC8qIERl ZmF1bHQgbWFjaGluZS4gICovCiAjZGVmaW5lIERFRkFVTFRfTUFDSElORSBi ZmRfbWFjaF9pcTIwMDAKZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtbG0z Mi5jIGIvZ2FzL2NvbmZpZy90Yy1sbTMyLmMKaW5kZXggODhmZmFiYi4uZjU4 YjFlZiAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1sbTMyLmMKKysrIGIv Z2FzL2NvbmZpZy90Yy1sbTMyLmMKQEAgLTY1LDExICs2NSwxMSBAQCBzdGF0 aWMgdW5zaWduZWQgY29uZmlnID0gMFU7CiAKIC8qIFRhcmdldCBzcGVjaWZp YyBhc3NlbWJsZXIgdG9rZW5zIC8gZGVsaW1pdGVycy4gICovCiAKLWNvbnN0 IGNoYXIgY29tbWVudF9jaGFyc1tdICAgICAgICA9ICIjIjsKLWNvbnN0IGNo YXIgbGluZV9jb21tZW50X2NoYXJzW10gICA9ICIjIjsKLWNvbnN0IGNoYXIg bGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsKLWNvbnN0IGNoYXIgRVhQ X0NIQVJTW10gICAgICAgICAgICA9ICJlRSI7Ci1jb25zdCBjaGFyIEZMVF9D SEFSU1tdICAgICAgICAgICAgPSAiZEQiOworY2hhciBjb21tZW50X2NoYXJz W10gICAgICAgID0gIiMiOworY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSAg ID0gIiMiOworY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIjsiOwor Y29uc3QgY2hhciBFWFBfQ0hBUlNbXSAgICAgID0gImVFIjsKK2NvbnN0IGNo YXIgRkxUX0NIQVJTW10gICAgICA9ICJkRCI7CiAKIC8qIFRhcmdldCBzcGVj aWZpYyBhc3NlbWJseSBkaXJlY3RpdmVzLiAgKi8KIApkaWZmIC0tZ2l0IGEv Z2FzL2NvbmZpZy90Yy1tMzJjLmMgYi9nYXMvY29uZmlnL3RjLW0zMmMuYwpp bmRleCA5YzUyM2UyLi42NGNmODQ5IDEwMDY0NAotLS0gYS9nYXMvY29uZmln L3RjLW0zMmMuYworKysgYi9nYXMvY29uZmlnL3RjLW0zMmMuYwpAQCAtNTUs MTEgKzU1LDExIEBAIG0zMmNfaW5zbjsKICNkZWZpbmUgcmxfZm9yKF9pbnNu KSAoQ0dFTl9BVFRSX0NHRU5fSU5TTl9STF9UWVBFX1ZBTFVFICgmKChfaW5z bikuaW5zbi0+YmFzZS0+YXR0cnMpKSkKICNkZWZpbmUgcmVsYXhhYmxlKF9p bnNuKSAoQ0dFTl9BVFRSX0NHRU5fSU5TTl9SRUxBWEFCTEVfVkFMVUUgKCYo KF9pbnNuKS5pbnNuLT5iYXNlLT5hdHRycykpKQogCi1jb25zdCBjaGFyIGNv bW1lbnRfY2hhcnNbXSAgICAgICAgPSAiOyI7Ci1jb25zdCBjaGFyIGxpbmVf Y29tbWVudF9jaGFyc1tdICAgPSAiIyI7Ci1jb25zdCBjaGFyIGxpbmVfc2Vw YXJhdG9yX2NoYXJzW10gPSAifCI7Ci1jb25zdCBjaGFyIEVYUF9DSEFSU1td ICAgICAgICAgICAgPSAiZUUiOwotY29uc3QgY2hhciBGTFRfQ0hBUlNbXSAg ICAgICAgICAgID0gImREIjsKK2NoYXIgY29tbWVudF9jaGFyc1tdICAgICAg ICA9ICI7IjsKK2NoYXIgbGluZV9jb21tZW50X2NoYXJzW10gICA9ICIjIjsK K2NoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICJ8IjsKK2NvbnN0IGNo YXIgRVhQX0NIQVJTW10gICAgICA9ICJlRSI7Citjb25zdCBjaGFyIEZMVF9D SEFSU1tdICAgICAgPSAiZEQiOwogDAogI2RlZmluZSBNMzJDX1NIT1JUT1BU UyAiIgogY29uc3QgY2hhciAqIG1kX3Nob3J0b3B0cyA9IE0zMkNfU0hPUlRP UFRTOwpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1tMzJyLmMgYi9nYXMv Y29uZmlnL3RjLW0zMnIuYwppbmRleCBjOGE2NTg0Li4yZjNmNTI2IDEwMDY0 NAotLS0gYS9nYXMvY29uZmlnL3RjLW0zMnIuYworKysgYi9nYXMvY29uZmln L3RjLW0zMnIuYwpAQCAtMTMyLDExICsxMzIsMTEgQEAgc3RhdGljIHNlZ1Qg ICAgIHNic3Nfc2VjdGlvbjsKIHN0YXRpYyBhc2VjdGlvbiBzY29tX3NlY3Rp b247CiBzdGF0aWMgYXN5bWJvbCAgc2NvbV9zeW1ib2w7CiAKLWNvbnN0IGNo YXIgY29tbWVudF9jaGFyc1tdICAgICAgICA9ICI7IjsKLWNvbnN0IGNoYXIg bGluZV9jb21tZW50X2NoYXJzW10gICA9ICIjIjsKLWNvbnN0IGNoYXIgbGlu ZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICIhIjsKLWNvbnN0IGNoYXIgRVhQX0NI QVJTW10gICAgICAgICAgICA9ICJlRSI7Ci1jb25zdCBjaGFyIEZMVF9DSEFS U1tdICAgICAgICAgICAgPSAiZEQiOworY2hhciBjb21tZW50X2NoYXJzW10g ICAgICAgID0gIjsiOworY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSAgID0g IiMiOworY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIiEiOworY29u c3QgY2hhciBFWFBfQ0hBUlNbXSAgICAgID0gImVFIjsKK2NvbnN0IGNoYXIg RkxUX0NIQVJTW10gICAgICA9ICJkRCI7CiAKIC8qIFJlbG9jYXRpb25zIGFn YWluc3Qgc3ltYm9scyBhcmUgZG9uZSBpbiB0d28KICAgIHBhcnRzLCB3aXRo IGEgSEkgcmVsb2NhdGlvbiBhbmQgYSBMTyByZWxvY2F0aW9uLiAgRWFjaCBy ZWxvY2F0aW9uCmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLW02OGhjMTEu YyBiL2dhcy9jb25maWcvdGMtbTY4aGMxMS5jCmluZGV4IDMxODkxMjEuLjU1 MjM1YmYgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtbTY4aGMxMS5jCisr KyBiL2dhcy9jb25maWcvdGMtbTY4aGMxMS5jCkBAIC0yOSw5ICsyOSw5IEBA CiAjaW5jbHVkZSAiZHdhcmYyZGJnLmgiCiAjaW5jbHVkZSAiZWxmL202OGhj MTEuaCIKIAotY29uc3QgY2hhciBjb21tZW50X2NoYXJzW10gPSAiOyEiOwot Y29uc3QgY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIjKiI7Ci1jb25z dCBjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiIjsKK2NoYXIgY29t bWVudF9jaGFyc1tdID0gIjshIjsKK2NoYXIgbGluZV9jb21tZW50X2NoYXJz W10gPSAiIyoiOworY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIiI7 CiAKIGNvbnN0IGNoYXIgRVhQX0NIQVJTW10gPSAiZUUiOwogY29uc3QgY2hh ciBGTFRfQ0hBUlNbXSA9ICJkRCI7CmRpZmYgLS1naXQgYS9nYXMvY29uZmln L3RjLW02OGsuYyBiL2dhcy9jb25maWcvdGMtbTY4ay5jCmluZGV4IGQxNmI1 ZDkuLjY2ODIwOGUgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtbTY4ay5j CisrKyBiL2dhcy9jb25maWcvdGMtbTY4ay5jCkBAIC01OSw5ICs1OSw5IEBA IGNvbnN0IGNoYXIgKm02OGtfY29tbWVudF9jaGFycyA9ICJ8IjsKICAgIGZp cnN0IGxpbmUgb2YgdGhlIGlucHV0IGZpbGUuICBUaGlzIGlzIGJlY2F1c2Ug dGhlIGNvbXBpbGVyIG91dHB1dHMKICAgICNOT19BUFAgYXQgdGhlIGJlZ2lu bmluZyBvZiBpdHMgb3V0cHV0LiAgKi8KIC8qIEFsc28gbm90ZSB0aGF0IGNv bW1lbnRzIGxpa2UgdGhpcyBvbmUgd2lsbCBhbHdheXMgd29yay4gICovCi1j b25zdCBjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0gIiMqIjsKK2NoYXIg bGluZV9jb21tZW50X2NoYXJzW10gPSAiIyoiOwogCi1jb25zdCBjaGFyIGxp bmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiOyI7CitjaGFyIGxpbmVfc2VwYXJh dG9yX2NoYXJzW10gPSAiOyI7CiAKIC8qIENoYXJzIHRoYXQgY2FuIGJlIHVz ZWQgdG8gc2VwYXJhdGUgbWFudCBmcm9tIGV4cCBpbiBmbG9hdGluZyBwb2lu dCBudW1zLiAgKi8KIGNvbnN0IGNoYXIgRVhQX0NIQVJTW10gPSAiZUUiOwpk aWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1tY29yZS5jIGIvZ2FzL2NvbmZp Zy90Yy1tY29yZS5jCmluZGV4IDA0Y2YzMzYuLjJkNmE3YzMgMTAwNjQ0Ci0t LSBhL2dhcy9jb25maWcvdGMtbWNvcmUuYworKysgYi9nYXMvY29uZmlnL3Rj LW1jb3JlLmMKQEAgLTQyLDkgKzQyLDkgQEAKICNkZWZpbmUJSU5TVF9CWVRF MCh4KSAgKHRhcmdldF9iaWdfZW5kaWFuID8gKCgoeCkgPj4gOCkgJiAweEZG KSA6ICgoeCkgJiAweEZGKSkKICNkZWZpbmUJSU5TVF9CWVRFMSh4KSAgKHRh cmdldF9iaWdfZW5kaWFuID8gKCh4KSAmIDB4RkYpIDogKCgoeCkgPj4gOCkg JiAweEZGKSkKIAotY29uc3QgY2hhciBjb21tZW50X2NoYXJzW10gPSAiIy8i OwotY29uc3QgY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIjsiOwot Y29uc3QgY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIjLyI7CitjaGFy IGNvbW1lbnRfY2hhcnNbXSA9ICIjLyI7CitjaGFyIGxpbmVfc2VwYXJhdG9y X2NoYXJzW10gPSAiOyI7CitjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0g IiMvIjsKIAogc3RhdGljIGludCBkb19qc3JpMmJzciA9IDA7CS8qIENoYW5n ZSBoZXJlIGZyb20gMSBieSBDcnVlc3MgMTkgQXVndXN0IDk3LiAgKi8KIHN0 YXRpYyBpbnQgc2lmaWx0ZXJfbW9kZSA9IDA7CmRpZmYgLS1naXQgYS9nYXMv Y29uZmlnL3RjLW1lcC5jIGIvZ2FzL2NvbmZpZy90Yy1tZXAuYwppbmRleCAz NzdlNGMzLi4zNjI5ZTZhIDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLW1l cC5jCisrKyBiL2dhcy9jb25maWcvdGMtbWVwLmMKQEAgLTY1LDExICs2NSwx MSBAQCBzdGF0aWMgaW50IG1lcF9jb3AgPSBFRl9NRVBfQ09QX05PTkU7CiBz dGF0aWMgbWVwX2luc24gc2F2ZWRfaW5zbnNbTUFYX1NBVkVEX0ZJWFVQX0NI QUlOU107CiBzdGF0aWMgaW50IG51bV9pbnNuc19zYXZlZCA9IDA7CiAKLWNv bnN0IGNoYXIgY29tbWVudF9jaGFyc1tdICAgICAgICA9ICIjIjsKLWNvbnN0 IGNoYXIgbGluZV9jb21tZW50X2NoYXJzW10gICA9ICI7IyI7Ci1jb25zdCBj aGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiOyI7Ci1jb25zdCBjaGFy IEVYUF9DSEFSU1tdICAgICAgICAgICAgPSAiZUUiOwotY29uc3QgY2hhciBG TFRfQ0hBUlNbXSAgICAgICAgICAgID0gImREIjsKK2NoYXIgY29tbWVudF9j aGFyc1tdICAgICAgICA9ICIjIjsKK2NoYXIgbGluZV9jb21tZW50X2NoYXJz W10gICA9ICI7IyI7CitjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAi OyI7Citjb25zdCBjaGFyIEVYUF9DSEFSU1tdICAgICAgPSAiZUUiOworY29u c3QgY2hhciBGTFRfQ0hBUlNbXSAgICAgID0gImREIjsKIAogc3RhdGljIHZv aWQgbWVwX3N3aXRjaF90b192bGl3X21vZGUgKGludCk7CiBzdGF0aWMgdm9p ZCBtZXBfc3dpdGNoX3RvX2NvcmVfbW9kZSAoaW50KTsKZGlmZiAtLWdpdCBh L2dhcy9jb25maWcvdGMtbWV0YWcuYyBiL2dhcy9jb25maWcvdGMtbWV0YWcu YwppbmRleCBmNDJkMmYxLi4xM2I0NzcwIDEwMDY0NAotLS0gYS9nYXMvY29u ZmlnL3RjLW1ldGFnLmMKKysrIGIvZ2FzL2NvbmZpZy90Yy1tZXRhZy5jCkBA IC0zMCw5ICszMCw5IEBACiAKICNpbmNsdWRlICJvcGNvZGUvbWV0YWcuaCIK IAotY29uc3QgY2hhciBjb21tZW50X2NoYXJzW10gICAgICAgID0gIiEiOwot Y29uc3QgY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSAgID0gIiEjIjsKLWNv bnN0IGNoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsKK2NoYXIg Y29tbWVudF9jaGFyc1tdICAgICAgICA9ICIhIjsKK2NoYXIgbGluZV9jb21t ZW50X2NoYXJzW10gICA9ICIhIyI7CitjaGFyIGxpbmVfc2VwYXJhdG9yX2No YXJzW10gPSAiOyI7CiBjb25zdCBjaGFyIEZMVF9DSEFSU1tdICAgICAgICAg ICAgPSAiclJzU2ZGZER4WHBQIjsKIGNvbnN0IGNoYXIgRVhQX0NIQVJTW10g ICAgICAgICAgICA9ICJlRSI7CiBjb25zdCBjaGFyIG1ldGFnX3N5bWJvbF9j aGFyc1tdICAgPSAiWyI7CmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLW1p Y3JvYmxhemUuYyBiL2dhcy9jb25maWcvdGMtbWljcm9ibGF6ZS5jCmluZGV4 IDg3MjczN2IuLjZjYjc0NGQgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMt bWljcm9ibGF6ZS5jCisrKyBiL2dhcy9jb25maWcvdGMtbWljcm9ibGF6ZS5j CkBAIC01MiwxMyArNTIsMTMgQEAgc3RhdGljIGJmZF9ib29sZWFuIGNoZWNr X3NwbF9yZWcgKHVuc2lnbmVkICopOwogCiAvKiBUaGlzIGFycmF5IGhvbGRz IHRoZSBjaGFycyB0aGF0IGFsd2F5cyBzdGFydCBhIGNvbW1lbnQuICBJZiB0 aGUKICAgIHByZS1wcm9jZXNzb3IgaXMgZGlzYWJsZWQsIHRoZXNlIGFyZW4n dCB2ZXJ5IHVzZWZ1bC4gICovCi1jb25zdCBjaGFyIGNvbW1lbnRfY2hhcnNb XSA9ICIjIjsKK2NoYXIgY29tbWVudF9jaGFyc1tdID0gIiMiOwogCi1jb25z dCBjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiOyI7CitjaGFyIGxp bmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiOyI7CiAKIC8qIFRoaXMgYXJyYXkg aG9sZHMgdGhlIGNoYXJzIHRoYXQgb25seSBzdGFydCBhIGNvbW1lbnQgYXQg dGhlIGJlZ2lubmluZyBvZgogICAgYSBsaW5lLiAgKi8KLWNvbnN0IGNoYXIg bGluZV9jb21tZW50X2NoYXJzW10gPSAiIyI7CitjaGFyIGxpbmVfY29tbWVu dF9jaGFyc1tdID0gIiMiOwogCiBjb25zdCBpbnQgbWRfcmVsb2Nfc2l6ZSA9 IDg7IC8qIFNpemUgb2YgcmVsb2NhdGlvbiByZWNvcmQuICAqLwogCmRpZmYg LS1naXQgYS9nYXMvY29uZmlnL3RjLW1pcHMuYyBiL2dhcy9jb25maWcvdGMt bWlwcy5jCmluZGV4IDM0ZjFiZjAuLmFmYjIyZTggMTAwNjQ0Ci0tLSBhL2dh cy9jb25maWcvdGMtbWlwcy5jCisrKyBiL2dhcy9jb25maWcvdGMtbWlwcy5j CkBAIC02MDMsNyArNjAzLDcgQEAgc3RhdGljIHN0cnVjdCBoYXNoX2NvbnRy b2wgKm1pY3JvbWlwc19vcF9oYXNoID0gTlVMTDsKIAogLyogVGhpcyBhcnJh eSBob2xkcyB0aGUgY2hhcnMgdGhhdCBhbHdheXMgc3RhcnQgYSBjb21tZW50 LiAgSWYgdGhlCiAgICAgcHJlLXByb2Nlc3NvciBpcyBkaXNhYmxlZCwgdGhl c2UgYXJlbid0IHZlcnkgdXNlZnVsICovCi1jb25zdCBjaGFyIGNvbW1lbnRf Y2hhcnNbXSA9ICIjIjsKK2NoYXIgY29tbWVudF9jaGFyc1tdID0gIiMiOwog CiAvKiBUaGlzIGFycmF5IGhvbGRzIHRoZSBjaGFycyB0aGF0IG9ubHkgc3Rh cnQgYSBjb21tZW50IGF0IHRoZSBiZWdpbm5pbmcgb2YKICAgIGEgbGluZS4g IElmIHRoZSBsaW5lIHNlZW1zIHRvIGhhdmUgdGhlIGZvcm0gJyMgMTIzIGZp bGVuYW1lJwpAQCAtNjEyLDEwICs2MTIsMTAgQEAgY29uc3QgY2hhciBjb21t ZW50X2NoYXJzW10gPSAiIyI7CiAgICBmaXJzdCBsaW5lIG9mIHRoZSBpbnB1 dCBmaWxlLiAgVGhpcyBpcyBiZWNhdXNlIHRoZSBjb21waWxlciBvdXRwdXRz CiAgICAjTk9fQVBQIGF0IHRoZSBiZWdpbm5pbmcgb2YgaXRzIG91dHB1dC4g ICovCiAvKiBBbHNvIG5vdGUgdGhhdCBDIHN0eWxlIGNvbW1lbnRzIGFyZSBh bHdheXMgc3VwcG9ydGVkLiAgKi8KLWNvbnN0IGNoYXIgbGluZV9jb21tZW50 X2NoYXJzW10gPSAiIyI7CitjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0g IiMiOwogCiAvKiBUaGlzIGFycmF5IGhvbGRzIG1hY2hpbmUgc3BlY2lmaWMg bGluZSBzZXBhcmF0b3IgY2hhcmFjdGVycy4gICovCi1jb25zdCBjaGFyIGxp bmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiOyI7CitjaGFyIGxpbmVfc2VwYXJh dG9yX2NoYXJzW10gPSAiOyI7CiAKIC8qIENoYXJzIHRoYXQgY2FuIGJlIHVz ZWQgdG8gc2VwYXJhdGUgbWFudCBmcm9tIGV4cCBpbiBmbG9hdGluZyBwb2lu dCBudW1zICovCiBjb25zdCBjaGFyIEVYUF9DSEFSU1tdID0gImVFIjsKZGlm ZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtbW1peC5jIGIvZ2FzL2NvbmZpZy90 Yy1tbWl4LmMKaW5kZXggNzA1MmIxMS4uNjg4NTZkOSAxMDA2NDQKLS0tIGEv Z2FzL2NvbmZpZy90Yy1tbWl4LmMKKysrIGIvZ2FzL2NvbmZpZy90Yy1tbWl4 LmMKQEAgLTM5MSw5ICszOTEsOSBAQCBjb25zdCBjaGFyIG1taXhfY29tbWVu dF9jaGFyc1tdID0gIiUhIjsKICAgIGJlIHN0cmlwcGVkLiAgKi8KIGNvbnN0 IGNoYXIgbW1peF9zeW1ib2xfY2hhcnNbXSA9ICI6QCI7CiAKLWNvbnN0IGNo YXIgbGluZV9jb21tZW50X2NoYXJzW10gPSAiKiMiOworY2hhciBsaW5lX2Nv bW1lbnRfY2hhcnNbXSA9ICIqIyI7CiAKLWNvbnN0IGNoYXIgbGluZV9zZXBh cmF0b3JfY2hhcnNbXSA9ICI7IjsKK2NoYXIgbGluZV9zZXBhcmF0b3JfY2hh cnNbXSA9ICI7IjsKIAogY29uc3QgY2hhciBtbWl4X2V4cF9jaGFyc1tdID0g ImVFIjsKIApkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1tbjEwMjAwLmMg Yi9nYXMvY29uZmlnL3RjLW1uMTAyMDAuYwppbmRleCBlOWM3MGYyLi41MjY4 NDkzIDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLW1uMTAyMDAuYworKysg Yi9nYXMvY29uZmlnL3RjLW1uMTAyMDAuYwpAQCAtMzQsMTQgKzM0LDE0IEBA IHN0cnVjdCByZWdfbmFtZQogICAgdGFyZ2V0cy4gICovCiAKIC8qIENoYXJh Y3RlcnMgd2hpY2ggYWx3YXlzIHN0YXJ0IGEgY29tbWVudC4gICovCi1jb25z dCBjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICIjIjsKK2NoYXIgY29tbWVudF9j aGFyc1tdID0gIiMiOwogCiAvKiBDaGFyYWN0ZXJzIHdoaWNoIHN0YXJ0IGEg Y29tbWVudCBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZS4gICovCi1jb25z dCBjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0gIjsjIjsKK2NoYXIgbGlu ZV9jb21tZW50X2NoYXJzW10gPSAiOyMiOwogCiAvKiBDaGFyYWN0ZXJzIHdo aWNoIG1heSBiZSB1c2VkIHRvIHNlcGFyYXRlIG11bHRpcGxlIGNvbW1hbmRz IG9uIGEKICAgIHNpbmdsZSBsaW5lLiAgKi8KLWNvbnN0IGNoYXIgbGluZV9z ZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsKK2NoYXIgbGluZV9zZXBhcmF0b3Jf Y2hhcnNbXSA9ICI7IjsKIAogLyogQ2hhcmFjdGVycyB3aGljaCBhcmUgdXNl ZCB0byBpbmRpY2F0ZSBhbiBleHBvbmVudCBpbiBhIGZsb2F0aW5nCiAgICBw b2ludCBudW1iZXIuICAqLwpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1t bjEwMzAwLmMgYi9nYXMvY29uZmlnL3RjLW1uMTAzMDAuYwppbmRleCA0MDI5 YzY0Li42MjQ0NmY2IDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLW1uMTAz MDAuYworKysgYi9nYXMvY29uZmlnL3RjLW1uMTAzMDAuYwpAQCAtMzcsMTQg KzM3LDE0IEBAIHN0cnVjdCByZWdfbmFtZQogICAgdGFyZ2V0cy4gICovCiAK IC8qIENoYXJhY3RlcnMgd2hpY2ggYWx3YXlzIHN0YXJ0IGEgY29tbWVudC4g ICovCi1jb25zdCBjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICIjIjsKK2NoYXIg Y29tbWVudF9jaGFyc1tdID0gIiMiOwogCiAvKiBDaGFyYWN0ZXJzIHdoaWNo IHN0YXJ0IGEgY29tbWVudCBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZS4g ICovCi1jb25zdCBjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0gIjsjIjsK K2NoYXIgbGluZV9jb21tZW50X2NoYXJzW10gPSAiOyMiOwogCiAvKiBDaGFy YWN0ZXJzIHdoaWNoIG1heSBiZSB1c2VkIHRvIHNlcGFyYXRlIG11bHRpcGxl IGNvbW1hbmRzIG9uIGEKICAgIHNpbmdsZSBsaW5lLiAgKi8KLWNvbnN0IGNo YXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsKK2NoYXIgbGluZV9z ZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsKIAogLyogQ2hhcmFjdGVycyB3aGlj aCBhcmUgdXNlZCB0byBpbmRpY2F0ZSBhbiBleHBvbmVudCBpbiBhIGZsb2F0 aW5nCiAgICBwb2ludCBudW1iZXIuICAqLwpkaWZmIC0tZ2l0IGEvZ2FzL2Nv bmZpZy90Yy1tb3hpZS5jIGIvZ2FzL2NvbmZpZy90Yy1tb3hpZS5jCmluZGV4 IGZhOGFjZTUuLjk4YjJiYWYgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMt bW94aWUuYworKysgYi9nYXMvY29uZmlnL3RjLW1veGllLmMKQEAgLTI4LDkg KzI4LDkgQEAKIAogZXh0ZXJuIGNvbnN0IG1veGllX29wY19pbmZvX3QgbW94 aWVfb3BjX2luZm9bMTI4XTsKIAotY29uc3QgY2hhciBjb21tZW50X2NoYXJz W10gICAgICAgID0gIiMiOwotY29uc3QgY2hhciBsaW5lX3NlcGFyYXRvcl9j aGFyc1tdID0gIjsiOwotY29uc3QgY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNb XSAgID0gIiMiOworY2hhciBjb21tZW50X2NoYXJzW10gICAgICAgID0gIiMi OworY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIjsiOworY2hhciBs aW5lX2NvbW1lbnRfY2hhcnNbXSAgID0gIiMiOwogCiBzdGF0aWMgaW50IHBl bmRpbmdfcmVsb2M7CiBzdGF0aWMgc3RydWN0IGhhc2hfY29udHJvbCAqb3Bj b2RlX2hhc2hfY29udHJvbDsKZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMt bXNwNDMwLmMgYi9nYXMvY29uZmlnL3RjLW1zcDQzMC5jCmluZGV4IGE5YWEw ZWEuLjI2NGNiYTQgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtbXNwNDMw LmMKKysrIGIvZ2FzL2NvbmZpZy90Yy1tc3A0MzAuYwpAQCAtMTg4LDkgKzE4 OCw5IEBAIHN0YXRpYyBzdHJ1Y3QgaGNvZGVzX3MgbXNwNDMweF9oY29kZXNb XSA9CiAgIHswLDAsMCwwLDAsMCwwLDB9CiB9OwogCi1jb25zdCBjaGFyIGNv bW1lbnRfY2hhcnNbXSA9ICI7IjsKLWNvbnN0IGNoYXIgbGluZV9jb21tZW50 X2NoYXJzW10gPSAiIyI7Ci1jb25zdCBjaGFyIGxpbmVfc2VwYXJhdG9yX2No YXJzW10gPSAieyI7CitjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICI7IjsKK2No YXIgbGluZV9jb21tZW50X2NoYXJzW10gPSAiIyI7CitjaGFyIGxpbmVfc2Vw YXJhdG9yX2NoYXJzW10gPSAieyI7CiBjb25zdCBjaGFyIEVYUF9DSEFSU1td ID0gImVFIjsKIGNvbnN0IGNoYXIgRkxUX0NIQVJTW10gPSAiZEQiOwogCmRp ZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLW10LmMgYi9nYXMvY29uZmlnL3Rj LW10LmMKaW5kZXggNmU1NDc4Mi4uZGYwOTcwZSAxMDA2NDQKLS0tIGEvZ2Fz L2NvbmZpZy90Yy1tdC5jCisrKyBiL2dhcy9jb25maWcvdGMtbXQuYwpAQCAt NTIsMTEgKzUyLDExIEBAIHR5cGVkZWYgc3RydWN0CiBtdF9pbnNuOwogCiAK LWNvbnN0IGNoYXIgY29tbWVudF9jaGFyc1tdICAgICAgICA9ICI7IjsKLWNv bnN0IGNoYXIgbGluZV9jb21tZW50X2NoYXJzW10gICA9ICIjIjsKLWNvbnN0 IGNoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICIiOyAKLWNvbnN0IGNo YXIgRVhQX0NIQVJTW10gICAgICAgICAgICA9ICJlRSI7Ci1jb25zdCBjaGFy IEZMVF9DSEFSU1tdICAgICAgICAgICAgPSAiZEQiOworY2hhciBjb21tZW50 X2NoYXJzW10gICAgICAgID0gIjsiOworY2hhciBsaW5lX2NvbW1lbnRfY2hh cnNbXSAgID0gIiMiOworY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0g IiI7IAorY29uc3QgY2hhciBFWFBfQ0hBUlNbXSAgICAgID0gImVFIjsKK2Nv bnN0IGNoYXIgRkxUX0NIQVJTW10gICAgICA9ICJkRCI7CiAKIC8qIFRoZSB0 YXJnZXQgc3BlY2lmaWMgcHNldWRvLW9wcyB3aGljaCB3ZSBzdXBwb3J0LiAg Ki8KIGNvbnN0IHBzZXVkb190eXBlUyBtZF9wc2V1ZG9fdGFibGVbXSA9CmRp ZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLW5kczMyLmMgYi9nYXMvY29uZmln L3RjLW5kczMyLmMKaW5kZXggOTFmODg1NS4uODUzOTQyYSAxMDA2NDQKLS0t IGEvZ2FzL2NvbmZpZy90Yy1uZHMzMi5jCisrKyBiL2dhcy9jb25maWcvdGMt bmRzMzIuYwpAQCAtMzksMTEgKzM5LDExIEBACiAvKiBHQVMgZGVmaW5pdGlv bnMuICAqLwogCiAvKiBDaGFyYWN0ZXJzIHdoaWNoIHN0YXJ0IGEgY29tbWVu dC4gICovCi1jb25zdCBjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICIhIjsKK2No YXIgY29tbWVudF9jaGFyc1tdID0gIiEiOwogLyogQ2hhcmFjdGVycyB3aGlj aCBzdGFydCBhIGNvbW1lbnQgd2hlbiB0aGV5IGFwcGVhciBhdCB0aGUgc3Rh cnQgb2YgYSBsaW5lLiAgKi8KLWNvbnN0IGNoYXIgbGluZV9jb21tZW50X2No YXJzW10gPSAiIyEiOworY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIj ISI7CiAvKiBDaGFyYWN0ZXJzIHdoaWNoIHNlcGFyYXRlIGxpbmVzIChudWxs IGFuZCBuZXdsaW5lIGFyZSBieSBkZWZhdWx0KS4gICovCi1jb25zdCBjaGFy IGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiOyI7CitjaGFyIGxpbmVfc2Vw YXJhdG9yX2NoYXJzW10gPSAiOyI7CiAvKiBDaGFyYWN0ZXJzIHdoaWNoIG1h eSBiZSB1c2VkIGFzIHRoZSBleHBvbmVudCBjaGFyYWN0ZXIKICAgIGluIGEg ZmxvYXRpbmcgcG9pbnQgbnVtYmVyLiAgKi8KIGNvbnN0IGNoYXIgRVhQX0NI QVJTW10gPSAiZUUiOwpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1uaW9z Mi5jIGIvZ2FzL2NvbmZpZy90Yy1uaW9zMi5jCmluZGV4IDNkNTIwNDguLmM5 NDkxYzYgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtbmlvczIuYworKysg Yi9nYXMvY29uZmlnL3RjLW5pb3MyLmMKQEAgLTQwLDcgKzQwLDcgQEAgZXh0 ZXJuIGludCB0YXJnZXRfYmlnX2VuZGlhbjsKIAogLyogVGhpcyBhcnJheSBo b2xkcyB0aGUgY2hhcnMgdGhhdCBhbHdheXMgc3RhcnQgYSBjb21tZW50LiAg SWYgdGhlCiAgICBwcmUtcHJvY2Vzc29yIGlzIGRpc2FibGVkLCB0aGVzZSBh cmVuJ3QgdmVyeSB1c2VmdWwuICAqLwotY29uc3QgY2hhciBjb21tZW50X2No YXJzW10gPSAiIyI7CitjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICIjIjsKIAog LyogVGhpcyBhcnJheSBob2xkcyB0aGUgY2hhcnMgdGhhdCBvbmx5IHN0YXJ0 IGEgY29tbWVudCBhdCB0aGUgYmVnaW5uaW5nIG9mCiAgICBhIGxpbmUuICBJ ZiB0aGUgbGluZSBzZWVtcyB0byBoYXZlIHRoZSBmb3JtICcjIDEyMyBmaWxl bmFtZScKQEAgLTQ5LDEwICs0OSwxMCBAQCBjb25zdCBjaGFyIGNvbW1lbnRf Y2hhcnNbXSA9ICIjIjsKICAgIGZpcnN0IGxpbmUgb2YgdGhlIGlucHV0IGZp bGUuICBUaGlzIGlzIGJlY2F1c2UgdGhlIGNvbXBpbGVyIG91dHB1dHMKICAg ICNOT19BUFAgYXQgdGhlIGJlZ2lubmluZyBvZiBpdHMgb3V0cHV0LiAgKi8K IC8qIEFsc28gbm90ZSB0aGF0IEMgc3R5bGUgY29tbWVudHMgYXJlIGFsd2F5 cyBzdXBwb3J0ZWQuICAqLwotY29uc3QgY2hhciBsaW5lX2NvbW1lbnRfY2hh cnNbXSA9ICIjIjsKK2NoYXIgbGluZV9jb21tZW50X2NoYXJzW10gPSAiIyI7 CiAKIC8qIFRoaXMgYXJyYXkgaG9sZHMgbWFjaGluZSBzcGVjaWZpYyBsaW5l IHNlcGFyYXRvciBjaGFyYWN0ZXJzLiAgKi8KLWNvbnN0IGNoYXIgbGluZV9z ZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsKK2NoYXIgbGluZV9zZXBhcmF0b3Jf Y2hhcnNbXSA9ICI7IjsKIAogLyogQ2hhcnMgdGhhdCBjYW4gYmUgdXNlZCB0 byBzZXBhcmF0ZSBtYW50IGZyb20gZXhwIGluIGZsb2F0aW5nIHBvaW50IG51 bXMuICAqLwogY29uc3QgY2hhciBFWFBfQ0hBUlNbXSA9ICJlRSI7CmRpZmYg LS1naXQgYS9nYXMvY29uZmlnL3RjLW5zMzJrLmMgYi9nYXMvY29uZmlnL3Rj LW5zMzJrLmMKaW5kZXggNzA5YTliYy4uOGRiNThhYiAxMDA2NDQKLS0tIGEv Z2FzL2NvbmZpZy90Yy1uczMyay5jCisrKyBiL2dhcy9jb25maWcvdGMtbnMz MmsuYwpAQCAtNTgsOSArNTgsOSBAQAogI2RlZmluZSBMSU5FX0NPTU1FTlRf Q0hBUlMgIiMiCiAjZW5kaWYKIAotY29uc3QgY2hhciBjb21tZW50X2NoYXJz W10gPSAiIyI7Ci1jb25zdCBjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0g TElORV9DT01NRU5UX0NIQVJTOwotY29uc3QgY2hhciBsaW5lX3NlcGFyYXRv cl9jaGFyc1tdID0gIjsiOworY2hhciBjb21tZW50X2NoYXJzW10gPSAiIyI7 CitjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0gTElORV9DT01NRU5UX0NI QVJTOworY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIjsiOwogc3Rh dGljIGludCBkZWZhdWx0X2Rpc3Bfc2l6ZSA9IDQ7IC8qIERpc3BsYWNlbWVu dCBzaXplIGZvciBleHRlcm5hbCByZWZzLiAgKi8KIAogI2lmICFkZWZpbmVk KEFCU09MVVRFX1BSRUZJWCkgJiYgIWRlZmluZWQoSU1NRURJQVRFX1BSRUZJ WCkKZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtb3BlbnJpc2MuYyBiL2dh cy9jb25maWcvdGMtb3BlbnJpc2MuYwppbmRleCA5ODFjZGZiLi4yMmEwODJj IDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLW9wZW5yaXNjLmMKKysrIGIv Z2FzL2NvbmZpZy90Yy1vcGVucmlzYy5jCkBAIC01MSwxMSArNTEsMTEgQEAg c3RydWN0IG9wZW5yaXNjX2luc24KIH07CiAKIAotY29uc3QgY2hhciBjb21t ZW50X2NoYXJzW10gICAgICAgID0gIiMiOwotY29uc3QgY2hhciBsaW5lX2Nv bW1lbnRfY2hhcnNbXSAgID0gIiMiOwotY29uc3QgY2hhciBsaW5lX3NlcGFy YXRvcl9jaGFyc1tdID0gIjsiOwotY29uc3QgY2hhciBFWFBfQ0hBUlNbXSAg ICAgICAgICAgID0gImVFIjsKLWNvbnN0IGNoYXIgRkxUX0NIQVJTW10gICAg ICAgICAgICA9ICJkRCI7CitjaGFyIGNvbW1lbnRfY2hhcnNbXSAgICAgICAg PSAiIyI7CitjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdICAgPSAiIyI7Citj aGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiOyI7Citjb25zdCBjaGFy IEVYUF9DSEFSU1tdICAgICAgPSAiZUUiOworY29uc3QgY2hhciBGTFRfQ0hB UlNbXSAgICAgID0gImREIjsKIAogDAogI2RlZmluZSBPUEVOUklTQ19TSE9S VE9QVFMgIm06IgpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1vcjMyLmMg Yi9nYXMvY29uZmlnL3RjLW9yMzIuYwppbmRleCAyM2U0NGFmLi4yYjVkMjA1 IDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLW9yMzIuYworKysgYi9nYXMv Y29uZmlnL3RjLW9yMzIuYwpAQCAtNzQsNyArNzQsNyBAQCBpbnQgbWRfbG9u Z19qdW1wX3NpemUgICA9IDQ7CiAKIC8qIFRoaXMgYXJyYXkgaG9sZHMgdGhl IGNoYXJzIHRoYXQgYWx3YXlzIHN0YXJ0IGEgY29tbWVudC4KICAgIElmIHRo ZSBwcmUtcHJvY2Vzc29yIGlzIGRpc2FibGVkLCB0aGVzZSBhcmVuJ3QgdmVy eSB1c2VmdWwuICAqLwotY29uc3QgY2hhciBjb21tZW50X2NoYXJzW10gPSAi IyI7CitjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICIjIjsKIAogLyogVGhpcyBh cnJheSBob2xkcyB0aGUgY2hhcnMgdGhhdCBvbmx5IHN0YXJ0IGEgY29tbWVu dCBhdCB0aGUgYmVnaW5uaW5nIG9mCiAgICBhIGxpbmUuICBJZiB0aGUgbGlu ZSBzZWVtcyB0byBoYXZlIHRoZSBmb3JtICcjIDEyMyBmaWxlbmFtZScKQEAg LTgzLDExICs4MywxMSBAQCBjb25zdCBjaGFyIGNvbW1lbnRfY2hhcnNbXSA9 ICIjIjsKICAgIGZpcnN0IGxpbmUgb2YgdGhlIGlucHV0IGZpbGUuICBUaGlz IGlzIGJlY2F1c2UgdGhlIGNvbXBpbGVyIG91dHB1dHMKICAgICNOT19BUFAg YXQgdGhlIGJlZ2lubmluZyBvZiBpdHMgb3V0cHV0LiAgKi8KIC8qIEFsc28g bm90ZSB0aGF0IGNvbW1lbnRzIGxpa2UgdGhpcyBvbmUgd2lsbCBhbHdheXMg d29yay4gICovCi1jb25zdCBjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0g IiMiOworY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIjIjsKIAogLyog V2UgbmVlZGVkIGFuIHVudXNlZCBjaGFyIGZvciBsaW5lIHNlcGFyYXRpb24g dG8gd29yayBhcm91bmQgdGhlCiAgICBsYWNrIG9mIG1hY3JvcywgdXNpbmcg c2VkIGFuZCBzdWNoLiAgKi8KLWNvbnN0IGNoYXIgbGluZV9zZXBhcmF0b3Jf Y2hhcnNbXSA9ICI7IjsKK2NoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9 ICI7IjsKIAogLyogQ2hhcnMgdGhhdCBjYW4gYmUgdXNlZCB0byBzZXBhcmF0 ZSBtYW50IGZyb20gZXhwIGluIGZsb2F0aW5nIHBvaW50IG51bXMuICAqLwog Y29uc3QgY2hhciBFWFBfQ0hBUlNbXSA9ICJlRSI7CmRpZmYgLS1naXQgYS9n YXMvY29uZmlnL3RjLXBkcDExLmMgYi9nYXMvY29uZmlnL3RjLXBkcDExLmMK aW5kZXggOThlMjQxZi4uYzQ3ODBlZSAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZp Zy90Yy1wZHAxMS5jCisrKyBiL2dhcy9jb25maWcvdGMtcGRwMTEuYwpAQCAt NTgsMTIgKzU4LDEyIEBAIGludCBhc21fb3B0aW9uW0FTTV9PUFRfTlVNXTsK IAogLyogVGhlc2UgY2hhcnMgc3RhcnQgYSBjb21tZW50IGFueXdoZXJlIGlu IGEgc291cmNlIGZpbGUgKGV4Y2VwdCBpbnNpZGUKICAgIGFub3RoZXIgY29t bWVudC4gICovCi1jb25zdCBjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICIjLyI7 CitjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICIjLyI7CiAKIC8qIFRoZXNlIGNo YXJzIG9ubHkgc3RhcnQgYSBjb21tZW50IGF0IHRoZSBiZWdpbm5pbmcgb2Yg YSBsaW5lLiAgKi8KLWNvbnN0IGNoYXIgbGluZV9jb21tZW50X2NoYXJzW10g PSAiIy8iOworY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIjLyI7CiAK LWNvbnN0IGNoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsKK2No YXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsKIAogLyogQ2hhcnMg dGhhdCBjYW4gYmUgdXNlZCB0byBzZXBhcmF0ZSBtYW50IGZyb20gZXhwIGlu IGZsb2F0aW5nIHBvaW50IG51bXMuICAqLwogY29uc3QgY2hhciBFWFBfQ0hB UlNbXSA9ICJlRSI7CmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLXBqLmMg Yi9nYXMvY29uZmlnL3RjLXBqLmMKaW5kZXggOWRiZTgxMC4uNWQ4YzM2YSAx MDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1wai5jCisrKyBiL2dhcy9jb25m aWcvdGMtcGouYwpAQCAtMjcsOSArMjcsOSBAQAogCiBleHRlcm4gY29uc3Qg cGpfb3BjX2luZm9fdCBwal9vcGNfaW5mb1s1MTJdOwogCi1jb25zdCBjaGFy IGNvbW1lbnRfY2hhcnNbXSAgICAgICAgPSAiIS8iOwotY29uc3QgY2hhciBs aW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIjsiOwotY29uc3QgY2hhciBsaW5l X2NvbW1lbnRfY2hhcnNbXSAgID0gIi8hIyI7CitjaGFyIGNvbW1lbnRfY2hh cnNbXSAgICAgICAgPSAiIS8iOworY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFy c1tdID0gIjsiOworY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSAgID0gIi8h IyI7CiAKIHN0YXRpYyBpbnQgcGVuZGluZ19yZWxvYzsKIHN0YXRpYyBzdHJ1 Y3QgaGFzaF9jb250cm9sICpvcGNvZGVfaGFzaF9jb250cm9sOwpkaWZmIC0t Z2l0IGEvZ2FzL2NvbmZpZy90Yy1wcGMuYyBiL2dhcy9jb25maWcvdGMtcHBj LmMKaW5kZXggN2M5OWU0My4uZmRmMmY0MyAxMDA2NDQKLS0tIGEvZ2FzL2Nv bmZpZy90Yy1wcGMuYworKysgYi9nYXMvY29uZmlnL3RjLXBwYy5jCkBAIC0x NjksMTUgKzE2OSwxNSBAQCBjb25zdCBjaGFyICpwcGNfY29tbWVudF9jaGFy cyA9IHBwY19zb2xhcmlzX2NvbW1lbnRfY2hhcnM7CiBjb25zdCBjaGFyICpw cGNfY29tbWVudF9jaGFycyA9IHBwY19lYWJpX2NvbW1lbnRfY2hhcnM7CiAj ZW5kaWYKICNlbHNlCi1jb25zdCBjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICIj IjsKK2NoYXIgY29tbWVudF9jaGFyc1tdID0gIiMiOwogI2VuZGlmCiAKIC8q IENoYXJhY3RlcnMgd2hpY2ggc3RhcnQgYSBjb21tZW50IGF0IHRoZSBiZWdp bm5pbmcgb2YgYSBsaW5lLiAgKi8KLWNvbnN0IGNoYXIgbGluZV9jb21tZW50 X2NoYXJzW10gPSAiIyI7CitjaGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0g IiMiOwogCiAvKiBDaGFyYWN0ZXJzIHdoaWNoIG1heSBiZSB1c2VkIHRvIHNl cGFyYXRlIG11bHRpcGxlIGNvbW1hbmRzIG9uIGEKICAgIHNpbmdsZSBsaW5l LiAgKi8KLWNvbnN0IGNoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICI7 IjsKK2NoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsKIAogLyog Q2hhcmFjdGVycyB3aGljaCBhcmUgdXNlZCB0byBpbmRpY2F0ZSBhbiBleHBv bmVudCBpbiBhIGZsb2F0aW5nCiAgICBwb2ludCBudW1iZXIuICAqLwpkaWZm IC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1ybDc4LmMgYi9nYXMvY29uZmlnL3Rj LXJsNzguYwppbmRleCAyZjU5YWY4Li5hNjA1NWZlIDEwMDY0NAotLS0gYS9n YXMvY29uZmlnL3RjLXJsNzguYworKysgYi9nYXMvY29uZmlnL3RjLXJsNzgu YwpAQCAtMzIsMTQgKzMyLDE0IEBACiAjaW5jbHVkZSAic2IuaCIKICNpbmNs dWRlICJtYWNyby5oIgogCi1jb25zdCBjaGFyIGNvbW1lbnRfY2hhcnNbXSAg ICAgICAgPSAiOyI7CitjaGFyIGNvbW1lbnRfY2hhcnNbXSAgICAgICAgPSAi OyI7CiAvKiBOb3RlIHRoYXQgaW5wdXRfZmlsZS5jIGhhbmQgY2hlY2tzIGZv ciAnIycgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUKICAgIGZpcnN0IGxpbmUg b2YgdGhlIGlucHV0IGZpbGUuICBUaGlzIGlzIGJlY2F1c2UgdGhlIGNvbXBp bGVyIG91dHB1dHMKICAgICNOT19BUFAgYXQgdGhlIGJlZ2lubmluZyBvZiBp dHMgb3V0cHV0LiAgKi8KLWNvbnN0IGNoYXIgbGluZV9jb21tZW50X2NoYXJz W10gICA9ICIjIjsKK2NoYXIgbGluZV9jb21tZW50X2NoYXJzW10gICA9ICIj IjsKIC8qIFVzZSBzb21ldGhpbmcgdGhhdCBpc24ndCBnb2luZyB0byBiZSBu ZWVkZWQgYnkgYW55IGV4cHJlc3Npb25zIG9yCiAgICBvdGhlciBzeW50YXgu ICAqLwotY29uc3QgY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIkAi OworY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIkAiOwogCiBjb25z dCBjaGFyIEVYUF9DSEFSU1tdICAgICAgICAgICAgPSAiZUUiOwogY29uc3Qg Y2hhciBGTFRfQ0hBUlNbXSAgICAgICAgICAgID0gImREIjsKZGlmZiAtLWdp dCBhL2dhcy9jb25maWcvdGMtcnguYyBiL2dhcy9jb25maWcvdGMtcnguYwpp bmRleCAwZTRiN2E4Li43NDBjODdmIDEwMDY0NAotLS0gYS9nYXMvY29uZmln L3RjLXJ4LmMKKysrIGIvZ2FzL2NvbmZpZy90Yy1yeC5jCkBAIC0zNCwxMiAr MzQsMTIgQEAKIAogI2RlZmluZSBSWF9PUENPREVfQklHX0VORElBTiAwCiAK LWNvbnN0IGNoYXIgY29tbWVudF9jaGFyc1tdICAgICAgICA9ICI7IjsKK2No YXIgY29tbWVudF9jaGFyc1tdICAgICAgICA9ICI7IjsKIC8qIE5vdGUgdGhh dCBpbnB1dF9maWxlLmMgaGFuZCBjaGVja3MgZm9yICcjJyBhdCB0aGUgYmVn aW5uaW5nIG9mIHRoZQogICAgZmlyc3QgbGluZSBvZiB0aGUgaW5wdXQgZmls ZS4gIFRoaXMgaXMgYmVjYXVzZSB0aGUgY29tcGlsZXIgb3V0cHV0cwogICAg I05PX0FQUCBhdCB0aGUgYmVnaW5uaW5nIG9mIGl0cyBvdXRwdXQuICAqLwot Y29uc3QgY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSAgID0gIiMiOwotY29u c3QgY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIiEiOworY2hhciBs aW5lX2NvbW1lbnRfY2hhcnNbXSAgID0gIiMiOworY2hhciBsaW5lX3NlcGFy YXRvcl9jaGFyc1tdID0gIiEiOwogCiBjb25zdCBjaGFyIEVYUF9DSEFSU1td ICAgICAgICAgICAgPSAiZUUiOwogY29uc3QgY2hhciBGTFRfQ0hBUlNbXSAg ICAgICAgICAgID0gImREIjsKZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMt czM5MC5jIGIvZ2FzL2NvbmZpZy90Yy1zMzkwLmMKaW5kZXggYzUwNGYxOC4u NWVhZTY3MSAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1zMzkwLmMKKysr IGIvZ2FzL2NvbmZpZy90Yy1zMzkwLmMKQEAgLTYxLDE0ICs2MSwxNCBAQCBz dGF0aWMgYmZkX2Jvb2xlYW4gd2Fybl9hcmVnX3plcm8gPSBGQUxTRTsKIC8q IEdlbmVyaWMgYXNzZW1ibGVyIGdsb2JhbCB2YXJpYWJsZXMgd2hpY2ggbXVz dCBiZSBkZWZpbmVkIGJ5IGFsbAogICAgdGFyZ2V0cy4gICovCiAKLWNvbnN0 IGNoYXIgY29tbWVudF9jaGFyc1tdID0gIiMiOworY2hhciBjb21tZW50X2No YXJzW10gPSAiIyI7CiAKIC8qIENoYXJhY3RlcnMgd2hpY2ggc3RhcnQgYSBj b21tZW50IGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBsaW5lLiAgKi8KLWNvbnN0 IGNoYXIgbGluZV9jb21tZW50X2NoYXJzW10gPSAiIyI7CitjaGFyIGxpbmVf Y29tbWVudF9jaGFyc1tdID0gIiMiOwogCiAvKiBDaGFyYWN0ZXJzIHdoaWNo IG1heSBiZSB1c2VkIHRvIHNlcGFyYXRlIG11bHRpcGxlIGNvbW1hbmRzIG9u IGEKICAgIHNpbmdsZSBsaW5lLiAgKi8KLWNvbnN0IGNoYXIgbGluZV9zZXBh cmF0b3JfY2hhcnNbXSA9ICI7IjsKK2NoYXIgbGluZV9zZXBhcmF0b3JfY2hh cnNbXSA9ICI7IjsKIAogLyogQ2hhcmFjdGVycyB3aGljaCBhcmUgdXNlZCB0 byBpbmRpY2F0ZSBhbiBleHBvbmVudCBpbiBhIGZsb2F0aW5nCiAgICBwb2lu dCBudW1iZXIuICAqLwpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1zY29y ZS5jIGIvZ2FzL2NvbmZpZy90Yy1zY29yZS5jCmluZGV4IDgyMmI5Y2YuLjk5 NDgzZGUgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtc2NvcmUuYworKysg Yi9nYXMvY29uZmlnL3RjLXNjb3JlLmMKQEAgLTE4Miw5ICsxODIsOSBAQCBz dGF0aWMgdm9pZCBzM19kb19sd19waWMgKGNoYXIgKik7CiAKIC8qIFRoaXMg YXJyYXkgaG9sZHMgdGhlIGNoYXJzIHRoYXQgYWx3YXlzIHN0YXJ0IGEgY29t bWVudC4gIElmIHRoZQogICAgcHJlLXByb2Nlc3NvciBpcyBkaXNhYmxlZCwg dGhlc2UgYXJlbid0IHZlcnkgdXNlZnVsLiAgKi8KLWNvbnN0IGNoYXIgY29t bWVudF9jaGFyc1tdID0gIiMiOwotY29uc3QgY2hhciBsaW5lX2NvbW1lbnRf Y2hhcnNbXSA9ICIjIjsKLWNvbnN0IGNoYXIgbGluZV9zZXBhcmF0b3JfY2hh cnNbXSA9ICI7IjsKK2NoYXIgY29tbWVudF9jaGFyc1tdID0gIiMiOworY2hh ciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIjIjsKK2NoYXIgbGluZV9zZXBh cmF0b3JfY2hhcnNbXSA9ICI7IjsKIC8qIENoYXJzIHRoYXQgY2FuIGJlIHVz ZWQgdG8gc2VwYXJhdGUgbWFudCBmcm9tIGV4cCBpbiBmbG9hdGluZyBwb2lu dCBudW1iZXJzLiAgKi8KIGNvbnN0IGNoYXIgRVhQX0NIQVJTW10gPSAiZUUi OwogY29uc3QgY2hhciBGTFRfQ0hBUlNbXSA9ICJyUnNTZkZkRHhYZUVwUCI7 CmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLXNoLmMgYi9nYXMvY29uZmln L3RjLXNoLmMKaW5kZXggNmI3YmQ1YS4uZDVmMzgzZCAxMDA2NDQKLS0tIGEv Z2FzL2NvbmZpZy90Yy1zaC5jCisrKyBiL2dhcy9jb25maWcvdGMtc2guYwpA QCAtNDQsOSArNDQsOSBAQCB0eXBlZGVmIHN0cnVjdAogICB9CiBzaF9vcGVy YW5kX2luZm87CiAKLWNvbnN0IGNoYXIgY29tbWVudF9jaGFyc1tdID0gIiEi OwotY29uc3QgY2hhciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIjsiOwot Y29uc3QgY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIhIyI7CitjaGFy IGNvbW1lbnRfY2hhcnNbXSA9ICIhIjsKK2NoYXIgbGluZV9zZXBhcmF0b3Jf Y2hhcnNbXSA9ICI7IjsKK2NoYXIgbGluZV9jb21tZW50X2NoYXJzW10gPSAi ISMiOwogCiBzdGF0aWMgdm9pZCBzX3VzZXMgKGludCk7CiBzdGF0aWMgdm9p ZCBzX3VhY29ucyAoaW50KTsKZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMt c3BhcmMuYyBiL2dhcy9jb25maWcvdGMtc3BhcmMuYwppbmRleCBiY2I4NDY0 Li45ZTY1MmIzIDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLXNwYXJjLmMK KysrIGIvZ2FzL2NvbmZpZy90Yy1zcGFyYy5jCkBAIC0xNjgsNyArMTY4LDcg QEAgY29uc3QgcHNldWRvX3R5cGVTIG1kX3BzZXVkb190YWJsZVtdID0KIAog LyogVGhpcyBhcnJheSBob2xkcyB0aGUgY2hhcnMgdGhhdCBhbHdheXMgc3Rh cnQgYSBjb21tZW50LiAgSWYgdGhlCiAgICBwcmUtcHJvY2Vzc29yIGlzIGRp c2FibGVkLCB0aGVzZSBhcmVuJ3QgdmVyeSB1c2VmdWwuICAqLwotY29uc3Qg Y2hhciBjb21tZW50X2NoYXJzW10gPSAiISI7CS8qIEpGIHJlbW92ZWQgJ3wn IGZyb20KK2NoYXIgY29tbWVudF9jaGFyc1tdID0gIiEiOwkvKiBKRiByZW1v dmVkICd8JyBmcm9tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29tbWVudF9jaGFycy4gICovCiAKIC8qIFRoaXMgYXJy YXkgaG9sZHMgdGhlIGNoYXJzIHRoYXQgb25seSBzdGFydCBhIGNvbW1lbnQg YXQgdGhlIGJlZ2lubmluZyBvZgpAQCAtMTc5LDkgKzE3OSw5IEBAIGNvbnN0 IGNoYXIgY29tbWVudF9jaGFyc1tdID0gIiEiOwkvKiBKRiByZW1vdmVkICd8 JyBmcm9tCiAgICAjTk9fQVBQIGF0IHRoZSBiZWdpbm5pbmcgb2YgaXRzIG91 dHB1dC4gICovCiAvKiBBbHNvIG5vdGUgdGhhdCBjb21tZW50cyBzdGFydGVk IGxpa2UgdGhpcyBvbmUgd2lsbCBhbHdheXMKICAgIHdvcmsgaWYgJy8nIGlz bid0IG90aGVyd2lzZSBkZWZpbmVkLiAgKi8KLWNvbnN0IGNoYXIgbGluZV9j b21tZW50X2NoYXJzW10gPSAiIyI7CitjaGFyIGxpbmVfY29tbWVudF9jaGFy c1tdID0gIiMiOwogCi1jb25zdCBjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJz W10gPSAiOyI7CitjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiOyI7 CiAKIC8qIENoYXJzIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VwYXJhdGUgbWFu dCBmcm9tIGV4cCBpbiBmbG9hdGluZyBwb2ludAogICAgbnVtcy4gICovCmRp ZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLXNwdS5jIGIvZ2FzL2NvbmZpZy90 Yy1zcHUuYwppbmRleCBkODBjNjIxLi43OTk1OWRkIDEwMDY0NAotLS0gYS9n YXMvY29uZmlnL3RjLXNwdS5jCisrKyBiL2dhcy9jb25maWcvdGMtc3B1LmMK QEAgLTY0LDEzICs2NCwxMyBAQCBpbnQgbWRfc2VnX2FsaWduID0gNzsKIAog LyogVGhlc2UgY2hhcnMgc3RhcnQgYSBjb21tZW50IGFueXdoZXJlIGluIGEg c291cmNlIGZpbGUgKGV4Y2VwdCBpbnNpZGUKICAgIGFub3RoZXIgY29tbWVu dCAqLwotY29uc3QgY2hhciBjb21tZW50X2NoYXJzW10gPSAiIyI7CitjaGFy IGNvbW1lbnRfY2hhcnNbXSA9ICIjIjsKIAogLyogVGhlc2UgY2hhcnMgb25s eSBzdGFydCBhIGNvbW1lbnQgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUu ICAqLwotY29uc3QgY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIjIjsK K2NoYXIgbGluZV9jb21tZW50X2NoYXJzW10gPSAiIyI7CiAKIC8qIGdvZHMg b3duIGxpbmUgY29udGludWF0aW9uIGNoYXIgKi8KLWNvbnN0IGNoYXIgbGlu ZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsKK2NoYXIgbGluZV9zZXBhcmF0 b3JfY2hhcnNbXSA9ICI7IjsKIAogLyogQ2hhcnMgdGhhdCBjYW4gYmUgdXNl ZCB0byBzZXBhcmF0ZSBtYW50IGZyb20gZXhwIGluIGZsb2F0aW5nIHBvaW50 IG51bXMgKi8KIGNvbnN0IGNoYXIgRVhQX0NIQVJTW10gPSAiZUUiOwpkaWZm IC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy10aWMzMC5jIGIvZ2FzL2NvbmZpZy90 Yy10aWMzMC5jCmluZGV4IDU0NzRkZjUuLmQ2NGQ4MTggMTAwNjQ0Ci0tLSBh L2dhcy9jb25maWcvdGMtdGljMzAuYworKysgYi9nYXMvY29uZmlnL3RjLXRp YzMwLmMKQEAgLTM3LDkgKzM3LDkgQEAgc3RhdGljIGNoYXIgKm9yZGluYWxf bmFtZXNbXSA9CiAgIE5fKCJmaXJzdCIpLCBOXygic2Vjb25kIiksIE5fKCJ0 aGlyZCIpLCBOXygiZm91cnRoIiksIE5fKCJmaWZ0aCIpCiB9OwogCi1jb25z dCBjaGFyIGNvbW1lbnRfY2hhcnNbXSAgICAgICAgPSAiOyI7Ci1jb25zdCBj aGFyIGxpbmVfY29tbWVudF9jaGFyc1tdICAgPSAiKiI7Ci1jb25zdCBjaGFy IGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiIjsKK2NoYXIgY29tbWVudF9j aGFyc1tdICAgICAgICA9ICI7IjsKK2NoYXIgbGluZV9jb21tZW50X2NoYXJz W10gICA9ICIqIjsKK2NoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICIi OwogCiBjb25zdCBjaGFyICptZF9zaG9ydG9wdHMgPSAiIjsKIHN0cnVjdCBv cHRpb24gbWRfbG9uZ29wdHNbXSA9CmRpZmYgLS1naXQgYS9nYXMvY29uZmln L3RjLXRpYzR4LmMgYi9nYXMvY29uZmlnL3RjLXRpYzR4LmMKaW5kZXggMGRj ZjViZC4uOTc0Njk5ZSAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy10aWM0 eC5jCisrKyBiL2dhcy9jb25maWcvdGMtdGljNHguYwpAQCAtMTkwLDkgKzE5 MCw5IEBAIGludCBtZF9sb25nX2p1bXBfc2l6ZSA9IDQ7CiAvKiBUaGlzIGFy cmF5IGhvbGRzIHRoZSBjaGFycyB0aGF0IGFsd2F5cyBzdGFydCBhIGNvbW1l bnQuICBJZiB0aGUKICAgIHByZS1wcm9jZXNzb3IgaXMgZGlzYWJsZWQsIHRo ZXNlIGFyZW4ndCB2ZXJ5IHVzZWZ1bC4gICovCiAjaWZkZWYgVElDNFhfQUxU X1NZTlRBWAotY29uc3QgY2hhciBjb21tZW50X2NoYXJzW10gPSAiOyEiOwor Y2hhciBjb21tZW50X2NoYXJzW10gPSAiOyEiOwogI2Vsc2UKLWNvbnN0IGNo YXIgY29tbWVudF9jaGFyc1tdID0gIjsiOworY2hhciBjb21tZW50X2NoYXJz W10gPSAiOyI7CiAjZW5kaWYKIAogLyogVGhpcyBhcnJheSBob2xkcyB0aGUg Y2hhcnMgdGhhdCBvbmx5IHN0YXJ0IGEgY29tbWVudCBhdCB0aGUgYmVnaW5u aW5nIG9mCkBAIC0yMDIsMTEgKzIwMiwxMSBAQCBjb25zdCBjaGFyIGNvbW1l bnRfY2hhcnNbXSA9ICI7IjsKICAgIGZpcnN0IGxpbmUgb2YgdGhlIGlucHV0 IGZpbGUuICBUaGlzIGlzIGJlY2F1c2UgdGhlIGNvbXBpbGVyIG91dHB1dHMK ICAgICNOT19BUFAgYXQgdGhlIGJlZ2lubmluZyBvZiBpdHMgb3V0cHV0LiAK ICAgIEFsc28gbm90ZSB0aGF0IGNvbW1lbnRzIGxpa2UgdGhpcyBvbmUgd2ls bCBhbHdheXMgd29yay4gICovCi1jb25zdCBjaGFyIGxpbmVfY29tbWVudF9j aGFyc1tdID0gIiMqIjsKK2NoYXIgbGluZV9jb21tZW50X2NoYXJzW10gPSAi IyoiOwogCiAvKiBXZSBuZWVkZWQgYW4gdW51c2VkIGNoYXIgZm9yIGxpbmUg c2VwYXJhdGlvbiB0byB3b3JrIGFyb3VuZCB0aGUKICAgIGxhY2sgb2YgbWFj cm9zLCB1c2luZyBzZWQgYW5kIHN1Y2guICAqLwotY29uc3QgY2hhciBsaW5l X3NlcGFyYXRvcl9jaGFyc1tdID0gIiYiOworY2hhciBsaW5lX3NlcGFyYXRv cl9jaGFyc1tdID0gIiYiOwogCiAvKiBDaGFycyB0aGF0IGNhbiBiZSB1c2Vk IHRvIHNlcGFyYXRlIG1hbnQgZnJvbSBleHAgaW4gZmxvYXRpbmcgcG9pbnQg bnVtcy4gICovCiBjb25zdCBjaGFyIEVYUF9DSEFSU1tdID0gImVFIjsKZGlm ZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtdGljNTR4LmMgYi9nYXMvY29uZmln L3RjLXRpYzU0eC5jCmluZGV4IGQ0YmQ3NWYuLjE2MThhZmEgMTAwNjQ0Ci0t LSBhL2dhcy9jb25maWcvdGMtdGljNTR4LmMKKysrIGIvZ2FzL2NvbmZpZy90 Yy10aWM1NHguYwpAQCAtMTI3LDkgKzEyNyw5IEBAIGVudW0gYWRkcmVzc19t b2RlCiBzdGF0aWMgc2VnVCBzdGFnX3NhdmVkX3NlZzsKIHN0YXRpYyBzdWJz ZWdUIHN0YWdfc2F2ZWRfc3Vic2VnOwogCi1jb25zdCBjaGFyIGNvbW1lbnRf Y2hhcnNbXSA9ICI7IjsKLWNvbnN0IGNoYXIgbGluZV9jb21tZW50X2NoYXJz W10gPSAiOyojIjsgLyogQXQgY29sdW1uIHplcm8gb25seS4gICovCi1jb25z dCBjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiIjsgLyogTm90IHBl cm1pdHRlZC4gICovCitjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICI7IjsKK2No YXIgbGluZV9jb21tZW50X2NoYXJzW10gPSAiOyojIjsgLyogQXQgY29sdW1u IHplcm8gb25seS4gICovCitjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10g PSAiIjsgLyogTm90IHBlcm1pdHRlZC4gICovCiAKIGludCBlbWl0dGluZ19s b25nID0gMDsKIApkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy10aWM2eC5j IGIvZ2FzL2NvbmZpZy90Yy10aWM2eC5jCmluZGV4IDgxZjMzZjQuLmI0M2Rk ZTYgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtdGljNnguYworKysgYi9n YXMvY29uZmlnL3RjLXRpYzZ4LmMKQEAgLTQxLDkgKzQxLDkgQEAgc3RhdGlj IHNlZ1Qgc2Jzc19zZWN0aW9uOwogc3RhdGljIGFzZWN0aW9uIHNjb21fc2Vj dGlvbjsKIHN0YXRpYyBhc3ltYm9sIHNjb21fc3ltYm9sOwogCi1jb25zdCBj aGFyIGNvbW1lbnRfY2hhcnNbXSA9ICI7IjsKLWNvbnN0IGNoYXIgbGluZV9j b21tZW50X2NoYXJzW10gPSAiIyo7IjsKLWNvbnN0IGNoYXIgbGluZV9zZXBh cmF0b3JfY2hhcnNbXSA9ICJAIjsKK2NoYXIgY29tbWVudF9jaGFyc1tdID0g IjsiOworY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIjKjsiOworY2hh ciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIkAiOwogCiBjb25zdCBjaGFy IEVYUF9DSEFSU1tdID0gImVFIjsKIGNvbnN0IGNoYXIgRkxUX0NIQVJTW10g PSAiZERmRiI7CmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLXRpbGVneC5j IGIvZ2FzL2NvbmZpZy90Yy10aWxlZ3guYwppbmRleCAxOWEwNGMyLi5kNGE1 ZDcyIDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLXRpbGVneC5jCisrKyBi L2dhcy9jb25maWcvdGMtdGlsZWd4LmMKQEAgLTQ4LDE0ICs0OCwxNCBAQAog aW50IHRpbGVneF9jaWVfZGF0YV9hbGlnbm1lbnQ7CiAKIC8qIENoYXJhY3Rl cnMgd2hpY2ggYWx3YXlzIHN0YXJ0IGEgY29tbWVudC4gICovCi1jb25zdCBj aGFyIGNvbW1lbnRfY2hhcnNbXSA9ICIjIjsKK2NoYXIgY29tbWVudF9jaGFy c1tdID0gIiMiOwogCiAvKiBDaGFyYWN0ZXJzIHdoaWNoIHN0YXJ0IGEgY29t bWVudCBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZS4gICovCi1jb25zdCBj aGFyIGxpbmVfY29tbWVudF9jaGFyc1tdID0gIiMiOworY2hhciBsaW5lX2Nv bW1lbnRfY2hhcnNbXSA9ICIjIjsKIAogLyogQ2hhcmFjdGVycyB3aGljaCBt YXkgYmUgdXNlZCB0byBzZXBhcmF0ZSBtdWx0aXBsZSBjb21tYW5kcyBvbiBh CiAgICBzaW5nbGUgbGluZS4gICovCi1jb25zdCBjaGFyIGxpbmVfc2VwYXJh dG9yX2NoYXJzW10gPSAiOyI7CitjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJz W10gPSAiOyI7CiAKIC8qIENoYXJhY3RlcnMgd2hpY2ggYXJlIHVzZWQgdG8g aW5kaWNhdGUgYW4gZXhwb25lbnQgaW4gYSBmbG9hdGluZwogICAgcG9pbnQg bnVtYmVyLiAgKi8KZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtdGlsZXBy by5jIGIvZ2FzL2NvbmZpZy90Yy10aWxlcHJvLmMKaW5kZXggNzMzYTYyOC4u NGJjMTM1ZSAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy10aWxlcHJvLmMK KysrIGIvZ2FzL2NvbmZpZy90Yy10aWxlcHJvLmMKQEAgLTQ1LDE0ICs0NSwx NCBAQAogICAgdGFyZ2V0cy4gICovCiAKIC8qIENoYXJhY3RlcnMgd2hpY2gg YWx3YXlzIHN0YXJ0IGEgY29tbWVudC4gICovCi1jb25zdCBjaGFyIGNvbW1l bnRfY2hhcnNbXSA9ICIjIjsKK2NoYXIgY29tbWVudF9jaGFyc1tdID0gIiMi OwogCiAvKiBDaGFyYWN0ZXJzIHdoaWNoIHN0YXJ0IGEgY29tbWVudCBhdCB0 aGUgYmVnaW5uaW5nIG9mIGEgbGluZS4gICovCi1jb25zdCBjaGFyIGxpbmVf Y29tbWVudF9jaGFyc1tdID0gIiMiOworY2hhciBsaW5lX2NvbW1lbnRfY2hh cnNbXSA9ICIjIjsKIAogLyogQ2hhcmFjdGVycyB3aGljaCBtYXkgYmUgdXNl ZCB0byBzZXBhcmF0ZSBtdWx0aXBsZSBjb21tYW5kcyBvbiBhCiAgICBzaW5n bGUgbGluZS4gICovCi1jb25zdCBjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJz W10gPSAiOyI7CitjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiOyI7 CiAKIC8qIENoYXJhY3RlcnMgd2hpY2ggYXJlIHVzZWQgdG8gaW5kaWNhdGUg YW4gZXhwb25lbnQgaW4gYSBmbG9hdGluZwogICAgcG9pbnQgbnVtYmVyLiAg Ki8KZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtdjg1MC5jIGIvZ2FzL2Nv bmZpZy90Yy12ODUwLmMKaW5kZXggYTIzMzg3Yy4uMDAzMTllMyAxMDA2NDQK LS0tIGEvZ2FzL2NvbmZpZy90Yy12ODUwLmMKKysrIGIvZ2FzL2NvbmZpZy90 Yy12ODUwLmMKQEAgLTU4LDE0ICs1OCwxNCBAQCBzdHJ1Y3QgcmVnX25hbWUK ICAgIHRhcmdldHMuICAqLwogCiAvKiBDaGFyYWN0ZXJzIHdoaWNoIGFsd2F5 cyBzdGFydCBhIGNvbW1lbnQuICAqLwotY29uc3QgY2hhciBjb21tZW50X2No YXJzW10gPSAiIyI7CitjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICIjIjsKIAog LyogQ2hhcmFjdGVycyB3aGljaCBzdGFydCBhIGNvbW1lbnQgYXQgdGhlIGJl Z2lubmluZyBvZiBhIGxpbmUuICAqLwotY29uc3QgY2hhciBsaW5lX2NvbW1l bnRfY2hhcnNbXSA9ICI7IyI7CitjaGFyIGxpbmVfY29tbWVudF9jaGFyc1td ID0gIjsjIjsKIAogLyogQ2hhcmFjdGVycyB3aGljaCBtYXkgYmUgdXNlZCB0 byBzZXBhcmF0ZSBtdWx0aXBsZSBjb21tYW5kcyBvbiBhCiAgICBzaW5nbGUg bGluZS4gICovCi1jb25zdCBjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10g PSAiOyI7CitjaGFyIGxpbmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiOyI7CiAK IC8qIENoYXJhY3RlcnMgd2hpY2ggYXJlIHVzZWQgdG8gaW5kaWNhdGUgYW4g ZXhwb25lbnQgaW4gYSBmbG9hdGluZwogICAgcG9pbnQgbnVtYmVyLiAgKi8K ZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtdmF4LmMgYi9nYXMvY29uZmln L3RjLXZheC5jCmluZGV4IDE4NWE5YTIuLjkwYjgxMWMgMTAwNjQ0Ci0tLSBh L2dhcy9jb25maWcvdGMtdmF4LmMKKysrIGIvZ2FzL2NvbmZpZy90Yy12YXgu YwpAQCAtMzMsMTMgKzMzLDEzIEBACiAKIC8qIFRoZXNlIGNoYXJzIHN0YXJ0 IGEgY29tbWVudCBhbnl3aGVyZSBpbiBhIHNvdXJjZSBmaWxlIChleGNlcHQg aW5zaWRlCiAgICBhbm90aGVyIGNvbW1lbnQgKi8KLWNvbnN0IGNoYXIgY29t bWVudF9jaGFyc1tdID0gIiMiOworY2hhciBjb21tZW50X2NoYXJzW10gPSAi IyI7CiAKIC8qIFRoZXNlIGNoYXJzIG9ubHkgc3RhcnQgYSBjb21tZW50IGF0 IHRoZSBiZWdpbm5pbmcgb2YgYSBsaW5lLiAgKi8KIC8qIE5vdGUgdGhhdCBm b3IgdGhlIFZBWCB0aGUgYXJlIHRoZSBzYW1lIGFzIGNvbW1lbnRfY2hhcnMg YWJvdmUuICAqLwotY29uc3QgY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9 ICIjIjsKK2NoYXIgbGluZV9jb21tZW50X2NoYXJzW10gPSAiIyI7CiAKLWNv bnN0IGNoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsKK2NoYXIg bGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsKIAogLyogQ2hhcnMgdGhh dCBjYW4gYmUgdXNlZCB0byBzZXBhcmF0ZSBtYW50IGZyb20gZXhwIGluIGZs b2F0aW5nIHBvaW50IG51bXMuICAqLwogY29uc3QgY2hhciBFWFBfQ0hBUlNb XSA9ICJlRSI7CmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLXhjMTZ4LmMg Yi9nYXMvY29uZmlnL3RjLXhjMTZ4LmMKaW5kZXggYzYyOGQ4Ni4uNTk4YTk0 NSAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy14YzE2eC5jCisrKyBiL2dh cy9jb25maWcvdGMteGMxNnguYwpAQCAtNTYsMTEgKzU2LDExIEBAIHR5cGVk ZWYgc3RydWN0CiB9CiB4YzE2eF9pbnNuOwogCi1jb25zdCBjaGFyIGNvbW1l bnRfY2hhcnNbXSAgICAgICAgPSAiOyI7Ci1jb25zdCBjaGFyIGxpbmVfY29t bWVudF9jaGFyc1tdICAgPSAiIyI7Ci1jb25zdCBjaGFyIGxpbmVfc2VwYXJh dG9yX2NoYXJzW10gPSAiIjsKLWNvbnN0IGNoYXIgRVhQX0NIQVJTW10gICAg ICAgICAgICA9ICJlRSI7Ci1jb25zdCBjaGFyIEZMVF9DSEFSU1tdICAgICAg ICAgICAgPSAiZEQiOworY2hhciBjb21tZW50X2NoYXJzW10gICAgICAgID0g IjsiOworY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSAgID0gIiMiOworY2hh ciBsaW5lX3NlcGFyYXRvcl9jaGFyc1tdID0gIiI7Citjb25zdCBjaGFyIEVY UF9DSEFSU1tdICAgICAgPSAiZUUiOworY29uc3QgY2hhciBGTFRfQ0hBUlNb XSAgICAgID0gImREIjsKIAogI2RlZmluZSBYQzE2WF9TSE9SVE9QVFMgIiIK IGNvbnN0IGNoYXIgKiBtZF9zaG9ydG9wdHMgPSBYQzE2WF9TSE9SVE9QVFM7 CmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLXhnYXRlLmMgYi9nYXMvY29u ZmlnL3RjLXhnYXRlLmMKaW5kZXggN2VkMWVmNi4uMDEwN2YwZiAxMDA2NDQK LS0tIGEvZ2FzL2NvbmZpZy90Yy14Z2F0ZS5jCisrKyBiL2dhcy9jb25maWcv dGMteGdhdGUuYwpAQCAtMjcsOSArMjcsOSBAQAogI2luY2x1ZGUgImR3YXJm MmRiZy5oIgogI2luY2x1ZGUgImVsZi94Z2F0ZS5oIgogCi1jb25zdCBjaGFy IGNvbW1lbnRfY2hhcnNbXSA9ICI7ISI7Ci1jb25zdCBjaGFyIGxpbmVfY29t bWVudF9jaGFyc1tdID0gIiMqIjsKLWNvbnN0IGNoYXIgbGluZV9zZXBhcmF0 b3JfY2hhcnNbXSA9ICIiOworY2hhciBjb21tZW50X2NoYXJzW10gPSAiOyEi OworY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIjKiI7CitjaGFyIGxp bmVfc2VwYXJhdG9yX2NoYXJzW10gPSAiIjsKIGNvbnN0IGNoYXIgRVhQX0NI QVJTW10gPSAiZUUiOwogY29uc3QgY2hhciBGTFRfQ0hBUlNbXSA9ICJkRCI7 CiAKZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMteHN0b3JteTE2LmMgYi9n YXMvY29uZmlnL3RjLXhzdG9ybXkxNi5jCmluZGV4IDc0YzViY2UuLmY2Y2E0 ODYgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMteHN0b3JteTE2LmMKKysr IGIvZ2FzL2NvbmZpZy90Yy14c3Rvcm15MTYuYwpAQCAtNDgsOSArNDgsOSBA QCB0eXBlZGVmIHN0cnVjdAogfQogeHN0b3JteTE2X2luc247CiAKLWNvbnN0 IGNoYXIgY29tbWVudF9jaGFyc1tdICAgICAgICA9ICI7IjsKLWNvbnN0IGNo YXIgbGluZV9jb21tZW50X2NoYXJzW10gICA9ICIjIjsKLWNvbnN0IGNoYXIg bGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICJ8IjsKK2NoYXIgY29tbWVudF9j aGFyc1tdICAgICAgICA9ICI7IjsKK2NoYXIgbGluZV9jb21tZW50X2NoYXJz W10gICA9ICIjIjsKK2NoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICJ8 IjsKIGNvbnN0IGNoYXIgRVhQX0NIQVJTW10gICAgICAgICAgICA9ICJlRSI7 CiBjb25zdCBjaGFyIEZMVF9DSEFSU1tdICAgICAgICAgICAgPSAiZEQiOwog CmRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLXh0ZW5zYS5jIGIvZ2FzL2Nv bmZpZy90Yy14dGVuc2EuYwppbmRleCA3MDc1NTMxLi44OTQwMTgxIDEwMDY0 NAotLS0gYS9nYXMvY29uZmlnL3RjLXh0ZW5zYS5jCisrKyBiL2dhcy9jb25m aWcvdGMteHRlbnNhLmMKQEAgLTYyLDkgKzYyLDkgQEAKIAogCiAvKiBEZWZp bmUgY2hhcmFjdGVycyB3aXRoIHNwZWNpYWwgbWVhbmluZ3MgdG8gR0FTLiAg Ki8KLWNvbnN0IGNoYXIgY29tbWVudF9jaGFyc1tdID0gIiMiOwotY29uc3Qg Y2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIjIjsKLWNvbnN0IGNoYXIg bGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsKK2NoYXIgY29tbWVudF9j aGFyc1tdID0gIiMiOworY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIj IjsKK2NoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICI7IjsKIGNvbnN0 IGNoYXIgRVhQX0NIQVJTW10gPSAiZUUiOwogY29uc3QgY2hhciBGTFRfQ0hB UlNbXSA9ICJyUnNTZkZkRHhYcFAiOwogCmRpZmYgLS1naXQgYS9nYXMvY29u ZmlnL3RjLXo4MC5jIGIvZ2FzL2NvbmZpZy90Yy16ODAuYwppbmRleCBmNTdi NGU5Li4zYTEzN2VkIDEwMDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLXo4MC5j CisrKyBiL2dhcy9jb25maWcvdGMtejgwLmMKQEAgLTI0LDkgKzI0LDkgQEAK ICNpbmNsdWRlICJzdWJzZWdzLmgiCiAKIC8qIEV4cG9ydGVkIGNvbnN0YW50 cy4gICovCi1jb25zdCBjaGFyIGNvbW1lbnRfY2hhcnNbXSA9ICI7XDAiOwot Y29uc3QgY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9ICIjO1wwIjsKLWNv bnN0IGNoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICJcMCI7CitjaGFy IGNvbW1lbnRfY2hhcnNbXSA9ICI7XDAiOworY2hhciBsaW5lX2NvbW1lbnRf Y2hhcnNbXSA9ICIjO1wwIjsKK2NoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNb XSA9ICJcMCI7CiBjb25zdCBjaGFyIEVYUF9DSEFSU1tdID0gImVFXDAiOwog Y29uc3QgY2hhciBGTFRfQ0hBUlNbXSA9ICJSckZmXDAiOwogCmRpZmYgLS1n aXQgYS9nYXMvY29uZmlnL3RjLXo4ay5jIGIvZ2FzL2NvbmZpZy90Yy16OGsu YwppbmRleCAyNDQyMDMyLi5kM2QxMjIyIDEwMDY0NAotLS0gYS9nYXMvY29u ZmlnL3RjLXo4ay5jCisrKyBiL2dhcy9jb25maWcvdGMtejhrLmMKQEAgLTI2 LDkgKzI2LDkgQEAKICNkZWZpbmUgREVGSU5FX1RBQkxFCiAjaW5jbHVkZSAi b3Bjb2Rlcy96OGstb3BjLmgiCiAKLWNvbnN0IGNoYXIgY29tbWVudF9jaGFy c1tdID0gIiEiOwotY29uc3QgY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXSA9 ICIjIjsKLWNvbnN0IGNoYXIgbGluZV9zZXBhcmF0b3JfY2hhcnNbXSA9ICI7 IjsKK2NoYXIgY29tbWVudF9jaGFyc1tdID0gIiEiOworY2hhciBsaW5lX2Nv bW1lbnRfY2hhcnNbXSA9ICIjIjsKK2NoYXIgbGluZV9zZXBhcmF0b3JfY2hh cnNbXSA9ICI7IjsKIAogZXh0ZXJuIGludCBtYWNoaW5lOwogZXh0ZXJuIGlu dCBjb2ZmX2ZsYWdzOwpkaWZmIC0tZ2l0IGEvZ2FzL2RvYy9hcy50ZXhpbmZv IGIvZ2FzL2RvYy9hcy50ZXhpbmZvCmluZGV4IDczOWI1YjkuLjAzN2FmNDMg MTAwNjQ0Ci0tLSBhL2dhcy9kb2MvYXMudGV4aW5mbworKysgYi9nYXMvZG9j L2FzLnRleGluZm8KQEAgLTI3OSw2ICsyNzksNyBAQCBnY2MoMSksIGxkKDEp LCBhbmQgdGhlIEluZm8gZW50cmllcyBmb3IgQGZpbGV7YmludXRpbHN9IGFu ZCBAZmlsZXtsZH0uCiAgICBbQGJ7LW1hcGNzLTMyfXxAYnstbWFwY3MtMjZ9 fEBiey1tYXBjcy1mbG9hdH18CiAgICAgQGJ7LW1hcGNzLXJlZW50cmFudH1d CiAgICBbQGJ7LW10aHVtYi1pbnRlcndvcmt9XSBbQGJ7LWt9XQorICAgW0Bi ey1tY2NzfV0KIEBlbmQgaWZzZXQKIEBpZnNldCBCbGFja2ZpbgogCkBAIC04 NDgsNiArODQ5LDggQEAgU2VsZWN0IGVpdGhlciBiaWctZW5kaWFuICgtRUIp IG9yIGxpdHRsZS1lbmRpYW4gKC1FTCkgb3V0cHV0LgogQGl0ZW0gLW10aHVt Yi1pbnRlcndvcmsKIFNwZWNpZnkgdGhhdCB0aGUgY29kZSBoYXMgYmVlbiBn ZW5lcmF0ZWQgd2l0aCBpbnRlcndvcmtpbmcgYmV0d2VlbiBUaHVtYiBhbmQK IEFSTSBjb2RlIGluIG1pbmQuCitAaXRlbSAtbWNjcworVHVybnMgb24gQ29k ZUNvbXBvc2VyIFN0dWRpbyBhc3NlbWJseSBzeW50YXggY29tcGF0aWJpbGl0 eSBtb2RlLgogQGl0ZW0gLWsKIFNwZWNpZnkgdGhhdCBQSUMgY29kZSBoYXMg YmVlbiBnZW5lcmF0ZWQuCiBAZW5kIHRhYmxlCmRpZmYgLS1naXQgYS9nYXMv cmVhZC5oIGIvZ2FzL3JlYWQuaAppbmRleCA4MWI5NThhLi4zZDE4YTlhIDEw MDY0NAotLS0gYS9nYXMvcmVhZC5oCisrKyBiL2dhcy9yZWFkLmgKQEAgLTYx LDkgKzYxLDkgQEAgZXh0ZXJuIGNoYXIgKmZpbmRfZW5kX29mX2xpbmUgKGNo YXIgKiwgaW50KTsKIGV4dGVybiBpbnQgdGFyZ2V0X2JpZ19lbmRpYW47CiAK IC8qIFRoZXNlIGFyZSBpbml0aWFsaXplZCBieSB0aGUgQ1BVIHNwZWNpZmlj IHRhcmdldCBmaWxlcyAodGMtKi5jKS4gICovCi1leHRlcm4gY29uc3QgY2hh ciBjb21tZW50X2NoYXJzW107Ci1leHRlcm4gY29uc3QgY2hhciBsaW5lX2Nv bW1lbnRfY2hhcnNbXTsKLWV4dGVybiBjb25zdCBjaGFyIGxpbmVfc2VwYXJh dG9yX2NoYXJzW107CitleHRlcm4gY2hhciBjb21tZW50X2NoYXJzW107Citl eHRlcm4gY2hhciBsaW5lX2NvbW1lbnRfY2hhcnNbXTsKK2V4dGVybiBjaGFy IGxpbmVfc2VwYXJhdG9yX2NoYXJzW107CiAKIC8qIFRhYmxlIG9mIC1JIGRp cmVjdG9yaWVzLiAgKi8KIGV4dGVybiBjaGFyICoqaW5jbHVkZV9kaXJzOwo= --001a113470d2d424b704f364db0d--