From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Roland Winkler Newsgroups: gmane.emacs.devel Subject: bibtex.el Date: Mon, 30 Jun 2003 19:49:21 +0200 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <16128.30753.618588.572680@tfkp07.physik.uni-erlangen.de> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="FPwMdJeJku" Content-Transfer-Encoding: 7bit X-Trace: main.gmane.org 1057003086 27002 80.91.224.249 (30 Jun 2003 19:58:06 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 30 Jun 2003 19:58:06 +0000 (UTC) Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Mon Jun 30 21:58:04 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19X4mX-0006zv-00 for ; Mon, 30 Jun 2003 21:57:45 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 19X4t7-0001mG-00 for ; Mon, 30 Jun 2003 22:04:33 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.20) id 19X3Cu-0000Yt-VI for emacs-devel@quimby.gnus.org; Mon, 30 Jun 2003 14:16:53 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.20) id 19X34K-0007gC-Ku for emacs-devel@gnu.org; Mon, 30 Jun 2003 14:08:00 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.20) id 19X30m-0006rm-DV for emacs-devel@gnu.org; Mon, 30 Jun 2003 14:04:28 -0400 Original-Received: from gnuftp.gnu.org ([199.232.41.6]) by monty-python.gnu.org with esmtp (Exim 4.20) id 19X2z8-0005Vg-SW for emacs-devel@gnu.org; Mon, 30 Jun 2003 14:02:38 -0400 Original-Received: from tfkp07.physik.uni-erlangen.de ([131.188.164.207]) by gnuftp.gnu.org with esmtp (Exim 4.20) id 19X2oH-00069J-EI for emacs-devel@gnu.org; Mon, 30 Jun 2003 13:51:25 -0400 Original-Received: by tfkp07.physik.uni-erlangen.de (Postfix, from userid 500) id AA87E52CD; Mon, 30 Jun 2003 19:49:26 +0200 (CEST) Original-To: emacs-devel@gnu.org X-Mailer: VM 6.96 under Emacs 21.2.1 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Emacs development discussions. List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:15328 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:15328 --FPwMdJeJku Content-Type: text/plain; charset=us-ascii Content-Description: message body text Content-Transfer-Encoding: 7bit Could someone please install the patch below in the emacs cvs tree? Thank you very much. Roland 2003-06-30 Roland Winkler * textmodes/bibtex.el (bibtex-sort-entry-class): new entry catch-all. (bibtex-sort-ignore-string-entries): default value t. (bibtex-entry-kill-ring-max): Reintroduced as it was removed erroneously in previous version. (bibtex-string-files): Docstring reflects new parsing scheme. (bibtex-autokey-transcriptions): Merge some rewrite entries, fix docstring, add # as one of the chars to crush (bibtex-autokey-prefix-string, bibtex-autokey-names) (bibtex-autokey-names-stretch, bibtex-autokey-additional-names) (bibtex-autokey-name-change-strings) (bibtex-autokey-name-case-convert, bibtex-autokey-name-length) (bibtex-autokey-name-separator, bibtex-autokey-year-length) (bibtex-autokey-use-crossref, bibtex-autokey-titlewords) (bibtex-autokey-title-terminators) (bibtex-autokey-titlewords-stretch) (bibtex-autokey-titleword-ignore) (bibtex-autokey-titleword-case-convert) (bibtex-autokey-titleword-abbrevs) (bibtex-autokey-titleword-abbrevs) (bibtex-autokey-titleword-change-strings) (bibtex-autokey-titleword-length) (bibtex-autokey-titleword-separator) (bibtex-autokey-name-year-separator) (bibtex-autokey-year-title-separator) (bibtex-autokey-before-presentation-function) (bibtex-entry-type-history, bibtex-entry-maybe-empty-head): Fix docstring. (bibtex-strings, bibtex-reference-keys): Use lazy-completion-table and make-variable-buffer-local. (bibtex-sort-entry-class-alist): Use downcase, account for catch-all. (bibtex-braced-string-syntax-table) (bibtex-quoted-string-syntax-table): New variables. (bibtex-parse-nested-braces): Remove. (bibtex-parse-field-string): Use syntax table and forward-sexp. (bibtex-parse-association): Simplify. (bibtex-parse-field-name): Obey bibtex-autoadd-commas. (bibtex-parse-field-text): Simplify. (bibtex-search-forward-field, bibtex-search-backward-field): argument BOUND can take value t. (bibtex-start-of-field, bibtex-start-of-name-in-field) (bibtex-end-of-name-in-field, bibtex-end-of-field) (bibtex-start-of-text-in-field, bibtex-end-of-text-in-field) (bibtex-start-of-text-in-string, bibtex-end-of-text-in-string) (bibtex-end-of-string, bibtex-type-in-head): Use defsubst. (bibtex-skip-to-valid-entry): Return buffer position of beginning and ending of entry. Update for changes of bibtex-search-entry. Simplify. (bibtex-map-entries): FUN is called with three arguments. (bibtex-search-entry): Return a cons pair with buffer positions of beginning and end of entry. (bibtex-enclosing-field): Simplify. (bibtex-format-entry): Use booktitle to set a missing title. (bibtex-autokey-get-names): Fiddle with regexps. (bibtex-generate-autokey): Use identity. (bibtex-parse-keys): Use simplified parsing algorithm if bibtex-parse-keys-fast is non-nil. Simplify. Change order of arguments. Return alist of keys. (bibtex-parse-strings): Simplify. Return alist of strings. (bibtex-complete-string-cleanup): Fix docstring. (bibtex-read-key): New function. (bibtex-mode): Fix docstring. Do not parse for keys and strings when the mode is entered. Set fill-paragraph-function to bibtex-fill-field. Setup font-lock-mark-block-function the way font-lock intended. (bibtex-entry): Use bibtex-read-key. Obey bibtex-autofill-types. (bibtex-parse-entry, bibtex-autofill-entry): New functions. (bibtex-print-help-message, bibtex-remove-OPT-or-ALT) (bibtex-Preamble): Avoid hard coded constants. (bibtex-make-field): Fix docstring. Simplify. (bibtex-beginning-of-entry): Always return new position of point. (bibtex-end-of-entry): Rearrange cond clauses. (bibtex-count-entries, bibtex-validate, bibtex-reformat): Update for changes of bibtex-map-entries. (bibtex-ispell-abstract): Do not move point. (bibtex-entry-index): Use downcase. Simplify. (bibtex-lessp): Handle catch-all. (bibtex-find-crossref): Turned into a command. (bibtex-find-entry): Simplify. Use bibtex-read-key. Fix regexp. (bibtex-clean-entry): Use bibtex-read-key. Handle string and preamble entries. (bibtex-fill-field-bounds): New function. (bibtex-fill-field): New command. Bound to fill-paragraph-function. (bibtex-fill-entry): Use bibtex-fill-field-bounds (bibtex-String): Use bibtex-strings. Always obey bibtex-sort-ignore-string-entries. In etc/NEWS please remove > *** bibtex-maintain-sorted-entries can take values `plain', > `crossref', and `entry-class' which control the sorting scheme used > for BibTeX entries. `bibtex-sort-entry-class' controls the sorting > scheme `entry-class'. The updated entry should read *** bibtex-maintain-sorted-entries can take values `plain', `crossref', and `entry-class' which control the sorting scheme used for BibTeX entries. `bibtex-sort-entry-class' controls the sorting scheme `entry-class'. TAB completion for reference keys and automatic detection of duplicates does not require anymore that bibtex-maintain-sorted-entries is non-nil. *** If the new variable bibtex-parse-keys-fast is non-nil, use fast but simplified algorithm for parsing BibTeX keys. *** If the new variable bibtex-autoadd-commas is non-nil, automatically add missing commas at end of BibTeX fields. *** The new variable bibtex-autofill-types contains a list of entry types for which fields are filled automatically (if possible). *** The new command bibtex-complete completes word fragment before point according to context (bound to M-tab). *** The new commands bibtex-find-entry and bibtex-find-crossref locate entries and crossref'd entries. *** In BibTeX mode the command fill-paragraph (bound to M-q) fills individual fields of a BibTeX entry. --FPwMdJeJku Content-Type: application/octet-stream Content-Disposition: attachment; filename="dif2" Content-Transfer-Encoding: base64 LS0tIGJpYnRleC5lbAkyMDAzLzA2LzAzIDA5OjA2OjE4CTEuMTkKKysrIGJpYnRleC5lbAkyMDAz LzA2LzMwIDE2OjM3OjQxCkBAIC0xNTAsOSArMTUwLDcgQEAKIAogKGRlZmN1c3RvbSBiaWJ0ZXgt bWFpbnRhaW4tc29ydGVkLWVudHJpZXMgbmlsCiAgICIqSWYgbm9uLW5pbCwgQmliVGVYIG1vZGUg bWFpbnRhaW5zIGFsbCBCaWJUZVggZW50cmllcyBpbiBzb3J0ZWQgb3JkZXIuCi1JZiBpdCBpcyBu aWwgdGhpcyB3aWxsIHN0cmlwIG9mZiBzb21lIGNvbWZvcnQgKGUuZy4sIFRBQgotY29tcGxldGlv biBmb3IgcmVmZXJlbmNlIGtleXMgaW4gbWluaWJ1ZmZlciwgYXV0b21hdGljIGRldGVjdGlvbiBv ZgotZHVwbGljYXRlcykgZnJvbSBCaWJUZVggbW9kZS4gQWxsb3dlZCBub24tbmlsIHZhbHVlcyBh cmU6CitBbGxvd2VkIG5vbi1uaWwgdmFsdWVzIGFyZToKIHBsYWluICAgICAgICBBbGwgZW50cmll cyBhcmUgc29ydGVkIGFscGhhYmV0aWNhbGx5LgogY3Jvc3NyZWYgICAgIEFsbCBlbnRyaWVzIGFy ZSBzb3J0ZWQgYWxwaGFiZXRpY2FsbHkgdW5sZXNzIGFuIGVudHJ5IGhhcyBhCiAgICAgICAgICAg ICAgY3Jvc3NyZWYgZmllbGQuIFRoZXNlIGNyb3NzcmVmZWQgZW50cmllcyBhcmUgcGxhY2VkIGlu CkBAIC0xNjksMTcgKzE2NywxNSBAQAogCiAoZGVmdmFyIGJpYnRleC1zb3J0LWVudHJ5LWNsYXNz CiAgICcoKCJTdHJpbmciKQotICAgICgiQXJ0aWNsZSIgIkluQm9vayIgIkluQ29sbGVjdGlvbiIg IkluUHJvY2VlZGluZ3MiKQotICAgICgiQm9vayIgIlByb2NlZWRpbmdzIikKLSAgICAoIkJvb2ts ZXQiICJNYW51YWwiICJNYXN0ZXJzVGhlc2lzIiAiUGhkVGhlc2lzIiAiVGVjaFJlcG9ydCIgKQot ICAgICgiTWlzYyIgIlVucHVibGlzaGVkIikpCisgICAgKGNhdGNoLWFsbCkKKyAgICAoIkJvb2si ICJQcm9jZWVkaW5ncyIpKQogICAiKkxpc3Qgb2YgY2xhc3NlcyBvZiBCaWJUZVggZW50cnkgbmFt ZXMsIHVzZWQgZm9yIHNvcnRpbmcgZW50cmllcy4KLUVhY2ggY2xhc3MgY29udGFpbnMgYSBsaXN0 IG9mIGVudHJ5IG5hbWVzLiBJZiB2YWx1ZSBvZgotYGJpYnRleC1tYWludGFpbi1zb3J0ZWQtZW50 cmllcycgaXMgYGVudHJ5LWNsYXNzJyBlbnRyaWVzIGFyZSBvcmRlcmVkCi1hY2NvcmRpbmcgdG8g dGhlIGNsYXNzZXMgdGhleSBiZWxvbmcgdG8uIikKK0lmIHZhbHVlIG9mIGBiaWJ0ZXgtbWFpbnRh aW4tc29ydGVkLWVudHJpZXMnIGlzIGBlbnRyeS1jbGFzcycKK2VudHJpZXMgYXJlIG9yZGVyZWQg YWNjb3JkaW5nIHRvIHRoZSBjbGFzc2VzIHRoZXkgYmVsb25nIHRvLiBFYWNoCitjbGFzcyBjb250 YWlucyBhIGxpc3Qgb2YgZW50cnkgbmFtZXMuIEFuIGVudHJ5IGBjYXRjaC1hbGwnIGFwcGxpZXMK K3RvIGFsbCBlbnRyaWVzIG5vdCBleHBsaWNpdGVseSBtZW50aW9uZWQuIikKIAotKGRlZmN1c3Rv bSBiaWJ0ZXgtc29ydC1pZ25vcmUtc3RyaW5nLWVudHJpZXMKLSAgKG5vdCAoZXF1YWwgYmlidGV4 LW1haW50YWluLXNvcnRlZC1lbnRyaWVzICdlbnRyeS1jbGFzcykpCisoZGVmY3VzdG9tIGJpYnRl eC1zb3J0LWlnbm9yZS1zdHJpbmctZW50cmllcyB0CiAgICIqSWYgbm9uLW5pbCwgQmliVGVYIEBT dHJpbmcgZW50cmllcyBhcmUgbm90IHNvcnQtc2lnbmlmaWNhbnQuCiBUaGF0IG1lYW5zIHRoZXkg YXJlIGlnbm9yZWQgd2hlbiBkZXRlcm1pbmluZyBvcmRlcmluZyBvZiB0aGUgYnVmZmVyCiBcKGUu Zy4sIHNvcnRpbmcsIGxvY2F0aW5nIGFscGhhYmV0aWNhbCBwb3NpdGlvbiBmb3IgbmV3IGVudHJp ZXMsIGV0Yy4pLiIKQEAgLTE5MSw2ICsxODcsMTEgQEAKICAgOmdyb3VwICdiaWJ0ZXgKICAgOnR5 cGUgJ2ludGVnZXIpCiAKKyhkZWZjdXN0b20gYmlidGV4LWVudHJ5LWtpbGwtcmluZy1tYXggMjAK KyAgIipNYXggbGVuZ3RoIG9mIGBiaWJ0ZXgtZW50cnkta2lsbC1yaW5nJyBiZWZvcmUgZGlzY2Fy ZGluZyBvbGRlc3QgZWxlbWVudHMuIgorICA6Z3JvdXAgJ2JpYnRleAorICA6dHlwZSAnaW50ZWdl cikKKwogKGRlZmN1c3RvbSBiaWJ0ZXgtcGFyc2Uta2V5cy10aW1lb3V0IDYwCiAgICIqU3BlY2lm eSBpbnRlcnZhbCBmb3IgcGFyc2luZyBCaWJUZVggYnVmZmVycy4KIEFsbCBCaWJUZVggYnVmZmVy cyBpbiBFbWFjcyBhcmUgcGFyc2VkIGlmIEVtYWNzIGhhcyBiZWVuIGlkbGUKQEAgLTE5OSwyMTcg KzIwMCwyMjMgQEAKICAgOmdyb3VwICdiaWJ0ZXgKICAgOnR5cGUgJ2ludGVnZXIpCiAKKyhkZWZj dXN0b20gYmlidGV4LXBhcnNlLWtleXMtZmFzdCB0CisgICIqSWYgbm9uLW5pbCwgdXNlIGZhc3Qg YnV0IHNpbXBsaWZpZWQgYWxnb3JpdGhtIGZvciBwYXJzaW5nIEJpYlRlWCBrZXlzLgorSWYgcGFy c2luZyBmYWlscywgdHJ5IHRvIHNldCB0aGlzIHZhcmlhYmxlIHRvIG5pbC4iCisgIDpncm91cCAn YmlidGV4CisgIDp0eXBlICdib29sZWFuKQorCiAoZGVmdmFyIGJpYnRleC1lbnRyeS1maWVsZC1h bGlzdAogICAnKAogICAgICgiQXJ0aWNsZSIKICAgICAgKCgoImF1dGhvciIgIkF1dGhvcjEgW2Fu ZCBBdXRob3IyIC4uLl0gW2FuZCBvdGhlcnNdIikKLSAgICAgICAgKCJ0aXRsZSIgIlRpdGxlIG9m IHRoZSBhcnRpY2xlIChCaWJUZVggY29udmVydHMgaXQgdG8gbG93ZXJjYXNlKSIpCi0gICAgICAg ICgiam91cm5hbCIgIk5hbWUgb2YgdGhlIGpvdXJuYWwgKHVzZSBzdHJpbmcsIHJlbW92ZSBicmFj ZXMpIikKLSAgICAgICAgKCJ5ZWFyIiAiWWVhciBvZiBwdWJsaWNhdGlvbiIpKQotICAgICAgICgo InZvbHVtZSIgIlZvbHVtZSBvZiB0aGUgam91cm5hbCIpCi0gICAgICAgICgibnVtYmVyIiAiTnVt YmVyIG9mIHRoZSBqb3VybmFsIChvbmx5IGFsbG93ZWQgaWYgZW50cnkgY29udGFpbnMgdm9sdW1l KSIpCi0gICAgICAgICgicGFnZXMiICJQYWdlcyBpbiB0aGUgam91cm5hbCIpCi0gICAgICAgICgi bW9udGgiICJNb250aCBvZiB0aGUgcHVibGljYXRpb24gYXMgYSBzdHJpbmcgKHJlbW92ZSBicmFj ZXMpIikKLSAgICAgICAgKCJub3RlIiAiUmVtYXJrcyB0byBiZSBwdXQgYXQgdGhlIGVuZCBvZiB0 aGUgXFxiaWJpdGVtIikpKQotICAgICAgKCgoImF1dGhvciIgIkF1dGhvcjEgW2FuZCBBdXRob3Iy IC4uLl0gW2FuZCBvdGhlcnNdIikKLSAgICAgICAgKCJ0aXRsZSIgIlRpdGxlIG9mIHRoZSBhcnRp Y2xlIChCaWJUZVggY29udmVydHMgaXQgdG8gbG93ZXJjYXNlKSIpKQotICAgICAgICgoInBhZ2Vz IiAiUGFnZXMgaW4gdGhlIGpvdXJuYWwiKQotICAgICAgICAoImpvdXJuYWwiICJOYW1lIG9mIHRo ZSBqb3VybmFsICh1c2Ugc3RyaW5nLCByZW1vdmUgYnJhY2VzKSIpCi0gICAgICAgICgieWVhciIg IlllYXIgb2YgcHVibGljYXRpb24iKQotICAgICAgICAoInZvbHVtZSIgIlZvbHVtZSBvZiB0aGUg am91cm5hbCIpCi0gICAgICAgICgibnVtYmVyIiAiTnVtYmVyIG9mIHRoZSBqb3VybmFsIikKLSAg ICAgICAgKCJtb250aCIgIk1vbnRoIG9mIHRoZSBwdWJsaWNhdGlvbiBhcyBhIHN0cmluZyAocmVt b3ZlIGJyYWNlcykiKQotICAgICAgICAoIm5vdGUiICJSZW1hcmtzIHRvIGJlIHB1dCBhdCB0aGUg ZW5kIG9mIHRoZSBcXGJpYml0ZW0iKSkpKQorICAgICAgICgidGl0bGUiICJUaXRsZSBvZiB0aGUg YXJ0aWNsZSAoQmliVGVYIGNvbnZlcnRzIGl0IHRvIGxvd2VyY2FzZSkiKQorICAgICAgICgiam91 cm5hbCIgIk5hbWUgb2YgdGhlIGpvdXJuYWwgKHVzZSBzdHJpbmcsIHJlbW92ZSBicmFjZXMpIikK KyAgICAgICAoInllYXIiICJZZWFyIG9mIHB1YmxpY2F0aW9uIikpCisgICAgICAoKCJ2b2x1bWUi ICJWb2x1bWUgb2YgdGhlIGpvdXJuYWwiKQorICAgICAgICgibnVtYmVyIiAiTnVtYmVyIG9mIHRo ZSBqb3VybmFsIChvbmx5IGFsbG93ZWQgaWYgZW50cnkgY29udGFpbnMgdm9sdW1lKSIpCisgICAg ICAgKCJwYWdlcyIgIlBhZ2VzIGluIHRoZSBqb3VybmFsIikKKyAgICAgICAoIm1vbnRoIiAiTW9u dGggb2YgdGhlIHB1YmxpY2F0aW9uIGFzIGEgc3RyaW5nIChyZW1vdmUgYnJhY2VzKSIpCisgICAg ICAgKCJub3RlIiAiUmVtYXJrcyB0byBiZSBwdXQgYXQgdGhlIGVuZCBvZiB0aGUgXFxiaWJpdGVt IikpKQorICAgICAoKCgiYXV0aG9yIiAiQXV0aG9yMSBbYW5kIEF1dGhvcjIgLi4uXSBbYW5kIG90 aGVyc10iKQorICAgICAgICgidGl0bGUiICJUaXRsZSBvZiB0aGUgYXJ0aWNsZSAoQmliVGVYIGNv bnZlcnRzIGl0IHRvIGxvd2VyY2FzZSkiKSkKKyAgICAgICgoInBhZ2VzIiAiUGFnZXMgaW4gdGhl IGpvdXJuYWwiKQorICAgICAgICgiam91cm5hbCIgIk5hbWUgb2YgdGhlIGpvdXJuYWwgKHVzZSBz dHJpbmcsIHJlbW92ZSBicmFjZXMpIikKKyAgICAgICAoInllYXIiICJZZWFyIG9mIHB1YmxpY2F0 aW9uIikKKyAgICAgICAoInZvbHVtZSIgIlZvbHVtZSBvZiB0aGUgam91cm5hbCIpCisgICAgICAg KCJudW1iZXIiICJOdW1iZXIgb2YgdGhlIGpvdXJuYWwiKQorICAgICAgICgibW9udGgiICJNb250 aCBvZiB0aGUgcHVibGljYXRpb24gYXMgYSBzdHJpbmcgKHJlbW92ZSBicmFjZXMpIikKKyAgICAg ICAoIm5vdGUiICJSZW1hcmtzIHRvIGJlIHB1dCBhdCB0aGUgZW5kIG9mIHRoZSBcXGJpYml0ZW0i KSkpKQogICAgICgiQm9vayIKICAgICAgKCgoImF1dGhvciIgIkF1dGhvcjEgW2FuZCBBdXRob3Iy IC4uLl0gW2FuZCBvdGhlcnNdIiAiIiB0KQotICAgICAgICAoImVkaXRvciIgIkVkaXRvcjEgW2Fu ZCBFZGl0b3IyIC4uLl0gW2FuZCBvdGhlcnNdIiAiIiB0KQotICAgICAgICAoInRpdGxlIiAiVGl0 bGUgb2YgdGhlIGJvb2siKQotICAgICAgICAoInB1Ymxpc2hlciIgIlB1Ymxpc2hpbmcgY29tcGFu eSIpCi0gICAgICAgICgieWVhciIgIlllYXIgb2YgcHVibGljYXRpb24iKSkKLSAgICAgICAoKCJ2 b2x1bWUiICJWb2x1bWUgb2YgdGhlIGJvb2sgaW4gdGhlIHNlcmllcyIpCi0gICAgICAgICgibnVt YmVyIiAiTnVtYmVyIG9mIHRoZSBib29rIGluIGEgc21hbGwgc2VyaWVzIChvdmVyd3JpdHRlbiBi eSB2b2x1bWUpIikKLSAgICAgICAgKCJzZXJpZXMiICJTZXJpZXMgaW4gd2hpY2ggdGhlIGJvb2sg YXBwZWFyZWQiKQotICAgICAgICAoImFkZHJlc3MiICJBZGRyZXNzIG9mIHRoZSBwdWJsaXNoZXIi KQotICAgICAgICAoImVkaXRpb24iICJFZGl0aW9uIG9mIHRoZSBib29rIGFzIGEgY2FwaXRhbGl6 ZWQgRW5nbGlzaCB3b3JkIikKLSAgICAgICAgKCJtb250aCIgIk1vbnRoIG9mIHRoZSBwdWJsaWNh dGlvbiBhcyBhIHN0cmluZyAocmVtb3ZlIGJyYWNlcykiKQotICAgICAgICAoIm5vdGUiICJSZW1h cmtzIHRvIGJlIHB1dCBhdCB0aGUgZW5kIG9mIHRoZSBcXGJpYml0ZW0iKSkpCi0gICAgICAoKCgi YXV0aG9yIiAiQXV0aG9yMSBbYW5kIEF1dGhvcjIgLi4uXSBbYW5kIG90aGVyc10iICIiIHQpCi0g ICAgICAgICgiZWRpdG9yIiAiRWRpdG9yMSBbYW5kIEVkaXRvcjIgLi4uXSBbYW5kIG90aGVyc10i ICIiIHQpCi0gICAgICAgICgidGl0bGUiICJUaXRsZSBvZiB0aGUgYm9vayIpKQotICAgICAgICgo InB1Ymxpc2hlciIgIlB1Ymxpc2hpbmcgY29tcGFueSIpCi0gICAgICAgICgieWVhciIgIlllYXIg b2YgcHVibGljYXRpb24iKQotICAgICAgICAoInZvbHVtZSIgIlZvbHVtZSBvZiB0aGUgYm9vayBp biB0aGUgc2VyaWVzIikKLSAgICAgICAgKCJudW1iZXIiICJOdW1iZXIgb2YgdGhlIGJvb2sgaW4g YSBzbWFsbCBzZXJpZXMgKG92ZXJ3cml0dGVuIGJ5IHZvbHVtZSkiKQotICAgICAgICAoInNlcmll cyIgIlNlcmllcyBpbiB3aGljaCB0aGUgYm9vayBhcHBlYXJlZCIpCi0gICAgICAgICgiYWRkcmVz cyIgIkFkZHJlc3Mgb2YgdGhlIHB1Ymxpc2hlciIpCi0gICAgICAgICgiZWRpdGlvbiIgIkVkaXRp b24gb2YgdGhlIGJvb2sgYXMgYSBjYXBpdGFsaXplZCBFbmdsaXNoIHdvcmQiKQotICAgICAgICAo Im1vbnRoIiAiTW9udGggb2YgdGhlIHB1YmxpY2F0aW9uIGFzIGEgc3RyaW5nIChyZW1vdmUgYnJh Y2VzKSIpCi0gICAgICAgICgibm90ZSIgIlJlbWFya3MgdG8gYmUgcHV0IGF0IHRoZSBlbmQgb2Yg dGhlIFxcYmliaXRlbSIpKSkpCisgICAgICAgKCJlZGl0b3IiICJFZGl0b3IxIFthbmQgRWRpdG9y MiAuLi5dIFthbmQgb3RoZXJzXSIgIiIgdCkKKyAgICAgICAoInRpdGxlIiAiVGl0bGUgb2YgdGhl IGJvb2siKQorICAgICAgICgicHVibGlzaGVyIiAiUHVibGlzaGluZyBjb21wYW55IikKKyAgICAg ICAoInllYXIiICJZZWFyIG9mIHB1YmxpY2F0aW9uIikpCisgICAgICAoKCJ2b2x1bWUiICJWb2x1 bWUgb2YgdGhlIGJvb2sgaW4gdGhlIHNlcmllcyIpCisgICAgICAgKCJudW1iZXIiICJOdW1iZXIg b2YgdGhlIGJvb2sgaW4gYSBzbWFsbCBzZXJpZXMgKG92ZXJ3cml0dGVuIGJ5IHZvbHVtZSkiKQor ICAgICAgICgic2VyaWVzIiAiU2VyaWVzIGluIHdoaWNoIHRoZSBib29rIGFwcGVhcmVkIikKKyAg ICAgICAoImFkZHJlc3MiICJBZGRyZXNzIG9mIHRoZSBwdWJsaXNoZXIiKQorICAgICAgICgiZWRp dGlvbiIgIkVkaXRpb24gb2YgdGhlIGJvb2sgYXMgYSBjYXBpdGFsaXplZCBFbmdsaXNoIHdvcmQi KQorICAgICAgICgibW9udGgiICJNb250aCBvZiB0aGUgcHVibGljYXRpb24gYXMgYSBzdHJpbmcg KHJlbW92ZSBicmFjZXMpIikKKyAgICAgICAoIm5vdGUiICJSZW1hcmtzIHRvIGJlIHB1dCBhdCB0 aGUgZW5kIG9mIHRoZSBcXGJpYml0ZW0iKSkpCisgICAgICgoKCJhdXRob3IiICJBdXRob3IxIFth bmQgQXV0aG9yMiAuLi5dIFthbmQgb3RoZXJzXSIgIiIgdCkKKyAgICAgICAoImVkaXRvciIgIkVk aXRvcjEgW2FuZCBFZGl0b3IyIC4uLl0gW2FuZCBvdGhlcnNdIiAiIiB0KQorICAgICAgICgidGl0 bGUiICJUaXRsZSBvZiB0aGUgYm9vayIpKQorICAgICAgKCgicHVibGlzaGVyIiAiUHVibGlzaGlu ZyBjb21wYW55IikKKyAgICAgICAoInllYXIiICJZZWFyIG9mIHB1YmxpY2F0aW9uIikKKyAgICAg ICAoInZvbHVtZSIgIlZvbHVtZSBvZiB0aGUgYm9vayBpbiB0aGUgc2VyaWVzIikKKyAgICAgICAo Im51bWJlciIgIk51bWJlciBvZiB0aGUgYm9vayBpbiBhIHNtYWxsIHNlcmllcyAob3ZlcndyaXR0 ZW4gYnkgdm9sdW1lKSIpCisgICAgICAgKCJzZXJpZXMiICJTZXJpZXMgaW4gd2hpY2ggdGhlIGJv b2sgYXBwZWFyZWQiKQorICAgICAgICgiYWRkcmVzcyIgIkFkZHJlc3Mgb2YgdGhlIHB1Ymxpc2hl ciIpCisgICAgICAgKCJlZGl0aW9uIiAiRWRpdGlvbiBvZiB0aGUgYm9vayBhcyBhIGNhcGl0YWxp emVkIEVuZ2xpc2ggd29yZCIpCisgICAgICAgKCJtb250aCIgIk1vbnRoIG9mIHRoZSBwdWJsaWNh dGlvbiBhcyBhIHN0cmluZyAocmVtb3ZlIGJyYWNlcykiKQorICAgICAgICgibm90ZSIgIlJlbWFy a3MgdG8gYmUgcHV0IGF0IHRoZSBlbmQgb2YgdGhlIFxcYmliaXRlbSIpKSkpCiAgICAgKCJCb29r bGV0IgogICAgICAoKCgidGl0bGUiICJUaXRsZSBvZiB0aGUgYm9va2xldCAoQmliVGVYIGNvbnZl cnRzIGl0IHRvIGxvd2VyY2FzZSkiKSkKLSAgICAgICAoKCJhdXRob3IiICJBdXRob3IxIFthbmQg QXV0aG9yMiAuLi5dIFthbmQgb3RoZXJzXSIpCi0gICAgICAgICgiaG93cHVibGlzaGVkIiAiVGhl IHdheSBpbiB3aGljaCB0aGUgYm9va2xldCB3YXMgcHVibGlzaGVkIikKLSAgICAgICAgKCJhZGRy ZXNzIiAiQWRkcmVzcyBvZiB0aGUgcHVibGlzaGVyIikKLSAgICAgICAgKCJtb250aCIgIk1vbnRo IG9mIHRoZSBwdWJsaWNhdGlvbiBhcyBhIHN0cmluZyAocmVtb3ZlIGJyYWNlcykiKQotICAgICAg ICAoInllYXIiICJZZWFyIG9mIHB1YmxpY2F0aW9uIikKLSAgICAgICAgKCJub3RlIiAiUmVtYXJr cyB0byBiZSBwdXQgYXQgdGhlIGVuZCBvZiB0aGUgXFxiaWJpdGVtIikpKSkKKyAgICAgICgoImF1 dGhvciIgIkF1dGhvcjEgW2FuZCBBdXRob3IyIC4uLl0gW2FuZCBvdGhlcnNdIikKKyAgICAgICAo Imhvd3B1Ymxpc2hlZCIgIlRoZSB3YXkgaW4gd2hpY2ggdGhlIGJvb2tsZXQgd2FzIHB1Ymxpc2hl ZCIpCisgICAgICAgKCJhZGRyZXNzIiAiQWRkcmVzcyBvZiB0aGUgcHVibGlzaGVyIikKKyAgICAg ICAoIm1vbnRoIiAiTW9udGggb2YgdGhlIHB1YmxpY2F0aW9uIGFzIGEgc3RyaW5nIChyZW1vdmUg YnJhY2VzKSIpCisgICAgICAgKCJ5ZWFyIiAiWWVhciBvZiBwdWJsaWNhdGlvbiIpCisgICAgICAg KCJub3RlIiAiUmVtYXJrcyB0byBiZSBwdXQgYXQgdGhlIGVuZCBvZiB0aGUgXFxiaWJpdGVtIikp KSkKICAgICAoIkluQm9vayIKICAgICAgKCgoImF1dGhvciIgIkF1dGhvcjEgW2FuZCBBdXRob3Iy IC4uLl0gW2FuZCBvdGhlcnNdIiAiIiB0KQotICAgICAgICAoImVkaXRvciIgIkVkaXRvcjEgW2Fu ZCBFZGl0b3IyIC4uLl0gW2FuZCBvdGhlcnNdIiAiIiB0KQotICAgICAgICAoInRpdGxlIiAiVGl0 bGUgb2YgdGhlIGJvb2siKQotICAgICAgICAoImNoYXB0ZXIiICJDaGFwdGVyIGluIHRoZSBib29r IikKLSAgICAgICAgKCJwdWJsaXNoZXIiICJQdWJsaXNoaW5nIGNvbXBhbnkiKQotICAgICAgICAo InllYXIiICJZZWFyIG9mIHB1YmxpY2F0aW9uIikpCi0gICAgICAgKCgidm9sdW1lIiAiVm9sdW1l IG9mIHRoZSBib29rIGluIHRoZSBzZXJpZXMiKQotICAgICAgICAoIm51bWJlciIgIk51bWJlciBv ZiB0aGUgYm9vayBpbiBhIHNtYWxsIHNlcmllcyAob3ZlcndyaXR0ZW4gYnkgdm9sdW1lKSIpCi0g ICAgICAgICgic2VyaWVzIiAiU2VyaWVzIGluIHdoaWNoIHRoZSBib29rIGFwcGVhcmVkIikKLSAg ICAgICAgKCJ0eXBlIiAiV29yZCB0byB1c2UgaW5zdGVhZCBvZiBcImNoYXB0ZXJcIiIpCi0gICAg ICAgICgiYWRkcmVzcyIgIkFkZHJlc3Mgb2YgdGhlIHB1Ymxpc2hlciIpCi0gICAgICAgICgiZWRp dGlvbiIgIkVkaXRpb24gb2YgdGhlIGJvb2sgYXMgYSBjYXBpdGFsaXplZCBFbmdsaXNoIHdvcmQi KQotICAgICAgICAoIm1vbnRoIiAiTW9udGggb2YgdGhlIHB1YmxpY2F0aW9uIGFzIGEgc3RyaW5n IChyZW1vdmUgYnJhY2VzKSIpCi0gICAgICAgICgicGFnZXMiICJQYWdlcyBpbiB0aGUgYm9vayIp Ci0gICAgICAgICgibm90ZSIgIlJlbWFya3MgdG8gYmUgcHV0IGF0IHRoZSBlbmQgb2YgdGhlIFxc YmliaXRlbSIpKSkKLSAgICAgICgoKCJhdXRob3IiICJBdXRob3IxIFthbmQgQXV0aG9yMiAuLi5d IFthbmQgb3RoZXJzXSIgIiIgdCkKLSAgICAgICAgKCJlZGl0b3IiICJFZGl0b3IxIFthbmQgRWRp dG9yMiAuLi5dIFthbmQgb3RoZXJzXSIgIiIgdCkKLSAgICAgICAgKCJ0aXRsZSIgIlRpdGxlIG9m IHRoZSBib29rIikKLSAgICAgICAgKCJjaGFwdGVyIiAiQ2hhcHRlciBpbiB0aGUgYm9vayIpKQot ICAgICAgICgoInBhZ2VzIiAiUGFnZXMgaW4gdGhlIGJvb2siKQotICAgICAgICAoInB1Ymxpc2hl ciIgIlB1Ymxpc2hpbmcgY29tcGFueSIpCi0gICAgICAgICgieWVhciIgIlllYXIgb2YgcHVibGlj YXRpb24iKQotICAgICAgICAoInZvbHVtZSIgIlZvbHVtZSBvZiB0aGUgYm9vayBpbiB0aGUgc2Vy aWVzIikKLSAgICAgICAgKCJudW1iZXIiICJOdW1iZXIgb2YgdGhlIGJvb2sgaW4gYSBzbWFsbCBz ZXJpZXMgKG92ZXJ3cml0dGVuIGJ5IHZvbHVtZSkiKQotICAgICAgICAoInNlcmllcyIgIlNlcmll cyBpbiB3aGljaCB0aGUgYm9vayBhcHBlYXJlZCIpCi0gICAgICAgICgidHlwZSIgIldvcmQgdG8g dXNlIGluc3RlYWQgb2YgXCJjaGFwdGVyXCIiKQotICAgICAgICAoImFkZHJlc3MiICJBZGRyZXNz IG9mIHRoZSBwdWJsaXNoZXIiKQotICAgICAgICAoImVkaXRpb24iICJFZGl0aW9uIG9mIHRoZSBi b29rIGFzIGEgY2FwaXRhbGl6ZWQgRW5nbGlzaCB3b3JkIikKLSAgICAgICAgKCJtb250aCIgIk1v bnRoIG9mIHRoZSBwdWJsaWNhdGlvbiBhcyBhIHN0cmluZyAocmVtb3ZlIGJyYWNlcykiKQotICAg ICAgICAoIm5vdGUiICJSZW1hcmtzIHRvIGJlIHB1dCBhdCB0aGUgZW5kIG9mIHRoZSBcXGJpYml0 ZW0iKSkpKQorICAgICAgICgiZWRpdG9yIiAiRWRpdG9yMSBbYW5kIEVkaXRvcjIgLi4uXSBbYW5k IG90aGVyc10iICIiIHQpCisgICAgICAgKCJ0aXRsZSIgIlRpdGxlIG9mIHRoZSBib29rIikKKyAg ICAgICAoImNoYXB0ZXIiICJDaGFwdGVyIGluIHRoZSBib29rIikKKyAgICAgICAoInB1Ymxpc2hl ciIgIlB1Ymxpc2hpbmcgY29tcGFueSIpCisgICAgICAgKCJ5ZWFyIiAiWWVhciBvZiBwdWJsaWNh dGlvbiIpKQorICAgICAgKCgidm9sdW1lIiAiVm9sdW1lIG9mIHRoZSBib29rIGluIHRoZSBzZXJp ZXMiKQorICAgICAgICgibnVtYmVyIiAiTnVtYmVyIG9mIHRoZSBib29rIGluIGEgc21hbGwgc2Vy aWVzIChvdmVyd3JpdHRlbiBieSB2b2x1bWUpIikKKyAgICAgICAoInNlcmllcyIgIlNlcmllcyBp biB3aGljaCB0aGUgYm9vayBhcHBlYXJlZCIpCisgICAgICAgKCJ0eXBlIiAiV29yZCB0byB1c2Ug aW5zdGVhZCBvZiBcImNoYXB0ZXJcIiIpCisgICAgICAgKCJhZGRyZXNzIiAiQWRkcmVzcyBvZiB0 aGUgcHVibGlzaGVyIikKKyAgICAgICAoImVkaXRpb24iICJFZGl0aW9uIG9mIHRoZSBib29rIGFz IGEgY2FwaXRhbGl6ZWQgRW5nbGlzaCB3b3JkIikKKyAgICAgICAoIm1vbnRoIiAiTW9udGggb2Yg dGhlIHB1YmxpY2F0aW9uIGFzIGEgc3RyaW5nIChyZW1vdmUgYnJhY2VzKSIpCisgICAgICAgKCJw YWdlcyIgIlBhZ2VzIGluIHRoZSBib29rIikKKyAgICAgICAoIm5vdGUiICJSZW1hcmtzIHRvIGJl IHB1dCBhdCB0aGUgZW5kIG9mIHRoZSBcXGJpYml0ZW0iKSkpCisgICAgICgoKCJhdXRob3IiICJB dXRob3IxIFthbmQgQXV0aG9yMiAuLi5dIFthbmQgb3RoZXJzXSIgIiIgdCkKKyAgICAgICAoImVk aXRvciIgIkVkaXRvcjEgW2FuZCBFZGl0b3IyIC4uLl0gW2FuZCBvdGhlcnNdIiAiIiB0KQorICAg ICAgICgidGl0bGUiICJUaXRsZSBvZiB0aGUgYm9vayIpCisgICAgICAgKCJjaGFwdGVyIiAiQ2hh cHRlciBpbiB0aGUgYm9vayIpKQorICAgICAgKCgicGFnZXMiICJQYWdlcyBpbiB0aGUgYm9vayIp CisgICAgICAgKCJwdWJsaXNoZXIiICJQdWJsaXNoaW5nIGNvbXBhbnkiKQorICAgICAgICgieWVh ciIgIlllYXIgb2YgcHVibGljYXRpb24iKQorICAgICAgICgidm9sdW1lIiAiVm9sdW1lIG9mIHRo ZSBib29rIGluIHRoZSBzZXJpZXMiKQorICAgICAgICgibnVtYmVyIiAiTnVtYmVyIG9mIHRoZSBi b29rIGluIGEgc21hbGwgc2VyaWVzIChvdmVyd3JpdHRlbiBieSB2b2x1bWUpIikKKyAgICAgICAo InNlcmllcyIgIlNlcmllcyBpbiB3aGljaCB0aGUgYm9vayBhcHBlYXJlZCIpCisgICAgICAgKCJ0 eXBlIiAiV29yZCB0byB1c2UgaW5zdGVhZCBvZiBcImNoYXB0ZXJcIiIpCisgICAgICAgKCJhZGRy ZXNzIiAiQWRkcmVzcyBvZiB0aGUgcHVibGlzaGVyIikKKyAgICAgICAoImVkaXRpb24iICJFZGl0 aW9uIG9mIHRoZSBib29rIGFzIGEgY2FwaXRhbGl6ZWQgRW5nbGlzaCB3b3JkIikKKyAgICAgICAo Im1vbnRoIiAiTW9udGggb2YgdGhlIHB1YmxpY2F0aW9uIGFzIGEgc3RyaW5nIChyZW1vdmUgYnJh Y2VzKSIpCisgICAgICAgKCJub3RlIiAiUmVtYXJrcyB0byBiZSBwdXQgYXQgdGhlIGVuZCBvZiB0 aGUgXFxiaWJpdGVtIikpKSkKICAgICAoIkluQ29sbGVjdGlvbiIKICAgICAgKCgoImF1dGhvciIg IkF1dGhvcjEgW2FuZCBBdXRob3IyIC4uLl0gW2FuZCBvdGhlcnNdIikKLSAgICAgICAgKCJ0aXRs ZSIgIlRpdGxlIG9mIHRoZSBhcnRpY2xlIGluIGJvb2sgKEJpYlRlWCBjb252ZXJ0cyBpdCB0byBs b3dlcmNhc2UpIikKLSAgICAgICAgKCJib29rdGl0bGUiICJOYW1lIG9mIHRoZSBib29rIikKLSAg ICAgICAgKCJwdWJsaXNoZXIiICJQdWJsaXNoaW5nIGNvbXBhbnkiKQotICAgICAgICAoInllYXIi ICJZZWFyIG9mIHB1YmxpY2F0aW9uIikpCi0gICAgICAgKCgiZWRpdG9yIiAiRWRpdG9yMSBbYW5k IEVkaXRvcjIgLi4uXSBbYW5kIG90aGVyc10iKQotICAgICAgICAoInZvbHVtZSIgIlZvbHVtZSBv ZiB0aGUgYm9vayBpbiB0aGUgc2VyaWVzIikKLSAgICAgICAgKCJudW1iZXIiICJOdW1iZXIgb2Yg dGhlIGJvb2sgaW4gYSBzbWFsbCBzZXJpZXMgKG92ZXJ3cml0dGVuIGJ5IHZvbHVtZSkiKQotICAg ICAgICAoInNlcmllcyIgIlNlcmllcyBpbiB3aGljaCB0aGUgYm9vayBhcHBlYXJlZCIpCi0gICAg ICAgICgidHlwZSIgIldvcmQgdG8gdXNlIGluc3RlYWQgb2YgXCJjaGFwdGVyXCIiKQotICAgICAg ICAoImNoYXB0ZXIiICJDaGFwdGVyIGluIHRoZSBib29rIikKLSAgICAgICAgKCJwYWdlcyIgIlBh Z2VzIGluIHRoZSBib29rIikKLSAgICAgICAgKCJhZGRyZXNzIiAiQWRkcmVzcyBvZiB0aGUgcHVi bGlzaGVyIikKLSAgICAgICAgKCJlZGl0aW9uIiAiRWRpdGlvbiBvZiB0aGUgYm9vayBhcyBhIGNh cGl0YWxpemVkIEVuZ2xpc2ggd29yZCIpCi0gICAgICAgICgibW9udGgiICJNb250aCBvZiB0aGUg cHVibGljYXRpb24gYXMgYSBzdHJpbmcgKHJlbW92ZSBicmFjZXMpIikKLSAgICAgICAgKCJub3Rl IiAiUmVtYXJrcyB0byBiZSBwdXQgYXQgdGhlIGVuZCBvZiB0aGUgXFxiaWJpdGVtIikpKQotICAg ICAgKCgoImF1dGhvciIgIkF1dGhvcjEgW2FuZCBBdXRob3IyIC4uLl0gW2FuZCBvdGhlcnNdIikK LSAgICAgICAgKCJ0aXRsZSIgIlRpdGxlIG9mIHRoZSBhcnRpY2xlIGluIGJvb2sgKEJpYlRlWCBj b252ZXJ0cyBpdCB0byBsb3dlcmNhc2UpIikKLSAgICAgICAgKCJib29rdGl0bGUiICJOYW1lIG9m IHRoZSBib29rIikpCi0gICAgICAgKCgicGFnZXMiICJQYWdlcyBpbiB0aGUgYm9vayIpCi0gICAg ICAgICgicHVibGlzaGVyIiAiUHVibGlzaGluZyBjb21wYW55IikKLSAgICAgICAgKCJ5ZWFyIiAi WWVhciBvZiBwdWJsaWNhdGlvbiIpCi0gICAgICAgICgiZWRpdG9yIiAiRWRpdG9yMSBbYW5kIEVk aXRvcjIgLi4uXSBbYW5kIG90aGVyc10iKQotICAgICAgICAoInZvbHVtZSIgIlZvbHVtZSBvZiB0 aGUgYm9vayBpbiB0aGUgc2VyaWVzIikKLSAgICAgICAgKCJudW1iZXIiICJOdW1iZXIgb2YgdGhl IGJvb2sgaW4gYSBzbWFsbCBzZXJpZXMgKG92ZXJ3cml0dGVuIGJ5IHZvbHVtZSkiKQotICAgICAg ICAoInNlcmllcyIgIlNlcmllcyBpbiB3aGljaCB0aGUgYm9vayBhcHBlYXJlZCIpCi0gICAgICAg ICgidHlwZSIgIldvcmQgdG8gdXNlIGluc3RlYWQgb2YgXCJjaGFwdGVyXCIiKQotICAgICAgICAo ImNoYXB0ZXIiICJDaGFwdGVyIGluIHRoZSBib29rIikKLSAgICAgICAgKCJhZGRyZXNzIiAiQWRk cmVzcyBvZiB0aGUgcHVibGlzaGVyIikKLSAgICAgICAgKCJlZGl0aW9uIiAiRWRpdGlvbiBvZiB0 aGUgYm9vayBhcyBhIGNhcGl0YWxpemVkIEVuZ2xpc2ggd29yZCIpCi0gICAgICAgICgibW9udGgi ICJNb250aCBvZiB0aGUgcHVibGljYXRpb24gYXMgYSBzdHJpbmcgKHJlbW92ZSBicmFjZXMpIikK LSAgICAgICAgKCJub3RlIiAiUmVtYXJrcyB0byBiZSBwdXQgYXQgdGhlIGVuZCBvZiB0aGUgXFxi aWJpdGVtIikpKSkKKyAgICAgICAoInRpdGxlIiAiVGl0bGUgb2YgdGhlIGFydGljbGUgaW4gYm9v ayAoQmliVGVYIGNvbnZlcnRzIGl0IHRvIGxvd2VyY2FzZSkiKQorICAgICAgICgiYm9va3RpdGxl IiAiTmFtZSBvZiB0aGUgYm9vayIpCisgICAgICAgKCJwdWJsaXNoZXIiICJQdWJsaXNoaW5nIGNv bXBhbnkiKQorICAgICAgICgieWVhciIgIlllYXIgb2YgcHVibGljYXRpb24iKSkKKyAgICAgICgo ImVkaXRvciIgIkVkaXRvcjEgW2FuZCBFZGl0b3IyIC4uLl0gW2FuZCBvdGhlcnNdIikKKyAgICAg ICAoInZvbHVtZSIgIlZvbHVtZSBvZiB0aGUgYm9vayBpbiB0aGUgc2VyaWVzIikKKyAgICAgICAo Im51bWJlciIgIk51bWJlciBvZiB0aGUgYm9vayBpbiBhIHNtYWxsIHNlcmllcyAob3ZlcndyaXR0 ZW4gYnkgdm9sdW1lKSIpCisgICAgICAgKCJzZXJpZXMiICJTZXJpZXMgaW4gd2hpY2ggdGhlIGJv b2sgYXBwZWFyZWQiKQorICAgICAgICgidHlwZSIgIldvcmQgdG8gdXNlIGluc3RlYWQgb2YgXCJj aGFwdGVyXCIiKQorICAgICAgICgiY2hhcHRlciIgIkNoYXB0ZXIgaW4gdGhlIGJvb2siKQorICAg ICAgICgicGFnZXMiICJQYWdlcyBpbiB0aGUgYm9vayIpCisgICAgICAgKCJhZGRyZXNzIiAiQWRk cmVzcyBvZiB0aGUgcHVibGlzaGVyIikKKyAgICAgICAoImVkaXRpb24iICJFZGl0aW9uIG9mIHRo ZSBib29rIGFzIGEgY2FwaXRhbGl6ZWQgRW5nbGlzaCB3b3JkIikKKyAgICAgICAoIm1vbnRoIiAi TW9udGggb2YgdGhlIHB1YmxpY2F0aW9uIGFzIGEgc3RyaW5nIChyZW1vdmUgYnJhY2VzKSIpCisg ICAgICAgKCJub3RlIiAiUmVtYXJrcyB0byBiZSBwdXQgYXQgdGhlIGVuZCBvZiB0aGUgXFxiaWJp dGVtIikpKQorICAgICAoKCgiYXV0aG9yIiAiQXV0aG9yMSBbYW5kIEF1dGhvcjIgLi4uXSBbYW5k IG90aGVyc10iKQorICAgICAgICgidGl0bGUiICJUaXRsZSBvZiB0aGUgYXJ0aWNsZSBpbiBib29r IChCaWJUZVggY29udmVydHMgaXQgdG8gbG93ZXJjYXNlKSIpCisgICAgICAgKCJib29rdGl0bGUi ICJOYW1lIG9mIHRoZSBib29rIikpCisgICAgICAoKCJwYWdlcyIgIlBhZ2VzIGluIHRoZSBib29r IikKKyAgICAgICAoInB1Ymxpc2hlciIgIlB1Ymxpc2hpbmcgY29tcGFueSIpCisgICAgICAgKCJ5 ZWFyIiAiWWVhciBvZiBwdWJsaWNhdGlvbiIpCisgICAgICAgKCJlZGl0b3IiICJFZGl0b3IxIFth bmQgRWRpdG9yMiAuLi5dIFthbmQgb3RoZXJzXSIpCisgICAgICAgKCJ2b2x1bWUiICJWb2x1bWUg b2YgdGhlIGJvb2sgaW4gdGhlIHNlcmllcyIpCisgICAgICAgKCJudW1iZXIiICJOdW1iZXIgb2Yg dGhlIGJvb2sgaW4gYSBzbWFsbCBzZXJpZXMgKG92ZXJ3cml0dGVuIGJ5IHZvbHVtZSkiKQorICAg ICAgICgic2VyaWVzIiAiU2VyaWVzIGluIHdoaWNoIHRoZSBib29rIGFwcGVhcmVkIikKKyAgICAg ICAoInR5cGUiICJXb3JkIHRvIHVzZSBpbnN0ZWFkIG9mIFwiY2hhcHRlclwiIikKKyAgICAgICAo ImNoYXB0ZXIiICJDaGFwdGVyIGluIHRoZSBib29rIikKKyAgICAgICAoImFkZHJlc3MiICJBZGRy ZXNzIG9mIHRoZSBwdWJsaXNoZXIiKQorICAgICAgICgiZWRpdGlvbiIgIkVkaXRpb24gb2YgdGhl IGJvb2sgYXMgYSBjYXBpdGFsaXplZCBFbmdsaXNoIHdvcmQiKQorICAgICAgICgibW9udGgiICJN b250aCBvZiB0aGUgcHVibGljYXRpb24gYXMgYSBzdHJpbmcgKHJlbW92ZSBicmFjZXMpIikKKyAg ICAgICAoIm5vdGUiICJSZW1hcmtzIHRvIGJlIHB1dCBhdCB0aGUgZW5kIG9mIHRoZSBcXGJpYml0 ZW0iKSkpKQogICAgICgiSW5Qcm9jZWVkaW5ncyIKICAgICAgKCgoImF1dGhvciIgIkF1dGhvcjEg W2FuZCBBdXRob3IyIC4uLl0gW2FuZCBvdGhlcnNdIikKLSAgICAgICAgKCJ0aXRsZSIgIlRpdGxl IG9mIHRoZSBhcnRpY2xlIGluIHByb2NlZWRpbmdzIChCaWJUZVggY29udmVydHMgaXQgdG8gbG93 ZXJjYXNlKSIpCi0gICAgICAgICgiYm9va3RpdGxlIiAiTmFtZSBvZiB0aGUgY29uZmVyZW5jZSBw cm9jZWVkaW5ncyIpCi0gICAgICAgICgieWVhciIgIlllYXIgb2YgcHVibGljYXRpb24iKSkKLSAg ICAgICAoKCJlZGl0b3IiICJFZGl0b3IxIFthbmQgRWRpdG9yMiAuLi5dIFthbmQgb3RoZXJzXSIp Ci0gICAgICAgICgidm9sdW1lIiAiVm9sdW1lIG9mIHRoZSBjb25mZXJlbmNlIHByb2NlZWRpbmdz IGluIHRoZSBzZXJpZXMiKQotICAgICAgICAoIm51bWJlciIgIk51bWJlciBvZiB0aGUgY29uZmVy ZW5jZSBwcm9jZWVkaW5ncyBpbiBhIHNtYWxsIHNlcmllcyAob3ZlcndyaXR0ZW4gYnkgdm9sdW1l KSIpCi0gICAgICAgICgic2VyaWVzIiAiU2VyaWVzIGluIHdoaWNoIHRoZSBjb25mZXJlbmNlIHBy b2NlZWRpbmdzIGFwcGVhcmVkIikKLSAgICAgICAgKCJwYWdlcyIgIlBhZ2VzIGluIHRoZSBjb25m ZXJlbmNlIHByb2NlZWRpbmdzIikKLSAgICAgICAgKCJhZGRyZXNzIiAiTG9jYXRpb24gb2YgdGhl IFByb2NlZWRpbmdzIikKLSAgICAgICAgKCJtb250aCIgIk1vbnRoIG9mIHRoZSBwdWJsaWNhdGlv biBhcyBhIHN0cmluZyAocmVtb3ZlIGJyYWNlcykiKQotICAgICAgICAoIm9yZ2FuaXphdGlvbiIg IlNwb25zb3Jpbmcgb3JnYW5pemF0aW9uIG9mIHRoZSBjb25mZXJlbmNlIikKLSAgICAgICAgKCJw dWJsaXNoZXIiICJQdWJsaXNoaW5nIGNvbXBhbnksIGl0cyBsb2NhdGlvbiIpCi0gICAgICAgICgi bm90ZSIgIlJlbWFya3MgdG8gYmUgcHV0IGF0IHRoZSBlbmQgb2YgdGhlIFxcYmliaXRlbSIpKSkK LSAgICAgICgoKCJhdXRob3IiICJBdXRob3IxIFthbmQgQXV0aG9yMiAuLi5dIFthbmQgb3RoZXJz XSIpCi0gICAgICAgICgidGl0bGUiICJUaXRsZSBvZiB0aGUgYXJ0aWNsZSBpbiBwcm9jZWVkaW5n cyAoQmliVGVYIGNvbnZlcnRzIGl0IHRvIGxvd2VyY2FzZSkiKSkKLSAgICAgICAoKCJib29rdGl0 bGUiICJOYW1lIG9mIHRoZSBjb25mZXJlbmNlIHByb2NlZWRpbmdzIikKLSAgICAgICAgKCJwYWdl cyIgIlBhZ2VzIGluIHRoZSBjb25mZXJlbmNlIHByb2NlZWRpbmdzIikKLSAgICAgICAgKCJ5ZWFy IiAiWWVhciBvZiBwdWJsaWNhdGlvbiIpCi0gICAgICAgICgiZWRpdG9yIiAiRWRpdG9yMSBbYW5k IEVkaXRvcjIgLi4uXSBbYW5kIG90aGVyc10iKQotICAgICAgICAoInZvbHVtZSIgIlZvbHVtZSBv ZiB0aGUgY29uZmVyZW5jZSBwcm9jZWVkaW5ncyBpbiB0aGUgc2VyaWVzIikKLSAgICAgICAgKCJu dW1iZXIiICJOdW1iZXIgb2YgdGhlIGNvbmZlcmVuY2UgcHJvY2VlZGluZ3MgaW4gYSBzbWFsbCBz ZXJpZXMgKG92ZXJ3cml0dGVuIGJ5IHZvbHVtZSkiKQotICAgICAgICAoInNlcmllcyIgIlNlcmll cyBpbiB3aGljaCB0aGUgY29uZmVyZW5jZSBwcm9jZWVkaW5ncyBhcHBlYXJlZCIpCi0gICAgICAg ICgiYWRkcmVzcyIgIkxvY2F0aW9uIG9mIHRoZSBQcm9jZWVkaW5ncyIpCi0gICAgICAgICgibW9u dGgiICJNb250aCBvZiB0aGUgcHVibGljYXRpb24gYXMgYSBzdHJpbmcgKHJlbW92ZSBicmFjZXMp IikKLSAgICAgICAgKCJvcmdhbml6YXRpb24iICJTcG9uc29yaW5nIG9yZ2FuaXphdGlvbiBvZiB0 aGUgY29uZmVyZW5jZSIpCi0gICAgICAgICgicHVibGlzaGVyIiAiUHVibGlzaGluZyBjb21wYW55 LCBpdHMgbG9jYXRpb24iKQotICAgICAgICAoIm5vdGUiICJSZW1hcmtzIHRvIGJlIHB1dCBhdCB0 aGUgZW5kIG9mIHRoZSBcXGJpYml0ZW0iKSkpKQorICAgICAgICgidGl0bGUiICJUaXRsZSBvZiB0 aGUgYXJ0aWNsZSBpbiBwcm9jZWVkaW5ncyAoQmliVGVYIGNvbnZlcnRzIGl0IHRvIGxvd2VyY2Fz ZSkiKQorICAgICAgICgiYm9va3RpdGxlIiAiTmFtZSBvZiB0aGUgY29uZmVyZW5jZSBwcm9jZWVk aW5ncyIpCisgICAgICAgKCJ5ZWFyIiAiWWVhciBvZiBwdWJsaWNhdGlvbiIpKQorICAgICAgKCgi ZWRpdG9yIiAiRWRpdG9yMSBbYW5kIEVkaXRvcjIgLi4uXSBbYW5kIG90aGVyc10iKQorICAgICAg ICgidm9sdW1lIiAiVm9sdW1lIG9mIHRoZSBjb25mZXJlbmNlIHByb2NlZWRpbmdzIGluIHRoZSBz ZXJpZXMiKQorICAgICAgICgibnVtYmVyIiAiTnVtYmVyIG9mIHRoZSBjb25mZXJlbmNlIHByb2Nl ZWRpbmdzIGluIGEgc21hbGwgc2VyaWVzIChvdmVyd3JpdHRlbiBieSB2b2x1bWUpIikKKyAgICAg ICAoInNlcmllcyIgIlNlcmllcyBpbiB3aGljaCB0aGUgY29uZmVyZW5jZSBwcm9jZWVkaW5ncyBh cHBlYXJlZCIpCisgICAgICAgKCJwYWdlcyIgIlBhZ2VzIGluIHRoZSBjb25mZXJlbmNlIHByb2Nl ZWRpbmdzIikKKyAgICAgICAoImFkZHJlc3MiICJMb2NhdGlvbiBvZiB0aGUgUHJvY2VlZGluZ3Mi KQorICAgICAgICgibW9udGgiICJNb250aCBvZiB0aGUgcHVibGljYXRpb24gYXMgYSBzdHJpbmcg KHJlbW92ZSBicmFjZXMpIikKKyAgICAgICAoIm9yZ2FuaXphdGlvbiIgIlNwb25zb3Jpbmcgb3Jn YW5pemF0aW9uIG9mIHRoZSBjb25mZXJlbmNlIikKKyAgICAgICAoInB1Ymxpc2hlciIgIlB1Ymxp c2hpbmcgY29tcGFueSwgaXRzIGxvY2F0aW9uIikKKyAgICAgICAoIm5vdGUiICJSZW1hcmtzIHRv IGJlIHB1dCBhdCB0aGUgZW5kIG9mIHRoZSBcXGJpYml0ZW0iKSkpCisgICAgICgoKCJhdXRob3Ii ICJBdXRob3IxIFthbmQgQXV0aG9yMiAuLi5dIFthbmQgb3RoZXJzXSIpCisgICAgICAgKCJ0aXRs ZSIgIlRpdGxlIG9mIHRoZSBhcnRpY2xlIGluIHByb2NlZWRpbmdzIChCaWJUZVggY29udmVydHMg aXQgdG8gbG93ZXJjYXNlKSIpKQorICAgICAgKCgiYm9va3RpdGxlIiAiTmFtZSBvZiB0aGUgY29u ZmVyZW5jZSBwcm9jZWVkaW5ncyIpCisgICAgICAgKCJwYWdlcyIgIlBhZ2VzIGluIHRoZSBjb25m ZXJlbmNlIHByb2NlZWRpbmdzIikKKyAgICAgICAoInllYXIiICJZZWFyIG9mIHB1YmxpY2F0aW9u IikKKyAgICAgICAoImVkaXRvciIgIkVkaXRvcjEgW2FuZCBFZGl0b3IyIC4uLl0gW2FuZCBvdGhl cnNdIikKKyAgICAgICAoInZvbHVtZSIgIlZvbHVtZSBvZiB0aGUgY29uZmVyZW5jZSBwcm9jZWVk aW5ncyBpbiB0aGUgc2VyaWVzIikKKyAgICAgICAoIm51bWJlciIgIk51bWJlciBvZiB0aGUgY29u ZmVyZW5jZSBwcm9jZWVkaW5ncyBpbiBhIHNtYWxsIHNlcmllcyAob3ZlcndyaXR0ZW4gYnkgdm9s dW1lKSIpCisgICAgICAgKCJzZXJpZXMiICJTZXJpZXMgaW4gd2hpY2ggdGhlIGNvbmZlcmVuY2Ug cHJvY2VlZGluZ3MgYXBwZWFyZWQiKQorICAgICAgICgiYWRkcmVzcyIgIkxvY2F0aW9uIG9mIHRo ZSBQcm9jZWVkaW5ncyIpCisgICAgICAgKCJtb250aCIgIk1vbnRoIG9mIHRoZSBwdWJsaWNhdGlv biBhcyBhIHN0cmluZyAocmVtb3ZlIGJyYWNlcykiKQorICAgICAgICgib3JnYW5pemF0aW9uIiAi U3BvbnNvcmluZyBvcmdhbml6YXRpb24gb2YgdGhlIGNvbmZlcmVuY2UiKQorICAgICAgICgicHVi bGlzaGVyIiAiUHVibGlzaGluZyBjb21wYW55LCBpdHMgbG9jYXRpb24iKQorICAgICAgICgibm90 ZSIgIlJlbWFya3MgdG8gYmUgcHV0IGF0IHRoZSBlbmQgb2YgdGhlIFxcYmliaXRlbSIpKSkpCiAg ICAgKCJNYW51YWwiCiAgICAgICgoKCJ0aXRsZSIgIlRpdGxlIG9mIHRoZSBtYW51YWwiKSkKLSAg ICAgICAoKCJhdXRob3IiICJBdXRob3IxIFthbmQgQXV0aG9yMiAuLi5dIFthbmQgb3RoZXJzXSIp Ci0gICAgICAgICgib3JnYW5pemF0aW9uIiAiUHVibGlzaGluZyBvcmdhbml6YXRpb24gb2YgdGhl IG1hbnVhbCIpCi0gICAgICAgICgiYWRkcmVzcyIgIkFkZHJlc3Mgb2YgdGhlIG9yZ2FuaXphdGlv biIpCi0gICAgICAgICgiZWRpdGlvbiIgIkVkaXRpb24gb2YgdGhlIG1hbnVhbCBhcyBhIGNhcGl0 YWxpemVkIEVuZ2xpc2ggd29yZCIpCi0gICAgICAgICgibW9udGgiICJNb250aCBvZiB0aGUgcHVi bGljYXRpb24gYXMgYSBzdHJpbmcgKHJlbW92ZSBicmFjZXMpIikKLSAgICAgICAgKCJ5ZWFyIiAi WWVhciBvZiBwdWJsaWNhdGlvbiIpCi0gICAgICAgICgibm90ZSIgIlJlbWFya3MgdG8gYmUgcHV0 IGF0IHRoZSBlbmQgb2YgdGhlIFxcYmliaXRlbSIpKSkpCisgICAgICAoKCJhdXRob3IiICJBdXRo b3IxIFthbmQgQXV0aG9yMiAuLi5dIFthbmQgb3RoZXJzXSIpCisgICAgICAgKCJvcmdhbml6YXRp b24iICJQdWJsaXNoaW5nIG9yZ2FuaXphdGlvbiBvZiB0aGUgbWFudWFsIikKKyAgICAgICAoImFk ZHJlc3MiICJBZGRyZXNzIG9mIHRoZSBvcmdhbml6YXRpb24iKQorICAgICAgICgiZWRpdGlvbiIg IkVkaXRpb24gb2YgdGhlIG1hbnVhbCBhcyBhIGNhcGl0YWxpemVkIEVuZ2xpc2ggd29yZCIpCisg ICAgICAgKCJtb250aCIgIk1vbnRoIG9mIHRoZSBwdWJsaWNhdGlvbiBhcyBhIHN0cmluZyAocmVt b3ZlIGJyYWNlcykiKQorICAgICAgICgieWVhciIgIlllYXIgb2YgcHVibGljYXRpb24iKQorICAg ICAgICgibm90ZSIgIlJlbWFya3MgdG8gYmUgcHV0IGF0IHRoZSBlbmQgb2YgdGhlIFxcYmliaXRl bSIpKSkpCiAgICAgKCJNYXN0ZXJzVGhlc2lzIgogICAgICAoKCgiYXV0aG9yIiAiQXV0aG9yMSBb YW5kIEF1dGhvcjIgLi4uXSBbYW5kIG90aGVyc10iKQotICAgICAgICAoInRpdGxlIiAiVGl0bGUg b2YgdGhlIG1hc3RlclwncyB0aGVzaXMgKEJpYlRlWCBjb252ZXJ0cyBpdCB0byBsb3dlcmNhc2Up IikKLSAgICAgICAgKCJzY2hvb2wiICJTY2hvb2wgd2hlcmUgdGhlIG1hc3RlclwncyB0aGVzaXMg d2FzIHdyaXR0ZW4iKQotICAgICAgICAoInllYXIiICJZZWFyIG9mIHB1YmxpY2F0aW9uIikpCi0g ICAgICAgKCgidHlwZSIgIlR5cGUgb2YgdGhlIG1hc3RlclwncyB0aGVzaXMgKGlmIG90aGVyIHRo YW4gXCJNYXN0ZXJcJ3MgdGhlc2lzXCIpIikKLSAgICAgICAgKCJhZGRyZXNzIiAiQWRkcmVzcyBv ZiB0aGUgc2Nob29sIChpZiBub3QgcGFydCBvZiBmaWVsZCBcInNjaG9vbFwiKSBvciBjb3VudHJ5 IikKLSAgICAgICAgKCJtb250aCIgIk1vbnRoIG9mIHRoZSBwdWJsaWNhdGlvbiBhcyBhIHN0cmlu ZyAocmVtb3ZlIGJyYWNlcykiKQotICAgICAgICAoIm5vdGUiICJSZW1hcmtzIHRvIGJlIHB1dCBh dCB0aGUgZW5kIG9mIHRoZSBcXGJpYml0ZW0iKSkpKQorICAgICAgICgidGl0bGUiICJUaXRsZSBv ZiB0aGUgbWFzdGVyXCdzIHRoZXNpcyAoQmliVGVYIGNvbnZlcnRzIGl0IHRvIGxvd2VyY2FzZSki KQorICAgICAgICgic2Nob29sIiAiU2Nob29sIHdoZXJlIHRoZSBtYXN0ZXJcJ3MgdGhlc2lzIHdh cyB3cml0dGVuIikKKyAgICAgICAoInllYXIiICJZZWFyIG9mIHB1YmxpY2F0aW9uIikpCisgICAg ICAoKCJ0eXBlIiAiVHlwZSBvZiB0aGUgbWFzdGVyXCdzIHRoZXNpcyAoaWYgb3RoZXIgdGhhbiBc Ik1hc3RlclwncyB0aGVzaXNcIikiKQorICAgICAgICgiYWRkcmVzcyIgIkFkZHJlc3Mgb2YgdGhl IHNjaG9vbCAoaWYgbm90IHBhcnQgb2YgZmllbGQgXCJzY2hvb2xcIikgb3IgY291bnRyeSIpCisg ICAgICAgKCJtb250aCIgIk1vbnRoIG9mIHRoZSBwdWJsaWNhdGlvbiBhcyBhIHN0cmluZyAocmVt b3ZlIGJyYWNlcykiKQorICAgICAgICgibm90ZSIgIlJlbWFya3MgdG8gYmUgcHV0IGF0IHRoZSBl bmQgb2YgdGhlIFxcYmliaXRlbSIpKSkpCiAgICAgKCJNaXNjIgogICAgICAoKCkKLSAgICAgICAo KCJhdXRob3IiICJBdXRob3IxIFthbmQgQXV0aG9yMiAuLi5dIFthbmQgb3RoZXJzXSIpCi0gICAg ICAgICgidGl0bGUiICJUaXRsZSBvZiB0aGUgd29yayAoQmliVGVYIGNvbnZlcnRzIGl0IHRvIGxv d2VyY2FzZSkiKQotICAgICAgICAoImhvd3B1Ymxpc2hlZCIgIlRoZSB3YXkgaW4gd2hpY2ggdGhl IHdvcmsgd2FzIHB1Ymxpc2hlZCIpCi0gICAgICAgICgibW9udGgiICJNb250aCBvZiB0aGUgcHVi bGljYXRpb24gYXMgYSBzdHJpbmcgKHJlbW92ZSBicmFjZXMpIikKLSAgICAgICAgKCJ5ZWFyIiAi WWVhciBvZiBwdWJsaWNhdGlvbiIpCi0gICAgICAgICgibm90ZSIgIlJlbWFya3MgdG8gYmUgcHV0 IGF0IHRoZSBlbmQgb2YgdGhlIFxcYmliaXRlbSIpKSkpCisgICAgICAoKCJhdXRob3IiICJBdXRo b3IxIFthbmQgQXV0aG9yMiAuLi5dIFthbmQgb3RoZXJzXSIpCisgICAgICAgKCJ0aXRsZSIgIlRp dGxlIG9mIHRoZSB3b3JrIChCaWJUZVggY29udmVydHMgaXQgdG8gbG93ZXJjYXNlKSIpCisgICAg ICAgKCJob3dwdWJsaXNoZWQiICJUaGUgd2F5IGluIHdoaWNoIHRoZSB3b3JrIHdhcyBwdWJsaXNo ZWQiKQorICAgICAgICgibW9udGgiICJNb250aCBvZiB0aGUgcHVibGljYXRpb24gYXMgYSBzdHJp bmcgKHJlbW92ZSBicmFjZXMpIikKKyAgICAgICAoInllYXIiICJZZWFyIG9mIHB1YmxpY2F0aW9u IikKKyAgICAgICAoIm5vdGUiICJSZW1hcmtzIHRvIGJlIHB1dCBhdCB0aGUgZW5kIG9mIHRoZSBc XGJpYml0ZW0iKSkpKQogICAgICgiUGhkVGhlc2lzIgogICAgICAoKCgiYXV0aG9yIiAiQXV0aG9y MSBbYW5kIEF1dGhvcjIgLi4uXSBbYW5kIG90aGVyc10iKQotICAgICAgICAoInRpdGxlIiAiVGl0 bGUgb2YgdGhlIFBoRC4gdGhlc2lzIikKLSAgICAgICAgKCJzY2hvb2wiICJTY2hvb2wgd2hlcmUg dGhlIFBoRC4gdGhlc2lzIHdhcyB3cml0dGVuIikKLSAgICAgICAgKCJ5ZWFyIiAiWWVhciBvZiBw dWJsaWNhdGlvbiIpKQotICAgICAgICgoInR5cGUiICJUeXBlIG9mIHRoZSBQaEQuIHRoZXNpcyIp Ci0gICAgICAgICgiYWRkcmVzcyIgIkFkZHJlc3Mgb2YgdGhlIHNjaG9vbCAoaWYgbm90IHBhcnQg b2YgZmllbGQgXCJzY2hvb2xcIikgb3IgY291bnRyeSIpCi0gICAgICAgICgibW9udGgiICJNb250 aCBvZiB0aGUgcHVibGljYXRpb24gYXMgYSBzdHJpbmcgKHJlbW92ZSBicmFjZXMpIikKLSAgICAg ICAgKCJub3RlIiAiUmVtYXJrcyB0byBiZSBwdXQgYXQgdGhlIGVuZCBvZiB0aGUgXFxiaWJpdGVt IikpKSkKKyAgICAgICAoInRpdGxlIiAiVGl0bGUgb2YgdGhlIFBoRC4gdGhlc2lzIikKKyAgICAg ICAoInNjaG9vbCIgIlNjaG9vbCB3aGVyZSB0aGUgUGhELiB0aGVzaXMgd2FzIHdyaXR0ZW4iKQor ICAgICAgICgieWVhciIgIlllYXIgb2YgcHVibGljYXRpb24iKSkKKyAgICAgICgoInR5cGUiICJU eXBlIG9mIHRoZSBQaEQuIHRoZXNpcyIpCisgICAgICAgKCJhZGRyZXNzIiAiQWRkcmVzcyBvZiB0 aGUgc2Nob29sIChpZiBub3QgcGFydCBvZiBmaWVsZCBcInNjaG9vbFwiKSBvciBjb3VudHJ5IikK KyAgICAgICAoIm1vbnRoIiAiTW9udGggb2YgdGhlIHB1YmxpY2F0aW9uIGFzIGEgc3RyaW5nIChy ZW1vdmUgYnJhY2VzKSIpCisgICAgICAgKCJub3RlIiAiUmVtYXJrcyB0byBiZSBwdXQgYXQgdGhl IGVuZCBvZiB0aGUgXFxiaWJpdGVtIikpKSkKICAgICAoIlByb2NlZWRpbmdzIgogICAgICAoKCgi dGl0bGUiICJUaXRsZSBvZiB0aGUgY29uZmVyZW5jZSBwcm9jZWVkaW5ncyIpCi0gICAgICAgICgi eWVhciIgIlllYXIgb2YgcHVibGljYXRpb24iKSkKLSAgICAgICAoKCJib29rdGl0bGUiICJUaXRs ZSBvZiB0aGUgcHJvY2VlZGluZ3MgZm9yIGNyb3NzIHJlZmVyZW5jZXMiKQotICAgICAgICAoImVk aXRvciIgIkVkaXRvcjEgW2FuZCBFZGl0b3IyIC4uLl0gW2FuZCBvdGhlcnNdIikKLSAgICAgICAg KCJ2b2x1bWUiICJWb2x1bWUgb2YgdGhlIGNvbmZlcmVuY2UgcHJvY2VlZGluZ3MgaW4gdGhlIHNl cmllcyIpCi0gICAgICAgICgibnVtYmVyIiAiTnVtYmVyIG9mIHRoZSBjb25mZXJlbmNlIHByb2Nl ZWRpbmdzIGluIGEgc21hbGwgc2VyaWVzIChvdmVyd3JpdHRlbiBieSB2b2x1bWUpIikKLSAgICAg ICAgKCJzZXJpZXMiICJTZXJpZXMgaW4gd2hpY2ggdGhlIGNvbmZlcmVuY2UgcHJvY2VlZGluZ3Mg YXBwZWFyZWQiKQotICAgICAgICAoImFkZHJlc3MiICJMb2NhdGlvbiBvZiB0aGUgUHJvY2VlZGlu Z3MiKQotICAgICAgICAoIm1vbnRoIiAiTW9udGggb2YgdGhlIHB1YmxpY2F0aW9uIGFzIGEgc3Ry aW5nIChyZW1vdmUgYnJhY2VzKSIpCi0gICAgICAgICgib3JnYW5pemF0aW9uIiAiU3BvbnNvcmlu ZyBvcmdhbml6YXRpb24gb2YgdGhlIGNvbmZlcmVuY2UiKQotICAgICAgICAoInB1Ymxpc2hlciIg IlB1Ymxpc2hpbmcgY29tcGFueSwgaXRzIGxvY2F0aW9uIikKLSAgICAgICAgKCJub3RlIiAiUmVt YXJrcyB0byBiZSBwdXQgYXQgdGhlIGVuZCBvZiB0aGUgXFxiaWJpdGVtIikpKSkKKyAgICAgICAo InllYXIiICJZZWFyIG9mIHB1YmxpY2F0aW9uIikpCisgICAgICAoKCJib29rdGl0bGUiICJUaXRs ZSBvZiB0aGUgcHJvY2VlZGluZ3MgZm9yIGNyb3NzIHJlZmVyZW5jZXMiKQorICAgICAgICgiZWRp dG9yIiAiRWRpdG9yMSBbYW5kIEVkaXRvcjIgLi4uXSBbYW5kIG90aGVyc10iKQorICAgICAgICgi dm9sdW1lIiAiVm9sdW1lIG9mIHRoZSBjb25mZXJlbmNlIHByb2NlZWRpbmdzIGluIHRoZSBzZXJp ZXMiKQorICAgICAgICgibnVtYmVyIiAiTnVtYmVyIG9mIHRoZSBjb25mZXJlbmNlIHByb2NlZWRp bmdzIGluIGEgc21hbGwgc2VyaWVzIChvdmVyd3JpdHRlbiBieSB2b2x1bWUpIikKKyAgICAgICAo InNlcmllcyIgIlNlcmllcyBpbiB3aGljaCB0aGUgY29uZmVyZW5jZSBwcm9jZWVkaW5ncyBhcHBl YXJlZCIpCisgICAgICAgKCJhZGRyZXNzIiAiTG9jYXRpb24gb2YgdGhlIFByb2NlZWRpbmdzIikK KyAgICAgICAoIm1vbnRoIiAiTW9udGggb2YgdGhlIHB1YmxpY2F0aW9uIGFzIGEgc3RyaW5nIChy ZW1vdmUgYnJhY2VzKSIpCisgICAgICAgKCJvcmdhbml6YXRpb24iICJTcG9uc29yaW5nIG9yZ2Fu aXphdGlvbiBvZiB0aGUgY29uZmVyZW5jZSIpCisgICAgICAgKCJwdWJsaXNoZXIiICJQdWJsaXNo aW5nIGNvbXBhbnksIGl0cyBsb2NhdGlvbiIpCisgICAgICAgKCJub3RlIiAiUmVtYXJrcyB0byBi ZSBwdXQgYXQgdGhlIGVuZCBvZiB0aGUgXFxiaWJpdGVtIikpKSkKICAgICAoIlRlY2hSZXBvcnQi CiAgICAgICgoKCJhdXRob3IiICJBdXRob3IxIFthbmQgQXV0aG9yMiAuLi5dIFthbmQgb3RoZXJz XSIpCi0gICAgICAgICgidGl0bGUiICJUaXRsZSBvZiB0aGUgdGVjaG5pY2FsIHJlcG9ydCAoQmli VGVYIGNvbnZlcnRzIGl0IHRvIGxvd2VyY2FzZSkiKQotICAgICAgICAoImluc3RpdHV0aW9uIiAi U3BvbnNvcmluZyBpbnN0aXR1dGlvbiBvZiB0aGUgcmVwb3J0IikKLSAgICAgICAgKCJ5ZWFyIiAi WWVhciBvZiBwdWJsaWNhdGlvbiIpKQotICAgICAgICgoInR5cGUiICJUeXBlIG9mIHRoZSByZXBv cnQgKGlmIG90aGVyIHRoYW4gXCJ0ZWNobmljYWwgcmVwb3J0XCIpIikKLSAgICAgICAgKCJudW1i ZXIiICJOdW1iZXIgb2YgdGhlIHRlY2huaWNhbCByZXBvcnQiKQotICAgICAgICAoImFkZHJlc3Mi ICJBZGRyZXNzIG9mIHRoZSBpbnN0aXR1dGlvbiAoaWYgbm90IHBhcnQgb2YgZmllbGQgXCJpbnN0 aXR1dGlvblwiKSBvciBjb3VudHJ5IikKLSAgICAgICAgKCJtb250aCIgIk1vbnRoIG9mIHRoZSBw dWJsaWNhdGlvbiBhcyBhIHN0cmluZyAocmVtb3ZlIGJyYWNlcykiKQotICAgICAgICAoIm5vdGUi ICJSZW1hcmtzIHRvIGJlIHB1dCBhdCB0aGUgZW5kIG9mIHRoZSBcXGJpYml0ZW0iKSkpKQorICAg ICAgICgidGl0bGUiICJUaXRsZSBvZiB0aGUgdGVjaG5pY2FsIHJlcG9ydCAoQmliVGVYIGNvbnZl cnRzIGl0IHRvIGxvd2VyY2FzZSkiKQorICAgICAgICgiaW5zdGl0dXRpb24iICJTcG9uc29yaW5n IGluc3RpdHV0aW9uIG9mIHRoZSByZXBvcnQiKQorICAgICAgICgieWVhciIgIlllYXIgb2YgcHVi bGljYXRpb24iKSkKKyAgICAgICgoInR5cGUiICJUeXBlIG9mIHRoZSByZXBvcnQgKGlmIG90aGVy IHRoYW4gXCJ0ZWNobmljYWwgcmVwb3J0XCIpIikKKyAgICAgICAoIm51bWJlciIgIk51bWJlciBv ZiB0aGUgdGVjaG5pY2FsIHJlcG9ydCIpCisgICAgICAgKCJhZGRyZXNzIiAiQWRkcmVzcyBvZiB0 aGUgaW5zdGl0dXRpb24gKGlmIG5vdCBwYXJ0IG9mIGZpZWxkIFwiaW5zdGl0dXRpb25cIikgb3Ig Y291bnRyeSIpCisgICAgICAgKCJtb250aCIgIk1vbnRoIG9mIHRoZSBwdWJsaWNhdGlvbiBhcyBh IHN0cmluZyAocmVtb3ZlIGJyYWNlcykiKQorICAgICAgICgibm90ZSIgIlJlbWFya3MgdG8gYmUg cHV0IGF0IHRoZSBlbmQgb2YgdGhlIFxcYmliaXRlbSIpKSkpCiAgICAgKCJVbnB1Ymxpc2hlZCIK ICAgICAgKCgoImF1dGhvciIgIkF1dGhvcjEgW2FuZCBBdXRob3IyIC4uLl0gW2FuZCBvdGhlcnNd IikKLSAgICAgICAgKCJ0aXRsZSIgIlRpdGxlIG9mIHRoZSB1bnB1Ymxpc2hlZCB3b3JrIChCaWJU ZVggY29udmVydHMgaXQgdG8gbG93ZXJjYXNlKSIpCi0gICAgICAgICgibm90ZSIgIlJlbWFya3Mg dG8gYmUgcHV0IGF0IHRoZSBlbmQgb2YgdGhlIFxcYmliaXRlbSIpKQotICAgICAgICgoIm1vbnRo IiAiTW9udGggb2YgdGhlIHB1YmxpY2F0aW9uIGFzIGEgc3RyaW5nIChyZW1vdmUgYnJhY2VzKSIp Ci0gICAgICAgICgieWVhciIgIlllYXIgb2YgcHVibGljYXRpb24iKSkpKQorICAgICAgICgidGl0 bGUiICJUaXRsZSBvZiB0aGUgdW5wdWJsaXNoZWQgd29yayAoQmliVGVYIGNvbnZlcnRzIGl0IHRv IGxvd2VyY2FzZSkiKQorICAgICAgICgibm90ZSIgIlJlbWFya3MgdG8gYmUgcHV0IGF0IHRoZSBl bmQgb2YgdGhlIFxcYmliaXRlbSIpKQorICAgICAgKCgibW9udGgiICJNb250aCBvZiB0aGUgcHVi bGljYXRpb24gYXMgYSBzdHJpbmcgKHJlbW92ZSBicmFjZXMpIikKKyAgICAgICAoInllYXIiICJZ ZWFyIG9mIHB1YmxpY2F0aW9uIikpKSkKICAgICApCiAKICAgIkRlZmluZXMgZW50cnkgdHlwZXMg YW5kIHRoZWlyIGFzc29jaWF0ZWQgZmllbGRzLgpAQCAtNDUyLDcgKzQ1OSw3IEBACiAgICAgKCJu b3YiIC4gIk5vdmVtYmVyIikKICAgICAoImRlYyIgLiAiRGVjZW1iZXIiKSkKICAgIkFsaXN0IG9m IG1vbnRoIHN0cmluZyBkZWZpbml0aW9ucyB1c2VkIGluIHRoZSBCaWJUZVggc3R5bGUgZmlsZXMu Ci1FYWNoIGVsZW1lbnQgaXMgYSBwYWlyIG9mIHN0cmluZ3MgKEFCQlJFVklBVElPTiBFWFBBTlNJ T04pLiIKK0VhY2ggZWxlbWVudCBpcyBhIHBhaXIgb2Ygc3RyaW5ncyAoQUJCUkVWSUFUSU9OIC4g RVhQQU5TSU9OKS4iCiAgIDpncm91cCAnYmlidGV4CiAgIDp0eXBlICcocmVwZWF0IChjb25zIChz dHJpbmcgOnRhZyAiTW9udGggYWJicmV2aWF0aW9uIikKICAgICAgICAgICAgICAgICAgICAgICAg KHN0cmluZyA6dGFnICJNb250aCBleHBhbnNpb24iKSkpKQpAQCAtNDgxLDcgKzQ4OCw3IEBACiAg ICAgICgidG9vaXMiICAgIC4gIkFDTSBUcmFuc2FjdGlvbnMgb24gT2ZmaWNlIEluZm9ybWF0aW9u IFN5c3RlbXMiKQogICAgICAoInRvcGxhcyIgICAuICJBQ00gVHJhbnNhY3Rpb25zIG9uIFByb2dy YW1taW5nIExhbmd1YWdlcyBhbmQgU3lzdGVtcyIpKSkKICAgIkFsaXN0IG9mIHN0cmluZyBkZWZp bml0aW9ucyB1c2VkIGluIHRoZSBCaWJUZVggc3R5bGUgZmlsZXMuCi1FYWNoIGVsZW1lbnQgaXMg YSBwYWlyIG9mIHN0cmluZ3MgKEFCQlJFVklBVElPTiBFWFBBTlNJT04pLiIKK0VhY2ggZWxlbWVu dCBpcyBhIHBhaXIgb2Ygc3RyaW5ncyAoQUJCUkVWSUFUSU9OIC4gRVhQQU5TSU9OKS4iCiAgIDpn cm91cCAnYmlidGV4CiAgIDp0eXBlICcocmVwZWF0IChjb25zIChzdHJpbmcgOnRhZyAiU3RyaW5n IikKICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZyA6dGFnICJTdHJpbmcgZXhwYW5zaW9u IikpKSkKQEAgLTQ4OSw5ICs0OTYsNyBAQAogKGRlZmN1c3RvbSBiaWJ0ZXgtc3RyaW5nLWZpbGVz IG5pbAogICAiKkxpc3Qgb2YgQmliVGVYIGZpbGVzIGNvbnRhaW5pbmcgc3RyaW5nIGRlZmluaXRp b25zLgogVGhvc2UgZmlsZXMgbXVzdCBiZSBzcGVjaWZpZWQgdXNpbmcgcGF0aG5hbWVzIHJlbGF0 aXZlIHRvIHRoZQotZGlyZWN0b3JpZXMgc3BlY2lmaWVkIGluIGBiaWJ0ZXgtc3RyaW5nLWZpbGUt cGF0aCcuICBUaGlzIHZhcmlhYmxlIGlzIG9ubHkKLWV2YWx1YXRlZCB3aGVuIEJpYlRlWCBtb2Rl IGlzIGVudGVyZWQgKGkuZS4sIHdoZW4gbG9hZGluZyB0aGUgQmliVGVYCi1maWxlKS4iCitkaXJl Y3RvcmllcyBzcGVjaWZpZWQgaW4gYGJpYnRleC1zdHJpbmctZmlsZS1wYXRoJy4iCiAgIDpncm91 cCAnYmlidGV4CiAgIDp0eXBlICcocmVwZWF0IGZpbGUpKQogCkBAIC00OTksMjEgKzUwNCwyMSBA QAogICAiKkNvbG9uIHNlcGFyYXRlZCBsaXN0IG9mIHBhdGhzIHRvIHNlYXJjaCBmb3IgYGJpYnRl eC1zdHJpbmctZmlsZXMnLiIpCiAKIChkZWZjdXN0b20gYmlidGV4LWhlbHAtbWVzc2FnZSB0Ci0g ICIqSWYgbm90IG5pbCBwcmludCBoZWxwIG1lc3NhZ2VzIGluIHRoZSBlY2hvIGFyZWEgb24gZW50 ZXJpbmcgYSBuZXcgZmllbGQuIgorICAiKklmIG5vbi1uaWwgcHJpbnQgaGVscCBtZXNzYWdlcyBp biB0aGUgZWNobyBhcmVhIG9uIGVudGVyaW5nIGEgbmV3IGZpZWxkLiIKICAgOmdyb3VwICdiaWJ0 ZXgKICAgOnR5cGUgJ2Jvb2xlYW4pCiAKIChkZWZjdXN0b20gYmlidGV4LWF1dG9rZXktcHJlZml4 LXN0cmluZyAiIgogICAiKlN0cmluZyB0byB1c2UgYXMgYSBwcmVmaXggZm9yIGFsbCBnZW5lcmF0 ZWQga2V5cy4KLVNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiBmdW5jdGlvbiBgYmlidGV4LWdlbmVy YXRlLWF1dG9rZXknIGZvciBtb3JlIGRldGFpbC4iCitTZWUgYGJpYnRleC1nZW5lcmF0ZS1hdXRv a2V5JyBmb3IgZGV0YWlscy4iCiAgIDpncm91cCAnYmlidGV4LWF1dG9rZXkKICAgOnR5cGUgJ3N0 cmluZykKIAogKGRlZmN1c3RvbSBiaWJ0ZXgtYXV0b2tleS1uYW1lcyAxCiAgICIqTnVtYmVyIG9m IG5hbWVzIHRvIHVzZSBmb3IgdGhlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIHJlZmVyZW5jZSBr ZXkuCi1JZiB0aGlzIHZhcmlhYmxlIGlzIG5pbCwgYWxsIG5hbWVzIGFyZSB1c2VkLgogUG9zc2li bHkgbW9yZSBuYW1lcyBhcmUgdXNlZCBhY2NvcmRpbmcgdG8gYGJpYnRleC1hdXRva2V5LW5hbWVz LXN0cmV0Y2gnLgotU2VlIHRoZSBkb2N1bWVudGF0aW9uIG9mIGZ1bmN0aW9uIGBiaWJ0ZXgtZ2Vu ZXJhdGUtYXV0b2tleScgZm9yIG1vcmUgZGV0YWlsLiIKK0lmIHRoaXMgdmFyaWFibGUgaXMgbmls LCBhbGwgbmFtZXMgYXJlIHVzZWQuCitTZWUgYGJpYnRleC1nZW5lcmF0ZS1hdXRva2V5JyBmb3Ig ZGV0YWlscy4iCiAgIDpncm91cCAnYmlidGV4LWF1dG9rZXkKICAgOnR5cGUgJyhjaG9pY2UgKGNv bnN0IDp0YWcgIkFsbCIgaW5mdHkpCiAgICAgICAgICAgICAgICAgIGludGVnZXIpKQpAQCAtNTIx LDEzICs1MjYsMTMgQEAKIChkZWZjdXN0b20gYmlidGV4LWF1dG9rZXktbmFtZXMtc3RyZXRjaCAw CiAgICIqTnVtYmVyIG9mIG5hbWVzIHRoYXQgY2FuIGFkZGl0aW9uYWxseSBiZSB1c2VkLgogVGhl c2UgbmFtZXMgYXJlIHVzZWQgb25seSwgaWYgYWxsIG5hbWVzIGFyZSB1c2VkIHRoZW4uCi1TZWUg dGhlIGRvY3VtZW50YXRpb24gb2YgZnVuY3Rpb24gYGJpYnRleC1nZW5lcmF0ZS1hdXRva2V5JyBm b3IgZGV0YWlscy4iCitTZWUgYGJpYnRleC1nZW5lcmF0ZS1hdXRva2V5JyBmb3IgZGV0YWlscy4i CiAgIDpncm91cCAnYmlidGV4LWF1dG9rZXkKICAgOnR5cGUgJ2ludGVnZXIpCiAKIChkZWZjdXN0 b20gYmlidGV4LWF1dG9rZXktYWRkaXRpb25hbC1uYW1lcyAiIgogICAiKlN0cmluZyB0byBwcmVw ZW5kIHRvIHRoZSBnZW5lcmF0ZWQga2V5IGlmIG5vdCBhbGwgbmFtZXMgY291bGQgYmUgdXNlZC4K LVNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiBmdW5jdGlvbiBgYmlidGV4LWdlbmVyYXRlLWF1dG9r ZXknIGZvciBkZXRhaWxzLiIKK1NlZSBgYmlidGV4LWdlbmVyYXRlLWF1dG9rZXknIGZvciBkZXRh aWxzLiIKICAgOmdyb3VwICdiaWJ0ZXgtYXV0b2tleQogICA6dHlwZSAnc3RyaW5nKQogCkBAIC01 NDgsMTIgKzU1MywxMSBAQAogICAgICgiXFxcIlVcXHxcXFxcXFxcIlUiIC4gIlVlIikgICAgICAg ICAgOyAiVSxcIlUgICAgICAgIC0+IFVlCiAgICAgOzsgYWNjZW50cwogICAgICgiXFxcXGBcXHxc XFxcJ1xcfFxcXFxcXF5cXHxcXFxcflxcfFxcXFw9XFx8XFxcXFxcLlxcfFxcXFx1XFx8XFxcXHZc XHxcXFxcSFxcfFxcXFx0XFx8XFxcXGNcXHxcXFxcZFxcfFxcXFxiIiAuICIiKQotICAgICgiYFxc fCdcXHxcXFwiIiAuICIiKQotICAgIDs7IGJyYWNlcwotICAgICgieyIgLiAiIikgKCJ9IiAuICIi KQorICAgIDs7IGJyYWNlcywgcXVvdGVzLCBjb25jYXRlbmF0aW9uLgorICAgICgiW2AnXCJ7fSNd IiAuICIiKQogICAgIDs7IHNwYWNlcwogICAgICgiWyBcdFxuXSsiIC4gIiAiKSkKLSAgIkFsaXN0 IG9mIChPTEQtUkVHRVhQIE5FVy1TVFJJTkcpIHBhaXJzLgorICAiQWxpc3Qgb2YgKE9MRC1SRUdF WFAgLiBORVctU1RSSU5HKSBwYWlycy4KIFVzZWQgYnkgdGhlIGRlZmF1bHQgdmFsdWVzIG9mIGBi aWJ0ZXgtYXV0b2tleS1uYW1lLWNoYW5nZS1zdHJpbmdzJyBhbmQKIGBiaWJ0ZXgtYXV0b2tleS10 aXRsZXdvcmQtY2hhbmdlLXN0cmluZ3MnLiAgRGVmYXVsdHMgdG8gdHJhbnNsYXRpbmcgc29tZQog bGFuZ3VhZ2Ugc3BlY2lmaWMgY2hhcmFjdGVycyB0byB0aGVpciBBU0NJSSB0cmFuc2NyaXB0aW9u cywgYW5kCkBAIC01NjEsMTggKzU2NSwxOCBAQAogCiAoZGVmY3VzdG9tIGJpYnRleC1hdXRva2V5 LW5hbWUtY2hhbmdlLXN0cmluZ3MKICAgYmlidGV4LWF1dG9rZXktdHJhbnNjcmlwdGlvbnMKLSAg IkFsaXN0IG9mIChPTEQtUkVHRVhQIE5FVy1TVFJJTkcpIHBhaXJzLgorICAiQWxpc3Qgb2YgKE9M RC1SRUdFWFAgLiBORVctU1RSSU5HKSBwYWlycy4KIEFueSBwYXJ0IG9mIG5hbWUgbWF0Y2hpbmcg YSBPTEQtUkVHRVhQIGlzIHJlcGxhY2VkIGJ5IE5FVy1TVFJJTkcuCiBDYXNlIGlzIHNpZ25pZmlj YW50IGluIE9MRC1SRUdFWFAuICBBbGwgcmVnZXhwcyBhcmUgdHJpZWQgaW4gdGhlCiBvcmRlciBp biB3aGljaCB0aGV5IGFwcGVhciBpbiB0aGUgbGlzdC4KLVNlZSB0aGUgZG9jdW1lbnRhdGlvbiBv ZiBmdW5jdGlvbiBgYmlidGV4LWdlbmVyYXRlLWF1dG9rZXknIGZvciBkZXRhaWxzLiIKK1NlZSBg YmlidGV4LWdlbmVyYXRlLWF1dG9rZXknIGZvciBkZXRhaWxzLiIKICAgOmdyb3VwICdiaWJ0ZXgt YXV0b2tleQogICA6dHlwZSAnKHJlcGVhdCAoY29ucyAocmVnZXhwIDp0YWcgIk9sZCIpCiAgICAg ICAgICAgICAgICAgICAgICAgIChzdHJpbmcgOnRhZyAiTmV3IikpKSkKIAogKGRlZmN1c3RvbSBi aWJ0ZXgtYXV0b2tleS1uYW1lLWNhc2UtY29udmVydCAnZG93bmNhc2UKICAgIipGdW5jdGlvbiBj YWxsZWQgZm9yIGVhY2ggbmFtZSB0byBwZXJmb3JtIGNhc2UgY29udmVyc2lvbi4KLVNlZSB0aGUg ZG9jdW1lbnRhdGlvbiBvZiBmdW5jdGlvbiBgYmlidGV4LWdlbmVyYXRlLWF1dG9rZXknIGZvciBk ZXRhaWxzLiIKK1NlZSBgYmlidGV4LWdlbmVyYXRlLWF1dG9rZXknIGZvciBkZXRhaWxzLiIKICAg Omdyb3VwICdiaWJ0ZXgtYXV0b2tleQogICA6dHlwZSAnKGNob2ljZSAoY29uc3QgOnRhZyAiUHJl c2VydmUgY2FzZSIgaWRlbnRpdHkpCiAgICAgICAgICAgICAgICAgIChjb25zdCA6dGFnICJEb3du Y2FzZSIgZG93bmNhc2UpCkBAIC01ODMsMjAgKzU4NywyMCBAQAogKGRlZmN1c3RvbSBiaWJ0ZXgt YXV0b2tleS1uYW1lLWxlbmd0aCAnaW5mdHkKICAgIipOdW1iZXIgb2YgY2hhcmFjdGVycyBmcm9t IG5hbWUgdG8gaW5jb3Jwb3JhdGUgaW50byBrZXkuCiBJZiB0aGlzIGlzIHNldCB0byBhbnl0aGlu ZyBidXQgYSBudW1iZXIsIGFsbCBjaGFyYWN0ZXJzIGFyZSB1c2VkLgotU2VlIHRoZSBkb2N1bWVu dGF0aW9uIG9mIGZ1bmN0aW9uIGBiaWJ0ZXgtZ2VuZXJhdGUtYXV0b2tleScgZm9yIGRldGFpbHMu IgorU2VlIGBiaWJ0ZXgtZ2VuZXJhdGUtYXV0b2tleScgZm9yIGRldGFpbHMuIgogICA6Z3JvdXAg J2JpYnRleC1hdXRva2V5CiAgIDp0eXBlICcoY2hvaWNlIChjb25zdCA6dGFnICJBbGwiIGluZnR5 KQogICAgICAgICAgICAgICAgICBpbnRlZ2VyKSkKIAogKGRlZmN1c3RvbSBiaWJ0ZXgtYXV0b2tl eS1uYW1lLXNlcGFyYXRvciAiIgogICAiKlN0cmluZyB0aGF0IGNvbWVzIGJldHdlZW4gYW55IHR3 byBuYW1lcyBpbiB0aGUga2V5LgotU2VlIHRoZSBkb2N1bWVudGF0aW9uIG9mIGZ1bmN0aW9uIGBi aWJ0ZXgtZ2VuZXJhdGUtYXV0b2tleScgZm9yIGRldGFpbHMuIgorU2VlIGBiaWJ0ZXgtZ2VuZXJh dGUtYXV0b2tleScgZm9yIGRldGFpbHMuIgogICA6Z3JvdXAgJ2JpYnRleC1hdXRva2V5CiAgIDp0 eXBlICdzdHJpbmcpCiAKIChkZWZjdXN0b20gYmlidGV4LWF1dG9rZXkteWVhci1sZW5ndGggMgog ICAiKk51bWJlciBvZiByaWdodG1vc3QgZGlnaXRzIGZyb20gdGhlIHllYXIgZmllbGQgdG8gaW5j b3Jwb3JhdGUgaW50byBrZXkuCi1TZWUgdGhlIGRvY3VtZW50YXRpb24gb2YgZnVuY3Rpb24gYGJp YnRleC1nZW5lcmF0ZS1hdXRva2V5JyBmb3IgZGV0YWlscy4iCitTZWUgYGJpYnRleC1nZW5lcmF0 ZS1hdXRva2V5JyBmb3IgZGV0YWlscy4iCiAgIDpncm91cCAnYmlidGV4LWF1dG9rZXkKICAgOnR5 cGUgJ2ludGVnZXIpCiAKQEAgLTYwNCw3ICs2MDgsNyBAQAogICAiKklmIG5vbi1uaWwgdXNlIGZp ZWxkcyBmcm9tIGNyb3NzcmVmZXJlbmNlZCBlbnRyeSBpZiBuZWNlc3NhcnkuCiBJZiB0aGlzIHZh cmlhYmxlIGlzIG5vbi1uaWwgYW5kIHNvbWUgZmllbGQgaGFzIG5vIGVudHJ5LCBidXQgYQogdmFs aWQgY3Jvc3NyZWYgZW50cnksIHRoZSBmaWVsZCBmcm9tIHRoZSBjcm9zc3JlZmVyZW5jZWQgZW50 cnkgaXMgdXNlZC4KLVNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiBmdW5jdGlvbiBgYmlidGV4LWdl bmVyYXRlLWF1dG9rZXknIGZvciBkZXRhaWxzLiIKK1NlZSBgYmlidGV4LWdlbmVyYXRlLWF1dG9r ZXknIGZvciBkZXRhaWxzLiIKICAgOmdyb3VwICdiaWJ0ZXgtYXV0b2tleQogICA6dHlwZSAnYm9v bGVhbikKIApAQCAtNjEzLDcgKzYxNyw3IEBACiBJZiB0aGlzIGlzIHNldCB0byBhbnl0aGluZyBi dXQgYSBudW1iZXIsIGFsbCB0aXRsZSB3b3JkcyBhcmUgdXNlZC4KIFBvc3NpYmx5IG1vcmUgd29y ZHMgZnJvbSB0aGUgdGl0bGUgYXJlIHVzZWQgYWNjb3JkaW5nIHRvCiBgYmlidGV4LWF1dG9rZXkt dGl0bGV3b3Jkcy1zdHJldGNoJy4KLVNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiBmdW5jdGlvbiBg YmlidGV4LWdlbmVyYXRlLWF1dG9rZXknIGZvciBkZXRhaWxzLiIKK1NlZSBgYmlidGV4LWdlbmVy YXRlLWF1dG9rZXknIGZvciBkZXRhaWxzLiIKICAgOmdyb3VwICdiaWJ0ZXgtYXV0b2tleQogICA6 dHlwZSAnKGNob2ljZSAoY29uc3QgOnRhZyAiQWxsIiBpbmZ0eSkKICAgICAgICAgICAgICAgICAg aW50ZWdlcikpCkBAIC02MjIsMTQgKzYyNiwxNCBAQAogICAnKCJcXC4iICIhIiAgIlxcPyIgIjoi ICI7IiAiLS0iKQogICAiKlJlZ2V4cCBsaXN0IGRlZmluaW5nIHRoZSB0ZXJtaW5hdGlvbiBvZiB0 aGUgbWFpbiBwYXJ0IG9mIHRoZSB0aXRsZS4KIENhc2Ugb2YgdGhlIHJlZ2V4cHMgaXMgaWdub3Jl ZC4KLVNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiBmdW5jdGlvbiBgYmlidGV4LWdlbmVyYXRlLWF1 dG9rZXknIGZvciBkZXRhaWxzLiIKK1NlZSBgYmlidGV4LWdlbmVyYXRlLWF1dG9rZXknIGZvciBk ZXRhaWxzLiIKICAgOmdyb3VwICdiaWJ0ZXgtYXV0b2tleQogICA6dHlwZSAnKHJlcGVhdCByZWdl eHApKQogCiAoZGVmY3VzdG9tIGJpYnRleC1hdXRva2V5LXRpdGxld29yZHMtc3RyZXRjaCAyCiAg ICIqTnVtYmVyIG9mIHdvcmRzIHRoYXQgY2FuIGFkZGl0aW9uYWxseSBiZSB1c2VkIGZyb20gdGhl IHRpdGxlLgogVGhlc2Ugd29yZHMgYXJlIHVzZWQgb25seSwgaWYgYSBzZW50ZW5jZSBmcm9tIHRo ZSB0aXRsZSBjYW4gYmUgZW5kZWQgdGhlbi4KLVNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiBmdW5j dGlvbiBgYmlidGV4LWdlbmVyYXRlLWF1dG9rZXknIGZvciBkZXRhaWxzLiIKK1NlZSBgYmlidGV4 LWdlbmVyYXRlLWF1dG9rZXknIGZvciBkZXRhaWxzLiIKICAgOmdyb3VwICdiaWJ0ZXgtYXV0b2tl eQogICA6dHlwZSAnaW50ZWdlcikKIApAQCAtNjM5LDEzICs2NDMsMTMgQEAKICAgIipEZXRlcm1p bmVzIHdvcmRzIGZyb20gdGhlIHRpdGxlIHRoYXQgYXJlIG5vdCB0byBiZSB1c2VkIGluIHRoZSBr ZXkuCiBFYWNoIGl0ZW0gb2YgdGhlIGxpc3QgaXMgYSByZWdleHAuICBJZiBhIHdvcmQgb2YgdGhl IHRpdGxlIG1hdGNocyBhCiByZWdleHAgZnJvbSB0aGF0IGxpc3QsIGl0IGlzIG5vdCBpbmNsdWRl ZCBpbiB0aGUgdGl0bGUgcGFydCBvZiB0aGUga2V5LgotU2VlIHRoZSBkb2N1bWVudGF0aW9uIG9m IGZ1bmN0aW9uIGBiaWJ0ZXgtZ2VuZXJhdGUtYXV0b2tleScgZm9yIGRldGFpbHMuIgorU2VlIGBi aWJ0ZXgtZ2VuZXJhdGUtYXV0b2tleScgZm9yIGRldGFpbHMuIgogICA6Z3JvdXAgJ2JpYnRleC1h dXRva2V5CiAgIDp0eXBlICcocmVwZWF0IHJlZ2V4cCkpCiAKIChkZWZjdXN0b20gYmlidGV4LWF1 dG9rZXktdGl0bGV3b3JkLWNhc2UtY29udmVydCAnZG93bmNhc2UKICAgIipGdW5jdGlvbiBjYWxs ZWQgZm9yIGVhY2ggdGl0bGV3b3JkIHRvIHBlcmZvcm0gY2FzZSBjb252ZXJzaW9uLgotU2VlIHRo ZSBkb2N1bWVudGF0aW9uIG9mIGZ1bmN0aW9uIGBiaWJ0ZXgtZ2VuZXJhdGUtYXV0b2tleScgZm9y IGRldGFpbHMuIgorU2VlIGBiaWJ0ZXgtZ2VuZXJhdGUtYXV0b2tleScgZm9yIGRldGFpbHMuIgog ICA6Z3JvdXAgJ2JpYnRleC1hdXRva2V5CiAgIDp0eXBlICcoY2hvaWNlIChjb25zdCA6dGFnICJQ cmVzZXJ2ZSBjYXNlIiBpZGVudGl0eSkKICAgICAgICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkRv d25jYXNlIiBkb3duY2FzZSkKQEAgLTY1NSwyMCArNjU5LDIwIEBACiAKIChkZWZjdXN0b20gYmli dGV4LWF1dG9rZXktdGl0bGV3b3JkLWFiYnJldnMgbmlsCiAgICIqRGV0ZXJtaW5lcyBleGNlcHRp b25zIHRvIHRoZSB1c3VhbCBhYmJyZXZpYXRpb24gbWVjaGFuaXNtLgotQW4gYWxpc3Qgb2YgKE9M RC1SRUdFWFAgTkVXLVNUUklORykgcGFpcnMuICBDYXNlIGlzIGlnbm9yZWQKK0FuIGFsaXN0IG9m IChPTEQtUkVHRVhQIC4gTkVXLVNUUklORykgcGFpcnMuICBDYXNlIGlzIGlnbm9yZWQKIGluIG1h dGNoaW5nIGFnYWluc3QgT0xELVJFR0VYUCwgYW5kIHRoZSBmaXJzdCBtYXRjaGluZyBwYWlyIGlz IHVzZWQuCi1TZWUgdGhlIGRvY3VtZW50YXRpb24gb2YgZnVuY3Rpb24gYGJpYnRleC1nZW5lcmF0 ZS1hdXRva2V5JyBmb3IgZGV0YWlscy4iCitTZWUgYGJpYnRleC1nZW5lcmF0ZS1hdXRva2V5JyBm b3IgZGV0YWlscy4iCiAgIDpncm91cCAnYmlidGV4LWF1dG9rZXkKICAgOnR5cGUgJyhyZXBlYXQg KGNvbnMgKHJlZ2V4cCA6dGFnICJPbGQiKQogICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5n IDp0YWcgIk5ldyIpKSkpCiAKIChkZWZjdXN0b20gYmlidGV4LWF1dG9rZXktdGl0bGV3b3JkLWNo YW5nZS1zdHJpbmdzCiAgIGJpYnRleC1hdXRva2V5LXRyYW5zY3JpcHRpb25zCi0gICJBbGlzdCBv ZiAoT0xELVJFR0VYUCBORVctU1RSSU5HKSBwYWlycy4KKyAgIkFsaXN0IG9mIChPTEQtUkVHRVhQ IC4gTkVXLVNUUklORykgcGFpcnMuCiBBbnkgcGFydCBvZiB0aXRsZSB3b3JkIG1hdGNoaW5nIGEg T0xELVJFR0VYUCBpcyByZXBsYWNlZCBieSBORVctU1RSSU5HLgogQ2FzZSBpcyBzaWduaWZpY2Fu dCBpbiBPTEQtUkVHRVhQLiAgQWxsIHJlZ2V4cHMgYXJlIHRyaWVkIGluIHRoZQogb3JkZXIgaW4g d2hpY2ggdGhleSBhcHBlYXIgaW4gdGhlIGxpc3QuCi1TZWUgdGhlIGRvY3VtZW50YXRpb24gb2Yg ZnVuY3Rpb24gYGJpYnRleC1nZW5lcmF0ZS1hdXRva2V5JyBmb3IgZGV0YWlscy4iCitTZWUgYGJp YnRleC1nZW5lcmF0ZS1hdXRva2V5JyBmb3IgZGV0YWlscy4iCiAgIDpncm91cCAnYmlidGV4LWF1 dG9rZXkKICAgOnR5cGUgJyhyZXBlYXQgKGNvbnMgKHJlZ2V4cCA6dGFnICJPbGQiKQogICAgICAg ICAgICAgICAgICAgICAgICAoc3RyaW5nIDp0YWcgIk5ldyIpKSkpCkBAIC02NzYsMjYgKzY4MCwy NiBAQAogKGRlZmN1c3RvbSBiaWJ0ZXgtYXV0b2tleS10aXRsZXdvcmQtbGVuZ3RoIDUKICAgIipO dW1iZXIgb2YgY2hhcmFjdGVycyBmcm9tIHRpdGxlIHdvcmRzIHRvIGluY29ycG9yYXRlIGludG8g a2V5LgogSWYgdGhpcyBpcyBzZXQgdG8gYW55dGhpbmcgYnV0IGEgbnVtYmVyLCBhbGwgY2hhcmFj dGVycyBhcmUgdXNlZC4KLVNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiBmdW5jdGlvbiBgYmlidGV4 LWdlbmVyYXRlLWF1dG9rZXknIGZvciBkZXRhaWxzLiIKK1NlZSBgYmlidGV4LWdlbmVyYXRlLWF1 dG9rZXknIGZvciBkZXRhaWxzLiIKICAgOmdyb3VwICdiaWJ0ZXgtYXV0b2tleQogICA6dHlwZSAn KGNob2ljZSAoY29uc3QgOnRhZyAiQWxsIiBpbmZ0eSkKICAgICAgICAgICAgICAgICAgaW50ZWdl cikpCiAKIChkZWZjdXN0b20gYmlidGV4LWF1dG9rZXktdGl0bGV3b3JkLXNlcGFyYXRvciAiXyIK ICAgIipTdHJpbmcgdG8gYmUgcHV0IGJldHdlZW4gdGhlIHRpdGxlIHdvcmRzLgotU2VlIHRoZSBk b2N1bWVudGF0aW9uIG9mIGZ1bmN0aW9uIGBiaWJ0ZXgtZ2VuZXJhdGUtYXV0b2tleScgZm9yIGRl dGFpbHMuIgorU2VlIGBiaWJ0ZXgtZ2VuZXJhdGUtYXV0b2tleScgZm9yIGRldGFpbHMuIgogICA6 Z3JvdXAgJ2JpYnRleC1hdXRva2V5CiAgIDp0eXBlICdzdHJpbmcpCiAKIChkZWZjdXN0b20gYmli dGV4LWF1dG9rZXktbmFtZS15ZWFyLXNlcGFyYXRvciAiIgogICAiKlN0cmluZyB0byBiZSBwdXQg YmV0d2VlbiBuYW1lIHBhcnQgYW5kIHllYXIgcGFydCBvZiBrZXkuCi1TZWUgdGhlIGRvY3VtZW50 YXRpb24gb2YgZnVuY3Rpb24gYGJpYnRleC1nZW5lcmF0ZS1hdXRva2V5JyBmb3IgZGV0YWlscy4i CitTZWUgYGJpYnRleC1nZW5lcmF0ZS1hdXRva2V5JyBmb3IgZGV0YWlscy4iCiAgIDpncm91cCAn YmlidGV4LWF1dG9rZXkKICAgOnR5cGUgJ3N0cmluZykKIAogKGRlZmN1c3RvbSBiaWJ0ZXgtYXV0 b2tleS15ZWFyLXRpdGxlLXNlcGFyYXRvciAiOl8iCiAgICIqU3RyaW5nIHRvIGJlIHB1dCBiZXR3 ZWVuIG5hbWUgcGFydCBhbmQgeWVhciBwYXJ0IG9mIGtleS4KLVNlZSB0aGUgZG9jdW1lbnRhdGlv biBvZiBmdW5jdGlvbiBgYmlidGV4LWdlbmVyYXRlLWF1dG9rZXknIGZvciBkZXRhaWxzLiIKK1Nl ZSBgYmlidGV4LWdlbmVyYXRlLWF1dG9rZXknIGZvciBkZXRhaWxzLiIKICAgOmdyb3VwICdiaWJ0 ZXgtYXV0b2tleQogICA6dHlwZSAnc3RyaW5nKQogCkBAIC03MDYsMTEgKzcxMCw5IEBACiAKIChk ZWZjdXN0b20gYmlidGV4LWF1dG9rZXktYmVmb3JlLXByZXNlbnRhdGlvbi1mdW5jdGlvbiBuaWwK ICAgIipGdW5jdGlvbiB0byBjYWxsIGJlZm9yZSB0aGUgZ2VuZXJhdGVkIGtleSBpcyBwcmVzZW50 ZWQuCi1JZiBub24tbmlsIHRoaXMgc2hvdWxkIGJlIGEgc2luZ2xlIGZ1bmN0aW9uLCB3aGljaCBp cyBjYWxsZWQgYmVmb3JlCi10aGUgZ2VuZXJhdGVkIGtleSBpcyBwcmVzZW50ZWQgKGluIGVudHJ5 IG9yLCBpZgotYGJpYnRleC1hdXRva2V5LWVkaXQtYmVmb3JlLXVzZScgaXMgdCwgaW4gbWluaWJ1 ZmZlcikuICBUaGlzIGZ1bmN0aW9uCi1tdXN0IHRha2Ugb25lIGFyZ3VtZW50ICh0aGUgYXV0b21h dGljYWxseSBnZW5lcmF0ZWQga2V5KSwgYW5kIG11c3QKLXJldHVybiB3aXRoIGEgc3RyaW5nICh0 aGUga2V5IHRvIHVzZSkuIgorSWYgbm9uLW5pbCB0aGlzIHNob3VsZCBiZSBhIGZ1bmN0aW9uIHdo aWNoIGlzIGNhbGxlZCBiZWZvcmUgdGhlIGdlbmVyYXRlZCBrZXkKK2lzIHByZXNlbnRlZC4gIFRo ZSBmdW5jdGlvbiBtdXN0IHRha2Ugb25lIGFyZ3VtZW50ICh0aGUgYXV0b21hdGljYWxseQorZ2Vu ZXJhdGVkIGtleSksIGFuZCBtdXN0IHJldHVybiBhIHN0cmluZyAodGhlIGtleSB0byB1c2UpLiIK ICAgOmdyb3VwICdiaWJ0ZXgtYXV0b2tleQogICA6dHlwZSAnKGNob2ljZSAoY29uc3QgbmlsKSBm dW5jdGlvbikpCiAKQEAgLTc1MSw2ICs3NTMsMTQgQEAKICAgOmdyb3VwICdiaWJ0ZXgKICAgOnR5 cGUgJ2Jvb2xlYW4pCiAKKyhkZWZjdXN0b20gYmlidGV4LWF1dG9hZGQtY29tbWFzIHQKKyAgIklm IG5vbi1uaWwgYXV0b21hdGljYWxseSBhZGQgbWlzc2luZyBjb21tYXMgYXQgZW5kIG9mIEJpYlRl WCBmaWVsZHMuIgorICA6dHlwZSAnYm9vbGVhbikKKworKGRlZmN1c3RvbSBiaWJ0ZXgtYXV0b2Zp bGwtdHlwZXMgJygiUHJvY2VlZGluZ3MiKQorICAiQXV0b21hdGljYWxseSBmaWxsIGZpZWxkcyBp ZiBwb3NzaWJsZSBmb3IgdGhvc2UgQmliVGVYIGVudHJ5IHR5cGVzLiIKKyAgOnR5cGUgJyhyZXBl YXQgc3RyaW5nKSkKKwogKGRlZmN1c3RvbSBiaWJ0ZXgtY29tcGxldGUta2V5LWNsZWFudXAgbmls CiAgICIqRnVuY3Rpb24gY2FsbGVkIGJ5IGBiaWJ0ZXgtY29tcGxldGUnIGFmdGVyIGluc2VydGlv biBvZiBhIGtleSBmcmFnbWVudC4iCiAgIDpncm91cCAnYmlidGV4LWF1dG9rZXkKQEAgLTgzOSw2 ICs4NDksOSBAQAogICAgICBbIk5leHQgRmllbGQiIGJpYnRleC1uZXh0LWZpZWxkIHRdCiAgICAg IFsiQmVnaW5uaW5nIG9mIEVudHJ5IiBiaWJ0ZXgtYmVnaW5uaW5nLW9mLWVudHJ5IHRdCiAgICAg IFsiRW5kIG9mIEVudHJ5IiBiaWJ0ZXgtZW5kLW9mLWVudHJ5IHRdKQorICAgICgiTW92aW5nIGlu IEJpYlRlWCBCdWZmZXIiCisgICAgIFsiRmluZCBFbnRyeSIgYmlidGV4LWZpbmQtZW50cnkgdF0K KyAgICAgWyJGaW5kIENyb3NzcmVmIEVudHJ5IiBiaWJ0ZXgtZmluZC1jcm9zc3JlZiB0XSkKICAg ICAoIk9wZXJhdGluZyBvbiBDdXJyZW50IEVudHJ5IgogICAgICBbIkZpbGwgRW50cnkiIGJpYnRl eC1maWxsLWVudHJ5IHRdCiAgICAgIFsiQ2xlYW4gRW50cnkiIGJpYnRleC1jbGVhbi1lbnRyeSB0 XQpAQCAtODU1LDYgKzg2OCw3IEBACiAgICAgIFsiVmlldyBDaXRlIExvY2F0aW9ucyAoUmVmVGVY KSIgcmVmdGV4LXZpZXctY3Jvc3NyZWYtZnJvbS1iaWJ0ZXgKICAgICAgIChmYm91bmRwICdyZWZ0 ZXgtdmlldy1jcm9zc3JlZi1mcm9tLWJpYnRleCldKQogICAgICgiT3BlcmF0aW5nIG9uIEN1cnJl bnQgRmllbGQiCisgICAgIFsiRmlsbCBGaWVsZCIgZmlsbC1wYXJhZ3JhcGggdF0KICAgICAgWyJS ZW1vdmUgRGVsaW1pdGVycyIgYmlidGV4LXJlbW92ZS1kZWxpbWl0ZXJzIHRdCiAgICAgIFsiUmVt b3ZlIE9QVCBvciBBTFQgUHJlZml4IiBiaWJ0ZXgtcmVtb3ZlLU9QVC1vci1BTFQgdF0KICAgICAg WyJDbGVhciBGaWVsZCIgYmlidGV4LWVtcHR5LWZpZWxkIHRdCkBAIC05MjUsMTQgKzkzOSwxNyBA QAogKGRlZnZhciBiaWJ0ZXgtbGFzdC1raWxsLWNvbW1hbmQgbmlsCiAgICJUeXBlIG9mIHRoZSBs YXN0IGtpbGwgY29tbWFuZCAoZWl0aGVyICdmaWVsZCBvciAnZW50cnkpLiIpCiAKLShkZWZ2YXIg YmlidGV4LXN0cmluZ3MgbmlsCi0gICJDYW5kaWRhdGVzIGZvciBgYmlidGV4LWNvbXBsZXRlJyAo c3RyaW5nIGNvbXBsZXRpb24pLgorKGRlZnZhciBiaWJ0ZXgtc3RyaW5ncworICAobGF6eS1jb21w bGV0aW9uLXRhYmxlIGJpYnRleC1zdHJpbmdzCisgICAgICAgICAgICAgICAgICAgICAgICAgYmli dGV4LXBhcnNlLXN0cmluZ3MgKGJpYnRleC1zdHJpbmctZmlsZXMtaW5pdCkpCisgICJDb21wbGV0 aW9uIHRhYmxlIGZvciBCaWJUZVggc3RyaW5nIGtleXMuCiBJbml0aWFsaXplZCBmcm9tIGBiaWJ0 ZXgtcHJlZGVmaW5lZC1zdHJpbmdzJyBhbmQgYGJpYnRleC1zdHJpbmctZmlsZXMnLiIpCisobWFr ZS12YXJpYWJsZS1idWZmZXItbG9jYWwgJ2JpYnRleC1zdHJpbmdzKQogCi0oZGVmdmFyIGJpYnRl eC1yZWZlcmVuY2Uta2V5cyBuaWwKLSAgIkNhbmRpZGF0ZXMgZm9yIFRBQiBjb21wbGV0aW9uIHdo ZW4gZW50ZXJpbmcgYSByZWZlcmVuY2Uga2V5IHVzaW5nCi10aGUgbWluaWJ1ZmZlci4gQWxzbyB1 c2VkIGZvciBgYmlidGV4LWNvbXBsZXRlJyAoa2V5IGNvbXBsZXRpb24pLgotSW5pdGlhbGl6ZWQg aW4gYGJpYnRleC1tb2RlJyBhbmQgdXBkYXRlZCBmb3IgZWFjaCBuZXcgZW50cnkuIikKKyhkZWZ2 YXIgYmlidGV4LXJlZmVyZW5jZS1rZXlzCisgIChsYXp5LWNvbXBsZXRpb24tdGFibGUgYmlidGV4 LXJlZmVyZW5jZS1rZXlzIGJpYnRleC1wYXJzZS1rZXlzIG5pbCBuaWwgdCkKKyAgIkNvbXBsZXRp b24gdGFibGUgZm9yIEJpYlRlWCByZWZlcmVuY2Uga2V5cy4iKQorKG1ha2UtdmFyaWFibGUtYnVm ZmVyLWxvY2FsICdiaWJ0ZXgtcmVmZXJlbmNlLWtleXMpCiAKIChkZWZ2YXIgYmlidGV4LWJ1ZmZl ci1sYXN0LXBhcnNlZC10aWNrIG5pbAogICAiTGFzdCB2YWx1ZSByZXR1cm5lZCBieSBgYnVmZmVy LW1vZGlmaWVkLXRpY2snIHdoZW4gYnVmZmVyCkBAIC05NTQsNyArOTcxLDcgQEAKICAgIkhpc3Rv cnkgbGlzdCBmb3IgcmVhZGluZyBrZXlzLiIpCiAKIChkZWZ2YXIgYmlidGV4LWVudHJ5LXR5cGUt aGlzdG9yeSBuaWwKLSAgIlVzZWQgdG8gc3RvcmUgdGhlIGhpc3RvcnkgbGlzdCBmb3IgcmVhZGlu ZyBlbnRyeSB0eXBlcy4iKQorICAiSGlzdG9yeSBsaXN0IGZvciByZWFkaW5nIGVudHJ5IHR5cGVz LiIpCiAKIChkZWZ2YXIgYmlidGV4LWZpZWxkLWhpc3RvcnkgbmlsCiAgICJIaXN0b3J5IGxpc3Qg Zm9yIHJlYWRpbmcgZmllbGQgbmFtZXMuIikKQEAgLTk4Nyw4ICsxMDA0LDcgQEAKIAogKGRlZmNv bnN0IGJpYnRleC1lbnRyeS1tYXliZS1lbXB0eS1oZWFkCiAgIChjb25jYXQgYmlidGV4LWVudHJ5 LWhlYWQgIj8iKQotICAiUmVnZXhwIG1hdGNoaW5nIHRoZSBoZWFkZXIgbGluZSBvZiBhIG1heWJl IGVtcHR5IEJpYlRlWCBlbnRyeQotXChwb3NzaWJseSB3aXRob3V0IHJlZmVyZW5jZSBrZXkpLiIp CisgICJSZWdleHAgbWF0Y2hpbmcgdGhlIGhlYWRlciBsaW5lIG9mIGEgQmliVGVYIGVudHJ5IChw b3NzaWJseSB3aXRob3V0IGtleSkuIikKIAogKGRlZmNvbnN0IGJpYnRleC10eXBlLWluLWhlYWQg MQogICAiUmVnZXhwIHN1YmV4cHJlc3Npb24gbnVtYmVyIG9mIHRoZSB0eXBlIHBhcnQgaW4gYGJp YnRleC1lbnRyeS1oZWFkJy4iKQpAQCAtMTA2Myw3ICsxMDc5LDggQEAKICAgICAoZG9saXN0IChj bGFzcyBiaWJ0ZXgtc29ydC1lbnRyeS1jbGFzcyBhbGlzdCkKICAgICAgIChzZXRxIGkgKDErIGkp KQogICAgICAgKGRvbGlzdCAoZW50cnkgY2xhc3MpCi0gICAgICAgIChwdXNoIChjb25zIGVudHJ5 IGkpIGFsaXN0KSkpKQorICAgICAgICA7OyBhbGwgZW50cnkgbmFtZXMgc2hvdWxkIGJlIGRvd25j YXNlIChmb3IgZWFzZSBvZiBjb21wYXJpc29uKQorICAgICAgICAocHVzaCAoY29ucyAoaWYgKHN0 cmluZ3AgZW50cnkpIChkb3duY2FzZSBlbnRyeSkgZW50cnkpIGkpIGFsaXN0KSkpKQogICAiQWxp c3QgZm9yIHRoZSBjbGFzc2VzIG9mIHRoZSBlbnRyeSB0eXBlcyBpZiB0aGUgdmFsdWUgb2YKIGBi aWJ0ZXgtbWFpbnRhaW4tc29ydGVkLWVudHJpZXMnIGlzIGBlbnRyeS1jbGFzcycuIikKIApAQCAt MTEwNSwzMyArMTEyMiw0MyBAQAogICcoYmlidGV4LW1vZGUgIkBcXFMoKlxccygiICJcXHMpIiBu aWwgYmlidGV4LWhzLWZvcndhcmQtc2V4cCBuaWwpKQogCiAMCi07OyBGdW5jdGlvbnMgdG8gUGFy c2UgdGhlIEJpYlRlWCBFbnRyaWVzCisoZGVmY29uc3QgYmlidGV4LWJyYWNlZC1zdHJpbmctc3lu dGF4LXRhYmxlCisgIChsZXQgKChzdCAobWFrZS1zeW50YXgtdGFibGUpKSkKKyAgICAobW9kaWZ5 LXN5bnRheC1lbnRyeSA/XHsgIih9IiBzdCkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XH0g Iil7IiBzdCkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XFsgIi4iIHN0KQorICAgIChtb2Rp Znktc3ludGF4LWVudHJ5ID9cXSAiLiIgc3QpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgP1wo ICIuIiBzdCkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XCkgIi4iIHN0KQorICAgIChtb2Rp Znktc3ludGF4LWVudHJ5ID9cXCAiLiIgc3QpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgP1wi ICIuIiBzdCkKKyAgICBzdCkKKyAgIlN5bnRheC10YWJsZSB0byBwYXJzZSBtYXRjaGVkIGJyYWNl cy4iKQogCi0oZGVmdW4gYmlidGV4LXBhcnNlLW5lc3RlZC1icmFjZXMgKG5lc3RpbmctbGV2ZWwp Ci0gICJTdGFydGluZyBvbiBhbiBvcGVuaW5nIGJyYWNlLCBmaW5kIHRoZSBjb3JyZXNwb25kaW5n IGNsb3NpbmcgYnJhY2UuCi1XaGVuIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWQsIE5FU1RJTkctTEVW RUwgaGFzIHRvIGJlIHNldCB0byBgMCcuIgotICAoY29uZCAoKGxvb2tpbmctYXQgInsiKQotICAg ICAgICAgKHNlYXJjaC1mb3J3YXJkLXJlZ2V4cCAie1tee31dKiIpCi0gICAgICAgICAoYmlidGV4 LXBhcnNlLW5lc3RlZC1icmFjZXMgKCsgbmVzdGluZy1sZXZlbCAxKSkpCi0gICAgICAgICgobG9v a2luZy1hdCAifSIpCi0gICAgICAgICAoZm9yd2FyZC1jaGFyIDEpCi0gICAgICAgICAoaWYgKD0g bmVzdGluZy1sZXZlbCAxKQotICAgICAgICAgICAgIChwb2ludCkKLSAgICAgICAgICAgKHNlYXJj aC1mb3J3YXJkLXJlZ2V4cCAiW157fV0qIikKLSAgICAgICAgICAgKGJpYnRleC1wYXJzZS1uZXN0 ZWQtYnJhY2VzICgtIG5lc3RpbmctbGV2ZWwgMSkpKSkKLSAgICAgICAgKHQgbmlsKSkpCisoZGVm Y29uc3QgYmlidGV4LXF1b3RlZC1zdHJpbmctc3ludGF4LXRhYmxlCisgIChsZXQgKChzdCAobWFr ZS1zeW50YXgtdGFibGUpKSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XFwgIlxcIiBzdCkK KyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XCIgIlwiIiBzdCkKKyAgICBzdCkKKyAgIlN5bnRh eC10YWJsZSB0byBwYXJzZSBtYXRjaGVkIHF1b3Rlcy4iKQogCiAoZGVmdW4gYmlidGV4LXBhcnNl LWZpZWxkLXN0cmluZyAoKQogICAiUGFyc2UgYSBmaWVsZCBzdHJpbmcgZW5jbG9zZWQgYnkgYnJh Y2VzIG9yIHF1b3Rlcy4KIElmIGEgc3ludGFjdGljYWxseSBjb3JyZWN0IHN0cmluZyBpcyBmb3Vu ZCwgYSBwYWlyIGNvbnRhaW5pbmcgdGhlIHN0YXJ0IGFuZAogZW5kIHBvc2l0aW9uIG9mIHRoZSBm aWVsZCBzdHJpbmcgaXMgcmV0dXJuZWQsIG5pbCBvdGhlcndpc2UuIgotICAoc2F2ZS1tYXRjaC1k YXRhCi0gICAgKGxldCAoKGVuZC1wb2ludCAob3IgKGFuZCAobG9va2luZy1hdCBiaWJ0ZXgtcXVv dGVkLXN0cmluZy1yZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXRjaC1lbmQg MCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAobG9va2luZy1hdCAieyIpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoc2F2ZS1leGN1cnNpb24gKGJpYnRleC1wYXJzZS1u ZXN0ZWQtYnJhY2VzIDApKSkpKSkKLSAgICAgIChpZiBlbmQtcG9pbnQKLSAgICAgICAgICAoY29u cyAocG9pbnQpIGVuZC1wb2ludCkpKSkpCisgIChsZXQgKChlbmQtcG9pbnQKKyAgICAgICAgIChv ciAoYW5kIChlcSAoZm9sbG93aW5nLWNoYXIpID9cIikKKyAgICAgICAgICAgICAgICAgIChzYXZl LWV4Y3Vyc2lvbgorICAgICAgICAgICAgICAgICAgICAod2l0aC1zeW50YXgtdGFibGUgYmlidGV4 LXF1b3RlZC1zdHJpbmctc3ludGF4LXRhYmxlCisgICAgICAgICAgICAgICAgICAgICAgKGZvcndh cmQtc2V4cCAxKSkKKyAgICAgICAgICAgICAgICAgICAgKHBvaW50KSkpCisgICAgICAgICAgICAg KGFuZCAoZXEgKGZvbGxvd2luZy1jaGFyKSA/XHspCisgICAgICAgICAgICAgICAgICAoc2F2ZS1l eGN1cnNpb24KKyAgICAgICAgICAgICAgICAgICAgKHdpdGgtc3ludGF4LXRhYmxlIGJpYnRleC1i cmFjZWQtc3RyaW5nLXN5bnRheC10YWJsZQorICAgICAgICAgICAgICAgICAgICAgIChmb3J3YXJk LXNleHAgMSkpCisgICAgICAgICAgICAgICAgICAgIChwb2ludCkpKSkpKQorICAgIChpZiBlbmQt cG9pbnQKKyAgICAgICAgKGNvbnMgKHBvaW50KSBlbmQtcG9pbnQpKSkpCiAKIChkZWZ1biBiaWJ0 ZXgtcGFyc2UtYXNzb2NpYXRpb24gKHBhcnNlLWxocyBwYXJzZS1yaHMpCiAgICJQYXJzZSBhIHN0 cmluZyBvZiB0aGUgZm9ybWF0IDxsZWZ0LWhhbmQtc2lkZSA9IHJpZ2h0LWhhbmQtc2lkZT4uCkBA IC0xMTQxLDggKzExNjgsOSBAQAogdmFsdWVzIG9mIHRoZSBmdW5jdGlvbnMgUEFSU0UtTEhTIGFu ZCBQQVJTRS1SSFMgaXMgcmV0dXJuZWQuIgogICAoc2F2ZS1tYXRjaC1kYXRhCiAgICAgKHNhdmUt ZXhjdXJzaW9uCi0gICAgICAobGV0IChsZWZ0IHJpZ2h0KQotICAgICAgICAoaWYgKGFuZCAoc2V0 cSBsZWZ0IChmdW5jYWxsIHBhcnNlLWxocykpCisgICAgICAobGV0ICgobGVmdCAoZnVuY2FsbCBw YXJzZS1saHMpKQorICAgICAgICAgICAgcmlnaHQpCisgICAgICAgIChpZiAoYW5kIGxlZnQKICAg ICAgICAgICAgICAgICAgKGxvb2tpbmctYXQgIlsgXHRcbl0qPVsgXHRcbl0qIikKICAgICAgICAg ICAgICAgICAgKGdvdG8tY2hhciAobWF0Y2gtZW5kIDApKQogICAgICAgICAgICAgICAgICAoc2V0 cSByaWdodCAoZnVuY2FsbCBwYXJzZS1yaHMpKSkKQEAgLTExNTIsMTMgKzExODAsMjQgQEAKICAg IlBhcnNlIHRoZSBmaWVsZCBuYW1lIHN0b3JlZCBpbiBgYmlidGV4LWZpZWxkLW5hbWUtZm9yLXBh cnNpbmcnLgogSWYgdGhlIGZpZWxkIG5hbWUgaXMgZm91bmQsIHJldHVybiBhIHRyaXBsZSBjb25z aXN0aW5nIG9mIHRoZSBwb3NpdGlvbiBvZiB0aGUKIHZlcnkgZmlyc3QgY2hhcmFjdGVyIG9mIHRo ZSBtYXRjaCwgdGhlIGFjdHVhbCBzdGFydGluZyBwb3NpdGlvbiBvZiB0aGUgbmFtZQotcGFydCBh bmQgZW5kIHBvc2l0aW9uIG9mIHRoZSBtYXRjaC4gTW92ZSBwb2ludCB0byBlbmQgb2YgZmllbGQg bmFtZS4iCi0gIChpZiAobG9va2luZy1hdCAiLFsgXHRcbl0qIikKLSAgICAgIChsZXQgKChzdGFy dCAocG9pbnQpKSkKLSAgICAgICAgKGdvdG8tY2hhciAobWF0Y2gtZW5kIDApKQotICAgICAgICAo d2hlbiAobG9va2luZy1hdCBiaWJ0ZXgtZmllbGQtbmFtZS1mb3ItcGFyc2luZykKLSAgICAgICAg ICAoZ290by1jaGFyIChtYXRjaC1lbmQgMCkpCi0gICAgICAgICAgKGxpc3Qgc3RhcnQgKG1hdGNo LWJlZ2lubmluZyAwKSAobWF0Y2gtZW5kIDApKSkpKSkKK3BhcnQgYW5kIGVuZCBwb3NpdGlvbiBv ZiB0aGUgbWF0Y2guIE1vdmUgcG9pbnQgdG8gZW5kIG9mIGZpZWxkIG5hbWUuCitJZiBgYmlidGV4 LWF1dG9hZGQtY29tbWFzJyBpcyBub24tbmlsIGFkZCBtaXNzaW5nIGNvbW1hIGF0IGVuZCBvZiBw cmVjZWVkaW5nCitCaWJUZVggZmllbGQgYXMgbmVjZXNzYXJ5LiIKKyAgKGNvbmQgKChsb29raW5n LWF0ICIsWyBcdFxuXSoiKQorICAgICAgICAgKGxldCAoKHN0YXJ0IChwb2ludCkpKQorICAgICAg ICAgICAoZ290by1jaGFyIChtYXRjaC1lbmQgMCkpCisgICAgICAgICAgICh3aGVuIChsb29raW5n LWF0IGJpYnRleC1maWVsZC1uYW1lLWZvci1wYXJzaW5nKQorICAgICAgICAgICAgIChnb3RvLWNo YXIgKG1hdGNoLWVuZCAwKSkKKyAgICAgICAgICAgICAobGlzdCBzdGFydCAobWF0Y2gtYmVnaW5u aW5nIDApIChtYXRjaC1lbmQgMCkpKSkpCisgICAgICAgIDs7IE1heWJlIGFkZCBhIG1pc3Npbmcg Y29tbWEuCisgICAgICAgICgoYW5kIGJpYnRleC1hdXRvYWRkLWNvbW1hcworICAgICAgICAgICAg ICAobG9va2luZy1hdCAoY29uY2F0ICJbIFx0XG5dKlxcKD86IiBiaWJ0ZXgtZmllbGQtbmFtZS1m b3ItcGFyc2luZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcXClbIFx0XG5d Kj0iKSkpCisgICAgICAgICAoc2tpcC1jaGFycy1iYWNrd2FyZCAiIFx0XG4iKQorICAgICAgICAg KGluc2VydCAiLCIpCisgICAgICAgICAoZm9yd2FyZC1jaGFyIC0xKQorICAgICAgICAgOzsgTm93 IHRyeSBhZ2Fpbi4KKyAgICAgICAgIChiaWJ0ZXgtcGFyc2UtZmllbGQtbmFtZSkpKSkKIAogKGRl ZnVuIGJpYnRleC1wYXJzZS1maWVsZC10ZXh0ICgpCiAgICJQYXJzZSB0aGUgdGV4dCBwYXJ0IG9m IGEgQmliVGVYIGZpZWxkLgpAQCAtMTE2OCw4ICsxMjA3LDcgQEAKIHJldHVybmVkLCBuaWwgb3Ro ZXJ3aXNlLiBNb3ZlIHBvaW50IHRvIGVuZCBvZiBmaWVsZCB0ZXh0LiIKICAgKGxldCAoKHN0YXJ0 aW5nLXBvaW50IChwb2ludCkpCiAgICAgICAgIGVuZC1wb2ludCBmYWlsdXJlIGJvdW5kYXJpZXMp Ci0gICAgKHdoaWxlIChhbmQgKG5vdCBlbmQtcG9pbnQpCi0gICAgICAgICAgICAgICAgKG5vdCBm YWlsdXJlKSkKKyAgICAod2hpbGUgKG5vdCAob3IgZW5kLXBvaW50IGZhaWx1cmUpKQogICAgICAg KGNvbmQgKChsb29raW5nLWF0IGJpYnRleC1maWVsZC1jb25zdCkKICAgICAgICAgICAgICAoZ290 by1jaGFyIChtYXRjaC1lbmQgMCkpKQogICAgICAgICAgICAgKChzZXRxIGJvdW5kYXJpZXMgKGJp YnRleC1wYXJzZS1maWVsZC1zdHJpbmcpKQpAQCAtMTE5NCwxMCArMTIzMiwxNCBAQAogICAiU2Vh cmNoIGZvcndhcmQgdG8gZmluZCBhIGZpZWxkIG9mIG5hbWUgTkFNRS4KIElmIGEgc3ludGFjdGlj YWxseSBjb3JyZWN0IGZpZWxkIGlzIGZvdW5kLCBhIHBhaXIgY29udGFpbmluZyB0aGUgYm91bmRh cmllcyBvZgogdGhlIG5hbWUgYW5kIHRleHQgcGFydHMgb2YgdGhlIGZpZWxkIGlzIHJldHVybmVk LiAgVGhlIHNlYXJjaCBpcyBsaW1pdGVkIGJ5Ci1vcHRpb25hbCBhcmcgQk9VTkQuIERvIG5vdCBt b3ZlIHBvaW50LiIKK29wdGlvbmFsIGFyZyBCT1VORC4gSWYgQk9VTkQgaXMgdCB0aGUgc2VhcmNo IGlzIGxpbWl0ZWQgYnkgdGhlIGVuZCBvZiB0aGUgY3VycmVudAorZW50cnkuIERvIG5vdCBtb3Zl IHBvaW50LiIKICAgKHNhdmUtbWF0Y2gtZGF0YQogICAgIChzYXZlLWV4Y3Vyc2lvbgotICAgICAg KHVubGVzcyBib3VuZCAoc2V0cSBib3VuZCAocG9pbnQtbWF4KSkpCisgICAgICAodW5sZXNzIChp bnRlZ2VyLW9yLW1hcmtlci1wIGJvdW5kKQorICAgICAgICAoc2V0cSBib3VuZCAoaWYgYm91bmQK KyAgICAgICAgICAgICAgICAgICAgICAgIChzYXZlLWV4Y3Vyc2lvbiAoYmlidGV4LWVuZC1vZi1l bnRyeSkpCisgICAgICAgICAgICAgICAgICAgICAgKHBvaW50LW1heCkpKSkKICAgICAgIChsZXQg KChjYXNlLWZvbGQtc2VhcmNoIHQpCiAgICAgICAgICAgICAoYmlidGV4LWZpZWxkLW5hbWUtZm9y LXBhcnNpbmcgbmFtZSkKICAgICAgICAgICAgIGJvdW5kYXJpZXMgdGVtcC1ib3VuZGFyaWVzKQpA QCAtMTIxNywxMCArMTI1OSwxNCBAQAogICAiU2VhcmNoIGJhY2t3YXJkIHRvIGZpbmQgYSBmaWVs ZCBvZiBuYW1lIE5BTUUuCiBJZiBhIHN5bnRhY3RpY2FsbHkgY29ycmVjdCBmaWVsZCBpcyBmb3Vu ZCwgYSBwYWlyIGNvbnRhaW5pbmcgdGhlIGJvdW5kYXJpZXMgb2YKIHRoZSBuYW1lIGFuZCB0ZXh0 IHBhcnRzIG9mIHRoZSBmaWVsZCBpcyByZXR1cm5lZC4gIFRoZSBzZWFyY2ggaXMgbGltaXRlZCBi eQotb3B0aW9uYWwgYXJnIEJPVU5ELiBEbyBub3QgbW92ZSBwb2ludC4iCitvcHRpb25hbCBhcmcg Qk9VTkQuIElmIEJPVU5EIGlzIHQgdGhlIHNlYXJjaCBpcyBsaW1pdGVkIGJ5IHRoZSBiZWdpbm5p bmcgb2YgdGhlCitjdXJyZW50IGVudHJ5LiBEbyBub3QgbW92ZSBwb2ludC4iCiAgIChzYXZlLW1h dGNoLWRhdGEKICAgICAoc2F2ZS1leGN1cnNpb24KLSAgICAgICh1bmxlc3MgYm91bmQgKHNldHEg Ym91bmQgKHBvaW50LW1pbikpKQorICAgICAgKHVubGVzcyAoaW50ZWdlci1vci1tYXJrZXItcCBi b3VuZCkKKyAgICAgICAgKHNldHEgYm91bmQgKGlmIGJvdW5kCisgICAgICAgICAgICAgICAgICAg ICAgICAoc2F2ZS1leGN1cnNpb24gKGJpYnRleC1iZWdpbm5pbmctb2YtZW50cnkpKQorICAgICAg ICAgICAgICAgICAgICAgIChwb2ludC1taW4pKSkpCiAgICAgICAobGV0ICgoY2FzZS1mb2xkLXNl YXJjaCB0KQogICAgICAgICAgICAgKGJpYnRleC1maWVsZC1uYW1lLWZvci1wYXJzaW5nIG5hbWUp CiAgICAgICAgICAgICBib3VuZGFyaWVzIHRlbXAtYm91bmRhcmllcykKQEAgLTEyMzMsMTcgKzEy NzksMTcgQEAKICAgICAgICAgICAgICAgKHNldHEgYm91bmRhcmllcyB0ZW1wLWJvdW5kYXJpZXMp KSkKICAgICAgICAgYm91bmRhcmllcykpKSkKIAotKGRlZnVuIGJpYnRleC1zdGFydC1vZi1maWVs ZCAoYm91bmRzKQorKGRlZnN1YnN0IGJpYnRleC1zdGFydC1vZi1maWVsZCAoYm91bmRzKQogICAo bnRoIDAgKGNhciBib3VuZHMpKSkKLShkZWZ1biBiaWJ0ZXgtc3RhcnQtb2YtbmFtZS1pbi1maWVs ZCAoYm91bmRzKQorKGRlZnN1YnN0IGJpYnRleC1zdGFydC1vZi1uYW1lLWluLWZpZWxkIChib3Vu ZHMpCiAgIChudGggMSAoY2FyIGJvdW5kcykpKQotKGRlZnVuIGJpYnRleC1lbmQtb2YtbmFtZS1p bi1maWVsZCAoYm91bmRzKQorKGRlZnN1YnN0IGJpYnRleC1lbmQtb2YtbmFtZS1pbi1maWVsZCAo Ym91bmRzKQogICAobnRoIDIgKGNhciBib3VuZHMpKSkKLShkZWZ1biBiaWJ0ZXgtZW5kLW9mLWZp ZWxkIChib3VuZHMpCisoZGVmc3Vic3QgYmlidGV4LWVuZC1vZi1maWVsZCAoYm91bmRzKQogICAo Y2RkciBib3VuZHMpKQotKGRlZnVuIGJpYnRleC1zdGFydC1vZi10ZXh0LWluLWZpZWxkIChib3Vu ZHMpCisoZGVmc3Vic3QgYmlidGV4LXN0YXJ0LW9mLXRleHQtaW4tZmllbGQgKGJvdW5kcykKICAg KGNhZHIgYm91bmRzKSkKLShkZWZ1biBiaWJ0ZXgtZW5kLW9mLXRleHQtaW4tZmllbGQgKGJvdW5k cykKKyhkZWZzdWJzdCBiaWJ0ZXgtZW5kLW9mLXRleHQtaW4tZmllbGQgKGJvdW5kcykKICAgKGNk ZHIgYm91bmRzKSkKIAogKGRlZnVuIGJpYnRleC1uYW1lLWluLWZpZWxkIChib3VuZHMpCkBAIC0x MjY3LDYgKzEzMTMsNyBAQAogSWYgb3B0aW9uYWwgYXJnIEZPTExPVy1DUk9TU1JFRiBpcyBub24t bmlsLCBmb2xsb3cgY3Jvc3NyZWYuIgogICAoc2F2ZS1leGN1cnNpb24KICAgICAoc2F2ZS1yZXN0 cmljdGlvbgorICAgICAgOzsgV2Ugd2FudCB0byBqdW1wIGJhY2sgYW5kIGZvcnRoIHdoaWxlIHNl YXJjaGluZyBGSUVMRAogICAgICAgKGJpYnRleC1uYXJyb3ctdG8tZW50cnkpCiAgICAgICAoZ290 by1jaGFyIChwb2ludC1taW4pKQogICAgICAgKGxldCAoKGJvdW5kcyAoYmlidGV4LXNlYXJjaC1m b3J3YXJkLWZpZWxkIGZpZWxkKSkKQEAgLTEzMDQsMTMgKzEzNTEsMTMgQEAKIHRoZSBhY3R1YWwg c3RhcnRpbmcgYW5kIGVuZGluZyBwb3NpdGlvbiBvZiB0aGUgdGV4dCBhbmQgdGhlIHZlcnkgbGFz dAogY2hhcmFjdGVyIG9mIHRoZSBzdHJpbmcgZW50cnkuIE1vdmUgcG9pbnQgcGFzdCBCaWJUZVgg c3RyaW5nIGVudHJ5LiIKICAgKGxldCogKChjYXNlLWZvbGQtc2VhcmNoIHQpCi0gICAgICAgICAo dGV4dC1ib3VuZGFyaWVzIChiaWJ0ZXgtcGFyc2UtZmllbGQtdGV4dCkpKQotICAgICh3aGVuIHRl eHQtYm91bmRhcmllcwotICAgICAgKGdvdG8tY2hhciAoY2RyIHRleHQtYm91bmRhcmllcykpCisg ICAgICAgICAoYm91bmRzIChiaWJ0ZXgtcGFyc2UtZmllbGQtdGV4dCkpKQorICAgICh3aGVuIGJv dW5kcworICAgICAgKGdvdG8tY2hhciAoY2RyIGJvdW5kcykpCiAgICAgICAod2hlbiAobG9va2lu Zy1hdCAiWyBcdFxuXSpbfSldIikKICAgICAgICAgKGdvdG8tY2hhciAobWF0Y2gtZW5kIDApKQot ICAgICAgICAobGlzdCAoY2FyIHRleHQtYm91bmRhcmllcykKLSAgICAgICAgICAgICAgKGNkciB0 ZXh0LWJvdW5kYXJpZXMpCisgICAgICAgIChsaXN0IChjYXIgYm91bmRzKQorICAgICAgICAgICAg ICAoY2RyIGJvdW5kcykKICAgICAgICAgICAgICAgKG1hdGNoLWVuZCAwKSkpKSkpCiAKIChkZWZ1 biBiaWJ0ZXgtcGFyc2Utc3RyaW5nICgpCkBAIC0xMzY3LDE0ICsxNDE0LDE0IEBACiAgICAgICAg IChzdWJzdHJpbmcgY29udGVudCAobWF0Y2gtYmVnaW5uaW5nIDEpIChtYXRjaC1lbmQgMSkpCiAg ICAgICBjb250ZW50KSkpCiAKLShkZWZ1biBiaWJ0ZXgtc3RhcnQtb2YtdGV4dC1pbi1zdHJpbmcg KGJvdW5kcykKKyhkZWZzdWJzdCBiaWJ0ZXgtc3RhcnQtb2YtdGV4dC1pbi1zdHJpbmcgKGJvdW5k cykKICAgKG50aCAwIChjZHIgYm91bmRzKSkpCi0oZGVmdW4gYmlidGV4LWVuZC1vZi10ZXh0LWlu LXN0cmluZyAoYm91bmRzKQorKGRlZnN1YnN0IGJpYnRleC1lbmQtb2YtdGV4dC1pbi1zdHJpbmcg KGJvdW5kcykKICAgKG50aCAxIChjZHIgYm91bmRzKSkpCi0oZGVmdW4gYmlidGV4LWVuZC1vZi1z dHJpbmcgKGJvdW5kcykKKyhkZWZzdWJzdCBiaWJ0ZXgtZW5kLW9mLXN0cmluZyAoYm91bmRzKQog ICAobnRoIDIgKGNkciBib3VuZHMpKSkKIAotKGRlZnVuIGJpYnRleC10eXBlLWluLWhlYWQgKCkK KyhkZWZzdWJzdCBiaWJ0ZXgtdHlwZS1pbi1oZWFkICgpCiAgICJFeHRyYWN0IEJpYlRlWCB0eXBl IGluIGhlYWQuIgogICA7OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZSBACiAg IChidWZmZXItc3Vic3RyaW5nLW5vLXByb3BlcnRpZXMgKDErIChtYXRjaC1iZWdpbm5pbmcgYmli dGV4LXR5cGUtaW4taGVhZCkpCkBAIC0xNDI0LDQ1ICsxNDcxLDQ4IEBACiBiZWdpbm5pbmcgb2Yg cHJldmlvdXMgdmFsaWQgb25lLiBBIHZhbGlkIGVudHJ5IGlzIGEgc3ludGFjdGljYWwgY29ycmVj dCBvbmUKIHdpdGggdHlwZSBjb250YWluZWQgaW4gYGJpYnRleC1lbnRyeS1maWVsZC1hbGlzdCcg b3IsIGlmCiBgYmlidGV4LXNvcnQtaWdub3JlLXN0cmluZy1lbnRyaWVzJyBpcyBuaWwsIGEgc3lu dGFjdGljYWwgY29ycmVjdCBzdHJpbmcKLWVudHJ5LiBSZXR1cm4gYnVmZmVyIHBvc2l0aW9uIGlm IGEgdmFsaWQgZW50cnkgaXMgZm91bmQsIG5pbCBvdGhlcndpc2UuIgorZW50cnkuIFJldHVybiBi dWZmZXIgcG9zaXRpb24gb2YgYmVnaW5uaW5nIGFuZCBlbmRpbmcgb2YgZW50cnkgaWYgYSB2YWxp ZAorZW50cnkgaXMgZm91bmQsIG5pbCBvdGhlcndpc2UuIgorICAoaW50ZXJhY3RpdmUgIlAiKQog ICAobGV0ICgoY2FzZS1mb2xkLXNlYXJjaCB0KQogICAgICAgICBmb3VuZCkKLSAgICAod2hpbGUg KGFuZCAobm90IGZvdW5kKQotICAgICAgICAgICAgICAgIChub3QgKGlmIGJhY2t3YXJkIChib2Jw KSAoZW9icCkpKSkKLSAgICAgIChsZXQgKChwbnQgKHBvaW50KSkpCisgICAgKHdoaWxlIChub3Qg KG9yIGZvdW5kIChpZiBiYWNrd2FyZCAoYm9icCkgKGVvYnApKSkpCisgICAgICAobGV0ICgocG50 IChwb2ludCkpCisgICAgICAgICAgICBib3VuZHMpCiAgICAgICAgIChjb25kICgob3IgKGFuZCAo bG9va2luZy1hdCBiaWJ0ZXgtdmFsaWQtZW50cnktcmUpCi0gICAgICAgICAgICAgICAgICAgICAg ICAoYmlidGV4LXNlYXJjaC1lbnRyeSBuaWwgbmlsIHQpCisgICAgICAgICAgICAgICAgICAgICAg ICAoc2V0cSBmb3VuZCAoYmlidGV4LXNlYXJjaC1lbnRyeSBuaWwgbmlsIHQpKQogICAgICAgICAg ICAgICAgICAgICAgICAgKGVxdWFsIChtYXRjaC1iZWdpbm5pbmcgMCkgcG50KSkKICAgICAgICAg ICAgICAgICAgICAoYW5kIChub3QgYmlidGV4LXNvcnQtaWdub3JlLXN0cmluZy1lbnRyaWVzKQot ICAgICAgICAgICAgICAgICAgICAgICAgKGJpYnRleC1wYXJzZS1zdHJpbmcpKSkKLSAgICAgICAg ICAgICAgIChzZXRxIGZvdW5kIHBudCkKKyAgICAgICAgICAgICAgICAgICAgICAgIChzZXRxIGJv dW5kcyAoYmlidGV4LXBhcnNlLXN0cmluZykpCisgICAgICAgICAgICAgICAgICAgICAgICAoc2V0 cSBmb3VuZCAoY29ucyAoYmlidGV4LXN0YXJ0LW9mLWZpZWxkIGJvdW5kcykKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiaWJ0ZXgtZW5kLW9mLXN0cmluZyBib3Vu ZHMpKSkpKQogICAgICAgICAgICAgICAgKGdvdG8tY2hhciBwbnQpKQogICAgICAgICAgICAgICAo YmFja3dhcmQKLSAgICAgICAgICAgICAgIChnb3RvLWNoYXIgKDEtIHBudCkpCiAgICAgICAgICAg ICAgICAoaWYgKHJlLXNlYXJjaC1iYWNrd2FyZCAiXlsgXHRdKlxcKEBcXCkiIG5pbCAnbW92ZSkK ICAgICAgICAgICAgICAgICAgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMSkpKSkKLSAg ICAgICAgICAgICAgKHQgKGdvdG8tY2hhciAoMSsgcG50KSkKLSAgICAgICAgICAgICAgICAgKGlm IChyZS1zZWFyY2gtZm9yd2FyZCAiXlsgXHRdKkAiIG5pbCAnbW92ZSkKKyAgICAgICAgICAgICAg KHQgKGlmIChyZS1zZWFyY2gtZm9yd2FyZCAiXG5bIFx0XSpAIiBuaWwgJ21vdmUpCiAgICAgICAg ICAgICAgICAgICAgICAoZm9yd2FyZC1jaGFyIC0xKSkpKSkpCiAgICAgZm91bmQpKQogCiAoZGVm dW4gYmlidGV4LW1hcC1lbnRyaWVzIChmdW4pCiAgICJDYWxsIEZVTiBmb3IgZWFjaCBCaWJUZVgg ZW50cnkgc3RhcnRpbmcgd2l0aCB0aGUgY3VycmVudC4KLURvIHRoaXMgdG8gdGhlIGVuZCBvZiB0 aGUgZmlsZS4gIEZVTiBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQsIHRoZSBrZXkKLW9mIHRo ZSBlbnRyeSwgYW5kIHdpdGggcG9pbnQgaW5zaWRlIHRoZSBlbnRyeS4KLUlmIGBiaWJ0ZXgtc29y dC1pZ25vcmUtc3RyaW5nLWVudHJpZXMnIGlzIG5vbi1uaWwsIEZVTiB3aWxsIG5vdCBiZQotY2Fs bGVkIGZvciBAU3RyaW5nIGVudHJpZXMuIgorRG8gdGhpcyB0byB0aGUgZW5kIG9mIHRoZSBmaWxl LiBGVU4gaXMgY2FsbGVkIHdpdGggdGhyZWUgYXJndW1lbnRzLCB0aGUga2V5IG9mCit0aGUgZW50 cnkgYW5kIHRoZSBidWZmZXIgcG9zaXRpb25zIChtYXJrZXIpIG9mIGJlZ2lubmluZyBhbmQgZW5k IG9mIGVudHJ5LgorUG9pbnQgaXMgaW5zaWRlIHRoZSBlbnRyeS4gSWYgYGJpYnRleC1zb3J0LWln bm9yZS1zdHJpbmctZW50cmllcycgaXMgbm9uLW5pbCwKK0ZVTiB3aWxsIG5vdCBiZSBjYWxsZWQg Zm9yIEBTdHJpbmcgZW50cmllcy4iCiAgIChsZXQgKChjYXNlLWZvbGQtc2VhcmNoIHQpKQogICAg IChiaWJ0ZXgtYmVnaW5uaW5nLW9mLWVudHJ5KQotICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndh cmQgYmlidGV4LWVudHJ5LW1heWJlLWVtcHR5LWhlYWQgbmlsIHQpCi0gICAgICAoc2F2ZS1leGN1 cnNpb24KLSAgICAgICAgKGxldCAoKGVudHJ5LXR5cGUgKGRvd25jYXNlIChiaWJ0ZXgtdHlwZS1p bi1oZWFkKSkpCi0gICAgICAgICAgICAgIChrZXkgKGJpYnRleC1rZXktaW4taGVhZCAiIikpKQor ICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgYmlidGV4LWVudHJ5LWhlYWQgbmlsIHQpCisg ICAgICAobGV0ICgoZW50cnktdHlwZSAoYmlidGV4LXR5cGUtaW4taGVhZCkpCisgICAgICAgICAg ICAoa2V5IChiaWJ0ZXgta2V5LWluLWhlYWQgIiIpKQorICAgICAgICAgICAgKGJlZyAoY29weS1t YXJrZXIgKG1hdGNoLWJlZ2lubmluZyAwKSkpCisgICAgICAgICAgICAoZW5kIChjb3B5LW1hcmtl ciAoc2F2ZS1leGN1cnNpb24gKGJpYnRleC1lbmQtb2YtZW50cnkpKSkpKQorICAgICAgICAoc2F2 ZS1leGN1cnNpb24KICAgICAgICAgICAoaWYgKG9yIChhbmQgKG5vdCBiaWJ0ZXgtc29ydC1pZ25v cmUtc3RyaW5nLWVudHJpZXMpCi0gICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctZXF1YWwg InN0cmluZyIgZW50cnktdHlwZSkpCisgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctZXF1 YWwgInN0cmluZyIgKGRvd25jYXNlIGVudHJ5LXR5cGUpKSkKICAgICAgICAgICAgICAgICAgIChh c3NvYy1pZ25vcmUtY2FzZSBlbnRyeS10eXBlIGJpYnRleC1lbnRyeS1maWVsZC1hbGlzdCkpCi0g ICAgICAgICAgICAgIChmdW5jYWxsIGZ1biBrZXkpKSkpCi0gICAgICAoYmlidGV4LWVuZC1vZi1l bnRyeSkpKSkKKyAgICAgICAgICAgICAgKGZ1bmNhbGwgZnVuIGtleSBiZWcgZW5kKSkpCisgICAg ICAgIChnb3RvLWNoYXIgZW5kKSkpKSkKIAogKGRlZnVuIGJpYnRleC1wcm9ncmVzcy1tZXNzYWdl ICgmb3B0aW9uYWwgZmxhZyBpbnRlcnZhbCkKICAgIkVjaG8gYSBtZXNzYWdlIGFib3V0IHByb2dy ZXNzIG9mIGN1cnJlbnQgYnVmZmVyLgpAQCAtMTUxMywyOSArMTU2MywyOSBAQAogICAgICIpIikp CiAKIChkZWZ1biBiaWJ0ZXgtc2VhcmNoLWVudHJ5IChlbXB0eS1oZWFkICZvcHRpb25hbCBib3Vu ZCBub2Vycm9yIGJhY2t3YXJkKQotICAiQSBoZWxwZXIgZnVuY3Rpb24gbmVjZXNzYXJ5IHNpbmNl IHRoZSBmYWlsdXJlIHN0YWNrIHNpemUgbGltaXQgZm9yCi1yZWdleHBzIHdhcyByZWR1Y2VkIGlu IGVtYWNzIDE5LjMyLgotSXQgc2VhcmNoZXMgZm9yIGEgQmliVGVYIGVudHJ5IChtYXliZSB3aXRo b3V0IGEgcmVmZXJlbmNlIGtleSBpZgotRU1QVFktSEVBRCBpcyB0KS4KLUJPVU5EIGFuZCBOT0VS Uk9SIGFyZSBleGFjdGx5IGFzIGluIGByZS1zZWFyY2gtZm9yd2FyZCcuIElmCi1CQUNLV0FSRCBp cyBub24tbmlsLCBzZWFyY2ggaXMgZG9uZSBpbiByZXZlcnNlIGRpcmVjdGlvbi4gQWZ0ZXIKLWNh bGwgdG8gdGhpcyBmdW5jdGlvbiBNQVRDSC1CRUdJTk5JTkcgYW5kIE1BVENILUVORCBmdW5jdGlv bnMgYXJlCi1kZWZpbmVkLCBidXQgb25seSBmb3IgdGhlIGhlYWQgcGFydCBvZiB0aGUgZW50cnkg KGVzcGVjaWFsbHkKLVwobWF0Y2gtZW5kIDApIGp1c3QgZ2l2ZXMgdGhlIGVuZCBvZiB0aGUgaGVh ZCBwYXJ0KS4iCisgICJTZWFyY2ggZm9yIGEgQmliVGVYIGVudHJ5IChtYXliZSB3aXRob3V0IHJl ZmVyZW5jZSBrZXkgaWYgRU1QVFktSEVBRCBpcyB0KS4KK0JPVU5EIGFuZCBOT0VSUk9SIGFyZSBl eGFjdGx5IGFzIGluIGByZS1zZWFyY2gtZm9yd2FyZCcuIElmIEJBQ0tXQVJECitpcyBub24tbmls LCBzZWFyY2ggaXMgZG9uZSBpbiByZXZlcnNlIGRpcmVjdGlvbi4gUG9pbnQgaXMgbW92ZWQgcGFz dCB0aGUKK2Nsb3NpbmcgZGVsaW1pdGVyIChhdCB0aGUgYmVnaW5uaW5nIG9mIGVudHJ5IGlmIEJB Q0tXQVJEIGlzIG5vbi1uaWwpLgorUmV0dXJuIGEgY29ucyBwYWlyIHdpdGggYnVmZmVyIHBvc2l0 aW9ucyBvZiBiZWdpbm5pbmcgYW5kIGVuZCBvZiBlbnRyeS4KK0FmdGVyIGNhbGwgdG8gdGhpcyBm dW5jdGlvbiBNQVRDSC1CRUdJTk5JTkcgYW5kIE1BVENILUVORCBmdW5jdGlvbnMKK2FyZSBkZWZp bmVkLCBidXQgb25seSBmb3IgdGhlIGhlYWQgcGFydCBvZiB0aGUgZW50cnkKK1woZXNwZWNpYWxs eSAobWF0Y2gtZW5kIDApIGp1c3QgZ2l2ZXMgdGhlIGVuZCBvZiB0aGUgaGVhZCBwYXJ0KS4iCiAg IChsZXQgKChwbnQgKHBvaW50KSkKLSAgICAgICAgKHByZWZpeCAoaWYgZW1wdHktaGVhZAotICAg ICAgICAgICAgICAgICAgICBiaWJ0ZXgtZW50cnktbWF5YmUtZW1wdHktaGVhZAotICAgICAgICAg ICAgICAgICAgYmlidGV4LWVudHJ5LWhlYWQpKSkKKyAgICAgICAgKGVudHJ5LWhlYWQtcmUgKGlm IGVtcHR5LWhlYWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpYnRleC1lbnRyeS1tYXli ZS1lbXB0eS1oZWFkCisgICAgICAgICAgICAgICAgICAgICAgICAgYmlidGV4LWVudHJ5LWhlYWQp KSkKICAgICAoaWYgYmFja3dhcmQKICAgICAgICAgKGxldCAoZm91bmQpCiAgICAgICAgICAgKHdo aWxlIChhbmQgKG5vdCBmb3VuZCkKLSAgICAgICAgICAgICAgICAgICAgICAocmUtc2VhcmNoLWJh Y2t3YXJkIHByZWZpeCBib3VuZCBub2Vycm9yKSkKKyAgICAgICAgICAgICAgICAgICAgICAocmUt c2VhcmNoLWJhY2t3YXJkIGVudHJ5LWhlYWQtcmUgYm91bmQgbm9lcnJvcikpCiAgICAgICAgICAg ICAoc2V0cSBmb3VuZCAoYmlidGV4LXNlYXJjaC1lbnRyeSBlbXB0eS1oZWFkIHBudCB0KSkpCiAg ICAgICAgICAgKGlmIGZvdW5kCi0gICAgICAgICAgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lu bmluZyAwKSkKKyAgICAgICAgICAgICAgKHByb2duIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmlu ZyAwKSkKKyAgICAgICAgICAgICAgICAgICAgIGZvdW5kKQogICAgICAgICAgICAgKGNvbmQgKChl cXVhbCBub2Vycm9yIG5pbCkKICAgICAgICAgICAgICAgICAgICA7OyB5ZWxsCi0gICAgICAgICAg ICAgICAgICAgKGVycm9yICJTZWFyY2ggb2YgQmliVGVYIGVudHJ5IGZhaWxlZCIpKQorICAgICAg ICAgICAgICAgICAgIChlcnJvciAiQmFja3dhcmQgc2VhcmNoIG9mIEJpYlRlWCBlbnRyeSBmYWls ZWQiKSkKICAgICAgICAgICAgICAgICAgICgoZXF1YWwgbm9lcnJvciB0KQogICAgICAgICAgICAg ICAgICAgIDs7IGRvbid0IG1vdmUKICAgICAgICAgICAgICAgICAgICAoZ290by1jaGFyIHBudCkp KQpAQCAtMTU0Myw3ICsxNTkzLDcgQEAKICAgICAgIChsZXQgKChsaW1pdCAob3IgYm91bmQgKHBv aW50LW1heCkpKQogICAgICAgICAgICAgZm91bmQpCiAgICAgICAgICh3aGlsZSAoYW5kIChub3Qg Zm91bmQpCi0gICAgICAgICAgICAgICAgICAgIChyZS1zZWFyY2gtZm9yd2FyZCBwcmVmaXggYm91 bmQgbm9lcnJvcikpCisgICAgICAgICAgICAgICAgICAgIChyZS1zZWFyY2gtZm9yd2FyZCBlbnRy eS1oZWFkLXJlIGJvdW5kIG5vZXJyb3IpKQogICAgICAgICAgIChzYXZlLW1hdGNoLWRhdGEKICAg ICAgICAgICAgIChsZXQgKChlbnRyeS1jbG9zZXIKICAgICAgICAgICAgICAgICAgICAoaWYgKHNh dmUtZXhjdXJzaW9uCkBAIC0xNTY5LDcgKzE2MTksNyBAQAogICAgICAgICAgICAgICAgIChnb3Rv LWNoYXIgKG1hdGNoLWVuZCAwKSkKICAgICAgICAgICAgICAgICAoc2V0cSBmb3VuZCB0KSkpKSkK ICAgICAgICAgKGlmIGZvdW5kCi0gICAgICAgICAgICAocG9pbnQpCisgICAgICAgICAgICAoY29u cyAobWF0Y2gtYmVnaW5uaW5nIDApIChwb2ludCkpCiAgICAgICAgICAgKGNvbmQgKChub3Qgbm9l cnJvcikKICAgICAgICAgICAgICAgICAgOzsgeWVsbAogICAgICAgICAgICAgICAgICAoZXJyb3Ig IlNlYXJjaCBvZiBCaWJUZVggZW50cnkgZmFpbGVkIikpCkBAIC0xNTk2LDExICsxNjQ2LDExIEBA CiAgICAgICAobWVzc2FnZSAiRnJvbTogJXMiCiAgICAgICAgICAgICAgICAoYnVmZmVyLXN1YnN0 cmluZyAocG9pbnQpIGZsYXNoKSkpKSkKIAotKGRlZnVuIGJpYnRleC1tYWtlLW9wdGlvbmFsLWZp ZWxkIChlLXQpCi0gICJNYWtlIGFuIG9wdGlvbmFsIGZpZWxkIG5hbWVkIEUtVCBpbiBjdXJyZW50 IEJpYlRlWCBlbnRyeS4iCi0gIChpZiAoY29uc3AgZS10KQotICAgICAgKGJpYnRleC1tYWtlLWZp ZWxkIChjb25zIChjb25jYXQgIk9QVCIgKGNhciBlLXQpKSAoY2RyIGUtdCkpKQotICAgIChiaWJ0 ZXgtbWFrZS1maWVsZCAoY29uY2F0ICJPUFQiIGUtdCkpKSkKKyhkZWZ1biBiaWJ0ZXgtbWFrZS1v cHRpb25hbC1maWVsZCAoZmllbGQpCisgICJNYWtlIGFuIG9wdGlvbmFsIGZpZWxkIG5hbWVkIEZJ RUxEIGluIGN1cnJlbnQgQmliVGVYIGVudHJ5LiIKKyAgKGlmIChjb25zcCBmaWVsZCkKKyAgICAg IChiaWJ0ZXgtbWFrZS1maWVsZCAoY29ucyAoY29uY2F0ICJPUFQiIChjYXIgZmllbGQpKSAoY2Ry IGZpZWxkKSkpCisgICAgKGJpYnRleC1tYWtlLWZpZWxkIChjb25jYXQgIk9QVCIgZmllbGQpKSkp CiAKIChkZWZ1biBiaWJ0ZXgtbW92ZS1vdXRzaWRlLW9mLWVudHJ5ICgpCiAgICJNYWtlIHN1cmUg cG9pbnQgaXMgb3V0c2lkZSBvZiBhIEJpYlRlWCBlbnRyeS4iCkBAIC0xNjQ3LDI5ICsxNjk3LDI2 IEBACiBVc2UgYG1hdGNoLWJlZ2lubmluZycgYW5kIGBtYXRjaC1lbmQnIHRvIHBhcnNlIHRoZSBm aWVsZC4gSWYgTk9FUlIgaXMgbm9uLW5pbCwKIG5vIGVycm9yIGlzIHNpZ25hbGxlZC4gSW4gdGhp cyBjYXNlLCBib3VuZHMgYXJlIHJldHVybmVkIG9uIHN1Y2Nlc3MsCiBuaWwgb3RoZXJ3aXNlLiIK LSAgKGxldCogKChjYXNlLWZvbGQtc2VhcmNoIHQpCi0gICAgICAgICAob2xkLXBvaW50IChwb2lu dCkpCi0gICAgICAgICAoYm9lIChzYXZlLWV4Y3Vyc2lvbiAoYmlidGV4LWJlZ2lubmluZy1vZi1l bnRyeSkpKQotICAgICAgICAgKGJvdW5kcyAoYmlidGV4LXNlYXJjaC1iYWNrd2FyZC1maWVsZCBi aWJ0ZXgtZmllbGQtbmFtZSBib2UpKSkKKyAgKGxldCAoKGJvdW5kcyAoYmlidGV4LXNlYXJjaC1i YWNrd2FyZC1maWVsZCBiaWJ0ZXgtZmllbGQtbmFtZSB0KSkpCiAgICAgKGlmIChhbmQgYm91bmRz Ci0gICAgICAgICAgICAgKDw9IChiaWJ0ZXgtc3RhcnQtb2YtZmllbGQgYm91bmRzKSBvbGQtcG9p bnQpCi0gICAgICAgICAgICAgKD49IChiaWJ0ZXgtZW5kLW9mLWZpZWxkIGJvdW5kcykgb2xkLXBv aW50KSkKKyAgICAgICAgICAgICAoPD0gKGJpYnRleC1zdGFydC1vZi1maWVsZCBib3VuZHMpIChw b2ludCkpCisgICAgICAgICAgICAgKD49IChiaWJ0ZXgtZW5kLW9mLWZpZWxkIGJvdW5kcykgKHBv aW50KSkpCiAgICAgICAgIGJvdW5kcwogICAgICAgKHVubGVzcyBub2VycgogICAgICAgICAoZXJy b3IgIkNhbid0IGZpbmQgZW5jbG9zaW5nIEJpYlRlWCBmaWVsZCIpKSkpKQogCiAoZGVmdW4gYmli dGV4LWVuY2xvc2luZy1lbnRyeS1tYXliZS1lbXB0eS1oZWFkICgpCi0gICJTZWFyY2ggZm9yIEJp YlRlWCBlbnRyeSBlbmNsb3NpbmcgcG9pbnQuIFBvaW50IG1vdmVzIHRvIGVuZCBvZiBlbnRyeS4K KyAgIlNlYXJjaCBmb3IgQmliVGVYIGVudHJ5IGVuY2xvc2luZyBwb2ludC4gTW92ZSBwb2ludCB0 byBlbmQgb2YgZW50cnkuCiBCZWdpbm5pbmcgKGJ1dCBub3QgZW5kKSBvZiBlbnRyeSBpcyBnaXZl biBieSAoYG1hdGNoLWJlZ2lubmluZycgMCkuIgogICAobGV0ICgoY2FzZS1mb2xkLXNlYXJjaCB0 KQogICAgICAgICAob2xkLXBvaW50IChwb2ludCkpKQogICAgICh1bmxlc3MgKHJlLXNlYXJjaC1i YWNrd2FyZCBiaWJ0ZXgtZW50cnktbWF5YmUtZW1wdHktaGVhZCBuaWwgdCkKLSAgICAgIChlcnJv ciAiQ2FuJ3QgZmluZCBlbmNsb3NpbmcgQmliVGVYIGVudHJ5IikKLSAgICAgIChnb3RvLWNoYXIg b2xkLXBvaW50KSkKKyAgICAgIChnb3RvLWNoYXIgb2xkLXBvaW50KQorICAgICAgKGVycm9yICJD YW4ndCBmaW5kIGJlZ2lubmluZyBvZiBlbmNsb3NpbmcgQmliVGVYIGVudHJ5IikpCiAgICAgKGdv dG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIGJpYnRleC10eXBlLWluLWhlYWQpKQogICAgICh1bmxl c3MgKGJpYnRleC1zZWFyY2gtZW50cnkgdCBuaWwgdCkKLSAgICAgIChlcnJvciAiQ2FuJ3QgZmlu ZCBlbmNsb3NpbmcgQmliVGVYIGVudHJ5IikKLSAgICAgIChnb3RvLWNoYXIgb2xkLXBvaW50KSkp KQorICAgICAgKGdvdG8tY2hhciBvbGQtcG9pbnQpCisgICAgICAoZXJyb3IgIkNhbid0IGZpbmQg ZW5kIG9mIGVuY2xvc2luZyBCaWJUZVggZW50cnkiKSkpKQogCiAoZGVmdW4gYmlidGV4LWluc2Vy dC1jdXJyZW50LWtpbGwgKG4pCiAgIChpZiAobm90IGJpYnRleC1sYXN0LWtpbGwtY29tbWFuZCkK QEAgLTE4MzAsMTAgKzE4NzcsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi XFwoW1wie11bMC05XStcXClbIFx0XG5dKi0tP1sgXHRcbl0qXFwoWzAtOV0rW1wifV1cXCkiKSkp CiAgICAgICAgICAgICAgICAgICAocmVwbGFjZS1tYXRjaCAiXFwxLVxcMiIpKQogCi0gICAgICAg ICAgICAgIDs7IHVzZSBib29rIHRpdGxlIG9mIGNyb3NzcmVmZWQgZW50cnkKKyAgICAgICAgICAg ICAgOzsgdXNlIGJvb2sgdGl0bGUgb2YgY3Jvc3NyZWYnZCBlbnRyeQogICAgICAgICAgICAgICAo aWYgKGFuZCAobWVtcSAnaW5oZXJpdC1ib29rdGl0bGUgZm9ybWF0KQotICAgICAgICAgICAgICAg ICAgICAgICAoZXF1YWwgKGRvd25jYXNlIGZpZWxkLW5hbWUpICJib29rdGl0bGUiKQogICAgICAg ICAgICAgICAgICAgICAgICBlbXB0eS1maWVsZAorICAgICAgICAgICAgICAgICAgICAgICAoZXF1 YWwgKGRvd25jYXNlIGZpZWxkLW5hbWUpICJib29rdGl0bGUiKQogICAgICAgICAgICAgICAgICAg ICAgICBjcm9zc3JlZi1rZXkpCiAgICAgICAgICAgICAgICAgICAobGV0ICgodGl0bGUgKHNhdmUt cmVzdHJpY3Rpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3aWRlbikKQEAg LTE4NDQsNiArMTg5MSwxNCBAQAogICAgICAgICAgICAgICAgICAgICAgIChnb3RvLWNoYXIgKDEr IGJlZy10ZXh0KSkKICAgICAgICAgICAgICAgICAgICAgICAoaW5zZXJ0IHRpdGxlKSkpKQogCisJ ICAgICAgOzsgVXNlIGJvb2t0aXRsZSB0byBzZXQgYSBtaXNzaW5nIHRpdGxlLgorCSAgICAgIChp ZiAoYW5kIGVtcHR5LWZpZWxkCisJCSAgICAgICAoZXF1YWwgKGRvd25jYXNlIGZpZWxkLW5hbWUp ICJ0aXRsZSIpKQorCQkgIChsZXQgKChib29rdGl0bGUgKGJpYnRleC10ZXh0LWluLWZpZWxkICJi b29rdGl0bGUiKSkpCisJCSAgICAod2hlbiBib29rdGl0bGUKKwkJICAgICAgKHNldHEgZW1wdHkt ZmllbGQgbmlsKQorCQkgICAgICAoZ290by1jaGFyICgxKyBiZWctdGV4dCkpCisJCSAgICAgIChp bnNlcnQgYm9va3RpdGxlKSkpKQogCiAgICAgICAgICAgICAgIDs7IGlmIGVtcHR5IGZpZWxkLCBj b21wbGFpbgogICAgICAgICAgICAgICAoaWYgKGFuZCBlbXB0eS1maWVsZApAQCAtMTk1NCw5ICsy MDA5LDkgQEAKICAgKGxldCAoKGNhc2UtZm9sZC1zZWFyY2ggdCkpCiAgICAgKG1hcGNhciAnYmli dGV4LWF1dG9rZXktZGVtYW5nbGUtbmFtZQogICAgICAgICAgICAgKHNwbGl0LXN0cmluZyAoYmli dGV4LWF1dG9rZXktZ2V0LWZpZWxkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAiXFwoYXV0 aG9yXFwpXFx8XFwoZWRpdG9yXFwpIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgImF1dGhv clxcfGVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpYnRleC1hdXRva2V5LW5h bWUtY2hhbmdlLXN0cmluZ3MpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJbIF0rYW5kWyBd KyIpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICJbIFx0XG5dK2FuZFsgXHRcbl0rIikp KSkKIAogKGRlZnVuIGJpYnRleC1hdXRva2V5LWRlbWFuZ2xlLW5hbWUgKGZ1bGxuYW1lKQogICAi R2V0IHRoZSBsYXN0IHBhcnQgZnJvbSBhIHdlbGwtZm9ybWVkIG5hbWUgYW5kIHBlcmZvcm0gYWJi cmV2aWF0aW9ucy4iCkBAIC0yMTIwLDcgKzIxNzUsNyBAQAogICAgICAgICAgICAgICAgIChzZXRx IG5ubCAoYXBwZW5kIG5ubCAobGlzdCAoY2FyIG5sKSkpCiAgICAgICAgICAgICAgICAgICAgICAg bmwgKGNkciBubCkpKQogICAgICAgICAgICAgICBubmwpKSkKLSAgICAgICAgIChuYW1lcGFydCAo Y29uY2F0IChtYXBjb25jYXQgKGxhbWJkYSAobmFtZSkgbmFtZSkKKyAgICAgICAgIChuYW1lcGFy dCAoY29uY2F0IChtYXBjb25jYXQgJ2lkZW50aXR5CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG5hbWVsaXN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJpYnRleC1hdXRva2V5LW5hbWUtc2VwYXJhdG9yKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgbmFtZS1ldGFsKSkKQEAgLTIxMzAsNyArMjE4NSw3IEBACiAgICAgICAgICAgICAgICAg ICAgICAoc3Vic3RyaW5nIHllYXJmaWVsZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoLSAobGVuZ3RoIHllYXJmaWVsZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmlidGV4LWF1dG9rZXkteWVhci1sZW5ndGgpKSkpCi0gICAgICAgICAodGl0bGVwYXJ0ICht YXBjb25jYXQgKGxhbWJkYSAobmFtZSkgbmFtZSkKKyAgICAgICAgICh0aXRsZXBhcnQgKG1hcGNv bmNhdCAnaWRlbnRpdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYmlidGV4LWF1 dG9rZXktZ2V0LXRpdGxlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpYnRleC1h dXRva2V5LXRpdGxld29yZC1zZXBhcmF0b3IpKQogICAgICAgICAgKGF1dG9rZXkgKGNvbmNhdCBi aWJ0ZXgtYXV0b2tleS1wcmVmaXgtc3RyaW5nCkBAIC0yMTQ5LDc5ICsyMjA0LDEwNCBAQAogICAg ICAgYXV0b2tleSkpKQogCiAMCi0oZGVmdW4gYmlidGV4LXBhcnNlLWtleXMgKGFkZCB2ZXJib3Nl ICZvcHRpb25hbCBhYm9ydGFibGUpCisoZGVmdW4gYmlidGV4LXBhcnNlLWtleXMgKCZvcHRpb25h bCBhZGQgYWJvcnRhYmxlIHZlcmJvc2UpCiAgICJTZXQgYGJpYnRleC1yZWZlcmVuY2Uta2V5cycg dG8gdGhlIGtleXMgdXNlZCBpbiB0aGUgd2hvbGUgYnVmZmVyLgogVGhlIGJ1ZmZlciBtaWdodCBw b3NzaWJseSBiZSByZXN0cmljdGVkLgogRmluZCBib3RoIGVudHJ5IGtleXMgYW5kIGNyb3NzcmVm IGVudHJpZXMuCi1JZiBBREQgaXMgbm9uLW5pbCBhZGRzIHRoZSBuZXcga2V5cyB0byBgYmlidGV4 LXJlZmVyZW5jZS1rZXlzJyBpbnN0ZWFkIG9mCi1zaW1wbHkgcmVzZXR0aW5nIGl0LiBJZiBWRVJC T1NFIGlzIG5vbi1uaWwgZ2l2ZXMgbWVzc2FnZXMgYWJvdXQKLXByb2dyZXNzLiBJZiBBQk9SVEFC TEUgaXMgbm9uLW5pbCBhYm9ydCBvbiB1c2VyIGlucHV0LgotUmV0dXJuIHQgaWYgcGFyc2luZyB3 YXMgY29tcGxldGVkLCBuaWwgaWYgYWJvcnRlZC4iCi0gIChsZXQgKChyZWZlcmVuY2Uta2V5cyAo aWYgYWRkIGJpYnRleC1yZWZlcmVuY2Uta2V5cykpKQorSWYgQUREIGlzIG5vbi1uaWwgYWRkIHRo ZSBuZXcga2V5cyB0byBgYmlidGV4LXJlZmVyZW5jZS1rZXlzJyBpbnN0ZWFkIG9mCitzaW1wbHkg cmVzZXR0aW5nIGl0LiBJZiBBREQgaXMgYW4gYWxpc3Qgb2Yga2V5cywgYWxzbyBhZGQgQUREIHRv CitgYmlidGV4LXJlZmVyZW5jZS1rZXlzJy4gSWYgQUJPUlRBQkxFIGlzIG5vbi1uaWwgYWJvcnQg b24gdXNlcgoraW5wdXQuIElmIFZFUkJPU0UgaXMgbm9uLW5pbCBnaXZlcyBtZXNzYWdlcyBhYm91 dCBwcm9ncmVzcy4KK1JldHVybiBhbGlzdCBvZiBrZXlzIGlmIHBhcnNpbmcgd2FzIGNvbXBsZXRl ZCwgYGFib3J0ZWQnIG90aGVyd2lzZS4iCisgIChsZXQgKChyZWZlcmVuY2Uta2V5cyAoaWYgKGFu ZCBhZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0cCBiaWJ0ZXgtcmVm ZXJlbmNlLWtleXMpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpYnRleC1yZWZlcmVu Y2Uta2V5cykpKQorICAgIChpZiAobGlzdHAgYWRkKQorICAgICAgICAoZG9saXN0IChrZXkgYWRk KQorICAgICAgICAgICh1bmxlc3MgKGFzc29jIChjYXIga2V5KSByZWZlcmVuY2Uta2V5cykKKyAg ICAgICAgICAgICAgICAgICAgICAocHVzaCBrZXkgcmVmZXJlbmNlLWtleXMpKSkpCiAgICAgKHNh dmUtZXhjdXJzaW9uCiAgICAgICAoc2F2ZS1tYXRjaC1kYXRhCi0gICAgICAgIChnb3RvLWNoYXIg KHBvaW50LW1pbikpCiAgICAgICAgIChpZiB2ZXJib3NlCiAgICAgICAgICAgICAoYmlidGV4LXBy b2dyZXNzLW1lc3NhZ2UKICAgICAgICAgICAgICAoY29uY2F0IChidWZmZXItbmFtZSkgIjogcGFy c2luZyByZWZlcmVuY2Uga2V5cyIpKSkKLSAgICAgICAgKGlmIChjYXRjaCAndXNlcmtleQotICAg ICAgICAgICAgICAod2hpbGUgKGJpYnRleC1za2lwLXRvLXZhbGlkLWVudHJ5KQotICAgICAgICAg ICAgICAgIChpZiAoYW5kIGFib3J0YWJsZQotICAgICAgICAgICAgICAgICAgICAgICAgIChpbnB1 dC1wZW5kaW5nLXApKQotICAgICAgICAgICAgICAgICAgICAodGhyb3cgJ3VzZXJrZXkgdCkpCi0g ICAgICAgICAgICAgICAgKGlmIHZlcmJvc2UKLSAgICAgICAgICAgICAgICAgICAgKGJpYnRleC1w cm9ncmVzcy1tZXNzYWdlKSkKLSAgICAgICAgICAgICAgICAobGV0ICgoY2FzZS1mb2xkLXNlYXJj aCB0KQotICAgICAgICAgICAgICAgICAgICAgIGtleSBjcm9zc3JlZi1rZXkgYm91bmRzKQotICAg ICAgICAgICAgICAgICAgKGNvbmQgKChsb29raW5nLWF0IGJpYnRleC1lbnRyeS1oZWFkKQotICAg ICAgICAgICAgICAgICAgICAgICAgIChzZXRxIGtleSAoYmlidGV4LWtleS1pbi1oZWFkKSkKLSAg ICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgocCAocG9pbnQpKQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChtIChiaWJ0ZXgtZW5kLW9mLWVudHJ5KSkpCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAoZ290by1jaGFyIHApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAo aWYgKHNldHEgYm91bmRzIChiaWJ0ZXgtc2VhcmNoLWZvcndhcmQtZmllbGQgImNyb3NzcmVmIiBt KSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0cSBjcm9zc3JlZi1rZXkgKGJp YnRleC10ZXh0LWluLWZpZWxkLWJvdW5kcyBib3VuZHMgdCkpKSkpCi0gICAgICAgICAgICAgICAg ICAgICAgICAoKHNldHEgYm91bmRzIChiaWJ0ZXgtcGFyc2Utc3RyaW5nKSkKLSAgICAgICAgICAg ICAgICAgICAgICAgICAoc2V0cSBrZXkgKGJpYnRleC1yZWZlcmVuY2Uta2V5LWluLXN0cmluZyBi b3VuZHMpKSkpCi0gICAgICAgICAgICAgICAgICAoZm9yd2FyZC1jaGFyKQotICAgICAgICAgICAg ICAgICAgKHVubGVzcyAoYXNzb2Mga2V5IHJlZmVyZW5jZS1rZXlzKQotICAgICAgICAgICAgICAg ICAgICAocHVzaCAobGlzdCBrZXkpIHJlZmVyZW5jZS1rZXlzKSkKLSAgICAgICAgICAgICAgICAg IChpZiAoYW5kIGNyb3NzcmVmLWtleQotICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5vdCAo YXNzb2MgY3Jvc3NyZWYta2V5IHJlZmVyZW5jZS1rZXlzKSkpCi0gICAgICAgICAgICAgICAgICAg ICAgKHB1c2ggKGxpc3QgY3Jvc3NyZWYta2V5KSByZWZlcmVuY2Uta2V5cykpKSkpCi0gICAgICAg ICAgICA7OyB1c2VyIGhhcyBhYm9ydGVkIGJ5IHR5cGluZyBhIGtleSAtLT4gcmV0dXJuIG5pbAot ICAgICAgICAgICAgbmlsCi0gICAgICAgICAgOzsgc3VjY2Vzc2Z1bCBvcGVyYXRpb24gLS0+IHJl dHVybiB0Ci0gICAgICAgICAgKHNldHEgYmlidGV4LXJlZmVyZW5jZS1rZXlzIHJlZmVyZW5jZS1r ZXlzKQorICAgICAgICAoY2F0Y2ggJ3VzZXJrZXkKKyAgICAgICAgICAoZ290by1jaGFyIChwb2lu dC1taW4pKQorICAgICAgICAgIChpZiBiaWJ0ZXgtcGFyc2Uta2V5cy1mYXN0CisgICAgICAgICAg ICAgIChsZXQgKChjYXNlLWZvbGQtc2VhcmNoIHQpCisgICAgICAgICAgICAgICAgICAgIChyZSAo Y29uY2F0IGJpYnRleC1lbnRyeS1oZWFkICJcXHwiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICIsWyBcdFxuXSpjcm9zc3JlZlsgXHRcbl0qPVsgXHRcbl0qIgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiXFwoXCJbXlwiXSpcIlxcfHtbXn1dKn1cXClbIFx0XG5dKlss fSldIikpKQorICAgICAgICAgICAgICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgcmUgbmls IHQpCisgICAgICAgICAgICAgICAgICAoaWYgKGFuZCBhYm9ydGFibGUgKGlucHV0LXBlbmRpbmct cCkpCisgICAgICAgICAgICAgICAgICAgICAgOzsgdXNlciBoYXMgYWJvcnRlZCBieSB0eXBpbmcg YSBrZXkgLS0+IHJldHVybiBgYWJvcnRlZCcKKyAgICAgICAgICAgICAgICAgICAgICAodGhyb3cg J3VzZXJrZXkgJ2Fib3J0ZWQpKQorICAgICAgICAgICAgICAgICAgKGxldCAoKGtleSAoY29uZCAo KG1hdGNoLWVuZCAzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgVGhp cyBpcyBhIGNyb3NzcmVmLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJ1 ZmZlci1zdWJzdHJpbmctbm8tcHJvcGVydGllcworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICgxKyAobWF0Y2gtYmVnaW5uaW5nIDMpKSAoMS0gKG1hdGNoLWVuZCAzKSkpKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGFzc29jLWlnbm9yZS1jYXNlIChi aWJ0ZXgtdHlwZS1pbi1oZWFkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJpYnRleC1lbnRyeS1maWVsZC1hbGlzdCkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDs7IFRoaXMgaXMgYW4gZW50cnkuCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAobWF0Y2gtc3RyaW5nLW5vLXByb3BlcnRpZXMgYmli dGV4LWtleS1pbi1oZWFkKSkpKSkKKyAgICAgICAgICAgICAgICAgICAgKGlmIChhbmQgKHN0cmlu Z3Aga2V5KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm90IChhc3NvYyBrZXkgcmVm ZXJlbmNlLWtleXMpKSkKKyAgICAgICAgICAgICAgICAgICAgICAocHVzaCAobGlzdCBrZXkpIHJl ZmVyZW5jZS1rZXlzKSkpKSkKKworICAgICAgICAgICAgKGxldCAoOzsgaWdub3JlIEBTdHJpbmcg ZW50cmllcyBiZWNhdXNlIHRoZXkgYXJlIGhhbmRsZWQKKyAgICAgICAgICAgICAgICAgIDs7IHNl cGFyYXRlbHkgYnkgYmlidGV4LXBhcnNlLXN0cmluZ3MKKyAgICAgICAgICAgICAgICAgIChiaWJ0 ZXgtc29ydC1pZ25vcmUtc3RyaW5nLWVudHJpZXMgdCkKKyAgICAgICAgICAgICAgICAgIGNyb3Nz cmVmLWtleSBib3VuZHMpCisgICAgICAgICAgICAgIChiaWJ0ZXgtbWFwLWVudHJpZXMKKyAgICAg ICAgICAgICAgIChsYW1iZGEgKGtleSBiZWcgZW5kKQorICAgICAgICAgICAgICAgICAoaWYgKGFu ZCBhYm9ydGFibGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGlucHV0LXBlbmRpbmctcCkp CisgICAgICAgICAgICAgICAgICAgICA7OyB1c2VyIGhhcyBhYm9ydGVkIGJ5IHR5cGluZyBhIGtl eSAtLT4gcmV0dXJuIGBhYm9ydGVkJworICAgICAgICAgICAgICAgICAgICAgKHRocm93ICd1c2Vy a2V5ICdhYm9ydGVkKSkKKyAgICAgICAgICAgICAgICAgKGlmIHZlcmJvc2UgKGJpYnRleC1wcm9n cmVzcy1tZXNzYWdlKSkKKyAgICAgICAgICAgICAgICAgKHVubGVzcyAoYXNzb2Mga2V5IHJlZmVy ZW5jZS1rZXlzKQorICAgICAgICAgICAgICAgICAgIChwdXNoIChsaXN0IGtleSkgcmVmZXJlbmNl LWtleXMpKQorICAgICAgICAgICAgICAgICAoaWYgKGFuZCAoc2V0cSBib3VuZHMgKGJpYnRleC1z ZWFyY2gtZm9yd2FyZC1maWVsZCAiY3Jvc3NyZWYiIGVuZCkpCisgICAgICAgICAgICAgICAgICAg ICAgICAgIChzZXRxIGNyb3NzcmVmLWtleSAoYmlidGV4LXRleHQtaW4tZmllbGQtYm91bmRzIGJv dW5kcyB0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKG5vdCAoYXNzb2MgY3Jvc3NyZWYt a2V5IHJlZmVyZW5jZS1rZXlzKSkpCisgICAgICAgICAgICAgICAgICAgICAocHVzaCAobGlzdCBj cm9zc3JlZi1rZXkpIHJlZmVyZW5jZS1rZXlzKSkpKSkpCisKICAgICAgICAgICAoaWYgdmVyYm9z ZQogICAgICAgICAgICAgICAoYmlidGV4LXByb2dyZXNzLW1lc3NhZ2UgJ2RvbmUpKQotICAgICAg ICAgIHQpKSkpKQorICAgICAgICAgIDs7IHN1Y2Nlc3NmdWwgb3BlcmF0aW9uIC0tPiByZXR1cm4g YGJpYnRleC1yZWZlcmVuY2Uta2V5cycKKyAgICAgICAgICAoc2V0cSBiaWJ0ZXgtcmVmZXJlbmNl LWtleXMgcmVmZXJlbmNlLWtleXMpKSkpKSkKIAotKGRlZnVuIGJpYnRleC1wYXJzZS1zdHJpbmdz ICgmb3B0aW9uYWwgaW5pdCBhYm9ydGFibGUpCisoZGVmdW4gYmlidGV4LXBhcnNlLXN0cmluZ3Mg KCZvcHRpb25hbCBhZGQgYWJvcnRhYmxlKQogICAiU2V0IGBiaWJ0ZXgtc3RyaW5ncycgdG8gdGhl IHN0cmluZyBkZWZpbml0aW9ucyBpbiB0aGUgd2hvbGUgYnVmZmVyLgogVGhlIGJ1ZmZlciBtaWdo dCBwb3NzaWJseSBiZSByZXN0cmljdGVkLgotT3B0aW9uYWwgYXJnIElOSVQgaXMgdXNlZCB0byBp bml0aWFsaXplIGBiaWJ0ZXgtc3RyaW5ncycuCi1JZiBBQk9SVEFCTEUgaXMgbm9uLW5pbCBhYm9y dCBvbiB1c2VyIGlucHV0LgotUmV0dXJuIHQgaWYgcGFyc2luZyB3YXMgY29tcGxldGVkLCBuaWwg aWYgYWJvcnRlZC4iCitJZiBBREQgaXMgbm9uLW5pbCBhZGQgdGhlIG5ldyBzdHJpbmdzIHRvIGBi aWJ0ZXgtc3RyaW5ncycgaW5zdGVhZCBvZgorc2ltcGx5IHJlc2V0dGluZyBpdC4gSWYgQUREIGlz IGFuIGFsaXN0IG9mIHN0cmluZ3MsIGFsc28gYWRkIEFERCB0bworYGJpYnRleC1zdHJpbmdzJy4g SWYgQUJPUlRBQkxFIGlzIG5vbi1uaWwgYWJvcnQgb24gdXNlciBpbnB1dC4KK1JldHVybiBhbGlz dCBvZiBzdHJpbmdzIGlmIHBhcnNpbmcgd2FzIGNvbXBsZXRlZCwgYGFib3J0ZWQnIG90aGVyd2lz ZS4iCiAgIChzYXZlLWV4Y3Vyc2lvbgogICAgIChzYXZlLW1hdGNoLWRhdGEKICAgICAgIChnb3Rv LWNoYXIgKHBvaW50LW1pbikpCi0gICAgICAobGV0ICgoc3RyaW5ncyBpbml0KQorICAgICAgKGxl dCAoKHN0cmluZ3MgKGlmIChhbmQgYWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo bGlzdHAgYmlidGV4LXN0cmluZ3MpKQorICAgICAgICAgICAgICAgICAgICAgICAgIGJpYnRleC1z dHJpbmdzKSkKICAgICAgICAgICAgIGJvdW5kcyBrZXkpCi0gICAgICAgIChpZiAoY2F0Y2ggJ3Vz ZXJrZXkKLSAgICAgICAgICAgICAgKHdoaWxlIChzZXRxIGJvdW5kcyAoYmlidGV4LXNlYXJjaC1m b3J3YXJkLXN0cmluZykpCi0gICAgICAgICAgICAgICAgKGlmIChhbmQgYWJvcnRhYmxlCi0gICAg ICAgICAgICAgICAgICAgICAgICAgKGlucHV0LXBlbmRpbmctcCkpCi0gICAgICAgICAgICAgICAg ICAgICh0aHJvdyAndXNlcmtleSB0KSkKLSAgICAgICAgICAgICAgICAoc2V0cSBrZXkgKGJpYnRl eC1yZWZlcmVuY2Uta2V5LWluLXN0cmluZyBib3VuZHMpKQotICAgICAgICAgICAgICAgIChpZiAo bm90IChhc3NvYy1pZ25vcmUtY2FzZSBrZXkgc3RyaW5ncykpCi0gICAgICAgICAgICAgICAgICAg IChwdXNoIChjb25zIGtleSAoYmlidGV4LXRleHQtaW4tc3RyaW5nIGJvdW5kcyB0KSkKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RyaW5ncykpCi0gICAgICAgICAgICAgICAgKGdvdG8tY2hh ciAoYmlidGV4LWVuZC1vZi10ZXh0LWluLXN0cmluZyBib3VuZHMpKSkpCi0gICAgICAgICAgICA7 OyB1c2VyIGhhcyBhYm9ydGVkIGJ5IHR5cGluZyBhIGtleSAtLT4gcmV0dXJuIG5pbAotICAgICAg ICAgICAgbmlsCi0gICAgICAgICAgOzsgc3VjY2Vzc2Z1bCBvcGVyYXRpb24gLS0+IHJldHVybiB0 Ci0gICAgICAgICAgKHNldHEgYmlidGV4LXN0cmluZ3Mgc3RyaW5ncykKLSAgICAgICAgICB0KSkp KSkKKyAgICAgICAgKGlmIChsaXN0cCBhZGQpCisgICAgICAgICAgICAoZG9saXN0IChzdHJpbmcg YWRkKQorICAgICAgICAgICAgICAodW5sZXNzIChhc3NvYyAoY2FyIHN0cmluZykgc3RyaW5ncykK KyAgICAgICAgICAgICAgICAocHVzaCBzdHJpbmcgc3RyaW5ncykpKSkKKyAgICAgICAgKGNhdGNo ICd1c2Vya2V5CisgICAgICAgICAgKHdoaWxlIChzZXRxIGJvdW5kcyAoYmlidGV4LXNlYXJjaC1m b3J3YXJkLXN0cmluZykpCisgICAgICAgICAgICAoaWYgKGFuZCBhYm9ydGFibGUKKyAgICAgICAg ICAgICAgICAgICAgIChpbnB1dC1wZW5kaW5nLXApKQorICAgICAgICAgICAgICAgIDs7IHVzZXIg aGFzIGFib3J0ZWQgYnkgdHlwaW5nIGEga2V5IC0tPiByZXR1cm4gYGFib3J0ZWQnCisgICAgICAg ICAgICAgICAgKHRocm93ICd1c2Vya2V5ICdhYm9ydGVkKSkKKyAgICAgICAgICAgIChzZXRxIGtl eSAoYmlidGV4LXJlZmVyZW5jZS1rZXktaW4tc3RyaW5nIGJvdW5kcykpCisgICAgICAgICAgICAo aWYgKG5vdCAoYXNzb2MtaWdub3JlLWNhc2Uga2V5IHN0cmluZ3MpKQorICAgICAgICAgICAgICAg IChwdXNoIChjb25zIGtleSAoYmlidGV4LXRleHQtaW4tc3RyaW5nIGJvdW5kcyB0KSkKKyAgICAg ICAgICAgICAgICAgICAgICBzdHJpbmdzKSkKKyAgICAgICAgICAgIChnb3RvLWNoYXIgKGJpYnRl eC1lbmQtb2YtdGV4dC1pbi1zdHJpbmcgYm91bmRzKSkpCisgICAgICAgICAgOzsgc3VjY2Vzc2Z1 bCBvcGVyYXRpb24gLS0+IHJldHVybiBgYmlidGV4LXN0cmluZ3MnCisgICAgICAgICAgKHNldHEg YmlidGV4LXN0cmluZ3Mgc3RyaW5ncykpKSkpKQogCiAoZGVmdW4gYmlidGV4LXN0cmluZy1maWxl cy1pbml0ICgpCiAgICJSZXR1cm4gaW5pdGlhbGl6YXRpb24gZm9yIGBiaWJ0ZXgtc3RyaW5ncycu CkBAIC0yMjUxLDcgKzIzMzEsNyBAQAogICAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAoYmli dGV4LWVuZC1vZi1zdHJpbmcgYm91bmRzKSkpKQogICAgICAgICAgICAgICAoc2V0cSBmb3VuZCB0 KSkpCiAgICAgICAgICAgKHVubGVzcyBmb3VuZAotICAgICAgICAgICAgKGVycm9yICJGaWxlICVz IG5vdCBpbiBwYXRocyBkZWZpbmVkIGJ5IGJpYnRleC1zdHJpbmctZmlsZS1wYXRoIHZhcmlhYmxl IgorICAgICAgICAgICAgKGVycm9yICJGaWxlICVzIG5vdCBpbiBwYXRocyBkZWZpbmVkIHZpYSBi aWJ0ZXgtc3RyaW5nLWZpbGUtcGF0aCIKICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSkpKSkK ICAgICAgIChhcHBlbmQgYmlidGV4LXByZWRlZmluZWQtc3RyaW5ncyAobnJldmVyc2UgY29tcGwp KSkpKQogCkBAIC0yMjcxLDExICsyMzUxLDkgQEAKICAgICAgICAgICAgICAgKHdpZGVuKQogICAg ICAgICAgICAgICA7OyBPdXRwdXQgbm8gcHJvZ3Jlc3MgbWVzc2FnZXMgaW4gYmlidGV4LXBhcnNl LWtleXMKICAgICAgICAgICAgICAgOzsgYmVjYXVzZSB3aGVuIGluIHktb3Itbi1wIHRoYXQgY2Fu IGhpZGUgdGhlIHF1ZXN0aW9uLgotICAgICAgICAgICAgICAoaWYgKGFuZCAoaWYgYmlidGV4LW1h aW50YWluLXNvcnRlZC1lbnRyaWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAoYmlidGV4 LXBhcnNlLWtleXMgbmlsIG5pbCB0KQotICAgICAgICAgICAgICAgICAgICAgICAgIHQpCisgICAg ICAgICAgICAgIChpZiAoYW5kIChsaXN0cCAoYmlidGV4LXBhcnNlLWtleXMgbmlsIHQpKQogICAg ICAgICAgICAgICAgICAgICAgICA7OyB1cGRhdGUgYmlidGV4LXN0cmluZ3MKLSAgICAgICAgICAg ICAgICAgICAgICAgKGJpYnRleC1wYXJzZS1zdHJpbmdzIHN0cmluZ3MtaW5pdCB0KSkKKyAgICAg ICAgICAgICAgICAgICAgICAgKGxpc3RwIChiaWJ0ZXgtcGFyc2Utc3RyaW5ncyBzdHJpbmdzLWlu aXQgdCkpKQogCiAgICAgICAgICAgICAgICAgICA7OyByZW1lbWJlciB0aGF0IHBhcnNpbmcgd2Fz IHN1Y2Nlc3NmdWwKICAgICAgICAgICAgICAgICAgIChzZXRxIGJpYnRleC1idWZmZXItbGFzdC1w YXJzZWQtdGljayAoYnVmZmVyLW1vZGlmaWVkLXRpY2spKSkpKQpAQCAtMjMxMCw3ICsyMzg4LDkg QEAKICAgICAgICAgICAgbmlsKSkpKQogCiAoZGVmdW4gYmlidGV4LWNvbXBsZXRlLXN0cmluZy1j bGVhbnVwIChzdHIpCi0gICJSZW1vdmUgZW5jbG9zaW5nIGZpZWxkIGRlbGltaXRlcnMuIgorICAi Q2xlYW51cCBhZnRlciBpbnNlcnRpbmcgc3RyaW5nIFNUUi4KK1JlbW92ZSBlbmNsb3NpbmcgZmll bGQgZGVsaW1pdGVycyBmb3Igc3RyaW5nIFNUUi4gRGlzcGxheSBtZXNzYWdlIHdpdGgKK2V4cGFu c2lvbiBvZiBTVFIuIgogICAobGV0ICgocGFpciAoYXNzb2Mgc3RyIGJpYnRleC1zdHJpbmdzKSkp CiAgICAgKHdoZW4gcGFpcgogICAgICAgKGlmIChjZHIgcGFpcikKQEAgLTIzNDgsNyArMjQyOCw3 IEBACiAgICAgKHNldC13aW5kb3ctcG9pbnQgd2luZG93IChwb2ludCkpKSkKIAogKGRlZnVuIGJp YnRleC1wb3AgKGFyZyBkaXJlY3Rpb24pCi0gICJHZW5lcmljIGZ1bmN0aW9uIHRvIGJlIHVzZWQg YnkgYGJpYnRleC1wb3AtcHJldmlvdXMnIGFuZCBgYmlidGV4LXBvcC1uZXh0Jy4iCisgICJHZW5l cmljIGZ1bmN0aW9uIHVzZWQgYnkgYGJpYnRleC1wb3AtcHJldmlvdXMnIGFuZCBgYmlidGV4LXBv cC1uZXh0Jy4iCiAgIChsZXQgKGJpYnRleC1oZWxwLW1lc3NhZ2UpCiAgICAgKGJpYnRleC1maW5k LXRleHQgbmlsKSkKICAgKHNhdmUtZXhjdXJzaW9uCkBAIC0yNDA3LDYgKzI0ODcsMTAgQEAKICAg ICAoYmlidGV4LWZpbmQtdGV4dCBuaWwpKQogICAoc2V0cSB0aGlzLWNvbW1hbmQgJ2JpYnRleC1w b3ApKQogCisoZGVmc3Vic3QgYmlidGV4LXJlYWQta2V5IChwcm9tcHQgJm9wdGlvbmFsIGtleSkK KyAgIlJlYWQgQmliVGVYIGtleSBmcm9tIG1pbmlidWZmZXIgdXNpbmcgUFJPTVBUIGFuZCBkZWZh dWx0IEtFWS4iCisgIChjb21wbGV0aW5nLXJlYWQgcHJvbXB0IGJpYnRleC1yZWZlcmVuY2Uta2V5 cworICAgICAgICAgICAgICAgICAgIG5pbCBuaWwga2V5ICdiaWJ0ZXgta2V5LWhpc3RvcnkpKQog DAogOzsgSW50ZXJhY3RpdmUgRnVuY3Rpb25zOgogCkBAIC0yNDE2LDIyICsyNTAwLDIxIEBACiAK IEdlbmVyYWwgaW5mb3JtYXRpb24gb24gd29ya2luZyB3aXRoIEJpYlRlWCBtb2RlOgogCi1Zb3Ug c2hvdWxkIHVzZSBjb21tYW5kcyBhcyBcXFtiaWJ0ZXgtQm9va10gdG8gZ2V0IGEgdGVtcGxhdGUg Zm9yIGEKK1lvdSBzaG91bGQgdXNlIGNvbW1hbmRzIHN1Y2ggYXMgXFxbYmlidGV4LUJvb2tdIHRv IGdldCBhIHRlbXBsYXRlIGZvciBhCiBzcGVjaWZpYyBlbnRyeS4gWW91IHNob3VsZCB0aGVuIGZp bGwgaW4gYWxsIGRlc2lyZWQgZmllbGRzIHVzaW5nCiBcXFtiaWJ0ZXgtbmV4dC1maWVsZF0gdG8g anVtcCBmcm9tIGZpZWxkIHRvIGZpZWxkLiBBZnRlciBoYXZpbmcgZmlsbGVkCiBpbiBhbGwgZGVz aXJlZCBmaWVsZHMgaW4gdGhlIGVudHJ5LCB5b3Ugc2hvdWxkIGNsZWFuIHRoZSBuZXcgZW50cnkK LXdpdGggY29tbWFuZCBcXFtiaWJ0ZXgtY2xlYW4tZW50cnldLgord2l0aCB0aGUgY29tbWFuZCBc XFtiaWJ0ZXgtY2xlYW4tZW50cnldLgogCi1Tb21lIGZlYXR1cmVzIG9mIEJpYlRlWCBtb2RlIGFy ZSBhdmFpbGFibGUgb25seSBieSBzZXR0aW5nIHZhcmlhYmxlCi1gYmlidGV4LW1haW50YWluLXNv cnRlZC1lbnRyaWVzJyB0byB0LiBIb3dldmVyLCB0aGVuIEJpYlRlWCBtb2RlIHdpbGwKLXdvcmsg d2l0aCBidWZmZXIgY29udGFpbmluZyBvbmx5IHZhbGlkIChzeW50YWN0aWNhbCBjb3JyZWN0KSBl bnRyaWVzCitTb21lIGZlYXR1cmVzIG9mIEJpYlRlWCBtb2RlIGFyZSBhdmFpbGFibGUgb25seSBi eSBzZXR0aW5nIHRoZSB2YXJpYWJsZQorYGJpYnRleC1tYWludGFpbi1zb3J0ZWQtZW50cmllcycg dG8gbm9uLW5pbC4gSG93ZXZlciwgdGhlbiBCaWJUZVggbW9kZSB3aWxsCit3b3JrIG9ubHkgd2l0 aCBidWZmZXJzIGNvbnRhaW5pbmcgdmFsaWQgKHN5bnRhY3RpY2FsIGNvcnJlY3QpIGVudHJpZXMK IGFuZCB3aXRoIGVudHJpZXMgYmVpbmcgc29ydGVkLiBUaGlzIGlzIHVzdWFsbHkgdGhlIGNhc2Us IGlmIHlvdSBoYXZlCiBjcmVhdGVkIGEgYnVmZmVyIGNvbXBsZXRlbHkgd2l0aCBCaWJUZVggbW9k ZSBhbmQgZmluaXNoZWQgZXZlcnkgbmV3CiBlbnRyeSB3aXRoIFxcW2JpYnRleC1jbGVhbi1lbnRy eV0uCiAKLUZvciB0aGlyZCBwYXJ0eSBCaWJUZVggYnVmZmVycywgcGxlYXNlIGNhbGwgdGhlIGZ1 bmN0aW9uCi1gYmlidGV4LWNvbnZlcnQtYWxpZW4nIHRvIGZ1bGx5IHRha2UgYWR2YW50YWdlIG9m IGFsbCBmZWF0dXJlcyBvZgotQmliVGVYIG1vZGUuCitGb3IgdGhpcmQgcGFydHkgQmliVGVYIGZp bGVzLCBjYWxsIHRoZSBmdW5jdGlvbiBgYmlidGV4LWNvbnZlcnQtYWxpZW4nCit0byBmdWxseSB0 YWtlIGFkdmFudGFnZSBvZiBhbGwgZmVhdHVyZXMgb2YgQmliVGVYIG1vZGUuCiAKIAogU3BlY2lh bCBpbmZvcm1hdGlvbjoKQEAgLTI0NDMsOCArMjUyNiw3IEBACiBUaGUgT1BUIG9yIEFMVCBzdHJp bmcgbWF5IGJlIHJlbW92ZWQgZnJvbSBhIGZpZWxkIHdpdGggXFxbYmlidGV4LXJlbW92ZS1PUFQt b3ItQUxUXS4KIFxcW2JpYnRleC1tYWtlLWZpZWxkXSBpbnNlcnRzIGEgbmV3IGZpZWxkIGFmdGVy IHRoZSBjdXJyZW50IG9uZS4KIFxcW2JpYnRleC1raWxsLWZpZWxkXSBraWxscyB0aGUgY3VycmVu dCBmaWVsZCBlbnRpcmVseS4KLVxcW2JpYnRleC15YW5rXSB3aWxsIHlhbmsgdGhlIGxhc3QgcmVj ZW50bHkga2lsbGVkIGZpZWxkIGFmdGVyIHRoZQotY3VycmVudCBmaWVsZC4KK1xcW2JpYnRleC15 YW5rXSB5YW5rcyB0aGUgbGFzdCByZWNlbnRseSBraWxsZWQgZmllbGQgYWZ0ZXIgdGhlIGN1cnJl bnQgZmllbGQuCiBcXFtiaWJ0ZXgtcmVtb3ZlLWRlbGltaXRlcnNdIHJlbW92ZXMgdGhlIGRvdWJs ZS1xdW90ZXMgb3IgYnJhY2VzIGFyb3VuZCB0aGUgdGV4dCBvZiB0aGUgY3VycmVudCBmaWVsZC4K ICBcXFtiaWJ0ZXgtZW1wdHktZmllbGRdIHJlcGxhY2VzIHRoZSB0ZXh0IG9mIHRoZSBjdXJyZW50 IGZpZWxkIHdpdGggdGhlIGRlZmF1bHQgXCJcIiBvciB7fS4KIApAQCAtMjUwNywxMiArMjU4OSw3 IEBACiAgIChzZXRxIG1ham9yLW1vZGUgJ2JpYnRleC1tb2RlKQogICAoc2V0cSBtb2RlLW5hbWUg IkJpYlRlWCIpCiAgIChzZXQtc3ludGF4LXRhYmxlIGJpYnRleC1tb2RlLXN5bnRheC10YWJsZSkK LSAgKG1ha2UtbG9jYWwtdmFyaWFibGUgJ2JpYnRleC1zdHJpbmdzKQotICAobWFrZS1sb2NhbC12 YXJpYWJsZSAnYmlidGV4LXJlZmVyZW5jZS1rZXlzKQogICAobWFrZS1sb2NhbC12YXJpYWJsZSAn YmlidGV4LWJ1ZmZlci1sYXN0LXBhcnNlZC10aWNrKQotICAoYmlidGV4LXBhcnNlLXN0cmluZ3Mg KGJpYnRleC1zdHJpbmctZmlsZXMtaW5pdCkpCi0gIChpZiBiaWJ0ZXgtbWFpbnRhaW4tc29ydGVk LWVudHJpZXMKLSAgICAgIChiaWJ0ZXgtcGFyc2Uta2V5cyBuaWwgbmlsIHQpKQogICA7OyBJbnN0 YWxsIHN0ZWFsdGh5IHBhcnNlIGZ1bmN0aW9uIGlmIG5vdCBhbHJlYWR5IGluc3RhbGxlZAogICAo dW5sZXNzIGJpYnRleC1wYXJzZS1pZGxlLXRpbWVyCiAgICAgKHNldHEgYmlidGV4LXBhcnNlLWlk bGUtdGltZXIgKGJpYnRleC1ydW4td2l0aC1pZGxlLXRpbWVyCkBAIC0yNTI1LDYgKzI2MDIsNyBA QAogICAoc2V0IChtYWtlLWxvY2FsLXZhcmlhYmxlICdjb21tZW50LWNvbHVtbikgMCkKICAgKHNl dCAobWFrZS1sb2NhbC12YXJpYWJsZSAnZGVmdW4tcHJvbXB0LXJlZ2V4cCkgIl5bIFx0XSpAW2Et ekEtWjAtOV0rWyBcdF0qIikKICAgKHNldCAobWFrZS1sb2NhbC12YXJpYWJsZSAnb3V0bGluZS1y ZWdleHApICJbIFx0XSpAIikKKyAgKHNldCAobWFrZS1sb2NhbC12YXJpYWJsZSAnZmlsbC1wYXJh Z3JhcGgtZnVuY3Rpb24pICdiaWJ0ZXgtZmlsbC1maWVsZCkKICAgKHNldCAobWFrZS1sb2NhbC12 YXJpYWJsZSAnZmlsbC1wcmVmaXgpIChtYWtlLXN0cmluZyAoKyBiaWJ0ZXgtZW50cnktb2Zmc2V0 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBiaWJ0ZXgtY29udGxpbmUtaW5kZW50YXRpb24pCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICkpCkBAIC0yNTM4LDExICsyNjE2LDExIEBA CiAgICAgICAgICAgICAgICAgOzsgYnJhY2UtZGVsaW1pdGVkIG9uZXMKICAgICAgICAgICAgICAg ICApCiAgICAgICAgICBuaWwKLSAgICAgICAgIChmb250LWxvY2stc3ludGFjdGljLWtleXdvcmRz IC4gYmlidGV4LWZvbnQtbG9jay1zeW50YWN0aWMta2V5d29yZHMpKSkKLSAgKHNldCAobWFrZS1s b2NhbC12YXJpYWJsZSAnZm9udC1sb2NrLW1hcmstYmxvY2stZnVuY3Rpb24pCi0gICAgICAgKGxh bWJkYSAoKQorICAgICAgICAgKGZvbnQtbG9jay1zeW50YWN0aWMta2V5d29yZHMgLiBiaWJ0ZXgt Zm9udC1sb2NrLXN5bnRhY3RpYy1rZXl3b3JkcykKKwkgKGZvbnQtbG9jay1tYXJrLWJsb2NrLWZ1 bmN0aW9uCisJICAuIChsYW1iZGEgKCkKICAgICAgICAgIChzZXQtbWFyayAoYmlidGV4LWVuZC1v Zi1lbnRyeSkpCi0gICAgICAgICAoYmlidGV4LWJlZ2lubmluZy1vZi1lbnRyeSkpKQorCSAgICAg IChiaWJ0ZXgtYmVnaW5uaW5nLW9mLWVudHJ5KSkpKSkKICAgKHNldHEgaW1lbnUtZ2VuZXJpYy1l eHByZXNzaW9uCiAgICAgICAgIChsaXN0IChsaXN0IG5pbCBiaWJ0ZXgtZW50cnktaGVhZCBiaWJ0 ZXgta2V5LWluLWhlYWQpKSkKICAgKG1ha2UtbG9jYWwtdmFyaWFibGUgJ2Nob29zZS1jb21wbGV0 aW9uLXN0cmluZy1mdW5jdGlvbnMpCkBAIC0yNTYxLDEzICsyNjM5LDkgQEAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBiaWJ0ZXgtZW50cnktZmllbGQtYWxpc3QKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBuaWwgdCBuaWwgJ2JpYnRleC1lbnRyeS10eXBlLWhpc3RvcnkpKSkKICAg ICAgICAgICAgICAgICAgKGxpc3QgZS10KSkpCi0gICh1bmxlc3MgKGNvbnNwIGJpYnRleC1yZWZl cmVuY2Uta2V5cykgKGJpYnRleC1wYXJzZS1rZXlzIG5pbCB0KSkKLSAgKGxldCogKHJlcXVpcmVk Ci0gICAgICAgICBvcHRpb25hbAorICAobGV0KiAocmVxdWlyZWQgb3B0aW9uYWwKICAgICAgICAg IChrZXkgKGlmIGJpYnRleC1tYWludGFpbi1zb3J0ZWQtZW50cmllcwotICAgICAgICAgICAgICAg ICAgKGNvbXBsZXRpbmctcmVhZCAoZm9ybWF0ICIlcyBrZXk6ICIgZW50cnktdHlwZSkKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlidGV4LXJlZmVyZW5jZS1rZXlzCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbCBuaWwgbmlsICdiaWJ0ZXgta2V5LWhp c3RvcnkpKSkKKyAgICAgICAgICAgICAgICAgIChiaWJ0ZXgtcmVhZC1rZXkgKGZvcm1hdCAiJXMg a2V5OiAiIGVudHJ5LXR5cGUpKSkpCiAgICAgICAgICAoZSAoYXNzb2MtaWdub3JlLWNhc2UgZW50 cnktdHlwZSBiaWJ0ZXgtZW50cnktZmllbGQtYWxpc3QpKQogICAgICAgICAgKHItbi1vIChlbHQg ZSAxKSkKICAgICAgICAgIChjLXJlZiAoZWx0IGUgMikpKQpAQCAtMjYwMyw4ICsyNjc3LDkyIEBA CiAgICAgICAoaW5kZW50LXRvLWNvbHVtbiBiaWJ0ZXgtZW50cnktb2Zmc2V0KQogICAgICAgKGlu c2VydCAoYmlidGV4LWVudHJ5LXJpZ2h0LWRlbGltaXRlcikgIlxuXG4iKSkKICAgICAoYmlidGV4 LW5leHQtZmllbGQgdCkKKyAgICAoaWYgKG1lbWJlci1pZ25vcmUtY2FzZSBlbnRyeS10eXBlIGJp YnRleC1hdXRvZmlsbC10eXBlcykKKwkoYmlidGV4LWF1dG9maWxsLWVudHJ5KSkKICAgICAocnVu LWhvb2tzICdiaWJ0ZXgtYWRkLWVudHJ5LWhvb2spKSkKIAorKGRlZnVuIGJpYnRleC1wYXJzZS1l bnRyeSAoKQorICAiUGFyc2UgZW50cnkgYXQgcG9pbnQsIHJldHVybiBhbiBhbGlzdC4KK1RoZSBh bGlzdCBlbGVtZW50cyBoYXZlIHRoZSBmb3JtIChGSUVMRCAuIFRFWFQpLCB3aGVyZSBGSUVMRCBj YW4gYWxzbyBiZQordGhlIHNwZWNpYWwgc3RyaW5ncyBcIj10eXBlPVwiIGFuZCBcIj1rZXk9XCIu IgorICAobGV0IChhbGlzdCBib3VuZHMpCisgICAgKHdoZW4gKGxvb2tpbmctYXQgYmlidGV4LWVu dHJ5LWhlYWQpCisgICAgICAocHVzaCAoY29ucyAiPXR5cGU9IiAobWF0Y2gtc3RyaW5nIGJpYnRl eC10eXBlLWluLWhlYWQpKSBhbGlzdCkKKyAgICAgIChwdXNoIChjb25zICI9a2V5PSIgKG1hdGNo LXN0cmluZyBiaWJ0ZXgta2V5LWluLWhlYWQpKSBhbGlzdCkKKyAgICAgIChnb3RvLWNoYXIgKG1h dGNoLWVuZCBiaWJ0ZXgta2V5LWluLWhlYWQpKQorICAgICAgKHdoaWxlIChzZXRxIGJvdW5kcyAo YmlidGV4LXBhcnNlLWZpZWxkIGJpYnRleC1maWVsZC1uYW1lKSkKKwkocHVzaCAoY29ucyAoYmli dGV4LW5hbWUtaW4tZmllbGQgYm91bmRzKQorCQkgICAgKGJpYnRleC10ZXh0LWluLWZpZWxkLWJv dW5kcyBib3VuZHMpKQorCSAgICAgIGFsaXN0KQorCShnb3RvLWNoYXIgKGJpYnRleC1lbmQtb2Yt ZmllbGQgYm91bmRzKSkpKQorICAgIGFsaXN0KSkKKworKGRlZnVuIGJpYnRleC1hdXRvZmlsbC1l bnRyeSAoKQorICAiVHJ5IHRvIGZpbGwgZmllbGRzIGJhc2VkIG9uIHN1cnJvdW5kaW5nIGVudHJp ZXMuIgorICAoaW50ZXJhY3RpdmUpCisgICh1bmRvLWJvdW5kYXJ5KQk7U28geW91IGNhbiBlYXNp bHkgdW5kbyBpdCwgaWYgaXQgZGlkbid0IHdvcmsgcmlnaHQuCisgIChiaWJ0ZXgtYmVnaW5uaW5n LW9mLWVudHJ5KQorICAod2hlbiAobG9va2luZy1hdCBiaWJ0ZXgtZW50cnktaGVhZCkKKyAgICAo bGV0ICgodHlwZSAobWF0Y2gtc3RyaW5nIGJpYnRleC10eXBlLWluLWhlYWQpKQorCSAgKGtleSAo bWF0Y2gtc3RyaW5nIGJpYnRleC1rZXktaW4taGVhZCkpCisJICAoa2V5LWVuZCAobWF0Y2gtZW5k IGJpYnRleC1rZXktaW4taGVhZCkpCisgICAgICAgICAgKGNhc2UtZm9sZC1zZWFyY2ggdCkKKwkg IHRtcCBvdGhlci1rZXkgb3RoZXIgYm91bmRzKQorICAgICAgOzsgVGhlIGZpZWxkcyB3ZSB3YW50 IHRvIGNoYW5nZSBzdGFydCByaWdodCBhZnRlciB0aGUga2V5LgorICAgICAgKGdvdG8tY2hhciBr ZXktZW5kKQorICAgICAgOzsgRmlyc3Qgc2VlIHdoZXRoZXIgdG8gdXNlIHRoZSBwcmV2aW91cyBv ciB0aGUgbmV4dCBlbnRyeQorICAgICAgOzsgZm9yICJpbnNwaXJhdGlvbiIuCisgICAgICAoc2F2 ZS1leGN1cnNpb24KKwkoZ290by1jaGFyICgxLSAobWF0Y2gtYmVnaW5uaW5nIDApKSkKKwkoYmli dGV4LWJlZ2lubmluZy1vZi1lbnRyeSkKKwkod2hlbiAoYW5kCisJICAgICAgIChsb29raW5nLWF0 IGJpYnRleC1lbnRyeS1oZWFkKQorCSAgICAgICAoZXF1YWwgdHlwZSAobWF0Y2gtc3RyaW5nIGJp YnRleC10eXBlLWluLWhlYWQpKQorCSAgICAgICA7OyBJbiBjYXNlIHdlIGZvdW5kIG91cnNlbHZl cyA6LSgKKwkgICAgICAgKG5vdCAoZXF1YWwga2V5IChzZXRxIHRtcCAobWF0Y2gtc3RyaW5nIGJp YnRleC1rZXktaW4taGVhZCkpKSkpCisJICAoc2V0cSBvdGhlci1rZXkgdG1wKQorCSAgKHNldHEg b3RoZXIgKHBvaW50KSkpKQorICAgICAgKHNhdmUtZXhjdXJzaW9uCisJKGJpYnRleC1lbmQtb2Yt ZW50cnkpCisJKGJpYnRleC1za2lwLXRvLXZhbGlkLWVudHJ5KQorCSh3aGVuIChhbmQKKwkgICAg ICAgKGxvb2tpbmctYXQgYmlidGV4LWVudHJ5LWhlYWQpCisJICAgICAgIChlcXVhbCB0eXBlICht YXRjaC1zdHJpbmcgYmlidGV4LXR5cGUtaW4taGVhZCkpCisJICAgICAgIDs7IEluIGNhc2Ugd2Ug Zm91bmQgb3Vyc2VsdmVzIDotKAorCSAgICAgICAobm90IChlcXVhbCBrZXkgKHNldHEgdG1wICht YXRjaC1zdHJpbmcgYmlidGV4LWtleS1pbi1oZWFkKSkpKQorCSAgICAgICAob3IgKG5vdCBvdGhl ci1rZXkpCisJCSAgIDs7IENoZWNrIHdoaWNoIGlzIHRoZSBiZXN0IG1hdGNoLgorCQkgICAoPCAo bGVuZ3RoICh0cnktY29tcGxldGlvbiAiIiAobGlzdCBrZXkgb3RoZXIta2V5KSkpCisJCSAgICAg IChsZW5ndGggKHRyeS1jb21wbGV0aW9uICIiIChsaXN0IGtleSB0bXApKSkpKSkKKwkgIChzZXRx IG90aGVyLWtleSB0bXApCisJICAoc2V0cSBvdGhlciAocG9pbnQpKSkpCisgICAgICA7OyBUaGVu IGZpbGwgdGhlIG5ldyBlbnRyeSdzIGZpZWxkcyB3aXRoIHRoZSBjaG9zZW4gb3RoZXIgZW50cnku CisgICAgICAod2hlbiBvdGhlcgorCShzZXRxIG90aGVyIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1j aGFyIG90aGVyKSAoYmlidGV4LXBhcnNlLWVudHJ5KSkpCisJKHNldHEga2V5LWVuZCAocG9pbnQp KQkgICAgO0luIGNhc2UgcGFyc2UtZW50cnkgY2hhbmdlZCB0aGUgYnVmZmVyLgorCSh3aGlsZSAo c2V0cSBib3VuZHMgKGJpYnRleC1wYXJzZS1maWVsZCBiaWJ0ZXgtZmllbGQtbmFtZSkpCisJICAo Z290by1jaGFyIChiaWJ0ZXgtc3RhcnQtb2YtbmFtZS1pbi1maWVsZCBib3VuZHMpKQorCSAgKGxl dCogKChuYW1lIChidWZmZXItc3Vic3RyaW5nCisJCQkoaWYgKGxvb2tpbmctYXQgIkFMVFxcfE9Q VCIpIChtYXRjaC1lbmQgMCkgKHBvaW50KSkKKwkJCShiaWJ0ZXgtZW5kLW9mLW5hbWUtaW4tZmll bGQgYm91bmRzKSkpCisJCSAodGV4dCAoYXNzb2MtaWdub3JlLWNhc2UgbmFtZSBvdGhlcikpKQor CSAgICAoZ290by1jaGFyIChiaWJ0ZXgtc3RhcnQtb2YtdGV4dC1pbi1maWVsZCBib3VuZHMpKQor CSAgICAoaWYgKG5vdCAoYW5kIChsb29raW5nLWF0IGJpYnRleC1lbXB0eS1maWVsZC1yZSkgdGV4 dCkpCisJCShnb3RvLWNoYXIgKGJpYnRleC1lbmQtb2YtZmllbGQgYm91bmRzKSkKKwkgICAgICAo ZGVsZXRlLXJlZ2lvbiAocG9pbnQpIChiaWJ0ZXgtZW5kLW9mLXRleHQtaW4tZmllbGQgYm91bmRz KSkKKwkgICAgICAoaW5zZXJ0IChjZHIgdGV4dCkpKSkpCisJOzsgRmluYWxseSB0cnkgdG8gdXBk YXRlIHRoZSB0ZXh0IGJhc2VkIG9uIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4KKwk7OyB0aGUgdHdv IGtleXMuCisJKGxldCogKChwcmVmaXggKHRyeS1jb21wbGV0aW9uICIiIChsaXN0IGtleSBvdGhl ci1rZXkpKSkKKwkgICAgICAgOzsgSWYgdGhlIGtleXMgYXJlIGZvbzkxIGFuZCBmb285MiwgZG9u J3QgcmVwbGFjZSAxIGZvciAyCisJICAgICAgIDs7IGJ1dCA5MSBmb3IgOTIgaW5zdGVhZC4KKwkg ICAgICAgKF8gKGlmIChzdHJpbmctbWF0Y2ggIlswLTldK1xcJyIgcHJlZml4KQorCQkgICAgICAo c2V0cSBwcmVmaXggKHN1YnN0cmluZyBwcmVmaXggMCAobWF0Y2gtYmVnaW5uaW5nIDApKSkpKQor CSAgICAgICAoc3VmZml4IChzdWJzdHJpbmcga2V5IChsZW5ndGggcHJlZml4KSkpCisJICAgICAg IChvdGhlci1zdWZmaXggKHN1YnN0cmluZyBvdGhlci1rZXkgKGxlbmd0aCBwcmVmaXgpKSkpCisJ ICAod2hpbGUgKHJlLXNlYXJjaC1iYWNrd2FyZCAocmVnZXhwLXF1b3RlIG90aGVyLXN1ZmZpeCkg a2V5LWVuZCAnbW92ZSkKKwkgICAgKHJlcGxhY2UtbWF0Y2ggc3VmZml4KSkpKSkpKQorCiAoZGVm dW4gYmlidGV4LXByaW50LWhlbHAtbWVzc2FnZSAoKQogICAiUHJpbnQgaGVscGZ1bCBpbmZvcm1h dGlvbiBhYm91dCBjdXJyZW50IGZpZWxkIGluIGN1cnJlbnQgQmliVGVYIGVudHJ5LiIKICAgKGlu dGVyYWN0aXZlKQpAQCAtMjYxNSw3ICsyNzczLDcgQEAKICAgICAgICAgICAgKGZpZWxkLW5hbWUg KGJ1ZmZlci1zdWJzdHJpbmctbm8tcHJvcGVydGllcwogICAgICAgICAgICAgICAgICAgICAgICAg KGlmIChwcm9nbiAoZ290by1jaGFyIG1iKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAobG9va2luZy1hdCAiT1BUXFx8QUxUIikpCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgKCsgMyBtYikgbWIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hdGNoLWVuZCAw KSBtYikKICAgICAgICAgICAgICAgICAgICAgICAgIChiaWJ0ZXgtZW5kLW9mLW5hbWUtaW4tZmll bGQgYm91bmRzKSkpCiAgICAgICAgICAgIChlbnRyeS10eXBlIChwcm9nbiAocmUtc2VhcmNoLWJh Y2t3YXJkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlidGV4LWVudHJ5LW1heWJl LWVtcHR5LWhlYWQgbmlsIHQpCkBAIC0yNjQxLDgyICsyNzk5LDg2IEBACiAgICAgICAgICAgKG1l c3NhZ2UgKGVsdCBjb21tZW50IDEpKQogICAgICAgICAobWVzc2FnZSAiTm8gY29tbWVudCBhdmFp bGFibGUiKSkpKSkKIAotKGRlZnVuIGJpYnRleC1tYWtlLWZpZWxkIChlLXQgJm9wdGlvbmFsIGNh bGxlZC1ieS15YW5rKQotICAiTWFrZSBhIGZpZWxkIG5hbWVkIEUtVCBpbiBjdXJyZW50IEJpYlRl WCBlbnRyeS4iCisoZGVmdW4gYmlidGV4LW1ha2UtZmllbGQgKGZpZWxkICZvcHRpb25hbCBjYWxs ZWQtYnkteWFuaykKKyAgIk1ha2UgYSBmaWVsZCBuYW1lZCBGSUVMRCBpbiBjdXJyZW50IEJpYlRl WCBlbnRyeS4KK0ZJRUxEIGlzIGVpdGhlciBhIHN0cmluZyBvciBhIGxpc3Qgb2YgdGhlIGZvcm0K K1woRklFTEQtTkFNRSBDT01NRU5ULVNUUklORyBJTklUIEFMVEVSTkFUSVZFLUZMQUcpIGFzIGlu CitgYmlidGV4LWVudHJ5LWZpZWxkLWFsaXN0Jy4iCiAgIChpbnRlcmFjdGl2ZQogICAgKGxpc3Qg KGxldCogKChlbnRyeS10eXBlCiAgICAgICAgICAgICAgICAgIChzYXZlLWV4Y3Vyc2lvbgogICAg ICAgICAgICAgICAgICAgIChiaWJ0ZXgtZW5jbG9zaW5nLWVudHJ5LW1heWJlLWVtcHR5LWhlYWQp CiAgICAgICAgICAgICAgICAgICAgKGJpYnRleC10eXBlLWluLWhlYWQpKSkKLSAgICAgICAgICAg ICAgICAoZmwgKGNhZHIgKGFzc29jLWlnbm9yZS1jYXNlCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICBlbnRyeS10eXBlIGJpYnRleC1lbnRyeS1maWVsZC1hbGlzdCkpKQotICAgICAgICAgICAg ICAgIChmaWVsZC1saXN0IChhcHBlbmQgKGVsdCBmbCAwKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGVsdCBmbCAxKQorICAgICAgICAgICAgICAgIDs7ICJwcmVsaW1pbmFy eSIgY29tcGxldGlvbiBsaXN0CisgICAgICAgICAgICAgICAgKGZsIChudGggMSAoYXNzb2MtaWdu b3JlLWNhc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyeS10eXBlIGJpYnRleC1l bnRyeS1maWVsZC1hbGlzdCkpKQorICAgICAgICAgICAgICAgIDs7ICJmdWxsIiBjb21wbGV0aW9u IGxpc3QKKyAgICAgICAgICAgICAgICAoZmllbGQtbGlzdCAoYXBwZW5kIChudGggMCBmbCkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChudGggMSBmbCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJpYnRleC11c2VyLW9wdGlvbmFsLWZpZWxkcwotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIGJpYnRleC1pbmNsdWRlLU9QVGNy b3NzcmVmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygoImNyb3Nz cmVmIiBuaWwpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAobWVt YmVyIGVudHJ5LXR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJpYnRleC1pbmNsdWRlLU9QVGNyb3NzcmVmKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICcoKCJjcm9zc3JlZiIpKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChpZiBiaWJ0ZXgtaW5jbHVkZS1PUFRrZXkKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnKCgia2V5IiBuaWwpKSkpKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoKCJrZXkiKSkpKSkKICAgICAgICAgICAgICAg ICAoY29tcGxldGlvbi1pZ25vcmUtY2FzZSB0KSkKICAgICAgICAgICAgKGNvbXBsZXRpbmctcmVh ZCAiQmliVGVYIGZpZWxkIG5hbWU6ICIgZmllbGQtbGlzdAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG5pbCBuaWwgbmlsIGJpYnRleC1maWVsZC1oaXN0b3J5KSkpKQotICAodW5sZXNzIChj b25zcCBlLXQpCi0gICAgKHNldHEgZS10IChsaXN0IGUtdCkpKQotICAobGV0ICgobmFtZSAoaWYg KGVsdCBlLXQgMykKLSAgICAgICAgICAgICAgICAgIChjb25jYXQgIkFMVCIgKGNhciBlLXQpKQot ICAgICAgICAgICAgICAgIChjYXIgZS10KSkpKQotICAgIChpZiAob3IgKGludGVyYWN0aXZlLXAp IGNhbGxlZC1ieS15YW5rKQotICAgICAgICAobGV0IChiaWJ0ZXgtaGVscC1tZXNzYWdlKQotICAg ICAgICAgIChiaWJ0ZXgtZmluZC10ZXh0IG5pbCB0IHQpCi0gICAgICAgICAgKGlmIChsb29raW5n LWF0ICJbfVwiXSIpCi0gICAgICAgICAgICAgIChmb3J3YXJkLWNoYXIpKSkpCi0gICAgKGluc2Vy dCAiLFxuIikKLSAgICAoaW5kZW50LXRvLWNvbHVtbiAoKyBiaWJ0ZXgtZW50cnktb2Zmc2V0IGJp YnRleC1maWVsZC1pbmRlbnRhdGlvbikpCi0gICAgKGluc2VydCBuYW1lICIgIikKLSAgICAoaWYg YmlidGV4LWFsaWduLWF0LWVxdWFsLXNpZ24KLSAgICAgICAgKGluZGVudC10by1jb2x1bW4gKCsg YmlidGV4LWVudHJ5LW9mZnNldAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoLSBiaWJ0 ZXgtdGV4dC1pbmRlbnRhdGlvbiAyKSkpKQotICAgIChpbnNlcnQgIj0gIikKLSAgICAoaWYgKG5v dCBiaWJ0ZXgtYWxpZ24tYXQtZXF1YWwtc2lnbikKLSAgICAgICAgKGluZGVudC10by1jb2x1bW4g KCsgYmlidGV4LWVudHJ5LW9mZnNldAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWJ0 ZXgtdGV4dC1pbmRlbnRhdGlvbikpKQotICAgIChpbnNlcnQgKGlmIGNhbGxlZC1ieS15YW5rCi0g ICAgICAgICAgICAgICAgIiIKLSAgICAgICAgICAgICAgKGJpYnRleC1maWVsZC1sZWZ0LWRlbGlt aXRlcikpCi0gICAgICAgICAgICAobGV0ICgoaW5pdCAoZWx0IGUtdCAyKSkpCi0gICAgICAgICAg ICAgIChjb25kICgoc3RyaW5ncCBpbml0KQotICAgICAgICAgICAgICAgICAgICAgaW5pdCkKLSAg ICAgICAgICAgICAgICAgICAgKChmYm91bmRwIGluaXQpCi0gICAgICAgICAgICAgICAgICAgICAo ZnVuY2FsbCBpbml0KSkKLSAgICAgICAgICAgICAgICAgICAgKHQgIiIpKSkKLSAgICAgICAgICAg IChpZiBjYWxsZWQtYnkteWFuawotICAgICAgICAgICAgICAgICIiCi0gICAgICAgICAgICAgIChi aWJ0ZXgtZmllbGQtcmlnaHQtZGVsaW1pdGVyKSkpCi0gICAgKGlmIChpbnRlcmFjdGl2ZS1wKQot ICAgICAgICAoZm9yd2FyZC1jaGFyIC0xKSkpKQorICAodW5sZXNzIChjb25zcCBmaWVsZCkKKyAg ICAoc2V0cSBmaWVsZCAobGlzdCBmaWVsZCkpKQorICAoaWYgKG9yIChpbnRlcmFjdGl2ZS1wKSBj YWxsZWQtYnkteWFuaykKKyAgICAgIChsZXQgKGJpYnRleC1oZWxwLW1lc3NhZ2UpCisgICAgICAg IChiaWJ0ZXgtZmluZC10ZXh0IG5pbCB0IHQpCisgICAgICAgIChpZiAobG9va2luZy1hdCAiW31c Il0iKQorICAgICAgICAgICAgKGZvcndhcmQtY2hhcikpKSkKKyAgKGluc2VydCAiLFxuIikKKyAg KGluZGVudC10by1jb2x1bW4gKCsgYmlidGV4LWVudHJ5LW9mZnNldCBiaWJ0ZXgtZmllbGQtaW5k ZW50YXRpb24pKQorICAoaWYgKG50aCAzIGZpZWxkKSAoaW5zZXJ0ICJBTFQiKSkKKyAgKGluc2Vy dCAoY2FyIGZpZWxkKSAiICIpCisgIChpZiBiaWJ0ZXgtYWxpZ24tYXQtZXF1YWwtc2lnbgorICAg ICAgKGluZGVudC10by1jb2x1bW4gKCsgYmlidGV4LWVudHJ5LW9mZnNldAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgKC0gYmlidGV4LXRleHQtaW5kZW50YXRpb24gMikpKSkKKyAgKGluc2Vy dCAiPSAiKQorICAoaWYgKG5vdCBiaWJ0ZXgtYWxpZ24tYXQtZXF1YWwtc2lnbikKKyAgICAgIChp bmRlbnQtdG8tY29sdW1uICgrIGJpYnRleC1lbnRyeS1vZmZzZXQKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJpYnRleC10ZXh0LWluZGVudGF0aW9uKSkpCisgIChpZiAobm90IGNhbGxlZC1i eS15YW5rKSAoaW5zZXJ0IChiaWJ0ZXgtZmllbGQtbGVmdC1kZWxpbWl0ZXIpKSkKKyAgKGxldCAo KGluaXQgKG50aCAyIGZpZWxkKSkpCisgICAgKGNvbmQgKChzdHJpbmdwIGluaXQpCisgICAgICAg ICAgIChpbnNlcnQgaW5pdCkpCisgICAgICAgICAgKChmYm91bmRwIGluaXQpCisgICAgICAgICAg IChpbnNlcnQgKGZ1bmNhbGwgaW5pdCkpKSkpCisgIChpZiAobm90IGNhbGxlZC1ieS15YW5rKSAo aW5zZXJ0IChiaWJ0ZXgtZmllbGQtcmlnaHQtZGVsaW1pdGVyKSkpCisgIChpZiAoaW50ZXJhY3Rp dmUtcCkKKyAgICAgIChmb3J3YXJkLWNoYXIgLTEpKSkKIAogKGRlZnVuIGJpYnRleC1iZWdpbm5p bmctb2YtZW50cnkgKCkKICAgIk1vdmUgdG8gYmVnaW5uaW5nIG9mIEJpYlRlWCBlbnRyeSAoYmVn aW5uaW5nIG9mIGxpbmUpLgogSWYgaW5zaWRlIGFuIGVudHJ5LCBtb3ZlIHRvIHRoZSBiZWdpbm5p bmcgb2YgaXQsIG90aGVyd2lzZSBtb3ZlIHRvIHRoZQotYmVnaW5uaW5nIG9mIHRoZSBwcmV2aW91 cyBlbnRyeS4KLUlmIGNhbGxlZCBmcm9tIGEgcHJvZ3JhbSwgdGhpcyBmdW5jdGlvbiByZXR1cm5z IHRoZSBuZXcgbG9jYXRpb24gb2YgcG9pbnQuIgorYmVnaW5uaW5nIG9mIHRoZSBwcmV2aW91cyBl bnRyeS4gSWYgcG9pbnQgaXMgYWhlYWQgb2YgYWxsIEJpYlRlWCBlbnRyaWVzCittb3ZlIHBvaW50 IHRvIHRoZSBiZWdpbm5pbmcgb2YgYnVmZmVyLiBSZXR1cm4gdGhlIG5ldyBsb2NhdGlvbiBvZiBw b2ludC4iCiAgIChpbnRlcmFjdGl2ZSkKICAgKHNraXAtY2hhcnMtZm9yd2FyZCAiIFx0IikKICAg KGlmIChsb29raW5nLWF0ICJAIikKICAgICAgIChmb3J3YXJkLWNoYXIpKQotICAocmUtc2VhcmNo LWJhY2t3YXJkICJeWyBcdF0qQCIgbmlsICdtb3ZlKSkKKyAgKHJlLXNlYXJjaC1iYWNrd2FyZCAi XlsgXHRdKkAiIG5pbCAnbW92ZSkKKyAgKHBvaW50KSkKIAogKGRlZnVuIGJpYnRleC1lbmQtb2Yt ZW50cnkgKCkKICAgIk1vdmUgdG8gZW5kIG9mIEJpYlRlWCBlbnRyeSAocGFzdCB0aGUgY2xvc2lu ZyBicmFjZSkuCiBJZiBpbnNpZGUgYW4gZW50cnksIG1vdmUgdG8gdGhlIGVuZCBvZiBpdCwgb3Ro ZXJ3aXNlIG1vdmUgdG8gdGhlIGVuZAogb2YgdGhlIHByZXZpb3VzIGVudHJ5LiBEbyBub3QgbW92 ZSBpZiBhaGVhZCBvZiBmaXJzdCBlbnRyeS4KLUlmIGNhbGxlZCBmcm9tIGEgcHJvZ3JhbSwgdGhp cyBmdW5jdGlvbiByZXR1cm5zIHRoZSBuZXcgbG9jYXRpb24gb2YgcG9pbnQuIgorUmV0dXJuIHRo ZSBuZXcgbG9jYXRpb24gb2YgcG9pbnQuIgogICAoaW50ZXJhY3RpdmUpCiAgIChsZXQgKChjYXNl LWZvbGQtc2VhcmNoIHQpCiAgICAgICAgIChvcmcgKHBvaW50KSkKICAgICAgICAgKHBudCAoYmli dGV4LWJlZ2lubmluZy1vZi1lbnRyeSkpCiAgICAgICAgIGVyciBib3VuZHMpCi0gICAgKGNvbmQg KChzZXRxIGJvdW5kcyAoYmlidGV4LXBhcnNlLXN0cmluZykpCisgICAgKGNvbmQgKChsb29raW5n LWF0IGJpYnRleC12YWxpZC1lbnRyeS13aGl0ZXNwYWNlLXJlKQorICAgICAgICAgICAoYmlidGV4 LXNlYXJjaC1lbnRyeSB0IG5pbCB0KQorICAgICAgICAgICAodW5sZXNzIChlcXVhbCAobWF0Y2gt YmVnaW5uaW5nIDApIHBudCkKKyAgICAgICAgICAgICAoc2V0cSBlcnIgdCkpKQorICAgICAgICAg ICgoc2V0cSBib3VuZHMgKGJpYnRleC1wYXJzZS1zdHJpbmcpKQogICAgICAgICAgICAoZ290by1j aGFyIChiaWJ0ZXgtZW5kLW9mLXN0cmluZyBib3VuZHMpKSkKICAgICAgICAgICAoKGxvb2tpbmct YXQgIlsgXHRdKkBbIFx0XSpwcmVhbWJsZVsgXHRcbl0qIikKICAgICAgICAgICAgKGdvdG8tY2hh ciAobWF0Y2gtZW5kIDApKQpAQCAtMjczMSwxMCArMjg5Myw2IEBACiAgICAgICAgICAgICh1bmxl c3MgZXJyCiAgICAgICAgICAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQogICAg ICAgICAgICAgIChmb3J3YXJkLWNoYXIpKSkKLSAgICAgICAgICAoKGxvb2tpbmctYXQgYmlidGV4 LXZhbGlkLWVudHJ5LXdoaXRlc3BhY2UtcmUpCi0gICAgICAgICAgIChiaWJ0ZXgtc2VhcmNoLWVu dHJ5IHQgbmlsIHQpCi0gICAgICAgICAgICh1bmxlc3MgKGVxdWFsIChtYXRjaC1iZWdpbm5pbmcg MCkgcG50KQotICAgICAgICAgICAgIChzZXRxIGVyciB0KSkpCiAgICAgICAgICAgKHQKICAgICAg ICAgICAgKGlmIChpbnRlcmFjdGl2ZS1wKQogICAgICAgICAgICAgICAgKG1lc3NhZ2UgIk5vdCBv biBhIGtub3duIEJpYlRlWCBlbnRyeS4iKSkKQEAgLTI3NzcsMjQgKzI5MzUsMjQgQEAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChyZWdpb24tZW5kKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChwb2ludC1tYXgpKSkKICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkK LSAgICAgICAgKGJpYnRleC1tYXAtZW50cmllcyAobGFtYmRhIChjdXJyZW50KQorICAgICAgICAo YmlidGV4LW1hcC1lbnRyaWVzIChsYW1iZGEgKGtleSBiZWcgZW5kKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHNldHEgbnVtYmVyICgxKyBudW1iZXIpKSkpKSkKICAgICAobWVzc2Fn ZSAiJXMgY29udGFpbnMgJWQgZW50cmllcy4iCiAgICAgICAgICAgICAgKGlmIChiaWJ0ZXgtbWFy ay1hY3RpdmUpICJSZWdpb24iICJCdWZmZXIiKQotICAgICAgICAgICAgICAgbnVtYmVyKSkpCisg ICAgICAgICAgICAgbnVtYmVyKSkpCiAKIChkZWZ1biBiaWJ0ZXgtaXNwZWxsLWVudHJ5ICgpCiAg ICJTcGVsbCB3aG9sZSBCaWJUZVggZW50cnkuIgogICAoaW50ZXJhY3RpdmUpCi0gIChpc3BlbGwt cmVnaW9uIChiaWJ0ZXgtYmVnaW5uaW5nLW9mLWVudHJ5KQotICAgICAgICAgICAgICAgICAoYmli dGV4LWVuZC1vZi1lbnRyeSkpKQorICAoaXNwZWxsLXJlZ2lvbiAoc2F2ZS1leGN1cnNpb24gKGJp YnRleC1iZWdpbm5pbmctb2YtZW50cnkpKQorICAgICAgICAgICAgICAgICAoc2F2ZS1leGN1cnNp b24gKGJpYnRleC1lbmQtb2YtZW50cnkpKSkpCiAKIChkZWZ1biBiaWJ0ZXgtaXNwZWxsLWFic3Ry YWN0ICgpCiAgICJTcGVsbCBhYnN0cmFjdCBvZiBCaWJUZVggZW50cnkuIgogICAoaW50ZXJhY3Rp dmUpCi0gIChiaWJ0ZXgtYmVnaW5uaW5nLW9mLWVudHJ5KQotICAobGV0ICgoYm91bmRzIChiaWJ0 ZXgtc2VhcmNoLWZvcndhcmQtZmllbGQgImFic3RyYWN0IgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGJpYnRleC1lbmQtb2YtZW50cnkpKSkpCisgIChsZXQg KChib3VuZHMgKHNhdmUtZXhjdXJzaW9uCisgICAgICAgICAgICAgICAgICAoYmlidGV4LWJlZ2lu bmluZy1vZi1lbnRyeSkKKyAgICAgICAgICAgICAgICAgIChiaWJ0ZXgtc2VhcmNoLWZvcndhcmQt ZmllbGQgImFic3RyYWN0IiB0KSkpKQogICAgIChpZiBib3VuZHMKICAgICAgICAgKGlzcGVsbC1y ZWdpb24gKGJpYnRleC1zdGFydC1vZi10ZXh0LWluLWZpZWxkIGJvdW5kcykKICAgICAgICAgICAg ICAgICAgICAgICAgKGJpYnRleC1lbmQtb2YtdGV4dC1pbi1maWVsZCBib3VuZHMpKQpAQCAtMjgx NSwxOSArMjk3MywxOCBAQAogICAobGV0ICgoY2FzZS1mb2xkLXNlYXJjaCB0KSkKICAgICAoaWYg KHJlLXNlYXJjaC1mb3J3YXJkIGJpYnRleC1lbnRyeS1tYXliZS1lbXB0eS1oZWFkIG5pbCB0KQog ICAgICAgICAobGV0ICgoa2V5IChiaWJ0ZXgta2V5LWluLWhlYWQpKQotICAgICAgICAgICAgICAo ZW50cnktbmFtZSAoYmlidGV4LXR5cGUtaW4taGVhZCkpKQorICAgICAgICAgICAgICA7OyBhbGwg ZW50cnkgbmFtZXMgc2hvdWxkIGJlIGRvd25jYXNlIChmb3IgZWFzZSBvZiBjb21wYXJpc29uKQor ICAgICAgICAgICAgICAoZW50cnktbmFtZSAoZG93bmNhc2UgKGJpYnRleC10eXBlLWluLWhlYWQp KSkpCiAgICAgICAgICAgOzsgRG9uJ3Qgc2VhcmNoIENST1NTUkVGLUtFWSBpZiB3ZSBkb24ndCBu ZWVkIGl0LgogICAgICAgICAgIChpZiAoZXF1YWwgYmlidGV4LW1haW50YWluLXNvcnRlZC1lbnRy aWVzICdjcm9zc3JlZikKICAgICAgICAgICAgICAgKHNhdmUtZXhjdXJzaW9uCi0gICAgICAgICAg ICAgICAgKHNhdmUtcmVzdHJpY3Rpb24KLSAgICAgICAgICAgICAgICAgIChiaWJ0ZXgtbmFycm93 LXRvLWVudHJ5KQotICAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKLSAg ICAgICAgICAgICAgICAgIChsZXQgKChib3VuZHMgKGJpYnRleC1zZWFyY2gtZm9yd2FyZC1maWVs ZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlxcKE9QVFxcKT9jcm9zc3JlZiIp KSkKLSAgICAgICAgICAgICAgICAgICAgKGxpc3Qga2V5Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgIChpZiBib3VuZHMgKGJpYnRleC10ZXh0LWluLWZpZWxkLWJvdW5kcyBib3VuZHMgdCkpCi0g ICAgICAgICAgICAgICAgICAgICAgICAgIGVudHJ5LW5hbWUpKSkpCi0gICAgICAgICAgICAobGlz dCBrZXkgbmlsIGVudHJ5LW5hbWUpKSkpKSkKKyAgICAgICAgICAgICAgICAoYmlidGV4LWJlZ2lu bmluZy1vZi1lbnRyeSkKKyAgICAgICAgICAgICAgICAobGV0ICgoYm91bmRzIChiaWJ0ZXgtc2Vh cmNoLWZvcndhcmQtZmllbGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFwoT1BU XFwpP2Nyb3NzcmVmIiB0KSkpCisgICAgICAgICAgICAgICAgICAobGlzdCBrZXkKKyAgICAgICAg ICAgICAgICAgICAgICAgIChpZiBib3VuZHMgKGJpYnRleC10ZXh0LWluLWZpZWxkLWJvdW5kcyBi b3VuZHMgdCkpCisgICAgICAgICAgICAgICAgICAgICAgICBlbnRyeS1uYW1lKSkpKQorICAgICAg ICAgIChsaXN0IGtleSBuaWwgZW50cnktbmFtZSkpKSkpCiAKIChkZWZ1biBiaWJ0ZXgtbGVzc3Ag KGluZGV4MSBpbmRleDIpCiAgICJQcmVkaWNhdGUgZm9yIHNvcnRpbmcgQmliVGVYIGVudHJpZXMg d2l0aCBpbmRpY2VzIElOREVYMSBhbmQgSU5ERVgyLgpAQCAtMjg0NiwxMCArMzAwMywxMiBAQAog ICAgICAgICAgICAgICAgKHN0cmluZy1sZXNzcCAobnRoIDAgaW5kZXgxKSAobnRoIDEgaW5kZXgy KSkKICAgICAgICAgICAgICAoc3RyaW5nLWxlc3NwIChudGggMCBpbmRleDEpIChudGggMCBpbmRl eDIpKSkpKQogICAgICAgICAoKGVxdWFsIGJpYnRleC1tYWludGFpbi1zb3J0ZWQtZW50cmllcyAn ZW50cnktY2xhc3MpCi0gICAgICAgICAobGV0ICgobjEgKGNkciAoYXNzb2MtaWdub3JlLWNhc2Ug KG50aCAyIGluZGV4MSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBiaWJ0ZXgtc29ydC1lbnRyeS1jbGFzcy1hbGlzdCkpKQotICAgICAgICAgICAgICAgKG4yIChj ZHIgKGFzc29jLWlnbm9yZS1jYXNlIChudGggMiBpbmRleDIpCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmlidGV4LXNvcnQtZW50cnktY2xhc3MtYWxpc3QpKSkp CisgICAgICAgICAobGV0ICgobjEgKGNkciAob3IgKGFzc29jIChudGggMiBpbmRleDEpIGJpYnRl eC1zb3J0LWVudHJ5LWNsYXNzLWFsaXN0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChh c3NvYyAnY2F0Y2gtYWxsIGJpYnRleC1zb3J0LWVudHJ5LWNsYXNzLWFsaXN0KQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICcobmlsIC4gMTAwMCkpKSkgIDsgaWYgdGhlcmUgaXMgbm90aGlu ZyBlbHNlCisgICAgICAgICAgICAgICAobjIgKGNkciAob3IgKGFzc29jIChudGggMiBpbmRleDIp IGJpYnRleC1zb3J0LWVudHJ5LWNsYXNzLWFsaXN0KQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChhc3NvYyAnY2F0Y2gtYWxsIGJpYnRleC1zb3J0LWVudHJ5LWNsYXNzLWFsaXN0KQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICcobmlsIC4gMTAwMCkpKSkpIDsgaWYgdGhlcmUgaXMg bm90aGluZyBlbHNlCiAgICAgICAgICAgIChvciAoPCBuMSBuMikKICAgICAgICAgICAgICAgIChh bmQgKD0gbjEgbjIpCiAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctbGVzc3AgKGNhciBpbmRl eDEpIChjYXIgaW5kZXgyKSkpKSkpCkBAIC0yODgwLDcgKzMwMzksMTcgQEAKIChkZWZ1biBiaWJ0 ZXgtZmluZC1jcm9zc3JlZiAoY3Jvc3NyZWYta2V5KQogICAiTW92ZSBwb2ludCB0byB0aGUgYmVn aW5uaW5nIG9mIEJpYlRlWCBlbnRyeSBDUk9TU1JFRi1LRVkuCiBSZXR1cm4gcG9zaXRpb24gb2Yg ZW50cnkgaWYgQ1JPU1NSRUYtS0VZIGlzIGZvdW5kIGFuZCBuaWwgb3RoZXJ3aXNlLgotSWYgcG9z aXRpb24gb2YgY3VycmVudCBlbnRyeSBpcyBhZnRlciBDUk9TU1JFRi1LRVkgYW4gZXJyb3IgaXMg c2lnbmFsZWQuIgorSWYgcG9zaXRpb24gb2YgY3VycmVudCBlbnRyeSBpcyBhZnRlciBDUk9TU1JF Ri1LRVkgYW4gZXJyb3IgaXMgc2lnbmFsZWQuCitJZiBjYWxsZWQgaW50ZXJhY3RpdmVseSwgQ1JP U1NSRUYtS0VZIGRlZmF1bHRzIHRvIGNyb3NzcmVmIGtleSBvZiBjdXJyZW50CitlbnRyeS4iCisg IChpbnRlcmFjdGl2ZQorICAgKGxldCAoKGNyb3NzcmVmLWtleQorICAgICAgICAgIChzYXZlLWV4 Y3Vyc2lvbgorICAgICAgICAgICAgKGJpYnRleC1iZWdpbm5pbmctb2YtZW50cnkpCisgICAgICAg ICAgICAobGV0ICgoYm91bmRzIChiaWJ0ZXgtc2VhcmNoLWZvcndhcmQtZmllbGQgImNyb3NzcmVm IiB0KSkpCisgICAgICAgICAgICAgIChpZiBib3VuZHMKKyAgICAgICAgICAgICAgICAgIChiaWJ0 ZXgtdGV4dC1pbi1maWVsZC1ib3VuZHMgYm91bmRzIHQpKSkpKSkKKyAgICAgKGxpc3QgKGJpYnRl eC1yZWFkLWtleSAiRmluZCBjcm9zc3JlZiBrZXk6ICIgY3Jvc3NyZWYta2V5KSkpKQogICAobGV0 ICgocG9zIChzYXZlLWV4Y3Vyc2lvbiAoYmlidGV4LWZpbmQtZW50cnkgY3Jvc3NyZWYta2V5KSkp KQogICAgIChpZiAoYW5kIHBvcyAoPiAocG9pbnQpIHBvcykpCiAgICAgICAgIChlcnJvciAiVGhp cyBlbnRyeSBtdXN0IG5vdCBmb2xsb3cgdGhlIGNyb3NzcmVmZWQgZW50cnkhIikpCkBAIC0yODg5 LDI1ICszMDU4LDE5IEBACiAoZGVmdW4gYmlidGV4LWZpbmQtZW50cnkgKGtleSkKICAgIk1vdmUg cG9pbnQgdG8gdGhlIGJlZ2lubmluZyBvZiBCaWJUZVggZW50cnkgbmFtZWQgS0VZLgogUmV0dXJu IHBvc2l0aW9uIG9mIGVudHJ5IGlmIEtFWSBpcyBmb3VuZCBvciBuaWwgaWYgbm90IGZvdW5kLiIK LSAgKGludGVyYWN0aXZlCi0gICAobGlzdCAoaWYgYmlidGV4LW1haW50YWluLXNvcnRlZC1lbnRy aWVzCi0gICAgICAgICAgICAgKGNvbXBsZXRpbmctcmVhZCAiRmluZCBrZXk6ICIKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJpYnRleC1yZWZlcmVuY2Uta2V5cwotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbmlsIG5pbCBuaWwgJ2JpYnRleC1rZXktaGlzdG9yeSkKLSAgICAg ICAgICAgKHJlYWQtZnJvbS1taW5pYnVmZmVyICJGaW5kIGtleTogIiBuaWwgbmlsIG5pbAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JpYnRleC1rZXktaGlzdG9yeSkpKSkKKyAg KGludGVyYWN0aXZlIChsaXN0IChiaWJ0ZXgtcmVhZC1rZXkgIkZpbmQga2V5OiAiKSkpCiAgIChs ZXQqIChjYXNlLWZvbGQtc2VhcmNoCiAgICAgICAgICAocG50IChzYXZlLWV4Y3Vyc2lvbgogICAg ICAgICAgICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCi0gICAgICAgICAgICAgICAgKHdo ZW4gKHJlLXNlYXJjaC1mb3J3YXJkIChjb25jYXQgIl5bIFx0XSpcXCgiCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlidGV4LWVudHJ5LXR5cGUKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFwpWyBcdF0q Wyh7XVsgXHRcbl0qXFwoIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChyZWdleHAtcXVvdGUga2V5KSAiXFwpIikKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbmlsIHQpCi0gICAgICAgICAgICAgICAgICAobWF0Y2gtYmVn aW5uaW5nIDIpKSkpKQorICAgICAgICAgICAgICAgIChpZiAocmUtc2VhcmNoLWZvcndhcmQgKGNv bmNhdCAiXlsgXHRdKlxcKCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmlidGV4LWVudHJ5LXR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIlxcKVsgXHRdKlsoe11bIFx0XG5dKlxcKCIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlZ2V4cC1xdW90ZSBrZXkpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcXClbIFx0XG5d KlssPV0iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsIHQpCisg ICAgICAgICAgICAgICAgICAgIChtYXRjaC1iZWdpbm5pbmcgMCkpKSkpCiAgICAgKGNvbmQgKHBu dAotICAgICAgICAgICAoZ290by1jaGFyIHBudCkKLSAgICAgICAgICAgKGJpYnRleC1iZWdpbm5p bmctb2YtZW50cnkpKQorICAgICAgICAgICAoZ290by1jaGFyIHBudCkpCiAgICAgICAgICAgKChp bnRlcmFjdGl2ZS1wKQogICAgICAgICAgICAobWVzc2FnZSAiS2V5IGAlcycgbm90IGZvdW5kIiBr ZXkpKSkpKQogCkBAIC0zMDE5LDkgKzMxODIsOSBAQAogICAgICAgICAgICAgICAgIChnb3RvLWNo YXIgKHBvaW50LW1pbikpCiAgICAgICAgICAgICAgICAgKGJpYnRleC1wcm9ncmVzcy1tZXNzYWdl ICJDaGVja2luZyBjb3JyZWN0IHNvcnQgb3JkZXIiKQogICAgICAgICAgICAgICAgIChiaWJ0ZXgt bWFwLWVudHJpZXMKLSAgICAgICAgICAgICAgICAgKGxhbWJkYSAoZHVtbXkpCisgICAgICAgICAg ICAgICAgIChsYW1iZGEgKGtleSBiZWcgZW5kKQogICAgICAgICAgICAgICAgICAgIChiaWJ0ZXgt cHJvZ3Jlc3MtbWVzc2FnZSkKLSAgICAgICAgICAgICAgICAgICAoYmlidGV4LWJlZ2lubmluZy1v Zi1lbnRyeSkKKyAgICAgICAgICAgICAgICAgICAoZ290by1jaGFyIGJlZykKICAgICAgICAgICAg ICAgICAgICAoc2V0cSBjdXJyZW50IChiaWJ0ZXgtZW50cnktaW5kZXgpKQogICAgICAgICAgICAg ICAgICAgIChjb25kICgob3IgKG5vdCBwcmV2aW91cykKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChiaWJ0ZXgtbGVzc3AgcHJldmlvdXMgY3VycmVudCkpCkBAIC0zMDQ1LDExICszMjA4 LDkgQEAKICAgICAgICAgICAgICAgICAgIChxdWVzdGlvbmFibGUtbW9udGgKICAgICAgICAgICAg ICAgICAgICAocmVnZXhwLW9wdCAobWFwY2FyICdjYXIgYmlidGV4LXByZWRlZmluZWQtbW9udGgt c3RyaW5ncykpKSkKICAgICAgICAgICAgICAgKGJpYnRleC1tYXAtZW50cmllcwotICAgICAgICAg ICAgICAgKGxhbWJkYSAoY3VycmVudCkKKyAgICAgICAgICAgICAgIChsYW1iZGEgKGtleSBiZWcg ZW5kKQogICAgICAgICAgICAgICAgICAoYmlidGV4LXByb2dyZXNzLW1lc3NhZ2UpCi0gICAgICAg ICAgICAgICAgIChsZXQqICgoYmVnIChiaWJ0ZXgtYmVnaW5uaW5nLW9mLWVudHJ5KSkKLSAgICAg ICAgICAgICAgICAgICAgICAgIChlbmQgKGJpYnRleC1lbmQtb2YtZW50cnkpKQotICAgICAgICAg ICAgICAgICAgICAgICAgKGVudHJ5LWxpc3QgKHByb2duCisgICAgICAgICAgICAgICAgIChsZXQq ICgoZW50cnktbGlzdCAocHJvZ24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGdvdG8tY2hhciBiZWcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChiaWJ0ZXgtc2VhcmNoLWVudHJ5IG5pbCBlbmQpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChhc3NvYy1pZ25vcmUtY2FzZSAoYmlidGV4LXR5cGUtaW4taGVhZCkKQEAg LTMxODUsNyArMzM0Niw3IEBACiAgICAgKHNhdmUtZXhjdXJzaW9uCiAgICAgICAoZ290by1jaGFy IChiaWJ0ZXgtc3RhcnQtb2YtbmFtZS1pbi1maWVsZCBib3VuZHMpKQogICAgICAgKHdoZW4gKGxv b2tpbmctYXQgIk9QVFxcfEFMVCIpCi0gICAgICAgIChkZWxldGUtY2hhciAobGVuZ3RoICJPUFQi KSkKKyAgICAgICAgKGRlbGV0ZS1yZWdpb24gKG1hdGNoLWJlZ2lubmluZyAwKSAobWF0Y2gtZW5k IDApKQogICAgICAgICA7OyBtYWtlIGZpZWxkIG5vbi1PUFQKICAgICAgICAgKHNlYXJjaC1mb3J3 YXJkICI9IikKICAgICAgICAgKGZvcndhcmQtY2hhciAtMSkKQEAgLTMzMjYsMzcgKzM0ODcsNDMg QEAKIAogKGRlZnVuIGJpYnRleC1jbGVhbi1lbnRyeSAoJm9wdGlvbmFsIG5ldy1rZXkgY2FsbGVk LWJ5LXJlZm9ybWF0KQogICAiRmluaXNoIGVkaXRpbmcgdGhlIGN1cnJlbnQgQmliVGVYIGVudHJ5 IGFuZCBjbGVhbiBpdCB1cC4KLUNoZWNrcyB0aGF0IG5vIHJlcXVpcmVkIGZpZWxkcyBhcmUgZW1w dHkgYW5kIGZvcm1hdHMgZW50cnkgZGVwZW5kZW50CitDaGVjayB0aGF0IG5vIHJlcXVpcmVkIGZp ZWxkcyBhcmUgZW1wdHkgYW5kIGZvcm1hdHMgZW50cnkgZGVwZW5kZW50CiBvbiB0aGUgdmFsdWUg b2YgYGJpYnRleC1lbnRyeS1mb3JtYXQnLgogSWYgdGhlIHJlZmVyZW5jZSBrZXkgb2YgdGhlIGVu dHJ5IGlzIGVtcHR5IG9yIGEgcHJlZml4IGFyZ3VtZW50IGlzIGdpdmVuLAotY2FsY3VsYXRlIGEg bmV3IHJlZmVyZW5jZSBrZXkuIChOb3RlOiB0aGlzIG9ubHkgd2lsbCB3b3JrIGlmIGZpZWxkcyBp biBlbnRyeQorY2FsY3VsYXRlIGEgbmV3IHJlZmVyZW5jZSBrZXkuIChOb3RlOiB0aGlzIHdpbGwg b25seSB3b3JrIGlmIGZpZWxkcyBpbiBlbnRyeQogYmVnaW4gb24gc2VwYXJhdGUgbGluZXMgcHJp b3IgdG8gY2FsbGluZyBgYmlidGV4LWNsZWFuLWVudHJ5JyBvciBpZgogJ3JlYWxpZ24gaXMgY29u dGFpbmVkIGluIGBiaWJ0ZXgtZW50cnktZm9ybWF0Jy4pCi1Eb24ndCBjYWxsIHRoaXMgb24gQFN0 cmluZyBvciBAUHJlYW1ibGUgZW50cmllcy4KK0Rvbid0IGNhbGwgYGJpYnRleC1jbGVhbi1lbnRy eScgb24gQFByZWFtYmxlIGVudHJpZXMuCiBBdCBlbmQgb2YgdGhlIGNsZWFuaW5nIHByb2Nlc3Ms IHRoZSBmdW5jdGlvbnMgaW4KIGBiaWJ0ZXgtY2xlYW4tZW50cnktaG9vaycgYXJlIGNhbGxlZCB3 aXRoIHJlZ2lvbiBuYXJyb3dlZCB0byBlbnRyeS4iCiAgIDs7IE9wdC4gYXJnIGNhbGxlZC1ieS1y ZWZvcm1hdCBpcyB0IGlmIGJpYnRleC1jbGVhbi1lbnRyeQogICA7OyBpcyBjYWxsZWQgYnkgYmli dGV4LXJlZm9ybWF0CiAgIChpbnRlcmFjdGl2ZSAiUCIpCi0gIChiaWJ0ZXgtZm9ybWF0LWVudHJ5 KQogICAobGV0ICgoY2FzZS1mb2xkLXNlYXJjaCB0KQotICAgICAgICBrZXkpCisgICAgICAgIGVu dHJ5LXR5cGUga2V5KQogICAgIChiaWJ0ZXgtYmVnaW5uaW5nLW9mLWVudHJ5KQotICAgIChzZXRx IGtleSAoc2F2ZS1leGN1cnNpb24KLSAgICAgICAgICAgICAgICAoaWYgKHJlLXNlYXJjaC1mb3J3 YXJkIGJpYnRleC1lbnRyeS1tYXliZS1lbXB0eS1oZWFkIG5pbCB0KQotICAgICAgICAgICAgICAg ICAgICAoYmlidGV4LWtleS1pbi1oZWFkKSkpKQorICAgIChzYXZlLWV4Y3Vyc2lvbgorICAgICAg KHdoZW4gKHJlLXNlYXJjaC1mb3J3YXJkIGJpYnRleC1lbnRyeS1tYXliZS1lbXB0eS1oZWFkIG5p bCB0KQorICAgICAgICAoc2V0cSBlbnRyeS10eXBlIChkb3duY2FzZSAoYmlidGV4LXR5cGUtaW4t aGVhZCkpKQorICAgICAgICAoc2V0cSBrZXkgKGJpYnRleC1rZXktaW4taGVhZCkpKSkKKyAgICA7 OyBmb3JtYXR0aW5nCisgICAgKGNvbmQgKChlcXVhbCBlbnRyeS10eXBlICJwcmVhbWJsZSIpCisg ICAgICAgICAgIDs7IChiaWJ0ZXgtZm9ybWF0LXByZWFtYmxlKQorICAgICAgICAgICAoZXJyb3Ig Ik5vIGNsZWFuIHVwIG9mIEBQcmVhbWJsZSBlbnRyaWVzIikpCisgICAgICAgICAgKChlcXVhbCBl bnRyeS10eXBlICJzdHJpbmciKSkKKyAgICAgICAgICAgOzsgKGJpYnRleC1mb3JtYXQtc3RyaW5n KQorICAgICAgICAgICh0IChiaWJ0ZXgtZm9ybWF0LWVudHJ5KSkpCisgICAgOzsgc2V0IGtleQog ICAgICh3aGVuIChvciBuZXcta2V5IChub3Qga2V5KSkKLSAgICAgIChzZXRxIGtleSAoaWYgYmli dGV4LWF1dG9rZXktZWRpdC1iZWZvcmUtdXNlCi0gICAgICAgICAgICAgICAgICAgIChyZWFkLWZy b20tbWluaWJ1ZmZlcgotICAgICAgICAgICAgICAgICAgICAgIktleSB0byB1c2U6ICIgKGJpYnRl eC1nZW5lcmF0ZS1hdXRva2V5KSBuaWwgbmlsCi0gICAgICAgICAgICAgICAgICAgICAnYmlidGV4 LWtleS1oaXN0b3J5KQotICAgICAgICAgICAgICAgICAgKGJpYnRleC1nZW5lcmF0ZS1hdXRva2V5 KSkpCi0gICAgICAoYmlidGV4LWJlZ2lubmluZy1vZi1lbnRyeSkKKyAgICAgIChzZXRxIGtleSAo YmlidGV4LWdlbmVyYXRlLWF1dG9rZXkpKQorICAgICAgKGlmIGJpYnRleC1hdXRva2V5LWVkaXQt YmVmb3JlLXVzZQorICAgICAgICAgIChzZXRxIGtleSAoYmlidGV4LXJlYWQta2V5ICJLZXkgdG8g dXNlOiAiIGtleSkpKQogICAgICAgKHJlLXNlYXJjaC1mb3J3YXJkIGJpYnRleC1lbnRyeS1tYXli ZS1lbXB0eS1oZWFkKQogICAgICAgKGlmIChtYXRjaC1iZWdpbm5pbmcgYmlidGV4LWtleS1pbi1o ZWFkKQogICAgICAgICAgIChkZWxldGUtcmVnaW9uIChtYXRjaC1iZWdpbm5pbmcgYmlidGV4LWtl eS1pbi1oZWFkKQogICAgICAgICAgICAgICAgICAgICAgICAgIChtYXRjaC1lbmQgYmlidGV4LWtl eS1pbi1oZWFkKSkpCiAgICAgICAoaW5zZXJ0IGtleSkpCisgICAgOzsgc29ydGluZwogICAgIChs ZXQqICgoc3RhcnQgKGJpYnRleC1iZWdpbm5pbmctb2YtZW50cnkpKQogICAgICAgICAgICAoZW5k IChwcm9nbiAoYmlidGV4LWVuZC1vZi1lbnRyeSkKICAgICAgICAgICAgICAgICAgICAgICAgKGlm IChyZS1zZWFyY2gtZm9yd2FyZApAQCAtMzM2OCw3ICszNTM1LDkgQEAKICAgICAgICAgICAgICAg ICAgICAgICAgICAoYmlidGV4LWVudHJ5LWluZGV4KSkpKQogICAgICAgKGRlbGV0ZS1yZWdpb24g c3RhcnQgZW5kKQogICAgICAgKHVubGVzcyAocHJvZzEgKG9yIGNhbGxlZC1ieS1yZWZvcm1hdAot ICAgICAgICAgICAgICAgICAgICAgICAgIChpZiBiaWJ0ZXgtbWFpbnRhaW4tc29ydGVkLWVudHJp ZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKGFuZCBiaWJ0ZXgtbWFpbnRhaW4tc29y dGVkLWVudHJpZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm90IChhbmQg YmlidGV4LXNvcnQtaWdub3JlLXN0cmluZy1lbnRyaWVzCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChlcXVhbCBlbnRyeS10eXBlICJzdHJpbmciKSkpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoYmlidGV4LXByZXBhcmUtbmV3LWVudHJ5IGluZGV4 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5vdCAoYmlidGV4LWZpbmQtZW50cnkgKGNh ciBpbmRleCkpKSkpCiAgICAgICAgICAgICAgICAgKGluc2VydCBlbnRyeSkKQEAgLTMzNzYsMjAg KzM1NDUsNjYgQEAKICAgICAgICAgICAgICAgICAoYmlidGV4LWJlZ2lubmluZy1vZi1lbnRyeSkg OyBtb3ZlcyBiYWNrd2FyZAogICAgICAgICAgICAgICAgIChyZS1zZWFyY2gtZm9yd2FyZCBiaWJ0 ZXgtZW50cnktaGVhZCkpCiAgICAgICAgIChlcnJvciAiTmV3IGluc2VydGVkIGVudHJ5IHlpZWxk cyBkdXBsaWNhdGUga2V5IikpKQorICAgIDs7IGZpbmFsIGNsZWFuIHVwCiAgICAgKHVubGVzcyBj YWxsZWQtYnktcmVmb3JtYXQKICAgICAgIChzYXZlLWV4Y3Vyc2lvbgogICAgICAgICAoc2F2ZS1y ZXN0cmljdGlvbgogICAgICAgICAgIChiaWJ0ZXgtbmFycm93LXRvLWVudHJ5KQotICAgICAgICAg IDs7IE9ubHkgdXBkYXRlIHRoZSBsaXN0IG9mIGtleXMgaWYgaXQncyBiZWVuIGJ1aWx0IGFscmVh ZHkuCi0gICAgICAgICAgKGlmIChjb25zcCBiaWJ0ZXgtcmVmZXJlbmNlLWtleXMpIChiaWJ0ZXgt cGFyc2Uta2V5cyB0IG5pbCkpCisgICAgICAgICAgOzsgT25seSB1cGRhdGUgdGhlIGxpc3Qgb2Yg a2V5cyBpZiBpdCBoYXMgYmVlbiBidWlsdCBhbHJlYWR5LgorICAgICAgICAgIChjb25kICgoZXF1 YWwgZW50cnktdHlwZSAic3RyaW5nIikKKyAgICAgICAgICAgICAgICAgKGlmIChsaXN0cCBiaWJ0 ZXgtc3RyaW5ncykgKGJpYnRleC1wYXJzZS1zdHJpbmdzIHQpKSkKKyAgICAgICAgICAgICAgICAo KGxpc3RwIGJpYnRleC1yZWZlcmVuY2Uta2V5cykgKGJpYnRleC1wYXJzZS1rZXlzIHQpKSkKICAg ICAgICAgICAocnVuLWhvb2tzICdiaWJ0ZXgtY2xlYW4tZW50cnktaG9vaykpKSkpKQogCisoZGVm dW4gYmlidGV4LWZpbGwtZmllbGQtYm91bmRzIChib3VuZHMganVzdGlmeSAmb3B0aW9uYWwgbW92 ZSkKKyAgIkZpbGwgQmliVGVYIGZpZWxkIGRlbGltaXRlZCBieSBCT1VORFMuCitJZiBKVVNUSUZZ IGlzIG5vbi1uaWwganVzdGlmeSBhcyB3ZWxsLgorSWYgb3B0aW9uYWwgYXJnIE1PVkUgaXMgbm9u LW5pbCBtb3ZlIHBvaW50IHRvIGVuZCBvZiBmaWVsZC4iCisgIChsZXQgKChlbmQtZmllbGQgKGNv cHktbWFya2VyIChiaWJ0ZXgtZW5kLW9mLWZpZWxkIGJvdW5kcykpKSkKKyAgICAoZ290by1jaGFy IChiaWJ0ZXgtc3RhcnQtb2YtZmllbGQgYm91bmRzKSkKKyAgICAoaWYganVzdGlmeQorICAgICAg ICAocHJvZ24KKyAgICAgICAgICAoZm9yd2FyZC1jaGFyKQorICAgICAgICAgIChiaWJ0ZXgtZGVs ZXRlLXdoaXRlc3BhY2UpCisgICAgICAgICAgKG9wZW4tbGluZSAxKQorICAgICAgICAgIChmb3J3 YXJkLWNoYXIpCisgICAgICAgICAgKGluZGVudC10by1jb2x1bW4gKCsgYmlidGV4LWVudHJ5LW9m ZnNldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpYnRleC1maWVsZC1pbmRlbnRh dGlvbikpCisgICAgICAgICAgKHJlLXNlYXJjaC1mb3J3YXJkICJbIFx0XG5dKj0iIGVuZC1maWVs ZCkKKyAgICAgICAgICAocmVwbGFjZS1tYXRjaCAiPSIpCisgICAgICAgICAgKGZvcndhcmQtY2hh ciAtMSkKKyAgICAgICAgICAoaWYgYmlidGV4LWFsaWduLWF0LWVxdWFsLXNpZ24KKyAgICAgICAg ICAgICAgKGluZGVudC10by1jb2x1bW4KKyAgICAgICAgICAgICAgICgrIGJpYnRleC1lbnRyeS1v ZmZzZXQgKC0gYmlidGV4LXRleHQtaW5kZW50YXRpb24gMikpKQorICAgICAgICAgICAgKGluc2Vy dCAiICIpKQorICAgICAgICAgIChmb3J3YXJkLWNoYXIpCisgICAgICAgICAgKGJpYnRleC1kZWxl dGUtd2hpdGVzcGFjZSkKKyAgICAgICAgICAoaWYgYmlidGV4LWFsaWduLWF0LWVxdWFsLXNpZ24K KyAgICAgICAgICAgICAgKGluc2VydCAiICIpCisgICAgICAgICAgICAoaW5kZW50LXRvLWNvbHVt biBiaWJ0ZXgtdGV4dC1pbmRlbnRhdGlvbikpKQorICAgICAgKHJlLXNlYXJjaC1mb3J3YXJkICJb IFx0XG5dKj1bIFx0XG5dKiIgZW5kLWZpZWxkKSkKKyAgICAod2hpbGUgKHJlLXNlYXJjaC1mb3J3 YXJkICJbIFx0XG5dKyIgZW5kLWZpZWxkICdtb3ZlKQorICAgICAgKHJlcGxhY2UtbWF0Y2ggIiAi KSkKKyAgICAoZG8tYXV0by1maWxsKQorICAgIChpZiBtb3ZlIChnb3RvLWNoYXIgZW5kLWZpZWxk KSkpKQorCisoZGVmdW4gYmlidGV4LWZpbGwtZmllbGQgKCZvcHRpb25hbCBqdXN0aWZ5KQorICAi TGlrZSBcXFtmaWxsLXBhcmFncmFwaF0sIGJ1dCBmaWxsIGN1cnJlbnQgQmliVGVYIGZpZWxkLgor T3B0aW9uYWwgcHJlZml4IGFyZyBKVVNUSUZZIG5vbi1uaWwgbWVhbnMganVzdGlmeSBhcyB3ZWxs LgorSW4gQmliVGVYIG1vZGUgdGhpcyBmdW5jdGlvbiBpcyBib3VuZCB0byBgZmlsbC1wYXJhZ3Jh cGgtZnVuY3Rpb24nLiIKKyAgKGludGVyYWN0aXZlICIqUCIpCisgIChsZXQgKChwbnQgKGNvcHkt bWFya2VyIChwb2ludCkpKQorICAgICAgICAoYm91bmRzIChiaWJ0ZXgtZW5jbG9zaW5nLWZpZWxk KSkpCisgICAgKHdoZW4gYm91bmRzCisgICAgICAoYmlidGV4LWZpbGwtZmllbGQtYm91bmRzIGJv dW5kcyBqdXN0aWZ5KQorICAgICAgKGdvdG8tY2hhciBwbnQpKSkpCisKIChkZWZ1biBiaWJ0ZXgt ZmlsbC1lbnRyeSAoKQogICAiRmlsbCBjdXJyZW50IEJpYlRlWCBlbnRyeS4KIFJlYWxpZ24gZW50 cnksIHNvIHRoYXQgZXZlcnkgZmllbGQgc3RhcnRzIG9uIGEgc2VwYXJhdGUgbGluZS4gIEZpZWxk CiBuYW1lcyBhcHBlYXIgaW4gY29sdW1uIGBiaWJ0ZXgtZmllbGQtaW5kZW50YXRpb24nLCBmaWVs ZCB0ZXh0IHN0YXJ0cyBpbgogY29sdW1uIGBiaWJ0ZXgtdGV4dC1pbmRlbnRhdGlvbicgYW5kIGNv bnRpbnVhdGlvbiBsaW5lcyBzdGFydCBoZXJlLCB0b28uCi1JZiBgYmlidGV4LWFsaWduLWF0LWVx dWFsLXNpZ24nIGlzIG5vbi1uaWwsIGFsaWduIGVxdWFsIHNpZ25zIGFsc28uIgorSWYgYGJpYnRl eC1hbGlnbi1hdC1lcXVhbC1zaWduJyBpcyBub24tbmlsLCBhbGlnbiBlcXVhbCBzaWducywgdG9v LiIKICAgKGludGVyYWN0aXZlICIqIikKICAgKGxldCAoKHBudCAoY29weS1tYXJrZXIgKHBvaW50 KSkpCiAgICAgICAgIChlbmQgKGNvcHktbWFya2VyIChiaWJ0ZXgtZW5kLW9mLWVudHJ5KSkpCkBA IC0zMzk4LDMxICszNjEzLDcgQEAKICAgICAoYmlidGV4LWRlbGV0ZS13aGl0ZXNwYWNlKQogICAg IChpbmRlbnQtdG8tY29sdW1uIGJpYnRleC1lbnRyeS1vZmZzZXQpCiAgICAgKHdoaWxlIChzZXRx IGJvdW5kcyAoYmlidGV4LXNlYXJjaC1mb3J3YXJkLWZpZWxkIGJpYnRleC1maWVsZC1uYW1lIGVu ZCkpCi0gICAgICAobGV0KiAoKGJlZ2luLWZpZWxkIChjb3B5LW1hcmtlciAoYmlidGV4LXN0YXJ0 LW9mLWZpZWxkIGJvdW5kcykpKQotICAgICAgICAgICAgIChlbmQtZmllbGQgKGNvcHktbWFya2Vy IChiaWJ0ZXgtZW5kLW9mLWZpZWxkIGJvdW5kcykpKSkKLSAgICAgICAgKGdvdG8tY2hhciBiZWdp bi1maWVsZCkKLSAgICAgICAgKGZvcndhcmQtY2hhcikKLSAgICAgICAgKGJpYnRleC1kZWxldGUt d2hpdGVzcGFjZSkKLSAgICAgICAgKG9wZW4tbGluZSAxKQotICAgICAgICAoZm9yd2FyZC1jaGFy KQotICAgICAgICAoaW5kZW50LXRvLWNvbHVtbiAoKyBiaWJ0ZXgtZW50cnktb2Zmc2V0Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJpYnRleC1maWVsZC1pbmRlbnRhdGlvbikpCi0gICAg ICAgIChyZS1zZWFyY2gtZm9yd2FyZCAiWyBcdFxuXSo9IiBlbmQpCi0gICAgICAgIChyZXBsYWNl LW1hdGNoICI9IikKLSAgICAgICAgKGZvcndhcmQtY2hhciAtMSkKLSAgICAgICAgKGlmIGJpYnRl eC1hbGlnbi1hdC1lcXVhbC1zaWduCi0gICAgICAgICAgICAoaW5kZW50LXRvLWNvbHVtbgotICAg ICAgICAgICAgICgrIGJpYnRleC1lbnRyeS1vZmZzZXQgKC0gYmlidGV4LXRleHQtaW5kZW50YXRp b24gMikpKQotICAgICAgICAgIChpbnNlcnQgIiAiKSkKLSAgICAgICAgKGZvcndhcmQtY2hhcikK LSAgICAgICAgKGJpYnRleC1kZWxldGUtd2hpdGVzcGFjZSkKLSAgICAgICAgKGlmIGJpYnRleC1h bGlnbi1hdC1lcXVhbC1zaWduCi0gICAgICAgICAgICAoaW5zZXJ0ICIgIikKLSAgICAgICAgICAo aW5kZW50LXRvLWNvbHVtbiBiaWJ0ZXgtdGV4dC1pbmRlbnRhdGlvbikpCi0gICAgICAgICh3aGls ZSAocmUtc2VhcmNoLWZvcndhcmQgIlsgXHRcbl0rIiBlbmQtZmllbGQgJ21vdmUpCi0gICAgICAg ICAgKHJlcGxhY2UtbWF0Y2ggIiAiKSkKLSAgICAgICAgKGRvLWF1dG8tZmlsbCkKLSAgICAgICAg KGdvdG8tY2hhciBlbmQtZmllbGQpKSkKKyAgICAgIChiaWJ0ZXgtZmlsbC1maWVsZC1ib3VuZHMg Ym91bmRzIHQgdCkpCiAgICAgKGlmIChsb29raW5nLWF0ICIsIikKICAgICAgICAgKGZvcndhcmQt Y2hhcikpCiAgICAgKGJpYnRleC1kZWxldGUtd2hpdGVzcGFjZSkKQEAgLTM0ODgsMTEgKzM2Nzks MTEgQEAKICAgICAgICAgICAocmVwbGFjZS1tYXRjaCAiXG5cXDEiKSkpCiAgICAgICAoZ290by1j aGFyIHN0YXJ0LXBvaW50KQogICAgICAgKGJpYnRleC1wcm9ncmVzcy1tZXNzYWdlICJGb3JtYXR0 aW5nIiAxKQotICAgICAgKGJpYnRleC1tYXAtZW50cmllcyAobGFtYmRhIChjdXJyZW50KQorICAg ICAgKGJpYnRleC1tYXAtZW50cmllcyAobGFtYmRhIChrZXkgYmVnIGVuZCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoYmlidGV4LXByb2dyZXNzLW1lc3NhZ2UpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGJpYnRleC1jbGVhbi1lbnRyeSByZWZvcm1hdC1yZWZlcmVuY2Uta2V5 cyB0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3aGVuIChtZW1xICdyZWFsaWduIGJp YnRleC1lbnRyeS1mb3JtYXQpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYmlidGV4 LWVuZC1vZi1lbnRyeSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnb3RvLWNoYXIg ZW5kKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJpYnRleC1kZWxldGUtd2hpdGVz cGFjZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcGVuLWxpbmUgMikpKSkKICAg ICAgIChiaWJ0ZXgtcHJvZ3Jlc3MtbWVzc2FnZSAnZG9uZSkpCkBAIC0zNTAwLDggKzM2OTEsNyBA QAogICAgICAgICAgICAgICAgYmlidGV4LW1haW50YWluLXNvcnRlZC1lbnRyaWVzCiAgICAgICAg ICAgICAgICAobm90IGNhbGxlZC1ieS1jb252ZXJ0LWFsaWVuKSkKICAgICAgIChiaWJ0ZXgtc29y dC1idWZmZXIpCi0gICAgICAoc2V0cSBiaWJ0ZXgtcmVmZXJlbmNlLWtleXMgbmlsKQotICAgICAg KGJpYnRleC1wYXJzZS1rZXlzIG5pbCB0IHQpKQorICAgICAgKGtpbGwtbG9jYWwtdmFyaWFibGUg J2JpYnRleC1yZWZlcmVuY2Uta2V5cykpCiAgICAgKGdvdG8tY2hhciBwbnQpKSkKIAogKGRlZnVu IGJpYnRleC1jb252ZXJ0LWFsaWVuICgmb3B0aW9uYWwgZG8tYWRkaXRpb25hbC1yZWZvcm1hdHRp bmcpCkBAIC0zNTM0LDcgKzM3MjQsNyBAQAogCiAoZGVmdW4gYmlidGV4LWNvbXBsZXRlICgpCiAg ICJDb21wbGV0ZSB3b3JkIGZyYWdtZW50IGJlZm9yZSBwb2ludCBhY2NvcmRpbmcgdG8gY29udGV4 dC4KLUlmIGluc2lkZSBrZXkgb3IgY3Jvc3NyZWYgZmllbGQgY29tcGxldGUga2V5IGJhc2VkIG9u CitJZiBwb2ludCBpcyBpbnNpZGUga2V5IG9yIGNyb3NzcmVmIGZpZWxkIHBlcmZvcm0ga2V5IGNv bXBsZXRpb24gYmFzZWQgb24KIGBiaWJ0ZXgtcmVmZXJlbmNlLWtleXMnLiBJbnNpZGUgYW55IG90 aGVyIGZpZWxkIHBlcmZvcm0gc3RyaW5nCiBjb21wbGV0aW9uIGJhc2VkIG9uIGBiaWJ0ZXgtc3Ry aW5ncycuIEFuIGVycm9yIGlzIHNpZ25hbGVkIGlmIHBvaW50CiBpcyBvdXRzaWRlIGtleSBvciBC aWJUZVggZmllbGQuIgpAQCAtMzU3MCw3ICszNzYwLDYgQEAKIAogICAgIChjb25kICgoZXF1YWwg Y29tcGwgJ2tleSkKICAgICAgICAgICAgOzsga2V5IGNvbXBsZXRpb24KLSAgICAgICAgICAgKHVu bGVzcyAoY29uc3AgYmlidGV4LXJlZmVyZW5jZS1rZXlzKSAoYmlidGV4LXBhcnNlLWtleXMgbmls IHQpKQogICAgICAgICAgICAoc2V0cSBjaG9vc2UtY29tcGxldGlvbi1zdHJpbmctZnVuY3Rpb25z CiAgICAgICAgICAgICAgICAgIChsYW1iZGEgKGNob2ljZSBidWZmZXIgbWluaS1wIGJhc2Utc2l6 ZSkKICAgICAgICAgICAgICAgICAgICAoYmlidGV4LWNob29zZS1jb21wbGV0aW9uLXN0cmluZyBj aG9pY2UgYnVmZmVyIG1pbmktcCBiYXNlLXNpemUpCkBAIC0zNjYxLDE2ICszODUwLDExIEBACiAK IChkZWZ1biBiaWJ0ZXgtU3RyaW5nICgmb3B0aW9uYWwga2V5KQogICAiSW5zZXJ0IGEgbmV3IEJp YlRlWCBAU3RyaW5nIGVudHJ5IHdpdGgga2V5IEtFWS4iCi0gIChpbnRlcmFjdGl2ZQotICAgKHBy b2duICh1bmxlc3MgKGNvbnNwIGJpYnRleC1yZWZlcmVuY2Uta2V5cykgKGJpYnRleC1wYXJzZS1r ZXlzIG5pbCB0KSkKLSAgICAgICAgICAobGlzdCAoY29tcGxldGluZy1yZWFkICJTdHJpbmcga2V5 OiAiIGJpYnRleC1yZWZlcmVuY2Uta2V5cwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBuaWwgbmlsIG5pbCAnYmlidGV4LWtleS1oaXN0b3J5KSkpKQotICA7OyBJZiB3ZSB3YW50 IHRvIHNvcnQgU3RyaW5nIGVudHJpZXMgb25seSB0aGUgc29ydGluZyBzY2hlbWUKLSAgOzsgZW50 cnktY2xhc3MgaXMgbWVhbmluZ2Z1bAorICAoaW50ZXJhY3RpdmUgKGxpc3QgKGNvbXBsZXRpbmct cmVhZCAiU3RyaW5nIGtleTogIiBiaWJ0ZXgtc3RyaW5ncworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBuaWwgbmlsIG5pbCAnYmlidGV4LWtleS1oaXN0b3J5KSkpCiAgIChs ZXQgKChiaWJ0ZXgtbWFpbnRhaW4tc29ydGVkLWVudHJpZXMKLSAgICAgICAgIChpZiAoYW5kIChu b3QgYmlidGV4LXNvcnQtaWdub3JlLXN0cmluZy1lbnRyaWVzKQotICAgICAgICAgICAgICAgICAg YmlidGV4LW1haW50YWluLXNvcnRlZC1lbnRyaWVzKQotICAgICAgICAgICAgICdlbnRyeS1jbGFz cykpCisgICAgICAgICAoaWYgKG5vdCBiaWJ0ZXgtc29ydC1pZ25vcmUtc3RyaW5nLWVudHJpZXMp CisgICAgICAgICAgICAgYmlidGV4LW1haW50YWluLXNvcnRlZC1lbnRyaWVzKSkKICAgICAgICAg ZW5kcG9zKQogICAgICh1bmxlc3MgKGJpYnRleC1wcmVwYXJlLW5ldy1lbnRyeSAobGlzdCBrZXkg bmlsICJTdHJpbmciKSkKICAgICAgIChlcnJvciAiRW50cnkgd2l0aCBrZXkgYCVzJyBhbHJlYWR5 IGV4aXN0cyIga2V5KSkKQEAgLTM2OTYsMTEgKzM4ODAsMTEgQEAKICAgKGJpYnRleC1tb3ZlLW91 dHNpZGUtb2YtZW50cnkpCiAgIChpbmRlbnQtdG8tY29sdW1uIGJpYnRleC1lbnRyeS1vZmZzZXQp CiAgIChpbnNlcnQgIkBQcmVhbWJsZSIKLSAgICAgICAgICAoYmlidGV4LWVudHJ5LWxlZnQtZGVs aW1pdGVyKQotICAgICAgICAgIChiaWJ0ZXgtZW50cnktcmlnaHQtZGVsaW1pdGVyKQotICAgICAg ICAgICJcbiIpCi0gIChmb3J3YXJkLWxpbmUgLTEpCi0gIChmb3J3YXJkLWNoYXIgMTApKQorICAg ICAgICAgIChiaWJ0ZXgtZW50cnktbGVmdC1kZWxpbWl0ZXIpKQorICAobGV0ICgoZW5kcG9zIChw b2ludCkpKQorICAgIChpbnNlcnQgKGJpYnRleC1lbnRyeS1yaWdodC1kZWxpbWl0ZXIpCisgICAg ICAgICAgICAiXG4iKQorICAgIChnb3RvLWNoYXIgZW5kcG9zKSkpCiAKIAwKIDs7IE1ha2UgQmli VGVYIGEgRmVhdHVyZQo= --FPwMdJeJku Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://mail.gnu.org/mailman/listinfo/emacs-devel --FPwMdJeJku--