From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) by sourceware.org (Postfix) with ESMTPS id E6CDE3858402 for ; Fri, 5 Jan 2024 13:20:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E6CDE3858402 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E6CDE3858402 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=198.175.65.11 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704460832; cv=none; b=Pi/uFs9zy1We52dqz5hcwpZAWw5SGNT/Xzi5Lpx5MnkyTqWiELD7YhdpEzGvkthr9Ek7c2c7tvND0p3iuVBTLZIaDHLQgwxddRZ3XPI0h/mjamf29yUPd61k9+k0ZiRziUej1yRJ/HtaS+DgpFz4y15B9LZlW6JuovxiAv4bEzc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704460832; c=relaxed/simple; bh=FR2fn+FUWnGXcfqv2UYCUl/4JQpkJtl1Tl4xgT7LoXQ=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=vnIKm0ZlxsMO9BGPSutG3Xo7ZyLHXS8gaGktLJ3FhIyiz9Gu2px6EuxHVv45+Dvi+Kk9HmxqTkdmEXTkiqaT7lY8mHeJMAeOC9bERBdCtbJ3dE7LpinkrIUuPzr01yiNjvEFA1ZzqIVFZSEbGzurfX6odp6AVB7wCvQOIpeidRU= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1704460830; x=1735996830; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=FR2fn+FUWnGXcfqv2UYCUl/4JQpkJtl1Tl4xgT7LoXQ=; b=dPwHFPu3uk6+t6MSWXRhCpXhu8h8cv90WHVe/9TDdq//FiBKh5JLTYlD rcVpKwYoSmfnuMPOTv6GZ0bPWHp7ZGECH3CS8vZsjKmAFTf2JFf78JIjr 14c2PYkMUrXQA2+P8kfILDsME1nlJ7O/s5lWMho0c6f3Yrnu2hQPZDJqY fs0XbnQwRvlPy0qfyhARcA1/imNL3fkFwoWmZWOAS9gTTbvBsRW6UkvXB psqSPCOaGZyu11OmWri+QgpVTtQYSDNzjncYF+i1/rdFKWKBlZG9fal8/ +Eeq9Lt4uhDOmtQDfKi/StgOGOE5rp9lxD79u/nHhtGcBLQppeHPTAwXM w==; X-IronPort-AV: E=McAfee;i="6600,9927,10943"; a="4271367" X-IronPort-AV: E=Sophos;i="6.04,333,1695711600"; d="scan'208";a="4271367" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jan 2024 05:20:29 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10943"; a="809545324" X-IronPort-AV: E=Sophos;i="6.04,333,1695711600"; d="scan'208";a="809545324" Received: from abijaz-mobl2.ger.corp.intel.com (HELO localhost) ([10.246.49.146]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jan 2024 05:20:27 -0800 From: Abdul Basit Ijaz To: gdb-patches@sourceware.org Cc: abdul.b.ijaz@intel.com, aburgess@redhat.com Subject: [PATCH v6 1/1] fortran: Fix arrays of variable length strings for FORTRAN Date: Fri, 5 Jan 2024 14:19:12 +0100 Message-Id: <20240105131912.22658-2-abdul.b.ijaz@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240105131912.22658-1-abdul.b.ijaz@intel.com> References: <20240105131912.22658-1-abdul.b.ijaz@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: RnJvbTogIklqYXosIEFiZHVsIEIiIDxhYmR1bC5iLmlqYXpAaW50ZWwuY29tPgoKQmVmb3JlIHRo aXMgY2hhbmdlIHJlc29sdmVfZHluYW1pY19hcnJheV9vcl9zdHJpbmcgd2FzIGNhbGxlZCBmb3IK YWxsIFRZUEVfQ09ERV9BUlJBWSBhbmQgVFlQRV9DT0RFX1NUUklORyB0eXBlcywgYnV0LCBpbiB0 aGUgZW5kLAp0aGlzIGZ1bmN0aW9uIGFsd2F5cyBjYWxsZWQgY3JlYXRlX2FycmF5X3R5cGVfd2l0 aF9zdHJpZGUsIHdoaWNoCmNyZWF0ZXMgYSBUWVBFX0NPREVfQVJSQVkgdHlwZS4KClN1cHBvc2Ug d2UgaGF2ZQoKc3Vicm91dGluZSB2bGFfYXJyYXkgKGFycjEsIGFycjIpCiAgY2hhcmFjdGVyIChs ZW49Kik6OiBhcnIxICg6KQogIGNoYXJhY3RlciAobGVuPTUpOjogYXJyMiAoOikKCiAgcHJpbnQg KiwgYXJyMSAhIGJyZWFrLWhlcmUKICBwcmludCAqLCBhcnIyCmVuZCBzdWJyb3V0aW5lIHZsYV9h cnJheQoKVGhlICJwcmludCBhcnIxIiBhbmQgInByaW50IGFycjIiIGNvbW1hbmQgYXQgdGhlICJi cmVhay1oZXJlIiBsaW5lCmdpdmVzIHRoZSBmb2xsb3dpbmcgb3V0cHV0OgoKKGdkYikgcHJpbnQg YXJyMQokMSA9IDxpbmNvbXBsZXRlIHR5cGU+CihnZGIpIHByaW50IGFycjIKJDIgPSAoJ2FiY2Rl JywgJ2FiY2RlJywgJ2FiY2RlJykKKGdkYikgcHR5cGUgYXJyMQp0eXBlID0gVHlwZQpFbmQgVHlw ZQooZ2RiKSBwdHlwZSBhcnIyCnR5cGUgPSBjaGFyYWN0ZXIqNSAoMykKCkR3YXJmIGluZm8gdXNp bmcgSW50ZWzCriBGb3J0cmFuIENvbXBpbGVyIGZvciBzdWNoIGNhc2UgY29udGFpbnMgZm9sbG93 aW5nOgogPDE+PGZkPjogQWJicmV2IE51bWJlcjogMTIgKERXX1RBR19zdHJpbmdfdHlwZSkKICAg IDxmZT4gICBEV19BVF9uYW1lICAgICAgICA6IChpbmRpcmVjdCBzdHJpbmcsIG9mZnNldDogMHhk Mik6IC5zdHIuQVJSMQogICAgPDEwMj4gICBEV19BVF9zdHJpbmdfbGVuZ3RoOiAzIGJ5dGUgYmxv Y2s6IDk3IDIzIDggKERXX09QX3B1c2hfb2JqZWN0X2FkZHJlc3M7IERXX09QX3BsdXNfdWNvbnN0 OiA4KQoKQWZ0ZXIgdGhpcyBjaGFuZ2UgcmVzb2x2ZV9keW5hbWljX2FycmF5X29yX3N0cmluZyBu b3cgY2FsbHMKY3JlYXRlX2FycmF5X3R5cGVfd2l0aF9zdHJpZGUgb3IgY3JlYXRlX3N0cmluZ190 eXBlLCBzbyBpZiB0aGUKaW5jb21pbmcgZHluYW1pYyB0eXBlIGlzIGEgVFlQRV9DT0RFX1NUUklO RyB0aGVuIHdlJ2xsIGdldCBiYWNrIGEKVFlQRV9DT0RFX1NUUklORyB0eXBlLiAgTm93IGdkYiBz aG93cyBmb2xsb3dpbmc6CgooZ2RiKSBwIGFycjEKJDEgPSAoJ2FiZGRlZmdoaWonLCAnYWJkZGVm Z2hpaicsICdhYmRkZWZnaGlqJywgJ2FiZGRlZmdoaWonLCAnYWJkZGVmZ2hpaicpCihnZGIpIHAg YXJyMgokMiA9ICgnYWJjZGUnLCAnYWJjZGUnLCAnYWJjZGUnKQooZ2RiKSBwdHlwZSBhcnIxCnR5 cGUgPSBjaGFyYWN0ZXIqMTAgKDUpCihnZGIpIHB0eXBlIGFycjIKdHlwZSA9IGNoYXJhY3Rlcio1 ICgzKQoKRml4aW5nIGFib3ZlIGlzc3VlIGludHJvZHVjZSByZWdyZXNzaW9uIGluIGdkYi5mb3J0 cmFuL21peGVkLWxhbmctc3RhY2suZXhwLAppLmUuIHRoZSB0ZXN0IGZvcmNlcyB0aGUgbGFuZ3Vh Z2UgdG8gQy9DKysgYW5kIHByaW50IGEgRm9ydHJhbiBzdHJpbmcgdmFsdWUuClRoZSBzdHJpbmcg dmFsdWUgaXMgYSBkeW5hbWljIHR5cGUgd2l0aCBjb2RlIFRZUEVfQ09ERV9TVFJJTkcuCgpCZWZv cmUgdGhpcyBjb21taXQgdGhlIGR5bmFtaWMgdHlwZSByZXNvbHV0aW9uIHdvdWxkIGFsd2F5cyBj b252ZXJ0IHRoaXMgdG8KYSBUWVBFX0NPREVfQVJSQVkgb2YgY2hhcmFjdGVycywgd2hpY2ggdGhl IEMgdmFsdWUgcHJpbnRpbmcgY291bGQgaGFuZGxlLgoKQnV0IG5vdyBhZnRlciB0aGlzIGNvbW1p dCB3ZSBnZXQgYSBUWVBFX0NPREVfU1RSSU5HLCB3aGljaApuZWl0aGVyIHRoZSBDIHZhbHVlIHBy aW50aW5nLCBvciB0aGUgZ2VuZXJpYyB2YWx1ZSBwcmludGluZyBjb2RlIGNhbgpzdXBwb3J0LiAg QW5kIHNvLCBJJ3ZlIGFkZGVkIHN1cHBvcnQgZm9yIFRZUEVfQ09ERV9TVFJJTkcgdG8gdGhlIEMg dmFsdWUKcHJpbnRpbmcsIHN0cmluZ3MgYXJlIGhhbmRsZWQganVzdCBsaWtlIGFycmF5cy4KCkxh c3RseSwgaW4gZ2RiLm9wdC9mb3J0cmFuLXN0cmluZy5leHAgYW5kIGdkYi5mb3J0cmFuL3N0cmlu Zy10eXBlcy5leHAKdGVzdHMgaXQgZXhwZWN0cyB0eXBlIG9mIGNoYXJhY3RlciBhcnJheSBpbiAn Y2hhcmFjdGVyICgzKScgZm9ybWF0IGJ1dCBub3cKYWZ0ZXIgdGhpcyBjaGFuZ2Ugd2UgZ2V0ICdj aGFyYWN0ZXIqMycsIHNvIHRlc3RzIGFyZSB1cGRhdGVkIGFjY29yZGluZ2x5LgotLS0KIGdkYi9j LXZhbHByaW50LmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKIGdkYi9nZGJ0eXBl cy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDQyICsrKysrKysrKysrKysrLQogZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmctdHlwZXMuZXhwIHwgIDQgKy0KIGdkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWFycmF5LmV4cCAgICB8IDYwICsrKysrKysrKysrKysrKysr KysrKysKIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWFycmF5LmY5MCAgICB8IDQ1ICsr KysrKysrKysrKysrKysKIGdkYi90ZXN0c3VpdGUvZ2RiLm9wdC9mb3J0cmFuLXN0cmluZy5leHAg ICB8ICAyICstCiA2IGZpbGVzIGNoYW5nZWQsIDE0OSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9u cygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWFy cmF5LmV4cAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxh LWFycmF5LmY5MAoKZGlmZiAtLWdpdCBhL2dkYi9jLXZhbHByaW50LmMgYi9nZGIvYy12YWxwcmlu dC5jCmluZGV4IDM0YTlkMGY2MDc1Li4xMWUwZTEzMzI3MSAxMDA2NDQKLS0tIGEvZ2RiL2MtdmFs cHJpbnQuYworKysgYi9nZGIvYy12YWxwcmludC5jCkBAIC00MjgsNiArNDI4LDcgQEAgY192YWx1 ZV9wcmludF9pbm5lciAoc3RydWN0IHZhbHVlICp2YWwsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0s IGludCByZWN1cnNlLAogICBzd2l0Y2ggKHR5cGUtPmNvZGUgKCkpCiAgICAgewogICAgIGNhc2Ug VFlQRV9DT0RFX0FSUkFZOgorICAgIGNhc2UgVFlQRV9DT0RFX1NUUklORzoKICAgICAgIGNfdmFs dWVfcHJpbnRfYXJyYXkgKHZhbCwgc3RyZWFtLCByZWN1cnNlLCBvcHRpb25zKTsKICAgICAgIGJy ZWFrOwogCmRpZmYgLS1naXQgYS9nZGIvZ2RidHlwZXMuYyBiL2dkYi9nZGJ0eXBlcy5jCmluZGV4 IDI1ODBiNGYxOWVlLi5hNDg0MWYyMzgzMiAxMDA2NDQKLS0tIGEvZ2RiL2dkYnR5cGVzLmMKKysr IGIvZ2RiL2dkYnR5cGVzLmMKQEAgLTIzMTIsMTAgKzIzMTIsNDUgQEAgcmVzb2x2ZV9keW5hbWlj X2FycmF5X29yX3N0cmluZ18xIChzdHJ1Y3QgdHlwZSAqdHlwZSwKIAkJCQkJCSAgICBmcmFtZSwg cmFuayAtIDEsCiAJCQkJCQkgICAgcmVzb2x2ZV9wKTsKICAgICB9CisgIGVsc2UgaWYgKGFyeV9k aW0gIT0gTlVMTCAmJiBhcnlfZGltLT5jb2RlICgpID09IFRZUEVfQ09ERV9TVFJJTkcpCisgICAg eworICAgICAgLyogVGhlIGZvbGxvd2luZyBzcGVjaWFsIGNhc2UgZm9yIFRZUEVfQ09ERV9TVFJJ Tkcgc2hvdWxkIG5vdCBiZQorCSBuZWVkZWQsIGlkZWFsbHkgd2Ugd291bGQgZGVmZXIgcmVzb2x2 aW5nIHRoZSBkeW5hbWljIHR5cGUgb2YgdGhlCisJIGFycmF5IGVsZW1lbnRzIHVudGlsIG5lZWRl ZCBsYXRlciwgYW5kIGluZGVlZCwgdGhlIHJlc29sdmVkIHR5cGUKKwkgb2YgZWFjaCBhcnJheSBl bGVtZW50IG1pZ2h0IGJlIGRpZmZlcmVudCwgc28gYXR0ZW1wdGluZyB0byByZXNvbHZlCisJIHRo ZSB0eXBlIGhlcmUgbWFrZXMgbm8gc2Vuc2UuCisKKwkgSG93ZXZlciwgaW4gRm9ydHJhbiwgZm9y IGFycmF5cyBvZiBzdHJpbmdzLCBlYWNoIGVsZW1lbnQgbXVzdCBiZQorCSB0aGUgc2FtZSB0eXBl LCBhcyBzdWNoLCB0aGUgRFdBUkYgZm9yIHRoZSBzdHJpbmcgbGVuZ3RoIHJlbGllcyBvbgorCSB0 aGUgb2JqZWN0IGFkZHJlc3Mgb2YgdGhlIGFycmF5IGl0c2VsZi4KKworCSBUaGUgcHJvYmxlbSBo ZXJlIGlzIHRoYXQsIHdoZW4gd2UgY3JlYXRlIHZhbHVlJ3MgZnJvbSB0aGUgZHluYW1pYworCSBh cnJheSB0eXBlLCB3ZSByZXNvbHZlIHRoZSBkYXRhIGxvY2F0aW9uLCBhbmQgdXNlIHRoYXQgYXMg dGhlCisJIHZhbHVlIGFkZHJlc3MsIHRoaXMgY29tcGxldGVseSBkaXNjYXJkcyB0aGUgb3JpZ2lu YWwgdmFsdWUKKwkgYWRkcmVzcywgYW5kIGl0IGlzIHRoaXMgb3JpZ2luYWwgdmFsdWUgYWRkcmVz cyB0aGF0IGlzIHRoZQorCSBkZXNjcmlwdG9yIGZvciB0aGUgZHluYW1pYyBhcnJheSwgdGhlIHZl cnkgYWRkcmVzcyB0aGF0IHRoZSBEV0FSRgorCSBuZWVkcyB1cyB0byBwdXNoIGluIG9yZGVyIHRv IHJlc29sdmUgdGhlIGR5bmFtaWMgc3RyaW5nIGxlbmd0aC4KKworCSBXaGF0IHRoaXMgbWVhbnMg dGhlbiwgaXMgdGhhdCwgZ2l2ZW4gdGhlIGN1cnJlbnQgc3RhdGUgb2YgR0RCLCBpZgorCSB3ZSBk b24ndCByZXNvbHZlIHRoZSBzdHJpbmcgbGVuZ3RoIG5vdywgdGhlbiB3ZSB3aWxsIGhhdmUgbG9z dAorCSBhY2Nlc3MgdG8gdGhlIGFkZHJlc3Mgb2YgdGhlIGR5bmFtaWMgb2JqZWN0IGRlc2NyaXB0 b3IsIGFuZCBzbyB3ZQorCSB3aWxsIG5vdCBiZSBhYmxlIHRvIHJlc29sdmUgdGhlIGR5bmFtaWMg c3RyaW5nIGxhdGVyLgorCisJIEZvciBub3cgdGhlbiwgd2UgaGFuZGxlIHNwZWNpYWwgY2FzZSBU WVBFX0NPREVfU1RSSU5HIG9uIGJlaGFsZiBvZgorCSBGb3J0cmFuLCBhbmQgaG9wZSB0aGF0IHRo aXMgZG9lc24ndCBjYXVzZSBwcm9ibGVtcyBmb3IgYW55b25lCisJIGVsc2UuICAqLworICAgICAg ZWx0X3R5cGUgPSByZXNvbHZlX2R5bmFtaWNfdHlwZV9pbnRlcm5hbCAodHlwZS0+dGFyZ2V0X3R5 cGUgKCksCisJCQkJCQlhZGRyX3N0YWNrLCBmcmFtZSwgMCk7CisgICAgfQogICBlbHNlCiAgICAg ZWx0X3R5cGUgPSB0eXBlLT50YXJnZXRfdHlwZSAoKTsKIAogICBwcm9wID0gdHlwZS0+ZHluX3By b3AgKERZTl9QUk9QX0JZVEVfU1RSSURFKTsKKyAgaWYgKHByb3AgIT0gbnVsbHB0ciAmJiB0eXBl LT5jb2RlICgpID09IFRZUEVfQ09ERV9TVFJJTkcpCisgICAgeworICAgICAgIHByb3AgPSBudWxs cHRyOworICAgICAgIHdhcm5pbmcgKF8oImJ5dGUgc3RyaWRlIHByb3BlcnR5IGlnbm9yZWQgb24g c3RyaW5nIHR5cGUiKSk7CisgICAgfQogICBpZiAocHJvcCAhPSBOVUxMICYmIHJlc29sdmVfcCkK ICAgICB7CiAgICAgICBpZiAoZHdhcmYyX2V2YWx1YXRlX3Byb3BlcnR5IChwcm9wLCBmcmFtZSwg YWRkcl9zdGFjaywgJnZhbHVlKSkKQEAgLTIzMzYsOCArMjM3MSwxMSBAQCByZXNvbHZlX2R5bmFt aWNfYXJyYXlfb3Jfc3RyaW5nXzEgKHN0cnVjdCB0eXBlICp0eXBlLAogICAgIGJpdF9zdHJpZGUg PSB0eXBlLT5maWVsZCAoMCkuYml0c2l6ZSAoKTsKIAogICB0eXBlX2FsbG9jYXRvciBhbGxvYyAo dHlwZSwgdHlwZV9hbGxvY2F0b3I6OlNNQVNIKTsKLSAgcmV0dXJuIGNyZWF0ZV9hcnJheV90eXBl X3dpdGhfc3RyaWRlIChhbGxvYywgZWx0X3R5cGUsIHJhbmdlX3R5cGUsIE5VTEwsCi0JCQkJCWJp dF9zdHJpZGUpOworICBpZiAodHlwZS0+Y29kZSAoKSA9PSBUWVBFX0NPREVfU1RSSU5HKQorICAg IHJldHVybiBjcmVhdGVfc3RyaW5nX3R5cGUgKGFsbG9jLCBlbHRfdHlwZSwgcmFuZ2VfdHlwZSk7 CisgIGVsc2UKKyAgICByZXR1cm4gY3JlYXRlX2FycmF5X3R5cGVfd2l0aF9zdHJpZGUgKGFsbG9j LCBlbHRfdHlwZSwgcmFuZ2VfdHlwZSwgTlVMTCwKKwkJCQkJICBiaXRfc3RyaWRlKTsKIH0KIAog LyogUmVzb2x2ZSBhbiBhcnJheSBvciBzdHJpbmcgdHlwZSB3aXRoIGR5bmFtaWMgcHJvcGVydGll cywgcmV0dXJuIGEgbmV3CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0 cmluZy10eXBlcy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy10eXBlcy5l eHAKaW5kZXggMzExNGZiYWFjNzguLjM3OTg1N2IyMTM4IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3N0cmluZy10eXBlcy5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9zdHJpbmctdHlwZXMuZXhwCkBAIC01Miw3ICs1Miw3IEBAIHdpdGhfdGVzdF9wcmVm aXggInRoaXJkIGJyZWFrcG9pbnQsIGZpcnN0IHRpbWUiIHsKICAgICAjIENvbnRpbnVlIHRvIHRo ZSB0aGlyZCBicmVha3BvaW50LgogICAgIGdkYl9jb250aW51ZV90b19icmVha3BvaW50ICJjb250 aW51ZSIKICAgICBnZGJfdGVzdCAicHJpbnQgcyIgIiA9ICdmb28nIgotICAgIGdkYl90ZXN0ICJw dHlwZSBzIiAidHlwZSA9IGNoYXJhY3RlciBcXCgzXFwpIgorICAgIGdkYl90ZXN0ICJwdHlwZSBz IiAidHlwZSA9IGNoYXJhY3RlclxcKjMiCiB9CiAKIHdpdGhfdGVzdF9wcmVmaXggInRoaXJkIGJy ZWFrcG9pbnQsIHNlY29uZCB0aW1lIiB7CkBAIC02NSw1ICs2NSw1IEBAIHdpdGhfdGVzdF9wcmVm aXggInRoaXJkIGJyZWFrcG9pbnQsIHNlY29uZCB0aW1lIiB7CiAgICAgIyBieSBtb3N0IHVzZXJz LCBzbyBzZWVtcyBnb29kIGVub3VnaC4KICAgICBnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAi Y29udGludWUiCiAgICAgZ2RiX3Rlc3QgInByaW50IHMiICIgPSAnZm9vXFxcXG5cXFxcdFxcXFxy XFxcXDAwMGJhciciCi0gICAgZ2RiX3Rlc3QgInB0eXBlIHMiICJ0eXBlID0gY2hhcmFjdGVyIFxc KDEwXFwpIgorICAgIGdkYl90ZXN0ICJwdHlwZSBzIiAidHlwZSA9IGNoYXJhY3RlclxcKjEwIgog fQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtYXJyYXkuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtYXJyYXkuZXhwCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41NWQ1YTY1OTdmOAotLS0gL2Rldi9udWxsCisrKyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWFycmF5LmV4cApAQCAtMCwwICsxLDYwIEBACisj IENvcHlyaWdodCAyMDI0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisjIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgorCitzdGFuZGFyZF90ZXN0ZmlsZSAiLmY5MCIKK2xvYWRfbGliICJmb3J0cmFu LmV4cCIKKworcmVxdWlyZSBhbGxvd19mb3J0cmFuX3Rlc3RzCisKK2lmIHtbcHJlcGFyZV9mb3Jf dGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAorICAg IHtkZWJ1ZyBmOTAgcXVpZXR9XX0geworICAgIHJldHVybiAtMQorfQorCitpZiAhW2ZvcnRyYW5f cnVudG9fbWFpbl0geworICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCisgICAg cmV0dXJuIC0xCit9CisKKyMgVHJ5IHRvIGFjY2VzcyB2bGEgc3RyaW5nIC8gdmxhIHN0cmluZyBh cnJheSAvIHN0cmluZyBhcnJheSB2YWx1ZXMuCitnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5l X251bWJlciAiYXJyX3ZsYTEtcHJpbnQiXQorZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgImFy cl92bGExLXByaW50IgorCisjIEdGb3J0cmFuIGRvZXMgbm90IGVtaXQgRFdfVEFHX3N0cmluZ190 eXBlIGZvciBhcnJheSBvZiB2YXJpYWJsZSBsZW5ndGgKKyMgc3RyaW5nLgoraWYgW3Rlc3RfY29t cGlsZXJfaW5mbyAiZ2ZvcnRyYW4qIiBmOTBdIHsgc2V0dXBfeGZhaWwgKi0qLSogZ2NjLzEwMTgy NiB9CitnZGJfdGVzdCAicHJpbnQgYXJyX3ZsYTEiICBcCisgICAgIiA9IFxcXCgndmxhYXJ5dmxh YXJ5JywgJ3ZsYWFyeXZsYWFyeScsICd2bGFhcnl2bGFhcnknLCAndmxhYXJ5dmxhYXJ5JywgJ3Zs YWFyeXZsYWFyeSdcXFwpIiAgXAorICAgICJwcmludCB2bGEgc3RyaW5nIGFycmF5IgorCitpZiBb dGVzdF9jb21waWxlcl9pbmZvICJnZm9ydHJhbioiIGY5MF0geyBzZXR1cF94ZmFpbCAqLSotKiBn Y2MvMTAxODI2IH0KK2dkYl90ZXN0ICJwdHlwZSBhcnJfdmxhMSIgIFwKKyAgICAidHlwZSA9IGNo YXJhY3RlclxcKjEyIFxcKDVcXCkiICBcCisgICAgInByaW50IHZhcmlhYmxlIGxlbmd0aCBzdHJp bmcgYXJyYXkgdHlwZSIKK2dkYl90ZXN0ICJwcmludCBhcnJfdmxhMiIgIFwKKyAgICAiID0gJ3Zs YWFyeSciICBcCisgICAgInByaW50IHZhcmlhYmxlIGxlbmd0aCBzdHJpbmciCitnZGJfdGVzdCAi cHR5cGUgYXJyX3ZsYTIiICBcCisgICAgInR5cGUgPSBjaGFyYWN0ZXJcXCo2IiAgXAorICAgICJw cmludCB2YXJpYWJsZSBsZW5ndGggc3RyaW5nIHR5cGUiCitnZGJfdGVzdCAicHJpbnQgYXJyMiIg IFwKKyAgICAiID0gXFxcKCd2bGFhcnl2bGEnLCAndmxhYXJ5dmxhJywgJ3ZsYWFyeXZsYSdcXFwp IiAgXAorICAgICJwcmludCBzdHJpbmcgYXJyYXkiCitnZGJfdGVzdCAicHR5cGUgYXJyMiIgIFwK KyAgICAidHlwZSA9IGNoYXJhY3RlclxcKjkgXFwoM1xcKSIgIFwKKyAgICAicHJpbnQgc3RyaW5n IGFycmF5IHR5cGUiCitnZGJfdGVzdCAicHJpbnQgcmFuayhhcnJfdmxhMSkiICBcCisgICAgIiRk ZWNpbWFsIiAgXAorICAgICJwcmludCBzdHJpbmcgYXJyYXkgcmFuayIKZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWFycmF5LmY5MCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vdmxhLWFycmF5LmY5MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uNTZkZDg1YjE1NTEKLS0tIC9kZXYvbnVsbAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3ZsYS1hcnJheS5mOTAKQEAgLTAsMCArMSw0NSBAQAorISBDb3B5cmlnaHQgMjAyNCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyEKKyEgVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyEgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKKyEgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKKyEgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K KyEKKyEgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCishIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCishIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyEgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KKyEKKyEgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyEgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKK3N1 YnJvdXRpbmUgdmxhX2FycmF5X2Z1bmMgKGFycl92bGExLCBhcnJfdmxhMiwgYXJyMikKKyAgY2hh cmFjdGVyIChsZW49Kik6OiBhcnJfdmxhMSAoOikKKyAgY2hhcmFjdGVyIChsZW49Kik6OiBhcnJf dmxhMgorICBjaGFyYWN0ZXIgKGxlbj05KTo6IGFycjIgKDopCisKKyAgcHJpbnQgKiwgYXJyX3Zs YTEgICAgISBhcnJfdmxhMS1wcmludAorICBwcmludCAqLCBhcnJfdmxhMgorICBwcmludCAqLCBh cnIyCisgIHByaW50ICosIHJhbmsoYXJyX3ZsYTEpCitlbmQgc3Vicm91dGluZSB2bGFfYXJyYXlf ZnVuYworCitwcm9ncmFtIHZsYV9hcnJheV9tYWluCitpbnRlcmZhY2UKKyAgc3Vicm91dGluZSB2 bGFfYXJyYXlfZnVuYyAoYXJyX3ZsYTEsIGFycl92bGEyLCBhcnIyKQorICAgIGNoYXJhY3RlciAo bGVuPSopOjogYXJyX3ZsYTEgKDopCisgICAgY2hhcmFjdGVyIChsZW49Kik6OiBhcnJfdmxhMgor ICAgIGNoYXJhY3RlciAobGVuPTkpOjogYXJyMiAoOikKKyAgZW5kIHN1YnJvdXRpbmUgdmxhX2Fy cmF5X2Z1bmMKK2VuZCBpbnRlcmZhY2UKKyAgY2hhcmFjdGVyIChsZW49OSkgOjogYXJyMSAoMykK KyAgY2hhcmFjdGVyIChsZW49NikgOjogYXJyMgorICBjaGFyYWN0ZXIgKGxlbj0xMikgOjogYXJy MyAoNSkKKworICBhcnIxID0gJ3ZsYWFyeXZsYScKKyAgYXJyMiA9ICd2bGFhcnknCisgIGFycjMg PSAndmxhYXJ5dmxhYXJ5JworCisgIGNhbGwgdmxhX2FycmF5X2Z1bmMgKGFycjMsIGFycjIsIGFy cjEpCisKK2VuZCBwcm9ncmFtIHZsYV9hcnJheV9tYWluCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5vcHQvZm9ydHJhbi1zdHJpbmcuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2Zv cnRyYW4tc3RyaW5nLmV4cAppbmRleCBlNDJiMjkwNTU3OC4uMDE3NTBlMzU5ZGEgMTAwNjQ0Ci0t LSBhL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9mb3J0cmFuLXN0cmluZy5leHAKKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIub3B0L2ZvcnRyYW4tc3RyaW5nLmV4cApAQCAtMzMsNSArMzMsNSBAQCBpZiB7 IVtydW50byBmXX0gewogCiBnZGJfdGVzdF9ub19vdXRwdXQgInNldCBwcmludCBmcmFtZS1hcmd1 bWVudHMgYWxsIgogZ2RiX3Rlc3QgImZyYW1lIiAiLipzPSdmb28nLioiCi1nZGJfdGVzdCAicHR5 cGUgcyIgInR5cGUgPSBjaGFyYWN0ZXIgXFwoM1xcKSIKK2dkYl90ZXN0ICJwdHlwZSBzIiAidHlw ZSA9IGNoYXJhY3RlclxcKjMiCiBnZGJfdGVzdCAicCBzIiAiXFwkXFswLTlcXSogPSAnZm9vJyIK LS0gCjIuMzQuMQoKSW50ZWwgRGV1dHNjaGxhbmQgR21iSApSZWdpc3RlcmVkIEFkZHJlc3M6IEFt IENhbXBlb24gMTAsIDg1NTc5IE5ldWJpYmVyZywgR2VybWFueQpUZWw6ICs0OSA4OSA5OSA4ODUz LTAsIHd3dy5pbnRlbC5kZSA8aHR0cDovL3d3dy5pbnRlbC5kZT4KTWFuYWdpbmcgRGlyZWN0b3Jz OiBDaHJpc3RpbiBFaXNlbnNjaG1pZCwgU2hhcm9uIEhlY2ssIFRpZmZhbnkgRG9vbiBTaWx2YSAg CkNoYWlycGVyc29uIG9mIHRoZSBTdXBlcnZpc29yeSBCb2FyZDogTmljb2xlIExhdQpSZWdpc3Rl cmVkIE9mZmljZTogTXVuaWNoCkNvbW1lcmNpYWwgUmVnaXN0ZXI6IEFtdHNnZXJpY2h0IE11ZW5j aGVuIEhSQiAxODY5MjgK