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

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

    <bug>
          <bug_id>41078</bug_id>
          
          <creation_ts>2021-10-08 17:08:42 +0300</creation_ts>
          <short_desc>regular: загрузка по сети не работает</short_desc>
          <delta_ts>2021-10-18 16:07:19 +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>make-initrd-bootchain</component>
          <version>unstable</version>
          <rep_platform>aarch64</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>critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Sheplyakov">asheplyakov</reporter>
          <assigned_to name="Leonid Krivoshein">klark</assigned_to>
          <cc>antohami</cc>
    
    <cc>iv</cc>
    
    <cc>klark</cc>
    
    <cc>nir</cc>
    
    <cc>sin</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>203597</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-08 17:08:42 +0300</bug_when>
    <thetext>Образ http://nightly.altlinux.org/sisyphus-aarch64/snapshots/20211006/regular-xfce-20211006-aarch64.iso (sha256: 816c4c72cecf473184e0d00906213cb6a76cb2a43570875eeff4211ef2531b9d)
Действую по образу и подобию https://www.altlinux.org/NetInstall#%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%B0%D1%8F_%D0%B8%D0%BD%D1%81%D1%82%D0%B0%D0%BB%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_ALT_Linux_9.0

Наблюдаю: 
1. UEFI успешно загружает и запускает iPXE.
2. iPXE отображает меню и грузит выбранное ядро и initramfs.
3. Ядро запускается, запускает /init в initramfs
4. init несколько минут тупит (нет никаких признаков того, что он пытается поднять сеть),
   а потом пишет &quot;rdshell: The waiting time expired!&quot;, и запускает shell

$ cat /proc/cmdline
vmlinuz initrd=initrd.img automatic=http,nrtwork:dhcp,server:10.XX.XX.XX,directory:/altlinux/regular-xfce-20211006-aarch64.iso stagename=live earlycon=uart8250,mmio32,0x20230000 audit=0 console=ttyS0,115200n8 ignore_loglevel</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203598</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-08 17:14:02 +0300</bug_when>
    <thetext>Сетевые интерфейсы есть:

$ ip -o link
1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 65535 qdisc noqueue qlen 1000\ link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: &lt;BROADCAST,MULTICAST&gt; mtu 1500 qdisc noop qlen 1000\ link/ether 00:26:58:XX:XX:XX brd ff:ff:ff:ff:ff:ff
3: eth1: &lt;BROADCAST,MULTICAST&gt; mtu 1500 qdisk noop qlen 1000\ link/ether 00:26:58:XX:XX:XX brd ff:ff:ff:ff:ff:ff</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203599</commentid>
    <comment_count>2</comment_count>
      <attachid>9786</attachid>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-08 17:22:06 +0300</bug_when>
    <thetext>Created attachment 9786
Полный лог загрузки</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203600</commentid>
    <comment_count>3</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2021-10-08 17:23:41 +0300</bug_when>
    <thetext>Образ без propagator. С alt-bootchain. Подписываю на багу Леонида.

&gt;automatic=http,nrtwork:dhcp,server:10.XX.XX.XX,directory:/altlinux/regular-xfce-20211006-aarch64.iso stagename=live earlycon=uart8250,mmio32,0x20230000 audit=0 console=ttyS0,115200n8 ignore_loglevel

1. Тут опечатка &apos;nrtwork&apos;.
2. Попробуйте просто выбрать метод http в специальном меню и поотвечать на вопросы. Загрузится или нет? Чтобы работала последовательная консоль в bootchain нужно дополнительно указать параметр nottys. Иначе будет на tty2, которого может и не быть физически.
3. Аргументы командной строки должны быть другие. Сейчас буду искать какие. Если Леонид меня не опередит.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203601</commentid>
    <comment_count>4</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2021-10-08 17:46:39 +0300</bug_when>
    <thetext>Я так понимаю, надо перед  automatic= вставить
