<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>28628</bug_id>
          
          <creation_ts>2013-03-04 06:33:49 +0400</creation_ts>
          <short_desc>vzctl lost important ALT features since 3.0.24.2-alt1</short_desc>
          <delta_ts>2024-10-28 16:50:09 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>vzctl</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dmitry V. Levin">ldv</reporter>
          <assigned_to name="Nobody&apos;s working on this, feel free to take it">nobody</assigned_to>
          <cc>evg</cc>
    
    <cc>lav</cc>
    
    <cc>mike</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>138368</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2013-03-04 06:33:49 +0400</bug_when>
    <thetext>Потерялись разные фиксы и фичи в разных местах.

Например,

$ git grep -Fl /etc/hooks/ 3.0.24.2-alt1 -- etc
3.0.24.2-alt1:etc/dists/scripts/etcnet-add_ip.sh
3.0.24.2-alt1:etc/dists/scripts/etcnet-del_ip.sh
3.0.24.2-alt1:etc/dists/scripts/postcreate.sh
3.0.24.2-alt1:etc/dists/scripts/redhat-set_hostname.sh
3.0.24.2-alt1:etc/dists/scripts/set_dns.sh
3.0.24.2-alt1:etc/dists/scripts/set_userpass.sh

$ git grep -Fl /etc/hooks/ 4.1.2-alt1 -- etc |cat
4.1.2-alt1:etc/dists/scripts/etcnet-add_ip.sh
4.1.2-alt1:etc/dists/scripts/etcnet-del_ip.sh
4.1.2-alt1:etc/dists/scripts/redhat-set_hostname.sh

Важные изменения в etc/dists/scripts/postcreate.sh потерялись полностью.

Ситуация осложняется тем, что я уже не помню, какие фичи были в последней моей сборке vzctl, а сравнивать два полных диффа мне сейчас некогда.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138391</commentid>
    <comment_count>1</comment_count>
    <who name="Evgenii Terechkov">evg</who>
    <bug_when>2013-03-04 18:17:06 +0400</bug_when>
    <thetext>А что говорят об этих фиксах и фичах в апстриме?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138405</commentid>
    <comment_count>2</comment_count>
    <who name="Slava Dubrovskiy">dubrsl</who>
    <bug_when>2013-03-05 12:36:42 +0400</bug_when>
    <thetext>(In reply to comment #0)
&gt; Потерялись разные фиксы и фичи в разных местах.
А можно, хоть примерно сказать, о каких фиксах и фичах идет речь?

Потому как специально я ничего не выкидывал и старался сохранить. Если что-то и отвалилось, то не намеренно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138406</commentid>
    <comment_count>3</comment_count>
    <who name="Slava Dubrovskiy">dubrsl</who>
    <bug_when>2013-03-05 12:46:39 +0400</bug_when>
    <thetext>(In reply to comment #1)
&gt; А что говорят об этих фиксах и фичах в апстриме?
Апстрим там тоже не все фичи принимает (например https://bugzilla.openvz.org/show_bug.cgi?id=355 )

Но и поддерживать свою сильно патченную версию vzctl не очень удобно да и квалификация не та у меня :( Поэтому или пропихивать в апстрим такие наработки нужно или четко фиксировать какая фича у нас есть. Чтобы при обновлении можно было обратить внимание и не потерять.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151528</commentid>
    <comment_count>4</comment_count>
      <attachid>6284</attachid>
    <who name="Evgenii Terechkov">evg</who>
    <bug_when>2015-05-22 11:56:53 +0300</bug_when>
    <thetext>Created attachment 6284
Патч от glebfm@ от 20.05.2015

20-22.05.2015 glebfm@ прислал мне приложенный патч с таким письмом:
=8&lt;================================================
  &gt; Я перенёс, вроде, старые патчи и починил новые bashisms. Проверить всё
  &gt; никак не доберусь.

  Я это скорее к обсудить, как это организовать всё. Я могу преаратить всё
  это в патчи относительно современной версии. Могу разделить на патчи
  относительно нашей ветки.
  Или как ещё, даже не знаю, как лучше.
=8&lt;================================================

Честно говоря, не знаю, что тут и ответить. Мне vzctl пришлось подхватить просто потому, что больше некому, никто особо ничего не объяснял. Патч конечно это хорошо, но по сути с 2013-го года ничего не изменилось:

1) Желающих держать свой форк vzctl (как делал 4 года ldv@) не появилось. А с учётом объявленного недавно грядущего слияния кодовых баз OpenVZ и Virtuozzo это станет ещё сложнее

2) Чёткого понимания необходимости держать так много патчей нет (ну, у меня нет).

2а) Касательно /etc/hooks в etc/dists так и неясно, где они используются в реальной жизни (можно вернуть в полном объёме благодаря glebfm@, можно наоборот убрать остатки и вернуться к апстримному виду).

2б) Касательно башизмов - я могу понять необходимость их чинить в коде, исполняющемся на HN (хотя правильным решением было бы обновление до bash4: http://lists.altlinux.org/pipermail/devel/2014-December/199308.html), но мне неясно, зачем пытаться их чинить для всех дистрибутивов. Мне понятна починка для кода, исполняющегося в контексте альтовских CT - из-за древнего баша. Но остальное - пусть будет проблемой апстрима (если они вообще видят здесь какую-то проблему).

В силу вышеизложенного я хотел бы в будущих сборках vzctl минимизировать размер диффа с апстримом (в идеале до .gear/ и/или altlinux/). Сейчас я склоняюсь к тому, чтобы:

3) из приложенного патча взять только малую часть (vzifup-post.in, vzmigrate.in, vz-postinstall.in, vzevent-stop.in, ещё что-то альт-специфичное)

4) кое-что закинуть в апстрим (AC_SYS_LARGEFILE, что ещё?)

5) все неприменимые к альту скрипты в etc/dists вернуть к апстримному виду и добавить в список исключений, где не нужно искать зависимости.

5) кое-что допатчить чтобы избавиться от зависимости vzctl-&gt;bash

6) убрать поддержку /etc/hooks (или наоборот, вернуть в прежнем объёме если будет озвучена необходимость в них) и где можно вернуться к апстримному виду

Есть мысли? Молчание считается знаком согласия :-)

P.S.: ещё раз большое спасибо glebfm@ за проделанный труд.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151533</commentid>
    <comment_count>5</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2015-05-22 14:58:31 +0300</bug_when>
    <thetext>(In reply to comment #4)
&gt; Честно говоря, не знаю, что тут и ответить. Мне vzctl пришлось подхватить
&gt; просто потому, что больше некому, никто особо ничего не объяснял. Патч конечно
&gt; это хорошо, но по сути с 2013-го года ничего не изменилось:
&gt; 
&gt; 1) Желающих держать свой форк vzctl (как делал 4 года ldv@) не появилось.

Ну, я вот...

&gt; А с учётом объявленного недавно грядущего слияния кодовых баз OpenVZ и
&gt; Virtuozzo это станет ещё сложнее
&gt; 
&gt; 2) Чёткого понимания необходимости держать так много патчей нет (ну, у меня
&gt; нет).
&gt; 
&gt; 2а) Касательно /etc/hooks в etc/dists так и неясно, где они используются в
&gt; реальной жизни (можно вернуть в полном объёме благодаря glebfm@, можно наоборот
&gt; убрать остатки и вернуться к апстримному виду).

Они используются в разных альтовых пакетах, в частности, chrooted.

&gt; 2б) Касательно башизмов - я могу понять необходимость их чинить в коде,
&gt; исполняющемся на HN
&gt; (хотя правильным решением было бы обновление до bash4:
&gt; http://lists.altlinux.org/pipermail/devel/2014-December/199308.html),

Эта проблема неразрешима при сытых волках и целых овцах.

&gt; но мне неясно, зачем пытаться их чинить для всех дистрибутивов. Мне понятна
&gt; починка для кода, исполняющегося в контексте альтовских CT - из-за древнего баша.

Это никак не связано.
Мы боимся только bash4-измов, а их там, кажется, нет. Наш /bin/sh замечательно
исполняет все bash-измы.

&gt; Но
&gt; остальное - пусть будет проблемой апстрима (если они вообще видят здесь
&gt; какую-то проблему).
&gt; 
&gt; В силу вышеизложенного я хотел бы в будущих сборках vzctl минимизировать размер
&gt; диффа с апстримом (в идеале до .gear/ и/или altlinux/). Сейчас я склоняюсь к
&gt; тому, чтобы:
&gt; 
&gt; 3) из приложенного патча взять только малую часть (vzifup-post.in,
&gt; vzmigrate.in, vz-postinstall.in, vzevent-stop.in, ещё что-то альт-специфичное)
&gt; 
&gt; 4) кое-что закинуть в апстрим (AC_SYS_LARGEFILE, что ещё?)
&gt; 
&gt; 5) все неприменимые к альту скрипты в etc/dists вернуть к апстримному виду и
&gt; добавить в список исключений, где не нужно искать зависимости.
&gt; 
&gt; 5) кое-что допатчить чтобы избавиться от зависимости vzctl-&gt;bash

Это не очень важно.
 
&gt; 6) убрать поддержку /etc/hooks (или наоборот, вернуть в прежнем объёме если
&gt; будет озвучена необходимость в них) и где можно вернуться к апстримному виду

Это обязательно оставить.

Вообще, самые важные изменения на мой вкус это /etc/hooks и изменения в
postcreate.sh.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151534</commentid>
    <comment_count>6</comment_count>
    <who name="Evgenii Terechkov">evg</who>
    <bug_when>2015-05-22 16:53:01 +0300</bug_when>
    <thetext>(В ответ на комментарий №5)
