From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adonay Felipe Nogueira Subject: Are these paths important to fix/set to (in/out)puts? Date: Tue, 04 Oct 2016 13:39:47 -0300 Message-ID: <1475599187.4862.30.camel@adfeno-VPCEG17FB> Mime-Version: 1.0 Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-eXEzPcbjxSTT+gCjEI5x" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44304) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1brSlT-0000se-V5 for guix-devel@gnu.org; Tue, 04 Oct 2016 12:40:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1brSlP-0008Tw-Kr for guix-devel@gnu.org; Tue, 04 Oct 2016 12:40:22 -0400 Received: from mail.openmailbox.org ([62.4.1.34]:38904) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1brSlP-0008Td-0G for guix-devel@gnu.org; Tue, 04 Oct 2016 12:40:19 -0400 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel --=-eXEzPcbjxSTT+gCjEI5x Content-Type: multipart/mixed; boundary="=-2UBZrHaqOatWdAPCuO0T" --=-2UBZrHaqOatWdAPCuO0T Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Note 1: I'm not a programmer, so I don't understand how Autconf, Automake, GCC, Libtool, M4, or Make work. Note 2: If someone already did this evaluation on Artanis, or if there's already a consensus on how to handle such files, please tell me. While waiting for another patch for Artanis to be approved (which should fix my previous one and also an error on a new Artanis server Scheme script), I decided to use my usual Guix script aid to search for possible hard-coded paths, so I went ahead and cloned their repository and, from there, I did: # Begin Guix script aid #!/bin/sh # Only works with GNU `grep`. grep -V | head -n 1 | grep -iq 'gnu' || exit 1 find "." ! \( -type d \) -exec \ grep -n \ '[^[:alnum:]]\([s]bin\|doc\|etc\|include\|lib\|share\|usr \)[^[:alnum:]]' \ '{}' \; -print # End Guix script aid Along many false-positives, After hours of manual filtering, I found lots of suspicious matches, which are attached in this email. The log file output is as follows: [:digit:]+: [Matching line.] [...] ./[Relative path of file containing above matches.] [Immediately repeat.] Although I can barely understand what is written in these files, I see paths pointing to "/usr" or simply to paths starting from "/". There are others, however, that don't seem to be standard in GuixSD, but are still tested for in the files described in the attachment (that is, depending on the system being used, its directory hierarchy, and the order of the tests, then a different action might be triggered). There is a possibility that can answer my question more safely, that is: I don't know if `guix build` isolates the build environment by default, but if this is really done by default, then we can focus on fixing paths related to the typical directory hierarchy of of GuixSD. --=-2UBZrHaqOatWdAPCuO0T Content-Disposition: attachment; filename="artanis.log" Content-Type: text/x-log; name="artanis.log"; charset="UTF-8" Content-Transfer-Encoding: base64 MTE3MTogICAgX0xUX1RBR1ZBUihbbHRfY3ZfYWl4X2xpYnBhdGhfXSwgWyQxXSk9L3Vzci9saWI6 L2xpYg0KMTI5NDogICAgY2FzZSBgL3Vzci9iaW4vZmlsZSBjb25mdGVzdC4kYWNfb2JqZXh0YCBp bg0KMTMxMTogICAgICBjYXNlIGAvdXNyL2Jpbi9maWxlIGNvbmZ0ZXN0LiRhY19vYmpleHRgIGlu DQoxMzIzOiAgICAgIGNhc2UgYC91c3IvYmluL2ZpbGUgY29uZnRlc3QuJGFjX29iamV4dGAgaW4N CjEzNDU6ICAgIGNhc2UgYC91c3IvYmluL2ZpbGUgY29uZnRlc3QuJGFjX29iamV4dGAgaW4NCjEz NTM6ICAgIGNhc2UgYC91c3IvYmluL2ZpbGUgY29uZnRlc3QuJGFjX29iamV4dGAgaW4NCjEzNjE6 ICAgIGNhc2UgYC91c3IvYmluL2ZpbGUgY29uZnRlc3QuJGFjX29iamV4dGAgaW4NCjEzODE6ICAg IGNhc2UgYC91c3IvYmluL2ZpbGUgY29uZnRlc3Qub2AgaW4NCjEzODg6CSAgICBjYXNlIGAvdXNy L2Jpbi9maWxlIGNvbmZ0ZXN0Lm9gIGluDQoxNDU2OiAgICBjYXNlIGAvdXNyL2Jpbi9maWxlIGNv bmZ0ZXN0Lm9gIGluDQoxNzE4OiAgICBpZiB0ZXN0IC14IC9zYmluL3N5c2N0bDsgdGhlbg0KMTcx OTogICAgICBsdF9jdl9zeXNfbWF4X2NtZF9sZW49YC9zYmluL3N5c2N0bCAtbiBrZXJuLmFyZ21h eGANCjE3MjA6ICAgIGVsaWYgdGVzdCAteCAvdXNyL3NiaW4vc3lzY3RsOyB0aGVuDQoxNzIxOiAg ICAgIGx0X2N2X3N5c19tYXhfY21kX2xlbj1gL3Vzci9zYmluL3N5c2N0bCAtbiBrZXJuLmFyZ21h eGANCjE3NDc6ICAgIGlmIHRlc3QgLXggL3NiaW4vc3lzY29uZmlnOyB0aGVuDQoxNzQ4OiAgICAg IGNhc2UgYC9zYmluL3N5c2NvbmZpZyAtcSBwcm9jIGV4ZWNfZGlzYWJsZV9hcmdfbGltaXRgIGlu DQoxNzU3OiAgICBrYXJnbWF4PWBncmVwIEFSR19NQVggL2V0Yy9jb25mL2NmLmQvc3R1bmUgMj4v ZGV2L251bGxgDQoyMzU5OiAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIvbGliIC91c3IvbGli IC91c3IvbG9jYWwvbGliIg0KMjM3MzpzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0iL2xpYiAv dXNyL2xpYiINCjI1MTQ6ICBmaW5pc2hfY21kcz0nUEFUSD0iXCRQQVRIOi9zYmluIiBsZGNvbmZp ZyAkbGliZGlyJw0KMjUxNjogIHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz0iL3NobGliIC91c3Iv bGliIC91c3IvWDExL2xpYiAvdXNyL2NvbnRyaWIvbGliIC9saWIgL3Vzci9sb2NhbC9saWIiDQoy NTE3OiAgc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWM9Ii9zaGxpYiAvdXNyL2xpYiAvdXNyL2xv Y2FsL2xpYiINCjI1NTM6ICAgICAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIkc3lzX2xpYl9z ZWFyY2hfcGF0aF9zcGVjIC91c3IvbGliL3czMmFwaSJdKQ0KMjY0NDogIHN5c19saWJfc2VhcmNo X3BhdGhfc3BlYz0iJHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYyAvdXNyL2xvY2FsL2xpYiJdKQ0K MjY0NTogIHN5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjPScvdXNyL2xvY2FsL2xpYiAvbGliIC91 c3IvbGliJw0KMjY2MDogIGlmIHRlc3QgLXggL3Vzci9iaW4vb2JqZm9ybWF0OyB0aGVuDQoyNjYx OiAgICBvYmpmb3JtYXQ9YC91c3IvYmluL29iamZvcm1hdGANCjI3MTE6ICBzeXNfbGliX2Rsc2Vh cmNoX3BhdGhfc3BlYz0nL2Jvb3QvaG9tZS9jb25maWcvbGliIC9ib290L2NvbW1vbi9saWIgL2Jv b3Qvc3lzdGVtL2xpYicNCjI3MzE6ICAgICAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIvdXNy L2xpYi9ocHV4MzIgL3Vzci9sb2NhbC9saWIvaHB1eDMyIC91c3IvbG9jYWwvbGliIg0KMjczMjog ICAgICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0vdXNyL2xpYi9ocHV4MzINCjI3MzQ6ICAg ICAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIvdXNyL2xpYi9ocHV4NjQgL3Vzci9sb2NhbC9s aWIvaHB1eDY0Ig0KMjczNTogICAgICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0vdXNyL2xp Yi9ocHV4NjQNCjI3NDY6ICAgIHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz0iL3Vzci9saWIvcGEy MF82NCAvdXNyL2Njcy9saWIvcGEyMF82NCINCjI4MDg6ICBzeXNfbGliX3NlYXJjaF9wYXRoX3Nw ZWM9Ii91c3IvbGliJGxpYnN1ZmYgL2xpYiRsaWJzdWZmIC91c3IvbG9jYWwvbGliJGxpYnN1ZmYi DQoyODA5OiAgc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWM9Ii91c3IvbGliJGxpYnN1ZmYgL2xp YiRsaWJzdWZmIg0KMjg0NTogIGZpbmlzaF9jbWRzPSdQQVRIPSJcJFBBVEg6L3NiaW4iIGxkY29u ZmlnIC1uICRsaWJkaXInDQoyODc1OiAgaWYgdGVzdCAtZiAvZXRjL2xkLnNvLmNvbmY7IHRoZW4N CjI4NzY6ICAgIGx0X2xkX2V4dHJhPWBhd2sgJy9eaW5jbHVkZSAvIHsgc3lzdGVtKHNwcmludGYo ImNkIC9ldGM7IGNhdCAlcyAyPi9kZXYvbnVsbCIsIFxbJF0yKSk7IHNraXAgPSAxOyB9IHsgaWYg KCFza2lwKSBwcmludCBcWyRdMDsgc2tpcCA9IDA7IH0nIDwgL2V0Yy9sZC5zby5jb25mIHwgJFNF RCAtZSAncy8jLiovLzsvXlsJIF0qaHdjYXBbCSBdL2Q7cy9bOiwJXS8gL2c7cy89W149XSokLy87 cy89W149IF0qIC8gL2c7cy8iLy9nOy9eJC9kJyB8IHRyICdcbicgJyAnYA0KMjg3NzogICAgc3lz X2xpYl9kbHNlYXJjaF9wYXRoX3NwZWM9Ii9saWIgL3Vzci9saWIgJGx0X2xkX2V4dHJhIg0KMjkw NzogICAgZmluaXNoX2NtZHM9J1BBVEg9IlwkUEFUSDovc2JpbiIgbGRjb25maWcgLW0gJGxpYmRp cicNCjI5NDA6ICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0vdXNyL2xpYg0KMjk0ODogIGZp bmlzaF9jbWRzPSdQQVRIPSJcJFBBVEg6L3NiaW4iIGxkY29uZmlnIC1tICRsaWJkaXInDQoyOTY3 OiAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIvbGliIC91c3IvbGliIC91c3IvbG9jYWwvbGli Ig0KMjk5MDogIHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz0iL3Vzci9zaGxpYiAvdXNyL2Njcy9s aWIgL3Vzci9saWIvY21wbHJzL2NjIC91c3IvbGliIC91c3IvbG9jYWwvbGliIC92YXIvc2hsaWIi DQozMDE0OiAgZmluaXNoX2NtZHM9J1BBVEg9IlwkUEFUSDovdXNyL2V0YyIgbGRjb25maWcgJGxp YmRpcicNCjMwNDE6ICAgICAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPScvbGliIC91c3IvbGli IC91c3IvY2NzL2xpYicNCjMwNDc6ICBpZiB0ZXN0IC1kIC91c3IvbmVjOyB0aGVuDQozMDY1OiAg ICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9Jy91c3IvbG9jYWwvbGliIC91c3IvZ251L2xpYiAv dXNyL2Njcy9saWIgL3Vzci9saWIgL2xpYicNCjMwNjc6ICAgIHN5c19saWJfc2VhcmNoX3BhdGhf c3BlYz0nL3Vzci9jY3MvbGliIC91c3IvbGliJw0KMzA3MDogICAgICAgIHN5c19saWJfc2VhcmNo X3BhdGhfc3BlYz0iJHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYyAvbGliIg0KMzA3NDogIHN5c19s aWJfZGxzZWFyY2hfcGF0aF9zcGVjPScvdXNyL2xpYicNCjMyMzc6W19MVF9QQVRIX1RPT0xfUFJF RklYKCR7YWNfdG9vbF9wcmVmaXh9ZmlsZSwgL3Vzci9iaW4kUEFUSF9TRVBBUkFUT1IkUEFUSCkN CjMyNDA6ICAgIF9MVF9QQVRIX1RPT0xfUFJFRklYKGZpbGUsIC91c3IvYmluJFBBVEhfU0VQQVJB VE9SJFBBVEgpDQozNDY3OiAgbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2Q9J2ZpbGVfbWFnaWMg RUxGIFtbMC05XV1bWzAtOV1dKi1iaXQgW1tNTF1dU0IgKHNoYXJlZCBvYmplY3R8ZHluYW1pYyBs aWIpJw0KMzQ2ODogIGx0X2N2X2ZpbGVfbWFnaWNfY21kPScvdXNyL2Jpbi9maWxlIC1MJw0KMzUw OTogICAgICBsdF9jdl9maWxlX21hZ2ljX2NtZD0vdXNyL2Jpbi9maWxlDQozNTEwOiAgICAgIGx0 X2N2X2ZpbGVfbWFnaWNfdGVzdF9maWxlPWBlY2hvIC91c3IvbGliL2xpYmMuc28uKmANCjM1MjM6 ICBsdF9jdl9maWxlX21hZ2ljX2NtZD0vdXNyL2Jpbi9maWxlDQozNTI3OiAgICBsdF9jdl9maWxl X21hZ2ljX3Rlc3RfZmlsZT0vdXNyL2xpYi9ocHV4MzIvbGliYy5zbw0KMzUzMTogICAgbHRfY3Zf ZmlsZV9tYWdpY190ZXN0X2ZpbGU9L3Vzci9saWIvcGEyMF82NC9saWJjLnNsDQozNTM1OiAgICBs dF9jdl9maWxlX21hZ2ljX3Rlc3RfZmlsZT0vdXNyL2xpYi9saWJjLnNsDQozNTQyOiAgbHRfY3Zf ZGVwbGlic19jaGVja19tZXRob2Q9J21hdGNoX3BhdHRlcm4gL2xpYltbXi9dXSsoXC5zb3xcLmEp JCcNCjM1NjI6ICAgIGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kPSdtYXRjaF9wYXR0ZXJuIC9s aWJbW14vXV0rKFwuc29cLltbMC05XV0rXC5bWzAtOV1dK3xfcGljXC5hKSQnDQozNTY0OiAgICBs dF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD0nbWF0Y2hfcGF0dGVybiAvbGliW1teL11dKyhcLnNv fF9waWNcLmEpJCcNCjM1Njk6ICBsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD0nZmlsZV9tYWdp YyBFTEYgW1swLTldXVtbMC05XV0qLWJpdCBbW01MXV1TQiAoZXhlY3V0YWJsZXxkeW5hbWljIGxp YiknDQozNTcwOiAgbHRfY3ZfZmlsZV9tYWdpY19jbWQ9L3Vzci9iaW4vZmlsZQ0KMzU3MTogIGx0 X2N2X2ZpbGVfbWFnaWNfdGVzdF9maWxlPS91c3IvbGliL2xpYm5scy5zbw0KMzU4MDogICAgbHRf Y3ZfZGVwbGlic19jaGVja19tZXRob2Q9J21hdGNoX3BhdHRlcm4gL2xpYltbXi9dXSsoXC5zb1wu W1swLTldXStcLltbMC05XV0rfFwuc298X3BpY1wuYSkkJw0KMzU4MjogICAgbHRfY3ZfZGVwbGli c19jaGVja19tZXRob2Q9J21hdGNoX3BhdHRlcm4gL2xpYltbXi9dXSsoXC5zb1wuW1swLTldXStc LltbMC05XV0rfF9waWNcLmEpJCcNCjM2MDY6ICAgIGx0X2N2X2ZpbGVfbWFnaWNfdGVzdF9maWxl PWBlY2hvIC91c3IvbGliL2xpYmMuc28qYA0KMzYxODogICAgbHRfY3ZfZmlsZV9tYWdpY190ZXN0 X2ZpbGU9L2xpYi9saWJjLnNvDQozNjgzOiAgICBmb3IgYWNfZGlyIGluICRQQVRIIC91c3IvY2Nz L2Jpbi9lbGYgL3Vzci9jY3MvYmluIC91c3IvdWNiIC9iaW47IGRvDQo0MjY4OiAgICAgIGlmIHRl c3QgLWQgL3Vzci9uZWM7IHRoZW4NCjQzMDE6CSAgX0xUX1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVy X3N0YXRpYywgJDEpPSctYm5zbyAtYkk6L2xpYi9zeXNjYWxscy5leHAnDQo0MzA4OgkgICMgX0xU X1RBR1ZBUihsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYywgJDEpPSItLW5vX2F1dG9faW5zdGFudGlh dGlvbiAtdSBfX21haW4gLXUgX19wcmVtYWluIC11IF9hYm9ydCAtciAkQ09PTF9ESVIvbGliL2xp Yk9yYi5hICRNVk1FX0RJUi9saWIvQ0MvbGliQy5hICRNVk1FX0RJUi9saWIvY2xhc3NpeC9saWJj eC5zLmEiDQo0NjE5OiAgICAgIGlmIHRlc3QgLWQgL3Vzci9uZWM7IHRoZW4NCjQ2NDY6CV9MVF9U QUdWQVIobHRfcHJvZ19jb21waWxlcl9zdGF0aWMsICQxKT0nLWJuc28gLWJJOi9saWIvc3lzY2Fs bHMuZXhwJw0KNDgyODogICAgICBpZiB0ZXN0IC1kIC91c3IvbmVjOyB0aGVuDQo1ODM4OiAgICAg IGlmIHRlc3QgLWYgL3Vzci9saWJleGVjL2xkLnNvOyB0aGVuDQo3MTMwOglpZiB0ZXN0IC1mIC91 c3IvbGliZXhlYy9sZC5zbzsgdGhlbg0KODI1NDpmb3IgbHRfYWNfc2VkIGluICRsdF9hY19zZWRf bGlzdCAvdXNyL3hwZzQvYmluL3NlZDsgZG8NCi4vbTQvbGlidG9vbC5tNA0KNTM6ICBpZiB0ZXN0 ICJYYCgvdXNyL3VjYi9lY2hvIC1uIC1uICRhc19lY2hvKSAyPi9kZXYvbnVsbGAiID0gIlgtbiAk YXNfZWNobyI7IHRoZW4NCjU0OiAgICBhc19lY2hvX2JvZHk9J2V2YWwgL3Vzci91Y2IvZWNobyAt biAiJDEkYXNfbmwiJw0KNTU6ICAgIGFzX2VjaG9fbj0nL3Vzci91Y2IvZWNobyAtbicNCjIyMDpm b3IgYXNfZGlyIGluIC9iaW4kUEFUSF9TRVBBUkFUT1IvdXNyL2JpbiRQQVRIX1NFUEFSQVRPUiRQ QVRIDQo1ODE6YWNfZGVmYXVsdF9wcmVmaXg9L3Vzci9sb2NhbA0KODAyOnNiaW5kaXI9JyR7ZXhl Y19wcmVmaXh9L3NiaW4nDQo4MDQ6ZGF0YXJvb3RkaXI9JyR7cHJlZml4fS9zaGFyZScNCjgwNjpz eXNjb25mZGlyPScke3ByZWZpeH0vZXRjJw0KODEwOmluY2x1ZGVkaXI9JyR7cHJlZml4fS9pbmNs dWRlJw0KODExOm9sZGluY2x1ZGVkaXI9Jy91c3IvaW5jbHVkZScNCjgxMjpkb2NkaXI9JyR7ZGF0 YXJvb3RkaXJ9L2RvYy8ke1BBQ0tBR0VfVEFSTkFNRX0nDQo4MTg6bGliZGlyPScke2V4ZWNfcHJl Zml4fS9saWInDQoyMDY3Oi91c3IvYmluL3VuYW1lIC1wID0gYCgvdXNyL2Jpbi91bmFtZSAtcCkg Mj4vZGV2L251bGwgfHwgZWNobyB1bmtub3duYA0KMjA3MTovdXNyL2Jpbi9hcmNoIC1rICAgICAg ID0gYCgvdXNyL2Jpbi9hcmNoIC1rKSAyPi9kZXYvbnVsbCAgICAgICB8fCBlY2hvIHVua25vd25g DQoyMDcyOi91c3IvY29udmV4L2dldHN5c2luZm8gPSBgKC91c3IvY29udmV4L2dldHN5c2luZm8p IDI+L2Rldi9udWxsIHx8IGVjaG8gdW5rbm93bmANCjIwNzM6L3Vzci9iaW4vaG9zdGluZm8gICAg ICA9IGAoL3Vzci9iaW4vaG9zdGluZm8pIDI+L2Rldi9udWxsICAgICAgfHwgZWNobyB1bmtub3du YA0KMjA3NTovdXNyL2Jpbi9vc2xldmVsICAgICAgID0gYCgvdXNyL2Jpbi9vc2xldmVsKSAyPi9k ZXYvbnVsbCAgICAgICB8fCBlY2hvIHVua25vd25gDQoyMjkwOiAgYWNfc2l0ZV9maWxlMT0kcHJl Zml4L3NoYXJlL2NvbmZpZy5zaXRlDQoyMjkxOiAgYWNfc2l0ZV9maWxlMj0kcHJlZml4L2V0Yy9j b25maWcuc2l0ZQ0KMjI5MzogIGFjX3NpdGVfZmlsZTE9JGFjX2RlZmF1bHRfcHJlZml4L3NoYXJl L2NvbmZpZy5zaXRlDQoyMjk0OiAgYWNfc2l0ZV9maWxlMj0kYWNfZGVmYXVsdF9wcmVmaXgvZXRj L2NvbmZpZy5zaXRlDQozMTQwOiAgICBpZiB0ZXN0ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf ZXh0IiA9ICIvdXNyL3VjYi9jYyI7IHRoZW4NCjM1Mzg6ICAgIGZvciBDUFAgaW4gIiRDQyAtRSIg IiRDQyAtRSAtdHJhZGl0aW9uYWwtY3BwIiAiL2xpYi9jcHAiDQozNjg3OiAgL2V0Yy8qIHwgL3Vz ci9zYmluLyogfCAvdXNyL2V0Yy8qIHwgL3NiaW4vKiB8IC91c3IvYWZzd3MvYmluLyogfCBcDQoz Njg5OiAgL3Vzci91Y2IvKiApIDs7DQozODA5OmZvciBhc19kaXIgaW4gJFBBVEgkUEFUSF9TRVBB UkFUT1IvdXNyL3hwZzQvYmluDQozODUxOiAgICBhc19mbl9lcnJvciAkPyAibm8gYWNjZXB0YWJs ZSBncmVwIGNvdWxkIGJlIGZvdW5kIGluICRQQVRIJFBBVEhfU0VQQVJBVE9SL3Vzci94cGc0L2Jp biIgIiRMSU5FTk8iIDUNCjM4NzU6Zm9yIGFzX2RpciBpbiAkUEFUSCRQQVRIX1NFUEFSQVRPUi91 c3IveHBnNC9iaW4NCjM5MTc6ICAgIGFzX2ZuX2Vycm9yICQ/ICJubyBhY2NlcHRhYmxlIGVncmVw IGNvdWxkIGJlIGZvdW5kIGluICRQQVRIJFBBVEhfU0VQQVJBVE9SL3Vzci94cGc0L2JpbiIgIiRM SU5FTk8iIDUNCjUxOTM6ICAgICAgICBhY2xfbGliZGlyc3RlbT1saWIvNjQNCjUxOTU6ICAgICAg ICAgIHNwYXJjKikgICAgICAgIGFjbF9saWJkaXJzdGVtMj1saWIvc3BhcmN2OSA7Ow0KNTE5Njog ICAgICAgICAgaSo4NiB8IHg4Nl82NCkgYWNsX2xpYmRpcnN0ZW0yPWxpYi9hbWQ2NCA7Ow0KNTMz MTogICAgICAgICAgICAgICAgICAgIGlmIHRlc3QgIlgkZGlyIiAhPSAiWC91c3IvJGFjbF9saWJk aXJzdGVtIiBcDQo1MzMyOiAgICAgICAgICAgICAmJiB0ZXN0ICJYJGRpciIgIT0gIlgvdXNyLyRh Y2xfbGliZGlyc3RlbTIiOyB0aGVuDQo1MzQwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpZiB0ZXN0ICJYJGRpciIgIT0gIlgvdXNyLyRhY2xfbGliZGlyc3RlbSIgXA0KNTM0MTog ICAgICAgICAgICAgICAgICAgICYmIHRlc3QgIlgkZGlyIiAhPSAiWC91c3IvJGFjbF9saWJkaXJz dGVtMiI7IHRoZW4NCjUzOTI6ICAgICAgICAgICAgICAgICAgICBpZiB0ZXN0ICJYJGRpciIgIT0g IlgvdXNyLyRhY2xfbGliZGlyc3RlbSIgXA0KNTM5MzogICAgICAgICAgICAgJiYgdGVzdCAiWCRk aXIiICE9ICJYL3Vzci8kYWNsX2xpYmRpcnN0ZW0yIjsgdGhlbg0KNTQwMTogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaWYgdGVzdCAiWCRkaXIiICE9ICJYL3Vzci8kYWNsX2xpYmRp cnN0ZW0iIFwNCjU0MDI6ICAgICAgICAgICAgICAgICAgICAmJiB0ZXN0ICJYJGRpciIgIT0gIlgv dXNyLyRhY2xfbGliZGlyc3RlbTIiOyB0aGVuDQo1NjUyOmZvciBhc19kaXIgaW4gJFBBVEgkUEFU SF9TRVBBUkFUT1IvdXNyL3hwZzQvYmluDQo1Njk0OiAgICBhc19mbl9lcnJvciAkPyAibm8gYWNj ZXB0YWJsZSBmZ3JlcCBjb3VsZCBiZSBmb3VuZCBpbiAkUEFUSCRQQVRIX1NFUEFSQVRPUi91c3Iv eHBnNC9iaW4iICIkTElORU5PIiA1DQo1ODUzOiAgICBmb3IgYWNfZGlyIGluICRQQVRIIC91c3Iv Y2NzL2Jpbi9lbGYgL3Vzci9jY3MvYmluIC91c3IvdWNiIC9iaW47IGRvDQo2MDk0OiAgICBpZiB0 ZXN0IC14IC9zYmluL3N5c2N0bDsgdGhlbg0KNjA5NTogICAgICBsdF9jdl9zeXNfbWF4X2NtZF9s ZW49YC9zYmluL3N5c2N0bCAtbiBrZXJuLmFyZ21heGANCjYwOTY6ICAgIGVsaWYgdGVzdCAteCAv dXNyL3NiaW4vc3lzY3RsOyB0aGVuDQo2MDk3OiAgICAgIGx0X2N2X3N5c19tYXhfY21kX2xlbj1g L3Vzci9zYmluL3N5c2N0bCAtbiBrZXJuLmFyZ21heGANCjYxMjM6ICAgIGlmIHRlc3QgLXggL3Ni aW4vc3lzY29uZmlnOyB0aGVuDQo2MTI0OiAgICAgIGNhc2UgYC9zYmluL3N5c2NvbmZpZyAtcSBw cm9jIGV4ZWNfZGlzYWJsZV9hcmdfbGltaXRgIGluDQo2MTMzOiAgICBrYXJnbWF4PWBncmVwIEFS R19NQVggL2V0Yy9jb25mL2NmLmQvc3R1bmUgMj4vZGV2L251bGxgDQo2NDY2OiAgbHRfY3ZfZmls ZV9tYWdpY19jbWQ9Jy91c3IvYmluL2ZpbGUgLUwnDQo2NTA3OiAgICAgIGx0X2N2X2ZpbGVfbWFn aWNfY21kPS91c3IvYmluL2ZpbGUNCjY1MDg6ICAgICAgbHRfY3ZfZmlsZV9tYWdpY190ZXN0X2Zp bGU9YGVjaG8gL3Vzci9saWIvbGliYy5zby4qYA0KNjUyMTogIGx0X2N2X2ZpbGVfbWFnaWNfY21k PS91c3IvYmluL2ZpbGUNCjY1MjU6ICAgIGx0X2N2X2ZpbGVfbWFnaWNfdGVzdF9maWxlPS91c3Iv bGliL2hwdXgzMi9saWJjLnNvDQo2NTI5OiAgICBsdF9jdl9maWxlX21hZ2ljX3Rlc3RfZmlsZT0v dXNyL2xpYi9wYTIwXzY0L2xpYmMuc2wNCjY1MzM6ICAgIGx0X2N2X2ZpbGVfbWFnaWNfdGVzdF9m aWxlPS91c3IvbGliL2xpYmMuc2wNCjY1NDA6ICBsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD0n bWF0Y2hfcGF0dGVybiAvbGliW14vXSsoXC5zb3xcLmEpJCcNCjY1NjA6ICAgIGx0X2N2X2RlcGxp YnNfY2hlY2tfbWV0aG9kPSdtYXRjaF9wYXR0ZXJuIC9saWJbXi9dKyhcLnNvXC5bMC05XStcLlsw LTldK3xfcGljXC5hKSQnDQo2NTYyOiAgICBsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD0nbWF0 Y2hfcGF0dGVybiAvbGliW14vXSsoXC5zb3xfcGljXC5hKSQnDQo2NTY4OiAgbHRfY3ZfZmlsZV9t YWdpY19jbWQ9L3Vzci9iaW4vZmlsZQ0KNjU2OTogIGx0X2N2X2ZpbGVfbWFnaWNfdGVzdF9maWxl PS91c3IvbGliL2xpYm5scy5zbw0KNjU3ODogICAgbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2Q9 J21hdGNoX3BhdHRlcm4gL2xpYlteL10rKFwuc29cLlswLTldK1wuWzAtOV0rfFwuc298X3BpY1wu YSkkJw0KNjU4MDogICAgbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2Q9J21hdGNoX3BhdHRlcm4g L2xpYlteL10rKFwuc29cLlswLTldK1wuWzAtOV0rfF9waWNcLmEpJCcNCjY2MDQ6ICAgIGx0X2N2 X2ZpbGVfbWFnaWNfdGVzdF9maWxlPWBlY2hvIC91c3IvbGliL2xpYmMuc28qYA0KNjYxNjogICAg bHRfY3ZfZmlsZV9tYWdpY190ZXN0X2ZpbGU9L2xpYi9saWJjLnNvDQo3NzExOiAgICBjYXNlIGAv dXNyL2Jpbi9maWxlIGNvbmZ0ZXN0LiRhY19vYmpleHRgIGluDQo3NzMyOiAgICAgIGNhc2UgYC91 c3IvYmluL2ZpbGUgY29uZnRlc3QuJGFjX29iamV4dGAgaW4NCjc3NDQ6ICAgICAgY2FzZSBgL3Vz ci9iaW4vZmlsZSBjb25mdGVzdC4kYWNfb2JqZXh0YCBpbg0KNzc3MDogICAgY2FzZSBgL3Vzci9i aW4vZmlsZSBjb25mdGVzdC4kYWNfb2JqZXh0YCBpbg0KNzc3ODogICAgY2FzZSBgL3Vzci9iaW4v ZmlsZSBjb25mdGVzdC4kYWNfb2JqZXh0YCBpbg0KNzc4NjogICAgY2FzZSBgL3Vzci9iaW4vZmls ZSBjb25mdGVzdC4kYWNfb2JqZXh0YCBpbg0KNzgxMDogICAgY2FzZSBgL3Vzci9iaW4vZmlsZSBj b25mdGVzdC5vYCBpbg0KNzgxNzoJICAgIGNhc2UgYC91c3IvYmluL2ZpbGUgY29uZnRlc3Qub2Ag aW4NCjc5MjM6ICAgIGNhc2UgYC91c3IvYmluL2ZpbGUgY29uZnRlc3Qub2AgaW4NCjkzODE6ICBh Y19kdW1teT0iL3Vzci9iaW4kUEFUSF9TRVBBUkFUT1IkUEFUSCINCjk0NDc6ICBhY19kdW1teT0i L3Vzci9iaW4kUEFUSF9TRVBBUkFUT1IkUEFUSCINCjk3MjQ6ICAgICAgaWYgdGVzdCAtZCAvdXNy L25lYzsgdGhlbg0KOTkzMjogICAgICBpZiB0ZXN0IC1kIC91c3IvbmVjOyB0aGVuDQoxMDgxODog ICAgbHRfY3ZfYWl4X2xpYnBhdGhfPS91c3IvbGliOi9saWINCjEwODMwOgkgIGhhcmRjb2RlX2xp YmRpcl9mbGFnX3NwZWM9JyR3bC1SICRsaWJkaXI6L3Vzci9saWI6L2xpYicNCjEwODcxOiAgICBs dF9jdl9haXhfbGlicGF0aF89L3Vzci9saWI6L2xpYg0KMTE4MDI6ICBzeXNfbGliX3NlYXJjaF9w YXRoX3NwZWM9Ii9saWIgL3Vzci9saWIgL3Vzci9sb2NhbC9saWIiDQoxMTk1NjogIGZpbmlzaF9j bWRzPSdQQVRIPSJcJFBBVEg6L3NiaW4iIGxkY29uZmlnICRsaWJkaXInDQoxMTk1ODogIHN5c19s aWJfc2VhcmNoX3BhdGhfc3BlYz0iL3NobGliIC91c3IvbGliIC91c3IvWDExL2xpYiAvdXNyL2Nv bnRyaWIvbGliIC9saWIgL3Vzci9sb2NhbC9saWIiDQoxMTk1OTogIHN5c19saWJfZGxzZWFyY2hf cGF0aF9zcGVjPSIvc2hsaWIgL3Vzci9saWIgL3Vzci9sb2NhbC9saWIiDQoxMTk5NTogICAgICBz eXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9IiRzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWMgL3Vzci9s aWIvdzMyYXBpIg0KMTIwODY6ICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9IiRzeXNfbGliX3Nl YXJjaF9wYXRoX3NwZWMgL3Vzci9sb2NhbC9saWIiDQoxMjA4NzogIHN5c19saWJfZGxzZWFyY2hf cGF0aF9zcGVjPScvdXNyL2xvY2FsL2xpYiAvbGliIC91c3IvbGliJw0KMTIxMDI6ICBpZiB0ZXN0 IC14IC91c3IvYmluL29iamZvcm1hdDsgdGhlbg0KMTIxMDM6ICAgIG9iamZvcm1hdD1gL3Vzci9i aW4vb2JqZm9ybWF0YA0KMTIxNTM6ICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0nL2Jvb3Qv aG9tZS9jb25maWcvbGliIC9ib290L2NvbW1vbi9saWIgL2Jvb3Qvc3lzdGVtL2xpYicNCjEyMTcz OiAgICAgIHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz0iL3Vzci9saWIvaHB1eDMyIC91c3IvbG9j YWwvbGliL2hwdXgzMiAvdXNyL2xvY2FsL2xpYiINCjEyMTc0OiAgICAgIHN5c19saWJfZGxzZWFy Y2hfcGF0aF9zcGVjPS91c3IvbGliL2hwdXgzMg0KMTIxNzY6ICAgICAgc3lzX2xpYl9zZWFyY2hf cGF0aF9zcGVjPSIvdXNyL2xpYi9ocHV4NjQgL3Vzci9sb2NhbC9saWIvaHB1eDY0Ig0KMTIxNzc6 ICAgICAgc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWM9L3Vzci9saWIvaHB1eDY0DQoxMjE4ODog ICAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIvdXNyL2xpYi9wYTIwXzY0IC91c3IvY2NzL2xp Yi9wYTIwXzY0Ig0KMTIyNTE6ICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0iL3Vzci9saWIk bGlic3VmZiAvbGliJGxpYnN1ZmYiDQoxMjI4NzogIGZpbmlzaF9jbWRzPSdQQVRIPSJcJFBBVEg6 L3NiaW4iIGxkY29uZmlnIC1uICRsaWJkaXInDQoxMjMzNjogIGlmIHRlc3QgLWYgL2V0Yy9sZC5z by5jb25mOyB0aGVuDQoxMjMzODogICAgc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWM9Ii9saWIg L3Vzci9saWIgJGx0X2xkX2V4dHJhIg0KMTIzNjg6ICAgIGZpbmlzaF9jbWRzPSdQQVRIPSJcJFBB VEg6L3NiaW4iIGxkY29uZmlnIC1tICRsaWJkaXInDQoxMjQwMTogIHN5c19saWJfZGxzZWFyY2hf cGF0aF9zcGVjPS91c3IvbGliDQoxMjQwOTogIGZpbmlzaF9jbWRzPSdQQVRIPSJcJFBBVEg6L3Ni aW4iIGxkY29uZmlnIC1tICRsaWJkaXInDQoxMjQyODogIHN5c19saWJfc2VhcmNoX3BhdGhfc3Bl Yz0iL2xpYiAvdXNyL2xpYiAvdXNyL2xvY2FsL2xpYiINCjEyNDUxOiAgc3lzX2xpYl9zZWFyY2hf cGF0aF9zcGVjPSIvdXNyL3NobGliIC91c3IvY2NzL2xpYiAvdXNyL2xpYi9jbXBscnMvY2MgL3Vz ci9saWIgL3Vzci9sb2NhbC9saWIgL3Zhci9zaGxpYiINCjEyNDc1OiAgZmluaXNoX2NtZHM9J1BB VEg9IlwkUEFUSDovdXNyL2V0YyIgbGRjb25maWcgJGxpYmRpcicNCjEyNTAyOiAgICAgIHN5c19s aWJfc2VhcmNoX3BhdGhfc3BlYz0nL2xpYiAvdXNyL2xpYiAvdXNyL2Njcy9saWInDQoxMjUwODog IGlmIHRlc3QgLWQgL3Vzci9uZWM7IHRoZW4NCjEyNTI2OiAgICBzeXNfbGliX3NlYXJjaF9wYXRo X3NwZWM9Jy91c3IvbG9jYWwvbGliIC91c3IvZ251L2xpYiAvdXNyL2Njcy9saWIgL3Vzci9saWIg L2xpYicNCjEyNTI4OiAgICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9Jy91c3IvY2NzL2xpYiAv dXNyL2xpYicNCjEyNTMxOiAgICAgICAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIkc3lzX2xp Yl9zZWFyY2hfcGF0aF9zcGVjIC9saWIiDQoxMjUzNTogIHN5c19saWJfZGxzZWFyY2hfcGF0aF9z cGVjPScvdXNyL2xpYicNCjEzMzYyOiAgICBmb3IgQ1hYQ1BQIGluICIkQ1hYIC1FIiAiL2xpYi9j cHAiDQoxMzkzMjogICAgbHRfY3ZfYWl4X2xpYnBhdGhfX0NYWD0vdXNyL2xpYjovbGliDQoxMzk0 NToJICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfQ1hYPSckd2wtUiAkbGliZGlyOi91c3Iv bGliOi9saWInDQoxMzk4NjogICAgbHRfY3ZfYWl4X2xpYnBhdGhfX0NYWD0vdXNyL2xpYjovbGli DQoxNTA4NzogICAgICBpZiB0ZXN0IC1kIC91c3IvbmVjOyB0aGVuDQoxNTEyMDoJICBsdF9wcm9n X2NvbXBpbGVyX3N0YXRpY19DWFg9Jy1ibnNvIC1iSTovbGliL3N5c2NhbGxzLmV4cCcNCjE1Nzk1 OnN5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjPSIvbGliIC91c3IvbGliIg0KMTU5MzU6ICBmaW5p c2hfY21kcz0nUEFUSD0iXCRQQVRIOi9zYmluIiBsZGNvbmZpZyAkbGliZGlyJw0KMTU5Mzc6ICBz eXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9Ii9zaGxpYiAvdXNyL2xpYiAvdXNyL1gxMS9saWIgL3Vz ci9jb250cmliL2xpYiAvbGliIC91c3IvbG9jYWwvbGliIg0KMTU5Mzg6ICBzeXNfbGliX2Rsc2Vh cmNoX3BhdGhfc3BlYz0iL3NobGliIC91c3IvbGliIC91c3IvbG9jYWwvbGliIg0KMTYwNjQ6ICBz eXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0nL3Vzci9sb2NhbC9saWIgL2xpYiAvdXNyL2xpYicN CjE2MDc5OiAgaWYgdGVzdCAteCAvdXNyL2Jpbi9vYmpmb3JtYXQ7IHRoZW4NCjE2MDgwOiAgICBv Ympmb3JtYXQ9YC91c3IvYmluL29iamZvcm1hdGANCjE2MTMwOiAgc3lzX2xpYl9kbHNlYXJjaF9w YXRoX3NwZWM9Jy9ib290L2hvbWUvY29uZmlnL2xpYiAvYm9vdC9jb21tb24vbGliIC9ib290L3N5 c3RlbS9saWInDQoxNjE1MDogICAgICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9Ii91c3IvbGli L2hwdXgzMiAvdXNyL2xvY2FsL2xpYi9ocHV4MzIgL3Vzci9sb2NhbC9saWIiDQoxNjE1MTogICAg ICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0vdXNyL2xpYi9ocHV4MzINCjE2MTUzOiAgICAg IHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz0iL3Vzci9saWIvaHB1eDY0IC91c3IvbG9jYWwvbGli L2hwdXg2NCINCjE2MTU0OiAgICAgIHN5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjPS91c3IvbGli L2hwdXg2NA0KMTYxNjU6ICAgIHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz0iL3Vzci9saWIvcGEy MF82NCAvdXNyL2Njcy9saWIvcGEyMF82NCINCjE2MjI3OiAgc3lzX2xpYl9zZWFyY2hfcGF0aF9z cGVjPSIvdXNyL2xpYiRsaWJzdWZmIC9saWIkbGlic3VmZiAvdXNyL2xvY2FsL2xpYiRsaWJzdWZm Ig0KMTYyMjg6ICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0iL3Vzci9saWIkbGlic3VmZiAv bGliJGxpYnN1ZmYiDQoxNjI2NDogIGZpbmlzaF9jbWRzPSdQQVRIPSJcJFBBVEg6L3NiaW4iIGxk Y29uZmlnIC1uICRsaWJkaXInDQoxNjMxMzogIGlmIHRlc3QgLWYgL2V0Yy9sZC5zby5jb25mOyB0 aGVuDQoxNjMxNTogICAgc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWM9Ii9saWIgL3Vzci9saWIg JGx0X2xkX2V4dHJhIg0KMTYzNDU6ICAgIGZpbmlzaF9jbWRzPSdQQVRIPSJcJFBBVEg6L3NiaW4i IGxkY29uZmlnIC1tICRsaWJkaXInDQoxNjM3ODogIHN5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVj PS91c3IvbGliDQoxNjM4NjogIGZpbmlzaF9jbWRzPSdQQVRIPSJcJFBBVEg6L3NiaW4iIGxkY29u ZmlnIC1tICRsaWJkaXInDQoxNjQwNTogIHN5c19saWJfc2VhcmNoX3BhdGhfc3BlYz0iL2xpYiAv dXNyL2xpYiAvdXNyL2xvY2FsL2xpYiINCjE2NDI4OiAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVj PSIvdXNyL3NobGliIC91c3IvY2NzL2xpYiAvdXNyL2xpYi9jbXBscnMvY2MgL3Vzci9saWIgL3Vz ci9sb2NhbC9saWIgL3Zhci9zaGxpYiINCjE2NDUyOiAgZmluaXNoX2NtZHM9J1BBVEg9IlwkUEFU SDovdXNyL2V0YyIgbGRjb25maWcgJGxpYmRpcicNCjE2NDc5OiAgICAgIHN5c19saWJfc2VhcmNo X3BhdGhfc3BlYz0nL2xpYiAvdXNyL2xpYiAvdXNyL2Njcy9saWInDQoxNjQ4NTogIGlmIHRlc3Qg LWQgL3Vzci9uZWM7IHRoZW4NCjE2NTAzOiAgICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9Jy91 c3IvbG9jYWwvbGliIC91c3IvZ251L2xpYiAvdXNyL2Njcy9saWIgL3Vzci9saWIgL2xpYicNCjE2 NTA1OiAgICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9Jy91c3IvY2NzL2xpYiAvdXNyL2xpYicN CjE2NTA4OiAgICAgICAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIkc3lzX2xpYl9zZWFyY2hf cGF0aF9zcGVjIC9saWIiDQoxNjUxMjogIHN5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjPScvdXNy L2xpYicNCjE2ODYzOiAgaWYgdGVzdCAiWGAoL3Vzci91Y2IvZWNobyAtbiAtbiAkYXNfZWNobykg Mj4vZGV2L251bGxgIiA9ICJYLW4gJGFzX2VjaG8iOyB0aGVuDQoxNjg2NDogICAgYXNfZWNob19i b2R5PSdldmFsIC91c3IvdWNiL2VjaG8gLW4gIiQxJGFzX25sIicNCjE2ODY1OiAgICBhc19lY2hv X249Jy91c3IvdWNiL2VjaG8gLW4nDQouL2NvbmZpZ3VyZQ0KMjYyOiAgZnVuY19wYXRoX3Byb2dz ICJzZWQgZ3NlZCIgZnVuY19jaGVja19wcm9nX3NlZCAkUEFUSDovdXNyL3hwZzQvYmluDQoyOTg6 ICBmdW5jX3BhdGhfcHJvZ3MgImdyZXAgZ2dyZXAiIGZ1bmNfY2hlY2tfcHJvZ19ncmVwICRQQVRI Oi91c3IveHBnNC9iaW4NCjQwNjQ6ICAgICAgaWYgdGVzdCAtZiAvZXRjL2xkLnNvLmNvbmY7IHRo ZW4NCjQzNDg6CSAgbGliPSRkZXN0ZGlyLyRyZWFsbmFtZQ0KNDUwNDoJKi91c3IvYmluL2luc3Rh bGwqLCpjeWd3aW4qKQ0KNjk5NToJICB0ZXN0YmluZGlyPWAkRUNITyAiJGRpciIgfCAkU0VEICdz Ki9saWIkKi9iaW4qJ2ANCjc2NDQ6CSAgICAgIGxpYj0kc2VhcmNoZGlyL2xpYiRuYW1lJHNlYXJj aF9leHQNCjc2NzM6CQkgICAgbGliPSRsYWRpci8kb2xkX2xpYnJhcnkNCjgyNjM6CQkgICAgaWYg L3Vzci9iaW4vZmlsZSAtTCAkYWRkIDI+IC9kZXYvbnVsbCB8DQo5NjE4OglsaWI9JG91dHB1dF9v YmpkaXIvJHJlYWxuYW1lDQoxMDMwOToJICB0ZXN0YmluZGlyPWAkRUNITyAiJGxpYmRpciIgfCAk U0VEIC1lICdzKi9saWIkKi9iaW4qJ2ANCi4vYnVpbGQtYXV4L2x0bWFpbi5zaA0KMzI1OiAgICAg ICAgYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiDQozMzM6ICAgICAgICAgIGhhcmRjb2RlX2xp YmRpcl9mbGFnX3NwZWM9JyR7d2x9LVIgJGxpYmRpcjovdXNyL2xpYjovbGliJw0KNDMzOiAgICAg IGlmIHRlc3QgLWYgL3Vzci9saWJleGVjL2xkLnNvOyB0aGVuDQo0OTI6ICAgICAgaWYgdGVzdCAt ZCAvdXNyL25lYzsgdGhlbg0KLi9idWlsZC1hdXgvY29uZmlnLnJwYXRoDQoxNTc6CVVOQU1FX01B Q0hJTkVfQVJDSD1gKC9zYmluLyRzeXNjdGwgMj4vZGV2L251bGwgfHwgXA0KMTU4OgkgICAgL3Vz ci9zYmluLyRzeXNjdGwgMj4vZGV2L251bGwgfHwgZWNobyB1bmtub3duKWANCjIyMzoJCVVOQU1F X1JFTEVBU0U9YC91c3Ivc2Jpbi9zaXplciAtdiB8IGF3ayAne3ByaW50ICQzfSdgDQoyMjY6CSAg ICAgICAgVU5BTUVfUkVMRUFTRT1gL3Vzci9zYmluL3NpemVyIC12IHwgYXdrICd7cHJpbnQgJDR9 J2ANCjIzMzoJQUxQSEFfQ1BVX1RZUEU9YC91c3Ivc2Jpbi9wc3JpbmZvIC12IHwgc2VkIC1uIC1l ICdzL14gIFRoZSBhbHBoYSBcKC4qXCkgcHJvY2Vzc29yLiokL1wxL3AnIHwgaGVhZCAtbiAxYA0K MzI0OgljYXNlIGAvdXNyL2Jpbi91bmFtZSAtcGAgaW4NCjM1OToJY2FzZSAiYC91c3IvYmluL2Fy Y2ggLWtgIiBpbg0KMzcxOglVTkFNRV9SRUxFQVNFPWAoc2VkIDFxIC9ldGMvbW90ZCB8IGF3ayAn e3ByaW50IHN1YnN0cigkNSwxLDMpfScpIDI+L2Rldi9udWxsYA0KNDgxOiAgICAgICAgVU5BTUVf UFJPQ0VTU09SPWAvdXNyL2Jpbi91bmFtZSAtcGANCjUxODoJaWYgWyAteCAvdXNyL2Jpbi9vc2xl dmVsIF0gOyB0aGVuDQo1MTk6CQlJQk1fUkVWPWAvdXNyL2Jpbi9vc2xldmVsYA0KNTI2OglpZiBn cmVwIGJvczMyNSAvdXNyL2luY2x1ZGUvc3RkaW8uaCA+L2Rldi9udWxsIDI+JjE7IHRoZW4NCjU0 NToJZWxpZiBncmVwIGJvczMyNCAvdXNyL2luY2x1ZGUvc3RkaW8uaCA+L2Rldi9udWxsIDI+JjE7 IHRoZW4NCjU1MjoJSUJNX0NQVV9JRD1gL3Vzci9zYmluL2xzZGV2IC1DIC1jIHByb2Nlc3NvciAt UyBhdmFpbGFibGUgfCBzZWQgMXEgfCBhd2sgJ3sgcHJpbnQgJDEgfSdgDQo1NTM6CWlmIC91c3Iv c2Jpbi9sc2F0dHIgLUVsICR7SUJNX0NQVV9JRH0gfCBncmVwICcgUE9XRVInID4vZGV2L251bGwg Mj4mMTsgdGhlbg0KNTU4OglpZiBbIC14IC91c3IvYmluL29zbGV2ZWwgXSA7IHRoZW4NCjU1OToJ CUlCTV9SRVY9YC91c3IvYmluL29zbGV2ZWxgDQo1OTI6CQlpZiBbIC14IC91c3IvYmluL2dldGNv bmYgXTsgdGhlbg0KNTkzOgkJICAgIHNjX2NwdV92ZXJzaW9uPWAvdXNyL2Jpbi9nZXRjb25mIFND X0NQVV9WRVJTSU9OIDI+L2Rldi9udWxsYA0KNTk0OiAgICAgICAgICAgICAgICAgICAgc2Nfa2Vy bmVsX2JpdHM9YC91c3IvYmluL2dldGNvbmYgU0NfS0VSTkVMX0JJVFMgMj4vZGV2L251bGxgDQo3 MTk6CWlmIFsgLXggL3Vzci9zYmluL3N5c3ZlcnNpb24gXSA7IHRoZW4NCjEwNTc6CWlmIGdyZXAg Tm92ZWxsIC91c3IvaW5jbHVkZS9saW5rLmggPi9kZXYvbnVsbCAyPi9kZXYvbnVsbDsgdGhlbg0K MTA3MzoJaWYgdGVzdCAtZiAvdXNyL29wdGlvbnMvY2IubmFtZTsgdGhlbg0KMTA3NDoJCVVOQU1F X1JFTD1gc2VkIC1uICdzLy4qVmVyc2lvbiAvL3AnIDwvdXNyL29wdGlvbnMvY2IubmFtZWANCjEx MDY6CWlmIGdyZXAgU3RhcmRlbnQgL3Vzci9pbmNsdWRlL3N5cy91YWRtaW4uaCA+L2Rldi9udWxs IDI+JjEgOyB0aGVuDQoxMTI2Ogl0ZXN0IC1yIC9ldGMvLnJlbGlkIFwNCjExMjc6CSYmIE9TX1JF TD0uYHNlZCAtbiAncy9bXiBdKiBbXiBdKiBcKFswLTldWzAtOV1cKS4qL1wxL3AnIDwgL2V0Yy8u cmVsaWRgDQoxMTM3Ogl0ZXN0IC1yIC9ldGMvLnJlbGlkIFwNCjExMzg6CSAgICAmJiBPU19SRUw9 LmBzZWQgLW4gJ3MvW14gXSogW14gXSogXChbMC05XVswLTldXCkuKi9cMS9wJyA8IC9ldGMvLnJl bGlkYA0KMTIwNToJaWYgWyAtZCAvdXNyL25lYyBdOyB0aGVuDQoxNDU5OnRlc3QgLWQgL3Vzci9h cG9sbG8gJiYgeyBlY2hvICR7SVNQfS1hcG9sbG8tJHtTWVNUWVBFfTsgZXhpdDsgfQ0KMTQ2Mzpp ZiBbIC14IC91c3IvY29udmV4L2dldHN5c2luZm8gXQ0KMTUxMDovdXNyL2Jpbi91bmFtZSAtcCA9 IGAoL3Vzci9iaW4vdW5hbWUgLXApIDI+L2Rldi9udWxsYA0KMTUxNTovdXNyL2Jpbi9hcmNoIC1r ICAgICAgID0gYCgvdXNyL2Jpbi9hcmNoIC1rKSAyPi9kZXYvbnVsbGANCjE1MTc6L3Vzci9iaW4v b3NsZXZlbCAgICAgICA9IGAoL3Vzci9iaW4vb3NsZXZlbCkgMj4vZGV2L251bGxgDQoxNTE4Oi91 c3IvY29udmV4L2dldHN5c2luZm8gPSBgKC91c3IvY29udmV4L2dldHN5c2luZm8pIDI+L2Rldi9u dWxsYA0KLi9idWlsZC1hdXgvY29uZmlnLmd1ZXNzDQo= --=-2UBZrHaqOatWdAPCuO0T-- --=-eXEzPcbjxSTT+gCjEI5x Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iF4EABEIAAYFAlfz21MACgkQyNbhUgHunaF0LAEAqKsP+OUD1dKuROWqhAJYAK6I NozE+2aOQnfqJ2QVFRIBAIsISi71XZGPmtpp+GTOfwDgdDXElsbovg+d/BbH/u5/ =IiMU -----END PGP SIGNATURE----- --=-eXEzPcbjxSTT+gCjEI5x--