root=bootchain bootchain=fg,altboot
и добавить
nottys
чтобы bootchain рисовал диалоги при необходимости на последовательную консоль.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203603</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-08 18:06:03 +0300</bug_when>
    <thetext>(In reply to Антон Мидюков from comment #4)

&gt; Я так понимаю, надо перед  automatic= вставить
&gt; root=bootchain bootchain=fg,altboot

Не помогло. Рисует диалог &quot;Please choose the installation method&quot; вместо того, чтобы молча загрузиться откуда указано.

&gt; и добавить nottys чтобы bootchain рисовал диалоги при необходимости на последовательную консоль.

Ещё один баг (необходимость два и более раза указывать, что консоль вот там-то)

&gt; В отличие от других методов, для загрузки образа в /dev/ramN важно правильно
&gt; указать в параметре ядра ramdisk_size размер всего ISO-образа в килобайтах.

Ещё один баг. А само оно посмотреть в Content-Length не может?

А не вернуть ли в регулярки пропагатор, пока разработчики bootchain устраняют эти недоработки?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203604</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-08 18:11:42 +0300</bug_when>
    <thetext>(In reply to Alexey Sheplyakov from comment #5)
&gt; (In reply to Антон Мидюков from comment #4)
&gt; 
&gt; &gt; Я так понимаю, надо перед  automatic= вставить
&gt; &gt; root=bootchain bootchain=fg,altboot
&gt; 
&gt; Не помогло. Рисует диалог &quot;Please choose the installation method&quot; вместо
&gt; того, чтобы молча загрузиться откуда указано.

Более того, после выбора в меню &quot;HTTP server&quot;, следует неудачная попытка поднять сеть, которая завершается сообщением

&quot;Can&apos;t bridge up network interface. Try with other network settings, wired connection and/or cable&quot;

Что за bridge, и зачем он его пытается сделать?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203605</commentid>
    <comment_count>7</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2021-10-08 18:26:33 +0300</bug_when>
    <thetext>(In reply to Alexey Sheplyakov from comment #5)
&gt; &gt; В отличие от других методов, для загрузки образа в /dev/ramN важно правильно
&gt; &gt; указать в параметре ядра ramdisk_size размер всего ISO-образа в килобайтах.
&gt; 
&gt; Ещё один баг. А само оно посмотреть в Content-Length не может?
&gt; 

ramdisk_size можно вообще не указывать. Тогда в tmpfs будет грузить.

&gt;&gt; и добавить nottys чтобы bootchain рисовал диалоги при необходимости на последовательную консоль.
&gt;
&gt;Ещё один баг (необходимость два и более раза указывать, что консоль вот там-то)

Полностью согласен. Это нужно исправлять.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203606</commentid>
    <comment_count>8</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-08 19:08:22 +0300</bug_when>
    <thetext>bootchain и altboot не поднимают сеть, этим занимается make-initrd. Он это делает лучше пропагатора, так как понимает IPv4, IPv6 и дюальный стек. Поэтому в altboot пока не тащили свою поддержку сети.

Чем говорить о неготовности altboot, спросили бы, как правильно решается ваша задача. Она решается в два этапа:

1. На стенде в конфигурации iPXE используйте что-то вроде ${net0/mac}.

iPXE&gt; show net0/mac
net0/mac:hex = 52:54:00:12:34:56

2. Используйте в параметрах загрузки ifname=... согласно README фичи network от make-initrd.

http://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=make-initrd/features/network/README.md;h=98a592f34120b23c6d43908471c028c6f7bf9a63;hb=151885481085a70415062457abbac96a3f097f50

Если это объединить, загрузчик iPXE пропишет MAC-адрес выбранного интерфейса в /proc/cmdline, make-initrd создаст udev-правило 60-persistent до поднятия сети в stage1 для того интерфейса, который вам важен.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203609</commentid>
    <comment_count>9</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-08 19:39:13 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #4)
&gt; Я так понимаю, надо вставить
Да, надо просто добавить в script.ipxe на сервере что-то вроде:
root=bootchain bootchain=fg,altboot nottys ifname=eth0:${net0/mac} ip=eth0:dhcp4

(Ответ для Alexey Sheplyakov на комментарий #5)
&gt; Ещё один баг (необходимость два и более раза указывать, что консоль вот
&gt; там-то)
Нет, это тоже не баг. Он не указывает, где консоль. nottys говорит не использовать tty&apos;и. Ядерный параметр console=... имеет очень много вариантов написания значений, далеко не ограничиваясь ttyS0. Если подскажете, как по его значениям (или иной способ) однозначно определять отсутствие tty&apos;ов на шеле, я могу сделать такое улучшение, что nottys будет включаться ещё и внутренне.

&gt; Ещё один баг. А само оно посмотреть в Content-Length не может?
Оно так всегда и делает, если не указывать imgsize, а если опустить ramdisk_size, то грузит образ не в /dev/ramN, а на tmpfs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203612</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-08 20:06:36 +0300</bug_when>
    <thetext>(In reply to Leonid Krivoshein from comment #8)

&gt; Чем говорить о неготовности altboot, 

Критерий очень простой. Если мне что-то пришлось менять в работающей инфрастурктуре - значит, не готов.

&gt; 1. На стенде в конфигурации iPXE используйте что-то вроде ${net0/mac}.
&gt; 
&gt; iPXE&gt; show net0/mac
&gt; net0/mac:hex = 52:54:00:12:34:56

Это не работает, если интерфейсов несколько. Ничто не гарантирует, что
интерфейс, с которого загрузились, называется именно net0.

&gt; 2. Используйте в параметрах загрузки ifname=... согласно README фичи network
&gt; от make-initrd.

Шнурок вставлен ровно в один интерфейс. Зачем мне гадать, какой там у него mac, или как он называется в iPXE? Этот скрипт мог бы и сам пройтись по /sys/class/net, и проверить, у кого carrier=1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203613</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-08 20:22:20 +0300</bug_when>
    <thetext>(In reply to Leonid Krivoshein from comment #9)
&gt; (Ответ для Alexey Sheplyakov на комментарий #5)
&gt; &gt; Ещё один баг (необходимость два и более раза указывать, что консоль вот
&gt; &gt; там-то)
&gt; Нет, это тоже не баг. Он не указывает, где консоль. nottys говорит не
&gt; использовать tty&apos;и. Ядерный параметр console=... имеет очень много вариантов
&gt; написания значений, далеко не ограничиваясь ttyS0. Если подскажете, как по
&gt; его значениям (или иной способ) однозначно определять отсутствие tty&apos;ов на
&gt; шеле, я могу сделать такое улучшение, что nottys будет включаться ещё и
&gt; внутренне.

Варианты:

1. Всегда использовать для взаимодействия с пользователем устройство /dev/console
2. Если в командной строке ядра есть параметр console=..., (не важно, что именно), то автоматически включать nottys. 
3. При наличии в командной строке ядра параметра console=... (не важно, что именно)
   запустить screen на /dev/console, и в одном экране взаимодействовать с пользователем, а в другой - показывать логи.


&gt; &gt; Ещё один баг. А само оно посмотреть в Content-Length не может?
&gt; Оно так всегда и делает, если не указывать imgsize, а если опустить
&gt; ramdisk_size, то грузит образ не в /dev/ramN, а на tmpfs.

Значит, это баг документации.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203614</commentid>
    <comment_count>12</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-08 20:29:18 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #10)
&gt; Это не работает, если интерфейсов несколько. Ничто не гарантирует, что
&gt; интерфейс, с которого загрузились, называется именно net0.
Всё работает, см. также: https://ipxe.org/cmd/iflinkwait
Обычно здесь используют netX или bootif, надо читать мануал ipxe.

&gt; Шнурок вставлен ровно в один интерфейс. Зачем мне гадать, какой там у него
&gt; mac, или как он называется в iPXE? Этот скрипт мог бы и сам пройтись по
&gt; /sys/class/net, и проверить, у кого carrier=1
Не надо гадать, просто сконфигурируйте автоматику один раз. Во всех дистрибутивах это используется для автозагрузки с выбранного в iPXE интерфейса, ищите по BOOTIF=...

В make-initrd за привязку переданного загрузчиком мак-адреса к конкретному имени интерфейса отвечает параметр ifname=..., это позволяет не решать второй раз задачу, которая уже была решена на этапе iPXE-загрузки.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203615</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-08 20:35:19 +0300</bug_when>
    <thetext>(In reply to Leonid Krivoshein from comment #8)

&gt; 1. На стенде в конфигурации iPXE используйте что-то вроде ${net0/mac}.
&gt; 
&gt; iPXE&gt; show net0/mac
&gt; net0/mac:hex = 52:54:00:12:34:56
&gt; 
&gt; 2. Используйте в параметрах загрузки ifname=... согласно README фичи network
&gt; от make-initrd.
&gt; 
&gt; http://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;
&gt; f=make-initrd/features/network/README.md;
&gt; h=98a592f34120b23c6d43908471c028c6f7bf9a63;
&gt; hb=151885481085a70415062457abbac96a3f097f50
&gt; 
&gt; Если это объединить, загрузчик iPXE пропишет MAC-адрес выбранного интерфейса
&gt; в /proc/cmdline, make-initrd создаст udev-правило 60-persistent до поднятия
&gt; сети в stage1 для того интерфейса, который вам важен.

Тупит с минуту, потом показывает диалог &quot;Please choose installation method&quot;,
несмотря на наличие в cmdline

automatic=method:http,server:10.XX.XX.XX,directory:/altlinux/regular-xfce-20211006-aarch64.iso 

При выборе &quot;HTTP&quot; пытается поднять интерфейс, но не может.

&gt; Чем говорить о неготовности altboot,

Я потратил полдня на его отладку, и решил, что пусть лучше этим занимается автор(ы).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203616</commentid>
    <comment_count>14</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-08 20:39:31 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #11)
&gt; (In reply to Leonid Krivoshein from comment #9)
&gt; &gt; Нет, это тоже не баг. Он не указывает, где консоль. nottys говорит не
&gt; &gt; использовать tty&apos;и. Ядерный параметр console=... имеет очень много вариантов
&gt; &gt; написания значений, далеко не ограничиваясь ttyS0. Если подскажете, как по
&gt; &gt; его значениям (или иной способ) однозначно определять отсутствие tty&apos;ов на
&gt; &gt; шеле, я могу сделать такое улучшение, что nottys будет включаться ещё и
&gt; &gt; внутренне.
&gt; Варианты:
&gt; 
&gt; 1. Всегда использовать для взаимодействия с пользователем устройство
&gt; /dev/console
Не исключаю, что мы к этому вернёмся. Но есть другой баг, где именно мелькание диалогов на большинстве конфигураций просили убрать.

&gt; 2. Если в командной строке ядра есть параметр console=..., (не важно, что
&gt; именно), то автоматически включать nottys. 
Плохой вариант, если почитать документацию по этому параметру. Например, там может быть tty2.

&gt; 3. При наличии в командной строке ядра параметра console=... (не важно, что
&gt; именно)
&gt;    запустить screen на /dev/console, и в одном экране взаимодействовать с
&gt; пользователем, а в другой - показывать логи.
Это интересней и похоже на то, что есть сейчас -- там используется openvt, а другого простого способа надёжно сохранять/восстанавливать на всех типах терминалов состояние консоли я не нашёл.

&gt; &gt; &gt; Ещё один баг. А само оно посмотреть в Content-Length не может?
&gt; &gt; Оно так всегда и делает, если не указывать imgsize, а если опустить
&gt; &gt; ramdisk_size, то грузит образ не в /dev/ramN, а на tmpfs.
&gt; 
&gt; Значит, это баг документации.
Документация ещё не публиковалась, но да, фича появилась недавно, после написания черновика.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203617</commentid>
    <comment_count>15</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-08 20:41:09 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #13)
&gt; &gt; Чем говорить о неготовности altboot,
&gt; Я потратил полдня на его отладку, и решил, что пусть лучше этим занимается
&gt; автор(ы).
Ещё раз: altboot не поднимает сеть, её поднимает make-initrd. Нужно просто научиться им пользоваться.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203618</commentid>
    <comment_count>16</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-08 20:56:33 +0300</bug_when>
    <thetext>Есть ещё совсем простой вариант, добавить в загрузку только ip=dhcp или ip=dhcp4, без ifname= и заморочек с iPXE, тогда фича network make-initrd сама найдёт и поднимет какой-нибудь интерфейс. altboot всё равно какой, но если make-initrd не поднимает сеть с двумя интерфейсами на Байкале, имеет смысл перевесить этот баг на него. Если мне дадут Байкал-М, я тоже могу посмотреть.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203619</commentid>
    <comment_count>17</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-08 21:44:19 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #6)
&gt; &quot;Can&apos;t bridge up network interface. Try with other network settings, wired
&gt; connection and/or cable&quot;
&gt; 
&gt; Что за bridge, и зачем он его пытается сделать?
Там нет никакого бриджа, данное сообщение google переводит как:

&quot;Не удается подключить сетевой интерфейс. Попробуйте использовать другие параметры сети, проводное соединение и / или кабель.&quot;

&gt; Этот скрипт мог бы и сам пройтись по
&gt; /sys/class/net, и проверить, у кого carrier=1
Насколько я помню, фича network make-initrd пытается поднять только те интерфейсы, на которых есть несущая. altboot лишь смотрит, удалось ли поднять хоть какую-то сеть за 16 секунд. Если на Байкалах этого таймаута недостаточно, можно повторно пойти по тому же пути, выбрав загрузку по http и в будущем увеличить таймаут специально для Байкалов. Также ускоряет поднятие сети ip=dhcp4, т.к. дюальный стек поднимается дольше, особенно если нет IPv6. altboot сейчас работает только с IPv4, как и propagator.

В логе загрузки вижу только неправильные параметры и соответствующее сообщение от make-initrd:

Network up (lo):  [ DONE ]

Предлагаю внести изменения на стенде и приложить лог с правильными параметрами. Не исключаю, что при сборке этого образа в stage1 не попало что-то нужное. Вы пробовали с добавлением rdshell поднять сеть руками или по DHCP?

(Ответ для Alexey Sheplyakov на комментарий #10)
&gt; Критерий очень простой. Если мне что-то пришлось менять в работающей
&gt; инфрастурктуре - значит, не готов.
Ошибочный критерий. Если инфрастурктура не готова к изменениям в сизифе, надо её подтягивать. Она может быть более универсальной.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203625</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-09 16:45:36 +0300</bug_when>
    <thetext>(In reply to Leonid Krivoshein from comment #16)
&gt; Есть ещё совсем простой вариант, добавить в загрузку только ip=dhcp или
&gt; ip=dhcp4, без ifname= и заморочек с iPXE, тогда фича network make-initrd
&gt; сама найдёт и поднимет какой-нибудь интерфейс. altboot всё равно какой, но
&gt; если make-initrd не поднимает сеть с двумя интерфейсами на Байкале, имеет
&gt; смысл перевесить этот баг на него. Если мне дадут Байкал-М, я тоже могу
&gt; посмотреть.

Да хоть так, хоть эдак.

[   17.691618] Micrel KSZ9031 Gigabit PHY stmmac-1:03: *-skew-ps values should be used only with phy-mode = &quot;rgmii&quot;
[   17.705622] baikal-dwmac 30240000.eth0 eth0: PHY [stmmac-1:03] driver [Micrel KSZ9031 Gigabit PHY] (irq=POLL)
[   17.715799] baikal-dwmac 30240000.eth0 eth0: Register MEM_TYPE_PAGE_POOL RxQ-0
[   17.723342] PHY re-inited for Baikal DWMAC
[   17.727466] dwmac1000: Master AXI performs fixed burst length
[   17.733243] baikal-dwmac 30240000.eth0 eth0: No Safety Features support found
[   17.740418] baikal-dwmac 30240000.eth0 eth0: No MAC Management Counters available
[   17.744631] usb 3-4: new high-speed USB device number 3 using xhci-hcd
[   17.747922] baikal-dwmac 30240000.eth0 eth0: IEEE 1588-2008 Advanced Timestamp supported
[   17.762771] baikal-dwmac 30240000.eth0 eth0: registered PTP clock
[   17.769179] baikal-dwmac 30240000.eth0 eth0: configuring for phy/rgmii-id link mode

[skipped]

[   33.944743] Network up (eth0):                                      [ DONE ]
[   34.004595] Network up (lo):                                        [ DONE ]
[   34.123040] Starting bootchained service:                           [ DONE ]
[   42.499955] fbcon: Taking over console
[   42.503987] Console: switching to colour frame buffer device 240x67

Дальше следует противно мигающий экран со странным сообщением &quot;bridging up network&quot;, а секунд через 30 - не менее странное сообщение &quot;can&apos;t bridge up network&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203626</commentid>
    <comment_count>19</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-09 17:04:54 +0300</bug_when>
    <thetext>(In reply to Leonid Krivoshein from comment #17)
&gt; (Ответ для Alexey Sheplyakov на комментарий #6)
&gt; &gt; &quot;Can&apos;t bridge up network interface. Try with other network settings, wired
&gt; &gt; connection and/or cable&quot;
&gt; &gt; 
&gt; &gt; Что за bridge, и зачем он его пытается сделать?
&gt; Там нет никакого бриджа, данное сообщение google переводит как:

&quot;не смог подключить сетевой интерфейс&quot; - это &quot;couldn&apos;t BRING up (the) network interface&quot;. А &quot;can&apos;t bridge up network interface&quot; - это бессмысленный набор слов.

А ещё б неплохо написать, какой интерфейс попытались поднять (MAC, имя), и что там не получилось (нет несущей, не получили адрес по DHCP).

&gt; (Ответ для Alexey Sheplyakov на комментарий #10)
&gt; &gt; Критерий очень простой. Если мне что-то пришлось менять в работающей
&gt; &gt; инфрастурктуре - значит, не готов.
&gt; Ошибочный критерий. Если инфрастурктура не готова к изменениям в сизифе,
&gt; надо её подтягивать.

А пока я буду &quot;подтягивать&quot;, тестированием и отладкой ядер и Xorg займётесь Вы. Верно?

&gt; Она может быть более универсальной.

Может (и должна). Но для этого при разработке критических элементов системы (к которым относится early userspace) хоть немного думать об обратной совместимости. И ломать её только по какой-то веской причине, а не &quot;мы решили не заморачиваться&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203628</commentid>
    <comment_count>20</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-09 18:18:27 +0300</bug_when>
    <thetext>(In reply to Leonid Krivoshein from comment #16)
&gt; Есть ещё совсем простой вариант, добавить в загрузку только ip=dhcp или
&gt; ip=dhcp4, без ifname= и заморочек с iPXE, тогда фича network make-initrd
&gt; сама найдёт и поднимет какой-нибудь интерфейс. altboot всё равно какой, но
&gt; если make-initrd не поднимает сеть с двумя интерфейсами на Байкале, имеет
&gt; смысл перевесить этот баг на него. 



Кажется, понял. 

bootchain-waitnet/data/lib/bootchain/waitnet

 56 if [ ! -s &quot;$NETBOOT_IFNAME&quot; ]; then
 57         IM_ponder_start &quot;[ Bridging up interface... ]&quot;
 58 
 59         n=80
 60         netdev=
 61         ifaces=&apos; &apos;
 62         while [ $n -gt 0 ]; do
 63                 # shellcheck disable=SC2012
 64                 for netdev in $(ls /sys/class/net/) lo; do # [1]
 65                         [ &quot;$netdev&quot; != lo ] ||
 66                                 continue
 67                         [ -r &quot;/sys/class/net/$netdev/flags&quot; ] ||
 68                                 continue
 69                         if [ -n &quot;${ifaces##* $netdev *}&quot; ]; then # WTF?
 70                                 echo add &gt;&quot;/sys/class/net/$netdev/uevent&quot; # НО ЗАЧЕМ?!
 71                                 ifaces=&quot;$ifaces $netdev &quot;
 72                         fi
 73                         ip -4 addr show dev &quot;$netdev&quot; 2&gt;/dev/null |
 74                                 grep -qs &apos;    inet &apos; &amp;&amp; break 2 ||: # [2]
 75                 done
 76                 netdev=
 77                 sleep 0.2
 78                 n=$(( $n - 1 ))
 79         done

0. Допустим изначально было 2 интерфейса - eth0, eth1. И так сложилось,
   что внутренний цикл начался с eth0.

1. В сторке 70 (отмеченной моим комментарием &quot;НО ЗАЧЕМ?!&quot;) генерится uevent.
   Который затем обработает udev, и что-то запустит. Например, переименует интерфейс.
   Или заново запустит получение IP адреса. То есть имеем гонку между проверкой наличия
   на интерфейсе (IPv4) адреса и переименованием/перенастройкой интерфейса.
   Ну и присваевается ifaces=&quot; eth0 &quot;

2. Если udev успел переименовать интерфейс до проверки (отмеченной моим комментарием [2]),
   то внутренний цикл продолжится. И сгенерит ещё один uevent, уже для eth1.
   ifaces=&quot; eth0 eth1 &quot;

3. При следующем заходе во внутренний цикл (строка 64) может оказаться уже 3 интерфейса,
   например eth2, eth0, eth1 (потому что &quot;старые&quot; интерфейсы исчезают не сразу).
   И обработка начнётся с netdev=eth2. Условие [ -n &quot;${ifaces##* $netdev *}&quot; ] сработает,
   и снова запустится uevent, и снова переименование, и снова uevent, ...

4. Это безобразие закончится только по таймауту, и тут-то окажется, что IPv4 адресов на интерфейсах таки действительно нет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203629</commentid>
    <comment_count>21</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-09 18:44:51 +0300</bug_when>
    <thetext>$ cat /etc/network/ifaces/eth0/iftab 
eth0 mac 00:26:58:42:93:79

$ cat /proc/cmdline
vmlinuz initrd=initrd.img rdshell root=bootchain bootchain=fg,altboot ip=eth0:dhcp4 ifname=eth0:00:26:58:42:93:7a automatic=method:http,network:dhcp,server:10.42.0.111,directory:/altlinux/regular-xfce-20211006-aarch64.iso stagename=live earylcon=uart8250,mmio32,0x20230000 audit=0 console=ttyS0,115200n8 ignore_loglevel

В командной строке ifname=eth0:00:26:58:42:93:7a, но кому интересны такие мелочи?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203630</commentid>
    <comment_count>22</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-09 19:06:31 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #19)
&gt; неплохо написать, какой интерфейс попытались поднять (MAC, имя)
Так я уже говорил, что bootchain/altboot не поднимают интерфейсы, он не знает, что пытался поднять make-initrd и почему ему не удалось этого сделать.

&gt; А пока я буду &quot;подтягивать&quot;, тестированием и отладкой ядер и Xorg займётесь
&gt; Вы. Верно?
Вы сообщаете о проблеме с новым компонентом в Сизифе, не предоставляя нормальной диагностики и требуя его убрать, хотя есть варианты: диагностировать проблему, привести свою инфраструктуру в соответствие новым реалиям, не использовать сизиф, а использовать p9, собирать образы с пропагатором.

&gt; Она может быть более универсальной.
&gt; Может (и должна). Но для этого при разработке критических элементов системы
&gt; (к которым относится early userspace) хоть немного думать об обратной
&gt; совместимости.
Совместимость сохранена. Можете изложить по пунктам обратное? Введение новых параметров не относится к совместимости. ip, ifname -- то, что было уже пару лет в make-initrd. Да, фича network поднимает сеть иначе, нежели это делает propagator.

&gt; echo add &gt;&quot;/sys/class/net/$netdev/uevent&quot; # НО ЗАЧЕМ?!
Таков внутренний механизм make-initd вызова ранее установленного обработчика. Обработчик находится в коде фичи network. Он лишь пытается сконфигурировать интерфейс, согласно переданным через /proc/cmdline параметрам.

&gt; Кажется, понял
Уже предлагал ранее поднять сеть руками или с помощью udhcpc, для этого не нужны bootchain, altboot, просто добавьте rdshell к параметрам загрузки. Также добавьте что-нибудь типа ip=dhcp4. Куда воткнут кабель -- неважно. Важно показать вывод ip a. waitnet смотрит именно ip a на всех интерфейсах, которые сконфигурированы в течении 16 секунд. Второе, что предлагалось, предоставить журнал загрузки с правильными параметрами загрузки, это не только dmesg, но и /var/log/bootchained.log. Вот из этого уже можно будет сделать какие-то выводы.

Все ваши догадки по пунктам исходят из ошибочных предположений типа &quot;Например, переименует интерфейс.&quot; вместо того, чтобы посмотреть код фичи, которая в данном случае дёргается. udev-правило переименования интерфейса в ней добавляется на более раннем этапе и только при наличии в /proc/cmdline параметра ifname= с конкретным именем и MAC-адресом.

(Ответ для Alexey Sheplyakov на комментарий #21)
&gt; ip=eth0:dhcp4 ifname=eth0:00:26:58:42:93:7a
&gt; В командной строке ifname=eth0:00:26:58:42:93:7a, но кому интересны такие
&gt; мелочи?
Да, вот это уже интересней. Могли ли на это повлиять последние изменения вокруг дотаскивания udev-правил в stage1, не знаю, но проблема тут явно с отработкой udev-правила /etc/udev/rules.d/60-persistent-net.rules. Я бы предложил для начала не использовать каноническое ethN при переименовании.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203631</commentid>
    <comment_count>23</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-09 19:15:04 +0300</bug_when>
    <thetext>Убрал из waitnet генерацию uevent, а заодно и назойливо мигающий диалог.
Убрал из командной строки ifname:

$ cat /proc/cmdline 
vmlinuz initrd=initrd.img rdshell root=bootchain bootchain=fg,altboot ip=dhcp4 automatic=method:http,network:dhcp,server:10.42.0.111,directory:/altlinux/regular-xfce-20211006-aarch64.iso stagename=live earylcon=uart8250,mmio32,0x20230000 audit=0 console=ttyS0,115200n8 ignore_loglevel

Загрузилось, но так медленно! От запуска /init в initramfs до запуска systemd проходит секунд 40 (образ скачивается менее 10 секунд).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203632</commentid>
    <comment_count>24</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-09 19:24:55 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #23)
&gt; Загрузилось, но так медленно! От запуска /init в initramfs до запуска
&gt; systemd проходит секунд 40 (образ скачивается менее 10 секунд).
Вот и приложите журнал загрузки (bootchained.log). Похоже ошибка была потому, что udhcpc не успевает получить настройки за 16 секунд, это вполне может оказаться Байкал-М специфичный баг. Я знал, что загрузка работает вообще без шага waitnet, там дальше идёт аналогичные попытки получить размер образа по протоколу http. Раз выскакивала ошибка на шаге waitnet, значит здесь именно настройки получаются слишком долго. Однако сетевую загрузку на RPi4 неделю назад проверял Антон, и такой проблемы не было.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203633</commentid>
    <comment_count>25</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-09 19:52:41 +0300</bug_when>
    <thetext>(Ответ для Leonid Krivoshein на комментарий #24)
&gt; Вот и приложите журнал загрузки (bootchained.log).
Забыл сказать: чтобы не мучиться, добавьте параметр bc_debug, тогда более информативный журнал загрузки окажется в /var/log/bootchained.log в stage2.

&gt; Похоже ошибка была потому, что udhcpc не успевает получить настройки за 16
&gt; секунд, это вполне может оказаться Байкал-М специфичный баг.
Ещё вчера я такое предположение сделал, сейчас уверен, что в waitnet достаточно просто в 2-3 раза увеличить таймаут. Можете попробовать и убедитесь, что рейсов и безобразия тут нет. Надо перевешивать баг на udhcpc тогда.

&gt; Я знал, что загрузка работает вообще без шага waitnet
Убрать его из цепочки можно в этом месте (для протокола HTTP):
в строке bootchain-altboot/data/lib/altboot/translate.d/100-download#5 нужно убрать &quot;waitnet,&quot;. Но с ним загрузка работает чуть быстрее (проверено). Он нужен ещё и для того, чтобы дёрнуть фичу network на тот случай, если пользователь не указал ничего в /proc/cmdline для настройки сети.

А в итоге я думаю, что должно работать как-то так:
ifname=bootif0:&lt;MAC&gt; ip=bootif0:dhcp4
Возможно, пока с увеличением таймаута для Байкал-М.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203634</commentid>
    <comment_count>26</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-09 20:11:56 +0300</bug_when>
    <thetext>(In reply to Leonid Krivoshein from comment #22)
&gt; (Ответ для Alexey Sheplyakov на комментарий #19)

&gt; Совместимость сохранена. Можете изложить по пунктам обратное? 

Да. Раньше можно было загрузиться с

authomatic=method:http,network:dhcp,server:NN.NN.NN.NN,directory:/path/to/image.iso

а теперь надо указывать какие-то новые параметры, и всё равно они не срабатывают.

&gt; &gt; echo add &gt;&quot;/sys/class/net/$netdev/uevent&quot; # НО ЗАЧЕМ?!
&gt; Таков внутренний механизм make-initd вызова ранее установленного
&gt; обработчика. Обработчик находится в коде фичи network. Он лишь пытается
&gt; сконфигурировать интерфейс, согласно переданным через /proc/cmdline
&gt; параметрам.

Вы запускаете перенастройку интерфейса, и тут же проверяете, есть ли на интерфейсе адрес.
Это гонка. Это баг. udev для этой цели предоставляет udevadm trigger/udevadm settle.
Наверное, и у make-initrd есть какие-то средства синхронизации.

&gt; Все ваши догадки по пунктам исходят из ошибочных предположений типа

Наличие гонки в waitnet - это не догадка, а факт.

&gt; waitnet смотрит именно ip a на всех интерфейсах,
&gt; которые сконфигурированы в течении 16 секунд.

640 килобайт хватит всем, ой, это другое.

&gt; Вы сообщаете о проблеме с новым компонентом в Сизифе, не предоставляя
&gt; нормальной диагностики и требуя его убрать

Я предлагаю вернуть пропагатор. Для этого не обязательно что-то убирать.
Достаточно добавить в initrd.img /sbin/propagator, и запускать его из
/init, если в командной строке не указано root=bootchain, например.

&gt; хотя есть варианты: диагностировать проблему

Времени в сутках 24 часа, и разбираться во всём не выйдет.
Самое главное - зачем заменять компонент, который уже работает.
А если заменять - то зачем на новодел, а не dracut или casper какой-нибудь.

&gt; привести свою инфраструктуру в соответствие новым реалиям

Время, время.

&gt; не использовать сизиф,

А кто ж тогда будет тестировать ядро и Xorg в сизифе?

&gt; собирать образы с пропагатором.

Вот я и предлагаю собирать образы с пропагатором. Если там будет ещё и
bootchain, который можно легко отключить - мне он совершенно не помешает.

&gt; Уже предлагал ранее поднять сеть руками или с помощью udhcpc

Поднимается. И что? Мне автоматическая загрузка нужна.
А так-то руками я и SD-карту/флешку с нужным образом вставить могу.
(На самом деле нет - легко запутаться).

&gt; Также добавьте что-нибудь типа ip=dhcp4. Куда воткнут кабель -- неважно.
&gt; Важно показать вывод ip a.


&gt; Второе, что предлагалось, предоставить журнал загрузки с правильными параметрами
&gt; загрузки, это не только dmesg, но и /var/log/bootchained.log.

До него не дотянешься. С dmesg проще - я его из UART консоли скопировал.
А как можно пропросить bootchain писать логи в /dev/ttyprintk?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203637</commentid>
    <comment_count>27</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-09 20:23:00 +0300</bug_when>
    <thetext>(In reply to Leonid Krivoshein from comment #24)
&gt; (Ответ для Alexey Sheplyakov на комментарий #23)
&gt; &gt; Загрузилось, но так медленно! От запуска /init в initramfs до запуска
&gt; &gt; systemd проходит секунд 40 (образ скачивается менее 10 секунд).
&gt; Вот и приложите журнал загрузки (bootchained.log).

# ls -la /var/log/bootchained.log
ls: cannot access &apos;/var/log/bootchained.log&apos;: No such file or directory

&gt; Похоже ошибка была потому, что udhcpc не успевает получить настройки за 16 секунд,

А что гарантирует, что dhcp *сервер* всегда ответит за 16 секунд?
Что-то я в RFC2131 ничего такого не нашёл...

Что гарантирует, что за эти 16 секунд загрузятся модули ядра?

Конечно, нельзя ждать вечно, и какой-то таймаут надо задать.
Но 16 секунд - это явно мало. А кроме того, неполхо бы этот
таймаут сделать настраиваемым.

&gt; это вполне может оказаться Байкал-М специфичный баг.

Факт в том, что для успешной загрузки пришлось выпилить генерацию uevent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203640</commentid>
    <comment_count>28</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-09 21:37:24 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #26)
&gt; &gt; Совместимость сохранена. Можете изложить по пунктам обратное? 
&gt; Да. Раньше можно было загрузиться с
&gt; authomatic=method:http,network:dhcp,server:NN.NN.NN.NN,directory:/path/to/
&gt; image.iso
Пропагатор никогда не умел загружаться с не распакованных ISO по FTP/HTTP. Эту новую &quot;хотелку&quot; мы реализовали почти одновременно. И о какой несовместимости тут речь? Замените altboot пропагатором и он будет работать с указанными параметрами. При сетевой загрузке параметры разово задаются на сервере, так что указание новых параметров -- не проблема, пропагатор их не смотрит.

&gt; Вы запускаете перенастройку интерфейса, и тут же проверяете, есть ли на
&gt; интерфейсе адрес. Это гонка. Это баг.
Всё не так, а как -- я уже объяснил выше, далее смотрите код.

&gt; Наличие гонки в waitnet - это не догадка, а факт.
Это очень легко доказать, увеличив таймаут в два-три раза. При гонке увеличение таймаута ничего не даст. Ещё вчера предлагал пройтись по тому же пути второй раз. Этот диалог и есть ручное увеличение таймаута.

&gt; Я предлагаю вернуть пропагатор.
Я же не против... после закрытия всех его багов на массовых архитектурах, которые уже закрывает altboot. Сделаете?

&gt; Достаточно добавить в initrd.img /sbin/propagator, и запускать его из
&gt; /init, если в командной строке не указано root=bootchain, например.
Да вы легко можете собрать образ без altboot/bootchain, откатив пару коммитов. Пропагатор вообще не смотрит на root=..., у него свой набор аргументов. Они друг другу не мешают.

&gt; Самое главное - зачем заменять компонент, который уже работает.
Видимо вы не в курсе. Ещё в 2007 все разработчики пришли к тому, что это необходимо сделать.

&gt; А если заменять - то зачем на новодел, а не dracut или casper какой-нибудь.
make-initrd -- наш, их ровестник, и он же в обычной rootfs, dracut уже есть в репозитории, но я взялся сделать связку между make-initrd и нашими stage2.

&gt; Вот я и предлагаю собирать образы с пропагатором. Если там будет ещё и
&gt; bootchain, который можно легко отключить - мне он совершенно не помешает.
Посмотрите код фичи make-initrd-propagator. Вам придётся сделать что-то близкое для реализации своего желания. Потому что сейчас образы с пропагатором работают иначе. Если пропагатор и make-initrd-propagator попадают в образ, то ничего, кроме пропагатора там работать не будет.

&gt; &gt; Уже предлагал ранее поднять сеть руками или с помощью udhcpc
&gt; Поднимается. И что? Мне автоматическая загрузка нужна.
Без диагностики ничего не сделаем.

&gt; До него не дотянешься. С dmesg проще - я его из UART консоли скопировал.
Ещё раз: добавьте параметр bc_debug и файл окажется в stage2 (при успехе загрузки).

&gt; А как можно пропросить bootchain писать логи в /dev/ttyprintk?
Пока я эту возможность специально не добавлял. Но предполагаю, что образ initramfs должен быть собран с конфигом /etc/sysconfig/bootchain, в котором будет прописан BC_LOG_VT=printk. Как это делается на уровне m-p лучше Антона спросить -- он делал крючки для всех переменных bootchain.

(Ответ для Alexey Sheplyakov на комментарий #27)
&gt; Конечно, нельзя ждать вечно, и какой-то таймаут надо задать.
&gt; Но 16 секунд - это явно мало. А кроме того, неполхо бы этот
&gt; таймаут сделать настраиваемым.
Согласен. Можно увеличить специально для Байкал-М. А можно для всех. И можно сделать настраиваемым. Это совсем несложно, так как для других шагов timeout уже можно передавать через automatic=. Но вообще шаг waitnet &quot;времянка&quot; -- я хотел бы его заменить шагом конфигурирования сети с диалогами, этот же просто проверяет готовность сети к работе.

&gt; &gt; это вполне может оказаться Байкал-М специфичный баг.
&gt; Факт в том, что для успешной загрузки пришлось выпилить генерацию uevent.
Он станет таковым лишь после увеличения таймаута. Вот если за 40-60 секунд не будут получены настройки, тогда ДА. Но я в этом сомневаюсь примерно на 100%.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203641</commentid>
    <comment_count>29</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-09 23:54:44 +0300</bug_when>
    <thetext>Алексей, можете попробовать собрать образ с bootchain/altboot из задания #286717. Увеличил таймаут до 48 секунд, исправил сообщения и попытался реализовать другие пожелания, но ещё не проверял. Для использования /dev/ttyprintk спросите Антона Мидюкова, что нужно сделать в m-p, чтобы образ собрался с BC_LOG_VT=printk.

&gt; if [ -n &quot;${ifaces##* $netdev *}&quot; ]; then # WTF?
Это защита от повторного запуска. Если интерфейс появился, waitnet единожды просит make-initrd его поднять. Не факт, что фича network станет его поднимать, это зависит от параметров и наличия несущей. Имя интерфейса добавляется в массив и эта конструкция как раз проверяет, что имени ещё нет в массиве.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203658</commentid>
    <comment_count>30</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-11 10:07:59 +0300</bug_when>
    <thetext>(In reply to Leonid Krivoshein from comment #29)

&gt; &gt; if [ -n &quot;${ifaces##* $netdev *}&quot; ]; then # WTF?
&gt; Это защита от повторного запуска.

Это *попытка* защиты от повторного запуска. Имя интерфейса не обязано быть неизменным.
Лучше использовать какой-то более стабильный идентификатор. MAC адрес, например.
Имя поменяться оно может вследствие обработки uevent (который создаётся строкой ниже) udev&apos;ом.
Например, если в командной строке сказано ifname=foobar:AA:BB:CC:DD:EE:FF, то создаётся соответствующее udev правило.

&gt; Если интерфейс появился, waitnet единожды просит make-initrd его поднять.

Не &quot;если появился&quot;, а &quot;если есть&quot;. &quot;Если появился&quot; таким способом не проверишь.
Это нужно мониторить uevents, и из них выбирать с subsystem==net, action!=remove.
А вообще весть этот цикл подозрительно похож на

udevadm trigger --subsystem=net
udevadm settle --timeout=16

&gt; Не факт, что фича network станет его поднимать, это зависит от параметров и наличия несущей.

Точно так же не факт, что несущая появиться к моменту генерации uevent вручную.
Это надо бы проверять, а потом уж пытаться поднять интерфейс.
А также может оказаться, что адрес на интерфейсе уже есть, и совершенно не нужно его перенастраивать ещё раз.

&gt; Имя интерфейса добавляется в массив и эта конструкция как раз проверяет, что имени ещё нет в массиве.

Это понятно. Но &quot;имени ещё нет в массиве&quot; ничего не гарантирует.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203679</commentid>
    <comment_count>31</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-11 14:51:21 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #30)
&gt; (In reply to Leonid Krivoshein from comment #29)
&gt; &gt; &gt; if [ -n &quot;${ifaces##* $netdev *}&quot; ]; then # WTF?
&gt; &gt; Это защита от повторного запуска.
&gt; Это *попытка* защиты от повторного запуска. Имя интерфейса не обязано быть
&gt; неизменным.
В типичной ситуации с udev да, но тут это работает несколько иначе. Переименования интерфейсов производятся сильно раньше, выше по коду, где в первом if дёргается фича network.

&gt; Лучше использовать какой-то более стабильный идентификатор. MAC адрес,
&gt; например.
На самом деле в этом месте обнаружилась другая ошибка. Так что этот баг позволит закрыть не только вопрос с маленьким таймаутом, но и проблему повторного дёрганья фичи network, она пока на такое не рассчитана, но на Байкале вряд ли именно из-за этого возникла проблема. Поэтому я прошу проверить с заданием, собранным без исправления этой ошибки.

&gt; &gt; Если интерфейс появился, waitnet единожды просит make-initrd его поднять.
&gt; А вообще весть этот цикл подозрительно похож на
Чтобы не смущала отправка event скажу, что до этого тут стоял прямой вызов фичи network, автор make-initrd сказал, что здесь лучше вызывать через event, ему эта машинерия видней. make-initrd сначала устанавливает собственные фильтры и обработчики этих эвентов.

&gt; Точно так же не факт, что несущая появиться к моменту генерации uevent
&gt; вручную.
Это не имеет значения, когда появится, тогда он её и сконфигурирует.

&gt; Это надо бы проверять, а потом уж пытаться поднять интерфейс.
&gt; А также может оказаться, что адрес на интерфейсе уже есть, и совершенно не
&gt; нужно его перенастраивать ещё раз.
Суть этого кода в другом. Он просто ждёт появления адреса на интерфейсе. И он должен разово дёрнуть фичу network, если этого не было сделано ранее. Моя ошибка в том, что при некоторых условиях event может быть отправлен повторно, чего делать нежелательно, но вряд ли критично и вряд ли это влияет на вашу ситуацию, судя по описанию.

В первый раз вы не добавляли нужных параметров в /proc/cmdline и waitnet дёргал фичу network ровно один раз. Также получив ошибку на шаге wiatnet, вы не шли на второй круг, так что фича network не дёргалась второй раз. Когда вы добавили ip=... в /proc/cmdline возникла ошибка, о которой я говорю -- waitnet дважды отправил event для каждого интерфейса. Вы убрали кусок его кода, названный &quot;безобразием&quot;, и эта ошибка тоже ушла вместе с ним. С тем же успехом можно было совсем убрать шаг waitnet, т.к. далее там всё равно происходит многократное обращение к серверу за размером образа.

Сейчас важно понять, является ли найденная ошибка критичной для вашей ситуации и специфичной для Байкал-М. Для этого собрано задание #286717. Потому что даже с этой ошибкой на RPi4 сетевая загрузка работала.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203680</commentid>
    <comment_count>32</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-11 14:55:31 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #30)
&gt; (In reply to Leonid Krivoshein from comment #29)
&gt; &gt; &gt; if [ -n &quot;${ifaces##* $netdev *}&quot; ]; then # WTF?
&gt; &gt; Это защита от повторного запуска.
&gt; Это *попытка* защиты от повторного запуска. Имя интерфейса не обязано быть
&gt; неизменным.
&gt; Лучше использовать какой-то более стабильный идентификатор. MAC адрес,
&gt; например.
Кстати, может быть, надо будет потом посмотреть внимательней точку переименования интерфейса. Судя по описанию, переименование не срабатывало. Возможно по этой причине.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203706</commentid>
    <comment_count>33</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-10-12 12:53:16 +0300</bug_when>
    <thetext>По поводу сбора логов см #41097.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203718</commentid>
    <comment_count>34</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-12 17:31:33 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #33)
&gt; По поводу сбора логов см #41097.
На тему этого и других открытых багов после OSDay договорились с пресейлом, так как нет больше свободных Байкал-М. Пока, чтобы закрывать баги, нужна обратная связь. В комментарии 29 уже спрашивал, повторюсь: задание #286717 решает проблему сетевой загрузки? Если добавить bc_debug к параметрам загрузки после сборки с этим заданием доступен журнал в stage2? Сможете его приложить для понимания проблем с временем загрузки?

Пока у меня не получается сделать рабочую сборку с исправлением большинства озвученных проблем, но я над этим работаю.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203906</commentid>
    <comment_count>35</comment_count>
    <who name="Leonid Krivoshein">klark</who>
    <bug_when>2021-10-18 16:04:02 +0300</bug_when>
    <thetext>(Ответ для Leonid Krivoshein на комментарий #34)
&gt; Пока у меня не получается сделать рабочую сборку с исправлением большинства
&gt; озвученных проблем, но я над этим работаю.
Тестирование показало, что последняя сборка вполне рабочая. Отправил её в Сизиф. Она закроет все три бага. Если что не так, переоткроете тогда.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203909</commentid>
    <comment_count>36</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2021-10-18 16:07:19 +0300</bug_when>
    <thetext>make-initrd-bootchain-0.1.5-alt5 -&gt; sisyphus:

 Fri Oct 15 2021 Leonid Krivoshein &lt;klark@altlinux&gt; 0.1.5-alt5
 - fix netboot problem on very slow hardware (ALT #41078).
 - fix screen blinks in ponder widget (ALT #41096).
 - bootchain-core: adds support for the early console.
 - bootchain-waitnet: increase timeout and fix messages.
 - bootchain: reworked interaction with TTY&apos;s (ALT #41097).
 - bootchain-altboot: adds special actions to the main menu.
 - concatinate bootchain-loop back with the bootchained.
 - bootchain-core: daemon and log renamed to chaind.
 - bootchain-waitnet: bring up interfaces only once.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9786</attachid>
            <date>2021-10-08 17:22:06 +0300</date>
            <delta_ts>2021-10-08 17:22:06 +0300</delta_ts>
            <desc>Полный лог загрузки</desc>
            <filename>netboot.log</filename>
            <type>text/plain</type>
            <size>33667</size>
            <attacher name="Alexey Sheplyakov">asheplyakov</attacher>
            
              <data encoding="base64">cmVndWxhci14ZmNlLTIwMjExMDA2LWFhcmNoNjQuaXNvLmQvYm9vdC92bWxpbnV6Li4uIG9rIApy
ZWd1bGFyLXhmY2UtMjAyMTEwMDYtYWFyY2g2NC5pc28uZC9ib290L2luaXRyZC5pbWcuLi4gb2sg
CkVGSSBzdHViOiBCb290aW5nIExpbnV4IEtlcm5lbC4uLgpFRkkgc3R1YjogbWFjaGluZSBiYWlr
YWwsYmFpa2FsLW06IGZvcmNpbmcga2VybmVsIHJlbG9jYXRpb24gdG8gbG93IGFkZHJlc3MKRUZJ
IHN0dWI6IHJlbG9jYXRpbmcga2VybmVsIHRvIDB4ODEyMDAwMDAKRUZJIHN0dWI6IFVzaW5nIERU
QiBmcm9tIGNvbmZpZ3VyYXRpb24gdGFibGUKRUZJIHN0dWI6IExvYWRlZCBpbml0cmQgZnJvbSBj
b21tYW5kIGxpbmUgb3B0aW9uCkVGSSBzdHViOiBFeGl0aW5nIGJvb3Qgc2VydmljZXMgYW5kIGlu
c3RhbGxpbmcgdmlydHVhbCBhZGRyZXNzIG1hcC4uLgpbICAgIDAuMDAwMDAwXSBCb290aW5nIExp
bnV4IG9uIHBoeXNpY2FsIENQVSAweDAwMDAwMDAwMDAgWzB4NDExZmQwNzNdClsgICAgMC4wMDAw
MDBdIExpbnV4IHZlcnNpb24gNS4xNC45LXVuLWRlZi1hbHQxIChidWlsZGVyQGxvY2FsaG9zdC5s
b2NhbGRvbWFpbikgKGdjYy0xMSAoR0NDKSAxMS4yLjEgMjAyMTA5MTEgKEFMVCBTaXN5cGh1cyAx
MS4yLjEtYWx0MSksIEdOVSBsZCAoR05VIEJpbnV0aWxzKSAyLjM3LjIwMjEwOTI4KSAjMSBTTVAg
VGh1IFNlcCAzMCAyMDoyMjozNyBVVEMgMjAyMQpbICAgIDAuMDAwMDAwXSBNYWNoaW5lIG1vZGVs
OiBCYWlrYWwgRWxlY3Ryb25pY3MgTUJNClsgICAgMC4wMDAwMDBdIHByaW50azogZGVidWc6IGln
bm9yaW5nIGxvZ2xldmVsIHNldHRpbmcuClsgICAgMC4wMDAwMDBdIGVmaTogRUZJIHYyLjcwIGJ5
IEJhaWthbCBFbGVjdHJvbmljcwpbICAgIDAuMDAwMDAwXSBlZmk6IEFDUEkgMi4wPTB4ZmU2ZTAw
MDAgU01CSU9TPTB4ZmU2MjAwMDAgU01CSU9TIDMuMD0weGZlNjAwMDAwIE1FTUFUVFI9MHhmYWM1
ZjExOCBNRU1SRVNFUlZFPTB4ZmE3YzFjMTggClsgICAgMC4wMDAwMDBdIE5VTUE6IE5vIE5VTUEg
Y29uZmlndXJhdGlvbiBmb3VuZApbICAgIDAuMDAwMDAwXSBOVU1BOiBGYWtpbmcgYSBub2RlIGF0
IFttZW0gMHgwMDAwMDAwMDgwMDAwMDAwLTB4MDAwMDAwMGJmZmZmZmZmZl0KWyAgICAwLjAwMDAw
MF0gTlVNQTogTk9ERV9EQVRBIFttZW0gMHhiZmUwM2QzMDAtMHhiZmUwNDJmZmZdClsgICAgMC4w
MDAwMDBdIFpvbmUgcmFuZ2VzOgpbICAgIDAuMDAwMDAwXSAgIERNQSAgICAgIFttZW0gMHgwMDAw
MDAwMDgwMDAwMDAwLTB4MDAwMDAwMDBmZmZmZmZmZl0KWyAgICAwLjAwMDAwMF0gICBETUEzMiAg
ICBlbXB0eQpbICAgIDAuMDAwMDAwXSAgIE5vcm1hbCAgIFttZW0gMHgwMDAwMDAwMTAwMDAwMDAw
LTB4MDAwMDAwMGJmZmZmZmZmZl0KWyAgICAwLjAwMDAwMF0gTW92YWJsZSB6b25lIHN0YXJ0IGZv
ciBlYWNoIG5vZGUKWyAgICAwLjAwMDAwMF0gRWFybHkgbWVtb3J5IG5vZGUgcmFuZ2VzClsgICAg
MC4wMDAwMDBdICAgbm9kZSAgIDA6IFttZW0gMHgwMDAwMDAwMDgwMDAwMDAwLTB4MDAwMDAwMDA4
MGZmZmZmZl0KWyAgICAwLjAwMDAwMF0gICBub2RlICAgMDogW21lbSAweDAwMDAwMDAwODEwMDAw
MDAtMHgwMDAwMDAwMDgxMGJmZmZmXQpbICAgIDAuMDAwMDAwXSAgIG5vZGUgICAwOiBbbWVtIDB4
MDAwMDAwMDA4MTBjMDAwMC0weDAwMDAwMDAwOGZmZmZmZmZdClsgICAgMC4wMDAwMDBdICAgbm9k
ZSAgIDA6IFttZW0gMHgwMDAwMDAwMDkwMDAwMDAwLTB4MDAwMDAwMDA5ZmZmZmZmZl0KWyAgICAw
LjAwMDAwMF0gICBub2RlICAgMDogW21lbSAweDAwMDAwMDAwYTAwMDAwMDAtMHgwMDAwMDAwMGZi
MGYxZmZmXQpbICAgIDAuMDAwMDAwXSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDBmYjBmMjAw
MC0weDAwMDAwMDAwZmI4ZGFmZmZdClsgICAgMC4wMDAwMDBdICAgbm9kZSAgIDA6IFttZW0gMHgw
MDAwMDAwMGZiOGRiMDAwLTB4MDAwMDAwMDBmZTRiZmZmZl0KWyAgICAwLjAwMDAwMF0gICBub2Rl
ICAgMDogW21lbSAweDAwMDAwMDAwZmU0YzAwMDAtMHgwMDAwMDAwMGZlNWRmZmZmXQpbICAgIDAu
MDAwMDAwXSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDBmZTVlMDAwMC0weDAwMDAwMDAwZmU1
ZWZmZmZdClsgICAgMC4wMDAwMDBdICAgbm9kZSAgIDA6IFttZW0gMHgwMDAwMDAwMGZlNWYwMDAw
LTB4MDAwMDAwMDBmZTYyZmZmZl0KWyAgICAwLjAwMDAwMF0gICBub2RlICAgMDogW21lbSAweDAw
MDAwMDAwZmU2MzAwMDAtMHgwMDAwMDAwMGZlNjVmZmZmXQpbICAgIDAuMDAwMDAwXSAgIG5vZGUg
ICAwOiBbbWVtIDB4MDAwMDAwMDBmZTY2MDAwMC0weDAwMDAwMDAwZmU2NmZmZmZdClsgICAgMC4w
MDAwMDBdICAgbm9kZSAgIDA6IFttZW0gMHgwMDAwMDAwMGZlNjcwMDAwLTB4MDAwMDAwMDBmZTZl
ZmZmZl0KWyAgICAwLjAwMDAwMF0gICBub2RlICAgMDogW21lbSAweDAwMDAwMDAwZmU2ZjAwMDAt
MHgwMDAwMDAwMGZlNzhmZmZmXQpbICAgIDAuMDAwMDAwXSAgIG5vZGUgICAwOiBbbWVtIDB4MDAw
MDAwMDBmZTc5MDAwMC0weDAwMDAwMDAwZmU3ZGZmZmZdClsgICAgMC4wMDAwMDBdICAgbm9kZSAg
IDA6IFttZW0gMHgwMDAwMDAwMGZlN2UwMDAwLTB4MDAwMDAwMDBmZThjZmZmZl0KWyAgICAwLjAw
MDAwMF0gICBub2RlICAgMDogW21lbSAweDAwMDAwMDAwZmU4ZDAwMDAtMHgwMDAwMDAwMGZmMWRm
ZmZmXQpbICAgIDAuMDAwMDAwXSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDBmZjFlMDAwMC0w
eDAwMDAwMDAwZmYyNmZmZmZdClsgICAgMC4wMDAwMDBdICAgbm9kZSAgIDA6IFttZW0gMHgwMDAw
MDAwMGZmMjcwMDAwLTB4MDAwMDAwMDBmZjI3ZmZmZl0KWyAgICAwLjAwMDAwMF0gICBub2RlICAg
MDogW21lbSAweDAwMDAwMDAwZmYyODAwMDAtMHgwMDAwMDAwMGZmMzlmZmZmXQpbICAgIDAuMDAw
MDAwXSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDBmZjNhMDAwMC0weDAwMDAwMDAwZmZmZmZm
ZmZdClsgICAgMC4wMDAwMDBdICAgbm9kZSAgIDA6IFttZW0gMHgwMDAwMDAwODgwMDAwMDAwLTB4
MDAwMDAwMGJmZmZmZmZmZl0KWyAgICAwLjAwMDAwMF0gSW5pdG1lbSBzZXR1cCBub2RlIDAgW21l
bSAweDAwMDAwMDAwODAwMDAwMDAtMHgwMDAwMDAwYmZmZmZmZmZmXQpbICAgIDAuMDAwMDAwXSBj
bWE6IFJlc2VydmVkIDI1NiBNaUIgYXQgMHgwMDAwMDAwMGUxMDAwMDAwClsgICAgMC4wMDAwMDBd
IHBzY2k6IHByb2JpbmcgZm9yIGNvbmR1aXQgbWV0aG9kIGZyb20gRFQuClsgICAgMC4wMDAwMDBd
IHBzY2k6IFBTQ0l2MS4xIGRldGVjdGVkIGluIGZpcm13YXJlLgpbICAgIDAuMDAwMDAwXSBwc2Np
OiBVc2luZyBzdGFuZGFyZCBQU0NJIHYwLjIgZnVuY3Rpb24gSURzClsgICAgMC4wMDAwMDBdIHBz
Y2k6IE1JR1JBVEVfSU5GT19UWVBFIG5vdCBzdXBwb3J0ZWQuClsgICAgMC4wMDAwMDBdIHBzY2k6
IFNNQyBDYWxsaW5nIENvbnZlbnRpb24gdjEuMgpbICAgIDAuMDAwMDAwXSBwZXJjcHU6IEVtYmVk
ZGVkIDM0IHBhZ2VzL2NwdSBzOTg0NTYgcjgxOTIgZDMyNjE2IHUxMzkyNjQKWyAgICAwLjAwMDAw
MF0gcGNwdS1hbGxvYzogczk4NDU2IHI4MTkyIGQzMjYxNiB1MTM5MjY0IGFsbG9jPTM0KjQwOTYK
WyAgICAwLjAwMDAwMF0gcGNwdS1hbGxvYzogWzBdIDAgWzBdIDEgWzBdIDIgWzBdIDMgWzBdIDQg
WzBdIDUgWzBdIDYgWzBdIDcgClsgICAgMC4wMDAwMDBdIERldGVjdGVkIFBJUFQgSS1jYWNoZSBv
biBDUFUwClsgICAgMC4wMDAwMDBdIENQVSBmZWF0dXJlczogZGV0ZWN0ZWQ6IEdJQyBzeXN0ZW0g
cmVnaXN0ZXIgQ1BVIGludGVyZmFjZQpbICAgIDAuMDAwMDAwXSBDUFUgZmVhdHVyZXM6IGRldGVj
dGVkOiBTcGVjdHJlLXYyClsgICAgMC4wMDAwMDBdIENQVSBmZWF0dXJlczogZGV0ZWN0ZWQ6IEFS
TSBlcnJhdGEgMTE2NTUyMiwgMTMxOTM2Nywgb3IgMTUzMDkyMwpbICAgIDAuMDAwMDAwXSBCdWls
dCAxIHpvbmVsaXN0cywgbW9iaWxpdHkgZ3JvdXBpbmcgb24uICBUb3RhbCBwYWdlczogNDEyODc2
OApbICAgIDAuMDAwMDAwXSBQb2xpY3kgem9uZTogTm9ybWFsClsgICAgMC4wMDAwMDBdIEtlcm5l
bCBjb21tYW5kIGxpbmU6IHZtbGludXogaW5pdHJkPWluaXRyZC5pbWcgYXV0b21hdGljPWh0dHAs
bmV0d29yazpkaGNwLHNlcnZlcjoxMC40Mi4wLjExMSxkaXJlY3Rvcnk6L2FsdGxpbnV4L3JlZ3Vs
YXIteGZjZS0yMDIxMTAwNi1hYXJjaDY0LmlzbyBzdGFnZW5hbWU9bGl2ZSBlYXJ5bGNvbj11YXJ0
ODI1MCxtbWlvMzIsMHgyMDIzMDAwMCBhdWRpdD0wIGNvbnNvbGU9dHR5UzAsMTE1MjAwbjggaWdu
b3JlX2xvZ2xldmVsClsgICAgMC4wMDAwMDBdIGF1ZGl0OiBkaXNhYmxlZCAodW50aWwgcmVib290
KQpbICAgIDAuMDAwMDAwXSBVbmtub3duIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXJzOiB2bWxpbnV6
IGF1dG9tYXRpYz1odHRwLG5ldHdvcms6ZGhjcCxzZXJ2ZXI6MTAuNDIuMC4xMTEsZGlyZWN0b3J5
Oi9hbHRsaW51eC9yZWd1bGFyLXhmY2UtMjAyMTEwMDYtYWFyY2g2NC5pc28gc3RhZ2VuYW1lPWxp
dmUgZWFyeWxjb249dWFydDgyNTAsbW1pbzMyLDB4MjAyMzAwMDAKWyAgICAwLjAwMDAwMF0gRGVu
dHJ5IGNhY2hlIGhhc2ggdGFibGUgZW50cmllczogMjA5NzE1MiAob3JkZXI6IDEyLCAxNjc3NzIx
NiBieXRlcywgbGluZWFyKQpbICAgIDAuMDAwMDAwXSBJbm9kZS1jYWNoZSBoYXNoIHRhYmxlIGVu
dHJpZXM6IDEwNDg1NzYgKG9yZGVyOiAxMSwgODM4ODYwOCBieXRlcywgbGluZWFyKQpbICAgIDAu
MDAwMDAwXSBtZW0gYXV0by1pbml0OiBzdGFjazpvZmYsIGhlYXAgYWxsb2M6b2ZmLCBoZWFwIGZy
ZWU6b2ZmClsgICAgMC4wMDAwMDBdIHNvZnR3YXJlIElPIFRMQjogbWFwcGVkIFttZW0gMHgwMDAw
MDAwMGY2N2I5MDAwLTB4MDAwMDAwMDBmYTdiOTAwMF0gKDY0TUIpClsgICAgMC4wMDAwMDBdIE1l
bW9yeTogMTU3NzUwMzZLLzE2Nzc3MjE2SyBhdmFpbGFibGUgKDEzMzEySyBrZXJuZWwgY29kZSwg
NDEwNEsgcndkYXRhLCA5MjQ4SyByb2RhdGEsIDYzMzZLIGluaXQsIDEzOTBLIGJzcywgNzQwMDM2
SyByZXNlcnZlZCwgMjYyMTQ0SyBjbWEtcmVzZXJ2ZWQpClsgICAgMC4wMDAwMDBdIGZ0cmFjZTog
YWxsb2NhdGluZyA0MzAwMiBlbnRyaWVzIGluIDE2OCBwYWdlcwpbICAgIDAuMDAwMDAwXSBmdHJh
Y2U6IGFsbG9jYXRlZCAxNjggcGFnZXMgd2l0aCAzIGdyb3VwcwpbICAgIDAuMDAwMDAwXSB0cmFj
ZSBldmVudCBzdHJpbmcgdmVyaWZpZXIgZGlzYWJsZWQKWyAgICAwLjAwMDAwMF0gcmN1OiBIaWVy
YXJjaGljYWwgUkNVIGltcGxlbWVudGF0aW9uLgpbICAgIDAuMDAwMDAwXSByY3U6ICAgICBSQ1Ug
cmVzdHJpY3RpbmcgQ1BVcyBmcm9tIE5SX0NQVVM9MTI4IHRvIG5yX2NwdV9pZHM9OC4KWyAgICAw
LjAwMDAwMF0gIFRyYW1wb2xpbmUgdmFyaWFudCBvZiBUYXNrcyBSQ1UgZW5hYmxlZC4KWyAgICAw
LjAwMDAwMF0gIFJ1ZGUgdmFyaWFudCBvZiBUYXNrcyBSQ1UgZW5hYmxlZC4KWyAgICAwLjAwMDAw
MF0gIFRyYWNpbmcgdmFyaWFudCBvZiBUYXNrcyBSQ1UgZW5hYmxlZC4KWyAgICAwLjAwMDAwMF0g
cmN1OiBSQ1UgY2FsY3VsYXRlZCB2YWx1ZSBvZiBzY2hlZHVsZXItZW5saXN0bWVudCBkZWxheSBp
cyAxMDAgamlmZmllcy4KWyAgICAwLjAwMDAwMF0gcmN1OiBBZGp1c3RpbmcgZ2VvbWV0cnkgZm9y
IHJjdV9mYW5vdXRfbGVhZj0xNiwgbnJfY3B1X2lkcz04ClsgICAgMC4wMDAwMDBdIE5SX0lSUVM6
IDY0LCBucl9pcnFzOiA2NCwgcHJlYWxsb2NhdGVkIGlycXM6IDAKWyAgICAwLjAwMDAwMF0gR0lD
djM6IEdJQzogVXNpbmcgc3BsaXQgRU9JL0RlYWN0aXZhdGUgbW9kZQpbICAgIDAuMDAwMDAwXSBH
SUN2MzogNzY4IFNQSXMgaW1wbGVtZW50ZWQKWyAgICAwLjAwMDAwMF0gR0lDdjM6IDAgRXh0ZW5k
ZWQgU1BJcyBpbXBsZW1lbnRlZApbICAgIDAuMDAwMDAwXSBHSUN2MzogRGlzdHJpYnV0b3IgaGFz
IG5vIFJhbmdlIFNlbGVjdG9yIHN1cHBvcnQKWyAgICAwLjAwMDAwMF0gUm9vdCBJUlEgaGFuZGxl
cjogZ2ljX2hhbmRsZV9pcnEKWyAgICAwLjAwMDAwMF0gR0lDdjM6IDE2IFBQSXMgaW1wbGVtZW50
ZWQKWyAgICAwLjAwMDAwMF0gR0lDdjM6IENQVTA6IGZvdW5kIHJlZGlzdHJpYnV0b3IgMCByZWdp
b24gMDoweDAwMDAwMDAwMmQxMDAwMDAKWyAgICAwLjAwMDAwMF0gSVRTIFttZW0gMHgyZDAyMDAw
MC0weDJkMDNmZmZmXQpbICAgIDAuMDAwMDAwXSBJVFNAMHgwMDAwMDAwMDJkMDIwMDAwOiBhbGxv
Y2F0ZWQgMjYyMTQ0IERldmljZXMgQDg4MDIwMDAwMCAoZmxhdCwgZXN6IDgsIHBzeiA2NEssIHNo
ciAwKQpbICAgIDAuMDAwMDAwXSBJVFM6IHVzaW5nIGNhY2hlIGZsdXNoaW5nIGZvciBjbWQgcXVl
dWUKWyAgICAwLjAwMDAwMF0gR0lDdjM6IHVzaW5nIExQSSBwcm9wZXJ0eSB0YWJsZSBAMHgwMDAw
MDAwODgwMTkwMDAwClsgICAgMC4wMDAwMDBdIEdJQzogdXNpbmcgY2FjaGUgZmx1c2hpbmcgZm9y
IExQSSBwcm9wZXJ0eSB0YWJsZQpbICAgIDAuMDAwMDAwXSBHSUN2MzogQ1BVMDogdXNpbmcgYWxs
b2NhdGVkIExQSSBwZW5kaW5nIHRhYmxlIEAweDAwMDAwMDA4ODAxYTAwMDAKWyAgICAwLjAwMDAw
MF0gcmFuZG9tOiBnZXRfcmFuZG9tX2J5dGVzIGNhbGxlZCBmcm9tIHN0YXJ0X2tlcm5lbCsweDgz
OC8weGEzNCB3aXRoIGNybmdfaW5pdD0wClsgICAgMC4wMDAwMDBdIGFyY2hfdGltZXI6IGNwMTUg
dGltZXIocykgcnVubmluZyBhdCA1MC4wME1IeiAocGh5cykuClsgICAgMC4wMDAwMDBdIGNsb2Nr
c291cmNlOiBhcmNoX3N5c19jb3VudGVyOiBtYXNrOiAweGZmZmZmZmZmZmZmZmZmIG1heF9jeWNs
ZXM6IDB4Yjg4MTI3MzZiLCBtYXhfaWRsZV9uczogNDQwNzk1MjAyNjU1IG5zClsgICAgMC4wMDAw
MDBdIHNjaGVkX2Nsb2NrOiA1NiBiaXRzIGF0IDUwTUh6LCByZXNvbHV0aW9uIDIwbnMsIHdyYXBz
IGV2ZXJ5IDQzOTgwNDY1MTExMDBucwpbICAgIDAuMDAwMDkyXSBGYWlsZWQgdG8gaW5pdGlhbGl6
ZSAnL3NvYy90aW1lcjFAMjAyOTAwMDAnOiAtMjIKWyAgICAwLjAwMDEyNl0gRmFpbGVkIHRvIGlu
aXRpYWxpemUgJy9zb2MvdGltZXIyQDIwMjkwMDE0JzogLTIyClsgICAgMC4wMDAxNTddIEZhaWxl
ZCB0byBpbml0aWFsaXplICcvc29jL3RpbWVyM0AyMDI5MDAyOCc6IC0yMgpbICAgIDAuMDAwMTg4
XSBGYWlsZWQgdG8gaW5pdGlhbGl6ZSAnL3NvYy90aW1lcjRAMjAyOTAwM2MnOiAtMjIKWyAgICAw
LjAwMDYzMF0gQ29uc29sZTogY29sb3VyIGR1bW15IGRldmljZSA4MHgyNQpbICAgIDAuMDAwNjk1
XSBDYWxpYnJhdGluZyBkZWxheSBsb29wIChza2lwcGVkKSwgdmFsdWUgY2FsY3VsYXRlZCB1c2lu
ZyB0aW1lciBmcmVxdWVuY3kuLiAxMDAuMDAgQm9nb01JUFMgKGxwaj01MDAwMCkKWyAgICAwLjAw
MDcwNl0gcGlkX21heDogZGVmYXVsdDogMzI3NjggbWluaW11bTogMzAxClsgICAgMC4wMDA5MDdd
IExTTTogU2VjdXJpdHkgRnJhbWV3b3JrIGluaXRpYWxpemluZwpbICAgIDAuMDAwOTI3XSBZYW1h
OiBiZWNvbWluZyBtaW5kZnVsLgpbICAgIDAuMDAwOTczXSBBbHRIYSBkaXNhYmxlZC4KWyAgICAw
LjAwMDk5NV0gS2lvc2s6IE5ldGxpbmsgZmFtaWx5IHJlZ2lzdGVyZWQuClsgICAgMC4wMDExMDFd
IE1vdW50LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogMzI3NjggKG9yZGVyOiA2LCAyNjIxNDQg
Ynl0ZXMsIGxpbmVhcikKWyAgICAwLjAwMTE3MV0gTW91bnRwb2ludC1jYWNoZSBoYXNoIHRhYmxl
IGVudHJpZXM6IDMyNzY4IChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVzLCBsaW5lYXIpClsgICAgMC4w
MDI0MDNdIHJjdTogSGllcmFyY2hpY2FsIFNSQ1UgaW1wbGVtZW50YXRpb24uClsgICAgMC4wMDI3
NTddIFBsYXRmb3JtIE1TSTogaXRzQDJkMDIwMDAwIGRvbWFpbiBjcmVhdGVkClsgICAgMC4wMDI4
MThdIFBDSS9NU0k6IC9zb2MvaW50ZXJydXB0LWNvbnRyb2xsZXJAMmQwMDAwMDAvaXRzQDJkMDIw
MDAwIGRvbWFpbiBjcmVhdGVkClsgICAgMC4wMDMzMzZdIFJlbWFwcGluZyBhbmQgZW5hYmxpbmcg
RUZJIHNlcnZpY2VzLgpbICAgIDAuMDA0MTkzXSBzbXA6IEJyaW5naW5nIHVwIHNlY29uZGFyeSBD
UFVzIC4uLgpbICAgIDAuMDE4NjM0XSBEZXRlY3RlZCBQSVBUIEktY2FjaGUgb24gQ1BVMQpbICAg
IDAuMDE4NjY0XSBHSUN2MzogQ1BVMTogZm91bmQgcmVkaXN0cmlidXRvciAxIHJlZ2lvbiAwOjB4
MDAwMDAwMDAyZDEyMDAwMApbICAgIDAuMDE4NzI4XSBHSUN2MzogQ1BVMTogdXNpbmcgYWxsb2Nh
dGVkIExQSSBwZW5kaW5nIHRhYmxlIEAweDAwMDAwMDA4ODAxYjAwMDAKWyAgICAwLjAxODc4OV0g
Q1BVMTogQm9vdGVkIHNlY29uZGFyeSBwcm9jZXNzb3IgMHgwMDAwMDAwMDAxIFsweDQxMWZkMDcz
XQpbICAgIDAuMDQzMzY4XSBEZXRlY3RlZCBQSVBUIEktY2FjaGUgb24gQ1BVMgpbICAgIDAuMDQz
NDAwXSBHSUN2MzogQ1BVMjogZm91bmQgcmVkaXN0cmlidXRvciAxMDAgcmVnaW9uIDA6MHgwMDAw
MDAwMDJkMTQwMDAwClsgICAgMC4wNDM0NzFdIEdJQ3YzOiBDUFUyOiB1c2luZyBhbGxvY2F0ZWQg
TFBJIHBlbmRpbmcgdGFibGUgQDB4MDAwMDAwMDg4MDFjMDAwMApbICAgIDAuMDQzNTM2XSBDUFUy
OiBCb290ZWQgc2Vjb25kYXJ5IHByb2Nlc3NvciAweDAwMDAwMDAxMDAgWzB4NDExZmQwNzNdClsg
ICAgMC4wNTgwMTVdIERldGVjdGVkIFBJUFQgSS1jYWNoZSBvbiBDUFUzClsgICAgMC4wNTgwNDFd
IEdJQ3YzOiBDUFUzOiBmb3VuZCByZWRpc3RyaWJ1dG9yIDEwMSByZWdpb24gMDoweDAwMDAwMDAw
MmQxNjAwMDAKWyAgICAwLjA1ODEwMl0gR0lDdjM6IENQVTM6IHVzaW5nIGFsbG9jYXRlZCBMUEkg
cGVuZGluZyB0YWJsZSBAMHgwMDAwMDAwODgwMWQwMDAwClsgICAgMC4wNTgxNThdIENQVTM6IEJv
b3RlZCBzZWNvbmRhcnkgcHJvY2Vzc29yIDB4MDAwMDAwMDEwMSBbMHg0MTFmZDA3M10KWyAgICAw
LjA4MjgwM10gRGV0ZWN0ZWQgUElQVCBJLWNhY2hlIG9uIENQVTQKWyAgICAwLjA4MjgzOV0gR0lD
djM6IENQVTQ6IGZvdW5kIHJlZGlzdHJpYnV0b3IgMjAwIHJlZ2lvbiAwOjB4MDAwMDAwMDAyZDE4
MDAwMApbICAgIDAuMDgyODkzXSBHSUN2MzogQ1BVNDogdXNpbmcgYWxsb2NhdGVkIExQSSBwZW5k
aW5nIHRhYmxlIEAweDAwMDAwMDA4ODAxZTAwMDAKWyAgICAwLjA4Mjk1NV0gQ1BVNDogQm9vdGVk
IHNlY29uZGFyeSBwcm9jZXNzb3IgMHgwMDAwMDAwMjAwIFsweDQxMWZkMDczXQpbICAgIDAuMDk3
NDE3XSBEZXRlY3RlZCBQSVBUIEktY2FjaGUgb24gQ1BVNQpbICAgIDAuMDk3NDQ5XSBHSUN2Mzog
Q1BVNTogZm91bmQgcmVkaXN0cmlidXRvciAyMDEgcmVnaW9uIDA6MHgwMDAwMDAwMDJkMWEwMDAw
ClsgICAgMC4wOTc1MTRdIEdJQ3YzOiBDUFU1OiB1c2luZyBhbGxvY2F0ZWQgTFBJIHBlbmRpbmcg
dGFibGUgQDB4MDAwMDAwMDg4MDFmMDAwMApbICAgIDAuMDk3NTY5XSBDUFU1OiBCb290ZWQgc2Vj
b25kYXJ5IHByb2Nlc3NvciAweDAwMDAwMDAyMDEgWzB4NDExZmQwNzNdClsgICAgMC4xMjIzODNd
IERldGVjdGVkIFBJUFQgSS1jYWNoZSBvbiBDUFU2ClsgICAgMC4xMjI0MjVdIEdJQ3YzOiBDUFU2
OiBmb3VuZCByZWRpc3RyaWJ1dG9yIDMwMCByZWdpb24gMDoweDAwMDAwMDAwMmQxYzAwMDAKWyAg
ICAwLjEyMjQ5M10gR0lDdjM6IENQVTY6IHVzaW5nIGFsbG9jYXRlZCBMUEkgcGVuZGluZyB0YWJs
ZSBAMHgwMDAwMDAwODgwODAwMDAwClsgICAgMC4xMjI1NThdIENQVTY6IEJvb3RlZCBzZWNvbmRh
cnkgcHJvY2Vzc29yIDB4MDAwMDAwMDMwMCBbMHg0MTFmZDA3M10KWyAgICAwLjEzNzA0M10gRGV0
ZWN0ZWQgUElQVCBJLWNhY2hlIG9uIENQVTcKWyAgICAwLjEzNzA4MV0gR0lDdjM6IENQVTc6IGZv
dW5kIHJlZGlzdHJpYnV0b3IgMzAxIHJlZ2lvbiAwOjB4MDAwMDAwMDAyZDFlMDAwMApbICAgIDAu
MTM3MTQ0XSBHSUN2MzogQ1BVNzogdXNpbmcgYWxsb2NhdGVkIExQSSBwZW5kaW5nIHRhYmxlIEAw
eDAwMDAwMDA4ODA4MTAwMDAKWyAgICAwLjEzNzIwMF0gQ1BVNzogQm9vdGVkIHNlY29uZGFyeSBw
cm9jZXNzb3IgMHgwMDAwMDAwMzAxIFsweDQxMWZkMDczXQpbICAgIDAuMTM3MjYxXSBzbXA6IEJy
b3VnaHQgdXAgMSBub2RlLCA4IENQVXMKWyAgICAwLjEzNzI5OV0gU01QOiBUb3RhbCBvZiA4IHBy
b2Nlc3NvcnMgYWN0aXZhdGVkLgpbICAgIDAuMTM3MzA1XSBDUFUgZmVhdHVyZXM6IGRldGVjdGVk
OiAzMi1iaXQgRUwwIFN1cHBvcnQKWyAgICAwLjEzNzMwOF0gQ1BVIGZlYXR1cmVzOiBkZXRlY3Rl
ZDogMzItYml0IEVMMSBTdXBwb3J0ClsgICAgMC4xMzczMTNdIENQVSBmZWF0dXJlczogZGV0ZWN0
ZWQ6IENSQzMyIGluc3RydWN0aW9ucwpbICAgIDAuMTM3NDI3XSBDUFUgZmVhdHVyZXM6IGVtdWxh
dGVkOiBQcml2aWxlZ2VkIEFjY2VzcyBOZXZlciAoUEFOKSB1c2luZyBUVEJSMF9FTDEgc3dpdGNo
aW5nClsgICAgMC4xNjcwNzFdIENQVTogQWxsIENQVShzKSBzdGFydGVkIGF0IEVMMgpbICAgIDAu
MTY3MTEzXSBhbHRlcm5hdGl2ZXM6IHBhdGNoaW5nIGtlcm5lbCBjb2RlClsgICAgMC4xNjgyMDhd
IGRldnRtcGZzOiBpbml0aWFsaXplZApbICAgIDAuMTc0ODUxXSBSZWdpc3RlcmVkIGNwMTVfYmFy
cmllciBlbXVsYXRpb24gaGFuZGxlcgpbICAgIDAuMTc0ODY5XSBSZWdpc3RlcmVkIHNldGVuZCBl
bXVsYXRpb24gaGFuZGxlcgpbICAgIDAuMTc0OTg4XSBjbG9ja3NvdXJjZTogamlmZmllczogbWFz
azogMHhmZmZmZmZmZiBtYXhfY3ljbGVzOiAweGZmZmZmZmZmLCBtYXhfaWRsZV9uczogMTkxMTI2
MDQ0NjI3NTAwMCBucwpbICAgIDAuMTc1MDAyXSBmdXRleCBoYXNoIHRhYmxlIGVudHJpZXM6IDIw
NDggKG9yZGVyOiA1LCAxMzEwNzIgYnl0ZXMsIGxpbmVhcikKWyAgICAwLjE3ODk1MF0gcGluY3Ry
bCBjb3JlOiBpbml0aWFsaXplZCBwaW5jdHJsIHN1YnN5c3RlbQpbICAgIDAuMTc5NDU2XSBTTUJJ
T1MgMy4wLjAgcHJlc2VudC4KWyAgICAwLjE3OTQ2OV0gRE1JOiBFZGVsd2Vpc3MgVEYzMDctTUIt
Uy1EL0JNMUJNMS1ELCBCSU9TIDUuMyAwOS8wOS8yMDIxClsgICAgMC4xNzk4NjBdIE5FVDogUmVn
aXN0ZXJlZCBQRl9ORVRMSU5LL1BGX1JPVVRFIHByb3RvY29sIGZhbWlseQpbICAgIDAuMTgxMjkw
XSBETUE6IHByZWFsbG9jYXRlZCAyMDQ4IEtpQiBHRlBfS0VSTkVMIHBvb2wgZm9yIGF0b21pYyBh
bGxvY2F0aW9ucwpbICAgIDAuMTgxODM1XSBETUE6IHByZWFsbG9jYXRlZCAyMDQ4IEtpQiBHRlBf
S0VSTkVMfEdGUF9ETUEgcG9vbCBmb3IgYXRvbWljIGFsbG9jYXRpb25zClsgICAgMC4xODI1MTBd
IERNQTogcHJlYWxsb2NhdGVkIDIwNDggS2lCIEdGUF9LRVJORUx8R0ZQX0RNQTMyIHBvb2wgZm9y
IGF0b21pYyBhbGxvY2F0aW9ucwpbICAgIDAuMTgzMTI0XSB0aGVybWFsX3N5czogUmVnaXN0ZXJl
ZCB0aGVybWFsIGdvdmVybm9yICdmYWlyX3NoYXJlJwpbICAgIDAuMTgzMTI5XSB0aGVybWFsX3N5
czogUmVnaXN0ZXJlZCB0aGVybWFsIGdvdmVybm9yICdiYW5nX2JhbmcnClsgICAgMC4xODMxMzRd
IHRoZXJtYWxfc3lzOiBSZWdpc3RlcmVkIHRoZXJtYWwgZ292ZXJub3IgJ3N0ZXBfd2lzZScKWyAg
ICAwLjE4MzEzOF0gdGhlcm1hbF9zeXM6IFJlZ2lzdGVyZWQgdGhlcm1hbCBnb3Zlcm5vciAndXNl
cl9zcGFjZScKWyAgICAwLjE4MzI0NF0gY3B1aWRsZTogdXNpbmcgZ292ZXJub3IgbGFkZGVyClsg
ICAgMC4xODMyNjBdIGNwdWlkbGU6IHVzaW5nIGdvdmVybm9yIG1lbnUKWyAgICAwLjE4MzM4Ml0g
aHctYnJlYWtwb2ludDogZm91bmQgNiBicmVha3BvaW50IGFuZCA0IHdhdGNocG9pbnQgcmVnaXN0
ZXJzLgpbICAgIDAuMTgzNTA5XSBBU0lEIGFsbG9jYXRvciBpbml0aWFsaXNlZCB3aXRoIDY1NTM2
IGVudHJpZXMKWyAgICAwLjE4Mzk4OV0gU2VyaWFsOiBBTUJBIFBMMDExIFVBUlQgZHJpdmVyClsg
ICAgMC4xOTEyOTVdIHBsYXRmb3JtIDMwMjgwMDAwLmhkbWk6IEZpeGluZyB1cCBjeWNsaWMgZGVw
ZW5kZW5jeSB3aXRoIDMwMjYwMDAwLnZkdV9oZG1pClsgICAgMC4xOTE0ODBdIHBsYXRmb3JtIGhk
bWktb3V0OiBGaXhpbmcgdXAgY3ljbGljIGRlcGVuZGVuY3kgd2l0aCAzMDI4MDAwMC5oZG1pClsg
ICAgMC4xOTYwNTVdIEh1Z2VUTEIgcmVnaXN0ZXJlZCAxLjAwIEdpQiBwYWdlIHNpemUsIHByZS1h
bGxvY2F0ZWQgMCBwYWdlcwpbICAgIDAuMTk2MDY1XSBIdWdlVExCIHJlZ2lzdGVyZWQgMzIuMCBN
aUIgcGFnZSBzaXplLCBwcmUtYWxsb2NhdGVkIDAgcGFnZXMKWyAgICAwLjE5NjA3MF0gSHVnZVRM
QiByZWdpc3RlcmVkIDIuMDAgTWlCIHBhZ2Ugc2l6ZSwgcHJlLWFsbG9jYXRlZCAwIHBhZ2VzClsg
ICAgMC4xOTYwNzVdIEh1Z2VUTEIgcmVnaXN0ZXJlZCA2NC4wIEtpQiBwYWdlIHNpemUsIHByZS1h
bGxvY2F0ZWQgMCBwYWdlcwpbICAgIDAuMTk5NjI0XSBBQ1BJOiBJbnRlcnByZXRlciBkaXNhYmxl
ZC4KWyAgICAwLjE5OTkyNV0gaW9tbXU6IERlZmF1bHQgZG9tYWluIHR5cGU6IFRyYW5zbGF0ZWQg
ClsgICAgMC4yMDAwNjddIHZnYWFyYjogbG9hZGVkClsgICAgMC4yMDAyODRdIHVzYmNvcmU6IHJl
Z2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiZnMKWyAgICAwLjIwMDMxMF0gdXNiY29y
ZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciBodWIKWyAgICAwLjIwMDMzMl0gdXNi
Y29yZTogcmVnaXN0ZXJlZCBuZXcgZGV2aWNlIGRyaXZlciB1c2IKWyAgICAwLjIwMTE1NV0gcHBz
X2NvcmU6IExpbnV4UFBTIEFQSSB2ZXIuIDEgcmVnaXN0ZXJlZApbICAgIDAuMjAxMTYyXSBwcHNf
Y29yZTogU29mdHdhcmUgdmVyLiA1LjMuNiAtIENvcHlyaWdodCAyMDA1LTIwMDcgUm9kb2xmbyBH
aW9tZXR0aSA8Z2lvbWV0dGlAbGludXguaXQ+ClsgICAgMC4yMDExNzJdIFBUUCBjbG9jayBzdXBw
b3J0IHJlZ2lzdGVyZWQKWyAgICAwLjIwMTI4OF0gRURBQyBNQzogVmVyOiAzLjAuMApbICAgIDAu
MjAxNTkwXSBSZWdpc3RlcmVkIGVmaXZhcnMgb3BlcmF0aW9ucwpbICAgIDAuMjAyMzAwXSBOZXRM
YWJlbDogSW5pdGlhbGl6aW5nClsgICAgMC4yMDIzMDddIE5ldExhYmVsOiAgZG9tYWluIGhhc2gg
c2l6ZSA9IDEyOApbICAgIDAuMjAyMzExXSBOZXRMYWJlbDogIHByb3RvY29scyA9IFVOTEFCRUxF
RCBDSVBTT3Y0IENBTElQU08KWyAgICAwLjIwMjM0N10gTmV0TGFiZWw6ICB1bmxhYmVsZWQgdHJh
ZmZpYyBhbGxvd2VkIGJ5IGRlZmF1bHQKWyAgICAwLjIwMjU4MV0gY2xvY2tzb3VyY2U6IFN3aXRj
aGVkIHRvIGNsb2Nrc291cmNlIGFyY2hfc3lzX2NvdW50ZXIKWyAgICAwLjIyNzQ5M10gVkZTOiBE
aXNrIHF1b3RhcyBkcXVvdF82LjYuMApbICAgIDAuMjI3NTQ1XSBWRlM6IERxdW90LWNhY2hlIGhh
c2ggdGFibGUgZW50cmllczogNTEyIChvcmRlciAwLCA0MDk2IGJ5dGVzKQpbICAgIDAuMjI3ODY1
XSBwbnA6IFBuUCBBQ1BJOiBkaXNhYmxlZApbICAgIDAuMjMyNDg2XSBORVQ6IFJlZ2lzdGVyZWQg
UEZfSU5FVCBwcm90b2NvbCBmYW1pbHkKWyAgICAwLjIzMzExMV0gSVAgaWRlbnRzIGhhc2ggdGFi
bGUgZW50cmllczogMjYyMTQ0IChvcmRlcjogOSwgMjA5NzE1MiBieXRlcywgbGluZWFyKQpbICAg
IDAuMjM3MjYwXSB0Y3BfbGlzdGVuX3BvcnRhZGRyX2hhc2ggaGFzaCB0YWJsZSBlbnRyaWVzOiA4
MTkyIChvcmRlcjogNSwgMTMxMDcyIGJ5dGVzLCBsaW5lYXIpClsgICAgMC4yMzczODVdIFRDUCBl
c3RhYmxpc2hlZCBoYXNoIHRhYmxlIGVudHJpZXM6IDEzMTA3MiAob3JkZXI6IDgsIDEwNDg1NzYg
Ynl0ZXMsIGxpbmVhcikKWyAgICAwLjIzNzkzN10gVENQIGJpbmQgaGFzaCB0YWJsZSBlbnRyaWVz
OiA2NTUzNiAob3JkZXI6IDgsIDEwNDg1NzYgYnl0ZXMsIGxpbmVhcikKWyAgICAwLjIzODQ3Nl0g
VENQOiBIYXNoIHRhYmxlcyBjb25maWd1cmVkIChlc3RhYmxpc2hlZCAxMzEwNzIgYmluZCA2NTUz
NikKWyAgICAwLjIzODc4MF0gTVBUQ1AgdG9rZW4gaGFzaCB0YWJsZSBlbnRyaWVzOiAxNjM4NCAo
b3JkZXI6IDYsIDM5MzIxNiBieXRlcywgbGluZWFyKQpbICAgIDAuMjM4ODg2XSBVRFAgaGFzaCB0
YWJsZSBlbnRyaWVzOiA4MTkyIChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVzLCBsaW5lYXIpClsgICAg
MC4yMzkwOTZdIFVEUC1MaXRlIGhhc2ggdGFibGUgZW50cmllczogODE5MiAob3JkZXI6IDYsIDI2
MjE0NCBieXRlcywgbGluZWFyKQpbICAgIDAuMjM5NDI1XSBORVQ6IFJlZ2lzdGVyZWQgUEZfVU5J
WC9QRl9MT0NBTCBwcm90b2NvbCBmYW1pbHkKWyAgICAwLjIzOTQ0N10gTkVUOiBSZWdpc3RlcmVk
IFBGX1hEUCBwcm90b2NvbCBmYW1pbHkKWyAgICAwLjIzOTQ1N10gUENJOiBDTFMgMCBieXRlcywg
ZGVmYXVsdCA2NApbICAgIDAuMjM5NzE5XSBUcnlpbmcgdG8gdW5wYWNrIHJvb3RmcyBpbWFnZSBh
cyBpbml0cmFtZnMuLi4KWyAgICAwLjI0MDI1OF0gaHcgcGVyZmV2ZW50czogZW5hYmxlZCB3aXRo
IGFybXY4X2NvcnRleF9hNTcgUE1VIGRyaXZlciwgNyBjb3VudGVycyBhdmFpbGFibGUKWyAgICAw
LjI0MDQ1MV0ga3ZtIFsxXTogSVBBIFNpemUgTGltaXQ6IDQ0IGJpdHMKWyAgICAwLjI0MTQzNl0g
a3ZtIFsxXTogdmdpYy12MkAxMDIyMDAwMApbICAgIDAuMjQxNDYzXSBrdm0gWzFdOiBHSUMgc3lz
dGVtIHJlZ2lzdGVyIENQVSBpbnRlcmZhY2UgZW5hYmxlZApbICAgIDAuMjQxNjk0XSBrdm0gWzFd
OiB2Z2ljIGludGVycnVwdCBJUlE5ClsgICAgMC4yNDIwNDhdIGt2bSBbMV06IEh5cCBtb2RlIGlu
aXRpYWxpemVkIHN1Y2Nlc3NmdWxseQpbICAgIDAuMjQzMDMyXSBJbml0aWFsaXNlIHN5c3RlbSB0
cnVzdGVkIGtleXJpbmdzClsgICAgMC4yNDMxNTFdIHdvcmtpbmdzZXQ6IHRpbWVzdGFtcF9iaXRz
PTM5IG1heF9vcmRlcj0yMiBidWNrZXRfb3JkZXI9MApbICAgIDAuMjQzMzY3XSB6YnVkOiBsb2Fk
ZWQKWyAgICAwLjI2OTkzN10gS2V5IHR5cGUgYXN5bW1ldHJpYyByZWdpc3RlcmVkClsgICAgMC4y
Njk5NDZdIEFzeW1tZXRyaWMga2V5IHBhcnNlciAneDUwOScgcmVnaXN0ZXJlZApbICAgIDAuMjY5
OTgwXSBCbG9jayBsYXllciBTQ1NJIGdlbmVyaWMgKGJzZykgZHJpdmVyIHZlcnNpb24gMC40IGxv
YWRlZCAobWFqb3IgMjQ2KQpbICAgIDAuMjcwMDk3XSBpbyBzY2hlZHVsZXIgbXEtZGVhZGxpbmUg
cmVnaXN0ZXJlZApbICAgIDAuMjcwMTQwXSBpbyBzY2hlZHVsZXIgYmZxIHJlZ2lzdGVyZWQKWyAg
ICAwLjI3MDU0MV0gY3JjMzI6IENSQ19MRV9CSVRTID0gNjQsIENSQ19CRSBCSVRTID0gNjQKWyAg
ICAwLjI3MDU0Nl0gY3JjMzI6IHNlbGYgdGVzdHMgcGFzc2VkLCBwcm9jZXNzZWQgMjI1OTQ0IGJ5
dGVzIGluIDE4NDA4MCBuc2VjClsgICAgMC4yNzA2MjFdIGNyYzMyYzogQ1JDX0xFX0JJVFMgPSA2
NApbICAgIDAuMjcwNjI1XSBjcmMzMmM6IHNlbGYgdGVzdHMgcGFzc2VkLCBwcm9jZXNzZWQgMjI1
OTQ0IGJ5dGVzIGluIDMwMDYwIG5zZWMKWyAgICAwLjI4MzgzNV0gY3JjMzJfY29tYmluZTogODM3
MyBzZWxmIHRlc3RzIHBhc3NlZApbICAgIDAuMjk3MDI4XSBjcmMzMmNfY29tYmluZTogODM3MyBz
ZWxmIHRlc3RzIHBhc3NlZApbICAgIDAuMjk5NTI4XSBncGlvLTQ4MSAocGNpZS14OC1jbG9jayk6
IGhvZ2dlZCBhcyBvdXRwdXQvaGlnaApbICAgIDAuMzAxMTA2XSBlZmlmYjogcHJvYmluZyBmb3Ig
ZWZpZmIKWyAgICAwLjMwMTM2NV0gZWZpZmI6IE5vIEJHUlQsIG5vdCBzaG93aW5nIGJvb3QgZ3Jh
cGhpY3MKWyAgICAwLjMwMTM2OF0gZWZpZmI6IGZyYW1lYnVmZmVyIGF0IDB4ZmIwZjIwMDAsIHVz
aW5nIDgxMDBrLCB0b3RhbCA4MTAwawpbICAgIDAuMzAxMzc0XSBlZmlmYjogbW9kZSBpcyAxOTIw
eDEwODB4MzIsIGxpbmVsZW5ndGg9NzY4MCwgcGFnZXM9MQpbICAgIDAuMzAxMzc5XSBlZmlmYjog
c2Nyb2xsaW5nOiByZWRyYXcKWyAgICAwLjMwMTM4Ml0gZWZpZmI6IFRydWVjb2xvcjogc2l6ZT04
Ojg6ODo4LCBzaGlmdD0yNDoxNjo4OjAKWyAgICAwLjMwMTUwMF0gZmJjb246IERlZmVycmluZyBj
b25zb2xlIHRha2Utb3ZlcgpbICAgIDAuMzAxNTA2XSBmYjA6IEVGSSBWR0EgZnJhbWUgYnVmZmVy
IGRldmljZQpbICAgIDAuMzAyMTM3XSBiYWlrYWxfY2xrX3Byb2JlIGluZGV4IDAgbmFtZSA8Z3Bp
bz4gaSAwIApbICAgIDAuMzAyMTgyXSBiYWlrYWxfY2xrX3Byb2JlIGluZGV4IDEgbmFtZSA8dWFy
dDE+IGkgMSAKWyAgICAwLjMwMjIyN10gYmFpa2FsX2Nsa19wcm9iZSBpbmRleCAyIG5hbWUgPHVh
cnQyPiBpIDIgClsgICAgMC4zMDIyNjldIGJhaWthbF9jbGtfcHJvYmUgaW5kZXggMyBuYW1lIDxh
cGI+IGkgMyAKWyAgICAwLjMwMjMxM10gYmFpa2FsX2Nsa19wcm9iZSBpbmRleCA0IG5hbWUgPHNw
aT4gaSA0IApbICAgIDAuMzAyMzU0XSBiYWlrYWxfY2xrX3Byb2JlIGluZGV4IDUgbmFtZSA8ZXNw
aT4gaSA1IApbICAgIDAuMzAyMzk3XSBiYWlrYWxfY2xrX3Byb2JlIGluZGV4IDYgbmFtZSA8aTJj
MT4gaSA2IApbICAgIDAuMzAyNDM5XSBiYWlrYWxfY2xrX3Byb2JlIGluZGV4IDcgbmFtZSA8aTJj
Mj4gaSA3IApbICAgIDAuMzAyNDgzXSBiYWlrYWxfY2xrX3Byb2JlIGluZGV4IDggbmFtZSA8dGlt
ZXIxPiBpIDggClsgICAgMC4zMDI1MjVdIGJhaWthbF9jbGtfcHJvYmUgaW5kZXggOSBuYW1lIDx0
aW1lcjI+IGkgOSAKWyAgICAwLjMwMjU3NV0gYmFpa2FsX2Nsa19wcm9iZSBpbmRleCBhIG5hbWUg
PHRpbWVyMz4gaSBhIApbICAgIDAuMzAyNjE5XSBiYWlrYWxfY2xrX3Byb2JlIGluZGV4IGIgbmFt
ZSA8dGltZXI0PiBpIGIgClsgICAgMC4zMDI2NjFdIGJhaWthbF9jbGtfcHJvYmUgaW5kZXggYyBu
YW1lIDxkbWFjPiBpIGMgClsgICAgMC4zMDI3MDVdIGJhaWthbF9jbGtfcHJvYmUgaW5kZXggZCBu
YW1lIDxzbWJ1czE+IGkgZCAKWyAgICAwLjMwMjc0N10gYmFpa2FsX2Nsa19wcm9iZSBpbmRleCBl
IG5hbWUgPHNtYnVzMj4gaSBlIApbICAgIDAuMzAyNzkwXSBiYWlrYWxfY2xrX3Byb2JlIGluZGV4
IGYgbmFtZSA8aGRhX3N5c19jbGs+IGkgZiAKWyAgICAwLjMwMjgzM10gYmFpa2FsX2Nsa19wcm9i
ZSBpbmRleCAxMCBuYW1lIDxoZGFfY2xrNDg+IGkgMTAgClsgICAgMC4zMDI4NzZdIGJhaWthbF9j
bGtfcHJvYmUgaW5kZXggMTEgbmFtZSA8bXNoY19heGk+IGkgMTEgClsgICAgMC4zMDI5MjJdIGJh
aWthbF9jbGtfcHJvYmUgaW5kZXggMTIgbmFtZSA8bXNoY19haGI+IGkgMTIgClsgICAgMC4zMDI5
NjZdIGJhaWthbF9jbGtfcHJvYmUgaW5kZXggMTMgbmFtZSA8bXNoY190eF94Mj4gaSAxMyAKWyAg
ICAwLjMwMzAxMF0gYmFpa2FsX2Nsa19wcm9iZSBpbmRleCAxNCBuYW1lIDxtc2hjX2I+IGkgMTQg
ClsgICAgMC4zMDMwNTRdIGJhaWthbF9jbGtfcHJvYmUgaW5kZXggMTUgbmFtZSA8bXNoY190bT4g
aSAxNSAKWyAgICAwLjMwMzA5OF0gYmFpa2FsX2Nsa19wcm9iZSBpbmRleCAxNiBuYW1lIDxtc2hj
X2NxZXRtPiBpIDE2IApbICAgIDAuMzAzMTQxXSBiYWlrYWxfY2xrX3Byb2JlIGluZGV4IDE3IG5h
bWUgPGh3YV9jbHU+IGkgMTcgClsgICAgMC4zMDMxODVdIGJhaWthbF9jbGtfcHJvYmUgaW5kZXgg
MTggbmFtZSA8aHdhX2NsdV9oZj4gaSAxOCAKWyAgICAwLjMwMzIyOF0gYmFpa2FsX2Nsa19wcm9i
ZSBpbmRleCAxOSBuYW1lIDxod2FfYXhpPiBpIDE5IApbICAgIDAuMzAzMjcxXSBiYWlrYWxfY2xr
X3Byb2JlIGluZGV4IDFhIG5hbWUgPHZkdV9heGk+IGkgMWEgClsgICAgMC4zMDMzMTRdIGJhaWth
bF9jbGtfcHJvYmUgaW5kZXggMWIgbmFtZSA8c21tdT4gaSAxYiAKWyAgICAwLjMwMzU4Ml0gYmFp
a2FsX2Nsa19wcm9iZSBpbmRleCAwIG5hbWUgPGNzcjUwbWh6PiBpIDAgClsgICAgMC4zMDM2MzVd
IGJhaWthbF9jbGtfcHJvYmUgaW5kZXggYSBuYW1lIDxnbWFjMF90eDI+IGkgMSAKWyAgICAwLjMw
MzY4OF0gYmFpa2FsX2Nsa19wcm9iZSBpbmRleCBkIG5hbWUgPGdtYWMxX3R4Mj4gaSAyIApbICAg
IDAuMzAzNzM5XSBiYWlrYWxfY2xrX3Byb2JlIGluZGV4IGYgbmFtZSA8aGRtaV9hY2xrPiBpIDMg
ClsgICAgMC4zMDM3OTBdIGJhaWthbF9jbGtfcHJvYmUgaW5kZXggMTEgbmFtZSA8aXNmcj4gaSA0
IApbICAgIDAuMzAzOTE0XSBiYWlrYWxfY2xrX3Byb2JlIGluZGV4IDAgbmFtZSA8cGl4ZWxjbGs+
IGkgMCAKWyAgICAwLjMwNzAwNl0gU2VyaWFsOiA4MjUwLzE2NTUwIGRyaXZlciwgNCBwb3J0cywg
SVJRIHNoYXJpbmcgZW5hYmxlZApbICAgIDAuMzA4MTQzXSBwcmludGs6IGNvbnNvbGUgW3R0eVMw
XSBkaXNhYmxlZApbICAgIDAuMzA4MTg1XSAyMDIzMDAwMC5zZXJpYWwwOiB0dHlTMCBhdCBNTUlP
IDB4MjAyMzAwMDAgKGlycSA9IDQxLCBiYXNlX2JhdWQgPSA0NjAxMjIpIGlzIGEgMTY1NTBBClsg
ICAgMS40NDY1NDJdIEZyZWVpbmcgaW5pdHJkIG1lbW9yeTogNDIxOTZLClsgICAgMS40NDg4NjJd
IHByaW50azogY29uc29sZSBbdHR5UzBdIGVuYWJsZWQKWyAgICAxLjQ0OTM1MV0gMjAyNDAwMDAu
c2VyaWFsMTogdHR5UzEgYXQgTU1JTyAweDIwMjQwMDAwIChpcnEgPSA0MiwgYmFzZV9iYXVkID0g
NDYwMTIyKSBpcyBhIDE2NTUwQQpbICAgIDEuOTAyNDEyXSBtc21fc2VyaWFsOiBkcml2ZXIgaW5p
dGlhbGl6ZWQKWyAgICAxLjkxMzc4NV0gYnJkOiBtb2R1bGUgbG9hZGVkClsgICAgMS45MjAwMzhd
IGxvb3A6IG1vZHVsZSBsb2FkZWQKWyAgICAxLjkyMzI4NV0gbWl0eDItYm1jIDAtMDAwODogbWl0
eDIgYm1jIHByb2JlClsgICAgMS45Mjg3NDddIG1pdHgyLWJtYyAwLTAwMDg6IEJNQyBib290cmVh
c29uWzBdLT4wClsgICAgMS45MzM3MjBdIG1pdHgyLWJtYyAwLTAwMDg6IEJNQyBib290cmVhc29u
WzFdLT4wClsgICAgMS45MzkyOTBdIG1pdHgyLWJtYyAwLTAwMDg6IEJNQyBleHRlbmRlZCBjYXBh
YmlsaXRpZXMgNjEKWyAgICAxLjk0NDc5OF0gbWl0eDItYm1jIDAtMDAwODogQk1DIHNlZW1zIHRv
IGJlIHZhbGlkClsgICAgMS45NDk3ODJdIGlucHV0OiBCTUMgaW5wdXQgZGV2IGFzIC9kZXZpY2Vz
L3BsYXRmb3JtL3NvYy8yMDI1MDAwMC5pMmMwL2kyYy0wLzAtMDAwOC9pbnB1dC9pbnB1dDAKWyAg
ICAxLjk1ODY4Nl0gbWl0eDItYm1jIDAtMDAwODogU3RhcnRpbmcgcG9sbGluZyB0aHJlYWQKWyAg
ICAxLjk2NDEzOV0gcGxhdGZvcm0gYm1jX3BpbmN0cmw6IEJNQyBwaW5jdHJsIHJlZ2lzdGVyZWQK
WyAgICAxLjk3MTE5Ml0gbGlicGh5OiBGaXhlZCBNRElPIEJ1czogcHJvYmVkClsgICAgMS45NzU0
MzZdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNic2VyaWFsX2dl
bmVyaWMKWyAgICAxLjk4MTk5N10gdXNic2VyaWFsOiBVU0IgU2VyaWFsIHN1cHBvcnQgcmVnaXN0
ZXJlZCBmb3IgZ2VuZXJpYwpbICAgIDEuOTg4MDM2XSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBp
bnRlcmZhY2UgZHJpdmVyIGNoMzQxClsgICAgMS45OTM1NDhdIHVzYnNlcmlhbDogVVNCIFNlcmlh
bCBzdXBwb3J0IHJlZ2lzdGVyZWQgZm9yIGNoMzQxLXVhcnQKWyAgICAxLjk5OTg0N10gdXNiY29y
ZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciBjcDIxMHgKWyAgICAyLjAwNTQ0Nl0g
dXNic2VyaWFsOiBVU0IgU2VyaWFsIHN1cHBvcnQgcmVnaXN0ZXJlZCBmb3IgY3AyMTB4ClsgICAg
Mi4wMTEzOTRdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgZnRkaV9z
aW8KWyAgICAyLjAxNzE2NV0gdXNic2VyaWFsOiBVU0IgU2VyaWFsIHN1cHBvcnQgcmVnaXN0ZXJl
ZCBmb3IgRlRESSBVU0IgU2VyaWFsIERldmljZQpbICAgIDIuMDI0NTA2XSB1c2Jjb3JlOiByZWdp
c3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHBsMjMwMwpbICAgIDIuMDMwMTA1XSB1c2JzZXJp
YWw6IFVTQiBTZXJpYWwgc3VwcG9ydCByZWdpc3RlcmVkIGZvciBwbDIzMDMKWyAgICAyLjAzNjE4
MV0gbW91c2VkZXY6IFBTLzIgbW91c2UgZGV2aWNlIGNvbW1vbiBmb3IgYWxsIG1pY2UKWyAgICAy
LjA0MTg4OV0gcnRjLWVmaSBydGMtZWZpLjA6IEJhaWthbC1NIFVFRkkgaGFzIG5vIGdldF90aW1l
ClsgICAgMi4wNDkyMzBdIHJ0Yy1wY2YyMTI3LWkyYyAwLTAwNTE6IHJlZ2lzdGVyZWQgYXMgcnRj
MApbICAgIDIuMDU0Nzc3XSBydGMtcGNmMjEyNy1pMmMgMC0wMDUxOiBzZXR0aW5nIHN5c3RlbSBj
bG9jayB0byAyMDIxLTEwLTA4VDE0OjE4OjMxIFVUQyAoMTYzMzcwMjcxMSkKWyAgICAyLjA2NDQw
M10gbGVkdHJpZy1jcHU6IHJlZ2lzdGVyZWQgdG8gaW5kaWNhdGUgYWN0aXZpdHkgb24gQ1BVcwpb
ICAgIDIuMDcwNjUyXSBTTUNDQzogU09DX0lEOiBBUkNIX1NPQ19JRCBub3QgaW1wbGVtZW50ZWQs
IHNraXBwaW5nIC4uLi4KWyAgICAyLjA3NzYyMl0gYXJtLWNjbiA5MDAwMDAwLmNjbjogTm8gYWNj
ZXNzIHRvIGludGVycnVwdHMsIHVzaW5nIHRpbWVyLgpbICAgIDIuMDg0OTY2XSBORVQ6IFJlZ2lz
dGVyZWQgUEZfSU5FVDYgcHJvdG9jb2wgZmFtaWx5ClsgICAgMi4wOTA1MTFdIFNlZ21lbnQgUm91
dGluZyB3aXRoIElQdjYKWyAgICAyLjA5NDIwMl0gUlBMIFNlZ21lbnQgUm91dGluZyB3aXRoIElQ
djYKWyAgICAyLjA5ODg5N10gcmVnaXN0ZXJlZCB0YXNrc3RhdHMgdmVyc2lvbiAxClsgICAgMi4x
MDMwMjJdIExvYWRpbmcgY29tcGlsZWQtaW4gWC41MDkgY2VydGlmaWNhdGVzClsgICAgMi4xMDkz
MTNdIExvYWRlZCBYLjUwOSBjZXJ0ICdCdWlsZCB0aW1lIGF1dG9nZW5lcmF0ZWQga2VybmVsIGtl
eTogM2Q5YzZkZTY5NGU4ODZlYmQyMDQzNzJmYTkyZGZlZDNjYmI0NWRkNicKWyAgICAyLjEyMzIx
Nl0genN3YXA6IGxvYWRlZCB1c2luZyBwb29sIHpzdGQvemJ1ZApbICAgIDIuMTI3OTk3XSBLZXkg
dHlwZSAuX2ZzY3J5cHQgcmVnaXN0ZXJlZApbICAgIDIuMTMyMDQ3XSBLZXkgdHlwZSAuZnNjcnlw
dCByZWdpc3RlcmVkClsgICAgMi4xMzU5ODVdIEtleSB0eXBlIGZzY3J5cHQtcHJvdmlzaW9uaW5n
IHJlZ2lzdGVyZWQKWyAgICAyLjE1MTIyNV0gS2V5IHR5cGUgZW5jcnlwdGVkIHJlZ2lzdGVyZWQK
WyAgICAyLjE1NTI4MF0gaW1hOiBObyBUUE0gY2hpcCBmb3VuZCwgYWN0aXZhdGluZyBUUE0tYnlw
YXNzIQpbICAgIDIuMTYwNzg5XSBpbWE6IEFsbG9jYXRlZCBoYXNoIGFsZ29yaXRobTogc2hhMQpb
ICAgIDIuMTY1MzU2XSBpbWE6IE5vIGFyY2hpdGVjdHVyZSBwb2xpY2llcyBmb3VuZApbICAgIDIu
MTY5OTMzXSBldm06IEluaXRpYWxpc2luZyBFVk0gZXh0ZW5kZWQgYXR0cmlidXRlczoKWyAgICAy
LjE3NTA4OF0gZXZtOiBzZWN1cml0eS5zZWxpbnV4ClsgICAgMi4xNzg0MTRdIGV2bTogc2VjdXJp
dHkuU01BQ0s2NApbICAgIDIuMTgxNzQwXSBldm06IHNlY3VyaXR5LlNNQUNLNjRFWEVDClsgICAg
Mi4xODU0MTJdIGV2bTogc2VjdXJpdHkuU01BQ0s2NFRSQU5TTVVURQpbICAgIDIuMTg5NTE5XSBl
dm06IHNlY3VyaXR5LlNNQUNLNjRNTUFQClsgICAgMi4xOTMxOTFdIGV2bTogc2VjdXJpdHkuYXBw
YXJtb3IKWyAgICAyLjE5NjYwNF0gZXZtOiBzZWN1cml0eS5pbWEKWyAgICAyLjE5OTU4M10gZXZt
OiBzZWN1cml0eS5jYXBhYmlsaXR5ClsgICAgMi4yMDMxNjhdIGV2bTogSE1BQyBhdHRyczogMHgx
ClsgICAgMi4yMDk3NTNdIGR3LWFwYi11YXJ0IDIwMjMwMDAwLnNlcmlhbDA6IGZvcmJpZCBETUEg
Zm9yIGtlcm5lbCBjb25zb2xlClsgICAgMi4yMjEyMDRdIEZyZWVpbmcgdW51c2VkIGtlcm5lbCBt
ZW1vcnk6IDYzMzZLClsgICAgMi4yMzY2NTVdIHJvZGF0YV90ZXN0OiBhbGwgdGVzdHMgd2VyZSBz
dWNjZXNzZnVsClsgICAgMi4yNDE0ODJdIFJ1biAvaW5pdCBhcyBpbml0IHByb2Nlc3MKWyAgICAy
LjI0NTE2MF0gICB3aXRoIGFyZ3VtZW50czoKWyAgICAyLjI0ODEzOV0gICAgIC9pbml0ClsgICAg
Mi4yNTA0MjBdICAgICB2bWxpbnV6ClsgICAgMi4yNTI4NzVdICAgd2l0aCBlbnZpcm9ubWVudDoK
WyAgICAyLjI1NjAyNl0gICAgIEhPTUU9LwpbICAgIDIuMjU4Mzk2XSAgICAgVEVSTT1saW51eApb
ICAgIDIuMjYxMTE0XSAgICAgYXV0b21hdGljPWh0dHAsbmV0d29yazpkaGNwLHNlcnZlcjoxMC40
Mi4wLjExMSxkaXJlY3Rvcnk6L2FsdGxpbnV4L3JlZ3VsYXIteGZjZS0yMDIxMTAwNi1hYXJjaDY0
LmlzbwpbICAgIDIuMjcxNjU2XSAgICAgc3RhZ2VuYW1lPWxpdmUKWyAgICAyLjI3NDcyMF0gICAg
IGVhcnlsY29uPXVhcnQ4MjUwLG1taW8zMiwweDIwMjMwMDAwClsgICAgMi4yNDAwNzRdIElOSVRS
QU1GUzogdmVyc2lvbiAyLjI0LjAKWyAgICAyLjI2NzcwNF0gSU5JVDogRW50ZXJpbmcgcnVubGV2
ZWw6IDMKWyAgICAyLjMwMjYzM10gU3RhcnRpbmcgc2hlbGwgc2VydmljZTogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbIERPTkUgXQpbICAgIDIuNDUzMjc3XSBQYXJzaW5nIGNtZGxp
bmUgYXJndW1lbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgRE9ORSBdClsgICAg
Mi43NjMxMThdIENyZWF0aW5nIC9ldGMvZnN0YWI6ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgWyBET05FIF0KWyAgICAyLjg1MTE3Ml0gTW91bnRpbmcgZmlsZXN5c3RlbSBbL2Rl
dl06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIERPTkUgXQpbICAgIDIuOTIwMTY3XSBN
b3VudGluZyBmaWxlc3lzdGVtIFsvc3lzXTogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsg
RE9ORSBdClsgICAgMy4wMzc4MjVdIE1vdW50aW5nIGZpbGVzeXN0ZW0gWy9ydW5dOiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgWyBET05FIF0KWyAgICAzLjIwOTA4M10gU2V0dGluZyBrZXJu
ZWwgcnVudGltZSBwYXJhbWV0ZXJzOiAgICAgICAgICAgICAgICAgICAgICBbIERPTkUgXQpbICAg
IDMuMzAxNDA5XSBMb2FkaW5nIG1vZHVsZXM6IFsgICAgMy40MzY5NThdIE5FVDogUmVnaXN0ZXJl
ZCBQRl9QQUNLRVQgcHJvdG9jb2wgZmFtaWx5ClsgICAgMy40NTcxNzRdIEZTLUNhY2hlOiBMb2Fk
ZWQKWyAgICAzLjQ5ODA2Ml0gUlBDOiBSZWdpc3RlcmVkIG5hbWVkIFVOSVggc29ja2V0IHRyYW5z
cG9ydCBtb2R1bGUuClsgICAgMy41MDQwMzddIFJQQzogUmVnaXN0ZXJlZCB1ZHAgdHJhbnNwb3J0
IG1vZHVsZS4KWyAgICAzLjUwODc2MV0gUlBDOiBSZWdpc3RlcmVkIHRjcCB0cmFuc3BvcnQgbW9k
dWxlLgpbICAgIDMuNTEzNDgxXSBSUEM6IFJlZ2lzdGVyZWQgdGNwIE5GU3Y0LjEgYmFja2NoYW5u
ZWwgdHJhbnNwb3J0IG1vZHVsZS4KWyAgICAzLjU2OTU0MF0gRlMtQ2FjaGU6IE5ldGZzICduZnMn
IHJlZ2lzdGVyZWQgZm9yIGNhY2hpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIERPTkUgXQpbICAgIDMuNTQ2
OTY3XSBTdGFydGluZyB1ZXZlbnRkIHNlcnZpY2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFsgRE9ORSBdClsgICAgMy43MTI1NjBdIFN0YXJ0aW5nIHVkZXZkIHNlcnZpY2U6ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBET05FIF0KWyAgICA0LjE5MjM3M10gU0NTSSBz
dWJzeXN0ZW0gaW5pdGlhbGl6ZWQKWyAgICA0LjIwMjgxOV0gYmFpa2FsLWR3bWFjIDMwMjQwMDAw
LmV0aDA6IElSUSBldGhfd2FrZV9pcnEgbm90IGZvdW5kClsgICAgNC4yMDYwNDBdIGxpYmF0YSB2
ZXJzaW9uIDMuMDAgbG9hZGVkLgpbICAgIDQuMjA5MDM1XSBiYWlrYWwtZHdtYWMgMzAyNDAwMDAu
ZXRoMDogSVJRIGV0aF9scGkgbm90IGZvdW5kClsgICAgNC4yMDkxMjhdIGJhaWthbC1kd21hYyAz
MDI0MDAwMC5ldGgwOiBQVFAgdXNlcyBtYWluIGNsb2NrClsgICAgNC4yMjQyNjFdIGJhaWthbC1k
d21hYyAzMDI0MDAwMC5ldGgwOiBCYWlrYWwgRWxlY3Ryb25pY3MgRFdNQUMgZ2x1ZSBkcml2ZXIK
WyAgICA0LjEwMzY1OF0gU3RhcnRpbmcgcG9sbGQgc2VydmljZTogIFsgICAgNC4yMzQxMzldIGFo
Y2kgMmM2MDAwMDAuc2F0YTA6IHN1cHBseSBhaGNpIG5vdCBmb3VuZCwgdXNpbmcgZHVtbXkgcmVn
dWxhdG9yClsgICAgNC4yNDIxMjhdIGFoY2kgMmM2MDAwMDAuc2F0YTA6IHN1cHBseSBwaHkgbm90
IGZvdW5kLCB1c2luZyBkdW1teSByZWd1bGF0b3IKWyAgICA0LjI0OTI2NV0gYWhjaSAyYzYwMDAw
MC5zYXRhMDogc3VwcGx5IHRhcmdldCBub3QgZm91bmQsIHVzaW5nIGR1bW15IHJlZ3VsYXRvcgpb
ICAgIDQuMjQ5NDcyXSBiYWlrYWwtZHdtYWMgMzAyNDAwMDAuZXRoMDogVXNlciBJRDogMHgxMCwg
U3lub3BzeXMgSUQ6IDB4MzcKWyAgICA0LjI1Njc2M10gYWhjaSAyYzYwMDAwMC5zYXRhMDogQUhD
SSAwMDAxLjAzMDAgMzIgc2xvdHMgMSBwb3J0cyA2IEdicHMgMHgxIGltcGwgcGxhdGZvcm0gbW9k
ZQpbICAgIDQuMjYzMzM1XSBiYWlrYWwtZHdtYWMgMzAyNDAwMDAuZXRoMDogCURXTUFDMTAwMApb
ICAgIDQuMjcxOTY4XSBhaGNpIDJjNjAwMDAwLnNhdGEwOiBmbGFnczogNjRiaXQgbmNxIHNudGYg
aWxjayBwbSBsZWQgY2xvIG9ubHkgcG1wIGZicyBwaW8gc2x1bSBwYXJ0IGNjYyBhcHN0IApbICAg
IDQuMjc2Nzc4XSBiYWlrYWwtZHdtYWMgMzAyNDAwMDAuZXRoMDogRE1BIEhXIGNhcGFiaWxpdHkg
cmVnaXN0ZXIgc3VwcG9ydGVkClsgICAgNC4yODY1NDZdIGFoY2kgMmM2MDAwMDAuc2F0YTA6IHBv
cnQgMCBpcyBub3QgY2FwYWJsZSBvZiBGQlMKWyAgICA0LjI5MzU5OV0gYmFpa2FsLWR3bWFjIDMw
MjQwMDAwLmV0aDA6IFJYIENoZWNrc3VtIE9mZmxvYWQgRW5naW5lIHN1cHBvcnRlZApbICAgIDQu
MzA2NDU3XSBiYWlrYWwtZHdtYWMgMzAyNDAwMDAuZXRoMDogQ09FIFR5cGUgMgpbICAgIDQuMzEx
MjczXSBiYWlrYWwtZHdtYWMgMzAyNDAwMDAuZXRoMDogVFggQ2hlY2tzdW0gaW5zZXJ0aW9uIHN1
cHBvcnRlZApbICAgIDQuMzE3OTA5XSBiYWlrYWwtZHdtYWMgMzAyNDAwMDAuZXRoMDogV2FrZS1V
cCBPbiBMYW4gc3VwcG9ydGVkClsgICAgNC4zMjQwMjZdIGJhaWthbC1kd21hYyAzMDI0MDAwMC5l
dGgwOiBFbmhhbmNlZC9BbHRlcm5hdGUgZGVzY3JpcHRvcnMKWyAgICA0LjMzMDU4M10gYmFpa2Fs
LWR3bWFjIDMwMjQwMDAwLmV0aDA6IEVuYWJsZWQgZXh0ZW5kZWQgZGVzY3JpcHRvcnMKWyAgICA0
LjMzNjk1OV0gYmFpa2FsLWR3bWFjIDMwMjQwMDAwLmV0aDA6IFJpbmcgbW9kZSBlbmFibGVkClsg
ICAgNC4zNDIzODJdIGJhaWthbC1kd21hYyAzMDI0MDAwMC5ldGgwOiBFbmFibGUgUlggTWl0aWdh
dGlvbiB2aWEgSFcgV2F0Y2hkb2cgVGltZXIKWyAgICA0LjM1NzQ3OF0geGhjaS1oY2QgMmM0MDAw
MDAuZHdjMzogeEhDSSBIb3N0IENvbnRyb2xsZXIKWyAgICA0LjM1OTE5N10gc2NzaSBob3N0MDog
YWhjaQpbICAgIDQuMzYyODg3XSB4aGNpLWhjZCAyYzQwMDAwMC5kd2MzOiBuZXcgVVNCIGJ1cyBy
ZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDEKWyAgICA0LjM2NjIxMF0gYXRhMTogU0FU
QSBtYXggVURNQS8xMzMgbW1pbyBbbWVtIDB4MmM2MDAwMDAtMHgyYzYwZmZmZl0gcG9ydCAweDEw
MCBpcnEgNTMKWyAgICA0LjM2NjU4NF0gbGlicGh5OiBzdG1tYWM6IHByb2JlZApbICAgIDQuMzY2
NTk4XSBsaWJwaHk6IGZ3bm9kZV9nZXRfcGh5X2lkOiBjb25zaWRlcmluZyAnbWljcmVsLGtzejkw
MzEnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgWyBbICAgIDQuMzY2NjAyXSBsaWJwaHk6IGZ3bm9kZV9nZXRfcGh5
X2lkOiBjb25zaWRlcmluZyAnZXRoZXJuZXQtcGh5LWlkMDAyMi4xNjIwJwpET05FICAgIDQuMzY2
NjEzXSBsaWJwaHk6IGZ3bm9kZV9nZXRfcGh5X2lkOiBjb25zaWRlcmluZyAnbWljcmVsLGtzejkw
MzEnCjEwbSBdClsgICAgNC4zNjY2MTVdIGxpYnBoeTogZndub2RlX2dldF9waHlfaWQ6IGNvbnNp
ZGVyaW5nICdldGhlcm5ldC1waHktaWQwMDIyLjE2MjAnClsgICAgNC4zNzM1MjJdIHhoY2ktaGNk
IDJjNDAwMDAwLmR3YzM6IGhjYyBwYXJhbXMgMHgwMjMwZjY2ZCBoY2kgdmVyc2lvbiAweDEwMCBx
dWlya3MgMHgwMDAwMDAwMDAwMDEwMDEwClsgICAgNC4zODE0MTRdIGFoY2kgMmM2MTAwMDAuc2F0
YTE6IHN1cHBseSBhaGNpIG5vdCBmb3VuZCwgdXNpbmcgZHVtbXkgcmVndWxhdG9yClsgICAgNC4z
ODM4MzldIGJhaWthbC1kd21hYyAzMDI1MDAwMC5ldGgxOiBJUlEgZXRoX3dha2VfaXJxIG5vdCBm
b3VuZApbICAgIDQuMzgzODQ3XSBiYWlrYWwtZHdtYWMgMzAyNTAwMDAuZXRoMTogSVJRIGV0aF9s
cGkgbm90IGZvdW5kClsgICAgNC4zODM5MzBdIGJhaWthbC1kd21hYyAzMDI1MDAwMC5ldGgxOiBQ
VFAgdXNlcyBtYWluIGNsb2NrClsgICAgNC4zODM5NDNdIGJhaWthbC1kd21hYyAzMDI1MDAwMC5l
dGgxOiBCYWlrYWwgRWxlY3Ryb25pY3MgRFdNQUMgZ2x1ZSBkcml2ZXIKWyAgICA0LjM4NDA3M10g
YmFpa2FsLWR3bWFjIDMwMjUwMDAwLmV0aDE6IFVzZXIgSUQ6IDB4MTAsIFN5bm9wc3lzIElEOiAw
eDM3ClsgICAgNC4zODQwODZdIGJhaWthbC1kd21hYyAzMDI1MDAwMC5ldGgxOiAJRFdNQUMxMDAw
ClsgICAgNC4zODQwOTRdIGJhaWthbC1kd21hYyAzMDI1MDAwMC5ldGgxOiBETUEgSFcgY2FwYWJp
bGl0eSByZWdpc3RlciBzdXBwb3J0ZWQKWyAgICA0LjM4NDA5N10gYmFpa2FsLWR3bWFjIDMwMjUw
MDAwLmV0aDE6IFJYIENoZWNrc3VtIE9mZmxvYWQgRW5naW5lIHN1cHBvcnRlZApbICAgIDQuMzg0
MTAwXSBiYWlrYWwtZHdtYWMgMzAyNTAwMDAuZXRoMTogQ09FIFR5cGUgMgpbICAgIDQuMzg0MTA0
XSBiYWlrYWwtZHdtYWMgMzAyNTAwMDAuZXRoMTogVFggQ2hlY2tzdW0gaW5zZXJ0aW9uIHN1cHBv
cnRlZApbICAgIDQuMzg0MTA3XSBiYWlrYWwtZHdtYWMgMzAyNTAwMDAuZXRoMTogV2FrZS1VcCBP
biBMYW4gc3VwcG9ydGVkClsgICAgNC4zODQxNzhdIGJhaWthbC1kd21hYyAzMDI1MDAwMC5ldGgx
OiBFbmhhbmNlZC9BbHRlcm5hdGUgZGVzY3JpcHRvcnMKWyAgICA0LjM4NDE4Ml0gYmFpa2FsLWR3
bWFjIDMwMjUwMDAwLmV0aDE6IEVuYWJsZWQgZXh0ZW5kZWQgZGVzY3JpcHRvcnMKWyAgICA0LjM4
NDE4NV0gYmFpa2FsLWR3bWFjIDMwMjUwMDAwLmV0aDE6IFJpbmcgbW9kZSBlbmFibGVkClsgICAg
NC4zODQxODhdIGJhaWthbC1kd21hYyAzMDI1MDAwMC5ldGgxOiBFbmFibGUgUlggTWl0aWdhdGlv
biB2aWEgSFcgV2F0Y2hkb2cgVGltZXIKWyAgICA0LjM4NDY5MF0geGhjaS1oY2QgMmM0MDAwMDAu
ZHdjMzogaXJxIDYwLCBpbyBtZW0gMHgyYzQwMDAwMApbICAgIDQuMzkxMDUzXSBhaGNpIDJjNjEw
MDAwLnNhdGExOiBzdXBwbHkgcGh5IG5vdCBmb3VuZCwgdXNpbmcgZHVtbXkgcmVndWxhdG9yClsg
ICAgNC4zOTk2MTFdIHhoY2ktaGNkIDJjNDAwMDAwLmR3YzM6IHhIQ0kgSG9zdCBDb250cm9sbGVy
ClsgICAgNC40MDE1NzZdIGxpYnBoeTogc3RtbWFjOiBwcm9iZWQKWyAgICA0LjQwMTU4M10gbGli
cGh5OiBmd25vZGVfZ2V0X3BoeV9pZDogY29uc2lkZXJpbmcgJ21pY3JlbCxrc3o5MDMxJwpbICAg
IDQuNDAxNTg2XSBsaWJwaHk6IGZ3bm9kZV9nZXRfcGh5X2lkOiBjb25zaWRlcmluZyAnZXRoZXJu
ZXQtcGh5LWlkMDAyMi4xNjIwJwpbICAgIDQuNDAxNTk0XSBsaWJwaHk6IGZ3bm9kZV9nZXRfcGh5
X2lkOiBjb25zaWRlcmluZyAnbWljcmVsLGtzejkwMzEnClsgICAgNC40MDE1OTZdIGxpYnBoeTog
Zndub2RlX2dldF9waHlfaWQ6IGNvbnNpZGVyaW5nICdldGhlcm5ldC1waHktaWQwMDIyLjE2MjAn
ClsgICAgNC40MDcxNzZdIGFoY2kgMmM2MTAwMDAuc2F0YTE6IHN1cHBseSB0YXJnZXQgbm90IGZv
dW5kLCB1c2luZyBkdW1teSByZWd1bGF0b3IKWyAgICA0LjQxNDk5MV0geGhjaS1oY2QgMmM0MDAw
MDAuZHdjMzogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciAyClsg
ICAgNC40MjQzNzBdIGFoY2kgMmM2MTAwMDAuc2F0YTE6IEFIQ0kgMDAwMS4wMzAwIDMyIHNsb3Rz
IDEgcG9ydHMgNiBHYnBzIDB4MSBpbXBsIHBsYXRmb3JtIG1vZGUKWyAgICA0LjQzMTM5NF0geGhj
aS1oY2QgMmM0MDAwMDAuZHdjMzogSG9zdCBzdXBwb3J0cyBVU0IgMy4wIFN1cGVyU3BlZWQKWyAg
ICA0LjQzNzU4M10gYWhjaSAyYzYxMDAwMC5zYXRhMTogZmxhZ3M6IDY0Yml0IG5jcSBzbnRmIGls
Y2sgcG0gbGVkIGNsbyBvbmx5IHBtcCBmYnMgcGlvIHNsdW0gcGFydCBjY2MgYXBzdCAKWyAgICA0
LjQ0Mzg3MF0gaHViIDEtMDoxLjA6IFVTQiBodWIgZm91bmQKWyAgICA0LjQ0ODk1NF0gYWhjaSAy
YzYxMDAwMC5zYXRhMTogcG9ydCAwIGlzIG5vdCBjYXBhYmxlIG9mIEZCUwpbICAgIDQuNDU2MDU2
XSBodWIgMS0wOjEuMDogMiBwb3J0cyBkZXRlY3RlZApbICAgIDQuNjI3MDQ4XSB1c2IgdXNiMjog
V2UgZG9uJ3Qga25vdyB0aGUgYWxnb3JpdGhtcyBmb3IgTFBNIGZvciB0aGlzIGhvc3QsIGRpc2Fi
bGluZyBMUE0uClsgICAgNC42MjcxNzldIHNjc2kgaG9zdDE6IGFoY2kKWyAgICA0LjYzNTc2NV0g
aHViIDItMDoxLjA6IFVTQiBodWIgZm91bmQKWyAgICA0LjYzODI2MV0gYXRhMjogU0FUQSBtYXgg
VURNQS8xMzMgbW1pbyBbbWVtIDB4MmM2MTAwMDAtMHgyYzYxZmZmZl0gcG9ydCAweDEwMCBpcnEg
NTQKWyAgICA0LjY0MTg3M10gaHViIDItMDoxLjA6IGNvbmZpZyBmYWlsZWQsIGh1YiBkb2Vzbid0
IGhhdmUgYW55IHBvcnRzISAoZXJyIC0xOSkKWyAgICA0LjY1NzMwMF0geGhjaS1oY2QgMmM1MDAw
MDAuZHdjMzogeEhDSSBIb3N0IENvbnRyb2xsZXIKWyAgICA0LjY2MjY0NV0geGhjaS1oY2QgMmM1
MDAwMDAuZHdjMzogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciAz
ClsgICAgNC42NzAzMTldIHhoY2ktaGNkIDJjNTAwMDAwLmR3YzM6IGhjYyBwYXJhbXMgMHgwMjY4
ZjY2ZCBoY2kgdmVyc2lvbiAweDEwMCBxdWlya3MgMHgwMDAwMDAwMDAwMDEwMDEwClsgICAgNC42
Nzk2MjJdIHhoY2ktaGNkIDJjNTAwMDAwLmR3YzM6IGlycSA2MywgaW8gbWVtIDB4MmM1MDAwMDAK
WyAgICA0LjY4NTU3MV0geGhjaS1oY2QgMmM1MDAwMDAuZHdjMzogeEhDSSBIb3N0IENvbnRyb2xs
ZXIKWyAgICA0LjY5MDkwNV0geGhjaS1oY2QgMmM1MDAwMDAuZHdjMzogbmV3IFVTQiBidXMgcmVn
aXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciA0ClsgICAgNC42OTg0MTRdIHhoY2ktaGNkIDJj
NTAwMDAwLmR3YzM6IEhvc3Qgc3VwcG9ydHMgVVNCIDMuMCBTdXBlclNwZWVkClsgICAgNC43MDUy
NDJdIGh1YiAzLTA6MS4wOiBVU0IgaHViIGZvdW5kClsgICAgNC43MDkwNTFdIGh1YiAzLTA6MS4w
OiA0IHBvcnRzIGRldGVjdGVkClsgICAgNC43MTM1MDBdIHVzYiB1c2I0OiBXZSBkb24ndCBrbm93
IHRoZSBhbGdvcml0aG1zIGZvciBMUE0gZm9yIHRoaXMgaG9zdCwgZGlzYWJsaW5nIExQTS4KWyAg
ICA0LjcyMTk0Ml0gaHViIDQtMDoxLjA6IFVTQiBodWIgZm91bmQKWyAgICA0LjcyNTczN10gaHVi
IDQtMDoxLjA6IDIgcG9ydHMgZGV0ZWN0ZWQKWyAgICA0Ljg0NTYyM10gYXRhMTogU0FUQSBsaW5r
IHVwIDYuMCBHYnBzIChTU3RhdHVzIDEzMyBTQ29udHJvbCAzMDApClsgICAgNC44NTE5NTFdIGF0
YTEuMDA6IEFUQS0xMTogU1BDQyBTb2xpZCBTdGF0ZSBEaXNrLCBTQkZNNjEuMywgbWF4IFVETUEv
MTMzClsgICAgNC44NTg4NDhdIGF0YTEuMDA6IDI1MDA2OTY4MCBzZWN0b3JzLCBtdWx0aSAxNjog
TEJBNDggTkNRIChkZXB0aCAzMikKWyAgICA0Ljg2NTUxMF0gYXRhMS4wMDogY29uZmlndXJlZCBm
b3IgVURNQS8xMzMKWyAgICA0Ljg3MDA1NV0gc2NzaSAwOjA6MDowOiBEaXJlY3QtQWNjZXNzICAg
ICBBVEEgICAgICBTUENDIFNvbGlkIFN0YXRlIDYxLjMgUFE6IDAgQU5TSTogNQpbICAgIDQuOTE5
NTg2XSB1c2IgMS0xOiBuZXcgaGlnaC1zcGVlZCBVU0IgZGV2aWNlIG51bWJlciAyIHVzaW5nIHho
Y2ktaGNkClsgICAgNC45NTE1ODNdIHVzYiAzLTM6IG5ldyBoaWdoLXNwZWVkIFVTQiBkZXZpY2Ug
bnVtYmVyIDIgdXNpbmcgeGhjaS1oY2QKWyAgICA0Ljk1NDgwMF0gYXRhMjogU0FUQSBsaW5rIGRv
d24gKFNTdGF0dXMgMCBTQ29udHJvbCAzMDApClsgICAgNC45Njg4MDddIHNkIDA6MDowOjA6IFtz
ZGFdIDI1MDA2OTY4MCA1MTItYnl0ZSBsb2dpY2FsIGJsb2NrczogKDEyOCBHQi8xMTkgR2lCKQpb
ICAgIDQuOTc2MzYxXSBzZCAwOjA6MDowOiBbc2RhXSBXcml0ZSBQcm90ZWN0IGlzIG9mZgpbICAg
IDQuOTgxMTgxXSBzZCAwOjA6MDowOiBbc2RhXSBNb2RlIFNlbnNlOiAwMCAzYSAwMCAwMApbICAg
IDQuOTg2Mjk1XSBzZCAwOjA6MDowOiBbc2RhXSBXcml0ZSBjYWNoZTogZW5hYmxlZCwgcmVhZCBj
YWNoZTogZW5hYmxlZCwgZG9lc24ndCBzdXBwb3J0IERQTyBvciBGVUEKWyAgICA1LjAwMzEyN10g
IHNkYTogc2RhMQpbICAgIDUuMDEzNjk4XSBzZCAwOjA6MDowOiBbc2RhXSBBdHRhY2hlZCBTQ1NJ
IGRpc2sKWyAgICA1LjAyNDExN10gcmFuZG9tOiBmYXN0IGluaXQgZG9uZQpbICAgIDUuMTE1MTAw
XSB1c2Itc3RvcmFnZSAzLTM6MS4wOiBVU0IgTWFzcyBTdG9yYWdlIGRldmljZSBkZXRlY3RlZApb
ICAgIDUuMTE1NTc1XSBodWIgMS0xOjEuMDogVVNCIGh1YiBmb3VuZApbICAgIDUuMTIxNTg0XSBz
Y3NpIGhvc3QyOiB1c2Itc3RvcmFnZSAzLTM6MS4wClsgICAgNS4xMjUwOTVdIGh1YiAxLTE6MS4w
OiA0IHBvcnRzIGRldGVjdGVkClsgICAgNS4xMjk0MTJdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3
IGludGVyZmFjZSBkcml2ZXIgdXNiLXN0b3JhZ2UKWyAgICA1LjE0MTcyMl0gdXNiY29yZTogcmVn
aXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciB1YXMKWyAgICA1LjIyMzU5NV0gdXNiIDMtNDog
bmV3IGhpZ2gtc3BlZWQgVVNCIGRldmljZSBudW1iZXIgMyB1c2luZyB4aGNpLWhjZApbICAgIDUu
NDA5MDQxXSBodWIgMy00OjEuMDogVVNCIGh1YiBmb3VuZApbICAgIDUuNDEyODc5XSBodWIgMy00
OjEuMDogNCBwb3J0cyBkZXRlY3RlZApbICAgIDUuNDIwNTgwXSB1c2IgMS0xLjE6IG5ldyBsb3ct
c3BlZWQgVVNCIGRldmljZSBudW1iZXIgMyB1c2luZyB4aGNpLWhjZApbICAgIDUuNjA1Nzc0XSBo
aWQ6IHJhdyBISUQgZXZlbnRzIGRyaXZlciAoQykgSmlyaSBLb3NpbmEKWyAgICA1LjYyMTE5N10g
dXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciB1c2JoaWQKWyAgICA1LjYy
Njc5OF0gdXNiaGlkOiBVU0IgSElEIGNvcmUgZHJpdmVyClsgICAgNS42MzQ4NTRdIGlucHV0OiBM
b2dpdGVjaCBVU0IgS2V5Ym9hcmQgYXMgL2RldmljZXMvcGxhdGZvcm0vc29jL3NvYzp1c2IyQDJj
NDAwMDAwLzJjNDAwMDAwLmR3YzMvdXNiMS8xLTEvMS0xLjEvMS0xLjE6MS4wLzAwMDM6MDQ2RDpD
MzFDLjAwMDEvaW5wdXQvaW5wdXQxClsgICAgNS42NzQ1ODVdIHVzYiAxLTEuMzogbmV3IGZ1bGwt
c3BlZWQgVVNCIGRldmljZSBudW1iZXIgNCB1c2luZyB4aGNpLWhjZApbICAgIDUuNzAwODE4XSBo
aWQtZ2VuZXJpYyAwMDAzOjA0NkQ6QzMxQy4wMDAxOiBpbnB1dCxoaWRyYXcwOiBVU0IgSElEIHYx
LjEwIEtleWJvYXJkIFtMb2dpdGVjaCBVU0IgS2V5Ym9hcmRdIG9uIHVzYi0yYzQwMDAwMC5kd2Mz
LTEuMS9pbnB1dDAKWyAgICA1LjcxMzY2OF0gaW5wdXQ6IExvZ2l0ZWNoIFVTQiBLZXlib2FyZCBD
b25zdW1lciBDb250cm9sIGFzIC9kZXZpY2VzL3BsYXRmb3JtL3NvYy9zb2M6dXNiMkAyYzQwMDAw
MC8yYzQwMDAwMC5kd2MzL3VzYjEvMS0xLzEtMS4xLzEtMS4xOjEuMS8wMDAzOjA0NkQ6QzMxQy4w
MDAyL2lucHV0L2lucHV0MgpbICAgIDUuNzgwNzUzXSBpbnB1dDogTG9naXRlY2ggVVNCIEtleWJv
YXJkIFN5c3RlbSBDb250cm9sIGFzIC9kZXZpY2VzL3BsYXRmb3JtL3NvYy9zb2M6dXNiMkAyYzQw
MDAwMC8yYzQwMDAwMC5kd2MzL3VzYjEvMS0xLzEtMS4xLzEtMS4xOjEuMS8wMDAzOjA0NkQ6QzMx
Qy4wMDAyL2lucHV0L2lucHV0MwpbICAgIDUuNzk2MTY3XSBoaWQtZ2VuZXJpYyAwMDAzOjA0NkQ6
QzMxQy4wMDAyOiBpbnB1dCxoaWRyYXcxOiBVU0IgSElEIHYxLjEwIERldmljZSBbTG9naXRlY2gg
VVNCIEtleWJvYXJkXSBvbiB1c2ItMmM0MDAwMDAuZHdjMy0xLjEvaW5wdXQxClsgICAgNS44NTM0
MjddIGlucHV0OiBMb2dpdGVjaCBVU0IgUmVjZWl2ZXIgYXMgL2RldmljZXMvcGxhdGZvcm0vc29j
L3NvYzp1c2IyQDJjNDAwMDAwLzJjNDAwMDAwLmR3YzMvdXNiMS8xLTEvMS0xLjMvMS0xLjM6MS4w
LzAwMDM6MDQ2RDpDNTJFLjAwMDMvaW5wdXQvaW5wdXQ0ClsgICAgNS45MTg3NjRdIGhpZC1nZW5l
cmljIDAwMDM6MDQ2RDpDNTJFLjAwMDM6IGlucHV0LGhpZHJhdzI6IFVTQiBISUQgdjEuMTEgS2V5
Ym9hcmQgW0xvZ2l0ZWNoIFVTQiBSZWNlaXZlcl0gb24gdXNiLTJjNDAwMDAwLmR3YzMtMS4zL2lu
cHV0MApbICAgIDUuOTM0MjQxXSBpbnB1dDogTG9naXRlY2ggVVNCIFJlY2VpdmVyIE1vdXNlIGFz
IC9kZXZpY2VzL3BsYXRmb3JtL3NvYy9zb2M6dXNiMkAyYzQwMDAwMC8yYzQwMDAwMC5kd2MzL3Vz
YjEvMS0xLzEtMS4zLzEtMS4zOjEuMS8wMDAzOjA0NkQ6QzUyRS4wMDA0L2lucHV0L2lucHV0NQpb
ICAgIDUuOTQ4OTcxXSBpbnB1dDogTG9naXRlY2ggVVNCIFJlY2VpdmVyIENvbnN1bWVyIENvbnRy
b2wgYXMgL2RldmljZXMvcGxhdGZvcm0vc29jL3NvYzp1c2IyQDJjNDAwMDAwLzJjNDAwMDAwLmR3
YzMvdXNiMS8xLTEvMS0xLjMvMS0xLjM6MS4xLzAwMDM6MDQ2RDpDNTJFLjAwMDQvaW5wdXQvaW5w
dXQ2ClsgICAgNi4wMTU3MTZdIGlucHV0OiBMb2dpdGVjaCBVU0IgUmVjZWl2ZXIgU3lzdGVtIENv
bnRyb2wgYXMgL2RldmljZXMvcGxhdGZvcm0vc29jL3NvYzp1c2IyQDJjNDAwMDAwLzJjNDAwMDAw
LmR3YzMvdXNiMS8xLTEvMS0xLjMvMS0xLjM6MS4xLzAwMDM6MDQ2RDpDNTJFLjAwMDQvaW5wdXQv
aW5wdXQ3ClsgICAgNi4wMzEyMDBdIGhpZC1nZW5lcmljIDAwMDM6MDQ2RDpDNTJFLjAwMDQ6IGlu
cHV0LGhpZGRldjk2LGhpZHJhdzM6IFVTQiBISUQgdjEuMTEgTW91c2UgW0xvZ2l0ZWNoIFVTQiBS
ZWNlaXZlcl0gb24gdXNiLTJjNDAwMDAwLmR3YzMtMS4zL2lucHV0MQpbICAgIDYuMTc2MjI3XSBz
Y3NpIDI6MDowOjA6IERpcmVjdC1BY2Nlc3MgICAgIFJlYWx0ZWsgIFJUTDkyMTBCLUNHICAgICAg
MS4wMCBQUTogMCBBTlNJOiA2ClsgICAgNi4xODc2NjZdIHNkIDI6MDowOjA6IFtzZGJdIDI1MDA2
OTY4MCA1MTItYnl0ZSBsb2dpY2FsIGJsb2NrczogKDEyOCBHQi8xMTkgR2lCKQpbICAgIDYuMTk2
OTc5XSBzZCAyOjA6MDowOiBbc2RiXSBXcml0ZSBQcm90ZWN0IGlzIG9mZgpbICAgIDYuMjAxODA2
XSBzZCAyOjA6MDowOiBbc2RiXSBNb2RlIFNlbnNlOiAzNyAwMCAwMCAwOApbICAgIDYuMjA4NjE1
XSBzZCAyOjA6MDowOiBbc2RiXSBXcml0ZSBjYWNoZTogZGlzYWJsZWQsIHJlYWQgY2FjaGU6IGVu
YWJsZWQsIGRvZXNuJ3Qgc3VwcG9ydCBEUE8gb3IgRlVBClsgICAgNi4yNDgxMjNdIEdQVDpQcmlt
YXJ5IGhlYWRlciB0aGlua3MgQWx0LiBoZWFkZXIgaXMgbm90IGF0IHRoZSBlbmQgb2YgdGhlIGRp
c2suClsgICAgNi4yNTU1NDldIEdQVDoyMTM4NTAzICE9IDI1MDA2OTY3OQpbICAgIDYuMjU5MTQy
XSBHUFQ6QWx0ZXJuYXRlIEdQVCBoZWFkZXIgbm90IGF0IHRoZSBlbmQgb2YgdGhlIGRpc2suClsg
ICAgNi4yNjUxNjFdIEdQVDoyMTM4NTAzICE9IDI1MDA2OTY3OQpbICAgIDYuMjY4NzQ4XSBHUFQ6
IFVzZSBHTlUgUGFydGVkIHRvIGNvcnJlY3QgR1BUIGVycm9ycy4KWyAgICA2LjI3MzkxNF0gIHNk
Yjogc2RiMSBzZGIyIHNkYjMKWyAgICA2LjI4MzMwMV0gc2QgMjowOjA6MDogW3NkYl0gQXR0YWNo
ZWQgU0NTSSBkaXNrClsgICAgNi43OTY2NzVdIE5ldHdvcmsgdXAgKGxvKTogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBET05FIF0KCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>