From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms1.migadu.com with LMTPS id 2BI3HxcNUmZ36QAAqHPOHw:P1 (envelope-from ) for ; Sat, 25 May 2024 18:08:55 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id 2BI3HxcNUmZ36QAAqHPOHw (envelope-from ) for ; Sat, 25 May 2024 18:08:55 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=b+uca2y7; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1716653335; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature:autocrypt:autocrypt; bh=qkSpbWLQCvfTwKDnSB1GWn3oixOscdPcAaAnLeaY+mg=; b=CYMpkMxHk7cM0GCaZBaLEkCW58rDfB7f8Y3RQikgI2k+sihVTSCoPmhAHXwlqoq9avbKUl OZ8r+981Ctt906I67VNOizVAUdCZCmOSsk6y/BX8dVCX+La/q16bns+xPRLoTefnSQsrP0 uZ3mxKNeg1CrIGMpwJxsl0l96YpKb9Huq7kMedCazB3KkHSlFY8cQ83kZMeeqz8kbcVG89 rvdM+SPZf4lvNL+GO3y6p5M1j9Hlqj0MO+IMYmT3cUXqYlR/LA2KXMQWePwmjprbxevokS k9HNRYAKjdF3Yddhlrc0U5IMSiq/3E7SWzkIYR6siOeKxajcJaghCQRyP8kQCA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=b+uca2y7; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) ARC-Seal: i=1; s=key1; d=yhetil.org; t=1716653335; a=rsa-sha256; cv=none; b=RXSgLMk6nY3CJRWyrNnYz4NdkJYUORVDfefbf8uqbAg4mQcmu/cW8G7rPW9+M4pSSdAGcQ x227hzPSDEXYDMrBGEi0hoU3aDOhzAi0sC3fTNvoCmfzSqmseGM9gc8vsC7XVmRYg5Cb3d HXxttbDeu99v//8F3xlw8xkde/GnnNoYQ7n3kiQqyGgU8CJ65wuXexssoFelb8zVdCHL0w Qf1vd8DW6F0H43ZSaQFZkw3ZoRlw+OA+lFqxZDCqMwZayy6k/ZLbzDRp86gL+pBuBgE9ik STVd33Vi4dezR0qklvEzeZtf/vt38oaZ9QxrFJdEzXM5Uw1cxhFU4Yco4SWfAg== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 1BFD820397 for ; Sat, 25 May 2024 18:08:55 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sAtwL-00066F-HZ; Sat, 25 May 2024 12:08:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sA8y8-00041u-9P for bug-guix@gnu.org; Thu, 23 May 2024 09:58:57 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sA8y7-0000DB-W6 for bug-guix@gnu.org; Thu, 23 May 2024 09:58:56 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sA8yE-00035A-1U for bug-guix@gnu.org; Thu, 23 May 2024 09:59:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#71011: [BUG] Fail to buidl latest kitty References: <238cac50f9d0de7b468d977f96883e5d@riseup.net> In-Reply-To: <238cac50f9d0de7b468d977f96883e5d@riseup.net> Resent-From: Lucy Coleclough Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 23 May 2024 13:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71011 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 71011@debbugs.gnu.org Received: via spool by 71011-submit@debbugs.gnu.org id=B71011.171647274111842 (code B ref 71011); Thu, 23 May 2024 13:59:02 +0000 Received: (at 71011) by debbugs.gnu.org; 23 May 2024 13:59:01 +0000 Received: from localhost ([127.0.0.1]:59143 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sA8yA-00034w-1v for submit@debbugs.gnu.org; Thu, 23 May 2024 09:59:01 -0400 Received: from mail-lj1-f178.google.com ([209.85.208.178]:46128) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sA8y4-00034o-8v for 71011@debbugs.gnu.org; Thu, 23 May 2024 09:58:56 -0400 Received: by mail-lj1-f178.google.com with SMTP id 38308e7fff4ca-2e564cad1f1so86479571fa.0 for <71011@debbugs.gnu.org>; Thu, 23 May 2024 06:58:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1716472660; x=1717077460; darn=debbugs.gnu.org; h=autocrypt:from:content-language:subject:to:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to; bh=qkSpbWLQCvfTwKDnSB1GWn3oixOscdPcAaAnLeaY+mg=; b=b+uca2y7/tDeBantWu+AAFLuzm5gmGjD+n1YcudOdx++sgAiD37OCn6xrZyZh46HCu NnA53HwB+oG7HGpxsRUrzyXV39PAKsXLTDq8l6n5oXAJATEmKA75T7PpVzVFaAYDn46h i57BiSnhOK2GSTWTl/6vUfo4an7Mt732rZvDau59hwhjJI64ztGA7q9otl1zkLsdqieR 3SzocY7F2zKhm8727P4cgSW3rCo+SJ5YdOpOW50uZZjvt5v/ADdsup0uyEAcydb2wFVX aPk2doKwKF0u2xe9/GNvGtj4R3lXN0U8J7YJcozfhe2mc69kOBKNg+T48kdjbNHKbvX8 ulMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716472660; x=1717077460; h=autocrypt:from:content-language:subject:to:user-agent:mime-version :date:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=qkSpbWLQCvfTwKDnSB1GWn3oixOscdPcAaAnLeaY+mg=; b=gv1Txn5lZ9D9wDXPkmPl5s9rRjcG3RCLbyQZufXf7BQiYJN7UCwTSDlfJvi4K/ENW7 05vUzthkmoxdULCftDZK72Wpr78E1rWtiqYLwgVaz+Y84rnU68GJVGU/ex3QP0iwr0BY jQ1iWh0q62BTyTWH287uxYL95YNkqVV6Fu7WESbcVx8ZtLxAWitEWtoabkrWNnf8yyGO FBdjkazZs/X+bx33WTLCzWp8GUnkC3JYhujaJFqaFJLkcmcxeLr0zwpOR+cVFTfq102O evsiZNji9sDA0exoWv1/1JbRNQEO8VxQOWvpyvB4qCIb4mr75o/iGiW9d8zqgCmO9MO3 rKSA== X-Gm-Message-State: AOJu0YzObbTjUiSFAtCESLQYFUnNP4oO0ATlZoI0y3RJ2QCbPVjuSim3 3eyBGKDoBAQSCh+QuwEKtTuGJ3PlfqXeIxhQnUh7MXB8UGdPfnHBo3oVwUDo X-Google-Smtp-Source: AGHT+IEPdZuxGz3dLL+Loup1J6WTYoPv5Y5K9UgNIL9PKG6y6UwLhVtkoTAtatumbRF+PTVLaURHGw== X-Received: by 2002:a2e:87d7:0:b0:2e1:e33d:67f6 with SMTP id 38308e7fff4ca-2e9495bfbbcmr32568881fa.28.1716472659550; Thu, 23 May 2024 06:57:39 -0700 (PDT) Received: from [192.168.1.138] (18.216.208.46.dyn.plus.net. [46.208.216.18]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-42100fad6ccsm26026795e9.32.2024.05.23.06.57.38 for <71011@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 23 May 2024 06:57:39 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------yxJMxyTMcAMSBbExFd4mKOAO" Message-ID: <1f71215b-9831-f0ce-331b-20bafa15bcbb@gmail.com> Date: Thu, 23 May 2024 14:57:38 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.0 Content-Language: en-US From: Lucy Coleclough Autocrypt: addr=coleclough.lucy@gmail.com; keydata= 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 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Mailman-Approved-At: Sat, 25 May 2024 12:07:46 -0400 X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: bug-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Spam-Score: 4.85 X-Migadu-Queue-Id: 1BFD820397 X-Migadu-Scanner: mx10.migadu.com X-Migadu-Spam-Score: 4.85 X-TUID: QZkIfJz9DTyf This is a multi-part message in MIME format. --------------yxJMxyTMcAMSBbExFd4mKOAO Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Ok this works now but needs a lot of cleaning One issue was that a dependant package `x-exp` needed to be compiled by go-1.22 It would probably be good to build them all off 1.22 I apply-ed the patch you sent The function to make the symlink-s real would be better off as build utils or in some other standard location that can be pulled in Perhaps they could be real-ise-ed in the go build system `setup-go-environment` which is where they are created There are some runtime dependency-s such as libcanberra that are loaded with dlopen, they have been pointed to in `( invoke "python" "setup.py" ...)`, perhaps there is some guix mechanism to give kitty a custom environment which allows auto detection with no absolute path. --------------yxJMxyTMcAMSBbExFd4mKOAO Content-Type: text/x-scheme; charset=UTF-8; name="kitty.scm" Content-Disposition: attachment; filename="kitty.scm" Content-Transfer-Encoding: base64 KGRlZmluZS1tb2R1bGUgKHBhbnRoZW9uIHBhY2thZ2VzIHRlcm1pbmFscykKICAjOnVzZS1t b2R1bGUgKChndWl4IGxpY2Vuc2VzKSAjOnByZWZpeCBsaWNlbnNlOikKICAjOnVzZS1tb2R1 bGUgKChndWl4IGJ1aWxkIHV0aWxzKSAjOnNlbGVjdCAoYWxpc3QtcmVwbGFjZSkpCiAgIzp1 c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBjYXJnbykKICAjOnVzZS1tb2R1bGUgKGd1 aXggYnVpbGQtc3lzdGVtIGNtYWtlKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0 ZW0gZ251KQogICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0gZ2xpYi1vci1ndGsp CiAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBnbykKICAjOnVzZS1tb2R1bGUg KGd1aXggYnVpbGQtc3lzdGVtIG1lc29uKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1z eXN0ZW0gcHlwcm9qZWN0KQogICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0gcHl0 aG9uKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBkb3dubG9hZCkKICAjOnVzZS1tb2R1bGUgKGd1 aXggZ2l0LWRvd25sb2FkKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBnZXhwKQogICM6dXNlLW1v ZHVsZSAoZ3VpeCBwYWNrYWdlcykKICAjOnVzZS1tb2R1bGUgKGd1aXggdXRpbHMpCiAgIzp1 c2UtbW9kdWxlIChnbnUgcGFja2FnZXMpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg YXV0b3Rvb2xzKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGFzc2VtYmx5KQogICM6 dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGJhc2UpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFj a2FnZXMgYmFzaCkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBjaGVjaykKICAjOnVz ZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBjb21wcmVzc2lvbikKICAjOnVzZS1tb2R1bGUgKGdu dSBwYWNrYWdlcyBjcmF0ZXMtaW8pCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY3Jh dGVzLWdyYXBoaWNzKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGNyeXB0bykKICAj OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBjdXJsKQogICM6dXNlLW1vZHVsZSAoZ251IHBh Y2thZ2VzIGRsYW5nKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGRpZ2VzdCkKICAj OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBkb2Nib29rKQogICM6dXNlLW1vZHVsZSAoZ251 IHBhY2thZ2VzIGZvbnR1dGlscykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBmcmVl ZGVza3RvcCkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBmcmliaWRpKQogICM6dXNl LW1vZHVsZSAoZ251IHBhY2thZ2VzIGdldHRleHQpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFj a2FnZXMgZ2hvc3RzY3JpcHQpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ2wpCiAg Izp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ2xpYikKICAjOnVzZS1tb2R1bGUgKGdudSBw YWNrYWdlcyBnbm9tZSkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBnb2xhbmcpCiAg Izp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ29sYW5nLWJ1aWxkKQogICM6dXNlLW1vZHVs ZSAoZ251IHBhY2thZ2VzIGdvbGFuZy1jaGVjaykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr YWdlcyBnb2xhbmcteHl6KQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGd0aykKICAj OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBpbWFnZSkKICAjOnVzZS1tb2R1bGUgKGdudSBw YWNrYWdlcyBsaWJjYW5iZXJyYSkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBsaWJl dmVudCkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBsaWJ1bndpbmQpCiAgIzp1c2Ut bW9kdWxlIChnbnUgcGFja2FnZXMgbGludXgpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2Fn ZXMgbWFuKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIG5jdXJzZXMpCiAgIzp1c2Ut bW9kdWxlIChnbnUgcGFja2FnZXMgcGNyZSkKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdl cyBwZXJsKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHBlcmwtY2hlY2spCiAgIzp1 c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcGtnLWNvbmZpZykKICAjOnVzZS1tb2R1bGUgKGdu dSBwYWNrYWdlcyBwb3B0KQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHByb3RvYnVm KQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHB5dGhvbikKICAjOnVzZS1tb2R1bGUg KGdudSBwYWNrYWdlcyBweXRob24tYnVpbGQpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2Fn ZXMgcHl0aG9uLWNoZWNrKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHB5dGhvbi14 eXopCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcXQpCiAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgc2VyaWFsaXphdGlvbikKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdl cyBzcGhpbngpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgc3NoKQogICM6dXNlLW1v ZHVsZSAoZ251IHBhY2thZ2VzIHRleHR1dGlscykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr YWdlcyB0bHMpCiAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgdmVyc2lvbi1jb250cm9s KQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHhkaXNvcmcpCiAgIzp1c2UtbW9kdWxl IChnbnUgcGFja2FnZXMgeG1sKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHhvcmcp CiAgIzp1c2UtbW9kdWxlIChzcmZpIHNyZmktMjYpKQoKKGRlZmluZS1wdWJsaWMgcHl0aG9u LWZ1cm8KICAocGFja2FnZQogICAgKG5hbWUgInB5dGhvbi1mdXJvIikKICAgICh2ZXJzaW9u ICIyMDI0LjUuNiIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCB1 cmwtZmV0Y2gpCiAgICAgICAodXJpIChweXBpLXVyaSAiZnVybyIgdmVyc2lvbikpCiAgICAg ICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMDJyYjdtZGg4bmdsdzVoanpqOHY3cGZyYzA4 d2hmczM0MTFtaGZ3Y3BnMnljMmswYndsMSIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIHB5cHJv amVjdC1idWlsZC1zeXN0ZW0pCiAgICAocHJvcGFnYXRlZC1pbnB1dHMgKGxpc3QgcHl0aG9u LWJlYXV0aWZ1bHNvdXA0IHB5dGhvbi1weWdtZW50cwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHB5dGhvbi1zcGhpbnggcHl0aG9uLXNwaGlueC1iYXNpYy1uZwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHB5dGhvbi1zcGhpbngtdGhlbWUtYnVpbGRlcgogICAgKSkK ICAgIChob21lLXBhZ2UgIiIpCiAgICAoc3lub3BzaXMgIkEgY2xlYW4gY3VzdG9taXNhYmxl IFNwaGlueCBkb2N1bWVudGF0aW9uIHRoZW1lLiIpCiAgICAoZGVzY3JpcHRpb24KICAgICAi VGhpcyBwYWNrYWdlIHByb3ZpZGVzIGEgY2xlYW4gY3VzdG9taXNhYmxlIFNwaGlueCBkb2N1 bWVudGF0aW9uIHRoZW1lLiIpCiAgICAobGljZW5zZSAjZikpKQoKKGRlZmluZS1wdWJsaWMg cHl0aG9uLXNwaGlueC1pbmxpbmUtdGFicwogIChwYWNrYWdlCiAgICAobmFtZSAicHl0aG9u LXNwaGlueC1pbmxpbmUtdGFicyIpCiAgICAodmVyc2lvbiAiMjAyMy40LjIxIikKICAgIChz b3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKICAgICAgICh1 cmkgKHB5cGktdXJpICJzcGhpbnhfaW5saW5lX3RhYnMiIHZlcnNpb24pKQogICAgICAgKHNo YTI1NgogICAgICAgIChiYXNlMzIgIjFnNXloZGsyMDhpOG1haXBwbmJuaWpkMWtucGFpODA5 d2wzY2J3enF5NTljYzB6ejN3angiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBweXByb2plY3Qt YnVpbGQtc3lzdGVtKQogICAgKHByb3BhZ2F0ZWQtaW5wdXRzIChsaXN0IDtweXRob24tZnVy bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbi1teXN0LXBhcnNlcgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbi1mbGl0LWNvcmUKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBweXRob24tcHl0ZXN0CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcHl0aG9uLXB5dGVzdC1jb3YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw eXRob24tcHl0ZXN0LXhkaXN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9u LXNwaGlueCkpCgkoIGFyZ3VtZW50cyAoIGxpc3QgIzp0ZXN0cz8gI2YpKQogICAgKGhvbWUt cGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3ByYWR5dW5zZy9zcGhpbngtaW5saW5lLXRhYnMi KQogICAgKHN5bm9wc2lzICJBZGQgaW5saW5lIHRhYmJlZCBjb250ZW50IHRvIHlvdXIgU3Bo aW54IGRvY3VtZW50YXRpb24uIikKICAgIChkZXNjcmlwdGlvbiAiQWRkIGlubGluZSB0YWJi ZWQgY29udGVudCB0byB5b3VyIFNwaGlueCBkb2N1bWVudGF0aW9uLiIpCiAgICAobGljZW5z ZSAjZikpKQoKCjs7IHZpYSBnbnUvcGFja2FnZXMvdGVybWluYWxzLnNjbQo7OyBodHRwczov L2dpdGh1Yi5jb20venprdC9ndWl4L2Jsb2IvZW5kbGVzcy9jaGFubmVsL3p6a3QvcGFja2Fn ZXMva2l0dHkuc2NtCihkZWZpbmUtcHVibGljIGdvLTEuMjIKICAocGFja2FnZQogICAgKGlu aGVyaXQgZ28tMS4yMSkKICAgIChuYW1lICJnbyIpCiAgICAodmVyc2lvbiAiMS4yMi4wIikK ICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAg ICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0 aHViLmNvbS9nb2xhbmcvZ28iKQogICAgICAgICAgICAgKGNvbW1pdCAoc3RyaW5nLWFwcGVu ZCAiZ28iIHZlcnNpb24pKSkpCiAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1lIG5h bWUgdmVyc2lvbikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMDBqNnNuMnp5 c2s1cGR6eHcxd2ZkaTMxd2dnencxaDEwMjZhaDN4M21pODVkd3NpamhqcyIpKSkpCiAgICAo YXJndW1lbnRzCiAgICAgKHN1YnN0aXR1dGUta2V5d29yZC1hcmd1bWVudHMgKHBhY2thZ2Ut YXJndW1lbnRzIGdvLTEuMjEpCiAgICAgICAoKCM6cGhhc2VzIHBoYXNlcykKICAgICAgICAj fihtb2RpZnktcGhhc2VzICMkcGhhc2VzCiAgICAgICAgCSggZGVsZXRlICdjaGVjaykKICAg ICAgICAgICAgKHJlcGxhY2UgJ3VucGF0Y2gtcGVybC1zaGViYW5ncwogICAgICAgICAgICAg IChsYW1iZGEgXwogICAgICAgICAgICAgICAgOzsgQXZvaWQgaW5jbHVzaW9uIG9mIHBlcmwg aW4gY2xvc3VyZSBieSByZXdyaXRpbmcgcmVmZXJlbmNlcwogICAgICAgICAgICAgICAgOzsg dG8gcGVybCBpbnB1dCBpbiBzb3VyY2Vjb2RlIGdlbmVyYXRvcnMgYW5kIHRlc3Qgc2NyaXB0 cwogICAgICAgICAgICAgICAgKHN1YnN0aXR1dGUqIChmaW5kLWZpbGVzICJzcmMiICJcXC5w bCQiKQogICAgICAgICAgICAgICAgICAoKCJeIyEuKiIpCiAgICAgICAgICAgICAgICAgICAi IyEvdXNyL2Jpbi9lbnYgcGVybFxuIikpKSkpKSkpCiAgICAobmF0aXZlLWlucHV0cwogICAg IDs7IEdvIDEuMjIgYW5kIGxhdGVyIHJlcXVpcmVzIEdvIDEuMjAgKG1pbi4gMS4yMC42LCB3 aGljaCB3ZSBkb24ndCBoYXZlKQogICAgIDs7IGFzIHRoZSBib290c3RyYXAgdG9vbGNoYWlu LgogICAgIChhbGlzdC1yZXBsYWNlICJnbyIKICAgICAgICAgICAgICAgICAgICAobGlzdCBn by0xLjIxKQogICAgICAgICAgICAgICAgICAgIChwYWNrYWdlLW5hdGl2ZS1pbnB1dHMgZ28t MS4yMSkpKSkpCgo7IChkZWZpbmUtcHVibGljIGdvLWdpdGh1Yi1jb20tZ29vZ2xlLWdvLWNt cAo7ICAgKHBhY2thZ2UKOyAgICAgKG5hbWUgImdvLWdpdGh1Yi1jb20tZ29vZ2xlLWdvLWNt cCIpCjsgICAgICh2ZXJzaW9uICIwLjYuMCIpCjsgICAgIChzb3VyY2UKOyAgICAgIChvcmln aW4KOyAgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCjsgICAgICAgICh1cmkgKGdpdC1yZWZl cmVuY2UKOyAgICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9n by1jbXAiKQo7ICAgICAgICAgICAgICAoY29tbWl0IChzdHJpbmctYXBwZW5kICJ2IiB2ZXJz aW9uKSkpKQo7ICAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lv bikpCjsgICAgICAgIChzaGEyNTYKOyAgICAgICAgIChiYXNlMzIgIjFuMWo0aGk1MGJsMDVw eXlzNGk3eTQxN2s5ZzZrMWJsc2xqMjd6MzI3cW55N2trZGwybWEiKSkpKQo7ICAgICAoYnVp bGQtc3lzdGVtIGdvLWJ1aWxkLXN5c3RlbSkKOyAgICAgKGFyZ3VtZW50cwo7ICAgICAgKGxp c3QKOyAJIzpnbyBnby0xLjIyCjsgICAgICAgIzppbXBvcnQtcGF0aCAiZ2l0aHViLmNvbS9n b29nbGUvZ28tY21wIikpCjsgICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9n b29nbGUvZ28tY21wIikKOyAgICAgKHN5bm9wc2lzICJQYWNrYWdlIGZvciBlcXVhbGl0eSBv ZiBHbyB2YWx1ZXMiKQo7ICAgICAoZGVzY3JpcHRpb24KOyAgICAgICJUaGlzIHBhY2thZ2Ug aXMgaW50ZW5kZWQgdG8gYmUgYSBtb3JlIHBvd2VyZnVsIGFuZCBzYWZlciBhbHRlcm5hdGl2 ZSB0bwo7IEBAY29kZXtyZWZsZWN0LkBjb2Rle0RlZXBFcXVhbH19IGZvciBjb21wYXJpbmcg d2hldGhlciB0d28gdmFsdWVzIGFyZQo7IHNlbWFudGljYWxseSBlcXVhbC4iKQo7ICAgICAo bGljZW5zZSBsaWNlbnNlOmJzZC0zKSkpCgo7IChkZWZpbmUtcHVibGljIGdvLWdpdGh1Yi1j b20tZ29vZ2xlLWdvLWNtcC1jbXAKOyAgIChwYWNrYWdlCjsgICAgIChuYW1lICJnby1naXRo dWItY29tLWdvb2dsZS1nby1jbXAtY21wIikKOyAgICAgKHZlcnNpb24gIjAuNi4wIikKOyAg ICAgKHNvdXJjZQo7ICAgICAgKG9yaWdpbgo7ICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkK OyAgICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQo7ICAgICAgICAgICAgICAodXJsICJodHRw czovL2dpdGh1Yi5jb20vZ29vZ2xlL2dvLWNtcCIpCjsgICAgICAgICAgICAgIChjb21taXQg KHN0cmluZy1hcHBlbmQgInYiIHZlcnNpb24pKSkpCjsgICAgICAgIChmaWxlLW5hbWUgKGdp dC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKOyAgICAgICAgKHNoYTI1Ngo7ICAgICAgICAg KGJhc2UzMiAiMW4xajRoaTUwYmwwNXB5eXM0aTd5NDE3azlnNmsxYmxzbGoyN3ozMjdxbnk3 a2tkbDJtYSIpKSkpCjsgICAgIChidWlsZC1zeXN0ZW0gZ28tYnVpbGQtc3lzdGVtKQo7ICAg ICAoYXJndW1lbnRzCjsgICAgICAoIGxpc3QgIzppbXBvcnQtcGF0aCAiZ2l0aHViLmNvbS9n b29nbGUvZ28tY21wL2NtcCIKOyAgICAgICAgIzp1bnBhY2stcGF0aCAiZ2l0aHViLmNvbS9n b29nbGUvZ28tY21wIgo7ICAgICAjOmdvIGdvLTEuMjIKOyAgICAgICAgIzpwaGFzZXMKOyAg ICAgICAgYChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKOyAgICAgICAgICAocmVw bGFjZSAnY2hlY2sKOyAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxv dy1vdGhlci1rZXlzICM6cmVzdCBhcmdzKQo7ICAgICAgICAgICAgICAodW5sZXNzCjsgICAg ICAgICAgICAgICAgOzsgVGhlIHRlc3RzIGZhaWwgd2hlbiBydW4gd2l0aCBnY2Nnby4KOyAg ICAgICAgICAgICAgICAoZmFsc2UtaWYtZXhjZXB0aW9uIChzZWFyY2gtaW5wdXQtZmlsZSBp bnB1dHMgIi9iaW4vZ2NjZ28iKSkKOyAgICAgICAgICAgICAgICAoYXBwbHkgKGFzc29jLXJl ZiAlc3RhbmRhcmQtcGhhc2VzICdjaGVjaykgYXJncykpKSkpKSkKOyAgICAgKHN5bm9wc2lz ICJEZXRlcm1pbmUgZXF1YWxpdHkgb2YgdmFsdWVzIGluIEdvIikKOyAgICAgKGRlc2NyaXB0 aW9uCjsgICAgICAiVGhpcyBwYWNrYWdlIGlzIGludGVuZGVkIHRvIGJlIGEgbW9yZSBwb3dl cmZ1bCBhbmQgc2FmZXIKOyBhbHRlcm5hdGl2ZSB0byBAQGNvZGV7cmVmbGVjdC5EZWVwRXF1 YWx9IGZvciBjb21wYXJpbmcgd2hldGhlciB0d28gdmFsdWVzIGFyZQo7IHNlbWFudGljYWxs eSBlcXVhbC4iKQo7ICAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xl L2dvLWNtcCIpCjsgICAgIChsaWNlbnNlIGxpY2Vuc2U6YnNkLTMpKSkKCjsgKGRlZmluZS1w dWJsaWMgZ28tZ29sYW5nLW9yZy14LWV4cC1xCjsgICAocGFja2FnZQo7ICAgICAobmFtZSAi Z28tZ29sYW5nLW9yZy14LWV4cCIpCjsgICAgICh2ZXJzaW9uICIwLjAuMC0yMDI0MDUwNjE4 NTQxNS05YmYyY2VkMTM4NDIiKQo7ICAgICAoc291cmNlCjsgICAgICAob3JpZ2luCjsgICAg ICAgIChtZXRob2QgZ2l0LWZldGNoKQo7ICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCjsg ICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ28uZ29vZ2xlc291cmNlLmNvbS9leHAiKQo7 ICAgICAgICAgICAgICAoY29tbWl0IChnby12ZXJzaW9uLT5naXQtcmVmIHZlcnNpb24pKSkp CjsgICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKOyAg ICAgICAgKHNoYTI1Ngo7ICAgICAgICAgKGJhc2UzMiAiMXI3cjBkajlyZzFpeXppNGR4a2cy eTRzMzVweDQzc3g4ejN2N2RxZHpnaW04Y2NmNTB6NCIpKSkpCjsgICAgIChidWlsZC1zeXN0 ZW0gZ28tYnVpbGQtc3lzdGVtKQo7ICAgICAoYXJndW1lbnRzCjsgICAgICAobGlzdAo7ICAg ICAgICM6Z28gZ28tMS4yMgo7ICAgICAgICM6aW1wb3J0LXBhdGggImdvbGFuZy5vcmcveC9l eHAiKSkKOyAgICAgKHByb3BhZ2F0ZWQtaW5wdXRzIGAoKCJnby1nb2xhbmctb3JnLXgtdG9v bHMiICxnby1nb2xhbmctb3JnLXgtdG9vbHMpCjsgICAgICAgICAgICAgICAgICAgICAgICAg ICgiZ28tZ29sYW5nLW9yZy14LW1vZCIgLGdvLWdvbGFuZy1vcmcteC1tb2QpCjsgICAgICAg ICAgICAgICAgICAgICAgICAgICgiZ28tZ2l0aHViLWNvbS1nb29nbGUtZ28tY21wIiAsZ28t Z2l0aHViLWNvbS1nb29nbGUtZ28tY21wLWNtcCkpKQo7ICAgICAoaG9tZS1wYWdlICJodHRw czovL2dvbGFuZy5vcmcveC9leHAiKQo7ICAgICAoc3lub3BzaXMgImV4cCIpCjsgICAgIChk ZXNjcmlwdGlvbgo7ICAgICAgIlRoaXMgc3VicmVwb3NpdG9yeSBob2xkcyBleHBlcmltZW50 YWwgYW5kIGRlcHJlY2F0ZWQgKGluIHRoZSBAQGNvZGV7b2xkfQo7IGRpcmVjdG9yeSkgcGFj a2FnZXMuIikKOyAgICAgKGxpY2Vuc2UgbGljZW5zZTpic2QtMykpKQoKKGRlZmluZS1wdWJs aWMgZ28tZ29sYW5nLW9yZy14LWV4cC1xCiAgKHBhY2thZ2UKICAgIChuYW1lICJnby1nb2xh bmctb3JnLXgtZXhwIikKICAgICh2ZXJzaW9uICIwLjAuMC0yMDI0MDUwNjE4NTQxNS05YmYy Y2VkMTM4NDIiKQogICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgZ2l0 LWZldGNoKQogICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAgICAgKHVybCAi aHR0cHM6Ly9nby5nb29nbGVzb3VyY2UuY29tL2V4cCIpCiAgICAgICAgICAgICAoY29tbWl0 IChnby12ZXJzaW9uLT5naXQtcmVmIHZlcnNpb24pKSkpCiAgICAgICAoZmlsZS1uYW1lIChn aXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJh c2UzMiAiMXI3cjBkajlyZzFpeXppNGR4a2cyeTRzMzVweDQzc3g4ejN2N2RxZHpnaW04Y2Nm NTB6NCIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1 bWVudHMKICAgICAoIGxpc3QgIzppbXBvcnQtcGF0aCAiZ29sYW5nLm9yZy94L2V4cCIKICAg ICAgIDs7IFNvdXJjZS1vbmx5IHBhY2thZ2UKICAgICAgICAjOmdvIGdvLTEuMjIKICAgICAg ICM6dGVzdHM/ICNmCiAgICAgICAjOnBoYXNlcyBgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJk LXBoYXNlcwogICAgICAgICAgICAgICAgICAoZGVsZXRlICdidWlsZCkpKSkKICAgIChob21l LXBhZ2UgImh0dHBzOi8vZ29sYW5nLm9yZy94L2V4cCIpCiAgICAoc3lub3BzaXMgIkV4cGVy aW1lbnRhbCBhbmQgZGVwcmVjYXRlZCBHbyBwYWNrYWdlcyIpCiAgICAoZGVzY3JpcHRpb24g IlRoaXMgc3VicmVwb3NpdG9yeSBob2xkcyBleHBlcmltZW50YWwgYW5kIGRlcHJlY2F0ZWQg KGluIHRoZQpAY29kZXtvbGR9IGRpcmVjdG9yeSkgcGFja2FnZXMuIikKICAgIChsaWNlbnNl IGxpY2Vuc2U6YnNkLTMpKSkKCihkZWZpbmUtcHVibGljIGdvLWdpdGh1Yi1jb20tYWx0cmVl LWJpZ2Zsb2F0CiAgKHBhY2thZ2UKICAgIChuYW1lICJnby1naXRodWItY29tLWFsdHJlZS1i aWdmbG9hdCIpCiAgICAodmVyc2lvbiAiMC4yLjAiKQogICAgKHNvdXJjZQogICAgIChvcmln aW4KICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5j ZQogICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL0FMVHJlZS9iaWdmbG9h dCIpCiAgICAgICAgICAgICAoY29tbWl0IChzdHJpbmctYXBwZW5kICJ2IiB2ZXJzaW9uKSkp KQogICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAg ICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjFqdnFnNXc0YXp3cXYwcmFuaXI2dmhsaDY0 MDNwbjYwNDNqcWJ3c2xkYW40dmo2bjV4bWgiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnby1i dWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgKGxpc3QKICAgICAgIzppbXBvcnQt cGF0aCAiZ2l0aHViLmNvbS9BTFRyZWUvYmlnZmxvYXQiKSkKICAgIChuYXRpdmUtaW5wdXRz CiAgICAgKGxpc3QgZ28tMS4yMikpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5j b20vQUxUcmVlL2JpZ2Zsb2F0IikKICAgIChzeW5vcHNpcyAiRXhhbXBsZSIpCiAgICAoZGVz Y3JpcHRpb24KICAgICAiUGFja2FnZSBiaWdmbG9hdCBwcm92aWRlcyBhcmJpdHJhcnktcHJl Y2lzaW9uIG5hdHVyYWwgbG9nYXJpdGhtIGFuZApleHBvbmVudGlhdGlvbiBmb3IgdGhlIHN0 YW5kYXJkIGxpYnJhcnkncyBAQGNvZGV7YmlnLkZsb2F0fSB0eXBlLiIpCiAgICAobGljZW5z ZSBsaWNlbnNlOmV4cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBnby1naXRodWItY29tLWJtYXRj dWstZG91Ymxlc3Rhci12NAogIChwYWNrYWdlCiAgICAobmFtZSAiZ28tZ2l0aHViLWNvbS1i bWF0Y3VrLWRvdWJsZXN0YXItdjQiKQogICAgKHZlcnNpb24gIjQuNi4xIikKICAgIChzb3Vy Y2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICh1cmkg KGdpdC1yZWZlcmVuY2UKICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9i bWF0Y3VrL2RvdWJsZXN0YXIiKQogICAgICAgICAgICAgKGNvbW1pdCAoc3RyaW5nLWFwcGVu ZCAidiIgdmVyc2lvbikpKSkKICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFt ZSB2ZXJzaW9uKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxMnJmNGE5aXNn ZzJuaDkyN2dpa2dibXlheW5hcXA0a2phaGdzY2I0cW5yMDRtM3ZwcjQxIikpKSkKICAgIChi dWlsZC1zeXN0ZW0gZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIChsaXN0 CiAgICAgICM6aW1wb3J0LXBhdGggImdpdGh1Yi5jb20vYm1hdGN1ay9kb3VibGVzdGFyL3Y0 IikpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vYm1hdGN1ay9kb3VibGVz dGFyIikKICAgIChzeW5vcHNpcyAiZG91Ymxlc3RhciIpCiAgICAoZGVzY3JpcHRpb24KICAg ICAiUGF0aCBwYXR0ZXJuIG1hdGNoaW5nIGFuZCBnbG9iYmluZyBzdXBwb3J0aW5nIEBAY29k ZXtkb3VibGVzdGFyfSAoQEBjb2RleyoqfSkKcGF0dGVybnMuIikKICAgIChsaWNlbnNlIGxp Y2Vuc2U6ZXhwYXQpKSkKCihkZWZpbmUtcHVibGljIGdvLWdpdGh1Yi1jb20tc2VhbmNmb2xl eS1iaW50cmVlCiAgKHBhY2thZ2UKICAgIChuYW1lICJnby1naXRodWItY29tLXNlYW5jZm9s ZXktYmludHJlZSIpCiAgICAodmVyc2lvbiAiMS4yLjMiKQogICAgKHNvdXJjZQogICAgIChv cmlnaW4KICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgKHVyaSAoZ2l0LXJlZmVy ZW5jZQogICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL3NlYW5jZm9sZXkv YmludHJlZSIpCiAgICAgICAgICAgICAoY29tbWl0IChzdHJpbmctYXBwZW5kICJ2IiB2ZXJz aW9uKSkpKQogICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24p KQogICAgICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjE3ZmFpeWZiZjh4Njg4aWo0MGQz ZzgwczJ6Mm01aDV3MjNqOTJtZjJrMHdzNWc2Zmk5dngiKSkpKQogICAgKGJ1aWxkLXN5c3Rl bSBnby1idWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgKGxpc3QKICAgICAgIzpn byBnby0xLjE4CiAgICAgICM6aW1wb3J0LXBhdGggImdpdGh1Yi5jb20vc2VhbmNmb2xleS9i aW50cmVlL3RyZWUiCiAgICAgICM6dW5wYWNrLXBhdGggImdpdGh1Yi5jb20vc2VhbmNmb2xl eS9iaW50cmVlIikpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vc2VhbmNm b2xleS9iaW50cmVlIikKICAgIChzeW5vcHNpcyAiYmludHJlZSIpCiAgICAoZGVzY3JpcHRp b24gIkJpbmFyeSB0cmVlcyBhbmQgdHJpZXMiKQogICAgKGxpY2Vuc2UgbGljZW5zZTphc2wy LjApKSkKCihkZWZpbmUtcHVibGljIGdvLWdpdGh1Yi1jb20tc2VhbmNmb2xleS1pcGFkZHJl c3MtZ28taXBhZGRyCiAgKHBhY2thZ2UKICAgIChuYW1lICJnby1naXRodWItY29tLXNlYW5j Zm9sZXktaXBhZGRyZXNzLWdvLWlwYWRkciIpCiAgICAodmVyc2lvbiAiMS41LjUiKQogICAg KHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAg KHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIu Y29tL3NlYW5jZm9sZXkvaXBhZGRyZXNzLWdvIikKICAgICAgICAgICAgIChjb21taXQgKHN0 cmluZy1hcHBlbmQgInYiIHZlcnNpb24pKSkpCiAgICAgICAoZmlsZS1uYW1lIChnaXQtZmls ZS1uYW1lIG5hbWUgdmVyc2lvbikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAi MDN5ejVwYjFtZ2oyNWk0bjkwc2Zxbm13cjg4ODcyczA5NnBuYTE3OGc4emg5MHI1NTYyOCIp KSkpCiAgICAoYnVpbGQtc3lzdGVtIGdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMK ICAgICAobGlzdAogICAgICAjOmdvIGdvLTEuMTgKICAgICAgIzppbXBvcnQtcGF0aCAiZ2l0 aHViLmNvbS9zZWFuY2ZvbGV5L2lwYWRkcmVzcy1nby9pcGFkZHIiCiAgICAgICM6dW5wYWNr LXBhdGggImdpdGh1Yi5jb20vc2VhbmNmb2xleS9pcGFkZHJlc3MtZ28iKSkKICAgIChwcm9w YWdhdGVkLWlucHV0cyBgKCgiZ28tZ2l0aHViLWNvbS1zZWFuY2ZvbGV5LWJpbnRyZWUiICxn by1naXRodWItY29tLXNlYW5jZm9sZXktYmludHJlZSkpKQogICAgKGhvbWUtcGFnZSAiaHR0 cHM6Ly9naXRodWIuY29tL3NlYW5jZm9sZXkvaXBhZGRyZXNzLWdvIikKICAgIChzeW5vcHNp cyAjZikKICAgIChkZXNjcmlwdGlvbgogICAgICJJUEFkZHJlc3MgaXMgYSBsaWJyYXJ5IGZv ciBoYW5kbGluZyBJUCBhZGRyZXNzZXMgYW5kIHN1Ym5ldHMsIGJvdGggSVB2NCBhbmQKSVB2 Ni4iKQogICAgKGxpY2Vuc2UgKGxpc3QgbGljZW5zZTphc2wyLjAgbGljZW5zZTphc2wyLjAp KSkpCgooZGVmaW5lLXB1YmxpYyBnby1naXRodWItY29tLXJ3Y2FybHNlbi1nb2V4aWYtZXhp ZgogIChwYWNrYWdlCiAgICAobmFtZSAiZ28tZ2l0aHViLWNvbS1yd2NhcmxzZW4tZ29leGlm LWV4aWYiKQogICAgKHZlcnNpb24gIjAuMC4wLTIwMTkwNDAxMTcyMTAxLTllOGRlZWNiZGRi ZCIpCiAgICAoc291cmNlCiAgICAgKG9yaWdpbgogICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gp CiAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCiAgICAgICAgICAgICAodXJsICJodHRwczov L2dpdGh1Yi5jb20vcndjYXJsc2VuL2dvZXhpZiIpCiAgICAgICAgICAgICAoY29tbWl0IChn by12ZXJzaW9uLT5naXQtcmVmIHZlcnNpb24pKSkpCiAgICAgICAoZmlsZS1uYW1lIChnaXQt ZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2Uz MiAiMWRycWh6cGxnNzJsdnJmM3FtYjlhd2JnZ25qcXAyM2h3bjJwZ3Zrc2kzc3B2MTdrYzlo MiIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdvLWJ1aWxkLXN5c3RlbSkKICAgIChhcmd1bWVu dHMKICAgICAobGlzdAogICAgICAjOmltcG9ydC1wYXRoICJnaXRodWIuY29tL3J3Y2FybHNl bi9nb2V4aWYvZXhpZiIKICAgICAgIzp1bnBhY2stcGF0aCAiZ2l0aHViLmNvbS9yd2Nhcmxz ZW4vZ29leGlmIikpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vcndjYXJs c2VuL2dvZXhpZiIpCiAgICAoc3lub3BzaXMgImdvZXhpZiIpCiAgICAoZGVzY3JpcHRpb24K ICAgICAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIGRlY29kaW5nIG9mIGJhc2ljIGV4aWYgYW5k IHRpZmYgZW5jb2RlZCBkYXRhLiAgU3RpbGwgaW4KYWxwaGEgLSBubyBndWFyYW50ZWVzLiAg U3VnZ2VzdGlvbnMgYW5kIHB1bGwgcmVxdWVzdHMgYXJlIHdlbGNvbWUuCkZ1bmN0aW9uYWxp dHkgaXMgc3BsaXQgaW50byB0d28gcGFja2FnZXMgLSBcImV4aWZcIiBhbmQgXCJ0aWZmXCIg VGhlIGV4aWYgcGFja2FnZQpkZXBlbmRzIG9uIHRoZSB0aWZmIHBhY2thZ2UuIikKICAgIChs aWNlbnNlIGxpY2Vuc2U6YnNkLTIpKSkKCihkZWZpbmUtcHVibGljIGdvLWdpdGh1Yi1jb20t cndjYXJsc2VuLWdvZXhpZi10aWZmCiAgKHBhY2thZ2UKICAgIChuYW1lICJnby1naXRodWIt Y29tLXJ3Y2FybHNlbi1nb2V4aWYtdGlmZiIpCiAgICAodmVyc2lvbiAiMC4wLjAtMjAxOTA0 MDExNzIxMDEtOWU4ZGVlY2JkZGJkIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAg ICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAgICAg ICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9yd2NhcmxzZW4vZ29leGlmIikKICAg ICAgICAgICAgIChjb21taXQgKGdvLXZlcnNpb24tPmdpdC1yZWYgdmVyc2lvbikpKSkKICAg ICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKICAgICAgIChz aGEyNTYKICAgICAgICAoYmFzZTMyICIxZHJxaHpwbGc3Mmx2cmYzcW1iOWF3YmdnbmpxcDIz aHduMnBndmtzaTNzcHYxN2tjOWgyIikpKSkKICAgIChidWlsZC1zeXN0ZW0gZ28tYnVpbGQt c3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIChsaXN0CiAgICAgICM6aW1wb3J0LXBhdGgg ImdpdGh1Yi5jb20vcndjYXJsc2VuL2dvZXhpZi90aWZmIgogICAgICAjOnVucGFjay1wYXRo ICJnaXRodWIuY29tL3J3Y2FybHNlbi9nb2V4aWYiKSkKICAgIChob21lLXBhZ2UgImh0dHBz Oi8vZ2l0aHViLmNvbS9yd2NhcmxzZW4vZ29leGlmIikKICAgIChzeW5vcHNpcyAiZ29leGlm IikKICAgIChkZXNjcmlwdGlvbgogICAgICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgZGVjb2Rp bmcgb2YgYmFzaWMgZXhpZiBhbmQgdGlmZiBlbmNvZGVkIGRhdGEuICBTdGlsbCBpbgphbHBo YSAtIG5vIGd1YXJhbnRlZXMuICBTdWdnZXN0aW9ucyBhbmQgcHVsbCByZXF1ZXN0cyBhcmUg d2VsY29tZS4KRnVuY3Rpb25hbGl0eSBpcyBzcGxpdCBpbnRvIHR3byBwYWNrYWdlcyAtIFwi ZXhpZlwiIGFuZCBcInRpZmZcIiBUaGUgZXhpZiBwYWNrYWdlCmRlcGVuZHMgb24gdGhlIHRp ZmYgcGFja2FnZS4iKQogICAgKGxpY2Vuc2UgbGljZW5zZTpic2QtMikpKQoKCihkZWZpbmUt cHVibGljIGdvLWdpdGh1Yi1jb20tZWR3dmVlLWV4aWZmaXgKICAocGFja2FnZQogICAgKG5h bWUgImdvLWdpdGh1Yi1jb20tZWR3dmVlLWV4aWZmaXgiKQogICAgKHZlcnNpb24gIjAuMC4w LTIwMjQwMjI5MTEzMjEzLTBkYmIxNDY3NzViZSIpCiAgICAoc291cmNlCiAgICAgKG9yaWdp bgogICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAodXJpIChnaXQtcmVmZXJlbmNl CiAgICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vZWR3dmVlL2V4aWZmaXgi KQogICAgICAgICAgICAgKGNvbW1pdCAoZ28tdmVyc2lvbi0+Z2l0LXJlZiB2ZXJzaW9uKSkp KQogICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAg ICAgKHNoYTI1NgogICAgICAgIChiYXNlMzIgIjFpNHAxeG5ibTA0aWgyNzM1aDU4bjFwMWo2 Y2ptcjZkM2JmeDQxODYya2kwcWMxMmxmbjQiKSkpKQogICAgKGJ1aWxkLXN5c3RlbSBnby1i dWlsZC1zeXN0ZW0pCiAgICAoYXJndW1lbnRzCiAgICAgKGxpc3QKICAgICAgIzppbXBvcnQt cGF0aCAiZ2l0aHViLmNvbS9lZHd2ZWUvZXhpZmZpeCIpKQogICAgKHByb3BhZ2F0ZWQtaW5w dXRzCiAgICAgKGxpc3QgZ28tZ29sYW5nLW9yZy14LWltYWdlCiAgICAgICAgICAgZ28tZ2l0 aHViLWNvbS1kaXNpbnRlZ3JhdGlvbi1pbWFnaW5nCiAgICAgICAgICAgZ28tZ2l0aHViLWNv bS1yd2NhcmxzZW4tZ29leGlmLWV4aWYKICAgICAgICAgICBnby1naXRodWItY29tLXJ3Y2Fy bHNlbi1nb2V4aWYtdGlmZikpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20v ZWR3dmVlL2V4aWZmaXgiKQogICAgKHN5bm9wc2lzICJFeGlmZml4IikKICAgIChkZXNjcmlw dGlvbgogICAgICJFeGlmZml4IGlzIGEgb25lIGZ1bmN0aW9uIGdvbGFuZyBsaWJyYXJ5IG1h ZGUgdG8gYmUgYSByZXBsYWNlbWVudCBmb3IKaW1hZ2UuRGVjb2RlIHRvIGhhbmRsZSBvcmll bnRhdGlvbiBzdG9yZWQgaW4gRVhJRiBkYXRhLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmV4 cGF0KSkpCgooZGVmaW5lLXB1YmxpYyBnby1naXRodWItY29tLWtvdmlkZ295YWwtaW1hZ2lu ZwogIChwYWNrYWdlCiAgICAobmFtZSAiZ28tZ2l0aHViLWNvbS1rb3ZpZGdveWFsLWltYWdp bmciKQogICAgKHZlcnNpb24gIjEuNi4zIikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAg ICAgICAobWV0aG9kIGdpdC1mZXRjaCkKICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAg ICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2ltYWdpbmci KQogICAgICAgICAgICAgKGNvbW1pdCAoc3RyaW5nLWFwcGVuZCAidiIgdmVyc2lvbikpKSkK ICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKICAgICAg IChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxMjNoZmdqenAyNDAxbDhyZmIzaDJhZ3lpamow M3cyYTJzZHhjeml5Ym1wbHc0cjhwYmkzIikpKSkKICAgIChidWlsZC1zeXN0ZW0gZ28tYnVp bGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIChsaXN0CiAgICAgICM6Z28gZ28tMS4y MQogICAgICAjOmltcG9ydC1wYXRoICJnaXRodWIuY29tL2tvdmlkZ295YWwvaW1hZ2luZyIp KQogICAgKHByb3BhZ2F0ZWQtaW5wdXRzIGAoKCJnby1nb2xhbmctb3JnLXgtaW1hZ2UiICxn by1nb2xhbmctb3JnLXgtaW1hZ2UpKSkKICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHVi LmNvbS9rb3ZpZGdveWFsL2ltYWdpbmciKQogICAgKHN5bm9wc2lzICJJbWFnaW5nIikKICAg IChkZXNjcmlwdGlvbgogICAgICJQYWNrYWdlIGltYWdpbmcgcHJvdmlkZXMgYmFzaWMgaW1h Z2UgcHJvY2Vzc2luZyBmdW5jdGlvbnMgKHJlc2l6ZSwgcm90YXRlLCBjcm9wLApicmlnaHRu ZXNzL2NvbnRyYXN0IGFkanVzdG1lbnRzLCBldGMuKS4iKQogICAgKGxpY2Vuc2UgbGljZW5z ZTpleHBhdCkpKQoKKGRlZmluZS1wdWJsaWMgZ28tZ2l0aHViLWNvbS1rbGF1c3Bvc3QtY3B1 aWQtdjIKICAocGFja2FnZQogICAgKG5hbWUgImdvLWdpdGh1Yi1jb20ta2xhdXNwb3N0LWNw dWlkLXYyIikKICAgICh2ZXJzaW9uICIyLjIuNyIpCiAgICAoc291cmNlCiAgICAgKG9yaWdp bgogICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCiAgICAgICAodXJpIChnaXQtcmVmZXJlbmNl CiAgICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20va2xhdXNwb3N0L2NwdWlk IikKICAgICAgICAgICAgIChjb21taXQgKHN0cmluZy1hcHBlbmQgInYiIHZlcnNpb24pKSkp CiAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCiAgICAg ICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMGkxeTV6Z2NqMzUwbDNpZHFmeGprY3MxOGlp NXczMTV4am1tYWJxYnFyeDI3c244ZnFoMSIpKSkpCiAgICAoYnVpbGQtc3lzdGVtIGdvLWJ1 aWxkLXN5c3RlbSkKICAgIChhcmd1bWVudHMKICAgICAobGlzdAogICAgICAjOmltcG9ydC1w YXRoICJnaXRodWIuY29tL2tsYXVzcG9zdC9jcHVpZC92MiIpKQogICAgKHByb3BhZ2F0ZWQt aW5wdXRzIGAoKCJnby1nb2xhbmctb3JnLXgtc3lzIiAsZ28tZ29sYW5nLW9yZy14LXN5cykp KQogICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL2tsYXVzcG9zdC9jcHVpZCIp CiAgICAoc3lub3BzaXMgImNwdWlkIikKICAgIChkZXNjcmlwdGlvbgogICAgICJQYWNrYWdl IGNwdWlkIHByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgcnVubmluZyB0aGUg Y3VycmVudCBwcm9ncmFtLiIpCiAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkpCgooZGVm aW5lLXB1YmxpYyBnby1naXRodWItY29tLXplZWJvLWFzc2VydAogIChwYWNrYWdlCiAgICAo bmFtZSAiZ28tZ2l0aHViLWNvbS16ZWViby1hc3NlcnQiKQogICAgKHZlcnNpb24gIjEuMy4x IikKICAgIChzb3VyY2UKICAgICAob3JpZ2luCiAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkK ICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAgICAgICAgICAgICh1cmwgImh0dHBzOi8v Z2l0aHViLmNvbS96ZWViby9hc3NlcnQiKQogICAgICAgICAgICAgKGNvbW1pdCAoc3RyaW5n LWFwcGVuZCAidiIgdmVyc2lvbikpKSkKICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5h bWUgbmFtZSB2ZXJzaW9uKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIweGZr bGcwNGljNHhsNXE3eHk5MTNqenZuMnY5YnhtcnNubTRseWpxem5uaW55c2dzOXhiIikpKSkK ICAgIChidWlsZC1zeXN0ZW0gZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAg IChsaXN0CiAgICAgICM6aW1wb3J0LXBhdGggImdpdGh1Yi5jb20vemVlYm8vYXNzZXJ0Iikp CiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vemVlYm8vYXNzZXJ0IikKICAg IChzeW5vcHNpcyAicGFja2FnZSBhc3NlcnQiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlNl ZSB0aGUgYXBpIGRvY3MuICBUaGVyZSdzIG5vdCBhIGxvdCBvZiBzdXJmYWNlIGFyZWEsIGFu ZCB0aGF0J3MgdGhlIGdvYWwuIikKICAgIChsaWNlbnNlIGxpY2Vuc2U6Y2MwKSkpCgooZGVm aW5lLXB1YmxpYyBnby1naXRodWItY29tLXplZWJvLXh4aDMKICAocGFja2FnZQogICAgKG5h bWUgImdvLWdpdGh1Yi1jb20temVlYm8teHhoMyIpCiAgICAodmVyc2lvbiAiMS4wLjIiKQog ICAgKHNvdXJjZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAg ICAgKHVyaSAoZ2l0LXJlZmVyZW5jZQogICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRo dWIuY29tL3plZWJvL3h4aDMiKQogICAgICAgICAgICAgKGNvbW1pdCAoc3RyaW5nLWFwcGVu ZCAidiIgdmVyc2lvbikpKSkKICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFt ZSB2ZXJzaW9uKSkKICAgICAgIChzaGEyNTYKICAgICAgICAoYmFzZTMyICIxZ3k2NjZyNXYx ZDFuMmNmaWc5cGxoeXA3ejA5ZjA2azZtcjVscmYwbWs2cHNrNmJud2dpIikpKSkKICAgIChi dWlsZC1zeXN0ZW0gZ28tYnVpbGQtc3lzdGVtKQogICAgKGFyZ3VtZW50cwogICAgIChsaXN0 CiAgICAgICM6aW1wb3J0LXBhdGggImdpdGh1Yi5jb20vemVlYm8veHhoMyIpKQogICAgKHBy b3BhZ2F0ZWQtaW5wdXRzIGAoKCJnby1naXRodWItY29tLXplZWJvLWFzc2VydCIgLGdvLWdp dGh1Yi1jb20temVlYm8tYXNzZXJ0KQogICAgICAgICAgICAgICAgICAgICAgICAgKCJnby1n aXRodWItY29tLWtsYXVzcG9zdC1jcHVpZC12MiIgLGdvLWdpdGh1Yi1jb20ta2xhdXNwb3N0 LWNwdWlkLXYyKSkpCiAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vemVlYm8v eHhoMyIpCiAgICAoc3lub3BzaXMgIlhYSDMiKQogICAgKGRlc2NyaXB0aW9uCiAgICAgIlRo aXMgcGFja2FnZSBpcyBhIHBvcnQgb2YgdGhlCkBAdXJse2h0dHBzOi8vZ2l0aHViLmNvbS9D eWFuNDk3My9AY29kZXt4eEhhc2gseHhoM319IGxpYnJhcnkgdG8gR28uIikKICAgIChsaWNl bnNlIGxpY2Vuc2U6YnNkLTIpKSkKCihkZWZpbmUtcHVibGljIGdvLWdpdGh1Yi1jb20tYWxl Y3Rob21hcy1jaHJvbWEtdjItMTMKICAocGFja2FnZQogICAgKGluaGVyaXQgZ28tZ2l0aHVi LWNvbS1hbGVjdGhvbWFzLWNocm9tYSkKICAgIChuYW1lICJnby1naXRodWItY29tLWFsZWN0 aG9tYXMtY2hyb21hLXYyLTEzIikKICAgICh2ZXJzaW9uICIyLjEzLjAiKQogICAgKHNvdXJj ZQogICAgIChvcmlnaW4KICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQogICAgICAgKHVyaSAo Z2l0LXJlZmVyZW5jZQogICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL2Fs ZWN0aG9tYXMvY2hyb21hIikKICAgICAgICAgICAgIChjb21taXQgKHN0cmluZy1hcHBlbmQg InYiIHZlcnNpb24pKSkpCiAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1lIG5hbWUg dmVyc2lvbikpCiAgICAgICAoc2hhMjU2CiAgICAgICAgKGJhc2UzMiAiMXZxNTNwbWEzNDBn M3Y5eGI1Zzh3cGo5enZsOWpzZHNocTZndzI0NWY0aGN6bjU2OXNkZCIpKSkpCiAgICAoYXJn dW1lbnRzCiAgICAgKGxpc3QgIzpnbyBnby0xLjIyCiAgICAgICAgICAgIzppbXBvcnQtcGF0 aCAiZ2l0aHViLmNvbS9hbGVjdGhvbWFzL2Nocm9tYS92MiIKICAgICAgICAgICAjOnVucGFj ay1wYXRoICJnaXRodWIuY29tL2FsZWN0aG9tYXMvY2hyb21hL3YyIikpCiAgICAgICAgICAg OyApKQogICAgKHByb3BhZ2F0ZWQtaW5wdXRzCiAgICAgKGxpc3QgZ28tZ2l0aHViLWNvbS1k bGNsYXJrLXJlZ2V4cDIpKQogICAgKG5hdGl2ZS1pbnB1dHMKICAgICAobGlzdCBnby1naXRo dWItY29tLWFsZWN0aG9tYXMtYXNzZXJ0LXYyCiAgICAgICAgICAgZ28tZ2l0aHViLWNvbS1h bGVjdGhvbWFzLXJlcHIpKSkpCgooZGVmaW5lLXB1YmxpYyBraXR0eS1uZXh0CiAgKGxldCAo KGNvbW1pdCAiYjNjYzVhZWQzMGM4ZTgzNzE1ZmE5NTVlOWQzMTgzYTBlNDMzYTljMyIpCiAg ICAgICAgKHJldmlzaW9uICIwIikpCiAgICAocGFja2FnZQogICAgICAobmFtZSAia2l0dHkt bmV4dCIpCiAgICAgICh2ZXJzaW9uIChnaXQtdmVyc2lvbiAiMC4zNC4xIiByZXZpc2lvbiBj b21taXQpKQogICAgICAoaG9tZS1wYWdlICJodHRwczovL3N3LmtvdmlkZ295YWwubmV0L2tp dHR5LyIpCiAgICAgIChzb3VyY2UKICAgICAgIChvcmlnaW4KICAgICAgICAgKG1ldGhvZCBn aXQtZmV0Y2gpCiAgICAgICAgICh1cmkgKGdpdC1yZWZlcmVuY2UKICAgICAgICAgICAgICAg KHVybCAiaHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwva2l0dHkiKQogICAgICAgICAg ICAgICAoY29tbWl0IGNvbW1pdCkKICAgICAgICAgICAgICAgKHJlY3Vyc2l2ZT8gI3QpKSkK ICAgICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQogICAg ICAgICAoc2hhMjU2CiAgICAgICAgICAoYmFzZTMyICIwbjg0MWt5aGJtN2ljYmJ5NTc1Ymx4 NzV5a2FjOXpqMGEzamp5MzV5bWtocW56NWRheXExIikpCiAgICAgICAgIChtb2R1bGVzICco KGd1aXggYnVpbGQgdXRpbHMpKSkKICAgICAgICAgKHNuaXBwZXQKICAgICAgICAgICcoYmVn aW4KICAgICAgICAgICAgIDs7IHBhdGNoIG5lZWRlZCBhcyBzcGhpbngtYnVpbGQgaXMgdXNl ZCBhcyBhIHB5dGhvbiBzY3JpcHQKICAgICAgICAgICAgIDs7IHdoZXJlYXMgdGhlIGd1aXgg cGFja2FnZSB1c2VzIGEgYmFzaCBzY3JpcHQgbGF1bmNoaW5nIHRoZQogICAgICAgICAgICAg OzsgcHl0aG9uIHNjcmlwdAogICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJkb2NzL2NvbmYu cHkiCiAgICAgICAgICAgICAgICgoIihmcm9tIGtpdHR5LmNvbnN0YW50cyBpbXBvcnQgc3Ry X3ZlcnNpb24pIiBraXR0eS1pbXApCiAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAi c3lzLnBhdGguYXBwZW5kKFwiLi5cIilcbiIga2l0dHktaW1wKSkpCiAgICAgICAgICAgICAo c3Vic3RpdHV0ZSogImRvY3MvTWFrZWZpbGUiCiAgICAgICAgICAgICAgICgoIl5TUEhJTlhC VUlMRFtbOnNwYWNlOl1dKz0gKHB5dGhvbjMuKikkIikKICAgICAgICAgICAgICAgICJTUEhJ TlhCVUlMRCA9IHNwaGlueC1idWlsZFxuIikpCiAgICAgICAgICAgICAjdCkpCgkJKCBwYXRj aGVzCgkJCSggbGlzdAoJCQkJKCBwbGFpbi1maWxlCgkJCQkJInJlbW92ZURvY0J1aWxkLnBh dGNoIgoiaW5kZXggNjEzNTJjMi4uNTYwNTk2ZSAxMDA3NTUKLS0tIGEvc2V0dXAucHkKKysr IGIvc2V0dXAucHkKQEAgLTEzMTYsMjQgKzEzMTYsNyBAQCBkZWYgY3JlYXRlX2xpbnV4X2J1 bmRsZV9ndW5rKGRkaXI6IHN0ciwgYXJnczogT3B0aW9ucykgLT4gTm9uZToKICAgICBiYXNl ID0gUGF0aChkZGlyKQogICAgIGluX3NyY19sYXVuY2hlciA9IGJhc2UgLyAoZid7bGliZGly X25hbWV9L2tpdHR5L2tpdHR5L2xhdW5jaGVyL2tpdHR5JykKICAgICBsYXVuY2hlciA9IGJh c2UgLyAnYmluL2tpdHR5JwotICAgIHNraXBfZG9jcyA9IEZhbHNlCi0gICAgaWYgbm90IG9z LnBhdGguZXhpc3RzKCdkb2NzL19idWlsZC9odG1sJyk6Ci0gICAgICAgIGtpdHRlbl9leGUg PSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKHN0cihsYXVuY2hlcikpLCAna2l0dGVu JykKLSAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoa2l0dGVuX2V4ZSk6Ci0gICAgICAgICAg ICBvcy5lbnZpcm9uWydLSVRURU5fRVhFX0ZPUl9ET0NTJ10gPSBraXR0ZW5fZXhlCi0gICAg ICAgICAgICBtYWtlID0gJ2dtYWtlJyBpZiBpc19mcmVlYnNkIGVsc2UgJ21ha2UnCi0gICAg ICAgICAgICBydW5fdG9vbChbbWFrZSwgJ2RvY3MnXSkKLSAgICAgICAgZWxzZToKLSAgICAg ICAgICAgIGlmIGFyZ3Muc2tpcF9idWlsZGluZ19raXR0ZW46Ci0gICAgICAgICAgICAgICAg c2tpcF9kb2NzID0gVHJ1ZQotICAgICAgICAgICAgICAgIHByaW50KCdXQVJOSU5HOiBZb3Ug aGF2ZSBjaG9zZW4gdG8gc2tpcCBidWlsZGluZyBraXR0ZW4uJwotICAgICAgICAgICAgICAg ICAgICAgICcgVGhpcyBtZWFucyBkb2NzIGNvdWxkIG5vdCBiZSBnZW5lcmF0ZWQgYW5kIHdp bGwgbm90IGJlIGluY2x1ZGVkIGluIHRoZSBsaW51eCBwYWNrYWdlLicKLSAgICAgICAgICAg ICAgICAgICAgICAnIFlvdSBzaG91bGQgYnVpbGQga2l0dGVuIGFuZCB0aGVuIHJlLXJ1biB0 aGlzIGJ1aWxkLicsIGZpbGU9c3lzLnN0ZGVycikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAg ICAgICAgICAgICAgcmFpc2UgU3lzdGVtRXhpdChmJ2tpdHRlbiBiaW5hcnkgbm90IGZvdW5k IGF0OiB7a2l0dGVuX2V4ZX0nKQotICAgIGlmIG5vdCBza2lwX2RvY3M6Ci0gICAgICAgIGNv cHlfbWFuX3BhZ2VzKGRkaXIpCi0gICAgICAgIGNvcHlfaHRtbF9kb2NzKGRkaXIpCisKICAg ICBmb3IgKGljZGlyLCBleHQpIGluIHsnMjU2eDI1Nic6ICdwbmcnLCAnc2NhbGFibGUnOiAn c3ZnJ30uaXRlbXMoKToKICAgICAgICAgaWNkaXIgPSBvcy5wYXRoLmpvaW4oZGRpciwgJ3No YXJlJywgJ2ljb25zJywgJ2hpY29sb3InLCBpY2RpciwgJ2FwcHMnKQogICAgICAgICBzYWZl X21ha2VkaXJzKGljZGlyKSIKCQkJCSkKCQkJKQoJCSkKCSkpCiAgICAgIChidWlsZC1zeXN0 ZW0gZ28tYnVpbGQtc3lzdGVtKQogICAgICAocHJvcGFnYXRlZC1pbnB1dHMKICAgICAgIChs aXN0IGdvLWdvbGFuZy1vcmcteC1zeXMKICAgICAgICAgICAgIGdvLWdvbGFuZy1vcmcteC1l eHAtcQogICAgICAgICAgICAgZ28tZ2l0aHViLWNvbS1hbHRyZWUtYmlnZmxvYXQKICAgICAg ICAgICAgIGdvLWdpdGh1Yi1jb20tYm1hdGN1ay1kb3VibGVzdGFyLXY0CiAgICAgICAgICAg ICBnby1naXRodWItY29tLXNlYW5jZm9sZXktaXBhZGRyZXNzLWdvLWlwYWRkcgogICAgICAg ICAgICAgZ28tZ2l0aHViLWNvbS1kaG93ZXR0LWdvLXBsaXN0CiAgICAgICAgICAgICBnby1n aXRodWItY29tLXNoaXJvdS1nb3BzdXRpbC12MwogICAgICAgICAgICAgZ28tZ2l0aHViLWNv bS1nb29nbGUtdXVpZAogICAgICAgICAgICAgZ28tZ2l0aHViLWNvbS1lZHd2ZWUtZXhpZmZp eAogICAgICAgICAgICAgZ28tZ2l0aHViLWNvbS1rb3ZpZGdveWFsLWltYWdpbmcKICAgICAg ICAgICAgIGdvLWdvbGFuZy1vcmcteC1pbWFnZQogICAgICAgICAgICAgOyBnby1naXRodWIt Y29tLWFsZWN0aG9tYXMtY2hyb21hLXYyCiAgICAgICAgICAgICBnby1naXRodWItY29tLWFs ZWN0aG9tYXMtY2hyb21hLXYyLTEzCiAgICAgICAgICAgICBnby1naXRodWItY29tLWRsY2xh cmstcmVnZXhwMgogICAgICAgICAgICAgZ28tZ2l0aHViLWNvbS16ZWViby14eGgzCiAgICAg ICAgICAgICkpCiAgICAgIChuYXRpdmUtaW5wdXRzCiAgICAgICAobGlzdCBkYnVzCiAgICAg ICAgICAgICBtZXNhCiAgICAgICAgICAgICBsaWJ4Y3Vyc29yCiAgICAgICAgICAgICBsaWJ4 aQogICAgICAgICAgICAgbGlieGluZXJhbWEKICAgICAgICAgICAgIGxpYnhrYmNvbW1vbgog ICAgICAgICAgICAgbGlieHJhbmRyCiAgICAgICAgICAgICBuY3Vyc2VzIDs7IGZvciB0aWMg Y29tbWFuZAogICAgICAgICAgICAgcGtnLWNvbmZpZwogICAgICAgICAgICAgOyBweXRob24t c3BoaW54CiAgICAgICAgICAgICA7IHB5dGhvbi1zcGhpbngtY29weWJ1dHRvbgogICAgICAg ICAgICAgOyBweXRob24tc3BoaW54ZXh0LW9wZW5ncmFwaAogICAgICAgICAgICAgOyBweXRo b24tc3BoaW54LWlubGluZS10YWJzCiAgICAgICAgICAgICB3YXlsYW5kLXByb3RvY29scwog ICAgICAgICAgICAgZ28tMS4yMgogICAgICAgICAgICAgc2ltZGUKCiAgICAgICAgICAgICBz dHJhY2UKICAgICAgICAgICAgIGNvcmV1dGlscwoKICAgICAgICAgICAgIGdpdCkpCiAgICAg IChpbnB1dHMKICAgICAgIChsaXN0IGZvbnRjb25maWcKICAgICAgICAgICAgIGZyZWV0eXBl CiAgICAgICAgICAgICBoYXJmYnV6egogICAgICAgICAgICAgbGNtcwogICAgICAgICAgICAg bGliY2FuYmVycmEKICAgICAgICAgICAgIHN0YXJ0dXAtbm90aWZpY2F0aW9uCiAgICAgICAg ICAgICBsaWJwbmcKICAgICAgICAgICAgIHB5dGhvbi1weWdtZW50cwogICAgICAgICAgICAg cHl0aG9uLXdyYXBwZXIKICAgICAgICAgICAgIHdheWxhbmQKICAgICAgICAgICAgIG9wZW5z c2wKICAgICAgICAgICAgIHh4aGFzaAogICAgICAgICAgICAgemxpYikpCiAgICAgIChhcmd1 bWVudHMKICAgICAgIChsaXN0CiAgICAgICAgIzpnbyBnby0xLjIyCiAgICAgICAgIzppbXBv cnQtcGF0aCAia2l0dHkiCiAgICAgICAgIzpwaGFzZXMKICAgICAgICAjfiggYmVnaW4gKCB1 c2UtbW9kdWxlcyAoIG9vcCBnb29wcykgKCBpY2UtOSBmdHcpICggZ3VpeCBidWlsZCB1dGls cykpICggbW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAgIChhZGQt YmVmb3JlICdjaGVjayAnZml4LWhvbWUtZGlyZWN0b3J5CiAgICAgICAgICAgICAgKGxhbWJk YSBfCiAgICAgICAgICAgICAgICAoc2V0ZW52ICJIT01FIiAiL3RtcCIpKSkKICAgICAgICAg ICAgKGFkZC1iZWZvcmUgJ2J1aWxkICdmaXgtZ29jYWNoZS1kaXJlY3RvcnkKICAgICAgICAg ICAgICAobGFtYmRhIF8KICAgICAgICAgICAgICAgIChzZXRlbnYgIkhPTUUiICIvdG1wIikK ICAgICAgICAgICAgICAgIChzZXRlbnYgIkdPQ0FDSEUiICIvdG1wLy5nb2NhY2hlIikKICAg ICAgICAgICAgICAgIChzZXRlbnYgIkdPUFJPWFkiICJkaXJlY3QiKQogICAgICAgICAgICAg ICAgKHNldGVudiAiR09GTEFHUyIgIi1idWlsZG1vZGU9cGllIC10cmltcGF0aCAtbGRmbGFn cz0tbGlua21vZGU9ZXh0ZXJuYWwgLW1vZD1yZWFkb25seSAtbW9kY2FjaGVydyIpKSkKICAg ICAgICAgICAgKGRlbGV0ZSAnY29uZmlndXJlKSAgIDtubyBjb25maWd1cmUgc2NyaXB0CgkJ CSAoIGFkZC1hZnRlcgoJCQkJJ3NldHVwLWdvLWVudmlyb25tZW50CgkJCQkncmVhbElzZUxp bmtTCgkJCQkoIGxhbWJkYSBfCgkJCQkgICAgICAgICAoIGRlZmluZQoJCQkJCSAgICAgICAg KCByZWFkQmFzZUxpbmsgZmlsZSkKCQkJCSAgICAgICAgIAkoIGlmCgkJCQkgICAgICAgICAJ CSggZXF1YWw/CgkJCQkgICAgICAgICAJCQkoIHN0YXQ6dHlwZQoJCQkJICAgICAgICAgCQkJ CSggbHN0YXQgZmlsZSkKCQkJCSAgICAgICAgIAkJCSkKCQkJCSAgICAgICAgIAkJCSdzeW1s aW5rCgkJCQkgICAgICAgICAJCSkKCQkJCSAgICAgICAgIAkJKCByZWFkQmFzZUxpbmsKCQkJ CQkgICAgICAgICAJCSggbGV0CgkJCQkJICAgICAgICAgCQkJKAoJCQkJCSAgICAgICAgIAkJ CQkoIGxpbmtSZXN1bHQKCQkJCQkJCQkJCQkJKCByZWFkbGluayBmaWxlKQoJCQkJCSAgICAg ICAgIAkJCQkpCgkJCQkJICAgICAgICAgCQkJKQoJCQkJCSAgICAgICAgIAkJCSggaWYKCQkJ CQkgICAgICAgICAJCQkJKCBhbmQKCQkJCQkgICAgICAgICAJCQkJCSggbm90CgkJCQkJCSAg ICAgICAgIAkJCQkJKCBlcXY/CgkJCQkJCSAgICAgICAgIAkJCQkJCSggc3RyaW5nLWxlbmd0 aCBsaW5rUmVzdWx0KQoJCQkJCSAgICAgICAgIAkJCQkJCQkwCgkJCQkJCSAgICAgICAgIAkJ CQkJKQoJCQkJCSAgICAgICAgIAkJCQkJKQoJCQkJCQkgICAgICAgICAJCQkJKCBlcXVhbD8K CQkJCQkJICAgICAgICAgCQkJCQkoIHN0cmluZy1yZWYKCQkJCQkJCSAgICAgICAgIAkJCQkJ bGlua1Jlc3VsdAoJCQkJCSAgICAgICAgIAkJCQkJCQkwCgkJCQkJICAgICAgICAgCQkJCQkJ KQoJCQkJCSAgICAgICAgIAkJCQkJCSNcLwoJCQkJCQkgICAgICAgICAJCQkJKQoJCQkJCSAg ICAgICAgIAkJCQkpCgkJCQkJICAgICAgICAgCQkJCWxpbmtSZXN1bHQKCQkJCQkgICAgICAg ICAJCQkJKCBzdHJpbmctYXBwZW5kCgkJCQkJICAgICAgICAgCQkJCQkoIGRpcm5hbWUgZmls ZSkKCQkJCQkgICAgICAgICAJCQkJCSIvIgoJCQkJCSAgICAgICAgIAkJCQkJbGlua1Jlc3Vs dAoJCQkJCSAgICAgICAgIAkJCQkpCgkJCQkJICAgICAgICAgCQkJKQoJCQkJCSAgICAgICAg IAkJKQoJCQkJICAgICAgICAgCQkpCgkJCQkgICAgICAgICAJCWZpbGUKCQkJCSAgICAgICAg IAkpCgkJCSAgICAgICAgIAkpCgkJCQkgICAgICAgICAoIGRlZmluZQoJCQkJCQkJKCByZWFs aXNlIGRpcikKCQkJCQkgICAgICAgICAJCSggZm9yLWVhY2gKCQkJCQkgICAgICAgICAJCQko IGxhbWJkYQoJCQkJCSAgICAgICAgIAkJCQkoIGZpbGVOYW1lKQoJCQkJCSAgICAgICAgIAkJ CQkoIGxldCoKCQkJCQkgICAgICAgICAJCQkJCSgKCQkJCSAgICAgICAgIAkJCQkJCQkoIHBh dGgKCQkJCQkJCSAgICAgICAgIAkJCQkJKCBzdHJpbmctYXBwZW5kCgkJCQkJCQkgICAgICAg ICAJCQkJCQlkaXIKCQkJCQkJCSAgICAgICAgIAkJCQkJCSIvIgoJCQkJCQkJICAgICAgICAg CQkJCQkJZmlsZU5hbWUKCQkJCQkJCSAgICAgICAgIAkJCQkJKQoJCQkJICAgICAgICAgCQkJ CQkJCSkKCQkJCSAgICAgICAgIAkJCQkJCQkoIHBhdGhUeXBlCgkJCQkJCQkgICAgICAgICAJ CQkJCSggc3RhdDp0eXBlCgkJCQkJCQkgICAgICAgICAJCQkJCQkoIGxzdGF0IHBhdGgpCgkJ CQkJCQkgICAgICAgICAJCQkJCSkKCQkJCSAgICAgICAgIAkJCQkJCQkpCgkJCQkgICAgICAg ICAJCQkJCQkpCgkJCQkJICAgICAgICAJCQkJCSggaWYKCQkJCQkgICAgICAgIAkJCQkJCSgg ZXF1YWw/CgkJCQkJICAgICAgICAJCQkJCQkJcGF0aFR5cGUKCQkJCQkJCQkJCQkJCQknc3lt bGluawoJCQkJCSAgICAgICAgCQkJCQkJKQoJCQkJICAgICAgICAgCQkJCQkJCSggbGV0KgoJ CQkJCSAgICAgICAgIAkJCQkJICAJCSgKCQkJCQkJICAgICAgICAgCQkJCQkgIAkJKCBiYXNl CgkJCQkJCSAgICAgICAgIAkJCQkJICAJCQkoIHJlYWRCYXNlTGluayBwYXRoKQoJCQkJCQkg ICAgICAgICAJCQkJCSAgCQkJOyAoIHJlYWRsaW5rIHBhdGgpCgkJCQkJCSAgICAgICAgIAkJ CQkJICAJCSkKCQkJCQkJICAgICAgICAgCQkJCQkgIAkJKCBiYXNlVHlwZQoJCQkJCQkgICAg ICAgICAJCQkJCSAgCQkJKCBzdGF0OnR5cGUKCQkJCQkJICAgICAgICAgCQkJCQkgIAkJCQko IHN0YXQgYmFzZSkKCQkJCQkJICAgICAgICAgCQkJCQkgIAkJCSkKCQkJCQkJICAgICAgICAg CQkJCQkgIAkJKQoJCQkJCQkgICAgICAgICAJCQkJCSAgCSkKCQkJCQkgICAgICAgIAkJCQkJ CQkoIGRpc3BsYXkgIlNZTUxJTksgIikoIGRpc3BsYXkgcGF0aCkoIGRpc3BsYXkgIiAtPiAi KSggZGlzcGxheSBiYXNlKSggZGlzcGxheSBiYXNlVHlwZSkoIG5ld2xpbmUpCgkJCQkJICAg ICAgICAJCQkJCQkJKCBpZgoJCQkJCSAgICAgICAgCQkJCQkJCQkoIGVxdWFsPwoJCQkJCSAg ICAgICAgCQkJCQkJCQkJYmFzZVR5cGUKCQkJCQkgICAgICAgIAkJCQkJCQkJCSdyZWd1bGFy CgkJCQkJICAgICAgICAJCQkJCQkJCSkKCQkJCQkgICAgICAgIAkJCQkJCQkJKCBiZWdpbgoJ CQkJCSAgICAgICAgIAkJCQkJICAJCQkJKCBkZWxldGUtZmlsZSBwYXRoKQoJCQkJCSAgICAg ICAgIAkJCQkJICAJCQkgIAkoIGNvcHktZmlsZQoJCQkJCSAgICAgICAgIAkJCQkJICAJCQkg IAkJYmFzZQoJCQkJCSAgICAgICAgIAkJCQkJICAJCQkgIAkJcGF0aAoJCQkJCSAgICAgICAg IAkJCQkJICAJCQkgIAkpCgkJCQkJICAgICAgICAJCQkJCQkJCSkKCQkJCQkgICAgICAgIAkJ CQkJCQkJKCB3aGVuCgkJCQkJCSAgICAgICAgCQkJCQkJCQkoIGVxdWFsPwoJCQkJCQkgICAg ICAgIAkJCQkJCQkJCWJhc2VUeXBlCgkJCQkJCSAgICAgICAgCQkJCQkJCQkJJ2RpcmVjdG9y eQoJCQkJCQkgICAgICAgIAkJCQkJCQkJKQoJCQkJCSAgICAgICAgCQkJCQkJCQkJKCBiZWdp bgoJCQkJCQkgICAgICAgICAJCQkJCSAgCQkJCSggZGVsZXRlLWZpbGUgcGF0aCkKCQkJCQkJ ICAgICAgICAgCQkJCQkgIAkJCSAgCSggY29weS1yZWN1cnNpdmVseQoJCQkJCQkgICAgICAg ICAJCQkJCSAgCQkJICAJCWJhc2UKCQkJCQkJICAgICAgICAgCQkJCQkgIAkJCSAgCQlwYXRo CgkJCQkJCSAgICAgICAgIAkJCQkJICAJCQkgIAkpCgkJCQkJCSAgICAgICAgIAkJCQkJICAJ CQkgIAkoIHJlYWxpc2UKCQkJCQkJICAgICAgICAgCQkJCQkgIAkJCSAgCQlwYXRoCgkJCQkJ CSAgICAgICAgIAkJCQkJICAJCQkgIAkpCgkJCQkJICAgICAgICAJCQkJCQkJCQkpCgkJCQkJ ICAgICAgICAJCQkJCQkJCSkKCQkJCQkgICAgICAgIAkJCQkJCQkpCgkJCQkJICAgICAgICAg CQkJCQkgIAkpCgkJCQkJICAgICAgICAJCQkJCQkoIHdoZW4KCQkJCQkJICAgICAgICAJCQkJ CQkoIGVxdWFsPwoJCQkJCQkgICAgICAgIAkJCQkJCQlwYXRoVHlwZQoJCQkJCQkJCQkJCQkJ CQknZGlyZWN0b3J5CgkJCQkJCSAgICAgICAgCQkJCQkJKQoJCQkJCSAgICAgICAgIAkJCQkJ CQkoIHJlYWxpc2UKCQkJCQkJICAgICAgICAgCQkJCQkgIAkJcGF0aAoJCQkJCQkgICAgICAg ICAJCQkJCSAgCSkKCQkJCQkgICAgICAgIAkJCQkJCSkKCQkJCQkgICAgICAgIAkJCQkJKQoJ CQkJCSAgICAgICAgIAkJCQkpCgkJCQkJICAgICAgICAgCQkJKQoJCQkJICAgICAgICAgCQkJ CSggZmlsdGVyCgkJCQkgICAgICAgICAJCQkJCSggbGFtYmRhCgkJCQkgICAgICAgICAJCQkJ CQkoIG5hbWUpCgkJCQkgICAgICAgICAJCQkJCQkoIG5vdAoJCQkJICAgICAgICAgCQkJCQkJ CSggbWVtYmVyCgkJCQkgICAgICAgICAJCQkJCQkJCW5hbWUKCQkJCSAgICAgICAgIAkJCQkJ CQkJKCBsaXN0CgkJCQkgICAgICAgICAJCQkJCQkJCQkiLiIKCQkJCSAgICAgICAgIAkJCQkJ CQkJCSIuLiIKCQkJCSAgICAgICAgIAkJCQkJCQkJKQoJCQkJICAgICAgICAgCQkJCQkJCSkK CQkJCSAgICAgICAgIAkJCQkJCSkKCQkJCSAgICAgICAgIAkJCQkJKQoJCQkJCQkgICAgICAg ICAJCQkoIHNjYW5kaXIgZGlyKQoJCQkJICAgICAgICAgCQkJCSkKCQkJCQkgICAgICAgICAJ CSkKCQkJCQkgICAgICAgICAJKQoJCQkJICAgICAgICAoIHJlYWxpc2UKCQkJCSAgICAgICAg IAkoIHN0cmluZy1hcHBlbmQKCQkJCSAgICAgICAgIAkJKCBnZXRjd2QpCgkJCQkgICAgICAg ICAJCSIvc3JjL2dpdGh1Yi5jb20vYWxlY3Rob21hcy9jaHJvbWEvdjIiCgkJCQkgICAgICAg ICAJKQoJCQkJICAgICAgICApCgkgICAgICAgICAgICAgIDsgICAgICAgKCBpbnZva2UgImxz IiAiLWxhIiAoIHN0cmluZy1hcHBlbmQKCQkJCSAgICAgICAgIAk7IAkoIGdldGN3ZCkKCQkJ CSAgICAgICAgIAk7IAkiL3NyYy9naXRodWIuY29tL2FsZWN0aG9tYXMvY2hyb21hL3YyL3N0 eWxlcyIKCQkJCSAgICAgICAgIAk7ICkpCgkJCQkgICAgICAgICA7ICggZXJyb3IgIiIpCgkJ CQkJKQoJCQkpCiAgICAgICAgICAgIChyZXBsYWNlICdidWlsZAogICAgICAgICAgICAgIChs YW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAg ICAgOzsgVGhlICJraXR0eSIgc3ViLWRpcmVjdG9yeSBtdXN0IGJlIHdyaXRhYmxlIHByaW9y IHRvCiAgICAgICAgICAgICAgICA7OyBjb25maWd1cmF0aW9uIChlLmcuLCB1bi1zZXR0aW5n IHVwZGF0ZXMpLgogICAgICAgICAgICAgICAgKCBuZXdsaW5lKQogICAgICAgICAgICAgICAg OyAoIGRpc3BsYXkgaW5wdXRzKQogICAgICAgICAgICAgICAgKCBsZXQKICAgICAgICAgICAg ICAgICAgICAgICAJKCAoIGNocm9tYSAoIGFzc29jLXJlZiBpbnB1dHMgImdvLWdpdGh1Yi1j b20tYWxlY3Rob21hcy1jaHJvbWEtdjItMTMiKSkpCiAgICAgICAgICAgICAgICAgICAgICAg CSggZGlzcGxheQogICAgICAgICAgICAgICAgICAgICAgIAkJKCBzY2FuZGlyCgkgICAgICAg ICAgICAgICAgICAgICAgIAkJKCBzdHJpbmctYXBwZW5kCgkgICAgICAgICAgICAgICAgICAg ICAgIAkJCWNocm9tYQoJICAgICAgICAgICAgICAgICAgICAgICAJCQk7ICIvc3JjL3N0eWxl cyIKCSAgICAgICAgICAgICAgICAgICAgICAgCQkJIi9zcmMvZ2l0aHViLmNvbS9hbGVjdGhv bWFzL2Nocm9tYS92MiIKCSAgICAgICAgICAgICAgICAgICAgICAgCQkpCiAgICAgICAgICAg ICAgICAgICAgICAgCQkpCiAgICAgICAgICAgICAgICAgICAgICAgCSkKICAgICAgICAgICAg ICAgICkKICAgICAgICAgICAgICAgICggbmV3bGluZSkKICAgICAgICAgICAgICAgICggbGV0 CiAgICAgICAgICAgICAgICAgICAgICAgCSggKCBkaXIgCgkgICAgICAgICAgICAgICAgICAg ICAgIAkJKCBzdHJpbmctYXBwZW5kCgkgICAgICAgICAgICAgICAgICAgICAgIAkJCSggZ2V0 Y3dkKQoJICAgICAgICAgICAgICAgICAgICAgICAJCQkiL3NyYy9naXRodWIuY29tL2FsZWN0 aG9tYXMvY2hyb21hL3YyL3N0eWxlcyIKCSAgICAgICAgICAgICAgICAgICAgICAgCQkpCiAg ICAgICAgICAgICAgICAgICAgICAgCSApKQogICAgICAgICAgICAgICAgICAgICggaW52b2tl ICJscyIgIi1sYSIgZGlyKQoJICAgICAgICAgICAgICAgOyAgKCBkaXNwbGF5CgkgICAgICAg ICAgICAgICA7ICAgICAgICAgCSggbWFwCgkgICAgICAgICAgICAgICA7ICAgICAgICAgCQko IGxhbWJkYQoJICAgICAgICAgICAgICAgOyAgICAgICAgIAkJCSggbmFtZSkKICAgICAgICAg ICAgICAgICAgICAgICAJCQkJCgkgICAgICAgICAgICAgICA7ICAgICAgICAgCQkpCgkJICAg ICAgICAgICAgICA7ICAgICAgICAgIAkoIHNjYW5kaXIKICAgICAgICAgICAgICAgIDsgICAg ICAgIAkJCQlkaXIKCQkgICAgICAgICAgICAgIDsgICAgICAgICAgCSkKCSAgICAgICAgICAg ICAgIDsgICAgICAgICAJKQoJICAgICAgICAgICAgICAgOyApCiAgICAgICAgICAgICAgICAp CiAgICAgICAgICAgICAgICAoIG5ld2xpbmUpCiAgICAgICAgICAgICAgICAoY2hkaXIgInNy Yy9raXR0eSIpCiAgICAgICAgICAgICAgICAoZm9yLWVhY2ggbWFrZS1maWxlLXdyaXRhYmxl IChmaW5kLWZpbGVzICJraXR0eSIpKQogICAgICAgICAgICAgICAgKCBpbnZva2UgImdvIiAi dmVyc2lvbiIpCiAgICAgICAgICAgICAgICAoaW52b2tlICJweXRob24zIiAic2V0dXAucHki ICJsaW51eC1wYWNrYWdlIgogICAgICAgICAgICAgICAgICAgICAgICA7OyBEbyBub3QgcGhv bmUgaG9tZS4KICAgICAgICAgICAgICAgICAgICAgICAgIi0tdXBkYXRlLWNoZWNrLWludGVy dmFsPTAiCiAgICAgICAgICAgICAgICAgICAgICAgIDs7ICItLXNraXAtYnVpbGRpbmcta2l0 dGVuIgogICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiLS1mb250Y29u ZmlnLWxpYnJhcnk9IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo c2VhcmNoLWlucHV0LWZpbGUgaW5wdXRzICIvbGliL2xpYmZvbnRjb25maWcuc28iKSkKICAg ICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIi0tY2FuYmVycmEtbGlicmFy eT0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWFyY2gtaW5w dXQtZmlsZSBpbnB1dHMgIi9saWIvbGliY2FuYmVycmEuc28iKSkKICAgICAgICAgICAgICAg ICAgICAgICAgKHN0cmluZy1hcHBlbmQgIi0tc3RhcnR1cC1ub3RpZmljYXRpb24tbGlicmFy eT0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWFyY2gtaW5w dXQtZmlsZSBpbnB1dHMgIi9saWIvbGlic3RhcnR1cC1ub3RpZmljYXRpb24tMS5zbyIpKQog ICAgICAgICAgICAgICAgICAgICAgICA7OyBXYXlsYW5kIGJhY2tlbmQgcmVxdWlyZXMgRUdM LCB3aGljaCBpc24ndAogICAgICAgICAgICAgICAgICAgICAgICA7OyBmb3VuZCBvdXQtb2Yt dGhlLWJveCBmb3Igc29tZSByZWFzb24uCiAgICAgICAgICAgICAgICAgICAgICAgIChzdHJp bmctYXBwZW5kICItLWVnbC1saWJyYXJ5PSIKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHNlYXJjaC1pbnB1dC1maWxlIGlucHV0cyAiL2xpYi9saWJFR0wuc28u MSIpKQogICAgICAgICAgICAgICAgKQogICAgICAgIAkJKQogICAgICAgICAgICApCiAgICAg ICAgICAgIChkZWxldGUgJ2NoZWNrKQogICAgICAgICAgICA7OyAocmVwbGFjZSAnY2hlY2sK ICAgICAgICAgICAgOzsgICAobGFtYmRhKiAoIzprZXkgdGVzdHM/ICM6YWxsb3ctb3RoZXIt a2V5cykKICAgICAgICAgICAgOzsgICAgICh3aGVuIHRlc3RzPwogICAgICAgICAgICA7OyAg ICAgICA7OyBGaXggImNhbm5vdCBmaW5kIGtpdHR5IGV4ZWN1dGFibGUiIGVycm9yIHdoZW4g cnVubmluZwogICAgICAgICAgICA7OyAgICAgICA7OyB0ZXN0cy4KICAgICAgICAgICAgOzsg ICAgICAgKGludm9rZSAibHMiICItbCIpCiAgICAgICAgICAgIDs7ICAgICAgIChzZXRlbnYg IlBBVEgiIChzdHJpbmctYXBwZW5kICJsaW51eC1wYWNrYWdlL2JpbjoiCiAgICAgICAgICAg IDs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnZXRlbnYgIlBBVEgi KSkpCiAgICAgICAgICAgIDs7ICAgICAgIChpbnZva2UgInB5dGhvbjMiICJ0ZXN0LnB5Iikp KSkKICAgICAgICAgICAgKGFkZC1iZWZvcmUgJ2luc3RhbGwgJ3JtLXB5Y2FjaGUKICAgICAg ICAgICAgICA7OyBjcmVhdGVkIHB5dGhvbiBjYWNoZSBfX3B5Y2FjaGVfXyBhcmUgbm9uIGRl dGVybWluaXN0aWMKICAgICAgICAgICAgICAobGFtYmRhIF8KICAgICAgICAgICAgICAgIChs ZXQgKChweWNhY2hlcyAoZmluZC1maWxlcyAibGludXgtcGFja2FnZS8iCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9fcHljYWNoZV9fIgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6ZGlyZWN0b3JpZXM/ICN0 KSkpCiAgICAgICAgICAgICAgICAgIChmb3ItZWFjaCBkZWxldGUtZmlsZS1yZWN1cnNpdmVs eSBweWNhY2hlcykpKSkKICAgICAgICAgICAgKGRlbGV0ZSAnaW5zdGFsbC1saWNlbnNlLWZp bGVzKQogICAgICAgICAgICAocmVwbGFjZSAnaW5zdGFsbAogICAgICAgICAgICAgIChsYW1i ZGEgXwogICAgICAgICAgICAgICAgKGxldCogKChvYmluIChzdHJpbmctYXBwZW5kICMkb3V0 cHV0ICIvYmluIikpCiAgICAgICAgICAgICAgICAgICAgICAgKG9saWIgKHN0cmluZy1hcHBl bmQgIyRvdXRwdXQgIi9saWIiKSkKICAgICAgICAgICAgICAgICAgICAgICAob3NoYXJlIChz dHJpbmctYXBwZW5kICMkb3V0cHV0ICIvc2hhcmUiKSkpCiAgICAgICAgICAgICAgICAgIChj b3B5LXJlY3Vyc2l2ZWx5ICJsaW51eC1wYWNrYWdlL2JpbiIgb2JpbikKICAgICAgICAgICAg ICAgICAgKGNvcHktcmVjdXJzaXZlbHkgImxpbnV4LXBhY2thZ2Uvc2hhcmUiIG9zaGFyZSkK ICAgICAgICAgICAgICAgICAgKGNvcHktcmVjdXJzaXZlbHkgImxpbnV4LXBhY2thZ2UvbGli IiBvbGliKSkpKSkpKSkKICAgICAgKHN5bm9wc2lzICJGYXN0LCBmZWF0dXJlZnVsLCBHUFUg YmFzZWQgdGVybWluYWwgZW11bGF0b3IiKQogICAgICAoZGVzY3JpcHRpb24gIktpdHR5IGlz IGEgZmFzdCBhbmQgZmVhdHVyZWZ1bCBHUFUtYmFzZWQgdGVybWluYWwgZW11bGF0b3I6CkBp dGVtaXplCkBpdGVtIE9mZmxvYWRzIHJlbmRlcmluZyB0byB0aGUgR1BVIGZvciBsb3dlciBz eXN0ZW0gbG9hZCBhbmQgYnV0dGVyeSBzbW9vdGgKc2Nyb2xsaW5nLiAgVXNlcyB0aHJlYWRl ZCByZW5kZXJpbmcgdG8gbWluaW1pemUgaW5wdXQgbGF0ZW5jeS4KQGl0ZW0gU3VwcG9ydHMg YWxsIG1vZGVybiB0ZXJtaW5hbCBmZWF0dXJlczogZ3JhcGhpY3MgKGltYWdlcyksIHVuaWNv ZGUsCnRydWUtY29sb3IsIE9wZW5UeXBlIGxpZ2F0dXJlcywgbW91c2UgcHJvdG9jb2wsIGZv Y3VzIHRyYWNraW5nLCBicmFja2V0ZWQKcGFzdGUgYW5kIHNldmVyYWwgbmV3IHRlcm1pbmFs IHByb3RvY29sIGV4dGVuc2lvbnMuCkBpdGVtIFN1cHBvcnRzIHRpbGluZyBtdWx0aXBsZSB0 ZXJtaW5hbCB3aW5kb3dzIHNpZGUgYnkgc2lkZSBpbiBkaWZmZXJlbnQKbGF5b3V0cyB3aXRo b3V0IG5lZWRpbmcgdG8gdXNlIGFuIGV4dHJhIHByb2dyYW0gbGlrZSB0bXV4LgpAaXRlbSBD YW4gYmUgY29udHJvbGxlZCBmcm9tIHNjcmlwdHMgb3IgdGhlIHNoZWxsIHByb21wdCwgZXZl biBvdmVyIFNTSC4KQGl0ZW0gSGFzIGEgZnJhbWV3b3JrIGZvciBLaXR0ZW5zLCBzbWFsbCB0 ZXJtaW5hbCBwcm9ncmFtcyB0aGF0IGNhbiBiZSB1c2VkIHRvCmV4dGVuZCBraXR0eSdzIGZ1 bmN0aW9uYWxpdHkuICBGb3IgZXhhbXBsZSwgdGhleSBhcmUgdXNlZCBmb3IgVW5pY29kZSBp bnB1dCwKaGludHMsIGFuZCBzaWRlLWJ5LXNpZGUgZGlmZi4KQGl0ZW0gU3VwcG9ydHMgc3Rh cnR1cCBzZXNzaW9ucyB3aGljaCBhbGxvdyB5b3UgdG8gc3BlY2lmeSB0aGUgd2luZG93L3Rh YgpsYXlvdXQsIHdvcmtpbmcgZGlyZWN0b3JpZXMgYW5kIHByb2dyYW1zIHRvIHJ1biBvbiBz dGFydHVwLgpAaXRlbSBBbGxvd3MgeW91IHRvIG9wZW4gdGhlIHNjcm9sbGJhY2sgYnVmZmVy IGluIGEgc2VwYXJhdGUgd2luZG93IHVzaW5nCmFyYml0cmFyeSBwcm9ncmFtcyBvZiB5b3Vy IGNob2ljZS4gIFRoaXMgaXMgdXNlZnVsIGZvciBicm93c2luZyB0aGUgaGlzdG9yeQpjb21m b3J0YWJseSBpbiBhIHBhZ2VyIG9yIGVkaXRvci4KQGVuZCBpdGVtaXplIikKICAgICAgKGxp Y2Vuc2UgbGljZW5zZTpncGwzKykpKSkKOyBnby1naXRodWItY29tLWFsZWN0aG9tYXMtY2hy b21hLXYyLTEzCmtpdHR5LW5leHQK --------------yxJMxyTMcAMSBbExFd4mKOAO Content-Type: application/pgp-keys; name="OpenPGP_0x144162DF4AD9D976.asc" Content-Disposition: attachment; filename="OpenPGP_0x144162DF4AD9D976.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: 7bit -----BEGIN PGP PUBLIC KEY BLOCK----- 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 =F94s -----END PGP PUBLIC KEY BLOCK----- --------------yxJMxyTMcAMSBbExFd4mKOAO--