&gt; (In reply to comment #4)
&gt; &gt; 1) Желающих держать свой форк vzctl (как делал 4 года ldv@) не появилось.
&gt; Ну, я вот...

На это ответ традиционный:
=8&lt;==============================
evg@thinkpad ~ $git.alt acl sisyphus vzctl show
vzctl	evg @everybody
=8&lt;==============================

&gt; &gt; 2а) Касательно /etc/hooks в etc/dists так и неясно, где они используются в
&gt; &gt; реальной жизни (можно вернуть в полном объёме благодаря glebfm@, можно наоборот
&gt; &gt; убрать остатки и вернуться к апстримному виду).
&gt; Они используются в разных альтовых пакетах, в частности, chrooted.

Я понимаю, для чего нужны /etc/hooks и вижу, как они используются, но не вижу применений именно того, что сделано в vzctl:
=8&lt;==============================
evg@thinkpad ~/git/vzctl $for i in `git grep /etc/hooks 3.0.24.2-alt1 -- etc|egrep -io &apos;/etc/hooks/[^/ ]+&apos;|sort -u`;do;echo $i;grep &quot;$i&quot; ~/RPM/contents_index.noarch ~/RPM/contents_index.x86_64 ;done
/etc/hooks/add_ip.d
[2]    20107 exit 1     grep &quot;$i&quot; ~/RPM/contents_index.noarch
/etc/hooks/del_ip.d
[2]    20108 exit 1     grep &quot;$i&quot; ~/RPM/contents_index.noarch
/etc/hooks/post_create.d
[2]    20110 exit 1     grep &quot;$i&quot; ~/RPM/contents_index.noarch
/etc/hooks/set_dns.d
[2]    20111 exit 1     grep &quot;$i&quot; ~/RPM/contents_index.noarch
/etc/hooks/set_hostname.d
[2]    20112 exit 1     grep &quot;$i&quot; ~/RPM/contents_index.noarch
/etc/hooks/set_userpass.d
[2]    20113 exit 1     grep &quot;$i&quot; ~/RPM/contents_index.noarch
=8&lt;==============================

Поэтому и предлагаю удалять - в сизифе пользователей я не вижу, пару лет они не объявляются. Цель добавления этой фичи тоже нигде вроде не описана. Следовательно, не так уж и хотелось, форк на ровном месте, &quot;чтобы было&quot;.

&gt; Мы боимся только bash4-измов, а их там, кажется, нет. Наш /bin/sh замечательно
&gt; исполняет все bash-измы.

Ну тогда я вообще не вижу смысла чинить башизмы, пока ничего не ломается.

&gt; &gt; 5) кое-что допатчить чтобы избавиться от зависимости vzctl-&gt;bash
&gt; Это не очень важно.

Я думаю, это может стать полезным, если мы вдруг дозреем до обновления bash3-&gt;bash4 каким-либо образом.

&gt; &gt; 6) убрать поддержку /etc/hooks (или наоборот, вернуть в прежнем объёме если
&gt; &gt; будет озвучена необходимость в них) и где можно вернуться к апстримному виду
&gt; Это обязательно оставить.

Так и не озвучено, зачем.

&gt; Вообще, самые важные изменения на мой вкус это /etc/hooks и изменения в
&gt; postcreate.sh.

Про postcreate.sh: если уж нет необходимости везде чинить башизмы (даже на HN), то там остаются только fixinittab, fixsyslog, copy_localtime, которые просто нужно заапстримить. А /etc/hooks/post_create.d соответственно выкинуть.

Вообще же вышеупомянутый ACL констатирует ситуацию: я буду только рад, если кто-то грамотный возьмётся за поддержку vzctl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156222</commentid>
    <comment_count>7</comment_count>
    <who name="Evgenii Terechkov">evg</who>
    <bug_when>2016-04-21 16:40:14 +0300</bug_when>
    <thetext>Увы, но больше openvz я не занимаюсь.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6284</attachid>
            <date>2015-05-22 11:56:53 +0300</date>
            <delta_ts>2015-05-22 11:56:53 +0300</delta_ts>
            <desc>Патч от glebfm@ от 20.05.2015</desc>
            <filename>altbug28628.patch</filename>
            <type>text/plain</type>
            <size>20188</size>
            <attacher name="Evgenii Terechkov">evg</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL2Jpbi92emlmdXAtcG9zdC5pbiBiL2Jpbi92emlmdXAtcG9zdC5pbgppbmRl
