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

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

    <bug>
          <bug_id>54838</bug_id>
          
          <creation_ts>2025-06-18 16:34:20 +0300</creation_ts>
          <short_desc>podsec: При создании ключа gnupg2 для imagemaker не уточняет аргументы, по умолчанию в новых версиях Ed25519 =&gt; при скачивании из локального реестра образов `openpgp: invalid data: tag byte does not have MSB set`</short_desc>
          <delta_ts>2025-06-18 16:34:20 +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>podsec</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=52211</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Artem Varaksa">varaksaaa</reporter>
          <assigned_to name="kaf@altlinux.org">kaf</assigned_to>
          <cc>kaf</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>267402</commentid>
    <comment_count>0</comment_count>
      <attachid>18853</attachid>
    <who name="Artem Varaksa">varaksaaa</who>
    <bug_when>2025-06-18 16:34:20 +0300</bug_when>
    <thetext>Created attachment 18853
pgpdump

Примечание: в процессе написания и допроверки пришёл к выводу,
  что проблема именно в типе ключа по умолчанию, который можно поменять;
  полный ход рассуждений ниже. Желательно, чтобы podsec не давал возможность
  выбрать несовместимый тип ключа в gnupg2, особенно по умолчанию.


Шаги
====

* Достаточно одной серверной машины (ALT Server в минимальном профиле).
* Создать локальный реестр контейнеров и скопировать в него образы, например с registry.k8s.io (по шагам ниже).
* Попробовать инициализировать контейнер kubernetes на данной машине (по https://altlinux.org/Kubernetes).

Указать в шагах ниже переменные:
    * _repo          : Название репозитория (например sisyphus, p11, p10)
    * _registry_repo : Название репозитория в https://registry.altlinux.org - см. https://altlinux.org/Registry_(Новая_структура)
    * _version       : Проверяемую версию kubernetes (например 1.33 (sisyphus), 1.32 (p11), 1.28 (p10))

1. # export _version=1.33 &amp;&amp; \
    apt-get install -y podsec podsec-dev fuse-overlayfs trivy trivy-server python3-module-{tomli,requests} kubernetes$_version-kubeadm &amp;&amp; \
    podsec-create-policy $(hostname -i) &amp;&amp; \
    sed &apos;s|reject|insecureAcceptAnything|g&apos; -i /etc/containers/policy.json &amp;&amp; \
    podsec-create-services

2. # podsec-create-imagemakeruser imagemaker
    &gt; ввести пароль (например 1)
    &gt; настройки ключа оставить по умолчанию
    &gt; ввести полное имя imagemaker
    &gt; ввести адрес почты imagemaker@test.ru
    &gt; ввести пароль для gpg ключа (например 1qaz2wsx)
    &gt; остальное по умолчанию

3. # podsec-create-podmanusers poduser
    &gt; ввести пароль (например 1)

4. Скопировать образы в локальный реестр и подписать их:
    # ssh -o &quot;StrictHostKeyChecking no&quot; imagemaker@localhost
        imagemaker$ export _repo=&lt;repo&gt; _registry_repo=&lt;registry_repo&gt; _version=&lt;version&gt; &amp;&amp; \
            export _all_images=$(kubeadm config images list --image-repository registry.k8s.io 2&gt;/dev/null) &amp;&amp; \
            podman pull --tls-verify $_all_images &amp;&amp; \
            podman pull --tls-verify &quot;registry.altlinux.org/$_registry_repo/alt:latest&quot; &amp;&amp; \
            podman images | sort &amp;&amp; \
            for _image in $_all_images; do
                _local_image=$(echo $_image | sed &quot;s|registry.k8s.io|registry.local/$_repo|g&quot; | sed &quot;s|coredns/coredns|coredns|g&quot;) &amp;&amp; \
                podman tag &quot;$_image&quot; &quot;$_local_image&quot; &amp;&amp; \
                podman push --tls-verify=false --sign-by=imagemaker@test.ru &quot;$_local_image&quot;; \
            done &amp;&amp; \
            podman images | sort &amp;&amp; \
            exit

5. Настроить HTTPS-доступ к локальному реестру:
    # cd /etc/docker-registry/ &amp;&amp; \
        CA_KEY=ca_private_key.pem &amp;&amp; \
        CA_CERT=ca_cert.pem &amp;&amp; \
        KEY=key.pem &amp;&amp; \
        CERT=cert.pem &amp;&amp; \
        CSR=cert.csr &amp;&amp; \
        SIGNED_CERT=output.pem &amp;&amp; \
        CHAIN=combined.pem &amp;&amp; \
        SUBJECT=registry.local &amp;&amp; \
        CA_NAME=&quot;registry.local Test CA&quot; &amp;&amp; \
        CERT_NAME=&quot;registry.local Test Leaf Certificate&quot; &amp;&amp; \
        VALIDITY_DAYS=14 &amp;&amp; \
        STRENGTH=4096 &amp;&amp; \
            rm -rfv {,**/}*.{pem,csr,crl} &amp;&amp; \
            openssl req -x509 -days &quot;$VALIDITY_DAYS&quot; -newkey &quot;rsa:$STRENGTH&quot; -keyout &quot;$CA_KEY&quot; -out &quot;$CA_CERT&quot; -nodes -subj &quot;/C=RU/O=$CA_NAME/&quot; &amp;&amp; \
            openssl req -x509 -newkey &quot;rsa:$STRENGTH&quot; -keyout &quot;$KEY&quot; -out &quot;$CERT&quot; -sha256 -days &quot;$VALIDITY_DAYS&quot; -nodes -subj &quot;/C=RU/L=Moscow/O=$CERT_NAME/OU=QA/CN=$SUBJECT&quot; -addext &quot;subjectAltName = DNS:$SUBJECT&quot; &amp;&amp; \
            openssl req -new -key &quot;$KEY&quot; -out &quot;$CSR&quot; -subj &quot;/C=RU/L=Moscow/O=$CERT_NAME/OU=QA/CN=$SUBJECT&quot; -addext &quot;subjectAltName = DNS:$SUBJECT&quot; &amp;&amp; \
            openssl x509 -req -in &quot;$CSR&quot; -days &quot;$VALIDITY_DAYS&quot; -CA &quot;$CA_CERT&quot; -CAkey &quot;$CA_KEY&quot; -CAcreateserial -out &quot;$SIGNED_CERT&quot; -extfile &lt;(cat /etc/openssl/openssl.cnf &lt;(printf &quot;[my_san_ext]\nsubjectAltName=DNS:$SUBJECT&quot;)) -extensions my_san_ext &amp;&amp; \
            cat &quot;$SIGNED_CERT&quot; &quot;$CA_CERT&quot; &gt; &quot;$CHAIN&quot; &amp;&amp; \
        sed &apos;s/:80/:443/;/\[nosniff\]/a\  tls:\n    certificate: /etc/docker-registry/combined.pem\n    key: /etc/docker-registry/key.pem&apos; -i config.yml &amp;&amp; \
        cp ca_cert.pem /etc/pki/ca-trust/source/anchors/ &amp;&amp; \
        update-ca-trust &amp;&amp; \
        systemctl restart docker-registry &amp;&amp; \
        reboot

6. Развернуть kubernetes по https://www.altlinux.org/Kubernetes

Фактический результат
=====================

&gt; I0618 12:41:25.488746    1884 version.go:261] remote version is much newer: v1.33.1; falling back to: stable-1.32
&gt; [init] Using Kubernetes version: v1.32.5
&gt; [preflight] Running pre-flight checks
&gt; [preflight] Pulling images required for setting up a Kubernetes cluster
&gt; [preflight] This might take a minute or two, depending on the speed of your internet connection
&gt; [preflight] You can also perform this action beforehand using &apos;kubeadm config images pull&apos;
&gt; error execution phase preflight: [preflight] Some fatal errors occurred:
&gt; 	[ERROR ImagePull]: failed to pull image registry.local/p11/kube-apiserver:v1.32.5: failed to pull image registry.local/p11/kube-apiserver:v1.32.5: Source image rejected: openpgp: invalid data: tag byte does not have MSB set
&gt; 	[ERROR ImagePull]: failed to pull image registry.local/p11/kube-controller-manager:v1.32.5: failed to pull image registry.local/p11/kube-controller-manager:v1.32.5: Source image rejected: openpgp: invalid data: tag byte does not have MSB set
&gt; 	[ERROR ImagePull]: failed to pull image registry.local/p11/kube-scheduler:v1.32.5: failed to pull image registry.local/p11/kube-scheduler:v1.32.5: Source image rejected: openpgp: invalid data: tag byte does not have MSB set
&gt; 	[ERROR ImagePull]: failed to pull image registry.local/p11/kube-proxy:v1.32.5: failed to pull image registry.local/p11/kube-proxy:v1.32.5: Source image rejected: openpgp: invalid data: tag byte does not have MSB set
&gt; 	[ERROR ImagePull]: failed to pull image registry.local/p11/coredns:v1.11.3: failed to pull image registry.local/p11/coredns:v1.11.3: Source image rejected: openpgp: invalid data: tag byte does not have MSB set
&gt; 	[ERROR ImagePull]: failed to pull image registry.local/p11/pause:3.10: failed to pull image registry.local/p11/pause:3.10: Source image rejected: openpgp: invalid data: tag byte does not have MSB set
&gt; 	[ERROR ImagePull]: failed to pull image registry.local/p11/etcd:3.5.16-0: failed to pull image registry.local/p11/etcd:3.5.16-0: Source image rejected: openpgp: invalid data: tag byte does not have MSB set
&gt; [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
&gt; To see the stack trace of this error execute with --v=5 or higher


Ожидаемый результат
===================

Успешная инициализация кластера.


Дополнительно
=============

Проблема, похоже, в версии `gnupg2` и/или отсутствии конкретизации аргументов для него в podsec (может быть podman),
  а именно типа ключа (Ed25519 или RSA; по умолчанию в 2.4 Ed25519). Подробнее:

1. В sisyphus и p11 при установке следующих пакетов по зависимостям устанавливается `gnupg2`, а в p10 - `gnupg2-gostcrypto`:
    &gt; # apt-get install -y podsec podsec-dev fuse-overlayfs trivy trivy-server python3-module-{tomli,requests} kubernetes$_version-kubeadm
    (вдобавок к уже установленному везде `gnupg`)

2. На данный момент в sisyphus и p11 версия `gnupg2` - `2.4`, а в p10 - `2.2`.
    Если установить `gnupg2` в p10 после установки пакетов выше, то инициализация kubernetes тоже успешна.
    Это значит, что дело не в gostcrypto, а в версии `gnupg2`, которая в p11 и sisyphus новее.

3. При этом `gnupg2-gostcrypto` доступен и в p11 (но см. https://bugzilla.altlinux.org/52211).
    Если установить `gnupg2-gostcrypto` в p11 после установки пакетов выше, то инициализация kubernetes становится успешной.
    Это подтверждает, что проблема именно с новой версией `gnupg2`.

    Примечание: для установки gnupg2-gostcrypto может быть необходимо выполнить:

    # apt-repo set p11 &amp;&amp; \
      grep &apos;gostcrypto&apos; /etc/apt/sources.list.d/alt.list || sed -e &apos;/x86_64 /s/$/ gostcrypto/&apos; -i /etc/apt/sources.list.d/alt.list &amp;&amp; \
      apt-get update &amp;&amp; \
      apt-get install -y gnupg2-gostcrypto

4. Выполнив `# apt-get install -y pgpdump &amp;&amp; pgpdump /var/sigstore/keys/imagemaker.pgp`, можно увидеть,
    что ключ для imagemaker генерируется разный на разных системах:
    * Ed25519 в sisyphus, p11 при использовании `gnupg2 (2.4)`
    * RSA 3072bit в p10 при использовании `gnupg2 (2.2)`
    * RSA 2048bit в p10 и p11 при использовании `gnupg2-gostcrypto (2.2)`
    (см. вложение)

    Более того, если выбрать тип ключа RSA при создании imagemaker, то инициализация пройдёт успешно.

5. Это приводит к выводу выше.
    Также см. https://github.com/helm/helm/issues/2843#issuecomment-1462927026

Воспроизводимость
=================

Воспроизводится на виртуальных машинах:

[sisyphus] ALT Server 11.0 x86_64
podsec-1.2.2-alt1.noarch
gnupg-1.4.23-alt5.x86_64
gnupg2-2.4.3-alt1.x86_64

[p11] ALT Server 11.0 x86_64
podsec-1.1.6-alt4.noarch
gnupg-1.4.23-alt4.x86_64
gnupg2-2.4.3-alt1.x86_64


Не воспроизводится на виртуальной машине:

[p10] ALT Server 10.4 x86_64
podsec-1.0.10-alt7.noarch
gnupg-1.4.23-alt4.x86_64
gnupg2-gostcrypto-2.2.19-alt3.x86_64 или gnupg2-2.2.36-alt0.c10.1.x86_64

и в [p11] ALT Server 11.0 x86_64 только с gnupg2-gostcrypto-2.2.19-alt3.x86_64, иначе (с gnupg2-2.4.3-alt1.x86_64) воспроизводится</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>18853</attachid>
            <date>2025-06-18 16:34:20 +0300</date>
            <delta_ts>2025-06-18 16:34:20 +0300</delta_ts>
            <desc>pgpdump</desc>
            <filename>file_54838.txt</filename>
            <type>text/plain</type>
            <size>14796</size>
            <attacher name="Artem Varaksa">varaksaaa</attacher>
            
              <data encoding="base64">W3Npc3lwaHVzIGBnbnVwZzJgXQ0KDQo+IE9sZDogUHVibGljIEtleSBQYWNrZXQodGFnIDYpKDUx
IGJ5dGVzKQ0KPiAJVmVyIDQgLSBuZXcNCj4gCVB1YmxpYyBrZXkgY3JlYXRpb24gdGltZSAtIFdl
ZCBKdW4gMTggMTM6Mjk6MjggTVNLIDIwMjUNCj4gCVB1YiBhbGcgLSBFZERTQSBFZHdhcmRzLWN1
cnZlIERpZ2l0YWwgU2lnbmF0dXJlIEFsZ29yaXRobShwdWIgMjIpDQo+IAlFbGxpcHRpYyBDdXJ2
ZSAtIEVkMjU1MTkgKDB4MkIgMDYgMDEgMDQgMDEgREEgNDcgMEYgMDEpDQo+IAlFZERTQSBRKDI2
MyBiaXRzKSAtIC4uLg0KPiBPbGQ6IFVzZXIgSUQgUGFja2V0KHRhZyAxMykoMzEgYnl0ZXMpDQo+
IAlVc2VyIElEIC0gaW1hZ2VtYWtlciA8aW1hZ2VtYWtlckB0ZXN0LnJ1Pg0KPiBPbGQ6IFNpZ25h
dHVyZSBQYWNrZXQodGFnIDIpKDE0NyBieXRlcykNCj4gCVZlciA0IC0gbmV3DQo+IAlTaWcgdHlw
ZSAtIFBvc2l0aXZlIGNlcnRpZmljYXRpb24gb2YgYSBVc2VyIElEIGFuZCBQdWJsaWMgS2V5IHBh
Y2tldCgweDEzKS4NCj4gCVB1YiBhbGcgLSBFZERTQSBFZHdhcmRzLWN1cnZlIERpZ2l0YWwgU2ln
bmF0dXJlIEFsZ29yaXRobShwdWIgMjIpDQo+IAlIYXNoIGFsZyAtIFNIQTUxMihoYXNoIDEwKQ0K
PiAJSGFzaGVkIFN1YjogaXNzdWVyIGZpbmdlcnByaW50KHN1YiAzMykoMjEgYnl0ZXMpDQo+IAkg
djQgLQlGaW5nZXJwcmludCAtIGExIGNjIDI4IGRiIDBhIGMzIDI0IGRiIDNmIGRhIDNmIDVjIDEx
IDNjIDA3IDMwIDRmIDllIDBkIDBhDQo+IAlIYXNoZWQgU3ViOiBzaWduYXR1cmUgY3JlYXRpb24g
dGltZShzdWIgMikoNCBieXRlcykNCj4gCQlUaW1lIC0gV2VkIEp1biAxOCAxMzoyOToyOCBNU0sg
MjAyNQ0KPiAJSGFzaGVkIFN1Yjoga2V5IGZsYWdzKHN1YiAyNykoMSBieXRlcykNCj4gCQlGbGFn
IC0gVGhpcyBrZXkgbWF5IGJlIHVzZWQgdG8gY2VydGlmeSBvdGhlciBrZXlzDQo+IAkJRmxhZyAt
IFRoaXMga2V5IG1heSBiZSB1c2VkIHRvIHNpZ24gZGF0YQ0KPiAJSGFzaGVkIFN1YjogcHJlZmVy
cmVkIHN5bW1ldHJpYyBhbGdvcml0aG1zKHN1YiAxMSkoNCBieXRlcykNCj4gCQlTeW0gYWxnIC0g
QUVTIHdpdGggMjU2LWJpdCBrZXkoc3ltIDkpDQo+IAkJU3ltIGFsZyAtIEFFUyB3aXRoIDE5Mi1i
aXQga2V5KHN5bSA4KQ0KPiAJCVN5bSBhbGcgLSBBRVMgd2l0aCAxMjgtYml0IGtleShzeW0gNykN
Cj4gCQlTeW0gYWxnIC0gVHJpcGxlLURFUyhzeW0gMikNCj4gCUhhc2hlZCBTdWI6IHByZWZlcnJl
ZF9hZWFkX2FsZ29yaXRobXMoc3ViIDM0KSgxIGJ5dGVzKQ0KPiAJCUFFQUQgYWxnIC0gT0NCKGFl
YWQgMikNCj4gCUhhc2hlZCBTdWI6IHByZWZlcnJlZCBoYXNoIGFsZ29yaXRobXMoc3ViIDIxKSg1
IGJ5dGVzKQ0KPiAJCUhhc2ggYWxnIC0gU0hBNTEyKGhhc2ggMTApDQo+IAkJSGFzaCBhbGcgLSBT
SEEzODQoaGFzaCA5KQ0KPiAJCUhhc2ggYWxnIC0gU0hBMjU2KGhhc2ggOCkNCj4gCQlIYXNoIGFs
ZyAtIFNIQTIyNChoYXNoIDExKQ0KPiAJCUhhc2ggYWxnIC0gU0hBMShoYXNoIDIpDQo+IAlIYXNo
ZWQgU3ViOiBwcmVmZXJyZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtcyhzdWIgMjIpKDMgYnl0ZXMp
DQo+IAkJQ29tcCBhbGcgLSBaTElCIDxSRkMxOTUwPihjb21wIDIpDQo+IAkJQ29tcCBhbGcgLSBC
WmlwMihjb21wIDMpDQo+IAkJQ29tcCBhbGcgLSBaSVAgPFJGQzE5NTE+KGNvbXAgMSkNCj4gCUhh
c2hlZCBTdWI6IGZlYXR1cmVzKHN1YiAzMCkoMSBieXRlcykNCj4gCQlGbGFnIC0gTW9kaWZpY2F0
aW9uIGRldGVjdGlvbiAocGFja2V0cyAxOCBhbmQgMTkpDQo+IAlIYXNoZWQgU3ViOiBrZXkgc2Vy
dmVyIHByZWZlcmVuY2VzKHN1YiAyMykoMSBieXRlcykNCj4gCQlGbGFnIC0gTm8tbW9kaWZ5DQo+
IAlTdWI6IGlzc3VlciBrZXkgSUQoc3ViIDE2KSg4IGJ5dGVzKQ0KPiAJCUtleSBJRCAtIDB4MTEz
QzA3MzA0RjlFMEQwQQ0KPiAJSGFzaCBsZWZ0IDIgYnl0ZXMgLSA2MSBjZQ0KPiAJRWREU0EgUigy
NTYgYml0cykgLSAuLi4NCj4gCUVkRFNBIHMoMjU2IGJpdHMpIC0gLi4uDQo+IE9sZDogUHVibGlj
IFN1YmtleSBQYWNrZXQodGFnIDE0KSg1NiBieXRlcykNCj4gCVZlciA0IC0gbmV3DQo+IAlQdWJs
aWMga2V5IGNyZWF0aW9uIHRpbWUgLSBXZWQgSnVuIDE4IDEzOjI5OjI4IE1TSyAyMDI1DQo+IAlQ
dWIgYWxnIC0gRUNESCBFbGxpcHRpYyBDdXJ2ZSBEaWZmaWUtSGVsbG1hbiBBbGdvcml0aG0ocHVi
IDE4KQ0KPiAJRWxsaXB0aWMgQ3VydmUgLSBDdXJ2ZTI1NTE5ICgweDJCIDA2IDAxIDA0IDAxIDk3
IDU1IDAxIDA1IDAxKQ0KPiAJRUNESCBRKDI2MyBiaXRzKSAtIC4uLg0KPiAJRUNESCBLREYgcGFy
YW1zKDMyIGJpdHMpIC0gLi4uDQo+IAkJS0RGaGFzaElEOiAgCUhhc2ggYWxnIC0gU0hBMjU2KGhh
c2ggOCkNCj4gCQlLREZzeW1BbGdvSUQ6ICAJU3ltIGFsZyAtIEFFUyB3aXRoIDEyOC1iaXQga2V5
KHN5bSA3KQ0KPiBPbGQ6IFNpZ25hdHVyZSBQYWNrZXQodGFnIDIpKDEyMCBieXRlcykNCj4gCVZl
ciA0IC0gbmV3DQo+IAlTaWcgdHlwZSAtIFN1YmtleSBCaW5kaW5nIFNpZ25hdHVyZSgweDE4KS4N
Cj4gCVB1YiBhbGcgLSBFZERTQSBFZHdhcmRzLWN1cnZlIERpZ2l0YWwgU2lnbmF0dXJlIEFsZ29y
aXRobShwdWIgMjIpDQo+IAlIYXNoIGFsZyAtIFNIQTUxMihoYXNoIDEwKQ0KPiAJSGFzaGVkIFN1
YjogaXNzdWVyIGZpbmdlcnByaW50KHN1YiAzMykoMjEgYnl0ZXMpDQo+IAkgdjQgLQlGaW5nZXJw
cmludCAtIGExIGNjIDI4IGRiIDBhIGMzIDI0IGRiIDNmIGRhIDNmIDVjIDExIDNjIDA3IDMwIDRm
IDllIDBkIDBhDQo+IAlIYXNoZWQgU3ViOiBzaWduYXR1cmUgY3JlYXRpb24gdGltZShzdWIgMiko
NCBieXRlcykNCj4gCQlUaW1lIC0gV2VkIEp1biAxOCAxMzoyOToyOCBNU0sgMjAyNQ0KPiAJSGFz
aGVkIFN1Yjoga2V5IGZsYWdzKHN1YiAyNykoMSBieXRlcykNCj4gCQlGbGFnIC0gVGhpcyBrZXkg
bWF5IGJlIHVzZWQgdG8gZW5jcnlwdCBjb21tdW5pY2F0aW9ucw0KPiAJCUZsYWcgLSBUaGlzIGtl
eSBtYXkgYmUgdXNlZCB0byBlbmNyeXB0IHN0b3JhZ2UNCj4gCVN1YjogaXNzdWVyIGtleSBJRChz
dWIgMTYpKDggYnl0ZXMpDQo+IAkJS2V5IElEIC0gMHgxMTNDMDczMDRGOUUwRDBBDQo+IAlIYXNo
IGxlZnQgMiBieXRlcyAtIGI4IDA4DQo+IAlFZERTQSBSKDI1NiBiaXRzKSAtIC4uLg0KPiAJRWRE
U0EgcygyNTUgYml0cykgLSAuLi4NCg0KW3AxMSBgZ251cGcyYF0NCg0KPiBPbGQ6IFB1YmxpYyBL
ZXkgUGFja2V0KHRhZyA2KSg1MSBieXRlcykNCj4gCVZlciA0IC0gbmV3DQo+IAlQdWJsaWMga2V5
IGNyZWF0aW9uIHRpbWUgLSBXZWQgSnVuIDE4IDE1OjQ2OjQxIE1TSyAyMDI1DQo+IAlQdWIgYWxn
IC0gRWREU0EgRWR3YXJkcy1jdXJ2ZSBEaWdpdGFsIFNpZ25hdHVyZSBBbGdvcml0aG0ocHViIDIy
KQ0KPiAJRWxsaXB0aWMgQ3VydmUgLSBFZDI1NTE5ICgweDJCIDA2IDAxIDA0IDAxIERBIDQ3IDBG
IDAxKQ0KPiAJRWREU0EgUSgyNjMgYml0cykgLSAuLi4NCj4gT2xkOiBVc2VyIElEIFBhY2tldCh0
YWcgMTMpKDMxIGJ5dGVzKQ0KPiAJVXNlciBJRCAtIGltYWdlbWFrZXIgPGltYWdlbWFrZXJAdGVz
dC5ydT4NCj4gT2xkOiBTaWduYXR1cmUgUGFja2V0KHRhZyAyKSgxNDcgYnl0ZXMpDQo+IAlWZXIg
NCAtIG5ldw0KPiAJU2lnIHR5cGUgLSBQb3NpdGl2ZSBjZXJ0aWZpY2F0aW9uIG9mIGEgVXNlciBJ
RCBhbmQgUHVibGljIEtleSBwYWNrZXQoMHgxMykuDQo+IAlQdWIgYWxnIC0gRWREU0EgRWR3YXJk
cy1jdXJ2ZSBEaWdpdGFsIFNpZ25hdHVyZSBBbGdvcml0aG0ocHViIDIyKQ0KPiAJSGFzaCBhbGcg
LSBTSEE1MTIoaGFzaCAxMCkNCj4gCUhhc2hlZCBTdWI6IGlzc3VlciBmaW5nZXJwcmludChzdWIg
MzMpKDIxIGJ5dGVzKQ0KPiAJIHY0IC0JRmluZ2VycHJpbnQgLSAyOCAxNyAxZiBlNCAwZCA3ZCA3
NSA2YiBlNCA0MyAyNiA1YyA0NyBkYyAxMiA2YyAwZiA0MCAxNyBmYg0KPiAJSGFzaGVkIFN1Yjog
c2lnbmF0dXJlIGNyZWF0aW9uIHRpbWUoc3ViIDIpKDQgYnl0ZXMpDQo+IAkJVGltZSAtIFdlZCBK
dW4gMTggMTU6NDY6NDEgTVNLIDIwMjUNCj4gCUhhc2hlZCBTdWI6IGtleSBmbGFncyhzdWIgMjcp
KDEgYnl0ZXMpDQo+IAkJRmxhZyAtIFRoaXMga2V5IG1heSBiZSB1c2VkIHRvIGNlcnRpZnkgb3Ro
ZXIga2V5cw0KPiAJCUZsYWcgLSBUaGlzIGtleSBtYXkgYmUgdXNlZCB0byBzaWduIGRhdGENCj4g
CUhhc2hlZCBTdWI6IHByZWZlcnJlZCBzeW1tZXRyaWMgYWxnb3JpdGhtcyhzdWIgMTEpKDQgYnl0
ZXMpDQo+IAkJU3ltIGFsZyAtIEFFUyB3aXRoIDI1Ni1iaXQga2V5KHN5bSA5KQ0KPiAJCVN5bSBh
bGcgLSBBRVMgd2l0aCAxOTItYml0IGtleShzeW0gOCkNCj4gCQlTeW0gYWxnIC0gQUVTIHdpdGgg
MTI4LWJpdCBrZXkoc3ltIDcpDQo+IAkJU3ltIGFsZyAtIFRyaXBsZS1ERVMoc3ltIDIpDQo+IAlI
YXNoZWQgU3ViOiBwcmVmZXJyZWRfYWVhZF9hbGdvcml0aG1zKHN1YiAzNCkoMSBieXRlcykNCj4g
CQlBRUFEIGFsZyAtIE9DQihhZWFkIDIpDQo+IAlIYXNoZWQgU3ViOiBwcmVmZXJyZWQgaGFzaCBh
bGdvcml0aG1zKHN1YiAyMSkoNSBieXRlcykNCj4gCQlIYXNoIGFsZyAtIFNIQTUxMihoYXNoIDEw
KQ0KPiAJCUhhc2ggYWxnIC0gU0hBMzg0KGhhc2ggOSkNCj4gCQlIYXNoIGFsZyAtIFNIQTI1Niho
YXNoIDgpDQo+IAkJSGFzaCBhbGcgLSBTSEEyMjQoaGFzaCAxMSkNCj4gCQlIYXNoIGFsZyAtIFNI
QTEoaGFzaCAyKQ0KPiAJSGFzaGVkIFN1YjogcHJlZmVycmVkIGNvbXByZXNzaW9uIGFsZ29yaXRo
bXMoc3ViIDIyKSgzIGJ5dGVzKQ0KPiAJCUNvbXAgYWxnIC0gWkxJQiA8UkZDMTk1MD4oY29tcCAy
KQ0KPiAJCUNvbXAgYWxnIC0gQlppcDIoY29tcCAzKQ0KPiAJCUNvbXAgYWxnIC0gWklQIDxSRkMx
OTUxPihjb21wIDEpDQo+IAlIYXNoZWQgU3ViOiBmZWF0dXJlcyhzdWIgMzApKDEgYnl0ZXMpDQo+
IAkJRmxhZyAtIE1vZGlmaWNhdGlvbiBkZXRlY3Rpb24gKHBhY2tldHMgMTggYW5kIDE5KQ0KPiAJ
SGFzaGVkIFN1Yjoga2V5IHNlcnZlciBwcmVmZXJlbmNlcyhzdWIgMjMpKDEgYnl0ZXMpDQo+IAkJ
RmxhZyAtIE5vLW1vZGlmeQ0KPiAJU3ViOiBpc3N1ZXIga2V5IElEKHN1YiAxNikoOCBieXRlcykN
Cj4gCQlLZXkgSUQgLSAweDQ3REMxMjZDMEY0MDE3RkINCj4gCUhhc2ggbGVmdCAyIGJ5dGVzIC0g
NDMgM2UNCj4gCUVkRFNBIFIoMjU2IGJpdHMpIC0gLi4uDQo+IAlFZERTQSBzKDI1MyBiaXRzKSAt
IC4uLg0KPiBPbGQ6IFB1YmxpYyBTdWJrZXkgUGFja2V0KHRhZyAxNCkoNTYgYnl0ZXMpDQo+IAlW
ZXIgNCAtIG5ldw0KPiAJUHVibGljIGtleSBjcmVhdGlvbiB0aW1lIC0gV2VkIEp1biAxOCAxNTo0
Njo0MSBNU0sgMjAyNQ0KPiAJUHViIGFsZyAtIEVDREggRWxsaXB0aWMgQ3VydmUgRGlmZmllLUhl
bGxtYW4gQWxnb3JpdGhtKHB1YiAxOCkNCj4gCUVsbGlwdGljIEN1cnZlIC0gQ3VydmUyNTUxOSAo
MHgyQiAwNiAwMSAwNCAwMSA5NyA1NSAwMSAwNSAwMSkNCj4gCUVDREggUSgyNjMgYml0cykgLSAu
Li4NCj4gCUVDREggS0RGIHBhcmFtcygzMiBiaXRzKSAtIC4uLg0KPiAJCUtERmhhc2hJRDogIAlI
YXNoIGFsZyAtIFNIQTI1NihoYXNoIDgpDQo+IAkJS0RGc3ltQWxnb0lEOiAgCVN5bSBhbGcgLSBB
RVMgd2l0aCAxMjgtYml0IGtleShzeW0gNykNCj4gT2xkOiBTaWduYXR1cmUgUGFja2V0KHRhZyAy
KSgxMjAgYnl0ZXMpDQo+IAlWZXIgNCAtIG5ldw0KPiAJU2lnIHR5cGUgLSBTdWJrZXkgQmluZGlu
ZyBTaWduYXR1cmUoMHgxOCkuDQo+IAlQdWIgYWxnIC0gRWREU0EgRWR3YXJkcy1jdXJ2ZSBEaWdp
dGFsIFNpZ25hdHVyZSBBbGdvcml0aG0ocHViIDIyKQ0KPiAJSGFzaCBhbGcgLSBTSEE1MTIoaGFz
aCAxMCkNCj4gCUhhc2hlZCBTdWI6IGlzc3VlciBmaW5nZXJwcmludChzdWIgMzMpKDIxIGJ5dGVz
KQ0KPiAJIHY0IC0JRmluZ2VycHJpbnQgLSAyOCAxNyAxZiBlNCAwZCA3ZCA3NSA2YiBlNCA0MyAy
NiA1YyA0NyBkYyAxMiA2YyAwZiA0MCAxNyBmYg0KPiAJSGFzaGVkIFN1Yjogc2lnbmF0dXJlIGNy
ZWF0aW9uIHRpbWUoc3ViIDIpKDQgYnl0ZXMpDQo+IAkJVGltZSAtIFdlZCBKdW4gMTggMTU6NDY6
NDEgTVNLIDIwMjUNCj4gCUhhc2hlZCBTdWI6IGtleSBmbGFncyhzdWIgMjcpKDEgYnl0ZXMpDQo+
IAkJRmxhZyAtIFRoaXMga2V5IG1heSBiZSB1c2VkIHRvIGVuY3J5cHQgY29tbXVuaWNhdGlvbnMN
Cj4gCQlGbGFnIC0gVGhpcyBrZXkgbWF5IGJlIHVzZWQgdG8gZW5jcnlwdCBzdG9yYWdlDQo+IAlT
dWI6IGlzc3VlciBrZXkgSUQoc3ViIDE2KSg4IGJ5dGVzKQ0KPiAJCUtleSBJRCAtIDB4NDdEQzEy
NkMwRjQwMTdGQg0KPiAJSGFzaCBsZWZ0IDIgYnl0ZXMgLSA1MSA1Mg0KPiAJRWREU0EgUigyNTYg
Yml0cykgLSAuLi4NCj4gCUVkRFNBIHMoMjQ5IGJpdHMpIC0gLi4NCg0KW3AxMSBgZ251cGcyLWdv
c3RjcnlwdG9gXQ0KDQo+IE9sZDogUHVibGljIEtleSBQYWNrZXQodGFnIDYpKDI2OSBieXRlcykN
Cj4gCVZlciA0IC0gbmV3DQo+IAlQdWJsaWMga2V5IGNyZWF0aW9uIHRpbWUgLSBXZWQgSnVuIDE4
IDEzOjQwOjU1IE1TSyAyMDI1DQo+IAlQdWIgYWxnIC0gUlNBIEVuY3J5cHQgb3IgU2lnbihwdWIg
MSkNCj4gCVJTQSBuKDIwNDggYml0cykgLSAuLi4NCj4gCVJTQSBlKDE3IGJpdHMpIC0gLi4uDQo+
IE9sZDogVXNlciBJRCBQYWNrZXQodGFnIDEzKSgzMSBieXRlcykNCj4gCVVzZXIgSUQgLSBpbWFn
ZW1ha2VyIDxpbWFnZW1ha2VyQHRlc3QucnU+DQo+IE9sZDogU2lnbmF0dXJlIFBhY2tldCh0YWcg
MikoMzM0IGJ5dGVzKQ0KPiAJVmVyIDQgLSBuZXcNCj4gCVNpZyB0eXBlIC0gUG9zaXRpdmUgY2Vy
dGlmaWNhdGlvbiBvZiBhIFVzZXIgSUQgYW5kIFB1YmxpYyBLZXkgcGFja2V0KDB4MTMpLg0KPiAJ
UHViIGFsZyAtIFJTQSBFbmNyeXB0IG9yIFNpZ24ocHViIDEpDQo+IAlIYXNoIGFsZyAtIFNIQTI1
NihoYXNoIDgpDQo+IAlIYXNoZWQgU3ViOiBpc3N1ZXIgZmluZ2VycHJpbnQoc3ViIDMzKSgyMSBi
eXRlcykNCj4gCSB2NCAtCUZpbmdlcnByaW50IC0gNTQgMzIgNDQgN2IgZjMgMWUgZGIgNmQgOTcg
ZjggYmQgZmMgZmUgNDkgMzMgM2UgZGEgNWYgY2EgNGUNCj4gCUhhc2hlZCBTdWI6IHNpZ25hdHVy
ZSBjcmVhdGlvbiB0aW1lKHN1YiAyKSg0IGJ5dGVzKQ0KPiAJCVRpbWUgLSBXZWQgSnVuIDE4IDEz
OjQwOjU1IE1TSyAyMDI1DQo+IAlIYXNoZWQgU3ViOiBrZXkgZmxhZ3Moc3ViIDI3KSgxIGJ5dGVz
KQ0KPiAJCUZsYWcgLSBUaGlzIGtleSBtYXkgYmUgdXNlZCB0byBjZXJ0aWZ5IG90aGVyIGtleXMN
Cj4gCQlGbGFnIC0gVGhpcyBrZXkgbWF5IGJlIHVzZWQgdG8gc2lnbiBkYXRhDQo+IAlIYXNoZWQg
U3ViOiBwcmVmZXJyZWQgc3ltbWV0cmljIGFsZ29yaXRobXMoc3ViIDExKSg0IGJ5dGVzKQ0KPiAJ
CVN5bSBhbGcgLSBBRVMgd2l0aCAyNTYtYml0IGtleShzeW0gOSkNCj4gCQlTeW0gYWxnIC0gQUVT
IHdpdGggMTkyLWJpdCBrZXkoc3ltIDgpDQo+IAkJU3ltIGFsZyAtIEFFUyB3aXRoIDEyOC1iaXQg
a2V5KHN5bSA3KQ0KPiAJCVN5bSBhbGcgLSBUcmlwbGUtREVTKHN5bSAyKQ0KPiAJSGFzaGVkIFN1
YjogcHJlZmVycmVkIGhhc2ggYWxnb3JpdGhtcyhzdWIgMjEpKDUgYnl0ZXMpDQo+IAkJSGFzaCBh
bGcgLSBTSEE1MTIoaGFzaCAxMCkNCj4gCQlIYXNoIGFsZyAtIFNIQTM4NChoYXNoIDkpDQo+IAkJ
SGFzaCBhbGcgLSBTSEEyNTYoaGFzaCA4KQ0KPiAJCUhhc2ggYWxnIC0gU0hBMjI0KGhhc2ggMTEp
DQo+IAkJSGFzaCBhbGcgLSBTSEExKGhhc2ggMikNCj4gCUhhc2hlZCBTdWI6IHByZWZlcnJlZCBj
b21wcmVzc2lvbiBhbGdvcml0aG1zKHN1YiAyMikoMyBieXRlcykNCj4gCQlDb21wIGFsZyAtIFpM
SUIgPFJGQzE5NTA+KGNvbXAgMikNCj4gCQlDb21wIGFsZyAtIEJaaXAyKGNvbXAgMykNCj4gCQlD
b21wIGFsZyAtIFpJUCA8UkZDMTk1MT4oY29tcCAxKQ0KPiAJSGFzaGVkIFN1YjogZmVhdHVyZXMo
c3ViIDMwKSgxIGJ5dGVzKQ0KPiAJCUZsYWcgLSBNb2RpZmljYXRpb24gZGV0ZWN0aW9uIChwYWNr
ZXRzIDE4IGFuZCAxOSkNCj4gCUhhc2hlZCBTdWI6IGtleSBzZXJ2ZXIgcHJlZmVyZW5jZXMoc3Vi
IDIzKSgxIGJ5dGVzKQ0KPiAJCUZsYWcgLSBOby1tb2RpZnkNCj4gCVN1YjogaXNzdWVyIGtleSBJ
RChzdWIgMTYpKDggYnl0ZXMpDQo+IAkJS2V5IElEIC0gMHhGRTQ5MzMzRURBNUZDQTRFDQo+IAlI
YXNoIGxlZnQgMiBieXRlcyAtIDU3IDdjDQo+IAlSU0EgbV5kIG1vZCBuKDIwNDMgYml0cykgLSAu
Li4NCj4gCQktPiBQS0NTLTENCj4gT2xkOiBQdWJsaWMgU3Via2V5IFBhY2tldCh0YWcgMTQpKDI2
OSBieXRlcykNCj4gCVZlciA0IC0gbmV3DQo+IAlQdWJsaWMga2V5IGNyZWF0aW9uIHRpbWUgLSBX
ZWQgSnVuIDE4IDEzOjQwOjU1IE1TSyAyMDI1DQo+IAlQdWIgYWxnIC0gUlNBIEVuY3J5cHQgb3Ig
U2lnbihwdWIgMSkNCj4gCVJTQSBuKDIwNDggYml0cykgLSAuLi4NCj4gCVJTQSBlKDE3IGJpdHMp
IC0gLi4uDQo+IE9sZDogU2lnbmF0dXJlIFBhY2tldCh0YWcgMikoMzEwIGJ5dGVzKQ0KPiAJVmVy
IDQgLSBuZXcNCj4gCVNpZyB0eXBlIC0gU3Via2V5IEJpbmRpbmcgU2lnbmF0dXJlKDB4MTgpLg0K
PiAJUHViIGFsZyAtIFJTQSBFbmNyeXB0IG9yIFNpZ24ocHViIDEpDQo+IAlIYXNoIGFsZyAtIFNI
QTI1NihoYXNoIDgpDQo+IAlIYXNoZWQgU3ViOiBpc3N1ZXIgZmluZ2VycHJpbnQoc3ViIDMzKSgy
MSBieXRlcykNCj4gCSB2NCAtCUZpbmdlcnByaW50IC0gNTQgMzIgNDQgN2IgZjMgMWUgZGIgNmQg
OTcgZjggYmQgZmMgZmUgNDkgMzMgM2UgZGEgNWYgY2EgNGUNCj4gCUhhc2hlZCBTdWI6IHNpZ25h
dHVyZSBjcmVhdGlvbiB0aW1lKHN1YiAyKSg0IGJ5dGVzKQ0KPiAJCVRpbWUgLSBXZWQgSnVuIDE4
IDEzOjQwOjU1IE1TSyAyMDI1DQo+IAlIYXNoZWQgU3ViOiBrZXkgZmxhZ3Moc3ViIDI3KSgxIGJ5
dGVzKQ0KPiAJCUZsYWcgLSBUaGlzIGtleSBtYXkgYmUgdXNlZCB0byBlbmNyeXB0IGNvbW11bmlj
YXRpb25zDQo+IAkJRmxhZyAtIFRoaXMga2V5IG1heSBiZSB1c2VkIHRvIGVuY3J5cHQgc3RvcmFn
ZQ0KPiAJU3ViOiBpc3N1ZXIga2V5IElEKHN1YiAxNikoOCBieXRlcykNCj4gCQlLZXkgSUQgLSAw
eEZFNDkzMzNFREE1RkNBNEUNCj4gCUhhc2ggbGVmdCAyIGJ5dGVzIC0gNzIgNDQNCj4gCVJTQSBt
XmQgbW9kIG4oMjA0NSBiaXRzKSAtIC4uLg0KPiAJCS0+IFBLQ1MtMQ0KDQpbcDEwIGBnbnVwZzIt
Z29zdGNyeXB0b2BdDQoNCj4gT2xkOiBQdWJsaWMgS2V5IFBhY2tldCh0YWcgNikoMjY5IGJ5dGVz
KQ0KPiAJVmVyIDQgLSBuZXcNCj4gCVB1YmxpYyBrZXkgY3JlYXRpb24gdGltZSAtIFdlZCBKdW4g
MTggMTU6NTY6MTQgTVNLIDIwMjUNCj4gCVB1YiBhbGcgLSBSU0EgRW5jcnlwdCBvciBTaWduKHB1
YiAxKQ0KPiAJUlNBIG4oMjA0OCBiaXRzKSAtIC4uLg0KPiAJUlNBIGUoMTcgYml0cykgLSAuLi4N
Cj4gT2xkOiBVc2VyIElEIFBhY2tldCh0YWcgMTMpKDMxIGJ5dGVzKQ0KPiAJVXNlciBJRCAtIGlt
YWdlbWFrZXIgPGltYWdlbWFrZXJAdGVzdC5ydT4NCj4gT2xkOiBTaWduYXR1cmUgUGFja2V0KHRh
ZyAyKSgzMzQgYnl0ZXMpDQo+IAlWZXIgNCAtIG5ldw0KPiAJU2lnIHR5cGUgLSBQb3NpdGl2ZSBj
ZXJ0aWZpY2F0aW9uIG9mIGEgVXNlciBJRCBhbmQgUHVibGljIEtleSBwYWNrZXQoMHgxMykuDQo+
IAlQdWIgYWxnIC0gUlNBIEVuY3J5cHQgb3IgU2lnbihwdWIgMSkNCj4gCUhhc2ggYWxnIC0gU0hB
MjU2KGhhc2ggOCkNCj4gCUhhc2hlZCBTdWI6IGlzc3VlciBmaW5nZXJwcmludChzdWIgMzMpKDIx
IGJ5dGVzKQ0KPiAJIHY0IC0JRmluZ2VycHJpbnQgLSA3ZSBmYiAwZSAzMCA4ZSA0MCBhMSBiNSAw
ZSA1YSAzMiA5MyBmOCA5NCAwNiA3MiBmOCAzNSA3ZSBhOA0KPiAJSGFzaGVkIFN1Yjogc2lnbmF0
dXJlIGNyZWF0aW9uIHRpbWUoc3ViIDIpKDQgYnl0ZXMpDQo+IAkJVGltZSAtIFdlZCBKdW4gMTgg
MTU6NTY6MTQgTVNLIDIwMjUNCj4gCUhhc2hlZCBTdWI6IGtleSBmbGFncyhzdWIgMjcpKDEgYnl0
ZXMpDQo+IAkJRmxhZyAtIFRoaXMga2V5IG1heSBiZSB1c2VkIHRvIGNlcnRpZnkgb3RoZXIga2V5
cw0KPiAJCUZsYWcgLSBUaGlzIGtleSBtYXkgYmUgdXNlZCB0byBzaWduIGRhdGENCj4gCUhhc2hl
ZCBTdWI6IHByZWZlcnJlZCBzeW1tZXRyaWMgYWxnb3JpdGhtcyhzdWIgMTEpKDQgYnl0ZXMpDQo+
IAkJU3ltIGFsZyAtIEFFUyB3aXRoIDI1Ni1iaXQga2V5KHN5bSA5KQ0KPiAJCVN5bSBhbGcgLSBB
RVMgd2l0aCAxOTItYml0IGtleShzeW0gOCkNCj4gCQlTeW0gYWxnIC0gQUVTIHdpdGggMTI4LWJp
dCBrZXkoc3ltIDcpDQo+IAkJU3ltIGFsZyAtIFRyaXBsZS1ERVMoc3ltIDIpDQo+IAlIYXNoZWQg
U3ViOiBwcmVmZXJyZWQgaGFzaCBhbGdvcml0aG1zKHN1YiAyMSkoNSBieXRlcykNCj4gCQlIYXNo
IGFsZyAtIFNIQTUxMihoYXNoIDEwKQ0KPiAJCUhhc2ggYWxnIC0gU0hBMzg0KGhhc2ggOSkNCj4g
CQlIYXNoIGFsZyAtIFNIQTI1NihoYXNoIDgpDQo+IAkJSGFzaCBhbGcgLSBTSEEyMjQoaGFzaCAx
MSkNCj4gCQlIYXNoIGFsZyAtIFNIQTEoaGFzaCAyKQ0KPiAJSGFzaGVkIFN1YjogcHJlZmVycmVk
IGNvbXByZXNzaW9uIGFsZ29yaXRobXMoc3ViIDIyKSgzIGJ5dGVzKQ0KPiAJCUNvbXAgYWxnIC0g
WkxJQiA8UkZDMTk1MD4oY29tcCAyKQ0KPiAJCUNvbXAgYWxnIC0gQlppcDIoY29tcCAzKQ0KPiAJ
CUNvbXAgYWxnIC0gWklQIDxSRkMxOTUxPihjb21wIDEpDQo+IAlIYXNoZWQgU3ViOiBmZWF0dXJl
cyhzdWIgMzApKDEgYnl0ZXMpDQo+IAkJRmxhZyAtIE1vZGlmaWNhdGlvbiBkZXRlY3Rpb24gKHBh
Y2tldHMgMTggYW5kIDE5KQ0KPiAJSGFzaGVkIFN1Yjoga2V5IHNlcnZlciBwcmVmZXJlbmNlcyhz
dWIgMjMpKDEgYnl0ZXMpDQo+IAkJRmxhZyAtIE5vLW1vZGlmeQ0KPiAJU3ViOiBpc3N1ZXIga2V5
IElEKHN1YiAxNikoOCBieXRlcykNCj4gCQlLZXkgSUQgLSAweEY4OTQwNjcyRjgzNTdFQTgNCj4g
CUhhc2ggbGVmdCAyIGJ5dGVzIC0gNWEgNjQNCj4gCVJTQSBtXmQgbW9kIG4oMjA0OCBiaXRzKSAt
IC4uLg0KPiAJCS0+IFBLQ1MtMQ0KPiBPbGQ6IFB1YmxpYyBTdWJrZXkgUGFja2V0KHRhZyAxNCko
MjY5IGJ5dGVzKQ0KPiAJVmVyIDQgLSBuZXcNCj4gCVB1YmxpYyBrZXkgY3JlYXRpb24gdGltZSAt
IFdlZCBKdW4gMTggMTU6NTY6MTQgTVNLIDIwMjUNCj4gCVB1YiBhbGcgLSBSU0EgRW5jcnlwdCBv
ciBTaWduKHB1YiAxKQ0KPiAJUlNBIG4oMjA0OCBiaXRzKSAtIC4uLg0KPiAJUlNBIGUoMTcgYml0
cykgLSAuLi4NCj4gT2xkOiBTaWduYXR1cmUgUGFja2V0KHRhZyAyKSgzMTAgYnl0ZXMpDQo+IAlW
ZXIgNCAtIG5ldw0KPiAJU2lnIHR5cGUgLSBTdWJrZXkgQmluZGluZyBTaWduYXR1cmUoMHgxOCku
DQo+IAlQdWIgYWxnIC0gUlNBIEVuY3J5cHQgb3IgU2lnbihwdWIgMSkNCj4gCUhhc2ggYWxnIC0g
U0hBMjU2KGhhc2ggOCkNCj4gCUhhc2hlZCBTdWI6IGlzc3VlciBmaW5nZXJwcmludChzdWIgMzMp
KDIxIGJ5dGVzKQ0KPiAJIHY0IC0JRmluZ2VycHJpbnQgLSA3ZSBmYiAwZSAzMCA4ZSA0MCBhMSBi
NSAwZSA1YSAzMiA5MyBmOCA5NCAwNiA3MiBmOCAzNSA3ZSBhOA0KPiAJSGFzaGVkIFN1Yjogc2ln
bmF0dXJlIGNyZWF0aW9uIHRpbWUoc3ViIDIpKDQgYnl0ZXMpDQo+IAkJVGltZSAtIFdlZCBKdW4g
MTggMTU6NTY6MTQgTVNLIDIwMjUNCj4gCUhhc2hlZCBTdWI6IGtleSBmbGFncyhzdWIgMjcpKDEg
Ynl0ZXMpDQo+IAkJRmxhZyAtIFRoaXMga2V5IG1heSBiZSB1c2VkIHRvIGVuY3J5cHQgY29tbXVu
aWNhdGlvbnMNCj4gCQlGbGFnIC0gVGhpcyBrZXkgbWF5IGJlIHVzZWQgdG8gZW5jcnlwdCBzdG9y
YWdlDQo+IAlTdWI6IGlzc3VlciBrZXkgSUQoc3ViIDE2KSg4IGJ5dGVzKQ0KPiAJCUtleSBJRCAt
IDB4Rjg5NDA2NzJGODM1N0VBOA0KPiAJSGFzaCBsZWZ0IDIgYnl0ZXMgLSA4NCA3Mw0KPiAJUlNB
IG1eZCBtb2QgbigyMDQzIGJpdHMpIC0gLi4uDQo+IAkJLT4gUEtDUy0xDQoNCltwMTAgYGdudXBn
MmBdDQoNCj4gT2xkOiBQdWJsaWMgS2V5IFBhY2tldCh0YWcgNikoMzk3IGJ5dGVzKQ0KPiAJVmVy
IDQgLSBuZXcNCj4gCVB1YmxpYyBrZXkgY3JlYXRpb24gdGltZSAtIFdlZCBKdW4gMTggMTM6MjI6
MzUgTVNLIDIwMjUNCj4gCVB1YiBhbGcgLSBSU0EgRW5jcnlwdCBvciBTaWduKHB1YiAxKQ0KPiAJ
UlNBIG4oMzA3MiBiaXRzKSAtIC4uLg0KPiAJUlNBIGUoMTcgYml0cykgLSAuLi4NCj4gT2xkOiBV
c2VyIElEIFBhY2tldCh0YWcgMTMpKDMxIGJ5dGVzKQ0KPiAJVXNlciBJRCAtIGltYWdlbWFrZXIg
PGltYWdlbWFrZXJAdGVzdC5ydT4NCj4gT2xkOiBTaWduYXR1cmUgUGFja2V0KHRhZyAyKSg0NjIg
Ynl0ZXMpDQo+IAlWZXIgNCAtIG5ldw0KPiAJU2lnIHR5cGUgLSBQb3NpdGl2ZSBjZXJ0aWZpY2F0
aW9uIG9mIGEgVXNlciBJRCBhbmQgUHVibGljIEtleSBwYWNrZXQoMHgxMykuDQo+IAlQdWIgYWxn
IC0gUlNBIEVuY3J5cHQgb3IgU2lnbihwdWIgMSkNCj4gCUhhc2ggYWxnIC0gU0hBMjU2KGhhc2gg
OCkNCj4gCUhhc2hlZCBTdWI6IGlzc3VlciBmaW5nZXJwcmludChzdWIgMzMpKDIxIGJ5dGVzKQ0K
PiAJIHY0IC0JRmluZ2VycHJpbnQgLSA3ZCA2NSBkOSBmYSBjZCAxOSBhMyA3OCBmYSAzNSBjNyA1
ZiBmOCA5NyBhNyBkYSBjMCAyNSBiYSBlNQ0KPiAJSGFzaGVkIFN1Yjogc2lnbmF0dXJlIGNyZWF0
aW9uIHRpbWUoc3ViIDIpKDQgYnl0ZXMpDQo+IAkJVGltZSAtIFdlZCBKdW4gMTggMTM6MjI6MzUg
TVNLIDIwMjUNCj4gCUhhc2hlZCBTdWI6IGtleSBmbGFncyhzdWIgMjcpKDEgYnl0ZXMpDQo+IAkJ
RmxhZyAtIFRoaXMga2V5IG1heSBiZSB1c2VkIHRvIGNlcnRpZnkgb3RoZXIga2V5cw0KPiAJCUZs
YWcgLSBUaGlzIGtleSBtYXkgYmUgdXNlZCB0byBzaWduIGRhdGENCj4gCUhhc2hlZCBTdWI6IHBy
ZWZlcnJlZCBzeW1tZXRyaWMgYWxnb3JpdGhtcyhzdWIgMTEpKDQgYnl0ZXMpDQo+IAkJU3ltIGFs
ZyAtIEFFUyB3aXRoIDI1Ni1iaXQga2V5KHN5bSA5KQ0KPiAJCVN5bSBhbGcgLSBBRVMgd2l0aCAx
OTItYml0IGtleShzeW0gOCkNCj4gCQlTeW0gYWxnIC0gQUVTIHdpdGggMTI4LWJpdCBrZXkoc3lt
IDcpDQo+IAkJU3ltIGFsZyAtIFRyaXBsZS1ERVMoc3ltIDIpDQo+IAlIYXNoZWQgU3ViOiBwcmVm
ZXJyZWQgaGFzaCBhbGdvcml0aG1zKHN1YiAyMSkoNSBieXRlcykNCj4gCQlIYXNoIGFsZyAtIFNI
QTUxMihoYXNoIDEwKQ0KPiAJCUhhc2ggYWxnIC0gU0hBMzg0KGhhc2ggOSkNCj4gCQlIYXNoIGFs
ZyAtIFNIQTI1NihoYXNoIDgpDQo+IAkJSGFzaCBhbGcgLSBTSEEyMjQoaGFzaCAxMSkNCj4gCQlI
YXNoIGFsZyAtIFNIQTEoaGFzaCAyKQ0KPiAJSGFzaGVkIFN1YjogcHJlZmVycmVkIGNvbXByZXNz
aW9uIGFsZ29yaXRobXMoc3ViIDIyKSgzIGJ5dGVzKQ0KPiAJCUNvbXAgYWxnIC0gWkxJQiA8UkZD
MTk1MD4oY29tcCAyKQ0KPiAJCUNvbXAgYWxnIC0gQlppcDIoY29tcCAzKQ0KPiAJCUNvbXAgYWxn
IC0gWklQIDxSRkMxOTUxPihjb21wIDEpDQo+IAlIYXNoZWQgU3ViOiBmZWF0dXJlcyhzdWIgMzAp
KDEgYnl0ZXMpDQo+IAkJRmxhZyAtIE1vZGlmaWNhdGlvbiBkZXRlY3Rpb24gKHBhY2tldHMgMTgg
YW5kIDE5KQ0KPiAJSGFzaGVkIFN1Yjoga2V5IHNlcnZlciBwcmVmZXJlbmNlcyhzdWIgMjMpKDEg
Ynl0ZXMpDQo+IAkJRmxhZyAtIE5vLW1vZGlmeQ0KPiAJU3ViOiBpc3N1ZXIga2V5IElEKHN1YiAx
NikoOCBieXRlcykNCj4gCQlLZXkgSUQgLSAweEY4OTdBN0RBQzAyNUJBRTUNCj4gCUhhc2ggbGVm
dCAyIGJ5dGVzIC0gY2EgNDgNCj4gCVJTQSBtXmQgbW9kIG4oMzA3MiBiaXRzKSAtIC4uLg0KPiAJ
CS0+IFBLQ1MtMQ0KPiBPbGQ6IFB1YmxpYyBTdWJrZXkgUGFja2V0KHRhZyAxNCkoMzk3IGJ5dGVz
KQ0KPiAJVmVyIDQgLSBuZXcNCj4gCVB1YmxpYyBrZXkgY3JlYXRpb24gdGltZSAtIFdlZCBKdW4g
MTggMTM6MjI6MzUgTVNLIDIwMjUNCj4gCVB1YiBhbGcgLSBSU0EgRW5jcnlwdCBvciBTaWduKHB1
YiAxKQ0KPiAJUlNBIG4oMzA3MiBiaXRzKSAtIC4uLg0KPiAJUlNBIGUoMTcgYml0cykgLSAuLi4N
Cj4gT2xkOiBTaWduYXR1cmUgUGFja2V0KHRhZyAyKSg0MzggYnl0ZXMpDQo+IAlWZXIgNCAtIG5l
dw0KPiAJU2lnIHR5cGUgLSBTdWJrZXkgQmluZGluZyBTaWduYXR1cmUoMHgxOCkuDQo+IAlQdWIg
YWxnIC0gUlNBIEVuY3J5cHQgb3IgU2lnbihwdWIgMSkNCj4gCUhhc2ggYWxnIC0gU0hBMjU2KGhh
c2ggOCkNCj4gCUhhc2hlZCBTdWI6IGlzc3VlciBmaW5nZXJwcmludChzdWIgMzMpKDIxIGJ5dGVz
KQ0KPiAJIHY0IC0JRmluZ2VycHJpbnQgLSA3ZCA2NSBkOSBmYSBjZCAxOSBhMyA3OCBmYSAzNSBj
NyA1ZiBmOCA5NyBhNyBkYSBjMCAyNSBiYSBlNQ0KPiAJSGFzaGVkIFN1Yjogc2lnbmF0dXJlIGNy
ZWF0aW9uIHRpbWUoc3ViIDIpKDQgYnl0ZXMpDQo+IAkJVGltZSAtIFdlZCBKdW4gMTggMTM6MjI6
MzUgTVNLIDIwMjUNCj4gCUhhc2hlZCBTdWI6IGtleSBmbGFncyhzdWIgMjcpKDEgYnl0ZXMpDQo+
IAkJRmxhZyAtIFRoaXMga2V5IG1heSBiZSB1c2VkIHRvIGVuY3J5cHQgY29tbXVuaWNhdGlvbnMN
Cj4gCQlGbGFnIC0gVGhpcyBrZXkgbWF5IGJlIHVzZWQgdG8gZW5jcnlwdCBzdG9yYWdlDQo+IAlT
dWI6IGlzc3VlciBrZXkgSUQoc3ViIDE2KSg4IGJ5dGVzKQ0KPiAJCUtleSBJRCAtIDB4Rjg5N0E3
REFDMDI1QkFFNQ0KPiAJSGFzaCBsZWZ0IDIgYnl0ZXMgLSA1OSA5NA0KPiAJUlNBIG1eZCBtb2Qg
bigzMDY4IGJpdHMpIC0gLi4uDQo+IAkJLT4gUEtDUy0x
</data>

          </attachment>
      

    </bug>

</bugzilla>