Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qYtSk-0033Db-2d for pgsql-hackers@arkaria.postgresql.org; Wed, 23 Aug 2023 19:24:18 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1qYtSi-00FwXQ-Rc for pgsql-hackers@arkaria.postgresql.org; Wed, 23 Aug 2023 19:24:16 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qYtSi-00FwXG-8M for pgsql-hackers@lists.postgresql.org; Wed, 23 Aug 2023 19:24:16 +0000 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qYtSd-000a0s-HM for pgsql-hackers@postgresql.org; Wed, 23 Aug 2023 19:24:14 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.west.internal (Postfix) with ESMTP id D0C0532004AE for ; Wed, 23 Aug 2023 15:24:09 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Wed, 23 Aug 2023 15:24:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eisentraut.org; h=cc:content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:sender:subject:subject:to:to; s=fm3; t=1692818649; x=1692905049; bh=G+/5RyZcmKSJK1A3Ut+0UCwMd +ea080LPKjTEokKeE8=; b=N0azrFCUjmmOiB4tQLLEA9DZpqzezhkfLCQVsY3Go zVQsqha5i3sSU1DwyivyFHkFM26oLx+WHo63o20zwFj/NpZbzKFF5d0oox0hInk8 yUj6KsW+9gGnRqKmKPBQTLNPbLmEEnjQ+9u7EFRUea8pt7zsfFzwBq6w3547/okn l0ZdUCxrh7Ime2P+FY42stqGo8+QGX2K1NEdQvh/GByA1yu6lLbaqqFA4klhquXE V5+Cs7AlvIIJ+FFGsVCslgKXAz9vDQVihe5V6SynFmVmuaGTj1y5iH6Oc6nJlpxp Sy+019drZhJS6NT/+6E/ab22AivMdj2qnyH+bQcHD9rQg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1692818649; x=1692905049; bh=G+/5RyZcmKSJK1A3Ut+0UCwMd+ea080LPKj TEokKeE8=; b=PrhdJOvZIIZST/fkAqfnHxxsj/Paa9Asl9FG7UawINRK9GMtSur 19M9Yjh+A89/UoMBGJFvuxyzAfbT6NByjgeBo1GUarBpGrGsrc0PpGZcRzK20u0B YiKaj4NX4msWr6WjowyvlnCnzSyufoHaVXva7zRP/DzG3EBhO4uO/4fVNSzy7vfw AFjtXM02Gcvsszhha5OrxSFaR6++bvgEkKMSZFjFBb4LpIsPSghXmRBEeU47nm5f SxFnvm2kCrDFGyYju4oR2dn6eELmpbyMsXZgFbOfi4IFxo7mNVaw5lga5jXThNC8 JevHHt62KlNzOIdrwJGgKGUT8D365QoaXOQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedruddvgedgudefhecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecunecujfgurheptgfkffggfgfhuffvsehmtderre dtfeejnecuhfhrohhmpefrvghtvghrucfgihhsvghnthhrrghuthcuoehpvghtvghrsegv ihhsvghnthhrrghuthdrohhrgheqnecuggftrfgrthhtvghrnhepgeejhfevtdetveeike eivdelhfeitdekhfettdelleevgfetudduffetledtueelnecuffhomhgrihhnpehrvghp rhhoughutghisghlvgdqsghuihhlughsrdhorhhgpdhgihhthhhusgdrtghomhdpuggvsg hirghnrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf rhhomhepphgvthgvrhesvghishgvnhhtrhgruhhtrdhorhhg X-ME-Proxy: Feedback-ID: ie0a040ee:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Wed, 23 Aug 2023 15:24:08 -0400 (EDT) Content-Type: multipart/mixed; boundary="------------PpEExv48UUwlBukG7PEnCJWg" Message-ID: <9077b779-a9f8-09c8-6e85-da1ebfba15af@eisentraut.org> Date: Wed, 23 Aug 2023 21:24:07 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US From: Peter Eisentraut Subject: Make documentation builds reproducible To: pgsql-hackers List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------PpEExv48UUwlBukG7PEnCJWg Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Somewhere at PGCon, I forgot exactly where, maybe in the same meeting where we talked about getting rid of distprep, we talked about that the documentation builds are not reproducible (in the sense of https://reproducible-builds.org/). This is easily fixable, the fix is available upstream (https://github.com/docbook/xslt10-stylesheets/issues/54) but not released. We can backpatch that into our customization layer. The attached patch shows it. I had actually often wanted this during development. When making documentation tooling changes, it's useful to be able to compare the output before and after, and this will eliminate false positives in that. This patch addresses both the HTML and the FO output. The man output is already reproducible AFAICT. Note that the final PDF output is currently not reproducible; that's a different issue that needs to be fixed in FOP. (See https://wiki.debian.org/ReproducibleBuilds/TimestampsInPDFGeneratedByApacheFOP.) --------------PpEExv48UUwlBukG7PEnCJWg Content-Type: text/plain; charset=UTF-8; name="0001-Make-documentation-builds-reproducible.patch" Content-Disposition: attachment; filename="0001-Make-documentation-builds-reproducible.patch" Content-Transfer-Encoding: base64 RnJvbSA5ZjJjNzI2MjQ0NWI2ODY4YzFkMmM5ZjJkNzVhYzExNTNiN2MyYTY0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogV2VkLCAyMyBBdWcgMjAyMyAxNjozODo0NCArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIE1ha2UgZG9jdW1lbnRhdGlvbiBidWlsZHMgcmVwcm9kdWNpYmxlCgotLS0K IGRvYy9zcmMvc2dtbC9zdHlsZXNoZWV0LWZvLnhzbCAgICAgICAgICB8IDI1OSArKysrKysr KysrKysrKysrKysrKysrKysKIGRvYy9zcmMvc2dtbC9zdHlsZXNoZWV0LWh0bWwtY29tbW9u LnhzbCB8IDIzNCArKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNDkz IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvc3R5bGVzaGVldC1m by54c2wgYi9kb2Mvc3JjL3NnbWwvc3R5bGVzaGVldC1mby54c2wKaW5kZXggNWU3ZTEzMjQ4 MC4uYWZmNzE3ZGRiYyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3N0eWxlc2hlZXQtZm8u eHNsCisrKyBiL2RvYy9zcmMvc2dtbC9zdHlsZXNoZWV0LWZvLnhzbApAQCAtMSw0ICsxLDgg QEAKIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IURPQ1RZUEUg eHNsOnN0eWxlc2hlZXQgWworPCFFTlRJVFkgJSBjb21tb24uZW50aXRpZXMgU1lTVEVNICJo dHRwOi8vZG9jYm9vay5zb3VyY2Vmb3JnZS5uZXQvcmVsZWFzZS94c2wvY3VycmVudC9jb21t b24vZW50aXRpZXMuZW50Ij4KKyVjb21tb24uZW50aXRpZXM7CitdPgogPHhzbDpzdHlsZXNo ZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIgog ICAgICAgICAgICAgICAgIHZlcnNpb249IjEuMCIKICAgICAgICAgICAgICAgICB4bWxuczpm bz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvRm9ybWF0Ij4KQEAgLTEzOCw0ICsxNDIs MjU5IEBACiAgIDwvZm86Ym9va21hcms+CiA8L3hzbDp0ZW1wbGF0ZT4KIAorPCEtLSBtYWtl IGdlbmVyYXRlZCBpZHMgcmVwcm9kdWNpYmxlCisgICAgIChodHRwczovL2dpdGh1Yi5jb20v ZG9jYm9vay94c2x0MTAtc3R5bGVzaGVldHMvaXNzdWVzLzU0KSAtLT4KKworPCEtLSBmcm9t IGZvL2F1dG9pZHgueHNsIC0tPgorCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJpbmRleHRlcm0i IG1vZGU9ImluZGV4LXByaW1hcnkiPgorICA8eHNsOnBhcmFtIG5hbWU9InNjb3BlIiBzZWxl Y3Q9Ii4iLz4KKyAgPHhzbDpwYXJhbSBuYW1lPSJyb2xlIiBzZWxlY3Q9IicnIi8+CisgIDx4 c2w6cGFyYW0gbmFtZT0idHlwZSIgc2VsZWN0PSInJyIvPgorCisgIDx4c2w6dmFyaWFibGUg bmFtZT0ia2V5IiBzZWxlY3Q9IiZwcmltYXJ5OyIvPgorICA8eHNsOnZhcmlhYmxlIG5hbWU9 InJlZnMiIHNlbGVjdD0ia2V5KCdwcmltYXJ5JywgJGtleSlbJnNjb3BlO10iLz4KKworICA8 eHNsOnZhcmlhYmxlIG5hbWU9InRlcm0uc2VwYXJhdG9yIj4KKyAgICA8eHNsOmNhbGwtdGVt cGxhdGUgbmFtZT0iaW5kZXguc2VwYXJhdG9yIj4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBu YW1lPSJrZXkiIHNlbGVjdD0iJ2luZGV4LnRlcm0uc2VwYXJhdG9yJyIvPgorICAgIDwveHNs OmNhbGwtdGVtcGxhdGU+CisgIDwveHNsOnZhcmlhYmxlPgorCisgIDx4c2w6dmFyaWFibGUg bmFtZT0icmFuZ2Uuc2VwYXJhdG9yIj4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0i aW5kZXguc2VwYXJhdG9yIj4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJrZXkiIHNl bGVjdD0iJ2luZGV4LnJhbmdlLnNlcGFyYXRvciciLz4KKyAgICA8L3hzbDpjYWxsLXRlbXBs YXRlPgorICA8L3hzbDp2YXJpYWJsZT4KKworICA8eHNsOnZhcmlhYmxlIG5hbWU9Im51bWJl ci5zZXBhcmF0b3IiPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJpbmRleC5zZXBh cmF0b3IiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9ImtleSIgc2VsZWN0PSInaW5k ZXgubnVtYmVyLnNlcGFyYXRvciciLz4KKyAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICA8 L3hzbDp2YXJpYWJsZT4KKworICA8Zm86YmxvY2sgeG1sbnM6cng9Imh0dHA6Ly93d3cucmVu ZGVyeC5jb20vWFNML0V4dGVuc2lvbnMiIHhtbG5zOmF4Zj0iaHR0cDovL3d3dy5hbnRlbm5h aG91c2UuY29tL25hbWVzL1hTTC9FeHRlbnNpb25zIj4KKyAgICA8eHNsOmlmIHRlc3Q9IiRh dXRvbGluay5pbmRleC5zZWUgIT0gMCI+CisgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJp ZCI+CisgICAgICAgIDwhLS0gcGdzcWwtZG9jczogYmVnaW4gLS0+CisgICAgICAgIDx4c2w6 dGV4dD5pZW50cnktPC94c2w6dGV4dD4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5h bWU9Im9iamVjdC5pZCIvPgorICAgICAgICA8IS0tIHBnc3FsLWRvY3M6IGVuZCAtLT4KKyAg ICAgIDwveHNsOmF0dHJpYnV0ZT4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOmlmIHRlc3Q9 IiRheGYuZXh0ZW5zaW9ucyAhPSAwIj4KKyAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImF4 ZjpzdXBwcmVzcy1kdXBsaWNhdGUtcGFnZS1udW1iZXIiPnRydWU8L3hzbDphdHRyaWJ1dGU+ CisgICAgPC94c2w6aWY+CisKKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iJHJlZnMvcHJp bWFyeSI+CisgICAgICA8eHNsOmlmIHRlc3Q9IkBpZCBvciBAeG1sOmlkIj4KKyAgICAgICAg PGZvOmlubGluZSBpZD0ieyhAaWR8QHhtbDppZClbMV19Ii8+CisgICAgICA8L3hzbDppZj4K KyAgICA8L3hzbDpmb3ItZWFjaD4KKworICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJwcmlt YXJ5Ii8+CisKKyAgICA8eHNsOmNob29zZT4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkeGVw LmV4dGVuc2lvbnMgIT0gMCI+CisgICAgICAgIDx4c2w6aWYgdGVzdD0iJHJlZnNbbm90KHNl ZSkgYW5kIG5vdChzZWNvbmRhcnkpXSI+CisgICAgICAgICAgPHhzbDpjb3B5LW9mIHNlbGVj dD0iJHRlcm0uc2VwYXJhdG9yIi8+CisgICAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJw cmltYXJ5IiBzZWxlY3Q9IiZwcmltYXJ5OyIvPgorICAgICAgICAgIDx4c2w6dmFyaWFibGUg bmFtZT0icHJpbWFyeS5zaWduaWZpY2FudCIgc2VsZWN0PSJjb25jYXQoJnByaW1hcnk7LCAk c2lnbmlmaWNhbnQuZmxhZykiLz4KKyAgICAgICAgICA8cng6cGFnZS1pbmRleCBsaXN0LXNl cGFyYXRvcj0ieyRudW1iZXIuc2VwYXJhdG9yfSIKKyAgICAgICAgICAgICAgICAgICAgICAg ICByYW5nZS1zZXBhcmF0b3I9InskcmFuZ2Uuc2VwYXJhdG9yfSI+CisgICAgICAgICAgICA8 eHNsOmlmIHRlc3Q9IiRyZWZzW0BzaWduaWZpY2FuY2U9J3ByZWZlcnJlZCddW25vdChzZWUp IGFuZCBub3Qoc2Vjb25kYXJ5KV0iPgorICAgICAgICAgICAgICA8cng6aW5kZXgtaXRlbSB4 c2w6dXNlLWF0dHJpYnV0ZS1zZXRzPSJpbmRleC5wcmVmZXJyZWQucGFnZS5wcm9wZXJ0aWVz IHhlcC5pbmRleC5pdGVtLnByb3BlcnRpZXMiCisgICAgICAgICAgICAgICAgcmVmLWtleT0i eyRwcmltYXJ5LnNpZ25pZmljYW50fSIvPgorICAgICAgICAgICAgPC94c2w6aWY+CisgICAg ICAgICAgICA8eHNsOmlmIHRlc3Q9IiRyZWZzW25vdChAc2lnbmlmaWNhbmNlKSBvciBAc2ln bmlmaWNhbmNlIT0ncHJlZmVycmVkJ11bbm90KHNlZSkgYW5kIG5vdChzZWNvbmRhcnkpXSI+ CisgICAgICAgICAgICAgIDxyeDppbmRleC1pdGVtIHhzbDp1c2UtYXR0cmlidXRlLXNldHM9 InhlcC5pbmRleC5pdGVtLnByb3BlcnRpZXMiCisgICAgICAgICAgICAgICAgcmVmLWtleT0i eyRwcmltYXJ5fSIvPgorICAgICAgICAgICAgPC94c2w6aWY+CisgICAgICAgICAgPC9yeDpw YWdlLWluZGV4PgorICAgICAgICA8L3hzbDppZj4KKyAgICAgIDwveHNsOndoZW4+CisgICAg ICA8eHNsOm90aGVyd2lzZT4KKyAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWdlLW51 bWJlci1jaXRhdGlvbnMiPgorICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIkcmVm c1tub3Qoc2VlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbm90KHNl Y29uZGFyeSldIj4KKyAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0i LiIgbW9kZT0icmVmZXJlbmNlIj4KKyAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5h bWU9InNjb3BlIiBzZWxlY3Q9IiRzY29wZSIvPgorICAgICAgICAgICAgICA8eHNsOndpdGgt cGFyYW0gbmFtZT0icm9sZSIgc2VsZWN0PSIkcm9sZSIvPgorICAgICAgICAgICAgICA8eHNs OndpdGgtcGFyYW0gbmFtZT0idHlwZSIgc2VsZWN0PSIkdHlwZSIvPgorICAgICAgICAgICAg ICA8eHNsOndpdGgtcGFyYW0gbmFtZT0icG9zaXRpb24iIHNlbGVjdD0icG9zaXRpb24oKSIv PgorICAgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgICAgICAgIDwveHNs OmZvci1lYWNoPgorICAgICAgICA8L3hzbDp2YXJpYWJsZT4KKworICAgICAgICA8eHNsOmNv cHktb2Ygc2VsZWN0PSIkcGFnZS1udW1iZXItY2l0YXRpb25zIi8+CisgICAgICA8L3hzbDpv dGhlcndpc2U+CisgICAgPC94c2w6Y2hvb3NlPgorCisgICAgPHhzbDppZiB0ZXN0PSIkcmVm c1tub3Qoc2Vjb25kYXJ5KV0vKltzZWxmOjpzZWVdIj4KKyAgICAgIDx4c2w6YXBwbHktdGVt cGxhdGVzIHNlbGVjdD0iJHJlZnNbZ2VuZXJhdGUtaWQoKSA9IGdlbmVyYXRlLWlkKGtleSgn c2VlJywgY29uY2F0KCZwcmltYXJ5OywgJnNlcDssICZzZXA7LCAmc2VwOywgc2VlKSlbJnNj b3BlO11bMV0pXSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU9ImluZGV4LXNl ZSI+CisgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ic2NvcGUiIHNlbGVjdD0iJHNj b3BlIi8+CisgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0icm9sZSIgc2VsZWN0PSIk cm9sZSIvPgorICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InR5cGUiIHNlbGVjdD0i JHR5cGUiLz4KKyAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9InRyYW5zbGF0ZShzZWUsICZs b3dlcmNhc2U7LCAmdXBwZXJjYXNlOykiLz4KKyAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRl cz4KKyAgICA8L3hzbDppZj4KKworICA8L2ZvOmJsb2NrPgorCisgIDx4c2w6aWYgdGVzdD0i JHJlZnMvc2Vjb25kYXJ5IG9yICRyZWZzW25vdChzZWNvbmRhcnkpXS8qW3NlbGY6OnNlZWFs c29dIj4KKyAgICA8Zm86YmxvY2sgc3RhcnQtaW5kZW50PSIxcGMiPgorICAgICAgPHhzbDph cHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIkcmVmc1tnZW5lcmF0ZS1pZCgpID0gZ2VuZXJhdGUt aWQoa2V5KCdzZWUtYWxzbycsIGNvbmNhdCgmcHJpbWFyeTssICZzZXA7LCAmc2VwOywgJnNl cDssIHNlZWFsc28pKVsmc2NvcGU7XVsxXSldIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgbW9kZT0iaW5kZXgtc2VlYWxzbyI+CisgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFt ZT0ic2NvcGUiIHNlbGVjdD0iJHNjb3BlIi8+CisgICAgICAgICA8eHNsOndpdGgtcGFyYW0g bmFtZT0icm9sZSIgc2VsZWN0PSIkcm9sZSIvPgorICAgICAgICAgPHhzbDp3aXRoLXBhcmFt IG5hbWU9InR5cGUiIHNlbGVjdD0iJHR5cGUiLz4KKyAgICAgICAgIDx4c2w6c29ydCBzZWxl Y3Q9InRyYW5zbGF0ZShzZWVhbHNvLCAmbG93ZXJjYXNlOywgJnVwcGVyY2FzZTspIi8+Cisg ICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRl cyBzZWxlY3Q9IiRyZWZzW3NlY29uZGFyeSBhbmQgY291bnQoLnxrZXkoJ3NlY29uZGFyeScs IGNvbmNhdCgka2V5LCAmc2VwOywgJnNlY29uZGFyeTspKVsmc2NvcGU7XVsxXSkgPSAxXSIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU9ImluZGV4LXNlY29uZGFyeSI+Cisg ICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InNjb3BlIiBzZWxlY3Q9IiRzY29wZSIvPgor ICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJyb2xlIiBzZWxlY3Q9IiRyb2xlIi8+Cisg ICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InR5cGUiIHNlbGVjdD0iJHR5cGUiLz4KKyAg ICAgICA8eHNsOnNvcnQgc2VsZWN0PSJ0cmFuc2xhdGUoJnNlY29uZGFyeTssICZsb3dlcmNh c2U7LCAmdXBwZXJjYXNlOykiLz4KKyAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKyAg ICA8L2ZvOmJsb2NrPgorICA8L3hzbDppZj4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRl bXBsYXRlIG1hdGNoPSJpbmRleHRlcm0iIG1vZGU9ImluZGV4LXNlZSI+CisgIDx4c2w6cGFy YW0gbmFtZT0ic2NvcGUiIHNlbGVjdD0iLiIvPgorICA8eHNsOnBhcmFtIG5hbWU9InJvbGUi IHNlbGVjdD0iJyciLz4KKyAgPHhzbDpwYXJhbSBuYW1lPSJ0eXBlIiBzZWxlY3Q9IicnIi8+ CisKKyAgPHhzbDp2YXJpYWJsZSBuYW1lPSJzZWUiIHNlbGVjdD0ibm9ybWFsaXplLXNwYWNl KHNlZSkiLz4KKworICA8IS0tIGNhbiBvbmx5IGxpbmsgdG8gcHJpbWFyeSwgd2hpY2ggc2hv dWxkIGFwcGVhciBiZWZvcmUgY29tbWEKKyAgaW4gc2VlICJwcmltYXJ5LCBzZWNvbmRhcnki IGVudHJ5IC0tPgorICA8eHNsOnZhcmlhYmxlIG5hbWU9InNlZXByaW1hcnkiPgorICAgIDx4 c2w6Y2hvb3NlPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9ImNvbnRhaW5zKCRzZWUsICcsJyki PgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0ic3Vic3RyaW5nLWJlZm9yZSgkc2Vl LCAnLCcpIi8+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDpvdGhlcndpc2U+Cisg ICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkc2VlIi8+CisgICAgICA8L3hzbDpvdGhl cndpc2U+CisgICAgPC94c2w6Y2hvb3NlPgorICA8L3hzbDp2YXJpYWJsZT4KKworICA8eHNs OnZhcmlhYmxlIG5hbWU9InNlZXRhcmdldCIgc2VsZWN0PSJrZXkoJ3ByaW1hcnlvbmx5Jywg JHNlZXByaW1hcnkpWzFdIi8+CisKKyAgPHhzbDp2YXJpYWJsZSBuYW1lPSJsaW5rZW5kIj4K KyAgICA8eHNsOmlmIHRlc3Q9IiRzZWV0YXJnZXQiPgorICAgICAgPCEtLSBwZ3NxbC1kb2Nz OiBiZWdpbiAtLT4KKyAgICAgIDx4c2w6dGV4dD5pZW50cnktPC94c2w6dGV4dD4KKyAgICAg IDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJvYmplY3QuaWQiPgorICAgICAgICA8eHNsOndp dGgtcGFyYW0gbmFtZT0ib2JqZWN0IiBzZWxlY3Q9IiRzZWV0YXJnZXQiLz4KKyAgICAgIDwv eHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICA8IS0tIHBnc3FsLWRvY3M6IGVuZCAtLT4KKyAg ICA8L3hzbDppZj4KKyAgPC94c2w6dmFyaWFibGU+CisKKyAgPGZvOmlubGluZSB4bWxuczp4 bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayc+CisgICAgPHhzbDp0ZXh0PiAo PC94c2w6dGV4dD4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZ2VudGV4dCI+Cisg ICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ia2V5IiBzZWxlY3Q9IidzZWUnIi8+CisgICAg PC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+CisgICAg PHhzbDpjaG9vc2U+CisgICAgICA8IS0tIG1hbnVhbCBsaW5rcyBoYXZlIHByZWNlZGVuY2Ug LS0+CisgICAgICA8eHNsOndoZW4gdGVzdD0ic2VlL0BsaW5rZW5kIG9yIHNlZS9AeGxpbms6 aHJlZiI+CisgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJzaW1wbGUueGxpbmsi PgorICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJub2RlIiBzZWxlY3Q9InNlZSIv PgorICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJjb250ZW50IiBzZWxlY3Q9IiRz ZWUiLz4KKyAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgIDwveHNsOndoZW4+ CisgICAgICA8eHNsOndoZW4gdGVzdD0iJGF1dG9saW5rLmluZGV4LnNlZSA9IDAiPgorICAg ICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRzZWUiLz4KKyAgICAgIDwveHNsOndoZW4+ CisgICAgICA8eHNsOndoZW4gdGVzdD0iJHNlZXRhcmdldCI+CisgICAgICAgIDxmbzpiYXNp Yy1saW5rIGludGVybmFsLWRlc3RpbmF0aW9uPSJ7JGxpbmtlbmR9IgorICAgICAgICAgICAg ICAgICAgICAgICB4c2w6dXNlLWF0dHJpYnV0ZS1zZXRzPSJ4cmVmLnByb3BlcnRpZXMiPgor ICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkc2VlIi8+CisgICAgICAgIDwvZm86 YmFzaWMtbGluaz4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOm90aGVyd2lzZT4K KyAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRzZWUiLz4KKyAgICAgIDwveHNsOm90 aGVyd2lzZT4KKyAgICA8L3hzbDpjaG9vc2U+CisgICAgPHhzbDp0ZXh0Pik8L3hzbDp0ZXh0 PgorICA8L2ZvOmlubGluZT4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG1h dGNoPSJpbmRleHRlcm0iIG1vZGU9ImluZGV4LXNlZWFsc28iPgorICAgPHhzbDpwYXJhbSBu YW1lPSJzY29wZSIgc2VsZWN0PSIuIi8+CisgIDx4c2w6cGFyYW0gbmFtZT0icm9sZSIgc2Vs ZWN0PSInJyIvPgorICA8eHNsOnBhcmFtIG5hbWU9InR5cGUiIHNlbGVjdD0iJyciLz4KKwor ICA8eHNsOmZvci1lYWNoIHNlbGVjdD0ic2VlYWxzbyI+CisgICAgPHhzbDpzb3J0IHNlbGVj dD0idHJhbnNsYXRlKC4sICZsb3dlcmNhc2U7LCAmdXBwZXJjYXNlOykiLz4KKworICAgIDx4 c2w6dmFyaWFibGUgbmFtZT0ic2VlYWxzbyIgc2VsZWN0PSJub3JtYWxpemUtc3BhY2UoLiki Lz4KKworICAgIDwhLS0gY2FuIG9ubHkgbGluayB0byBwcmltYXJ5LCB3aGljaCBzaG91bGQg YXBwZWFyIGJlZm9yZSBjb21tYQorICAgIGluIHNlZWFsc28gInByaW1hcnksIHNlY29uZGFy eSIgZW50cnkgLS0+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJzZWVhbHNvcHJpbWFyeSI+ CisgICAgICA8eHNsOmNob29zZT4KKyAgICAgICAgPHhzbDp3aGVuIHRlc3Q9ImNvbnRhaW5z KCRzZWVhbHNvLCAnLCcpIj4KKyAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0ic3Vi c3RyaW5nLWJlZm9yZSgkc2VlYWxzbywgJywnKSIvPgorICAgICAgICA8L3hzbDp3aGVuPgor ICAgICAgICA8eHNsOm90aGVyd2lzZT4KKyAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVj dD0iJHNlZWFsc28iLz4KKyAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgorICAgICAgPC94c2w6 Y2hvb3NlPgorICAgIDwveHNsOnZhcmlhYmxlPgorCisgICAgPHhzbDp2YXJpYWJsZSBuYW1l PSJzZWVhbHNvdGFyZ2V0IiBzZWxlY3Q9ImtleSgncHJpbWFyeW9ubHknLCAkc2VlYWxzb3By aW1hcnkpWzFdIi8+CisKKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImxpbmtlbmQiPgorICAg ICAgPHhzbDppZiB0ZXN0PSIkc2VlYWxzb3RhcmdldCI+CisgICAgICAgIDwhLS0gcGdzcWwt ZG9jczogYmVnaW4gLS0+CisgICAgICAgIDx4c2w6dGV4dD5pZW50cnktPC94c2w6dGV4dD4K KyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9Im9iamVjdC5pZCI+CisgICAgICAg ICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9Im9iamVjdCIgc2VsZWN0PSIkc2VlYWxzb3Rhcmdl dCIvPgorICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICA8IS0tIHBnc3Fs LWRvY3M6IGVuZCAtLT4KKyAgICAgIDwveHNsOmlmPgorICAgIDwveHNsOnZhcmlhYmxlPgor CisgICAgPGZvOmJsb2NrIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hs aW5rJz4KKyAgICAgIDx4c2w6dGV4dD4oPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6Y2FsbC10 ZW1wbGF0ZSBuYW1lPSJnZW50ZXh0Ij4KKyAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9 ImtleSIgc2VsZWN0PSInc2VlYWxzbyciLz4KKyAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+ CisgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+CisgICAgICA8eHNsOmNob29zZT4KKyAg ICAgICAgPCEtLSBtYW51YWwgbGlua3MgaGF2ZSBwcmVjZWRlbmNlIC0tPgorICAgICAgICA8 eHNsOndoZW4gdGVzdD0iQGxpbmtlbmQgb3Igc2VlL0B4bGluazpocmVmIj4KKyAgICAgICAg ICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic2ltcGxlLnhsaW5rIj4KKyAgICAgICAgICAg IDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJub2RlIiBzZWxlY3Q9Ii4iLz4KKyAgICAgICAgICAg IDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJjb250ZW50IiBzZWxlY3Q9IiRzZWVhbHNvIi8+Cisg ICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC94c2w6d2hlbj4KKyAg ICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRhdXRvbGluay5pbmRleC5zZWUgPSAwIj4KKyAgICAg ICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHNlZWFsc28iLz4KKyAgICAgICAgPC94c2w6 d2hlbj4KKyAgICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRzZWVhbHNvdGFyZ2V0Ij4KKyAgICAg ICAgICA8Zm86YmFzaWMtbGluayBpbnRlcm5hbC1kZXN0aW5hdGlvbj0ieyRsaW5rZW5kfSIK KyAgICAgICAgICAgICAgICAgICAgICAgICB4c2w6dXNlLWF0dHJpYnV0ZS1zZXRzPSJ4cmVm LnByb3BlcnRpZXMiPgorICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRzZWVh bHNvIi8+CisgICAgICAgICAgPC9mbzpiYXNpYy1saW5rPgorICAgICAgICA8L3hzbDp3aGVu PgorICAgICAgICA8eHNsOm90aGVyd2lzZT4KKyAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNl bGVjdD0iJHNlZWFsc28iLz4KKyAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgorICAgICAgPC94 c2w6Y2hvb3NlPgorICAgICAgPHhzbDp0ZXh0Pik8L3hzbDp0ZXh0PgorICAgIDwvZm86Ymxv Y2s+CisKKyAgPC94c2w6Zm9yLWVhY2g+CisKKzwveHNsOnRlbXBsYXRlPgorCisKIDwveHNs OnN0eWxlc2hlZXQ+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvc3R5bGVzaGVldC1odG1s LWNvbW1vbi54c2wgYi9kb2Mvc3JjL3NnbWwvc3R5bGVzaGVldC1odG1sLWNvbW1vbi54c2wK aW5kZXggYTM2OGUwZTE5OS4uN2Y1NDFjMDk4OCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21s L3N0eWxlc2hlZXQtaHRtbC1jb21tb24ueHNsCisrKyBiL2RvYy9zcmMvc2dtbC9zdHlsZXNo ZWV0LWh0bWwtY29tbW9uLnhzbApAQCAtNDM2LDQgKzQzNiwyMzggQEAgc2V0ICAgICAgIHRv Yyx0aXRsZQogICA8L3hzbDpjaG9vc2U+CiA8L3hzbDp0ZW1wbGF0ZT4KIAorPCEtLSBtYWtl IGdlbmVyYXRlZCBpZHMgcmVwcm9kdWNpYmxlCisgICAgIChodHRwczovL2dpdGh1Yi5jb20v ZG9jYm9vay94c2x0MTAtc3R5bGVzaGVldHMvaXNzdWVzLzU0KSAtLT4KKworPCEtLSBmcm9t IGh0bWwvYXV0b2lkeC54c2wgLS0+CisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9ImluZGV4dGVy bSIgbW9kZT0iaW5kZXgtcHJpbWFyeSI+CisgIDx4c2w6cGFyYW0gbmFtZT0ic2NvcGUiIHNl bGVjdD0iLiIvPgorICA8eHNsOnBhcmFtIG5hbWU9InJvbGUiIHNlbGVjdD0iJyciLz4KKyAg PHhzbDpwYXJhbSBuYW1lPSJ0eXBlIiBzZWxlY3Q9IicnIi8+CisKKyAgPHhzbDp2YXJpYWJs ZSBuYW1lPSJrZXkiIHNlbGVjdD0iJnByaW1hcnk7Ii8+CisgIDx4c2w6dmFyaWFibGUgbmFt ZT0icmVmcyIgc2VsZWN0PSJrZXkoJ3ByaW1hcnknLCAka2V5KVsmc2NvcGU7XSIvPgorICA8 ZHQ+CisgICAgPHhzbDppZiB0ZXN0PSIkYXV0b2xpbmsuaW5kZXguc2VlICE9IDAiPgorICAg ICAgPCEtLSBhZGQgaW50ZXJuYWwgaWQgYXR0cmlidXRlIHRvIGZvcm0gc2VlIGFuZCBzZWVh bHNvIGxpbmtzIC0tPgorICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iaWQiPgorICAgICAg ICA8IS0tIHBnc3FsLWRvY3M6IGJlZ2luIC0tPgorICAgICAgICA8eHNsOnRleHQ+aWVudHJ5 LTwveHNsOnRleHQ+CisgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJvYmplY3Qu aWQiLz4KKyAgICAgICAgPCEtLSBwZ3NxbC1kb2NzOiBlbmQgLS0+CisgICAgICA8L3hzbDph dHRyaWJ1dGU+CisgICAgPC94c2w6aWY+CisgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IiRy ZWZzL3ByaW1hcnkiPgorICAgICAgPHhzbDppZiB0ZXN0PSJAaWQgb3IgQHhtbDppZCI+Cisg ICAgICAgIDx4c2w6Y2hvb3NlPgorICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkZ2VuZXJh dGUuaWQuYXR0cmlidXRlcyA9IDAiPgorICAgICAgICAgICAgPGEgbmFtZT0ieyhAaWR8QHht bDppZClbMV19Ii8+CisgICAgICAgICAgPC94c2w6d2hlbj4KKyAgICAgICAgICA8eHNsOm90 aGVyd2lzZT4KKyAgICAgICAgICAgIDxzcGFuPgorICAgICAgICAgICAgICA8eHNsOmNhbGwt dGVtcGxhdGUgbmFtZT0iaWQuYXR0cmlidXRlIi8+CisgICAgICAgICAgICA8L3NwYW4+Cisg ICAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgorICAgICAgICA8L3hzbDpjaG9vc2U+CisgICAg ICA8L3hzbDppZj4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICA8eHNsOnZhbHVlLW9mIHNl bGVjdD0icHJpbWFyeSIvPgorICAgIDx4c2w6Y2hvb3NlPgorICAgICAgPHhzbDp3aGVuIHRl c3Q9IiRpbmRleC5saW5rcy50by5zZWN0aW9uID0gMSI+CisgICAgICAgIDx4c2w6Zm9yLWVh Y2ggc2VsZWN0PSIkcmVmc1tAem9uZSAhPSAnJyBvciBnZW5lcmF0ZS1pZCgpID0gZ2VuZXJh dGUtaWQoa2V5KCdwcmltYXJ5LXNlY3Rpb24nLCBjb25jYXQoJGtleSwgJnNlcDssICZzZWN0 aW9uLmlkOykpWyZzY29wZTtdWzFdKV0iPgorICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxh dGVzIHNlbGVjdD0iLiIgbW9kZT0icmVmZXJlbmNlIj4KKyAgICAgICAgICAgIDx4c2w6d2l0 aC1wYXJhbSBuYW1lPSJwb3NpdGlvbiIgc2VsZWN0PSJwb3NpdGlvbigpIi8+CisgICAgICAg ICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ic2NvcGUiIHNlbGVjdD0iJHNjb3BlIi8+Cisg ICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0icm9sZSIgc2VsZWN0PSIkcm9sZSIv PgorICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InR5cGUiIHNlbGVjdD0iJHR5 cGUiLz4KKyAgICAgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgICAgIDwveHNs OmZvci1lYWNoPgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6b3RoZXJ3aXNlPgor ICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iJHJlZnNbbm90KHNlZSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGFuZCBub3Qoc2Vjb25kYXJ5KV1bJnNjb3BlO10iPgor ICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0icmVmZXJl bmNlIj4KKyAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwb3NpdGlvbiIgc2Vs ZWN0PSJwb3NpdGlvbigpIi8+CisgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0i c2NvcGUiIHNlbGVjdD0iJHNjb3BlIi8+CisgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0g bmFtZT0icm9sZSIgc2VsZWN0PSIkcm9sZSIvPgorICAgICAgICAgICAgPHhzbDp3aXRoLXBh cmFtIG5hbWU9InR5cGUiIHNlbGVjdD0iJHR5cGUiLz4KKyAgICAgICAgICA8L3hzbDphcHBs eS10ZW1wbGF0ZXM+CisgICAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgPC94c2w6b3Ro ZXJ3aXNlPgorICAgIDwveHNsOmNob29zZT4KKworICAgIDx4c2w6aWYgdGVzdD0iJHJlZnNb bm90KHNlY29uZGFyeSldLypbc2VsZjo6c2VlXSI+CisgICAgICA8eHNsOmFwcGx5LXRlbXBs YXRlcyBzZWxlY3Q9IiRyZWZzW2dlbmVyYXRlLWlkKCkgPSBnZW5lcmF0ZS1pZChrZXkoJ3Nl ZScsIGNvbmNhdCgmcHJpbWFyeTssICZzZXA7LCAmc2VwOywgJnNlcDssIHNlZSkpWyZzY29w ZTtdWzFdKV0iCisgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlPSJpbmRleC1zZWUi PgorICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0icG9zaXRpb24iIHNlbGVjdD0icG9z aXRpb24oKSIvPgorICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ic2NvcGUiIHNlbGVj dD0iJHNjb3BlIi8+CisgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJyb2xlIiBzZWxl Y3Q9IiRyb2xlIi8+CisgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0eXBlIiBzZWxl Y3Q9IiR0eXBlIi8+CisgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9InRyYW5zbGF0ZShzZWUs ICZsb3dlcmNhc2U7LCAmdXBwZXJjYXNlOykiLz4KKyAgICAgIDwveHNsOmFwcGx5LXRlbXBs YXRlcz4KKyAgICA8L3hzbDppZj4KKyAgPC9kdD4KKyAgPHhzbDpjaG9vc2U+CisgICAgPHhz bDp3aGVuIHRlc3Q9IiRyZWZzL3NlY29uZGFyeSBvciAkcmVmc1tub3Qoc2Vjb25kYXJ5KV0v KltzZWxmOjpzZWVhbHNvXSI+CisgICAgICA8ZGQ+CisgICAgICAgIDxkbD4KKyAgICAgICAg ICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IiRyZWZzW2dlbmVyYXRlLWlkKCkgPSBn ZW5lcmF0ZS1pZChrZXkoJ3NlZS1hbHNvJywgY29uY2F0KCZwcmltYXJ5OywgJnNlcDssICZz ZXA7LCAmc2VwOywgc2VlYWxzbykpWyZzY29wZTtdWzFdKV0iCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbW9kZT0iaW5kZXgtc2VlYWxzbyI+CisgICAgICAgICAgICA8eHNs OndpdGgtcGFyYW0gbmFtZT0icG9zaXRpb24iIHNlbGVjdD0icG9zaXRpb24oKSIvPgorICAg ICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InNjb3BlIiBzZWxlY3Q9IiRzY29wZSIv PgorICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InJvbGUiIHNlbGVjdD0iJHJv bGUiLz4KKyAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0eXBlIiBzZWxlY3Q9 IiR0eXBlIi8+CisgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJ0cmFuc2xhdGUoc2Vl YWxzbywgJmxvd2VyY2FzZTssICZ1cHBlcmNhc2U7KSIvPgorICAgICAgICAgIDwveHNsOmFw cGx5LXRlbXBsYXRlcz4KKyAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9 IiRyZWZzW3NlY29uZGFyeSBhbmQgY291bnQoLnxrZXkoJ3NlY29uZGFyeScsIGNvbmNhdCgk a2V5LCAmc2VwOywgJnNlY29uZGFyeTspKVsmc2NvcGU7XVsxXSkgPSAxXSIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtb2RlPSJpbmRleC1zZWNvbmRhcnkiPgorICAgICAg ICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InBvc2l0aW9uIiBzZWxlY3Q9InBvc2l0aW9u KCkiLz4KKyAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJzY29wZSIgc2VsZWN0 PSIkc2NvcGUiLz4KKyAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJyb2xlIiBz ZWxlY3Q9IiRyb2xlIi8+CisgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idHlw ZSIgc2VsZWN0PSIkdHlwZSIvPgorICAgICAgICAgICAgPHhzbDpzb3J0IHNlbGVjdD0idHJh bnNsYXRlKCZzZWNvbmRhcnk7LCAmbG93ZXJjYXNlOywgJnVwcGVyY2FzZTspIi8+CisgICAg ICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgICAgICA8L2RsPgorICAgICAgPC9k ZD4KKyAgICA8L3hzbDp3aGVuPgorICAgIDwhLS0gSFRNTDUgcmVxdWlyZXMgZGQgZm9yIGVh Y2ggZHQgLS0+CisgICAgPHhzbDp3aGVuIHRlc3Q9IiRkaXYuZWxlbWVudCA9ICdzZWN0aW9u JyI+CisgICAgICA8ZGQ+PC9kZD4KKyAgICA8L3hzbDp3aGVuPgorICA8L3hzbDpjaG9vc2U+ Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iaW5kZXh0ZXJtIiBt b2RlPSJpbmRleC1zZWUiIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hs aW5rJz4KKyAgPHhzbDpwYXJhbSBuYW1lPSJzY29wZSIgc2VsZWN0PSIuIi8+CisgIDx4c2w6 cGFyYW0gbmFtZT0icm9sZSIgc2VsZWN0PSInJyIvPgorICA8eHNsOnBhcmFtIG5hbWU9InR5 cGUiIHNlbGVjdD0iJyciLz4KKworICA8eHNsOnZhcmlhYmxlIG5hbWU9InNlZSIgc2VsZWN0 PSJub3JtYWxpemUtc3BhY2Uoc2VlKSIvPgorCisgIDwhLS0gY2FuIG9ubHkgbGluayB0byBw cmltYXJ5LCB3aGljaCBzaG91bGQgYXBwZWFyIGJlZm9yZSBjb21tYQorICBpbiBzZWUgInBy aW1hcnksIHNlY29uZGFyeSIgZW50cnkgLS0+CisgIDx4c2w6dmFyaWFibGUgbmFtZT0ic2Vl cHJpbWFyeSI+CisgICAgPHhzbDpjaG9vc2U+CisgICAgICA8eHNsOndoZW4gdGVzdD0iY29u dGFpbnMoJHNlZSwgJywnKSI+CisgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJzdWJz dHJpbmctYmVmb3JlKCRzZWUsICcsJykiLz4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8 eHNsOm90aGVyd2lzZT4KKyAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRzZWUiLz4K KyAgICAgIDwveHNsOm90aGVyd2lzZT4KKyAgICA8L3hzbDpjaG9vc2U+CisgIDwveHNsOnZh cmlhYmxlPgorCisgIDx4c2w6dmFyaWFibGUgbmFtZT0ic2VldGFyZ2V0IiBzZWxlY3Q9Imtl eSgncHJpbWFyeW9ubHknLCAkc2VlcHJpbWFyeSlbMV0iLz4KKworICA8eHNsOnZhcmlhYmxl IG5hbWU9ImxpbmtlbmQiPgorICAgIDx4c2w6aWYgdGVzdD0iJHNlZXRhcmdldCI+CisgICAg ICA8IS0tIHBnc3FsLWRvY3M6IGJlZ2luIC0tPgorICAgICAgPHhzbDp0ZXh0PiNpZW50cnkt PC94c2w6dGV4dD4KKyAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJvYmplY3QuaWQi PgorICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ib2JqZWN0IiBzZWxlY3Q9IiRzZWV0 YXJnZXQiLz4KKyAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICA8IS0tIHBnc3Fs LWRvY3M6IGVuZCAtLT4KKyAgICA8L3hzbDppZj4KKyAgPC94c2w6dmFyaWFibGU+CisKKyAg PHhzbDp0ZXh0PiAoPC94c2w6dGV4dD4KKyAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9Imdl bnRleHQiPgorICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJrZXkiIHNlbGVjdD0iJ3NlZSci Lz4KKyAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0Pgor ICA8eHNsOmNob29zZT4KKyAgICA8IS0tIG1hbnVhbCBsaW5rcyBoYXZlIHByZWNlZGVuY2Ug LS0+CisgICAgPHhzbDp3aGVuIHRlc3Q9InNlZS9AbGlua2VuZCBvciBzZWUvQHhsaW5rOmhy ZWYiPgorICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InNpbXBsZS54bGluayI+Cisg ICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJub2RlIiBzZWxlY3Q9InNlZSIvPgorICAg ICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0iY29udGVudCIgc2VsZWN0PSIkc2VlIi8+Cisg ICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDwveHNsOndoZW4+CisgICAgPHhzbDp3 aGVuIHRlc3Q9IiRhdXRvbGluay5pbmRleC5zZWUgPSAwIj4KKyAgICAgIDx4c2w6dmFsdWUt b2Ygc2VsZWN0PSIkc2VlIi8+CisgICAgPC94c2w6d2hlbj4KKyAgICA8eHNsOndoZW4gdGVz dD0iJHNlZXRhcmdldCI+CisgICAgICA8YSBocmVmPSJ7JGxpbmtlbmR9Ij4KKyAgICAgICAg PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRzZWUiLz4KKyAgICAgIDwvYT4KKyAgICA8L3hzbDp3 aGVuPgorICAgIDx4c2w6b3RoZXJ3aXNlPgorICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9 IiRzZWUiLz4KKyAgICA8L3hzbDpvdGhlcndpc2U+CisgIDwveHNsOmNob29zZT4KKyAgPHhz bDp0ZXh0Pik8L3hzbDp0ZXh0PgorPC94c2w6dGVtcGxhdGU+CisKKzx4c2w6dGVtcGxhdGUg bWF0Y2g9ImluZGV4dGVybSIgbW9kZT0iaW5kZXgtc2VlYWxzbyIgeG1sbnM6eGxpbms9J2h0 dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnPgorICA8eHNsOnBhcmFtIG5hbWU9InNjb3Bl IiBzZWxlY3Q9Ii4iLz4KKyAgPHhzbDpwYXJhbSBuYW1lPSJyb2xlIiBzZWxlY3Q9IicnIi8+ CisgIDx4c2w6cGFyYW0gbmFtZT0idHlwZSIgc2VsZWN0PSInJyIvPgorCisgIDx4c2w6Zm9y LWVhY2ggc2VsZWN0PSJzZWVhbHNvIj4KKyAgICA8eHNsOnNvcnQgc2VsZWN0PSJ0cmFuc2xh dGUoLiwgJmxvd2VyY2FzZTssICZ1cHBlcmNhc2U7KSIvPgorCisgICAgPHhzbDp2YXJpYWJs ZSBuYW1lPSJzZWVhbHNvIiBzZWxlY3Q9Im5vcm1hbGl6ZS1zcGFjZSguKSIvPgorCisgICAg PCEtLSBjYW4gb25seSBsaW5rIHRvIHByaW1hcnksIHdoaWNoIHNob3VsZCBhcHBlYXIgYmVm b3JlIGNvbW1hCisgICAgaW4gc2VlYWxzbyAicHJpbWFyeSwgc2Vjb25kYXJ5IiBlbnRyeSAt LT4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InNlZWFsc29wcmltYXJ5Ij4KKyAgICAgIDx4 c2w6Y2hvb3NlPgorICAgICAgICA8eHNsOndoZW4gdGVzdD0iY29udGFpbnMoJHNlZWFsc28s ICcsJykiPgorICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJzdWJzdHJpbmctYmVm b3JlKCRzZWVhbHNvLCAnLCcpIi8+CisgICAgICAgIDwveHNsOndoZW4+CisgICAgICAgIDx4 c2w6b3RoZXJ3aXNlPgorICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkc2VlYWxz byIvPgorICAgICAgICA8L3hzbDpvdGhlcndpc2U+CisgICAgICA8L3hzbDpjaG9vc2U+Cisg ICAgPC94c2w6dmFyaWFibGU+CisKKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InNlZWFsc290 YXJnZXQiIHNlbGVjdD0ia2V5KCdwcmltYXJ5b25seScsICRzZWVhbHNvcHJpbWFyeSlbMV0i Lz4KKworICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibGlua2VuZCI+CisgICAgICA8eHNsOmlm IHRlc3Q9IiRzZWVhbHNvdGFyZ2V0Ij4KKyAgICAgICAgPCEtLSBwZ3NxbC1kb2NzOiBiZWdp biAtLT4KKyAgICAgICAgPHhzbDp0ZXh0PiNpZW50cnktPC94c2w6dGV4dD4KKyAgICAgICAg PHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9Im9iamVjdC5pZCI+CisgICAgICAgICAgPHhzbDp3 aXRoLXBhcmFtIG5hbWU9Im9iamVjdCIgc2VsZWN0PSIkc2VlYWxzb3RhcmdldCIvPgorICAg ICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICA8IS0tIHBnc3FsLWRvY3M6IGVu ZCAtLT4KKyAgICAgIDwveHNsOmlmPgorICAgIDwveHNsOnZhcmlhYmxlPgorCisgICAgPGR0 PgorICAgICAgPHhzbDp0ZXh0Pig8L3hzbDp0ZXh0PgorICAgICAgPHhzbDpjYWxsLXRlbXBs YXRlIG5hbWU9ImdlbnRleHQiPgorICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ia2V5 IiBzZWxlY3Q9IidzZWVhbHNvJyIvPgorICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAg ICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6Y2hvb3NlPgorICAgICAg ICA8IS0tIG1hbnVhbCBsaW5rcyBoYXZlIHByZWNlZGVuY2UgLS0+CisgICAgICAgIDx4c2w6 d2hlbiB0ZXN0PSJAbGlua2VuZCBvciBzZWUvQHhsaW5rOmhyZWYiPgorICAgICAgICAgIDx4 c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJzaW1wbGUueGxpbmsiPgorICAgICAgICAgICAgPHhz bDp3aXRoLXBhcmFtIG5hbWU9Im5vZGUiIHNlbGVjdD0iLiIvPgorICAgICAgICAgICAgPHhz bDp3aXRoLXBhcmFtIG5hbWU9ImNvbnRlbnQiIHNlbGVjdD0iJHNlZWFsc28iLz4KKyAgICAg ICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICA8L3hzbDp3aGVuPgorICAgICAg ICA8eHNsOndoZW4gdGVzdD0iJGF1dG9saW5rLmluZGV4LnNlZSA9IDAiPgorICAgICAgICAg IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkc2VlYWxzbyIvPgorICAgICAgICA8L3hzbDp3aGVu PgorICAgICAgICA8eHNsOndoZW4gdGVzdD0iJHNlZWFsc290YXJnZXQiPgorICAgICAgICAg IDxhIGhyZWY9InskbGlua2VuZH0iPgorICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxl Y3Q9IiRzZWVhbHNvIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3hzbDp3aGVuPgor ICAgICAgICA8eHNsOm90aGVyd2lzZT4KKyAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVj dD0iJHNlZWFsc28iLz4KKyAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgorICAgICAgPC94c2w6 Y2hvb3NlPgorICAgICAgPHhzbDp0ZXh0Pik8L3hzbDp0ZXh0PgorICAgIDwvZHQ+CisKKyAg ICA8eHNsOmlmIHRlc3Q9IiRkaXYuZWxlbWVudCA9ICdzZWN0aW9uJyI+CisgICAgICA8ZGQ+ PC9kZD4KKyAgICA8L3hzbDppZj4KKyAgPC94c2w6Zm9yLWVhY2g+Cis8L3hzbDp0ZW1wbGF0 ZT4KKwogPC94c2w6c3R5bGVzaGVldD4KLS0gCjIuNDEuMAoK --------------PpEExv48UUwlBukG7PEnCJWg--