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

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

    <bug>
          <bug_id>60553</bug_id>
          
          <creation_ts>2026-09-15 17:26:33 +0300</creation_ts>
          <short_desc>alterator-kopidel тянет stage2-пакеты инсталлятора в устанавливаемую систему, ломая postinstall-очистку</short_desc>
          <delta_ts>2026-10-07 10:24:00 +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>alterator-kopidel</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexander Makeenkov">amakeenk</reporter>
          <assigned_to name="Ajrat Makhmutov">rauty</assigned_to>
          <cc>antohami</cc>
    
    <cc>antonenkode</cc>
    
    <cc>boyarsh</cc>
    
    <cc>klark</cc>
    
    <cc>mike</cc>
    
    <cc>rauty</cc>
    
    <cc>rider</cc>
    
    <cc>sem</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>298937</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Makeenkov">amakeenk</who>
    <bug_when>2026-09-15 17:26:33 +0300</bug_when>
    <thetext>Воспроизводится при установке ALT Education 11.2 (x86_64, build 2026-09-09), в состав которого входит alterator-kopidel-1.1.2-alt1.

alterator-kopidel жёстко требует stage2-пакеты инсталлятора:

Requires: installer-alterator-fs &gt;= 1.0.0
Requires: installer-common-base-stage2
Requires: installer-scripts-remount-stage2

Из-за этого эти пакеты (и их зависимости, например installer-common-functions, alterator-wizardface) устанавливаются в целевую систему. Косвенный признак в логе установки — сообщения вида:

cp: not replacing &apos;/usr/share/install2/postinstall.d/90-firsttime.sh&apos;
cp: not replacing &apos;/usr/share/install2/postinstall.d/10-increase-raid-limit.sh&apos;
...

т.е. /usr/share/install2 уже существует в устанавливаемой системе до копирования туда postinstall.d инсталлятором.

Далее штатная постустановочная очистка ломается. В postinstall.d/00-remove-installer-pkgs.sh есть «hack for kopidel»: при установленном alterator-kopidel из списка удаляемых пакетов (rpmquery -a &apos;installer*&apos;) исключаются его прямые installer-зависимости. Но исключаются только прямые requires, поэтому rpmi -ev падает атомарно (не удаляется ничего, apt-get autoremove не запускается):

Running postinstall script [00-remove-installer-pkgs.sh] alterator-kopidel-1.1.2-alt1.noarch
error: Failed dependencies:
	installer-common-functions = 1.16.38-alt1:p11+425359.200.4.1 is needed by (installed) installer-common-base-stage2-1.16.38-alt1.x86_64
	/usr/sbin/install2-init-functions is needed by (installed) installer-alterator-fs-1.0.1-alt1.noarch
	/usr/sbin/install2-init-functions is needed by (installed) alterator-kopidel-1.1.2-alt1.noarch
	/usr/sbin/install2-sh-functions is needed by (installed) alterator-preinstall-0.9.2-alt1.noarch
FAILED

Следующий скрипт падает каскадом, потому что stage2/stage3-пакеты остались в системе:

Running postinstall script [01-remove-installer-desktop-pkgs.sh] error: Failed dependencies:
	alterator-wizardface is needed by (installed) installer-common-base-stage2-1.16.38-alt1.x86_64
	alterator-wizardface is needed by (installed) alterator-setup-base-0.5.5-alt1.noarch
	alterator-luks is needed by (installed) installer-distro-alt-education-stage3-11.1-alt6.noarch
FAILED

Фактический результат: в установленной системе остаются installer-common-base-stage2, installer-alterator-fs, installer-common-functions, alterator-luks, alterator-wizardface и прочие пакеты инсталлятора, которые должны были быть удалены на этапе postinstall.

Ожидаемый результат: установка системы без остаточных пакетов инсталлятора и без FAILED в postinstall-скриптах очистки.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298938</commentid>
    <comment_count>1</comment_count>
      <attachid>22208</attachid>
    <who name="Alexander Makeenkov">amakeenk</who>
    <bug_when>2026-09-15 17:27:58 +0300</bug_when>
    <thetext>Created attachment 22208
логи</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298976</commentid>
    <comment_count>2</comment_count>
    <who name="Ajrat Makhmutov">rauty</who>
    <bug_when>2026-09-15 20:38:51 +0300</bug_when>
    <thetext>Копидел переиспользует пакеты установщика для создаваемых образов.
То, что тянет в образ - это ожидаемое поведение.
То, что скрипт падает - это баг.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298978</commentid>
    <comment_count>3</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2026-09-15 21:48:48 +0300</bug_when>
    <thetext>Не надо устанавливать Копидел при установке. Он должен устанавливаться на предварительно настроенной системе, готовой к запаковке, чтобы исключить удаление лишнего при развёртывании. Сами себе проблему придумали, а теперь героически решаете.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298987</commentid>
    <comment_count>4</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-09-16 09:05:29 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #3)
&gt; Не надо устанавливать Копидел при установке. Он должен устанавливаться на
&gt; предварительно настроенной системе, готовой к запаковке, чтобы исключить
&gt; удаление лишнего при развёртывании. Сами себе проблему придумали, а теперь
&gt; героически решаете.

Нет, установка его при установке системы - это его основная фича.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298988</commentid>
    <comment_count>5</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2026-09-16 09:11:24 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #4)