eCAzN2NjN2JiLi44NGVlYzUzIDEwMDc1NQotLS0gYS9iaW4vdnppZnVwLXBvc3QuaW4KKysrIGIv
YmluL3Z6aWZ1cC1wb3N0LmluCkBAIC0xLDQgKzEsNCBAQAotIyEvYmluL2Jhc2gKKyMhL2Jpbi9z
aAogIyBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxMSwgUGFyYWxsZWxzLCBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAjCiAjIFVwZGF0ZSBBUlAgdGFibGUgZm9yIGFsbCBjb250YWluZXJzIG9uIGlu
dGVyZmFjZSB1cApkaWZmIC0tZ2l0IGEvYmluL3Z6bWlncmF0ZS5pbiBiL2Jpbi92em1pZ3JhdGUu
aW4KaW5kZXggNTFlM2QzOC4uNzc2NGUwNiAxMDA3NTUKLS0tIGEvYmluL3Z6bWlncmF0ZS5pbgor
KysgYi9iaW4vdnptaWdyYXRlLmluCkBAIC00MTIsNyArNDEyLDcgQEAgcGxvb3BfY29weSgpIHsK
IAogCQkjIGNoZWNrIGlmIHNzaCBpcyBzdGlsbCB0aGVyZQogCQlraWxsIC0wICRwaWQgMj4vZGV2
L251bGwgJiYgYnJlYWsKLQkJbGV0IHRyeT10cnkrMQorCQl0cnk9IiQoKHRyeSsxKSkiCiAJZG9u
ZQogCiAJaWYgWyAkdHJ5ID0gNSBdOyB0aGVuCkBAIC04MzksNyArODM5LDcgQEAgbG9nZXhlYyAy
ICRTU0ggcm9vdEAkaG9zdCAkVlpDVEwgc2V0ICRWRUlEIC0tcHJpdmF0ZSAkVkVfUFJJVkFURV9S
RU1PVEUgLS1yb290ICQKIGxvZ2V4ZWMgMiAkU1NIIHJvb3RAJGhvc3QgJFZaQ1RMIHNldCAkVkVJ
RCAtLWFwcGx5Y29uZmlnX21hcCBuYW1lIC0tc2F2ZQogUkVUPSQ/CiAjIHZ6Y3RsIHJldHVybiBj
b2RlIDIwIG9yIDIxIGluIGNhc2Ugb2YgdW5yZWNvZ25pemVkIG9wdGlvbgotaWYgWyAkUkVUICE9
IDIwIF0gJiYgWyAkUkVUICE9IDIxIF0gJiYgWyAkUkVUICE9IDAgXTsgdGhlbgoraWYgWyAkUkVU
ICE9IDIwIC1hICRSRVQgIT0gMjEgLWEgJFJFVCAhPSAwIF07IHRoZW4KIAlsb2cgMCAiRmFpbGVk
IHRvIGFwcGx5IGNvbmZpZyBvbiBkZXN0aW5hdGlvbiBub2RlIgogCXVuZG9fY29uZgogCWV4aXQg
JE1JR19FUlJfQVBQTFlfQ09ORklHCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1
cmUuYWMKaW5kZXggNGQ3ZjlmYi4uZWE5OGM1MyAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisr
KyBiL2NvbmZpZ3VyZS5hYwpAQCAtNjIsNiArNjIsOSBAQCBtNF9pZmRlZihbQU1fU0lMRU5UX1JV
TEVTXSwgW0FNX1NJTEVOVF9SVUxFUyhbeWVzXSldKQogIyBEaXNhYmxlIGJ1aWxkIG9mIHN0YXRp
YyBsaWJyYXJpZXMgYnkgZGVmYXVsdC4KIEFDX0RJU0FCTEVfU1RBVElDCiAKKyMgQXJyYW5nZSBm
b3IgNjQtYml0IGZpbGUgb2Zmc2V0cy4KK0FDX1NZU19MQVJHRUZJTEUKKwogIyBJZiBBQ19VU0Vf
U1lTVEVNX0VYVEVOU0lPTlMgaXMgYXZhaWxhYmxlIChhdXRvY29uZiA+PSAyLjYwKSwKICMgdXNl
IGl0LiBPdGhlcndpc2UsIHVzZSBvbGQgQUNfR05VX1NPVVJDRQogbTRfaWZkZWYoW0FDX1VTRV9T
WVNURU1fRVhURU5TSU9OU10sCkBAIC03OCw3ICs4MSw2IEBAIEFDX1BST0dfTUFLRV9TRVQKIENG
TEFHUz0iJHtDRkxBR1N9IC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV2Nhc3QtcXVhbCAtV2lubGlu
ZSAtV2V4dHJhIgogQ0ZMQUdTPSIke0NGTEFHU30gLVdjYXN0LWFsaWduIC1Xbm8tdW51c2VkLXBh
cmFtZXRlciIKIENGTEFHUz0iJHtDRkxBR1N9IC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXpl
cnMiCi1DRkxBR1M9IiR7Q0ZMQUdTfSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgogCiAjIFdlIG5l
ZWQgLW02NCBmb3IgcHBjNjQgaW4gb3JkZXIgdG8gZ2V0IHByb3BlciBpb2N0bHMKIGlmIHRlc3Qg
eCR0YXJnZXRfY3B1ID0geHBwYzY0IC1vIHgkdGFyZ2V0X2NwdSA9IHhwb3dlcnBjNjQ7IHRoZW4K
ZGlmZiAtLWdpdCBhL2V0Yy9kaXN0cy9zY3JpcHRzL2FyY2gtYWRkX2lwLnNoIGIvZXRjL2Rpc3Rz
L3NjcmlwdHMvYXJjaC1hZGRfaXAuc2gKaW5kZXggZjk0ZjljOC4uMTA3NGYwZSAxMDA3NTUKLS0t
IGEvZXRjL2Rpc3RzL3NjcmlwdHMvYXJjaC1hZGRfaXAuc2gKKysrIGIvZXRjL2Rpc3RzL3Njcmlw
dHMvYXJjaC1hZGRfaXAuc2gKQEAgLTg0LDcgKzg0LDcgQEAgb2xkX2dldF9mcmVlX2FsaWFzaWQo
KQogCiAJWyAteiAiJHtJRk5VTUxJU1R9IiBdICYmIG9sZF9nZXRfYWxsX2FsaWFzaWQKIAl3aGls
ZSB0ZXN0IC16ICR7Zm91bmR9OyBkbwotCQlsZXQgSUZOVU09SUZOVU0rMQorCQlJRk5VTT0iJCgo
SUZOVU0rMSkpIgogCQllY2hvICIke0lGTlVNTElTVH0iIHwgZ3JlcCAtcSAtRSAiXiR7SUZOVU19
JCIgMj4vZGV2L251bGwgfHwKIAkJCWZvdW5kPTEKIAlkb25lCkBAIC0yMTksNyArMjE5LDcgQEAg
Z2V0X2ZyZWVfYWxpYXNpZCgpCiAKIAlbIC16ICIke0lGTlVNTElTVH0iIF0gJiYgZ2V0X2FsbF9h
bGlhc2lkCiAJd2hpbGUgdGVzdCAteiAke2ZvdW5kfTsgZG8KLQkJbGV0IElGTlVNPUlGTlVNKzEK
KwkJSUZOVU09IiQoKElGTlVNKzEpKSIKIAkJZWNobyAiJHtJRk5VTUxJU1R9IiB8IGdyZXAgLXEg
LUUgIl4ke0lGTlVNfSQiIDI+L2Rldi9udWxsIHx8CiAJCQlmb3VuZD0xCiAJZG9uZQpkaWZmIC0t
Z2l0IGEvZXRjL2Rpc3RzL3NjcmlwdHMvYXJjaC1kZWxfaXAuc2ggYi9ldGMvZGlzdHMvc2NyaXB0
cy9hcmNoLWRlbF9pcC5zaAppbmRleCA2MGIyNmVlLi43MmNmNDRlIDEwMDc1NQotLS0gYS9ldGMv
ZGlzdHMvc2NyaXB0cy9hcmNoLWRlbF9pcC5zaAorKysgYi9ldGMvZGlzdHMvc2NyaXB0cy9hcmNo
LWRlbF9pcC5zaApAQCAtNTcsNyArNTcsNyBAQCBvbGRfZGVsX2lwKCkKIAkJCSBncmVwICJeJHtW
RU5FVF9ERVZ9XyIgfCBjdXQgLWQnPScgLWYxKQogCQlpZiBbIC1uICIke2lmbmFtZX0iIF07IHRo
ZW4KIAkJICAgICMgc2h1dGRvd24gaW50ZXJmYWNlIHZlbmV0MDp4Ci0JCSAgICAvZXRjL3JjLmQv
bmV0d29yayBpZmRvd24gJHtpZm5hbWUvXy86fSAyPiAvZGV2L251bGwKKwkJICAgIC9ldGMvcmMu
ZC9uZXR3b3JrIGlmZG93biAiJChlY2hvICIkaWZuYW1lIiB8IHNlZCAtZSAncyxfLDosJykiIDI+
IC9kZXYvbnVsbAogCiAJCSAgICAjIHJlbW92ZSB2ZW5ldDBfeCBmcm9tIGNmZwogCQkgICAgZGVs
X3BhcmFtICIke09MRENGR0ZJTEV9IiAiJHtpZm5hbWV9IgpAQCAtMTEzLDcgKzExMyw3IEBAIGRl
bF9pcCgpCiAJbmV0Y2ZnICIke1ZFTkVUX0RFVn0iCiB9CiAKLWZ1bmN0aW9uIG5ldGN0bF9kZWxf
aXAoKQorbmV0Y3RsX2RlbF9pcCgpCiB7CiAJbG9jYWwgaXBtCiAKZGlmZiAtLWdpdCBhL2V0Yy9k
aXN0cy9zY3JpcHRzL2RlYmlhbi1hZGRfaXAuc2ggYi9ldGMvZGlzdHMvc2NyaXB0cy9kZWJpYW4t
YWRkX2lwLnNoCmluZGV4IDM2YjlmNTAuLmZjYzljNDAgMTAwNzU1Ci0tLSBhL2V0Yy9kaXN0cy9z
Y3JpcHRzL2RlYmlhbi1hZGRfaXAuc2gKKysrIGIvZXRjL2Rpc3RzL3NjcmlwdHMvZGViaWFuLWFk
ZF9pcC5zaApAQCAtMTMxLDcgKzEzMSw2IEBAIGlmYWNlICR7VkVORVRfREVWfToke2lmbnVtfSBp
bmV0IHN0YXRpYwogCSAgICBzZWQgLWkgLWUgInMvaWZhY2UgJHtWRU5FVF9ERVZ9IGluZXQ2IG1h
bnVhbC9pZmFjZSAke1ZFTkVUX0RFVn0gaW5ldDYgbWFudWFsXG5cdHVwIGlmY29uZmlnICR7VkVO
RVRfREVWfSBhZGQgJHtpcH1cLyR7bWFza31cblx0ZG93biBpZmNvbmZpZyAke1ZFTkVUX0RFVn0g
ZGVsICR7aXB9XC8ke21hc2t9LyIgJHtDRkdGSUxFfS5iYWsKIAkgICAgbmVlZF9yZXN0YXJ0PXll
cwogCWZpCi0KIH0KIAogZ2V0X2FsbF9hbGlhc2lkKCkKZGlmZiAtLWdpdCBhL2V0Yy9kaXN0cy9z
Y3JpcHRzL2Z1bmN0aW9ucyBiL2V0Yy9kaXN0cy9zY3JpcHRzL2Z1bmN0aW9ucwppbmRleCAwZDVi
MjNmLi41OThhY2JlIDEwMDc1NQotLS0gYS9ldGMvZGlzdHMvc2NyaXB0cy9mdW5jdGlvbnMKKysr
IGIvZXRjL2Rpc3RzL3NjcmlwdHMvZnVuY3Rpb25zCkBAIC0xNCw3ICsxNCw3IEBACiAjCiAjICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQogIyAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhl
IEZyZWUgU29mdHdhcmUKLSMgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3Vp
dGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyMgIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
CiAjCiAjCiAKQEAgLTI1Niw5ICsyNTYsOCBAQCBjaGFuZ2VfaG9zdG5hbWUoKQogCWxvY2FsIGNv
bW09JyMgQXV0by1nZW5lcmF0ZWQgaG9zdG5hbWUuIFBsZWFzZSBkbyBub3QgcmVtb3ZlIHRoaXMg
Y29tbWVudC4nCiAKIAlbIC1mICIkY2ZnIiBdIHx8IHRvdWNoICIkY2ZnIgotCWlmIFsgIiRob3N0
IiA9ICJsb2NhbGhvc3QiIC1vICIkaG9zdCIgPSAibG9jYWxob3N0LmxvY2FsZG9tYWluIiBdOwot
CXRoZW4KLQkJcHV0X3BhcmFtMiAiJGNmZyIgIjEyNy4wLjAuMSIgImxvY2FsaG9zdC5sb2NhbGRv
bWFpbiBsb2NhbGhvc3QiCisJaWYgWyAiJGhvc3QiID0gJ2xvY2FsaG9zdCcgLW8gIiRob3N0IiA9
ICdsb2NhbGhvc3QubG9jYWxkb21haW4nIF07IHRoZW4KKwkJcHV0X3BhcmFtMiAiJGNmZyIgJzEy
Ny4wLjAuMScgJ2xvY2FsaG9zdC5sb2NhbGRvbWFpbiBsb2NhbGhvc3QnCiAJCXJldHVybiAwCiAJ
ZmkKIAkke0NQfSAiJGNmZyIgIiRjZmcuJCQiIHx8CmRpZmYgLS1naXQgYS9ldGMvZGlzdHMvc2Ny
aXB0cy9mdW50b28tYWRkX2lwLnNoIGIvZXRjL2Rpc3RzL3NjcmlwdHMvZnVudG9vLWFkZF9pcC5z
aAppbmRleCAxZWI4MDFkLi44MmNmZDYzIDEwMDc1NQotLS0gYS9ldGMvZGlzdHMvc2NyaXB0cy9m
dW50b28tYWRkX2lwLnNoCisrKyBiL2V0Yy9kaXN0cy9zY3JpcHRzL2Z1bnRvby1hZGRfaXAuc2gK
QEAgLTQ1LDEzICs0NSwxMyBAQCBzZXRfcmMoKQogewogCVsgLWYgIiR7U0NSSVBUfSIgXSAmJiBy
ZXR1cm4gMAogCWxuIC1zZiBuZXRpZi50bXBsIC9ldGMvaW5pdC5kL25ldGlmLiR7VkVORVRfREVW
fQotCXJjLXVwZGF0ZSBhZGQgbmV0aWYuJHtWRU5FVF9ERVZ9IGRlZmF1bHQgJj4vZGV2L251bGwK
KwlyYy11cGRhdGUgYWRkIG5ldGlmLiR7VkVORVRfREVWfSBkZWZhdWx0ID4vZGV2L251bGwgMj4m
MQogfQogCiB1bnNldF9yYygpCiB7CiAJIyB1c2VkIGZvciBkaXNhYmxpbmcgdmVuZXQgaWYgd2Ug
YXJlIHVzaW5nIHZldGggYW5kIG5vIElQcyBhcmUgc3BlY2lmaWVkCi0JcmMtdXBkYXRlIGRlbCBu
ZXRpZi4ke1ZFTkVUX0RFVn0gZGVmYXVsdCAmPi9kZXYvbnVsbAorCXJjLXVwZGF0ZSBkZWwgbmV0
aWYuJHtWRU5FVF9ERVZ9IGRlZmF1bHQgPi9kZXYvbnVsbCAyPiYxCiAJcm0gLWYgL2V0Yy9pbml0
LmQvbmV0aWYuJHtWRU5FVF9ERVZ9CiAJcm0gLWYgL2V0Yy9jb25mLmQvbmV0aWYuJHtWRU5FVF9E
RVZ9CiAJaXAgbGluayBzZXQgJHtWRU5FVF9ERVZ9IGRvd24gPiAvZGV2L251bGwgMj4mMQpkaWZm
IC0tZ2l0IGEvZXRjL2Rpc3RzL3NjcmlwdHMvZnVudG9vLWRlbF9pcC5zaCBiL2V0Yy9kaXN0cy9z
Y3JpcHRzL2Z1bnRvby1kZWxfaXAuc2gKaW5kZXggMDk4OGNkOC4uMDc4ODk2YSAxMDA3NTUKLS0t
IGEvZXRjL2Rpc3RzL3NjcmlwdHMvZnVudG9vLWRlbF9pcC5zaAorKysgYi9ldGMvZGlzdHMvc2Ny
aXB0cy9mdW50b28tZGVsX2lwLnNoCkBAIC0yNSw3ICsyNSw3IEBAIENGR0ZJTEU9L2V0Yy9jb25m
LmQvbmV0aWYuJHtWRU5FVF9ERVZ9CiB1bnNldF9yYygpCiB7CiAJIyB1c2VkIGZvciBkaXNhYmxp
bmcgdmVuZXQgaWYgd2UgYXJlIHVzaW5nIHZldGggYW5kIG5vIElQcyBhcmUgc3BlY2lmaWVkCi0J
cmMtdXBkYXRlIGRlbCBuZXRpZi4ke1ZFTkVUX0RFVn0gZGVmYXVsdCAmPi9kZXYvbnVsbAorCXJj
LXVwZGF0ZSBkZWwgbmV0aWYuJHtWRU5FVF9ERVZ9IGRlZmF1bHQgPi9kZXYvbnVsbCAyPiYxCiAJ
cm0gLWYgL2V0Yy9pbml0LmQvbmV0aWYuJHtWRU5FVF9ERVZ9CiAJcm0gLWYgL2V0Yy9jb25mLmQv
bmV0aWYuJHtWRU5FVF9ERVZ9CiAJaXAgbGluayBzZXQgJHtWRU5FVF9ERVZ9IGRvd24gPiAvZGV2
L251bGwgMj4mMQpkaWZmIC0tZ2l0IGEvZXRjL2Rpc3RzL3NjcmlwdHMvZnVudG9vLXNldF9ob3N0
bmFtZS5zaCBiL2V0Yy9kaXN0cy9zY3JpcHRzL2Z1bnRvby1zZXRfaG9zdG5hbWUuc2gKaW5kZXgg
NDNlYWVlMC4uZmZmNDMyNiAxMDA3NTUKLS0tIGEvZXRjL2Rpc3RzL3NjcmlwdHMvZnVudG9vLXNl
dF9ob3N0bmFtZS5zaAorKysgYi9ldGMvZGlzdHMvc2NyaXB0cy9mdW50b28tc2V0X2hvc3RuYW1l
LnNoCkBAIC0xLDQgKzEsNCBAQAotIyEvYmluL2Jhc2gKKyMhL2Jpbi9zaAogIyAgQ29weXJpZ2h0
IChDKSAyMDAwLTIwMDksIFBhcmFsbGVscywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwog
IyAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vciBtb2RpZnkKQEAgLTE4LDcgKzE4LDcgQEAKICMKICMgVGhpcyBzY3JpcHQgc2V0cyBo
b3N0bmFtZSBpbnNpZGUgRnVudG9vIGJhc2VkIENULgogCi1mdW5jdGlvbiBzZXRfaG9zdG5hbWUo
KQorc2V0X2hvc3RuYW1lKCkKIHsKIAlsb2NhbCBjZmdmaWxlPSQxCiAJbG9jYWwgaG9zdG5hbWU9
JDIKZGlmZiAtLWdpdCBhL2V0Yy9kaXN0cy9zY3JpcHRzL2dlbnRvby1hZGRfaXAuc2ggYi9ldGMv
ZGlzdHMvc2NyaXB0cy9nZW50b28tYWRkX2lwLnNoCmluZGV4IGE4YzM5NWEuLjMxMjAxYTAgMTAw
NzU1Ci0tLSBhL2V0Yy9kaXN0cy9zY3JpcHRzL2dlbnRvby1hZGRfaXAuc2gKKysrIGIvZXRjL2Rp
c3RzL3NjcmlwdHMvZ2VudG9vLWFkZF9pcC5zaApAQCAtNjIsMTAgKzYyLDEwIEBAIHNldF9jb25m
aWcoKQogc2V0X3JjKCkKIHsKIAlbIC1mICIke1NDUklQVH0iIF0gJiYgcmV0dXJuIDAKLQlyYy11
cGRhdGUgZGVsIG5ldC5ldGgwICY+L2Rldi9udWxsCi0JcmMtdXBkYXRlIGFkZCBuZXQubG8gYm9v
dCAmPi9kZXYvbnVsbAorCXJjLXVwZGF0ZSBkZWwgbmV0LmV0aDAgPi9kZXYvbnVsbCAyPiYxCisJ
cmMtdXBkYXRlIGFkZCBuZXQubG8gYm9vdCA+L2Rldi9udWxsIDI+JjEKIAlsbiAtc2YgL2V0Yy9p
bml0LmQvbmV0LmxvIC9ldGMvaW5pdC5kL25ldC4ke1ZFTkVUX0RFVn0KLQlyYy11cGRhdGUgYWRk
IG5ldC4ke1ZFTkVUX0RFVn0gZGVmYXVsdCAmPi9kZXYvbnVsbAorCXJjLXVwZGF0ZSBhZGQgbmV0
LiR7VkVORVRfREVWfSBkZWZhdWx0ID4vZGV2L251bGwgMj4mMQogfQogCiBpbml0X25ldGNvbmZp
ZygpCmRpZmYgLS1naXQgYS9ldGMvZGlzdHMvc2NyaXB0cy9nZW50b28tZGVsX2lwLnNoIGIvZXRj
L2Rpc3RzL3NjcmlwdHMvZ2VudG9vLWRlbF9pcC5zaAppbmRleCA3Yzk4ZjJhLi5lOGEyYWUzIDEw
MDc1NQotLS0gYS9ldGMvZGlzdHMvc2NyaXB0cy9nZW50b28tZGVsX2lwLnNoCisrKyBiL2V0Yy9k
aXN0cy9zY3JpcHRzL2dlbnRvby1kZWxfaXAuc2gKQEAgLTM1LDcgKzM1LDcgQEAgZGVsX2lwKCkK
IAogCWlmIFsgIngke0lQREVMQUxMfSIgPSAieHllcyIgXTsgdGhlbgogCQkvZXRjL2luaXQuZC9u
ZXQuJHtWRU5FVF9ERVZ9IHN0b3AgPi9kZXYvbnVsbCAyPiYxCi0JCXJjLXVwZGF0ZSBkZWwgbmV0
LiR7VkVORVRfREVWfSBkZWZhdWx0ICY+L2Rldi9udWxsCisJCXJjLXVwZGF0ZSBkZWwgbmV0LiR7
VkVORVRfREVWfSBkZWZhdWx0ID4vZGV2L251bGwgMj4mMQogCQlybSAtZiAvZXRjL2luaXQuZC9u
ZXQuJHtWRU5FVF9ERVZ9CiAJCXNlZCAtaSAtZSAnL18ke1ZFTkVUX0RFVn0vZCcgJENGR0ZJTEUK
IAkJcmV0dXJuIDAKZGlmZiAtLWdpdCBhL2V0Yy9kaXN0cy9zY3JpcHRzL3Bvc3RjcmVhdGUuc2gg
Yi9ldGMvZGlzdHMvc2NyaXB0cy9wb3N0Y3JlYXRlLnNoCmluZGV4IDc1M2VmZmEuLmVjNGUwYWMg
MTAwNzU1Ci0tLSBhL2V0Yy9kaXN0cy9zY3JpcHRzL3Bvc3RjcmVhdGUuc2gKKysrIGIvZXRjL2Rp
c3RzL3NjcmlwdHMvcG9zdGNyZWF0ZS5zaApAQCAtNDAsOCArNDAsOCBAQCByYW5kY3JvbnRhYigp
CiAJCVsgLWYgIiR7ZmlsZX0iIF0gfHwgY29udGludWUKIAkJZ3JlcCAtd3EgVlpDVExfUE9TVENS
RUFURV9TS0lQICIke2ZpbGV9IiAmJiBjb250aW51ZQogCi0JCS9iaW4vY3AgLWZwICR7ZmlsZX0g
JHtmaWxlfS4kJAotCQljYXQgJHtmaWxlfSB8IGF3ayAnCisJCWNwIC1mcCAke2ZpbGV9ICR7Zmls
ZX0uJCQKKwkJYXdrICcKIEJFR0lOIHsgc3JhbmQoKTsgfQogewogCWlmICgkMCB+IC9eWyBcdF0q
Iy8gfHwgJDAgfiAvXlsgXHRdKyokLykgewpAQCAtNzIsMjEgKzcyLDUwIEBAIEJFR0lOIHsgc3Jh
bmQoKTsgfQogCQlsaW5lID0gbGluZSAiICIgIGFyW2ldOwogCX0KIAlwcmludCBsaW5lOwotfScg
PgkJJHtmaWxlfS4kJCAmJiAvYmluL212IC1mICR7ZmlsZX0uJCQgJHtmaWxlfQotCQkvYmluL3Jt
IC1mICR7ZmlsZX0uJCQgMj4vZGV2L251bGwKK30nIDwiJGZpbGUiID4JJHtmaWxlfS4kJCAmJiBt
diAtZiAke2ZpbGV9LiQkICR7ZmlsZX0KKwkJcm0gLWYgJHtmaWxlfS4kJCAyPi9kZXYvbnVsbAog
CWRvbmUKIH0KIAogZGlzYWJsZXJvb3QoKQogewotCWxvY2FsIGZpbGU9JHtWRV9ST09UfSIvZXRj
L3Bhc3N3ZCIKKwlsb2NhbCBmaWxlPSIke1ZFX1JPT1R9L2V0Yy9wYXNzd2QiCiAKLQlbIC1mICIk
ZmlsZSIgXSB8fCByZXR1cm4gMAorCVsgLWYgIiRmaWxlIiBdICYmCisJCWdyZXAgLXFzICdecm9v
dDo6JyAiJGZpbGUiIHx8CisJCXJldHVybiAwCiAKLQlpZiAvYmluL2dyZXAgLXEgIl5yb290Ojoi
ICIke2ZpbGV9IiAyPi9kZXYvbnVsbDsgdGhlbgotCQkvYmluL3NlZCAncy9ecm9vdDo6L3Jvb3Q6
ISE6L2cnIDwgJHtmaWxlfSA+ICR7ZmlsZX0uJCQgJiYKLQkJCS9iaW4vbXYgLWYgJHtmaWxlfS4k
JCAke2ZpbGV9Ci0JCS9iaW4vcm0gLWYgJHtmaWxlfS4kJCAyPi9kZXYvbnVsbAorCXNlZCAtaSAn
cy9ecm9vdDo6L3Jvb3Q6ISE6L2cnICIkZmlsZSIKK30KKworZml4aW5pdHRhYigpCit7CisJZmls
ZT0iJFZFX1JPT1QvZXRjL2luaXR0YWIiCisKKwlbIC1mICIkZmlsZSIgXSAmJgorCQlncmVwIC1x
cyAnXlswLTldLiptaW5nZXR0eS4qdHR5JyAiJGZpbGUiIHx8CisJCXJldHVybiAwCisKKwlzZWQg
LWkgJ3N8XlswLTldLiptaW5nZXR0eS4qdHR5fCMmfCcgIiRmaWxlIgorfQorCitmaXhzeXNsb2co
KQoreworCWZpbGU9IiRWRV9ST09UL2V0Yy9zeXNsb2cuY29uZiIKKworCVsgLWYgIiRmaWxlIiBd
ICYmCisJCWdyZXAgLXFzICdeW14jWzpzcGFjZTpdXVwrW1s6c3BhY2U6XV1cKy9kZXYvdHR5JyAi
JGZpbGUiIHx8CisJCXJldHVybiAwCisKKwlzZWQgLWkgJ3N8XlteI1s6c3BhY2U6XV1cK1tbOnNw
YWNlOl1dXCsvZGV2L3R0eXwjJnwnICIkZmlsZSIKK30KKworY29weV9sb2NhbHRpbWUoKQorewor
CWxvY2FsIGY9L2V0Yy9sb2NhbHRpbWUKKwlpZiBbIC1zICIkZiIgXTsgdGhlbgorCQlybSAtZiAt
LSAiJFZFX1JPT1QkZiIgJiYKKwkJCWluc3RhbGwgLXBtNjQ0IC0tICIkZiIgIiRWRV9ST09UJGYi
CiAJZmkKIH0KIApAQCAtMTUwLDExICsxNzksMTggQEAgc2V0X2ZpbGVfY2FwcygpCiAJZmkKIH0K
IAotWyAteiAiJHtWRV9ST09UfSIgXSAmJiBleGl0IDEKK1sgLW4gIiRWRV9ST09UIiBdIHx8IGV4
aXQgMQogdW1hc2sgMDAyMgogcmFuZGNyb250YWIKIGRpc2FibGVyb290CiBzZXRfbmV0d29yawog
c2V0X2ZpbGVfY2FwcworZml4aW5pdHRhYgorZml4c3lzbG9nCitjb3B5X2xvY2FsdGltZQoraWYg
WyAtZCAvZXRjL2hvb2tzL3Bvc3RfY3JlYXRlLmQgXSAmJgorICAgdHlwZSBydW4tcGFydHMgPi9k
ZXYvbnVsbCAyPiYxOyB0aGVuCisJcnVuLXBhcnRzIC9ldGMvaG9va3MvcG9zdF9jcmVhdGUuZAor
ZmkKIAogZXhpdCAwCmRpZmYgLS1naXQgYS9ldGMvZGlzdHMvc2NyaXB0cy9yZWRoYXQtNy54X2Fk
ZF9pcC5zaCBiL2V0Yy9kaXN0cy9zY3JpcHRzL3JlZGhhdC03LnhfYWRkX2lwLnNoCmluZGV4IDRl
OWUzMDcuLjNjMGY0ZDAgMTAwNzU1Ci0tLSBhL2V0Yy9kaXN0cy9zY3JpcHRzL3JlZGhhdC03Lnhf
YWRkX2lwLnNoCisrKyBiL2V0Yy9kaXN0cy9zY3JpcHRzL3JlZGhhdC03LnhfYWRkX2lwLnNoCkBA
IC0xMDQsNyArMTA0LDcgQEAgZ2V0X2ZyZWVfYWxpYXNpZCgpCiAKIAlbIC16ICIke0lGTlVNTElT
VH0iIF0gJiYgZ2V0X2FsbF9hbGlhc2lkCiAJd2hpbGUgdGVzdCAteiAke2ZvdW5kfTsgZG8KLQkJ
bGV0IElGTlVNPUlGTlVNKzEKKwkJSUZOVU09JCgoSUZOVU0rMSkpCiAJCWVjaG8gIiR7SUZOVU1M
SVNUfSIgfCBncmVwIC1xIC1FICJeJHtJRk5VTX0kIiAyPi9kZXYvbnVsbCB8fAogCQkJZm91bmQ9
MQogCWRvbmUKZGlmZiAtLWdpdCBhL2V0Yy9kaXN0cy9zY3JpcHRzL3JlZGhhdC1hZGRfaXAuc2gg
Yi9ldGMvZGlzdHMvc2NyaXB0cy9yZWRoYXQtYWRkX2lwLnNoCmluZGV4IGZmYWJiOWYuLmM5MTE0
MDcgMTAwNzU1Ci0tLSBhL2V0Yy9kaXN0cy9zY3JpcHRzL3JlZGhhdC1hZGRfaXAuc2gKKysrIGIv
ZXRjL2Rpc3RzL3NjcmlwdHMvcmVkaGF0LWFkZF9pcC5zaApAQCAtMzEsMTQgKzMxLDEwIEBAIGZp
eF9pZnVwKCkKIAlmaWxlPSIvc2Jpbi9pZnVwIgogCiAJWyAtZiAiJHtmaWxlfSIgXSB8fCByZXR1
cm4gMAotCVsgIngke1ZFX1NUQVRFfSIgIT0gInhzdGFydGluZyIgXSAmJiByZXR1cm4gMAotCi0J
aWYgZ3JlcCAtcSAnaWYgXFsgIlwke0RFVklDRX0iID0gImxvIiBcXTsgdGhlbicgJHtmaWxlfSAy
Pi9kZXYvbnVsbAotCXRoZW4KLQkJJHtDUH0gJHtmaWxlfSAke2ZpbGV9LiQkIHx8IHJldHVybiAx
Ci0JCS9iaW4vc2VkIC1lICdzL2lmIFxbICJcJHtERVZJQ0V9IiA9ICJsbyIgXF07IHRoZW4vaWYg
XFsgIiR7SVBBRERSfSIgPSAiMTI3LjAuMC4xIiBcXTsgdGhlbi9nJyA8ICR7ZmlsZX0gPiAke2Zp
bGV9LiQkICYmCi0JCQltdiAtZiAke2ZpbGV9LiQkICR7ZmlsZX0KLQkJcm0gLWYgJHtmaWxlfS4k
JCAyPi9kZXYvbnVsbAorCVsgIiR7VkVfU1RBVEV9IiA9ICJzdGFydGluZyIgXSB8fCByZXR1cm4g
MAorCisJaWYgZ3JlcCAtcXMgJ2lmIFxbICJcJHtERVZJQ0V9IiA9ICJsbyIgXF07IHRoZW4nICIk
e2ZpbGV9IjsgdGhlbgorCQlzZWQgLWkgJ3MvaWYgXFsgIlwke0RFVklDRX0iID0gImxvIiBcXTsg
dGhlbi9pZiBcWyAiJHtJUEFERFJ9IiA9ICIxMjcuMC4wLjEiIFxdOyB0aGVuL2cnICIke2ZpbGV9
IgogCWZpCiB9CiAKQEAgLTUzLDM0ICs0OSwzNCBAQCBBUlBDSEVDSz1cIm5vXCIKIElQQUREUj0x
MjcuMC4wLjEKIE5FVE1BU0s9MjU1LjI1NS4yNTUuMjU1CiBCUk9BRENBU1Q9MC4wLjAuMAotQVJQ
Q0hFQ0s9XCJub1wiIiA+ICRJRkNGRyB8fCBlcnJvciAiQ2FuJ3Qgd3JpdGUgdG8gZmlsZSAkSUZD
RkciICRWWl9GU19OT19ESVNLX1NQQUNFCitBUlBDSEVDSz1cIm5vXCIiID4gIiR7SUZDRkd9IiB8
fCBlcnJvciAiQ2FuJ3Qgd3JpdGUgdG8gZmlsZSAke0lGQ0ZHfSIgJHtWWl9GU19OT19ESVNLX1NQ
QUNFfQogCiAJIyBTZXQgL2V0Yy9zeXNjb25maWcvbmV0d29yawotCXB1dF9wYXJhbSAkTkVURklM
RSBORVRXT1JLSU5HIHllcworCXB1dF9wYXJhbSAiJHtORVRGSUxFfSIgTkVUV09SS0lORyB5ZXMK
IAkjIFNldCBkZWZhdWx0IHJvdXRlIHRvIHZlbmV0MAotCXB1dF9wYXJhbSAkTkVURklMRSBHQVRF
V0FZREVWICR7VkVORVRfREVWfQorCXB1dF9wYXJhbSAiJHtORVRGSUxFfSIgR0FURVdBWURFViAk
e1ZFTkVUX0RFVn0KIAkjIFJlbW92ZSBvbGQgKG9ic29sZXRlZCkgZmFrZSByb3V0ZQotCWRlbF9w
YXJhbSAkTkVURklMRSBHQVRFV0FZCisJZGVsX3BhcmFtICIke05FVEZJTEV9IiBHQVRFV0FZCiAJ
IyBzZXR1cCBpcHY2CiAJc2V0dXA2X25ldHdvcmsKIAogCSMgU2V0IHVwIC9ldGMvaG9zdHMKLQlp
ZiBbICEgLWYgJHtIT1NURklMRX0gXTsgdGhlbgotCQllY2hvICIxMjcuMC4wLjEgbG9jYWxob3N0
LmxvY2FsZG9tYWluIGxvY2FsaG9zdCIgPiAkSE9TVEZJTEUKKwlpZiBbICEgLWYgIiR7SE9TVEZJ
TEV9IiBdOyB0aGVuCisJCWVjaG8gIjEyNy4wLjAuMSBsb2NhbGhvc3QubG9jYWxkb21haW4gbG9j
YWxob3N0IiA+ICIke0hPU1RGSUxFfSIKIAlmaQogCWZpeF9pZnVwCiB9CiAKIHNldHVwNl9uZXR3
b3JrKCkKIHsKLQlbICIke0lQVjZ9IiAhPSAieWVzIiBdICYmIHJldHVybiAwCisJWyAiJHtJUFY2
fSIgPSAieWVzIiBdIHx8IHJldHVybiAwCiAKLQlpZiAhIGdyZXAgLXEgJ0lQVjZJTklUPSJ5ZXMi
JyAke0lGQ0ZHfTsgdGhlbgotCQlwdXRfcGFyYW0gJHtJRkNGR30gSVBWNklOSVQgeWVzCisJaWYg
ISBncmVwIC1xICdJUFY2SU5JVD0ieWVzIicgIiR7SUZDRkd9IjsgdGhlbgorCQlwdXRfcGFyYW0g
IiR7SUZDRkd9IiBJUFY2SU5JVCB5ZXMKIAlmaQotCWlmICEgZ3JlcCAtcSAnTkVUV09SS0lOR19J
UFY2PSJ5ZXMiJyAke05FVEZJTEV9OyB0aGVuCi0JCXB1dF9wYXJhbSAke05FVEZJTEV9IE5FVFdP
UktJTkdfSVBWNiB5ZXMKLQkJcHV0X3BhcmFtICR7TkVURklMRX0gSVBWNl9ERUZBVUxUREVWICR7
VkVORVRfREVWfQorCWlmICEgZ3JlcCAtcSAnTkVUV09SS0lOR19JUFY2PSJ5ZXMiJyAiJHtORVRG
SUxFfSI7IHRoZW4KKwkJcHV0X3BhcmFtICIke05FVEZJTEV9IiBORVRXT1JLSU5HX0lQVjYgeWVz
CisJCXB1dF9wYXJhbSAiJHtORVRGSUxFfSIgSVBWNl9ERUZBVUxUREVWICIke1ZFTkVUX0RFVn0i
CiAJCU5FVFdPUktSRVNUQVJUPXllcwogCWZpCiB9CkBAIC0xMDIsOCArOTgsOCBAQCBORVRNQVNL
PSR7bmV0bWFza30iID4gJGZpbGUgfHwKIAogYWRkX2lwNigpCiB7Ci0JWyAiJHtJUFY2fSIgIT0g
InllcyIgXSAmJiByZXR1cm4gMAotCWlmICEgZ3JlcCAtcXcgIiQxIiAke0lGQ0ZHfSAyPi9kZXYv
bnVsbDsgdGhlbgorCVsgIiRJUFY2IiA9ICJ5ZXMiIF0gfHwgcmV0dXJuIDAKKwlpZiAhIGdyZXAg
LXFzdyAiJDEiICIke0lGQ0ZHfSI7IHRoZW4KIAkJc2V0dXA2X25ldHdvcmsKIAkJYWRkX3BhcmFt
ICR7SUZDRkd9IElQVjZBRERSX1NFQ09OREFSSUVTICIkMS8kMiIKIAkJaWYgaGF2ZV9pZmNvbmZp
ZzsgdGhlbgpAQCAtMTM5LDcgKzEzNSw3IEBAIGdldF9mcmVlX2FsaWFzaWQoKQogCiAJWyAteiAi
JHtJRk5VTUxJU1R9IiBdICYmIGdldF9hbGxfYWxpYXNpZAogCXdoaWxlIHRlc3QgLXogJHtmb3Vu
ZH07IGRvCi0JCWxldCBJRk5VTT1JRk5VTSsxCisJCUlGTlVNPSQoKElGTlVNKzEpKQogCQllY2hv
ICIke0lGTlVNTElTVH0iIHwgZ3JlcCAtcSAtRSAiXiR7SUZOVU19JCIgMj4vZGV2L251bGwgfHwK
IAkJCWZvdW5kPTEKIAlkb25lCmRpZmYgLS1naXQgYS9ldGMvZGlzdHMvc2NyaXB0cy9zZXRfY29u
c29sZS5zaCBiL2V0Yy9kaXN0cy9zY3JpcHRzL3NldF9jb25zb2xlLnNoCmluZGV4IGNkZGM4Yzgu
LmU5ZmFhMzkgMTAwNzU1Ci0tLSBhL2V0Yy9kaXN0cy9zY3JpcHRzL3NldF9jb25zb2xlLnNoCisr
KyBiL2V0Yy9kaXN0cy9zY3JpcHRzL3NldF9jb25zb2xlLnNoCkBAIC0xLDQgKzEsNCBAQAotIyEv
YmluL2Jhc2gKKyMhL2Jpbi9zaAogIyAgQ29weXJpZ2h0IChDKSAyMDEyLTIwMTQsIFBhcmFsbGVs
cywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwogIyAgVGhpcyBwcm9ncmFtIGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKZGlmZiAtLWdp
dCBhL2V0Yy9kaXN0cy9zY3JpcHRzL3NldF9kbnMuc2ggYi9ldGMvZGlzdHMvc2NyaXB0cy9zZXRf
ZG5zLnNoCmluZGV4IDFhZDBmOGEuLmI5MWI3MTMgMTAwNzU1Ci0tLSBhL2V0Yy9kaXN0cy9zY3Jp
cHRzL3NldF9kbnMuc2gKKysrIGIvZXRjL2Rpc3RzL3NjcmlwdHMvc2V0X2Rucy5zaApAQCAtMzAs
MTQgKzMwLDEzIEBAIHNldF9kbnMoKQogCWZpCiAJaWYgWyAtbiAiJHtzZXJ2ZXJ9IiBdOyB0aGVu
CiAJCVsgLWYgJHtjZmdmaWxlfSBdIHx8IHRvdWNoICR7Y2ZnZmlsZX0KLQkJc2VkICcvXlxzKm5h
bWVzZXJ2ZXJccy9kJyAke2NmZ2ZpbGV9ID4gJHtjZmdmaWxlfS4kJCAmJgotCQkJbXYgLWYgJHtj
ZmdmaWxlfS4kJCAke2NmZ2ZpbGV9IHx8CisJCXNlZCAtaSAnL15ccypuYW1lc2VydmVyXHMvZCcg
JHtjZmdmaWxlfSB8fAogCQkJZXJyb3IgIkNhbid0IGNoYW5nZSBmaWxlICR7Y2ZnZmlsZX0iICR7
VlpfRlNfTk9fRElTS19TUEFDRX0KIAkJZm9yIHNydiBpbiAke3NlcnZlcn07IGRvCi0JCQllY2hv
ICJuYW1lc2VydmVyICR7c3J2fSIgPj4gJHtjZmdmaWxlfQorCQkJZWNobyAibmFtZXNlcnZlciAk
e3Nydn0iID4+ICIke2NmZ2ZpbGV9IgogCQlkb25lCiAJZmkKLQljaG1vZCA2NDQgJHtjZmdmaWxl
fQorCWNobW9kIDY0NCAiJHtjZmdmaWxlfSIKIH0KIAogZ2VuX3Jlc29sdmNvbmYoKSB7CkBAIC01
NCw0ICs1Myw5IEBAIGVsc2UKIAlzZXRfZG5zIC9ldGMvcmVzb2x2LmNvbmYgIiR7TkFNRVNFUlZF
Un0iICIke1NFQVJDSERPTUFJTn0iCiBmaQogCitpZiBbIC1kIC9ldGMvaG9va3Mvc2V0X2Rucy5k
IF0gJiYKKyAgIHR5cGUgcnVuLXBhcnRzID4vZGV2L251bGwgMj4mMTsgdGhlbgorCXJ1bi1wYXJ0
cyAvZXRjL2hvb2tzL3NldF9kbnMuZCAiJE5BTUVTRVJWRVIiICIkU0VBUkNIRE9NQUlOIgorZmkK
KwogZXhpdCAwCmRpZmYgLS1naXQgYS9ldGMvZGlzdHMvc2NyaXB0cy9zZXRfdXNlcnBhc3Muc2gg
Yi9ldGMvZGlzdHMvc2NyaXB0cy9zZXRfdXNlcnBhc3Muc2gKaW5kZXggOGY3YjY1Yy4uNjdmMDhh
NiAxMDA3NTUKLS0tIGEvZXRjL2Rpc3RzL3NjcmlwdHMvc2V0X3VzZXJwYXNzLnNoCisrKyBiL2V0
Yy9kaXN0cy9zY3JpcHRzL3NldF91c2VycGFzcy5zaApAQCAtMjYsMTMgKzI2LDEzIEBAIHNldF9z
ZXJycGFzc3dkKCkKIAlsb2NhbCB1c2VyPSQoZWNobyAkdXNlcnB3IHwgc2VkICdzLzouKiQvLycp
CiAJbG9jYWwgcGFzc3dkPSQoZWNobyAkdXNlcnB3IHwgc2VkICdzL15bXjpdKjovLycpCiAKLQlp
ZiBbIC16ICIke3VzZXJ9IiAtbyAgLXogIiR7cGFzc3dkfSIgXTsgdGhlbgorCWlmIFsgLXogIiR7
dXNlcn0iIC1vIC16ICIke3Bhc3N3ZH0iIF07IHRoZW4KIAkJZXhpdCAkVlpfQ0hBTkdFUEFTUwog
CWZpCiAJaWYgWyAhIC1jIC9kZXYvdXJhbmRvbSBdOyB0aGVuCiAJCW1rbm9kIC9kZXYvdXJhbmRv
bSBjIDEgOSA+IC9kZXYvbnVsbAogCWZpCi0JaWYgISBncmVwIC1FICJeJHt1c2VyfToiICR7Q0ZH
RklMRX0gMj4mMSA+L2Rldi9udWxsOyB0aGVuCisJaWYgISBncmVwIC1xcyAiXiR7dXNlcn06IiAk
e0NGR0ZJTEV9OyB0aGVuCiAJCXVzZXJhZGQgLW0gIiR7dXNlcn0iIDI+JjEgfHwgZXhpdCAkVlpf
Q0hBTkdFUEFTUwogCWZpCiAJZWNobyAiJHtwYXNzd2R9IiB8IHBhc3N3ZCAtLXN0ZGluICIke3Vz
ZXJ9IiAyPi9kZXYvbnVsbApAQCAtNDEsNyArNDEsMTEgQEAgc2V0X3NlcnJwYXNzd2QoKQogCWZp
CiB9CiAKLVsgLXogIiR7VVNFUlBXfSIgXSAmJiByZXR1cm4gMAorWyAtbiAiJHtVU0VSUFd9IiBd
IHx8IHJldHVybiAwCiBzZXRfc2VycnBhc3N3ZCAiJHtVU0VSUFd9IgoraWYgWyAtZCAvZXRjL2hv
b2tzL3NldF91c2VycGFzcy5kIF0gJiYKKyAgIHR5cGUgcnVuLXBhcnRzID4vZGV2L251bGwgMj4m
MTsgdGhlbgorCXJ1bi1wYXJ0cyAvZXRjL2hvb2tzL3NldF91c2VycGFzcy5kICIkVVNFUlBXIgor
ZmkKIAogZXhpdCAwCmRpZmYgLS1naXQgYS9ldGMvZGlzdHMvc2NyaXB0cy9zbGFja3dhcmUtOS54
X2RlbF9pcC5zaCBiL2V0Yy9kaXN0cy9zY3JpcHRzL3NsYWNrd2FyZS05LnhfZGVsX2lwLnNoCmlu
ZGV4IGNkNmM5NmMuLmZkOWUyYWEgMTAwNzU1Ci0tLSBhL2V0Yy9kaXN0cy9zY3JpcHRzL3NsYWNr
d2FyZS05LnhfZGVsX2lwLnNoCisrKyBiL2V0Yy9kaXN0cy9zY3JpcHRzL3NsYWNrd2FyZS05Lnhf
ZGVsX2lwLnNoCkBAIC0yNyw3ICsyNyw3IEBAIGRlbF9pcCgpCiAJWyAtZiAke0lGQ0ZHfSAgXSB8
fCByZXR1cm4gMAogCiAJaWYgWyAieCR7SVBERUxBTEx9IiA9ICJ4eWVzIiBdOyB0aGVuCi0JCS9z
YmluL2lmY29uZmlnIHZlbmV0MCBkb3duCisJCWlmY29uZmlnIHZlbmV0MCBkb3duCiAJCW12IC1m
ICR7SUZDRkd9ICR7SUZDRkd9LmJhawogCQlyZXR1cm4gMAogCWZpCkBAIC0zNSw3ICszNSw3IEBA
IGRlbF9pcCgpCiAJZm9yIGlwbSBpbiAke0lQX0FERFJ9OyBkbwogCQlpcF9jb252ICRpcG0KIAkJ
aWYgZ3JlcCAtd3EgIiR7X0lQfSIgJHtJRkNGR30gMj4vZGV2L251bGw7IHRoZW4KLQkJCS9zYmlu
L2lmY29uZmlnIHZlbmV0MCBkb3duCisJCQlpZmNvbmZpZyB2ZW5ldDAgZG93bgogCQkJcHV0X3Bh
cmFtICR7SUZDRkd9ICJJUEFERFIiICIiCiAJCQlicmVhawogCQlmaQpkaWZmIC0tZ2l0IGEvZXRj
L2Rpc3RzL3NjcmlwdHMvc3VzZS03LnhfYWRkX2lwLnNoIGIvZXRjL2Rpc3RzL3NjcmlwdHMvc3Vz
ZS03LnhfYWRkX2lwLnNoCmluZGV4IDlhNTY5MzQuLjkxMmFlMzkgMTAwNzU1Ci0tLSBhL2V0Yy9k
aXN0cy9zY3JpcHRzL3N1c2UtNy54X2FkZF9pcC5zaAorKysgYi9ldGMvZGlzdHMvc2NyaXB0cy9z
dXNlLTcueF9hZGRfaXAuc2gKQEAgLTczLDcgKzczLDcgQEAgYWRkX2lwKCkKIAlmb3IgaXBtIGlu
ICR7SVBfQUREUn07IGRvCiAJCWlwX2NvbnYgJGlwbQogCQlhbGlhc2lkPSR7SVBfTlVNfQotCQls
ZXQgSVBfTlVNPUlQX05VTSsxCisJCUlQX05VTT0kKChJUF9OVU0rMSkpCiAJCSMgYnVpbGQgJ0lQ
QUREUl94JyByZWNvcmRzCiAJCXB1dF9wYXJhbSAke0NGR0ZJTEV9IElQQUREUl8ke0lQX05VTX0g
IiR7X0lQfSIKIAkJIyBidWlsZCAnTkVUREVWX3gnIHJlY29yZHMKZGlmZiAtLWdpdCBhL2V0Yy9k
aXN0cy9zY3JpcHRzL3N1c2UtOC54X2FkZF9pcC5zaCBiL2V0Yy9kaXN0cy9zY3JpcHRzL3N1c2Ut
OC54X2FkZF9pcC5zaAppbmRleCA5YzA3MmE0Li5kZmMzMWVhIDEwMDc1NQotLS0gYS9ldGMvZGlz
dHMvc2NyaXB0cy9zdXNlLTgueF9hZGRfaXAuc2gKKysrIGIvZXRjL2Rpc3RzL3NjcmlwdHMvc3Vz
ZS04LnhfYWRkX2lwLnNoCkBAIC03Nyw3ICs3Nyw3IEBAIGdldF9mcmVlX2FsaWFzaWQoKQogCiAJ
WyAteiAiJHtJRk5VTUxJU1R9IiBdICYmIGdldF9hbGxfYWxpYXNpZAogCXdoaWxlIHRlc3QgLXog
JHtmb3VuZH07IGRvCi0JCWxldCBJRk5VTT1JRk5VTSsxCisJCUlGTlVNPSQoKElGTlVNKzEpKQog
CQllY2hvICIke0lGTlVNTElTVH0iIHwgZ3JlcCAtcSAtRSAiXiR7SUZOVU19JCIgMj4vZGV2L251
bGwgfHwKIAkJCWZvdW5kPTEKIAlkb25lCmRpZmYgLS1naXQgYS9ldGMvZGlzdHMvc2NyaXB0cy9z
dXNlLWFkZF9pcC5zaCBiL2V0Yy9kaXN0cy9zY3JpcHRzL3N1c2UtYWRkX2lwLnNoCmluZGV4IDA1
YmZiNzkuLjAzODBmNmEgMTAwNzU1Ci0tLSBhL2V0Yy9kaXN0cy9zY3JpcHRzL3N1c2UtYWRkX2lw
LnNoCisrKyBiL2V0Yy9kaXN0cy9zY3JpcHRzL3N1c2UtYWRkX2lwLnNoCkBAIC0xMDAsNyArMTAw
LDcgQEAgSVBBRERSPTEyNy4wLjAuMSIgPiAke0lGQ0ZHfSB8fAogCWVycm9yICJDYW4ndCB3cml0
ZSB0byBmaWxlICR7SUZDRkd9IiAke1ZaX0ZTX05PX0RJU0tfU1BBQ0V9CiAKIAkjIFNldCB1cCAv
ZXRjL2hvc3RzCi0JWyAtZiAkIntIT1NURklMRX0iIF0gfHwgZWNobyAiMTI3LjAuMC4xIGxvY2Fs
aG9zdC5sb2NhbGRvbWFpbiBsb2NhbGhvc3QiID4gJEhPU1RGSUxFCisJWyAtZiAiJHtIT1NURklM
RX0iIF0gfHwgZWNobyAiMTI3LjAuMC4xIGxvY2FsaG9zdC5sb2NhbGRvbWFpbiBsb2NhbGhvc3Qi
ID4gJEhPU1RGSUxFCiAJIyBTZXQgZGVmYXVsdCByb3V0ZSB0byB2ZW5ldDAgb25seSBpZiB0aGVy
ZSBhcmUgSVBzCiAJIyBhbmQgdGhlcmUgaXMgbm8gb3RoZXIgZGVmYXVsdCByb3V0ZQogCXJtIC1m
ICR7Uk9VVEVTfQpAQCAtMTUxLDcgKzE1MSw3IEBAIGFkZF9pcCgpCiAJCQljb250aW51ZQogCQlm
aQogCQl3aGlsZSB0ZXN0IC16ICR7Zm91bmR9OyBkbwotCQkJbGV0IGlmbnVtKysKKwkJCWlmbnVt
PSQoKGlmbnVtKzEpKQogCQkJaWYgISBlY2hvICIke0lGTlVNTElTVH0iIHwgZ3JlcCAtdyAtcSAi
JHtpZm51bX0iOyB0aGVuCiAJCQkJZm91bmQ9MQogCQkJZmkKZGlmZiAtLWdpdCBhL21hbi92emN0
bC44LmluIGIvbWFuL3Z6Y3RsLjguaW4KaW5kZXggOTVlMGRhMi4uNGUyNzViZiAxMDA2NDQKLS0t
IGEvbWFuL3Z6Y3RsLjguaW4KKysrIGIvbWFuL3Z6Y3RsLjguaW4KQEAgLTE0NTgsMTEgKzE0NTgs
MTEgQEAgRXJyb3IgY29tcGFjdGluZyBwbG9vcCBpbWFnZQogLklQIDE2NwogRXJyb3IgbGlzdGlu
ZyBwbG9vcCBzbmFwc290cwogLlNIIEVYQU1QTEVTCi1UbyBjcmVhdGUgYW5kIHN0YXJ0ICJiYXNp
YyIgY29udGFpbmVyIHdpdGggSUQgb2YgMTAwMCB1c2luZwotXGZCY2VudG9zLTVcZlIgT1MgdGVt
cGxhdGUgYW5kIElQIGFkZHJlc3Mgb2YgMTkyLjE2OC4xMC4yMDA6CitUbyBjcmVhdGUgYW5kIHN0
YXJ0ICJiYXNpYyIgY29udGFpbmVyIHdpdGggSUQgb2YgMTAwMCB1c2luZyBcZkJhbHRsaW51eFxm
UgorT1MgdGVtcGxhdGUgYW5kIElQIGFkZHJlc3Mgb2YgMTkyLjE2OC4xMC4yMDA6CiAuUFAKIC5F
WAotICAgdnpjdGwgY3JlYXRlIDEwMDAgLS1vc3RlbXBsYXRlIGNlbnRvcy01IC0tY29uZmlnIGJh
c2ljCisgICB2emN0bCBjcmVhdGUgMTAwMCAtLW9zdGVtcGxhdGUgYWx0bGludXggLS1jb25maWcg
YmFzaWMKICAgIHZ6Y3RsIHNldCAxMDAwIC0taXBhZGQgMTkyLjE2OC4xMC4yMDAgLS1zYXZlCiAg
ICB2emN0bCBzdGFydCAxMDAwCiAuRUUKZGlmZiAtLWdpdCBhL3NjcmlwdHMvdnotcG9zdGluc3Rh
bGwuaW4gYi9zY3JpcHRzL3Z6LXBvc3RpbnN0YWxsLmluCmluZGV4IGI5Yzg5MmEuLmNlOWYzNDcg
MTAwNzU1Ci0tLSBhL3NjcmlwdHMvdnotcG9zdGluc3RhbGwuaW4KKysrIGIvc2NyaXB0cy92ei1w
b3N0aW5zdGFsbC5pbgpAQCAtMSw0ICsxLDQgQEAKLSMhL2Jpbi9iYXNoCisjIS9iaW4vc2gKICMg
T3BlblZaIHBvc3QtaW5zdGFsbCBzY3JpcHQKICMgQ29weXJpZ2h0IChDKSAyMDA5LTIwMTMsIFBh
cmFsbGVscywgSW5jLiBMaWNlbnNlZCB1bmRlciBHTlUgR1BMLgogIwpAQCAtMjAsNyArMjAsNyBA
QCBjaGVja19maWxlKCkKIAlsb2NhbCBmaWxlCiAKIAlmb3IgZmlsZSBpbiAkKjsgZG8KLQkJdGVz
dCAtYSAkZmlsZSB8fCBmYXRhbCAiJGZpbGUgbm90IGZvdW5kIgorCQl0ZXN0IC1mICRmaWxlIHx8
IGZhdGFsICIkZmlsZSBub3QgZm91bmQiCiAJCXRlc3QgLXcgJGZpbGUgfHwgZmF0YWwgIiRmaWxl
IGlzIG5vdCB3cml0YWJsZSIKIAlkb25lCiB9CkBAIC0zNCw3ICszNCw3IEBAIGNoYW5nZV9wYXJh
bSgpCiB7CiAJbG9jYWwgZmlsZT0kMSBwPSQyIHY9JDMKIAkjIEVzY2FwZSBkb3RzLCB0byBiZSB1
c2VkIGZvciByZWdleHBzCi0JbG9jYWwgcHA9JHtwLy8uL1xcLn0KKwlsb2NhbCBwcD0iJChlY2hv
ICRwIHwgc2VkIC1lICdzLFwuLFxcLixnJykiCiAKIAkjIENoZWNrIGlmIHBhcmFtIGlzIHRoZXJl
CiAJaWYgZ3JlcCAtcSAiXlsgXHRdKiR7cH1bIFx0XSo9LioiICRmaWxlOyB0aGVuCkBAIC03OSw3
ICs3OSw3IEBAIGRpc2FibGVfc2VsaW51eCgpCiAJdGVzdCAtZCAkKGRpcm5hbWUgJGZpbGUpIHx8
IHJldHVybgogCiAJIyBJZiB0aGVyZSdzIG5vICRmaWxlLCBjcmVhdGUgaXQKLQl0ZXN0IC1hICRm
aWxlIHx8IHRvdWNoICRmaWxlCisJdGVzdCAtZSAkZmlsZSB8fCB0b3VjaCAkZmlsZQogCiAJIyBD
aGVjayB3ZSBjYW4gd3JpdGUgdG8gaXQKIAljaGVja19maWxlICRmaWxlCkBAIC05NCw3ICs5NCw3
IEBAIGRpc2FibGVfa2VybmVsKCkKIAlsb2NhbCBmaWxlPS9ldGMveXVtLmNvbmYKIAogCSMgaWYg
dGhlcmUgaXMgbm8gZmlsZSwgbm90aGluZyB0byBkbwotCXRlc3QgLWEgJGZpbGUgfHwgcmV0dXJu
IDAKKwl0ZXN0IC1lICRmaWxlIHx8IHJldHVybiAwCiAKIAkjIENoZWNrIHdlIGNhbiB3cml0ZSB0
byBpdAogCWNoZWNrX2ZpbGUgJGZpbGUKZGlmZiAtLWdpdCBhL3NjcmlwdHMvdnpldmVudC1zdG9w
LmluIGIvc2NyaXB0cy92emV2ZW50LXN0b3AuaW4KaW5kZXggOTUwNTVmNy4uYzc0NTc0OCAxMDA3
NTUKLS0tIGEvc2NyaXB0cy92emV2ZW50LXN0b3AuaW4KKysrIGIvc2NyaXB0cy92emV2ZW50LXN0
b3AuaW4KQEAgLTYwLDcgKzYwLDcgQEAgZmkKIAkuIEBQS0dDT05GRElSQC92ei5jb25mCiAJLiBA
VlBTQ09ORkRJUkAvJFZFSUQuY29uZgogCXRlc3QgLWYgJFZFX1JPT1QvcmVib290IHx8IGV4aXQg
MAotCSQoYXdrICckMiA9PSAiJyRWRV9ST09UJyIgJiYgJDQgIX4gIl5ydyIgeworCSQoYXdrICck
MiA9PSAiJyRWRV9ST09UJyIgJiYgJDQgIX4gIl5ydyIgeyBcCiAJCXByaW50ICJtb3VudCAtb3Jl
bW91bnQscnciLCQxLCQyfScgL3Byb2MvbW91bnRzKQogCXJtIC1mICRWRV9ST09UL3JlYm9vdAog
CWV4aXQgMTExCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>