&gt; (Ответ для Антон Мидюков на комментарий #3)
&gt; &gt; Не надо устанавливать Копидел при установке. Он должен устанавливаться на
&gt; &gt; предварительно настроенной системе, готовой к запаковке, чтобы исключить
&gt; &gt; удаление лишнего при развёртывании. Сами себе проблему придумали, а теперь
&gt; &gt; героически решаете.
&gt; 
&gt; Нет, установка его при установке системы - это его основная фича.

Зачем нужна эта фича?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298989</commentid>
    <comment_count>6</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-09-16 09:15:45 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #5)
&gt; (Ответ для Anton Farygin на комментарий #4)
&gt; &gt; (Ответ для Антон Мидюков на комментарий #3)
&gt; &gt; &gt; Не надо устанавливать Копидел при установке. Он должен устанавливаться на
&gt; &gt; &gt; предварительно настроенной системе, готовой к запаковке, чтобы исключить
&gt; &gt; &gt; удаление лишнего при развёртывании. Сами себе проблему придумали, а теперь
&gt; &gt; &gt; героически решаете.
&gt; &gt; 
&gt; &gt; Нет, установка его при установке системы - это его основная фича.
&gt; 
&gt; Зачем нужна эта фича?

Что бы можно было перенести свою систему на другую машину. Антон, всё есть в описании пакета.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298992</commentid>
    <comment_count>7</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2026-09-16 09:22:34 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #6)
&gt; (Ответ для Антон Мидюков на комментарий #5)
&gt; &gt; (Ответ для Anton Farygin на комментарий #4)
&gt; &gt; &gt; (Ответ для Антон Мидюков на комментарий #3)
&gt; &gt; &gt; &gt; Не надо устанавливать Копидел при установке. Он должен устанавливаться на
&gt; &gt; &gt; &gt; предварительно настроенной системе, готовой к запаковке, чтобы исключить
&gt; &gt; &gt; &gt; удаление лишнего при развёртывании. Сами себе проблему придумали, а теперь
&gt; &gt; &gt; &gt; героически решаете.
&gt; &gt; &gt; 
&gt; &gt; &gt; Нет, установка его при установке системы - это его основная фича.
&gt; &gt; 
&gt; &gt; Зачем нужна эта фича?
&gt; 
&gt; Что бы можно было перенести свою систему на другую машину. Антон, всё есть в
&gt; описании пакета.

Нет. Я знаю зачем нужен Копидел. Я спрашиваю зачем фича &quot;установка Копидел при установке&quot;.
Я считаю, что система должна быть настроена до установки Копидел, чтобы тот не привносил в настроенную систему сайд-эффекты.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298993</commentid>
    <comment_count>8</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-09-16 09:24:02 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #7)
&gt; (Ответ для Anton Farygin на комментарий #6)
&gt; &gt; (Ответ для Антон Мидюков на комментарий #5)
&gt; &gt; &gt; (Ответ для Anton Farygin на комментарий #4)
&gt; &gt; &gt; &gt; (Ответ для Антон Мидюков на комментарий #3)
&gt; &gt; &gt; &gt; &gt; Не надо устанавливать Копидел при установке. Он должен устанавливаться на
&gt; &gt; &gt; &gt; &gt; предварительно настроенной системе, готовой к запаковке, чтобы исключить
&gt; &gt; &gt; &gt; &gt; удаление лишнего при развёртывании. Сами себе проблему придумали, а теперь
&gt; &gt; &gt; &gt; &gt; героически решаете.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Нет, установка его при установке системы - это его основная фича.
&gt; &gt; &gt; 
&gt; &gt; &gt; Зачем нужна эта фича?
&gt; &gt; 
&gt; &gt; Что бы можно было перенести свою систему на другую машину. Антон, всё есть в
&gt; &gt; описании пакета.
&gt; 
&gt; Нет. Я знаю зачем нужен Копидел. Я спрашиваю зачем фича &quot;установка Копидел
&gt; при установке&quot;.
&gt; Я считаю, что система должна быть настроена до установки Копидел, чтобы тот
&gt; не привносил в настроенную систему сайд-эффекты.

У меня по этому  поводу другое мнение - копидел должен работать в любой установленной системе без сайд-эффектов, а всё что привносит эти сайд-эффекты надо поправить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298994</commentid>
    <comment_count>9</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2026-09-16 09:28:45 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #8)
&gt; (Ответ для Антон Мидюков на комментарий #7)
&gt; &gt; (Ответ для Anton Farygin на комментарий #6)
&gt; &gt; &gt; (Ответ для Антон Мидюков на комментарий #5)
&gt; &gt; &gt; &gt; (Ответ для Anton Farygin на комментарий #4)
&gt; &gt; &gt; &gt; &gt; (Ответ для Антон Мидюков на комментарий #3)
&gt; &gt; &gt; &gt; &gt; &gt; Не надо устанавливать Копидел при установке. Он должен устанавливаться на
&gt; &gt; &gt; &gt; &gt; &gt; предварительно настроенной системе, готовой к запаковке, чтобы исключить
&gt; &gt; &gt; &gt; &gt; &gt; удаление лишнего при развёртывании. Сами себе проблему придумали, а теперь
&gt; &gt; &gt; &gt; &gt; &gt; героически решаете.
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Нет, установка его при установке системы - это его основная фича.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Зачем нужна эта фича?
&gt; &gt; &gt; 
&gt; &gt; &gt; Что бы можно было перенести свою систему на другую машину. Антон, всё есть в
&gt; &gt; &gt; описании пакета.
&gt; &gt; 
&gt; &gt; Нет. Я знаю зачем нужен Копидел. Я спрашиваю зачем фича &quot;установка Копидел
&gt; &gt; при установке&quot;.
&gt; &gt; Я считаю, что система должна быть настроена до установки Копидел, чтобы тот
&gt; &gt; не привносил в настроенную систему сайд-эффекты.
&gt; 
&gt; У меня по этому  поводу другое мнение - копидел должен работать в любой
&gt; установленной системе без сайд-эффектов, а всё что привносит эти
&gt; сайд-эффекты надо поправить.

Тогда Копидел не должен иметь зависимостей :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298995</commentid>
    <comment_count>10</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-09-16 09:31:29 +0300</bug_when>
    <thetext>ну или работать по другому, вероятно да. Но сейчас можно и в скриптах поправить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298996</commentid>
    <comment_count>11</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2026-09-16 09:33:32 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #9)
&gt; (Ответ для Anton Farygin на комментарий #8)
&gt; &gt; (Ответ для Антон Мидюков на комментарий #7)
&gt; &gt; &gt; (Ответ для Anton Farygin на комментарий #6)
&gt; &gt; &gt; &gt; (Ответ для Антон Мидюков на комментарий #5)
&gt; &gt; &gt; &gt; &gt; (Ответ для Anton Farygin на комментарий #4)
&gt; &gt; &gt; &gt; &gt; &gt; (Ответ для Антон Мидюков на комментарий #3)
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Не надо устанавливать Копидел при установке. Он должен устанавливаться на
&gt; &gt; &gt; &gt; &gt; &gt; &gt; предварительно настроенной системе, готовой к запаковке, чтобы исключить
&gt; &gt; &gt; &gt; &gt; &gt; &gt; удаление лишнего при развёртывании. Сами себе проблему придумали, а теперь
&gt; &gt; &gt; &gt; &gt; &gt; &gt; героически решаете.
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; Нет, установка его при установке системы - это его основная фича.
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Зачем нужна эта фича?
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Что бы можно было перенести свою систему на другую машину. Антон, всё есть в
&gt; &gt; &gt; &gt; описании пакета.
&gt; &gt; &gt; 
&gt; &gt; &gt; Нет. Я знаю зачем нужен Копидел. Я спрашиваю зачем фича &quot;установка Копидел
&gt; &gt; &gt; при установке&quot;.
&gt; &gt; &gt; Я считаю, что система должна быть настроена до установки Копидел, чтобы тот
&gt; &gt; &gt; не привносил в настроенную систему сайд-эффекты.
&gt; &gt; 
&gt; &gt; У меня по этому  поводу другое мнение - копидел должен работать в любой
&gt; &gt; установленной системе без сайд-эффектов, а всё что привносит эти
&gt; &gt; сайд-эффекты надо поправить.
&gt; 
&gt; Тогда Копидел не должен иметь зависимостей :)

По сути, всё, что ему нужно, должно быть в каком-то каталоге, из которого он всё копирует. Понятное дело, что ему будет всё ещё нужен альтератор, но он в базовой конфигурации, поэтому не страшно. Т.е. требуется копирование инсталлятора внутрь. Той части скриптов инсталлятора, которые ему действительно нужны. Так устроен, например, make-initrd. Всё нужное в /usr/share/make-initrd.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299012</commentid>
    <comment_count>12</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-09-16 10:17:53 +0300</bug_when>
    <thetext>ну или наоборот - всё что ставит из пакета инсталятор не должно использоваться.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299119</commentid>
    <comment_count>13</comment_count>
    <who name="Ajrat Makhmutov">rauty</who>
    <bug_when>2026-09-16 12:25:43 +0300</bug_when>
    <thetext>Если я избавлюсь от runtime requires на installer пакеты, добавлю их в buildrequires и буду в копиделе создавать копии нужных файлов, то при исправлении/изменении installer пакетов придётся копидел каждый раз ребилдить. Это допустимый урон? Ну и содержимое пакета будет меняться без изменения сорцов.

Можно пойти ещё собирать kopidel подпакеты в нужных installer пакетах, которые будут их полными аналогами, но устанавливаться будут в копидельную папку. Эти подпакеты не будут попадать под regex installer-* и пересборка не нужна будет.

Эти варианты дикие. Мне кажется, что лучший вариант - вообще не устанавливать временные installer пакеты в destdir, чтобы потом их не пришлось удалять. Сейчас мы их удаляем, так как они временно нужны во время установки, настройки целевой системы.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299124</commentid>
    <comment_count>14</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2026-09-16 12:37:36 +0300</bug_when>
    <thetext>(Ответ для Ajrat Makhmutov на комментарий #13)
&gt; Мне кажется, что лучший вариант - вообще не
&gt; устанавливать временные installer пакеты в destdir, чтобы потом их не
&gt; пришлось удалять. Сейчас мы их удаляем, так как они временно нужны во время
&gt; установки, настройки целевой системы.

Это делается с двумя целями:
1. Ставим installer-distro-имя_дистрибутива-stage3, чтобы он поставил модули альтератора, которые должны быть запущены в установленной системы.
2. Установить опциональные installer-feature через группы пакетов.

Уж от первого точно хотелось бы избавиться, да и от второго не мешало.

При этом это никак не связано с тем, что Копидел не должен вносить значительные изменения в установленную систему, которую требуется запаковать. Это совершенно другая задача, которая всё время игнорируется.
Идеальный вариант, чтобы Копидел запускался из live, а не из установленной системы.

(Ответ для Ajrat Makhmutov на комментарий #13)
&gt; Если я избавлюсь от runtime requires на installer пакеты, добавлю их в
&gt; buildrequires и буду в копиделе создавать копии нужных файлов, то при
&gt; исправлении/изменении installer пакетов придётся копидел каждый раз
&gt; ребилдить. Это допустимый урон? Ну и содержимое пакета будет меняться без
&gt; изменения сорцов.
&gt; 

Так точно не надо делать. Можно нужные скрипты включить в git Копидел и обновлять их там по мере необходимости. Плюс, что при разработке инсталлятора не нужно будет оглядываться на Копидел.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299130</commentid>
    <comment_count>15</comment_count>
    <who name="Ajrat Makhmutov">rauty</who>
    <bug_when>2026-09-16 12:56:06 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #14)
&gt; (Ответ для Ajrat Makhmutov на комментарий #13)
&gt; &gt; Мне кажется, что лучший вариант - вообще не
&gt; &gt; устанавливать временные installer пакеты в destdir, чтобы потом их не
&gt; &gt; пришлось удалять. Сейчас мы их удаляем, так как они временно нужны во время
&gt; &gt; установки, настройки целевой системы.
&gt; 
&gt; Это делается с двумя целями:
&gt; 1. Ставим installer-distro-имя_дистрибутива-stage3, чтобы он поставил модули
&gt; альтератора, которые должны быть запущены в установленной системы.
&gt; 2. Установить опциональные installer-feature через группы пакетов.
&gt; 
&gt; Уж от первого точно хотелось бы избавиться, да и от второго не мешало.
&gt; 
&gt; При этом это никак не связано с тем, что Копидел не должен вносить
&gt; значительные изменения в установленную систему, которую требуется
&gt; запаковать. Это совершенно другая задача, которая всё время игнорируется.
&gt; Идеальный вариант, чтобы Копидел запускался из live, а не из установленной
&gt; системы.

Установка installer пакетов - значительные изменения для целевой системы?
Мне кажется, что они для конечного пользователя не сильно заметно.

&gt; (Ответ для Ajrat Makhmutov на комментарий #13)
&gt; &gt; Если я избавлюсь от runtime requires на installer пакеты, добавлю их в
&gt; &gt; buildrequires и буду в копиделе создавать копии нужных файлов, то при
&gt; &gt; исправлении/изменении installer пакетов придётся копидел каждый раз
&gt; &gt; ребилдить. Это допустимый урон? Ну и содержимое пакета будет меняться без
&gt; &gt; изменения сорцов.
&gt; &gt; 
&gt; 
&gt; Так точно не надо делать. Можно нужные скрипты включить в git Копидел и
&gt; обновлять их там по мере необходимости. Плюс, что при разработке
&gt; инсталлятора не нужно будет оглядываться на Копидел.

Инсталлер и не должен оглядываться на копидел, копидел должен оглядываться на инсталлер.
Если инсталлер обновился, поменял логику - копидел должен догнать, обновиться.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299146</commentid>
    <comment_count>16</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2026-09-16 13:38:35 +0300</bug_when>
    <thetext>(Ответ для Ajrat Makhmutov на комментарий #15)
&gt; (Ответ для Антон Мидюков на комментарий #14)
&gt; &gt; Так точно не надо делать. Можно нужные скрипты включить в git Копидел и
&gt; &gt; обновлять их там по мере необходимости. Плюс, что при разработке
&gt; &gt; инсталлятора не нужно будет оглядываться на Копидел.
&gt; 
&gt; Инсталлер и не должен оглядываться на копидел, копидел должен оглядываться
&gt; на инсталлер.
&gt; Если инсталлер обновился, поменял логику - копидел должен догнать,
&gt; обновиться.

Тем не менее, обновление installer может поломать kopidel. И это нужно ловить при тестировании. Представьте ситуацию, что систему обновили, запаковывают и она не устанавливается из-за обновлённого installer. Так что ещё как надо оглядываться.

От installer нужно не так много, чтобы тащить его всего. И скорее всего этот код не нужно будет модифицировать годы.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299593</commentid>
    <comment_count>17</comment_count>
    <who name="Ajrat Makhmutov">rauty</who>
    <bug_when>2026-09-18 16:48:37 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #16)
&gt; (Ответ для Ajrat Makhmutov на комментарий #15)
&gt; &gt; (Ответ для Антон Мидюков на комментарий #14)
&gt; &gt; &gt; Так точно не надо делать. Можно нужные скрипты включить в git Копидел и
&gt; &gt; &gt; обновлять их там по мере необходимости. Плюс, что при разработке
&gt; &gt; &gt; инсталлятора не нужно будет оглядываться на Копидел.
&gt; &gt; 
&gt; &gt; Инсталлер и не должен оглядываться на копидел, копидел должен оглядываться
&gt; &gt; на инсталлер.
&gt; &gt; Если инсталлер обновился, поменял логику - копидел должен догнать,
&gt; &gt; обновиться.
&gt; 
&gt; Тем не менее, обновление installer может поломать kopidel. И это нужно
&gt; ловить при тестировании. Представьте ситуацию, что систему обновили,
&gt; запаковывают и она не устанавливается из-за обновлённого installer. Так что
&gt; ещё как надо оглядываться.

Уже есть vm-run end-to-end тесты в копиделе на x86_64. Сейчас допилил и на aarch64.
Обновление installer&apos;а в p11 со сломанным копиделом не пройдёт, а в сизифе упадёт в FTBFS.
Это нормальный рабочий процесс обновления мажорных версий, если речь идёт о сломе API.

&gt; 
&gt; От installer нужно не так много, чтобы тащить его всего. И скорее всего этот
&gt; код не нужно будет модифицировать годы.

(Ответ для Антон Мидюков на комментарий #9)
&gt; Тогда Копидел не должен иметь зависимостей :)

Копидельный разливочный образ - это обычный установочный
autoinstall образ и он использует весь функционал установщика.
Чтобы избавиться от зависимости на текущий установщик,
нужно будет написать или использовать другой установщик.

Заниматься вендорингом не буду, так как это анти-паттерн сопровождения.
Исправлю скрипт на стороне installer&apos;а так, чтобы раз и навсегда.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299615</commentid>
    <comment_count>18</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2026-09-18 22:51:01 +0300</bug_when>
    <thetext>Я так понимаю, надо всего лишь в alterator-kopidel указать явную зависимость на installer-common-functions.
Прошу сопровождающего alterator-kopidel проверить это предположение.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299662</commentid>
    <comment_count>19</comment_count>
    <who name="Ajrat Makhmutov">rauty</who>
    <bug_when>2026-09-21 09:16:16 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #18)
&gt; Я так понимаю, надо всего лишь в alterator-kopidel указать явную зависимость
&gt; на installer-common-functions.
&gt; Прошу сопровождающего alterator-kopidel проверить это предположение.

Спасибо. Таск с исправлением:
https://packages.altlinux.org/en/tasks/433430/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301389</commentid>
    <comment_count>20</comment_count>
    <who name="Антоненко Даниил">antonenkode</who>
    <bug_when>2026-10-07 10:24:00 +0300</bug_when>
    <thetext>Проверено на ALT Education 11.2 (x86_64) 2026-10-07 с пакетами задания 433717: alterator-kopidel-1.1.3-alt1, installer-distro-alt-education-11.2-alt1.

Сценарий — postinstall-очистка при установленном в систему alterator-kopidel (состояние целевой системы во время установки ALT Education): штатный скрипт /usr/share/install2/postinstall.d/00-remove-installer-pkgs.sh прогнан против установленной системы.

В 1.1.3 kopidel явно требует installer-common-functions:
Requires: installer-alterator-fs &gt;= 1.0.0
Requires: installer-common-base-stage2
Requires: installer-common-functions
Requires: installer-scripts-remount-stage2

Поэтому «hack for kopidel» в 00-remove-installer-pkgs.sh теперь исключает installer-common-functions из списка удаляемых, и транзакция rpmi -ev завершается без атомарного срыва:

Running postinstall script [00-remove-installer-pkgs.sh] alterator-kopidel-1.1.3-alt1.noarch
Preparing packages...
installer-distro-alt-education-11.2-alt1.noarch
[OK, exit 0; далее штатный apt-get autoremove]

В системе после очистки остаётся только замыкание requires kopidel:
# rpm -qa &apos;installer*&apos;
installer-alterator-fs-1.0.1-alt1.noarch
installer-common-base-stage2-1.16.38-alt1.x86_64
installer-common-functions-1.16.38-alt1.noarch
installer-feature-stop-md-dm-stage2-0.7.0-alt1.noarch
installer-scripts-remount-stage2-0.7.0-alt1.noarch

Также в installer-distro-alt-education-stage2 11.2-alt1 отсутствует postinstall.d/01-remove-installer-desktop-pkgs.sh (в 11.1-alt6 присутствовал) — каскадного падения этого скрипта больше нет.

kopidel после очистки работает:
# kopidel --version
1.1.3

Фактический результат соответствует ожидаемому: установка без остаточных пакетов инсталлятора и без FAILED в postinstall-скриптах очистки. 

Ошибка более не воспроизводится при условиях: alterator-kopidel 1.1.3-alt1 (с явным Requires: installer-common-functions) + installer-distro-alt-education 11.2-alt1, kopidel установлен в систему во время установки.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>22208</attachid>
            <date>2026-09-15 17:27:58 +0300</date>
            <delta_ts>2026-09-15 17:27:58 +0300</delta_ts>
            <desc>логи</desc>
            <filename>postinstall.log</filename>
            <type>text/x-log</type>
            <size>32077</size>
            <attacher name="Alexander Makeenkov">amakeenk</attacher>
            
              <data encoding="base64">U3RvcCBhbHRlcmF0b3JkIGluIC9tbnQvZGVzdGluYXRpb24gU3RvcHBpbmcgYWx0ZXJhdG9yZCBz
ZXJ2aWNlOiBbIHRwdXQ6IHVua25vd24gdGVybWluZm8gY2FwYWJpbGl0eSAnMicKRE9ORSBdDQob
WzczR1sgG1sxbRtbMzJtRE9ORRtbMzk7NDltG1ttDyBdDQpTdG9wIGFsdGVyYXRvcmQuc2Vydmlj
ZSBTdG9wcGluZyAnYWx0ZXJhdG9yZC5zZXJ2aWNlJywgYnV0IGl0cyB0cmlnZ2VyaW5nIHVuaXRz
IGFyZSBzdGlsbCBhY3RpdmU6CmFsdGVyYXRvcmQuc29ja2V0ChtbNzNHWyAbWzFtG1szMm1ET05F
G1szOTs0OW0bW20PIF0NClN0b3AgYWx0ZXJhdG9yZC5zb2NrZXQgG1s3M0dbIBtbMW0bWzMybURP
TkUbWzM5OzQ5bRtbbQ8gXQ0KY3A6IG5vdCByZXBsYWNpbmcgJy91c3Ivc2hhcmUvaW5zdGFsbDIv
cG9zdGluc3RhbGwuZC85MC1maXJzdHRpbWUuc2gnCmNwOiBub3QgcmVwbGFjaW5nICcvdXNyL3No
YXJlL2luc3RhbGwyL3Bvc3RpbnN0YWxsLmQvMTAtaW5jcmVhc2UtcmFpZC1saW1pdC5zaCcKY3A6
IG5vdCByZXBsYWNpbmcgJy91c3Ivc2hhcmUvaW5zdGFsbDIvcG9zdGluc3RhbGwuZC8wMS13aXph
cmQtbG9nLnNoJwpjcDogbm90IHJlcGxhY2luZyAnL3Vzci9zaGFyZS9pbnN0YWxsMi9wb3N0aW5z
dGFsbC5kLzMwLWdlbi1ob3N0LWtleXMuc2gnCmNwOiBub3QgcmVwbGFjaW5nICcvdXNyL3NoYXJl
L2luc3RhbGwyL3Bvc3RpbnN0YWxsLmQvOTUtZGNvbmYtdXBkYXRlJwpjcDogbm90IHJlcGxhY2lu
ZyAnL3Vzci9zaGFyZS9pbnN0YWxsMi9wb3N0aW5zdGFsbC5kLzkwLWNsZWFuLnNoJwpjcDogbm90
IHJlcGxhY2luZyAnL3Vzci9zaGFyZS9pbnN0YWxsMi9wb3N0aW5zdGFsbC5kLzQwLWxpZ2h0ZG0t
Y29uZmlnLnNoJwpjcDogbm90IHJlcGxhY2luZyAnL3Vzci9zaGFyZS9pbnN0YWxsMi9wb3N0aW5z
dGFsbC5kLzAwLXJlbW92ZS1pbnN0YWxsZXItcGtncy5zaCcKY3A6IG5vdCByZXBsYWNpbmcgJy91
c3Ivc2hhcmUvaW5zdGFsbDIvcG9zdGluc3RhbGwuZC85MC1ydW5sZXZlbDUuc2gnCmNwOiBub3Qg
cmVwbGFjaW5nICcvdXNyL3NoYXJlL2luc3RhbGwyL3Bvc3RpbnN0YWxsLmQvNjYtc2V0dXAtbWRt
b24uc2gnCmNwOiBub3QgcmVwbGFjaW5nICcvdXNyL3NoYXJlL2luc3RhbGwyL3Bvc3RpbnN0YWxs
LmQvNDUtc2V0dXAtZGhjcC5zaCcKY3A6IG5vdCByZXBsYWNpbmcgJy91c3Ivc2hhcmUvaW5zdGFs
bDIvcG9zdGluc3RhbGwuZC82NS1zZXR1cC1zZXJ2aWNlcy5zaCcKUnVubmluZyBwb3N0aW5zdGFs
bCBzY3JpcHQgWzAwLXJlbW92ZS1pbnN0YWxsZXItcGtncy5zaF0gYWx0ZXJhdG9yLWtvcGlkZWwt
MS4xLjItYWx0MS5ub2FyY2gKZXJyb3I6IEZhaWxlZCBkZXBlbmRlbmNpZXM6CglpbnN0YWxsZXIt
Y29tbW9uLWZ1bmN0aW9ucyA9IDEuMTYuMzgtYWx0MTpwMTErNDI1MzU5LjIwMC40LjEgaXMgbmVl
ZGVkIGJ5IChpbnN0YWxsZWQpIGluc3RhbGxlci1jb21tb24tYmFzZS1zdGFnZTItMS4xNi4zOC1h
bHQxLng4Nl82NAoJL3Vzci9zYmluL2luc3RhbGwyLWluaXQtZnVuY3Rpb25zIGlzIG5lZWRlZCBi
eSAoaW5zdGFsbGVkKSBpbnN0YWxsZXItYWx0ZXJhdG9yLWZzLTEuMC4xLWFsdDEubm9hcmNoCgkv
dXNyL3NiaW4vaW5zdGFsbDItaW5pdC1mdW5jdGlvbnMgaXMgbmVlZGVkIGJ5IChpbnN0YWxsZWQp
IGFsdGVyYXRvci1rb3BpZGVsLTEuMS4yLWFsdDEubm9hcmNoCgkvdXNyL3NiaW4vaW5zdGFsbDIt
c2gtZnVuY3Rpb25zIGlzIG5lZWRlZCBieSAoaW5zdGFsbGVkKSBhbHRlcmF0b3ItcHJlaW5zdGFs
bC0wLjkuMi1hbHQxLm5vYXJjaAobWzczR1sbWzFtG1szMW1GQUlMRUQbWzM5OzQ5bRtbbQ9dDQpS
dW5uaW5nIHBvc3RpbnN0YWxsIHNjcmlwdCBbMDEtcmVtb3ZlLWluc3RhbGxlci1kZXNrdG9wLXBr
Z3Muc2hdIGVycm9yOiBGYWlsZWQgZGVwZW5kZW5jaWVzOgoJYWx0ZXJhdG9yLXdpemFyZGZhY2Ug
aXMgbmVlZGVkIGJ5IChpbnN0YWxsZWQpIGluc3RhbGxlci1jb21tb24tYmFzZS1zdGFnZTItMS4x
Ni4zOC1hbHQxLng4Nl82NAoJYWx0ZXJhdG9yLXdpemFyZGZhY2UgaXMgbmVlZGVkIGJ5IChpbnN0
YWxsZWQpIGFsdGVyYXRvci1zZXR1cC1iYXNlLTAuNS41LWFsdDEubm9hcmNoCglhbHRlcmF0b3It
bHVrcyBpcyBuZWVkZWQgYnkgKGluc3RhbGxlZCkgaW5zdGFsbGVyLWRpc3Ryby1hbHQtZWR1Y2F0
aW9uLXN0YWdlMy0xMS4xLWFsdDYubm9hcmNoChtbNzNHWxtbMW0bWzMxbUZBSUxFRBtbMzk7NDlt
G1ttD10NClJ1bm5pbmcgcG9zdGluc3RhbGwgc2NyaXB0IFswMS13aXphcmQtbG9nLnNoXSAbWzcz
R1sgG1sxbRtbMzJtRE9ORRtbMzk7NDltG1ttDyBdDQpSdW5uaW5nIHBvc3RpbnN0YWxsIHNjcmlw
dCBbMDUtc2V0dXAtaXB0YWJsZXNdIBtbNzNHWyAbWzFtG1szMm1ET05FG1szOTs0OW0bW20PIF0N
ClJ1bm5pbmcgcG9zdGluc3RhbGwgc2NyaXB0IFswNS12aXJ0dWFsYm94XSAbWzczR1sgG1sxbRtb
MzJtRE9ORRtbMzk7NDltG1ttDyBdDQpSdW5uaW5nIHBvc3RpbnN0YWxsIHNjcmlwdCBbMTAtaW5j
cmVhc2UtcmFpZC1saW1pdC5zaF0gG1s3M0dbIBtbMW0bWzMybURPTkUbWzM5OzQ5bRtbbQ8gXQ0K
UnVubmluZyBwb3N0aW5zdGFsbCBzY3JpcHQgWzIwLWFsdGVyYXRvci1tZW51XSAbWzczR1sgG1sx
bRtbMzJtRE9ORRtbMzk7NDltG1ttDyBdDQpSdW5uaW5nIHBvc3RpbnN0YWxsIHNjcmlwdCBbMzAt
Z2VuLWhvc3Qta2V5cy5zaF0gG1s3M0dbIBtbMW0bWzMybURPTkUbWzM5OzQ5bRtbbQ8gXQ0KUnVu
bmluZyBwb3N0aW5zdGFsbCBzY3JpcHQgWzMwLXhkZy11c2VyLWRpcnMuc2hdIBtbNzNHWyAbWzFt
G1szMm1ET05FG1szOTs0OW0bW20PIF0NClJ1bm5pbmcgcG9zdGluc3RhbGwgc2NyaXB0IFs0MC1s
aWdodGRtLWNvbmZpZy5zaF0gG1s3M0dbIBtbMW0bWzMybURPTkUbWzM5OzQ5bRtbbQ8gXQ0KUnVu
bmluZyBwb3N0aW5zdGFsbCBzY3JpcHQgWzQwLW9lbS1zdGVwLnNoXSAbWzczR1sgG1sxbRtbMzJt
RE9ORRtbMzk7NDltG1ttDyBdDQpSdW5uaW5nIHBvc3RpbnN0YWxsIHNjcmlwdCBbNDUtc2V0dXAt
ZGhjcC5zaF0gG1s3M0dbIBtbMW0bWzMybURPTkUbWzM5OzQ5bRtbbQ8gXQ0KUnVubmluZyBwb3N0
aW5zdGFsbCBzY3JpcHQgWzYwLW5vLWJlbGwuc2hdIBtbNzNHWyAbWzFtG1szMm1ET05FG1szOTs0
OW0bW20PIF0NClJ1bm5pbmcgcG9zdGluc3RhbGwgc2NyaXB0IFs2MC1zZXR1cC1qb3VybmFsZF0g
G1s3M0dbIBtbMW0bWzMybURPTkUbWzM5OzQ5bRtbbQ8gXQ0KUnVubmluZyBwb3N0aW5zdGFsbCBz
Y3JpcHQgWzY1LXNldHVwLXNlcnZpY2VzLnNoXSBTeW5jaHJvbml6aW5nIHN0YXRlIG9mIGN1cHMu
c2VydmljZSB3aXRoIFN5c1Ygc2VydmljZSBzY3JpcHQgd2l0aCAvdXNyL2xpYi9zeXN0ZW1kL3N5
c3RlbWQtc3lzdi1pbnN0YWxsLgpFeGVjdXRpbmc6IC91c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1z
eXN2LWluc3RhbGwgZW5hYmxlIGN1cHMKU3luY2hyb25pemluZyBzdGF0ZSBvZiBjdXBzLWJyb3dz
ZWQuc2VydmljZSB3aXRoIFN5c1Ygc2VydmljZSBzY3JpcHQgd2l0aCAvdXNyL2xpYi9zeXN0ZW1k
L3N5c3RlbWQtc3lzdi1pbnN0YWxsLgpFeGVjdXRpbmc6IC91c3IvbGliL3N5c3RlbWQvc3lzdGVt
ZC1zeXN2LWluc3RhbGwgZW5hYmxlIGN1cHMtYnJvd3NlZApDcmVhdGVkIHN5bWxpbmsgJy9ldGMv
c3lzdGVtZC9zeXN0ZW0vbXVsdGktdXNlci50YXJnZXQud2FudHMvY3Vwcy1icm93c2VkLnNlcnZp
Y2UnIOKGkiAnL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0vY3Vwcy1icm93c2VkLnNlcnZpY2UnLgpT
eW5jaHJvbml6aW5nIHN0YXRlIG9mIGF2YWhpLWRhZW1vbi5zZXJ2aWNlIHdpdGggU3lzViBzZXJ2
aWNlIHNjcmlwdCB3aXRoIC91c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1zeXN2LWluc3RhbGwuCkV4
ZWN1dGluZzogL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kLXN5c3YtaW5zdGFsbCBlbmFibGUgYXZh
aGktZGFlbW9uClN5bmNocm9uaXppbmcgc3RhdGUgb2YgTmV0d29ya01hbmFnZXIuc2VydmljZSB3
aXRoIFN5c1Ygc2VydmljZSBzY3JpcHQgd2l0aCAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtc3lz
di1pbnN0YWxsLgpFeGVjdXRpbmc6IC91c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1zeXN2LWluc3Rh
bGwgZW5hYmxlIE5ldHdvcmtNYW5hZ2VyCkNyZWF0ZWQgc3ltbGluayAnL2V0Yy9zeXN0ZW1kL3N5
c3RlbS9kYnVzLW9yZy5mcmVlZGVza3RvcC5Nb2RlbU1hbmFnZXIxLnNlcnZpY2UnIOKGkiAnL3Vz
ci9saWIvc3lzdGVtZC9zeXN0ZW0vTW9kZW1NYW5hZ2VyLnNlcnZpY2UnLgpDcmVhdGVkIHN5bWxp
bmsgJy9ldGMvc3lzdGVtZC9zeXN0ZW0vbXVsdGktdXNlci50YXJnZXQud2FudHMvTW9kZW1NYW5h
Z2VyLnNlcnZpY2UnIOKGkiAnL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0vTW9kZW1NYW5hZ2VyLnNl
cnZpY2UnLgpTeW5jaHJvbml6aW5nIHN0YXRlIG9mIG5tYi5zZXJ2aWNlIHdpdGggU3lzViBzZXJ2
aWNlIHNjcmlwdCB3aXRoIC91c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1zeXN2LWluc3RhbGwuCkV4
ZWN1dGluZzogL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kLXN5c3YtaW5zdGFsbCBlbmFibGUgbm1i
CkNyZWF0ZWQgc3ltbGluayAnL2V0Yy9zeXN0ZW1kL3N5c3RlbS9tdWx0aS11c2VyLnRhcmdldC53
YW50cy9ubWIuc2VydmljZScg4oaSICcvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbS9ubWIuc2Vydmlj
ZScuClN5bmNocm9uaXppbmcgc3RhdGUgb2Ygc21iLnNlcnZpY2Ugd2l0aCBTeXNWIHNlcnZpY2Ug
c2NyaXB0IHdpdGggL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC4KRXhlY3V0
aW5nOiAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtc3lzdi1pbnN0YWxsIGVuYWJsZSBzbWIKQ3Jl
YXRlZCBzeW1saW5rICcvZXRjL3N5c3RlbWQvc3lzdGVtL211bHRpLXVzZXIudGFyZ2V0LndhbnRz
L3NtYi5zZXJ2aWNlJyDihpIgJy91c3IvbGliL3N5c3RlbWQvc3lzdGVtL3NtYi5zZXJ2aWNlJy4K
U3luY2hyb25pemluZyBzdGF0ZSBvZiBjcHVmcmVxLXNpbXBsZS5zZXJ2aWNlIHdpdGggU3lzViBz
ZXJ2aWNlIHNjcmlwdCB3aXRoIC91c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1zeXN2LWluc3RhbGwu
CkV4ZWN1dGluZzogL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kLXN5c3YtaW5zdGFsbCBlbmFibGUg
Y3B1ZnJlcS1zaW1wbGUKQ3JlYXRlZCBzeW1saW5rICcvZXRjL3N5c3RlbWQvc3lzdGVtL211bHRp
LXVzZXIudGFyZ2V0LndhbnRzL2NwdWZyZXEtc2ltcGxlLnNlcnZpY2UnIOKGkiAnL3Vzci9saWIv
c3lzdGVtZC9zeXN0ZW0vY3B1ZnJlcS1zaW1wbGUuc2VydmljZScuCkNyZWF0ZWQgc3ltbGluayAn
L2V0Yy9zeXN0ZW1kL3N5c3RlbS9zbGVlcC50YXJnZXQud2FudHMvY3B1ZnJlcS1zaW1wbGUtd2Fr
ZS5zZXJ2aWNlJyDihpIgJy91c3IvbGliL3N5c3RlbWQvc3lzdGVtL2NwdWZyZXEtc2ltcGxlLXdh
a2Uuc2VydmljZScuCkNyZWF0ZWQgc3ltbGluayAnL2V0Yy9zeXN0ZW1kL3N5c3RlbS9zb2NrZXRz
LnRhcmdldC53YW50cy9hbHRlcmF0b3JkLnNvY2tldCcg4oaSICcvdXNyL2xpYi9zeXN0ZW1kL3N5
c3RlbS9hbHRlcmF0b3JkLnNvY2tldCcuClN5bmNocm9uaXppbmcgc3RhdGUgb2YgYWh0dHBkLnNl
cnZpY2Ugd2l0aCBTeXNWIHNlcnZpY2Ugc2NyaXB0IHdpdGggL3Vzci9saWIvc3lzdGVtZC9zeXN0
ZW1kLXN5c3YtaW5zdGFsbC4KRXhlY3V0aW5nOiAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtc3lz
di1pbnN0YWxsIGVuYWJsZSBhaHR0cGQKQ3JlYXRlZCBzeW1saW5rICcvZXRjL3N5c3RlbWQvc3lz
dGVtL211bHRpLXVzZXIudGFyZ2V0LndhbnRzL2FodHRwZC5zZXJ2aWNlJyDihpIgJy91c3IvbGli
L3N5c3RlbWQvc3lzdGVtL2FodHRwZC5zZXJ2aWNlJy4KU3luY2hyb25pemluZyBzdGF0ZSBvZiBi
bHVldG9vdGhkLnNlcnZpY2Ugd2l0aCBTeXNWIHNlcnZpY2Ugc2NyaXB0IHdpdGggL3Vzci9saWIv
c3lzdGVtZC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC4KRXhlY3V0aW5nOiAvdXNyL2xpYi9zeXN0ZW1k
L3N5c3RlbWQtc3lzdi1pbnN0YWxsIGVuYWJsZSBibHVldG9vdGhkClN5bmNocm9uaXppbmcgc3Rh
dGUgb2YgY3JvbmQuc2VydmljZSB3aXRoIFN5c1Ygc2VydmljZSBzY3JpcHQgd2l0aCAvdXNyL2xp
Yi9zeXN0ZW1kL3N5c3RlbWQtc3lzdi1pbnN0YWxsLgpFeGVjdXRpbmc6IC91c3IvbGliL3N5c3Rl
bWQvc3lzdGVtZC1zeXN2LWluc3RhbGwgZW5hYmxlIGNyb25kCkNyZWF0ZWQgc3ltbGluayAnL2V0
Yy9zeXN0ZW1kL3N5c3RlbS9tdWx0aS11c2VyLnRhcmdldC53YW50cy9jcm9uZC5zZXJ2aWNlJyDi
hpIgJy91c3IvbGliL3N5c3RlbWQvc3lzdGVtL2Nyb25kLnNlcnZpY2UnLgpTeW5jaHJvbml6aW5n
IHN0YXRlIG9mIGFuYWNyb24uc2VydmljZSB3aXRoIFN5c1Ygc2VydmljZSBzY3JpcHQgd2l0aCAv
dXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtc3lzdi1pbnN0YWxsLgpFeGVjdXRpbmc6IC91c3IvbGli
L3N5c3RlbWQvc3lzdGVtZC1zeXN2LWluc3RhbGwgZW5hYmxlIGFuYWNyb24KQ3JlYXRlZCBzeW1s
aW5rICcvZXRjL3N5c3RlbWQvc3lzdGVtL211bHRpLXVzZXIudGFyZ2V0LndhbnRzL2FuYWNyb24u
c2VydmljZScg4oaSICcvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbS9hbmFjcm9uLnNlcnZpY2UnLgpT
eW5jaHJvbml6aW5nIHN0YXRlIG9mIGx2bTItbW9uaXRvci5zZXJ2aWNlIHdpdGggU3lzViBzZXJ2
aWNlIHNjcmlwdCB3aXRoIC91c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1zeXN2LWluc3RhbGwuCkV4
ZWN1dGluZzogL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kLXN5c3YtaW5zdGFsbCBlbmFibGUgbHZt
Mi1tb25pdG9yCkNyZWF0ZWQgc3ltbGluayAnL2V0Yy9zeXN0ZW1kL3N5c3RlbS9zeXNpbml0LnRh
cmdldC53YW50cy9sdm0yLW1vbml0b3Iuc2VydmljZScg4oaSICcvdXNyL2xpYi9zeXN0ZW1kL3N5
c3RlbS9sdm0yLW1vbml0b3Iuc2VydmljZScuClN5bmNocm9uaXppbmcgc3RhdGUgb2YgbmV0d29y
ay5zZXJ2aWNlIHdpdGggU3lzViBzZXJ2aWNlIHNjcmlwdCB3aXRoIC91c3IvbGliL3N5c3RlbWQv
c3lzdGVtZC1zeXN2LWluc3RhbGwuCkV4ZWN1dGluZzogL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1k
LXN5c3YtaW5zdGFsbCBlbmFibGUgbmV0d29yawpDcmVhdGVkIHN5bWxpbmsgJy9ldGMvc3lzdGVt
ZC9zeXN0ZW0vbmV0d29yay1vbmxpbmUudGFyZ2V0LndhbnRzL25ldHdvcmsuc2VydmljZScg4oaS
ICcvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbS9uZXR3b3JrLnNlcnZpY2UnLgpDcmVhdGVkIHN5bWxp
bmsgJy9ldGMvc3lzdGVtZC9zeXN0ZW0vbXVsdGktdXNlci50YXJnZXQud2FudHMvbmV0d29yay5z
ZXJ2aWNlJyDihpIgJy91c3IvbGliL3N5c3RlbWQvc3lzdGVtL25ldHdvcmsuc2VydmljZScuCkNy
ZWF0ZWQgc3ltbGluayAnL2V0Yy9zeXN0ZW1kL3N5c3RlbS9tdWx0aS11c2VyLnRhcmdldC53YW50
cy9jaHJvbnlkLnNlcnZpY2UnIOKGkiAnL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0vY2hyb255ZC5z
ZXJ2aWNlJy4KU3luY2hyb25pemluZyBzdGF0ZSBvZiB4MTFwcmVzZXRkcnYuc2VydmljZSB3aXRo
IFN5c1Ygc2VydmljZSBzY3JpcHQgd2l0aCAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtc3lzdi1p
bnN0YWxsLgpFeGVjdXRpbmc6IC91c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1zeXN2LWluc3RhbGwg
ZW5hYmxlIHgxMXByZXNldGRydgpTeW5jaHJvbml6aW5nIHN0YXRlIG9mIHNzaGQuc2VydmljZSB3
aXRoIFN5c1Ygc2VydmljZSBzY3JpcHQgd2l0aCAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtc3lz
di1pbnN0YWxsLgpFeGVjdXRpbmc6IC91c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1zeXN2LWluc3Rh
bGwgZW5hYmxlIHNzaGQKQ3JlYXRlZCBzeW1saW5rICcvZXRjL3N5c3RlbWQvc3lzdGVtL211bHRp
LXVzZXIudGFyZ2V0LndhbnRzL3NzaGQuc2VydmljZScg4oaSICcvdXNyL2xpYi9zeXN0ZW1kL3N5
c3RlbS9zc2hkLnNlcnZpY2UnLgpGYWlsZWQgdG8gZW5hYmxlIHVuaXQ6IFVuaXQgYWNwaWQuc2Vy
dmljZSBkb2VzIG5vdCBleGlzdApTeW5jaHJvbml6aW5nIHN0YXRlIG9mIGNocm9ueWQuc2Vydmlj
ZSB3aXRoIFN5c1Ygc2VydmljZSBzY3JpcHQgd2l0aCAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQt
c3lzdi1pbnN0YWxsLgpFeGVjdXRpbmc6IC91c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1zeXN2LWlu
c3RhbGwgZW5hYmxlIGNocm9ueWQKQ3JlYXRlZCBzeW1saW5rICcvZXRjL3N5c3RlbWQvc3lzdGVt
L3RpbWVycy50YXJnZXQud2FudHMvZnN0cmltLnRpbWVyJyDihpIgJy91c3IvbGliL3N5c3RlbWQv
c3lzdGVtL2ZzdHJpbS50aW1lcicuCkZhaWxlZCB0byBlbmFibGUgdW5pdDogVW5pdCBsaXZlY2Qt
YXV0by1ob3N0bmFtZS5zZXJ2aWNlIGRvZXMgbm90IGV4aXN0CkZhaWxlZCB0byBlbmFibGUgdW5p
dDogVW5pdCBsaXZlY2QtYmFja2xpZ2h0LW1heC5zZXJ2aWNlIGRvZXMgbm90IGV4aXN0CkZhaWxl
ZCB0byBlbmFibGUgdW5pdDogVW5pdCBsaXZlY2QtZXZtcy5zZXJ2aWNlIGRvZXMgbm90IGV4aXN0
CkZhaWxlZCB0byBlbmFibGUgdW5pdDogVW5pdCBsaXZlY2QtZnN0YWIuc2VydmljZSBkb2VzIG5v
dCBleGlzdApGYWlsZWQgdG8gZW5hYmxlIHVuaXQ6IFVuaXQgbGl2ZWNkLWluc3RhbGwtd21ha2Vy
LnNlcnZpY2UgZG9lcyBub3QgZXhpc3QKRmFpbGVkIHRvIGVuYWJsZSB1bml0OiBVbml0IGxpdmVj
ZC1uZXQtZXRoLnNlcnZpY2UgZG9lcyBub3QgZXhpc3QKRmFpbGVkIHRvIGVuYWJsZSB1bml0OiBV
bml0IGxpdmVjZC1zYXZlLW5mcy5zZXJ2aWNlIGRvZXMgbm90IGV4aXN0CkZhaWxlZCB0byBlbmFi
bGUgdW5pdDogVW5pdCBsaXZlY2Qtc2V0YXV0aC5zZXJ2aWNlIGRvZXMgbm90IGV4aXN0CkZhaWxl
ZCB0byBlbmFibGUgdW5pdDogVW5pdCBsaXZlY2Qtc2V0bG9jYWxlLnNlcnZpY2UgZG9lcyBub3Qg
ZXhpc3QKRmFpbGVkIHRvIGVuYWJsZSB1bml0OiBVbml0IGxpdmVjZC10aW1lem9uZS5zZXJ2aWNl
IGRvZXMgbm90IGV4aXN0CkZhaWxlZCB0byBlbmFibGUgdW5pdDogVW5pdCBsaXZlY2QtdXNlci5z
ZXJ2aWNlIGRvZXMgbm90IGV4aXN0CkNyZWF0ZWQgc3ltbGluayAnL2V0Yy9zeXN0ZW1kL3N5c3Rl
bS9zeXN0ZW1kLWhpYmVybmF0ZS5zZXJ2aWNlLndhbnRzL252aWRpYS1oaWJlcm5hdGUuc2Vydmlj
ZScg4oaSICcvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbS9udmlkaWEtaGliZXJuYXRlLnNlcnZpY2Un
LgpGYWlsZWQgdG8gZW5hYmxlIHVuaXQ6IFVuaXQgbnZpZGlhLXBvd2VyZC5zZXJ2aWNlIGRvZXMg
bm90IGV4aXN0CkNyZWF0ZWQgc3ltbGluayAnL2V0Yy9zeXN0ZW1kL3N5c3RlbS9zeXN0ZW1kLXN1
c3BlbmQuc2VydmljZS53YW50cy9udmlkaWEtcmVzdW1lLnNlcnZpY2UnIOKGkiAnL3Vzci9saWIv
c3lzdGVtZC9zeXN0ZW0vbnZpZGlhLXJlc3VtZS5zZXJ2aWNlJy4KQ3JlYXRlZCBzeW1saW5rICcv
ZXRjL3N5c3RlbWQvc3lzdGVtL3N5c3RlbWQtaGliZXJuYXRlLnNlcnZpY2Uud2FudHMvbnZpZGlh
LXJlc3VtZS5zZXJ2aWNlJyDihpIgJy91c3IvbGliL3N5c3RlbWQvc3lzdGVtL252aWRpYS1yZXN1
bWUuc2VydmljZScuCkNyZWF0ZWQgc3ltbGluayAnL2V0Yy9zeXN0ZW1kL3N5c3RlbS9zeXN0ZW1k
LXN1c3BlbmQtdGhlbi1oaWJlcm5hdGUuc2VydmljZS53YW50cy9udmlkaWEtcmVzdW1lLnNlcnZp
Y2UnIOKGkiAnL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0vbnZpZGlhLXJlc3VtZS5zZXJ2aWNlJy4K
Q3JlYXRlZCBzeW1saW5rICcvZXRjL3N5c3RlbWQvc3lzdGVtL3N5c3RlbWQtc3VzcGVuZC5zZXJ2
aWNlLndhbnRzL252aWRpYS1zdXNwZW5kLnNlcnZpY2UnIOKGkiAnL3Vzci9saWIvc3lzdGVtZC9z
eXN0ZW0vbnZpZGlhLXN1c3BlbmQuc2VydmljZScuCkNyZWF0ZWQgc3ltbGluayAnL2V0Yy9zeXN0
ZW1kL3N5c3RlbS9zeXN0ZW1kLXN1c3BlbmQtdGhlbi1oaWJlcm5hdGUuc2VydmljZS53YW50cy9u
dmlkaWEtc3VzcGVuZC10aGVuLWhpYmVybmF0ZS5zZXJ2aWNlJyDihpIgJy91c3IvbGliL3N5c3Rl
bWQvc3lzdGVtL252aWRpYS1zdXNwZW5kLXRoZW4taGliZXJuYXRlLnNlcnZpY2UnLgpTeW5jaHJv
bml6aW5nIHN0YXRlIG9mIHBseW1vdXRoLnNlcnZpY2Ugd2l0aCBTeXNWIHNlcnZpY2Ugc2NyaXB0
IHdpdGggL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC4KRXhlY3V0aW5nOiAv
dXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtc3lzdi1pbnN0YWxsIGVuYWJsZSBwbHltb3V0aApUaGUg
dW5pdCBmaWxlcyBoYXZlIG5vIGluc3RhbGxhdGlvbiBjb25maWcgKFdhbnRlZEJ5PSwgUmVxdWly
ZWRCeT0sIFVwaGVsZEJ5PSwKQWxzbz0sIG9yIEFsaWFzPSBzZXR0aW5ncyBpbiB0aGUgW0luc3Rh
bGxdIHNlY3Rpb24sIGFuZCBEZWZhdWx0SW5zdGFuY2U9IGZvcgp0ZW1wbGF0ZSB1bml0cykuIFRo
aXMgbWVhbnMgdGhleSBhcmUgbm90IG1lYW50IHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQgdXNp
bmcgc3lzdGVtY3RsLgogClBvc3NpYmxlIHJlYXNvbnMgZm9yIGhhdmluZyB0aGVzZSBraW5kcyBv
ZiB1bml0cyBhcmU6CuKAoiBBIHVuaXQgbWF5IGJlIHN0YXRpY2FsbHkgZW5hYmxlZCBieSBiZWlu
ZyBzeW1saW5rZWQgZnJvbSBhbm90aGVyIHVuaXQncwogIC53YW50cy8sIC5yZXF1aXJlcy8sIG9y
IC51cGhvbGRzLyBkaXJlY3RvcnkuCuKAoiBBIHVuaXQncyBwdXJwb3NlIG1heSBiZSB0byBhY3Qg
YXMgYSBoZWxwZXIgZm9yIHNvbWUgb3RoZXIgdW5pdCB3aGljaCBoYXMKICBhIHJlcXVpcmVtZW50
IGRlcGVuZGVuY3kgb24gaXQuCuKAoiBBIHVuaXQgbWF5IGJlIHN0YXJ0ZWQgd2hlbiBuZWVkZWQg
dmlhIGFjdGl2YXRpb24gKHNvY2tldCwgcGF0aCwgdGltZXIsCiAgRC1CdXMsIHVkZXYsIHNjcmlw
dGVkIHN5c3RlbWN0bCBjYWxsLCAuLi4pLgrigKIgSW4gY2FzZSBvZiB0ZW1wbGF0ZSB1bml0cywg
dGhlIHVuaXQgaXMgbWVhbnQgdG8gYmUgZW5hYmxlZCB3aXRoIHNvbWUKICBpbnN0YW5jZSBuYW1l
IHNwZWNpZmllZC4KQ3JlYXRlZCBzeW1saW5rICcvZXRjL3N5c3RlbWQvc3lzdGVtL2dyYXBoaWNh
bC50YXJnZXQud2FudHMvcG93ZXItcHJvZmlsZXMtZGFlbW9uLnNlcnZpY2UnIOKGkiAnL3Vzci9s
aWIvc3lzdGVtZC9zeXN0ZW0vcG93ZXItcHJvZmlsZXMtZGFlbW9uLnNlcnZpY2UnLgpUaGUgdW5p
dCBmaWxlcyBoYXZlIG5vIGluc3RhbGxhdGlvbiBjb25maWcgKFdhbnRlZEJ5PSwgUmVxdWlyZWRC
eT0sIFVwaGVsZEJ5PSwKQWxzbz0sIG9yIEFsaWFzPSBzZXR0aW5ncyBpbiB0aGUgW0luc3RhbGxd
IHNlY3Rpb24sIGFuZCBEZWZhdWx0SW5zdGFuY2U9IGZvcgp0ZW1wbGF0ZSB1bml0cykuIFRoaXMg
bWVhbnMgdGhleSBhcmUgbm90IG1lYW50IHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQgdXNpbmcg
c3lzdGVtY3RsLgogClBvc3NpYmxlIHJlYXNvbnMgZm9yIGhhdmluZyB0aGVzZSBraW5kcyBvZiB1
bml0cyBhcmU6CuKAoiBBIHVuaXQgbWF5IGJlIHN0YXRpY2FsbHkgZW5hYmxlZCBieSBiZWluZyBz
eW1saW5rZWQgZnJvbSBhbm90aGVyIHVuaXQncwogIC53YW50cy8sIC5yZXF1aXJlcy8sIG9yIC51
cGhvbGRzLyBkaXJlY3RvcnkuCuKAoiBBIHVuaXQncyBwdXJwb3NlIG1heSBiZSB0byBhY3QgYXMg
YSBoZWxwZXIgZm9yIHNvbWUgb3RoZXIgdW5pdCB3aGljaCBoYXMKICBhIHJlcXVpcmVtZW50IGRl
cGVuZGVuY3kgb24gaXQuCuKAoiBBIHVuaXQgbWF5IGJlIHN0YXJ0ZWQgd2hlbiBuZWVkZWQgdmlh
IGFjdGl2YXRpb24gKHNvY2tldCwgcGF0aCwgdGltZXIsCiAgRC1CdXMsIHVkZXYsIHNjcmlwdGVk
IHN5c3RlbWN0bCBjYWxsLCAuLi4pLgrigKIgSW4gY2FzZSBvZiB0ZW1wbGF0ZSB1bml0cywgdGhl
IHVuaXQgaXMgbWVhbnQgdG8gYmUgZW5hYmxlZCB3aXRoIHNvbWUKICBpbnN0YW5jZSBuYW1lIHNw
ZWNpZmllZC4KU3luY2hyb25pemluZyBzdGF0ZSBvZiBycGNiaW5kLnNlcnZpY2Ugd2l0aCBTeXNW
IHNlcnZpY2Ugc2NyaXB0IHdpdGggL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kLXN5c3YtaW5zdGFs
bC4KRXhlY3V0aW5nOiAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtc3lzdi1pbnN0YWxsIGVuYWJs
ZSBycGNiaW5kCkNyZWF0ZWQgc3ltbGluayAnL2V0Yy9zeXN0ZW1kL3N5c3RlbS9tdWx0aS11c2Vy
LnRhcmdldC53YW50cy9ycGNiaW5kLnNlcnZpY2UnIOKGkiAnL3Vzci9saWIvc3lzdGVtZC9zeXN0
ZW0vcnBjYmluZC5zZXJ2aWNlJy4KQ3JlYXRlZCBzeW1saW5rICcvZXRjL3N5c3RlbWQvc3lzdGVt
L2dyYXBoaWNhbC50YXJnZXQud2FudHMvc3dpdGNoZXJvby1jb250cm9sLnNlcnZpY2UnIOKGkiAn
L3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0vc3dpdGNoZXJvby1jb250cm9sLnNlcnZpY2UnLgpGYWls
ZWQgdG8gZGlzYWJsZSB1bml0OiBVbml0IGJyaWRnZS5zZXJ2aWNlIGRvZXMgbm90IGV4aXN0CkZh
aWxlZCB0byBkaXNhYmxlIHVuaXQ6IFVuaXQgYnJpZGdlLnNlcnZpY2UgZG9lcyBub3QgZXhpc3QK
VGhlIHVuaXQgZmlsZXMgaGF2ZSBubyBpbnN0YWxsYXRpb24gY29uZmlnIChXYW50ZWRCeT0sIFJl
cXVpcmVkQnk9LCBVcGhlbGRCeT0sCkFsc289LCBvciBBbGlhcz0gc2V0dGluZ3MgaW4gdGhlIFtJ
bnN0YWxsXSBzZWN0aW9uLCBhbmQgRGVmYXVsdEluc3RhbmNlPSBmb3IKdGVtcGxhdGUgdW5pdHMp
LiBUaGlzIG1lYW5zIHRoZXkgYXJlIG5vdCBtZWFudCB0byBiZSBlbmFibGVkIG9yIGRpc2FibGVk
IHVzaW5nIHN5c3RlbWN0bC4KIApQb3NzaWJsZSByZWFzb25zIGZvciBoYXZpbmcgdGhlc2Uga2lu
ZHMgb2YgdW5pdHMgYXJlOgrigKIgQSB1bml0IG1heSBiZSBzdGF0aWNhbGx5IGVuYWJsZWQgYnkg
YmVpbmcgc3ltbGlua2VkIGZyb20gYW5vdGhlciB1bml0J3MKICAud2FudHMvLCAucmVxdWlyZXMv
LCBvciAudXBob2xkcy8gZGlyZWN0b3J5LgrigKIgQSB1bml0J3MgcHVycG9zZSBtYXkgYmUgdG8g
YWN0IGFzIGEgaGVscGVyIGZvciBzb21lIG90aGVyIHVuaXQgd2hpY2ggaGFzCiAgYSByZXF1aXJl
bWVudCBkZXBlbmRlbmN5IG9uIGl0LgrigKIgQSB1bml0IG1heSBiZSBzdGFydGVkIHdoZW4gbmVl
ZGVkIHZpYSBhY3RpdmF0aW9uIChzb2NrZXQsIHBhdGgsIHRpbWVyLAogIEQtQnVzLCB1ZGV2LCBz
Y3JpcHRlZCBzeXN0ZW1jdGwgY2FsbCwgLi4uKS4K4oCiIEluIGNhc2Ugb2YgdGVtcGxhdGUgdW5p
dHMsIHRoZSB1bml0IGlzIG1lYW50IHRvIGJlIGVuYWJsZWQgd2l0aCBzb21lCiAgaW5zdGFuY2Ug
bmFtZSBzcGVjaWZpZWQuCkZhaWxlZCB0byBkaXNhYmxlIHVuaXQ6IFVuaXQgZXRodG9vbC5zZXJ2
aWNlIGRvZXMgbm90IGV4aXN0CkZhaWxlZCB0byBkaXNhYmxlIHVuaXQ6IFVuaXQgZXRodG9vbC5z
ZXJ2aWNlIGRvZXMgbm90IGV4aXN0ClRoZSB1bml0IGZpbGVzIGhhdmUgbm8gaW5zdGFsbGF0aW9u
IGNvbmZpZyAoV2FudGVkQnk9LCBSZXF1aXJlZEJ5PSwgVXBoZWxkQnk9LApBbHNvPSwgb3IgQWxp
YXM9IHNldHRpbmdzIGluIHRoZSBbSW5zdGFsbF0gc2VjdGlvbiwgYW5kIERlZmF1bHRJbnN0YW5j
ZT0gZm9yCnRlbXBsYXRlIHVuaXRzKS4gVGhpcyBtZWFucyB0aGV5IGFyZSBub3QgbWVhbnQgdG8g
YmUgZW5hYmxlZCBvciBkaXNhYmxlZCB1c2luZyBzeXN0ZW1jdGwuCiAKUG9zc2libGUgcmVhc29u
cyBmb3IgaGF2aW5nIHRoZXNlIGtpbmRzIG9mIHVuaXRzIGFyZToK4oCiIEEgdW5pdCBtYXkgYmUg
c3RhdGljYWxseSBlbmFibGVkIGJ5IGJlaW5nIHN5bWxpbmtlZCBmcm9tIGFub3RoZXIgdW5pdCdz
CiAgLndhbnRzLywgLnJlcXVpcmVzLywgb3IgLnVwaG9sZHMvIGRpcmVjdG9yeS4K4oCiIEEgdW5p
dCdzIHB1cnBvc2UgbWF5IGJlIHRvIGFjdCBhcyBhIGhlbHBlciBmb3Igc29tZSBvdGhlciB1bml0
IHdoaWNoIGhhcwogIGEgcmVxdWlyZW1lbnQgZGVwZW5kZW5jeSBvbiBpdC4K4oCiIEEgdW5pdCBt
YXkgYmUgc3RhcnRlZCB3aGVuIG5lZWRlZCB2aWEgYWN0aXZhdGlvbiAoc29ja2V0LCBwYXRoLCB0
aW1lciwKICBELUJ1cywgdWRldiwgc2NyaXB0ZWQgc3lzdGVtY3RsIGNhbGwsIC4uLikuCuKAoiBJ
biBjYXNlIG9mIHRlbXBsYXRlIHVuaXRzLCB0aGUgdW5pdCBpcyBtZWFudCB0byBiZSBlbmFibGVk
IHdpdGggc29tZQogIGluc3RhbmNlIG5hbWUgc3BlY2lmaWVkLgpTeW5jaHJvbml6aW5nIHN0YXRl
IG9mIGlwdGFibGVzLnNlcnZpY2Ugd2l0aCBTeXNWIHNlcnZpY2Ugc2NyaXB0IHdpdGggL3Vzci9s
aWIvc3lzdGVtZC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC4KRXhlY3V0aW5nOiAvdXNyL2xpYi9zeXN0
ZW1kL3N5c3RlbWQtc3lzdi1pbnN0YWxsIGRpc2FibGUgaXB0YWJsZXMKU3luY2hyb25pemluZyBz
dGF0ZSBvZiBsbV9zZW5zb3JzLnNlcnZpY2Ugd2l0aCBTeXNWIHNlcnZpY2Ugc2NyaXB0IHdpdGgg
L3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC4KRXhlY3V0aW5nOiAvdXNyL2xp
Yi9zeXN0ZW1kL3N5c3RlbWQtc3lzdi1pbnN0YWxsIGRpc2FibGUgbG1fc2Vuc29ycwpTeW5jaHJv
bml6aW5nIHN0YXRlIG9mIG9wZW52cG4uc2VydmljZSB3aXRoIFN5c1Ygc2VydmljZSBzY3JpcHQg
d2l0aCAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtc3lzdi1pbnN0YWxsLgpFeGVjdXRpbmc6IC91
c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1zeXN2LWluc3RhbGwgZGlzYWJsZSBvcGVudnBuClN5bmNo
cm9uaXppbmcgc3RhdGUgb2YgY29uc29sZXNhdmVyLnNlcnZpY2Ugd2l0aCBTeXNWIHNlcnZpY2Ug
c2NyaXB0IHdpdGggL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC4KRXhlY3V0
aW5nOiAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtc3lzdi1pbnN0YWxsIGRpc2FibGUgY29uc29s
ZXNhdmVyCkZhaWxlZCB0byBkaXNhYmxlIHVuaXQ6IFVuaXQgc3lzbG9nZC5zZXJ2aWNlIGRvZXMg
bm90IGV4aXN0CkZhaWxlZCB0byBkaXNhYmxlIHVuaXQ6IFVuaXQgc3lzbG9nZC5zZXJ2aWNlIGRv
ZXMgbm90IGV4aXN0ClRoZSB1bml0IGZpbGVzIGhhdmUgbm8gaW5zdGFsbGF0aW9uIGNvbmZpZyAo
V2FudGVkQnk9LCBSZXF1aXJlZEJ5PSwgVXBoZWxkQnk9LApBbHNvPSwgb3IgQWxpYXM9IHNldHRp
bmdzIGluIHRoZSBbSW5zdGFsbF0gc2VjdGlvbiwgYW5kIERlZmF1bHRJbnN0YW5jZT0gZm9yCnRl
bXBsYXRlIHVuaXRzKS4gVGhpcyBtZWFucyB0aGV5IGFyZSBub3QgbWVhbnQgdG8gYmUgZW5hYmxl
ZCBvciBkaXNhYmxlZCB1c2luZyBzeXN0ZW1jdGwuCiAKUG9zc2libGUgcmVhc29ucyBmb3IgaGF2
aW5nIHRoZXNlIGtpbmRzIG9mIHVuaXRzIGFyZToK4oCiIEEgdW5pdCBtYXkgYmUgc3RhdGljYWxs
eSBlbmFibGVkIGJ5IGJlaW5nIHN5bWxpbmtlZCBmcm9tIGFub3RoZXIgdW5pdCdzCiAgLndhbnRz
LywgLnJlcXVpcmVzLywgb3IgLnVwaG9sZHMvIGRpcmVjdG9yeS4K4oCiIEEgdW5pdCdzIHB1cnBv
c2UgbWF5IGJlIHRvIGFjdCBhcyBhIGhlbHBlciBmb3Igc29tZSBvdGhlciB1bml0IHdoaWNoIGhh
cwogIGEgcmVxdWlyZW1lbnQgZGVwZW5kZW5jeSBvbiBpdC4K4oCiIEEgdW5pdCBtYXkgYmUgc3Rh
cnRlZCB3aGVuIG5lZWRlZCB2aWEgYWN0aXZhdGlvbiAoc29ja2V0LCBwYXRoLCB0aW1lciwKICBE
LUJ1cywgdWRldiwgc2NyaXB0ZWQgc3lzdGVtY3RsIGNhbGwsIC4uLikuCuKAoiBJbiBjYXNlIG9m
IHRlbXBsYXRlIHVuaXRzLCB0aGUgdW5pdCBpcyBtZWFudCB0byBiZSBlbmFibGVkIHdpdGggc29t
ZQogIGluc3RhbmNlIG5hbWUgc3BlY2lmaWVkLgpGYWlsZWQgdG8gZGlzYWJsZSB1bml0OiBVbml0
IGtyYjVrZGMuc2VydmljZSBkb2VzIG5vdCBleGlzdApGYWlsZWQgdG8gZGlzYWJsZSB1bml0OiBV
bml0IGtyYjVrZGMuc2VydmljZSBkb2VzIG5vdCBleGlzdApUaGUgdW5pdCBmaWxlcyBoYXZlIG5v
IGluc3RhbGxhdGlvbiBjb25maWcgKFdhbnRlZEJ5PSwgUmVxdWlyZWRCeT0sIFVwaGVsZEJ5PSwK
QWxzbz0sIG9yIEFsaWFzPSBzZXR0aW5ncyBpbiB0aGUgW0luc3RhbGxdIHNlY3Rpb24sIGFuZCBE
ZWZhdWx0SW5zdGFuY2U9IGZvcgp0ZW1wbGF0ZSB1bml0cykuIFRoaXMgbWVhbnMgdGhleSBhcmUg
bm90IG1lYW50IHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQgdXNpbmcgc3lzdGVtY3RsLgogClBv
c3NpYmxlIHJlYXNvbnMgZm9yIGhhdmluZyB0aGVzZSBraW5kcyBvZiB1bml0cyBhcmU6CuKAoiBB
IHVuaXQgbWF5IGJlIHN0YXRpY2FsbHkgZW5hYmxlZCBieSBiZWluZyBzeW1saW5rZWQgZnJvbSBh
bm90aGVyIHVuaXQncwogIC53YW50cy8sIC5yZXF1aXJlcy8sIG9yIC51cGhvbGRzLyBkaXJlY3Rv
cnkuCuKAoiBBIHVuaXQncyBwdXJwb3NlIG1heSBiZSB0byBhY3QgYXMgYSBoZWxwZXIgZm9yIHNv
bWUgb3RoZXIgdW5pdCB3aGljaCBoYXMKICBhIHJlcXVpcmVtZW50IGRlcGVuZGVuY3kgb24gaXQu
CuKAoiBBIHVuaXQgbWF5IGJlIHN0YXJ0ZWQgd2hlbiBuZWVkZWQgdmlhIGFjdGl2YXRpb24gKHNv
Y2tldCwgcGF0aCwgdGltZXIsCiAgRC1CdXMsIHVkZXYsIHNjcmlwdGVkIHN5c3RlbWN0bCBjYWxs
LCAuLi4pLgrigKIgSW4gY2FzZSBvZiB0ZW1wbGF0ZSB1bml0cywgdGhlIHVuaXQgaXMgbWVhbnQg
dG8gYmUgZW5hYmxlZCB3aXRoIHNvbWUKICBpbnN0YW5jZSBuYW1lIHNwZWNpZmllZC4KUmVtb3Zl
ZCAnL2V0Yy9zeXN0ZW1kL3N5c3RlbS9uZXR3b3JrLW9ubGluZS50YXJnZXQud2FudHMvTmV0d29y
a01hbmFnZXItd2FpdC1vbmxpbmUuc2VydmljZScuCkZhaWxlZCB0byBkaXNhYmxlIHVuaXQ6IFVu
aXQgc3lzdGVtZC1uZXR3b3JrZC5zZXJ2aWNlIGRvZXMgbm90IGV4aXN0CkZhaWxlZCB0byBkaXNh
YmxlIHVuaXQ6IFVuaXQgc3lzdGVtZC1uZXR3b3JrZC5zZXJ2aWNlIGRvZXMgbm90IGV4aXN0ClRo
ZSB1bml0IGZpbGVzIGhhdmUgbm8gaW5zdGFsbGF0aW9uIGNvbmZpZyAoV2FudGVkQnk9LCBSZXF1
aXJlZEJ5PSwgVXBoZWxkQnk9LApBbHNvPSwgb3IgQWxpYXM9IHNldHRpbmdzIGluIHRoZSBbSW5z
dGFsbF0gc2VjdGlvbiwgYW5kIERlZmF1bHRJbnN0YW5jZT0gZm9yCnRlbXBsYXRlIHVuaXRzKS4g
VGhpcyBtZWFucyB0aGV5IGFyZSBub3QgbWVhbnQgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZCB1
c2luZyBzeXN0ZW1jdGwuCiAKUG9zc2libGUgcmVhc29ucyBmb3IgaGF2aW5nIHRoZXNlIGtpbmRz
IG9mIHVuaXRzIGFyZToK4oCiIEEgdW5pdCBtYXkgYmUgc3RhdGljYWxseSBlbmFibGVkIGJ5IGJl
aW5nIHN5bWxpbmtlZCBmcm9tIGFub3RoZXIgdW5pdCdzCiAgLndhbnRzLywgLnJlcXVpcmVzLywg
b3IgLnVwaG9sZHMvIGRpcmVjdG9yeS4K4oCiIEEgdW5pdCdzIHB1cnBvc2UgbWF5IGJlIHRvIGFj
dCBhcyBhIGhlbHBlciBmb3Igc29tZSBvdGhlciB1bml0IHdoaWNoIGhhcwogIGEgcmVxdWlyZW1l
bnQgZGVwZW5kZW5jeSBvbiBpdC4K4oCiIEEgdW5pdCBtYXkgYmUgc3RhcnRlZCB3aGVuIG5lZWRl
ZCB2aWEgYWN0aXZhdGlvbiAoc29ja2V0LCBwYXRoLCB0aW1lciwKICBELUJ1cywgdWRldiwgc2Ny
aXB0ZWQgc3lzdGVtY3RsIGNhbGwsIC4uLikuCuKAoiBJbiBjYXNlIG9mIHRlbXBsYXRlIHVuaXRz
LCB0aGUgdW5pdCBpcyBtZWFudCB0byBiZSBlbmFibGVkIHdpdGggc29tZQogIGluc3RhbmNlIG5h
bWUgc3BlY2lmaWVkLgpGYWlsZWQgdG8gZGlzYWJsZSB1bml0OiBVbml0IHN5c3RlbWQtcmVzb2x2
ZWQuc2VydmljZSBkb2VzIG5vdCBleGlzdApGYWlsZWQgdG8gZGlzYWJsZSB1bml0OiBVbml0IHN5
c3RlbWQtcmVzb2x2ZWQuc2VydmljZSBkb2VzIG5vdCBleGlzdApUaGUgdW5pdCBmaWxlcyBoYXZl
IG5vIGluc3RhbGxhdGlvbiBjb25maWcgKFdhbnRlZEJ5PSwgUmVxdWlyZWRCeT0sIFVwaGVsZEJ5
PSwKQWxzbz0sIG9yIEFsaWFzPSBzZXR0aW5ncyBpbiB0aGUgW0luc3RhbGxdIHNlY3Rpb24sIGFu
ZCBEZWZhdWx0SW5zdGFuY2U9IGZvcgp0ZW1wbGF0ZSB1bml0cykuIFRoaXMgbWVhbnMgdGhleSBh
cmUgbm90IG1lYW50IHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQgdXNpbmcgc3lzdGVtY3RsLgog
ClBvc3NpYmxlIHJlYXNvbnMgZm9yIGhhdmluZyB0aGVzZSBraW5kcyBvZiB1bml0cyBhcmU6CuKA
oiBBIHVuaXQgbWF5IGJlIHN0YXRpY2FsbHkgZW5hYmxlZCBieSBiZWluZyBzeW1saW5rZWQgZnJv
bSBhbm90aGVyIHVuaXQncwogIC53YW50cy8sIC5yZXF1aXJlcy8sIG9yIC51cGhvbGRzLyBkaXJl
Y3RvcnkuCuKAoiBBIHVuaXQncyBwdXJwb3NlIG1heSBiZSB0byBhY3QgYXMgYSBoZWxwZXIgZm9y
IHNvbWUgb3RoZXIgdW5pdCB3aGljaCBoYXMKICBhIHJlcXVpcmVtZW50IGRlcGVuZGVuY3kgb24g
aXQuCuKAoiBBIHVuaXQgbWF5IGJlIHN0YXJ0ZWQgd2hlbiBuZWVkZWQgdmlhIGFjdGl2YXRpb24g
KHNvY2tldCwgcGF0aCwgdGltZXIsCiAgRC1CdXMsIHVkZXYsIHNjcmlwdGVkIHN5c3RlbWN0bCBj
YWxsLCAuLi4pLgrigKIgSW4gY2FzZSBvZiB0ZW1wbGF0ZSB1bml0cywgdGhlIHVuaXQgaXMgbWVh
bnQgdG8gYmUgZW5hYmxlZCB3aXRoIHNvbWUKICBpbnN0YW5jZSBuYW1lIHNwZWNpZmllZC4KRmFp
bGVkIHRvIGRpc2FibGUgdW5pdDogVW5pdCBjbGFtZC5zZXJ2aWNlIGRvZXMgbm90IGV4aXN0CkZh
aWxlZCB0byBkaXNhYmxlIHVuaXQ6IFVuaXQgY2xhbWQuc2VydmljZSBkb2VzIG5vdCBleGlzdApU
aGUgdW5pdCBmaWxlcyBoYXZlIG5vIGluc3RhbGxhdGlvbiBjb25maWcgKFdhbnRlZEJ5PSwgUmVx
dWlyZWRCeT0sIFVwaGVsZEJ5PSwKQWxzbz0sIG9yIEFsaWFzPSBzZXR0aW5ncyBpbiB0aGUgW0lu
c3RhbGxdIHNlY3Rpb24sIGFuZCBEZWZhdWx0SW5zdGFuY2U9IGZvcgp0ZW1wbGF0ZSB1bml0cyku
IFRoaXMgbWVhbnMgdGhleSBhcmUgbm90IG1lYW50IHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQg
dXNpbmcgc3lzdGVtY3RsLgogClBvc3NpYmxlIHJlYXNvbnMgZm9yIGhhdmluZyB0aGVzZSBraW5k
cyBvZiB1bml0cyBhcmU6CuKAoiBBIHVuaXQgbWF5IGJlIHN0YXRpY2FsbHkgZW5hYmxlZCBieSBi
ZWluZyBzeW1saW5rZWQgZnJvbSBhbm90aGVyIHVuaXQncwogIC53YW50cy8sIC5yZXF1aXJlcy8s
IG9yIC51cGhvbGRzLyBkaXJlY3RvcnkuCuKAoiBBIHVuaXQncyBwdXJwb3NlIG1heSBiZSB0byBh
Y3QgYXMgYSBoZWxwZXIgZm9yIHNvbWUgb3RoZXIgdW5pdCB3aGljaCBoYXMKICBhIHJlcXVpcmVt
ZW50IGRlcGVuZGVuY3kgb24gaXQuCuKAoiBBIHVuaXQgbWF5IGJlIHN0YXJ0ZWQgd2hlbiBuZWVk
ZWQgdmlhIGFjdGl2YXRpb24gKHNvY2tldCwgcGF0aCwgdGltZXIsCiAgRC1CdXMsIHVkZXYsIHNj
cmlwdGVkIHN5c3RlbWN0bCBjYWxsLCAuLi4pLgrigKIgSW4gY2FzZSBvZiB0ZW1wbGF0ZSB1bml0
cywgdGhlIHVuaXQgaXMgbWVhbnQgdG8gYmUgZW5hYmxlZCB3aXRoIHNvbWUKICBpbnN0YW5jZSBu
YW1lIHNwZWNpZmllZC4KRmFpbGVkIHRvIGRpc2FibGUgdW5pdDogVW5pdCBjbGFtc210cGQuc2Vy
dmljZSBkb2VzIG5vdCBleGlzdApGYWlsZWQgdG8gZGlzYWJsZSB1bml0OiBVbml0IGNsYW1zbXRw
ZC5zZXJ2aWNlIGRvZXMgbm90IGV4aXN0ClRoZSB1bml0IGZpbGVzIGhhdmUgbm8gaW5zdGFsbGF0
aW9uIGNvbmZpZyAoV2FudGVkQnk9LCBSZXF1aXJlZEJ5PSwgVXBoZWxkQnk9LApBbHNvPSwgb3Ig
QWxpYXM9IHNldHRpbmdzIGluIHRoZSBbSW5zdGFsbF0gc2VjdGlvbiwgYW5kIERlZmF1bHRJbnN0
YW5jZT0gZm9yCnRlbXBsYXRlIHVuaXRzKS4gVGhpcyBtZWFucyB0aGV5IGFyZSBub3QgbWVhbnQg
dG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZCB1c2luZyBzeXN0ZW1jdGwuCiAKUG9zc2libGUgcmVh
c29ucyBmb3IgaGF2aW5nIHRoZXNlIGtpbmRzIG9mIHVuaXRzIGFyZToK4oCiIEEgdW5pdCBtYXkg
YmUgc3RhdGljYWxseSBlbmFibGVkIGJ5IGJlaW5nIHN5bWxpbmtlZCBmcm9tIGFub3RoZXIgdW5p
dCdzCiAgLndhbnRzLywgLnJlcXVpcmVzLywgb3IgLnVwaG9sZHMvIGRpcmVjdG9yeS4K4oCiIEEg
dW5pdCdzIHB1cnBvc2UgbWF5IGJlIHRvIGFjdCBhcyBhIGhlbHBlciBmb3Igc29tZSBvdGhlciB1
bml0IHdoaWNoIGhhcwogIGEgcmVxdWlyZW1lbnQgZGVwZW5kZW5jeSBvbiBpdC4K4oCiIEEgdW5p
dCBtYXkgYmUgc3RhcnRlZCB3aGVuIG5lZWRlZCB2aWEgYWN0aXZhdGlvbiAoc29ja2V0LCBwYXRo
LCB0aW1lciwKICBELUJ1cywgdWRldiwgc2NyaXB0ZWQgc3lzdGVtY3RsIGNhbGwsIC4uLikuCuKA
oiBJbiBjYXNlIG9mIHRlbXBsYXRlIHVuaXRzLCB0aGUgdW5pdCBpcyBtZWFudCB0byBiZSBlbmFi
bGVkIHdpdGggc29tZQogIGluc3RhbmNlIG5hbWUgc3BlY2lmaWVkLgpTeW5jaHJvbml6aW5nIHN0
YXRlIG9mIGJsay1hdmFpbGFiaWxpdHkuc2VydmljZSB3aXRoIFN5c1Ygc2VydmljZSBzY3JpcHQg
d2l0aCAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtc3lzdi1pbnN0YWxsLgpFeGVjdXRpbmc6IC91
c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1zeXN2LWluc3RhbGwgZGlzYWJsZSBibGstYXZhaWxhYmls
aXR5CkZhaWxlZCB0byBkaXNhYmxlIHVuaXQ6IFVuaXQgZGhjcGQuc2VydmljZSBkb2VzIG5vdCBl
eGlzdApGYWlsZWQgdG8gZGlzYWJsZSB1bml0OiBVbml0IGRoY3BkLnNlcnZpY2UgZG9lcyBub3Qg
ZXhpc3QKVGhlIHVuaXQgZmlsZXMgaGF2ZSBubyBpbnN0YWxsYXRpb24gY29uZmlnIChXYW50ZWRC
eT0sIFJlcXVpcmVkQnk9LCBVcGhlbGRCeT0sCkFsc289LCBvciBBbGlhcz0gc2V0dGluZ3MgaW4g
dGhlIFtJbnN0YWxsXSBzZWN0aW9uLCBhbmQgRGVmYXVsdEluc3RhbmNlPSBmb3IKdGVtcGxhdGUg
dW5pdHMpLiBUaGlzIG1lYW5zIHRoZXkgYXJlIG5vdCBtZWFudCB0byBiZSBlbmFibGVkIG9yIGRp
c2FibGVkIHVzaW5nIHN5c3RlbWN0bC4KIApQb3NzaWJsZSByZWFzb25zIGZvciBoYXZpbmcgdGhl
c2Uga2luZHMgb2YgdW5pdHMgYXJlOgrigKIgQSB1bml0IG1heSBiZSBzdGF0aWNhbGx5IGVuYWJs
ZWQgYnkgYmVpbmcgc3ltbGlua2VkIGZyb20gYW5vdGhlciB1bml0J3MKICAud2FudHMvLCAucmVx
dWlyZXMvLCBvciAudXBob2xkcy8gZGlyZWN0b3J5LgrigKIgQSB1bml0J3MgcHVycG9zZSBtYXkg
YmUgdG8gYWN0IGFzIGEgaGVscGVyIGZvciBzb21lIG90aGVyIHVuaXQgd2hpY2ggaGFzCiAgYSBy
ZXF1aXJlbWVudCBkZXBlbmRlbmN5IG9uIGl0LgrigKIgQSB1bml0IG1heSBiZSBzdGFydGVkIHdo
ZW4gbmVlZGVkIHZpYSBhY3RpdmF0aW9uIChzb2NrZXQsIHBhdGgsIHRpbWVyLAogIEQtQnVzLCB1
ZGV2LCBzY3JpcHRlZCBzeXN0ZW1jdGwgY2FsbCwgLi4uKS4K4oCiIEluIGNhc2Ugb2YgdGVtcGxh
dGUgdW5pdHMsIHRoZSB1bml0IGlzIG1lYW50IHRvIGJlIGVuYWJsZWQgd2l0aCBzb21lCiAgaW5z
dGFuY2UgbmFtZSBzcGVjaWZpZWQuCkZhaWxlZCB0byBkaXNhYmxlIHVuaXQ6IFVuaXQgZG1ldmVu
dGQuc2VydmljZSBkb2VzIG5vdCBleGlzdApGYWlsZWQgdG8gZGlzYWJsZSB1bml0OiBVbml0IGRt
ZXZlbnRkLnNlcnZpY2UgZG9lcyBub3QgZXhpc3QKVGhlIHVuaXQgZmlsZXMgaGF2ZSBubyBpbnN0
YWxsYXRpb24gY29uZmlnIChXYW50ZWRCeT0sIFJlcXVpcmVkQnk9LCBVcGhlbGRCeT0sCkFsc289
LCBvciBBbGlhcz0gc2V0dGluZ3MgaW4gdGhlIFtJbnN0YWxsXSBzZWN0aW9uLCBhbmQgRGVmYXVs
dEluc3RhbmNlPSBmb3IKdGVtcGxhdGUgdW5pdHMpLiBUaGlzIG1lYW5zIHRoZXkgYXJlIG5vdCBt
ZWFudCB0byBiZSBlbmFibGVkIG9yIGRpc2FibGVkIHVzaW5nIHN5c3RlbWN0bC4KIApQb3NzaWJs
ZSByZWFzb25zIGZvciBoYXZpbmcgdGhlc2Uga2luZHMgb2YgdW5pdHMgYXJlOgrigKIgQSB1bml0
IG1heSBiZSBzdGF0aWNhbGx5IGVuYWJsZWQgYnkgYmVpbmcgc3ltbGlua2VkIGZyb20gYW5vdGhl
ciB1bml0J3MKICAud2FudHMvLCAucmVxdWlyZXMvLCBvciAudXBob2xkcy8gZGlyZWN0b3J5Lgri
gKIgQSB1bml0J3MgcHVycG9zZSBtYXkgYmUgdG8gYWN0IGFzIGEgaGVscGVyIGZvciBzb21lIG90
aGVyIHVuaXQgd2hpY2ggaGFzCiAgYSByZXF1aXJlbWVudCBkZXBlbmRlbmN5IG9uIGl0LgrigKIg
QSB1bml0IG1heSBiZSBzdGFydGVkIHdoZW4gbmVlZGVkIHZpYSBhY3RpdmF0aW9uIChzb2NrZXQs
IHBhdGgsIHRpbWVyLAogIEQtQnVzLCB1ZGV2LCBzY3JpcHRlZCBzeXN0ZW1jdGwgY2FsbCwgLi4u
KS4K4oCiIEluIGNhc2Ugb2YgdGVtcGxhdGUgdW5pdHMsIHRoZSB1bml0IGlzIG1lYW50IHRvIGJl
IGVuYWJsZWQgd2l0aCBzb21lCiAgaW5zdGFuY2UgbmFtZSBzcGVjaWZpZWQuClN5bmNocm9uaXpp
bmcgc3RhdGUgb2YgZG5zbWFzcS5zZXJ2aWNlIHdpdGggU3lzViBzZXJ2aWNlIHNjcmlwdCB3aXRo
IC91c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1zeXN2LWluc3RhbGwuCkV4ZWN1dGluZzogL3Vzci9s
aWIvc3lzdGVtZC9zeXN0ZW1kLXN5c3YtaW5zdGFsbCBkaXNhYmxlIGRuc21hc3EKRmFpbGVkIHRv
IGRpc2FibGUgdW5pdDogVW5pdCBsdm0yLWx2bWV0YWQuc2VydmljZSBkb2VzIG5vdCBleGlzdApG
YWlsZWQgdG8gZGlzYWJsZSB1bml0OiBVbml0IGx2bTItbHZtZXRhZC5zZXJ2aWNlIGRvZXMgbm90
IGV4aXN0ClRoZSB1bml0IGZpbGVzIGhhdmUgbm8gaW5zdGFsbGF0aW9uIGNvbmZpZyAoV2FudGVk
Qnk9LCBSZXF1aXJlZEJ5PSwgVXBoZWxkQnk9LApBbHNvPSwgb3IgQWxpYXM9IHNldHRpbmdzIGlu
IHRoZSBbSW5zdGFsbF0gc2VjdGlvbiwgYW5kIERlZmF1bHRJbnN0YW5jZT0gZm9yCnRlbXBsYXRl
IHVuaXRzKS4gVGhpcyBtZWFucyB0aGV5IGFyZSBub3QgbWVhbnQgdG8gYmUgZW5hYmxlZCBvciBk
aXNhYmxlZCB1c2luZyBzeXN0ZW1jdGwuCiAKUG9zc2libGUgcmVhc29ucyBmb3IgaGF2aW5nIHRo
ZXNlIGtpbmRzIG9mIHVuaXRzIGFyZToK4oCiIEEgdW5pdCBtYXkgYmUgc3RhdGljYWxseSBlbmFi
bGVkIGJ5IGJlaW5nIHN5bWxpbmtlZCBmcm9tIGFub3RoZXIgdW5pdCdzCiAgLndhbnRzLywgLnJl
cXVpcmVzLywgb3IgLnVwaG9sZHMvIGRpcmVjdG9yeS4K4oCiIEEgdW5pdCdzIHB1cnBvc2UgbWF5
IGJlIHRvIGFjdCBhcyBhIGhlbHBlciBmb3Igc29tZSBvdGhlciB1bml0IHdoaWNoIGhhcwogIGEg
cmVxdWlyZW1lbnQgZGVwZW5kZW5jeSBvbiBpdC4K4oCiIEEgdW5pdCBtYXkgYmUgc3RhcnRlZCB3
aGVuIG5lZWRlZCB2aWEgYWN0aXZhdGlvbiAoc29ja2V0LCBwYXRoLCB0aW1lciwKICBELUJ1cywg
dWRldiwgc2NyaXB0ZWQgc3lzdGVtY3RsIGNhbGwsIC4uLikuCuKAoiBJbiBjYXNlIG9mIHRlbXBs
YXRlIHVuaXRzLCB0aGUgdW5pdCBpcyBtZWFudCB0byBiZSBlbmFibGVkIHdpdGggc29tZQogIGlu
c3RhbmNlIG5hbWUgc3BlY2lmaWVkLgpTeW5jaHJvbml6aW5nIHN0YXRlIG9mIGx2bTItbHZtcG9s
bGQuc2VydmljZSB3aXRoIFN5c1Ygc2VydmljZSBzY3JpcHQgd2l0aCAvdXNyL2xpYi9zeXN0ZW1k
L3N5c3RlbWQtc3lzdi1pbnN0YWxsLgpFeGVjdXRpbmc6IC91c3IvbGliL3N5c3RlbWQvc3lzdGVt
ZC1zeXN2LWluc3RhbGwgZGlzYWJsZSBsdm0yLWx2bXBvbGxkClRoZSB1bml0IGZpbGVzIGhhdmUg
bm8gaW5zdGFsbGF0aW9uIGNvbmZpZyAoV2FudGVkQnk9LCBSZXF1aXJlZEJ5PSwgVXBoZWxkQnk9
LApBbHNvPSwgb3IgQWxpYXM9IHNldHRpbmdzIGluIHRoZSBbSW5zdGFsbF0gc2VjdGlvbiwgYW5k
IERlZmF1bHRJbnN0YW5jZT0gZm9yCnRlbXBsYXRlIHVuaXRzKS4gVGhpcyBtZWFucyB0aGV5IGFy
ZSBub3QgbWVhbnQgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZCB1c2luZyBzeXN0ZW1jdGwuCiAK
UG9zc2libGUgcmVhc29ucyBmb3IgaGF2aW5nIHRoZXNlIGtpbmRzIG9mIHVuaXRzIGFyZToK4oCi
IEEgdW5pdCBtYXkgYmUgc3RhdGljYWxseSBlbmFibGVkIGJ5IGJlaW5nIHN5bWxpbmtlZCBmcm9t
IGFub3RoZXIgdW5pdCdzCiAgLndhbnRzLywgLnJlcXVpcmVzLywgb3IgLnVwaG9sZHMvIGRpcmVj
dG9yeS4K4oCiIEEgdW5pdCdzIHB1cnBvc2UgbWF5IGJlIHRvIGFjdCBhcyBhIGhlbHBlciBmb3Ig
c29tZSBvdGhlciB1bml0IHdoaWNoIGhhcwogIGEgcmVxdWlyZW1lbnQgZGVwZW5kZW5jeSBvbiBp
dC4K4oCiIEEgdW5pdCBtYXkgYmUgc3RhcnRlZCB3aGVuIG5lZWRlZCB2aWEgYWN0aXZhdGlvbiAo
c29ja2V0LCBwYXRoLCB0aW1lciwKICBELUJ1cywgdWRldiwgc2NyaXB0ZWQgc3lzdGVtY3RsIGNh
bGwsIC4uLikuCuKAoiBJbiBjYXNlIG9mIHRlbXBsYXRlIHVuaXRzLCB0aGUgdW5pdCBpcyBtZWFu
dCB0byBiZSBlbmFibGVkIHdpdGggc29tZQogIGluc3RhbmNlIG5hbWUgc3BlY2lmaWVkLgpTeW5j
aHJvbml6aW5nIHN0YXRlIG9mIG1kYWRtLnNlcnZpY2Ugd2l0aCBTeXNWIHNlcnZpY2Ugc2NyaXB0
IHdpdGggL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC4KRXhlY3V0aW5nOiAv
dXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtc3lzdi1pbnN0YWxsIGRpc2FibGUgbWRhZG0KVGhlIHVu
aXQgZmlsZXMgaGF2ZSBubyBpbnN0YWxsYXRpb24gY29uZmlnIChXYW50ZWRCeT0sIFJlcXVpcmVk
Qnk9LCBVcGhlbGRCeT0sCkFsc289LCBvciBBbGlhcz0gc2V0dGluZ3MgaW4gdGhlIFtJbnN0YWxs
XSBzZWN0aW9uLCBhbmQgRGVmYXVsdEluc3RhbmNlPSBmb3IKdGVtcGxhdGUgdW5pdHMpLiBUaGlz
IG1lYW5zIHRoZXkgYXJlIG5vdCBtZWFudCB0byBiZSBlbmFibGVkIG9yIGRpc2FibGVkIHVzaW5n
IHN5c3RlbWN0bC4KIApQb3NzaWJsZSByZWFzb25zIGZvciBoYXZpbmcgdGhlc2Uga2luZHMgb2Yg
dW5pdHMgYXJlOgrigKIgQSB1bml0IG1heSBiZSBzdGF0aWNhbGx5IGVuYWJsZWQgYnkgYmVpbmcg
c3ltbGlua2VkIGZyb20gYW5vdGhlciB1bml0J3MKICAud2FudHMvLCAucmVxdWlyZXMvLCBvciAu
dXBob2xkcy8gZGlyZWN0b3J5LgrigKIgQSB1bml0J3MgcHVycG9zZSBtYXkgYmUgdG8gYWN0IGFz
IGEgaGVscGVyIGZvciBzb21lIG90aGVyIHVuaXQgd2hpY2ggaGFzCiAgYSByZXF1aXJlbWVudCBk
ZXBlbmRlbmN5IG9uIGl0LgrigKIgQSB1bml0IG1heSBiZSBzdGFydGVkIHdoZW4gbmVlZGVkIHZp
YSBhY3RpdmF0aW9uIChzb2NrZXQsIHBhdGgsIHRpbWVyLAogIEQtQnVzLCB1ZGV2LCBzY3JpcHRl
ZCBzeXN0ZW1jdGwgY2FsbCwgLi4uKS4K4oCiIEluIGNhc2Ugb2YgdGVtcGxhdGUgdW5pdHMsIHRo
ZSB1bml0IGlzIG1lYW50IHRvIGJlIGVuYWJsZWQgd2l0aCBzb21lCiAgaW5zdGFuY2UgbmFtZSBz
cGVjaWZpZWQuClVuaXQgL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0vbmV0ZnMuc2VydmljZSBpcyBt
YXNrZWQsIGlnbm9yaW5nLgpUaGUgdW5pdCBmaWxlcyBoYXZlIG5vIGluc3RhbGxhdGlvbiBjb25m
aWcgKFdhbnRlZEJ5PSwgUmVxdWlyZWRCeT0sIFVwaGVsZEJ5PSwKQWxzbz0sIG9yIEFsaWFzPSBz
ZXR0aW5ncyBpbiB0aGUgW0luc3RhbGxdIHNlY3Rpb24sIGFuZCBEZWZhdWx0SW5zdGFuY2U9IGZv
cgp0ZW1wbGF0ZSB1bml0cykuIFRoaXMgbWVhbnMgdGhleSBhcmUgbm90IG1lYW50IHRvIGJlIGVu
YWJsZWQgb3IgZGlzYWJsZWQgdXNpbmcgc3lzdGVtY3RsLgogClBvc3NpYmxlIHJlYXNvbnMgZm9y
IGhhdmluZyB0aGVzZSBraW5kcyBvZiB1bml0cyBhcmU6CuKAoiBBIHVuaXQgbWF5IGJlIHN0YXRp
Y2FsbHkgZW5hYmxlZCBieSBiZWluZyBzeW1saW5rZWQgZnJvbSBhbm90aGVyIHVuaXQncwogIC53
YW50cy8sIC5yZXF1aXJlcy8sIG9yIC51cGhvbGRzLyBkaXJlY3RvcnkuCuKAoiBBIHVuaXQncyBw
dXJwb3NlIG1heSBiZSB0byBhY3QgYXMgYSBoZWxwZXIgZm9yIHNvbWUgb3RoZXIgdW5pdCB3aGlj
aCBoYXMKICBhIHJlcXVpcmVtZW50IGRlcGVuZGVuY3kgb24gaXQuCuKAoiBBIHVuaXQgbWF5IGJl
IHN0YXJ0ZWQgd2hlbiBuZWVkZWQgdmlhIGFjdGl2YXRpb24gKHNvY2tldCwgcGF0aCwgdGltZXIs
CiAgRC1CdXMsIHVkZXYsIHNjcmlwdGVkIHN5c3RlbWN0bCBjYWxsLCAuLi4pLgrigKIgSW4gY2Fz
ZSBvZiB0ZW1wbGF0ZSB1bml0cywgdGhlIHVuaXQgaXMgbWVhbnQgdG8gYmUgZW5hYmxlZCB3aXRo
IHNvbWUKICBpbnN0YW5jZSBuYW1lIHNwZWNpZmllZC4KU3luY2hyb25pemluZyBzdGF0ZSBvZiBv
MmNiLnNlcnZpY2Ugd2l0aCBTeXNWIHNlcnZpY2Ugc2NyaXB0IHdpdGggL3Vzci9saWIvc3lzdGVt
ZC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC4KRXhlY3V0aW5nOiAvdXNyL2xpYi9zeXN0ZW1kL3N5c3Rl
bWQtc3lzdi1pbnN0YWxsIGRpc2FibGUgbzJjYgpTeW5jaHJvbml6aW5nIHN0YXRlIG9mIG9jZnMy
LnNlcnZpY2Ugd2l0aCBTeXNWIHNlcnZpY2Ugc2NyaXB0IHdpdGggL3Vzci9saWIvc3lzdGVtZC9z
eXN0ZW1kLXN5c3YtaW5zdGFsbC4KRXhlY3V0aW5nOiAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQt
c3lzdi1pbnN0YWxsIGRpc2FibGUgb2NmczIKU3luY2hyb25pemluZyBzdGF0ZSBvZiBwb3N0Zml4
LnNlcnZpY2Ugd2l0aCBTeXNWIHNlcnZpY2Ugc2NyaXB0IHdpdGggL3Vzci9saWIvc3lzdGVtZC9z
eXN0ZW1kLXN5c3YtaW5zdGFsbC4KRXhlY3V0aW5nOiAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQt
c3lzdi1pbnN0YWxsIGRpc2FibGUgcG9zdGZpeApGYWlsZWQgdG8gZGlzYWJsZSB1bml0OiBVbml0
IHJhd2RldmljZXMuc2VydmljZSBkb2VzIG5vdCBleGlzdApGYWlsZWQgdG8gZGlzYWJsZSB1bml0
OiBVbml0IHJhd2RldmljZXMuc2VydmljZSBkb2VzIG5vdCBleGlzdApUaGUgdW5pdCBmaWxlcyBo
YXZlIG5vIGluc3RhbGxhdGlvbiBjb25maWcgKFdhbnRlZEJ5PSwgUmVxdWlyZWRCeT0sIFVwaGVs
ZEJ5PSwKQWxzbz0sIG9yIEFsaWFzPSBzZXR0aW5ncyBpbiB0aGUgW0luc3RhbGxdIHNlY3Rpb24s
IGFuZCBEZWZhdWx0SW5zdGFuY2U9IGZvcgp0ZW1wbGF0ZSB1bml0cykuIFRoaXMgbWVhbnMgdGhl
eSBhcmUgbm90IG1lYW50IHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQgdXNpbmcgc3lzdGVtY3Rs
LgogClBvc3NpYmxlIHJlYXNvbnMgZm9yIGhhdmluZyB0aGVzZSBraW5kcyBvZiB1bml0cyBhcmU6
CuKAoiBBIHVuaXQgbWF5IGJlIHN0YXRpY2FsbHkgZW5hYmxlZCBieSBiZWluZyBzeW1saW5rZWQg
ZnJvbSBhbm90aGVyIHVuaXQncwogIC53YW50cy8sIC5yZXF1aXJlcy8sIG9yIC51cGhvbGRzLyBk
aXJlY3RvcnkuCuKAoiBBIHVuaXQncyBwdXJwb3NlIG1heSBiZSB0byBhY3QgYXMgYSBoZWxwZXIg
Zm9yIHNvbWUgb3RoZXIgdW5pdCB3aGljaCBoYXMKICBhIHJlcXVpcmVtZW50IGRlcGVuZGVuY3kg
b24gaXQuCuKAoiBBIHVuaXQgbWF5IGJlIHN0YXJ0ZWQgd2hlbiBuZWVkZWQgdmlhIGFjdGl2YXRp
b24gKHNvY2tldCwgcGF0aCwgdGltZXIsCiAgRC1CdXMsIHVkZXYsIHNjcmlwdGVkIHN5c3RlbWN0
bCBjYWxsLCAuLi4pLgrigKIgSW4gY2FzZSBvZiB0ZW1wbGF0ZSB1bml0cywgdGhlIHVuaXQgaXMg
bWVhbnQgdG8gYmUgZW5hYmxlZCB3aXRoIHNvbWUKICBpbnN0YW5jZSBuYW1lIHNwZWNpZmllZC4K
RmFpbGVkIHRvIGRpc2FibGUgdW5pdDogVW5pdCBzbGFwZC5zZXJ2aWNlIGRvZXMgbm90IGV4aXN0
CkZhaWxlZCB0byBkaXNhYmxlIHVuaXQ6IFVuaXQgc2xhcGQuc2VydmljZSBkb2VzIG5vdCBleGlz
dApUaGUgdW5pdCBmaWxlcyBoYXZlIG5vIGluc3RhbGxhdGlvbiBjb25maWcgKFdhbnRlZEJ5PSwg
UmVxdWlyZWRCeT0sIFVwaGVsZEJ5PSwKQWxzbz0sIG9yIEFsaWFzPSBzZXR0aW5ncyBpbiB0aGUg
W0luc3RhbGxdIHNlY3Rpb24sIGFuZCBEZWZhdWx0SW5zdGFuY2U9IGZvcgp0ZW1wbGF0ZSB1bml0
cykuIFRoaXMgbWVhbnMgdGhleSBhcmUgbm90IG1lYW50IHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJs
ZWQgdXNpbmcgc3lzdGVtY3RsLgogClBvc3NpYmxlIHJlYXNvbnMgZm9yIGhhdmluZyB0aGVzZSBr
aW5kcyBvZiB1bml0cyBhcmU6CuKAoiBBIHVuaXQgbWF5IGJlIHN0YXRpY2FsbHkgZW5hYmxlZCBi
eSBiZWluZyBzeW1saW5rZWQgZnJvbSBhbm90aGVyIHVuaXQncwogIC53YW50cy8sIC5yZXF1aXJl
cy8sIG9yIC51cGhvbGRzLyBkaXJlY3RvcnkuCuKAoiBBIHVuaXQncyBwdXJwb3NlIG1heSBiZSB0
byBhY3QgYXMgYSBoZWxwZXIgZm9yIHNvbWUgb3RoZXIgdW5pdCB3aGljaCBoYXMKICBhIHJlcXVp
cmVtZW50IGRlcGVuZGVuY3kgb24gaXQuCuKAoiBBIHVuaXQgbWF5IGJlIHN0YXJ0ZWQgd2hlbiBu
ZWVkZWQgdmlhIGFjdGl2YXRpb24gKHNvY2tldCwgcGF0aCwgdGltZXIsCiAgRC1CdXMsIHVkZXYs
IHNjcmlwdGVkIHN5c3RlbWN0bCBjYWxsLCAuLi4pLgrigKIgSW4gY2FzZSBvZiB0ZW1wbGF0ZSB1
bml0cywgdGhlIHVuaXQgaXMgbWVhbnQgdG8gYmUgZW5hYmxlZCB3aXRoIHNvbWUKICBpbnN0YW5j
ZSBuYW1lIHNwZWNpZmllZC4KU3luY2hyb25pemluZyBzdGF0ZSBvZiBzbWFydGQuc2VydmljZSB3
aXRoIFN5c1Ygc2VydmljZSBzY3JpcHQgd2l0aCAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtc3lz
di1pbnN0YWxsLgpFeGVjdXRpbmc6IC91c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1zeXN2LWluc3Rh
bGwgZGlzYWJsZSBzbWFydGQKU3luY2hyb25pemluZyBzdGF0ZSBvZiBzeXNzdGF0LnNlcnZpY2Ug
d2l0aCBTeXNWIHNlcnZpY2Ugc2NyaXB0IHdpdGggL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kLXN5
c3YtaW5zdGFsbC4KRXhlY3V0aW5nOiAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtc3lzdi1pbnN0
YWxsIGRpc2FibGUgc3lzc3RhdApGYWlsZWQgdG8gZGlzYWJsZSB1bml0OiBVbml0IHVwZGF0ZV93
bXMuc2VydmljZSBkb2VzIG5vdCBleGlzdApGYWlsZWQgdG8gZGlzYWJsZSB1bml0OiBVbml0IHVw
ZGF0ZV93bXMuc2VydmljZSBkb2VzIG5vdCBleGlzdApUaGUgdW5pdCBmaWxlcyBoYXZlIG5vIGlu
c3RhbGxhdGlvbiBjb25maWcgKFdhbnRlZEJ5PSwgUmVxdWlyZWRCeT0sIFVwaGVsZEJ5PSwKQWxz
bz0sIG9yIEFsaWFzPSBzZXR0aW5ncyBpbiB0aGUgW0luc3RhbGxdIHNlY3Rpb24sIGFuZCBEZWZh
dWx0SW5zdGFuY2U9IGZvcgp0ZW1wbGF0ZSB1bml0cykuIFRoaXMgbWVhbnMgdGhleSBhcmUgbm90
IG1lYW50IHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQgdXNpbmcgc3lzdGVtY3RsLgogClBvc3Np
YmxlIHJlYXNvbnMgZm9yIGhhdmluZyB0aGVzZSBraW5kcyBvZiB1bml0cyBhcmU6CuKAoiBBIHVu
aXQgbWF5IGJlIHN0YXRpY2FsbHkgZW5hYmxlZCBieSBiZWluZyBzeW1saW5rZWQgZnJvbSBhbm90
aGVyIHVuaXQncwogIC53YW50cy8sIC5yZXF1aXJlcy8sIG9yIC51cGhvbGRzLyBkaXJlY3Rvcnku
CuKAoiBBIHVuaXQncyBwdXJwb3NlIG1heSBiZSB0byBhY3QgYXMgYSBoZWxwZXIgZm9yIHNvbWUg
b3RoZXIgdW5pdCB3aGljaCBoYXMKICBhIHJlcXVpcmVtZW50IGRlcGVuZGVuY3kgb24gaXQuCuKA
oiBBIHVuaXQgbWF5IGJlIHN0YXJ0ZWQgd2hlbiBuZWVkZWQgdmlhIGFjdGl2YXRpb24gKHNvY2tl
dCwgcGF0aCwgdGltZXIsCiAgRC1CdXMsIHVkZXYsIHNjcmlwdGVkIHN5c3RlbWN0bCBjYWxsLCAu
Li4pLgrigKIgSW4gY2FzZSBvZiB0ZW1wbGF0ZSB1bml0cywgdGhlIHVuaXQgaXMgbWVhbnQgdG8g
YmUgZW5hYmxlZCB3aXRoIHNvbWUKICBpbnN0YW5jZSBuYW1lIHNwZWNpZmllZC4KRmFpbGVkIHRv
IGRpc2FibGUgdW5pdDogVW5pdCB4aW5ldGQuc2VydmljZSBkb2VzIG5vdCBleGlzdApGYWlsZWQg
dG8gZGlzYWJsZSB1bml0OiBVbml0IHhpbmV0ZC5zZXJ2aWNlIGRvZXMgbm90IGV4aXN0ClRoZSB1
bml0IGZpbGVzIGhhdmUgbm8gaW5zdGFsbGF0aW9uIGNvbmZpZyAoV2FudGVkQnk9LCBSZXF1aXJl
ZEJ5PSwgVXBoZWxkQnk9LApBbHNvPSwgb3IgQWxpYXM9IHNldHRpbmdzIGluIHRoZSBbSW5zdGFs
bF0gc2VjdGlvbiwgYW5kIERlZmF1bHRJbnN0YW5jZT0gZm9yCnRlbXBsYXRlIHVuaXRzKS4gVGhp
cyBtZWFucyB0aGV5IGFyZSBub3QgbWVhbnQgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZCB1c2lu
ZyBzeXN0ZW1jdGwuCiAKUG9zc2libGUgcmVhc29ucyBmb3IgaGF2aW5nIHRoZXNlIGtpbmRzIG9m
IHVuaXRzIGFyZToK4oCiIEEgdW5pdCBtYXkgYmUgc3RhdGljYWxseSBlbmFibGVkIGJ5IGJlaW5n
IHN5bWxpbmtlZCBmcm9tIGFub3RoZXIgdW5pdCdzCiAgLndhbnRzLywgLnJlcXVpcmVzLywgb3Ig
LnVwaG9sZHMvIGRpcmVjdG9yeS4K4oCiIEEgdW5pdCdzIHB1cnBvc2UgbWF5IGJlIHRvIGFjdCBh
cyBhIGhlbHBlciBmb3Igc29tZSBvdGhlciB1bml0IHdoaWNoIGhhcwogIGEgcmVxdWlyZW1lbnQg
ZGVwZW5kZW5jeSBvbiBpdC4K4oCiIEEgdW5pdCBtYXkgYmUgc3RhcnRlZCB3aGVuIG5lZWRlZCB2
aWEgYWN0aXZhdGlvbiAoc29ja2V0LCBwYXRoLCB0aW1lciwKICBELUJ1cywgdWRldiwgc2NyaXB0
ZWQgc3lzdGVtY3RsIGNhbGwsIC4uLikuCuKAoiBJbiBjYXNlIG9mIHRlbXBsYXRlIHVuaXRzLCB0
aGUgdW5pdCBpcyBtZWFudCB0byBiZSBlbmFibGVkIHdpdGggc29tZQogIGluc3RhbmNlIG5hbWUg
c3BlY2lmaWVkLgpDcmVhdGVkIHN5bWxpbmsgJy9ldGMvc3lzdGVtZC91c2VyL3NvY2tldHMudGFy
Z2V0LndhbnRzL3BpcGV3aXJlLXB1bHNlLnNvY2tldCcg4oaSICcvdXNyL2xpYi9zeXN0ZW1kL3Vz
ZXIvcGlwZXdpcmUtcHVsc2Uuc29ja2V0Jy4KQ3JlYXRlZCBzeW1saW5rICcvZXRjL3N5c3RlbWQv
dXNlci9zb2NrZXRzLnRhcmdldC53YW50cy9waXBld2lyZS5zb2NrZXQnIOKGkiAnL3Vzci9saWIv
c3lzdGVtZC91c2VyL3BpcGV3aXJlLnNvY2tldCcuCkNyZWF0ZWQgc3ltbGluayAnL2V0Yy9zeXN0
ZW1kL3VzZXIvcGlwZXdpcmUtc2Vzc2lvbi1tYW5hZ2VyLnNlcnZpY2UnIOKGkiAnL3Vzci9saWIv
c3lzdGVtZC91c2VyL3dpcmVwbHVtYmVyLnNlcnZpY2UnLgpDcmVhdGVkIHN5bWxpbmsgJy9ldGMv
c3lzdGVtZC91c2VyL3BpcGV3aXJlLnNlcnZpY2Uud2FudHMvd2lyZXBsdW1iZXIuc2VydmljZScg
4oaSICcvdXNyL2xpYi9zeXN0ZW1kL3VzZXIvd2lyZXBsdW1iZXIuc2VydmljZScuCkNyZWF0ZWQg
c3ltbGluayAnL2V0Yy9zeXN0ZW1kL3VzZXIvZ3JhcGhpY2FsLXNlc3Npb24tcHJlLnRhcmdldC53
YW50cy94ZGctdXNlci1kaXJzLnNlcnZpY2UnIOKGkiAnL3Vzci9saWIvc3lzdGVtZC91c2VyL3hk
Zy11c2VyLWRpcnMuc2VydmljZScuChtbNzNHWyAbWzFtG1szMm1ET05FG1szOTs0OW0bW20PIF0N
ClJ1bm5pbmcgcG9zdGluc3RhbGwgc2NyaXB0IFs2Ni1zZXR1cC1tZG1vbi5zaF0gG1s3M0dbIBtb
MW0bWzMybURPTkUbWzM5OzQ5bRtbbQ8gXQ0KUnVubmluZyBwb3N0aW5zdGFsbCBzY3JpcHQgWzkw
LWNsZWFuLnNoXSAbWzczR1sgG1sxbRtbMzJtRE9ORRtbMzk7NDltG1ttDyBdDQpSdW5uaW5nIHBv
c3RpbnN0YWxsIHNjcmlwdCBbOTAtZmlyc3R0aW1lLnNoXSAbWzczR1sgG1sxbRtbMzJtRE9ORRtb
Mzk7NDltG1ttDyBdDQpSdW5uaW5nIHBvc3RpbnN0YWxsIHNjcmlwdCBbOTAtcGtnLnNoXSBVc2lu
ZyBNZWRpYSBtb3VudCBwb2ludCAvbWVkaWEvQUxUTGludXgvCklkZW50aWZ5aW5nLi4gWzczMzBi
MmZmOGY2MDI2NTY5YTdiMTg0Njk0MzBmNzBiLTJdClNjYW5uaW5nIE1lZGlhIGZvciBpbmRleCBm
aWxlcy4uICBGb3VuZCAxIHBhY2thZ2UgaW5kZXhlcyBhbmQgMCBzb3VyY2UgaW5kZXhlcy4KRm91
bmQgbGFiZWwgJ0FMVCBFZHVjYXRpb24gMTEuMiB4ODZfNjQgYnVpbGQgMjAyNi0wOS0wOScKVGhp
cyBNZWRpYSBpcyBjYWxsZWQ6CiAnQUxUIEVkdWNhdGlvbiAxMS4yIHg4Nl82NCBidWlsZCAyMDI2
LTA5LTA5JwoNUmVhZGluZyBJbmRleGVzLi4uIDAlDQ1SZWFkaW5nIEluZGV4ZXMuLi4gRG9uZQ0K
V3JpdGluZyBuZXcgc291cmNlIGxpc3QKU291cmNlIExpc3QgZW50cmllcyBmb3IgdGhpcyBNZWRp
YSBhcmU6CnJwbSBjZHJvbTpbQUxUIEVkdWNhdGlvbiAxMS4yIHg4Nl82NCBidWlsZCAyMDI2LTA5
LTA5XS8gQUxUTGludXggbWFpbgpSZXBlYXQgdGhpcyBwcm9jZXNzIGZvciB0aGUgcmVzdCBvZiB0
aGUgTWVkaWEgaW4geW91ciBzZXQuChtbNzNHWyAbWzFtG1szMm1ET05FG1szOTs0OW0bW20PIF0N
ClJ1bm5pbmcgcG9zdGluc3RhbGwgc2NyaXB0IFs5MC1ydW5sZXZlbDUuc2hdIBtbNzNHWyAbWzFt
G1szMm1ET05FG1szOTs0OW0bW20PIF0NClJ1bm5pbmcgcG9zdGluc3RhbGwgc2NyaXB0IFs5NS1h
dXRvZG9tYWluLnNoXSAbWzczR1sgG1sxbRtbMzJtRE9ORRtbMzk7NDltG1ttDyBdDQpSdW5uaW5n
IHBvc3RpbnN0YWxsIHNjcmlwdCBbOTUtZGNvbmYtdXBkYXRlXSAbWzczR1sgG1sxbRtbMzJtRE9O
RRtbMzk7NDltG1ttDyBdDQpSdW5uaW5nIHBvc3RpbnN0YWxsIHNjcmlwdCBbOTktb25saW5lLXJl
cG8uc2hdIBtbNzNHWyAbWzFtG1szMm1ET05FG1szOTs0OW0bW20PIF0NCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>