<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>238720</bug_id>
          
          <creation_ts>2022-04-03 23:58:12 -0700</creation_ts>
          <short_desc>[WebGPU] Give objects a notion of invalidity</short_desc>
          <delta_ts>2022-04-07 14:45:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGPU</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>238719</dependson>
          <blocked>238722</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>djg</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1857742</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-04-03 23:58:12 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857743</commentid>
    <comment_count>1</comment_count>
      <attachid>456536</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-04-04 00:02:02 -0700</bug_when>
    <thetext>Created attachment 456536
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859449</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-04-07 14:44:27 -0700</bug_when>
    <thetext>Committed r292567 (?): &lt;https://commits.webkit.org/r292567&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859450</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-07 14:45:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/91445077&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456536</attachid>
            <date>2022-04-04 00:02:02 -0700</date>
            <delta_ts>2022-04-07 03:02:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>39552</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">Y29tbWl0IDUyYmY3YWM3NzBmNjk5NGZmMWJmYzlkZmI4OWYwNmYxNzg3MTYzYzEKQXV0aG9yOiBN
eWxlcyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4KRGF0ZTogICBNb24gQXByIDQg
MDA6MDE6MzMgMjAyMiAtMDcwMAoKICAgIEludmFsaWRpdHkKCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViR1BVL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCmluZGV4IGI2OTIzOWZm
MmUzMC4uYTgyNGQxYzZkYjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyOCBAQAorMjAyMi0wNC0w
MyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtX
ZWJHUFVdIEdpdmUgb2JqZWN0cyBhIG5vdGlvbiBvZiBpbnZhbGlkaXR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg3MjAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIHRoZSBiaWdnZXN0IGJs
b2NrZXIgZm9yIHJ1bm5pbmcgdGhlIFdlYkdQVSBjb25mb3JtYW5jZSB0ZXN0IHN1aXRlLiBXZWJH
UFUgaXMgZGVzaWduZWQKKyAgICAgICAgc3VjaCB0aGF0IGNyZWF0aW9uIHJvdXRpbmVzIGRvbid0
IHJldHVybiB1bmRlZmluZWQgaWYgdGhlIG9iamVjdCBjb3VsZG4ndCBiZSBjcmVhdGVkOyBpbnN0
ZWFkLAorICAgICAgICBpbiAiaW52YWxpZCIgb2JqZWN0IGlzIHJldHVybmVkLiBUaGlzIHBhdGNo
IGlzIGEgc3RlcCBvbiB0aGUgcGF0aCB0byBtYWtpbmcgY3JlYXRpb24gcm91dGluZXMKKyAgICAg
ICAgbmV2ZXIgcmV0dXJuIG51bGxwdHIuCisKKyAgICAgICAgU29tZSBvYmplY3RzIGhhdmUgZGVz
dHJveSgpIG1ldGhvZHMgd2hpY2ggbWFrZXMgdGhlIG9iamVjdCBpbnZhbGlkLiBUaG9zZSB3aWxs
IGJlIGltcGxlbWVudGVkCisgICAgICAgIGluIGEgZm9ydGhjb21pbmcgcGF0Y2guCisKKyAgICAg
ICAgKiBXZWJHUFUvQWRhcHRlci5oOgorICAgICAgICAoV2ViR1BVOjpBZGFwdGVyOjpjcmVhdGVJ
bnZhbGlkKToKKyAgICAgICAgKFdlYkdQVTo6QWRhcHRlcjo6aXNWYWxpZCBjb25zdCk6CisgICAg
ICAgICogV2ViR1BVL0FkYXB0ZXIubW06CisgICAgICAgIChXZWJHUFU6OkFkYXB0ZXI6OkFkYXB0
ZXIpOgorICAgICAgICAqIFdlYkdQVS9CaW5kR3JvdXAuaDoKKyAgICAgICAgKFdlYkdQVTo6Qmlu
ZEdyb3VwOjpjcmVhdGVJbnZhbGlkKToKKyAgICAgICAgKFdlYkdQVTo6QmluZEdyb3VwOjppc1Zh
bGlkIGNvbnN0KToKKyAgICAgICAgKiBXZWJHUFUvQmluZEdyb3VwLm1tOgorICAgICAgICAoV2Vi
R1BVOjpCaW5kR3JvdXA6OkJpbmRHcm91cCk6CisgICAgICAgICogV2ViR1BVL0JpbmRHcm91cExh
eW91dC5oOgorICAgICAgICAoV2ViR1BVOjpCaW5kR3JvdXBMYXlvdXQ6OmNyZWF0ZUludmFsaWQp
OgorICAgICAgICAoV2ViR1BVOjpCaW5kR3JvdXBMYXlvdXQ6OmlzVmFsaWQgY29uc3QpOgorICAg
ICAgICAqIFdlYkdQVS9CaW5kR3JvdXBMYXlvdXQubW06CisgICAgICAgIChXZWJHUFU6OkJpbmRH
cm91cExheW91dDo6QmluZEdyb3VwTGF5b3V0KToKKyAgICAgICAgKiBXZWJHUFUvQnVmZmVyLmg6
CisgICAgICAgIChXZWJHUFU6OkJ1ZmZlcjo6Y3JlYXRlSW52YWxpZCk6CisgICAgICAgIChXZWJH
UFU6OkJ1ZmZlcjo6aXNWYWxpZCBjb25zdCk6CisgICAgICAgICogV2ViR1BVL0J1ZmZlci5tbToK
KyAgICAgICAgKFdlYkdQVTo6QnVmZmVyOjpCdWZmZXIpOgorICAgICAgICAqIFdlYkdQVS9Db21t
YW5kQnVmZmVyLmg6CisgICAgICAgIChXZWJHUFU6OkNvbW1hbmRCdWZmZXI6OmNyZWF0ZUludmFs
aWQpOgorICAgICAgICAoV2ViR1BVOjpDb21tYW5kQnVmZmVyOjppc1ZhbGlkIGNvbnN0KToKKyAg
ICAgICAgKiBXZWJHUFUvQ29tbWFuZEJ1ZmZlci5tbToKKyAgICAgICAgKFdlYkdQVTo6Q29tbWFu
ZEJ1ZmZlcjo6Q29tbWFuZEJ1ZmZlcik6CisgICAgICAgICogV2ViR1BVL0NvbW1hbmRFbmNvZGVy
Lmg6CisgICAgICAgIChXZWJHUFU6OkNvbW1hbmRFbmNvZGVyOjpjcmVhdGVJbnZhbGlkKToKKyAg
ICAgICAgKFdlYkdQVTo6Q29tbWFuZEVuY29kZXI6OmlzVmFsaWQgY29uc3QpOgorICAgICAgICAq
IFdlYkdQVS9Db21tYW5kRW5jb2Rlci5tbToKKyAgICAgICAgKFdlYkdQVTo6Q29tbWFuZEVuY29k
ZXI6OkNvbW1hbmRFbmNvZGVyKToKKyAgICAgICAgKiBXZWJHUFUvQ29tcHV0ZVBhc3NFbmNvZGVy
Lmg6CisgICAgICAgIChXZWJHUFU6OkNvbXB1dGVQYXNzRW5jb2Rlcjo6Y3JlYXRlSW52YWxpZCk6
CisgICAgICAgIChXZWJHUFU6OkNvbXB1dGVQYXNzRW5jb2Rlcjo6aXNWYWxpZCBjb25zdCk6Cisg
ICAgICAgICogV2ViR1BVL0NvbXB1dGVQYXNzRW5jb2Rlci5tbToKKyAgICAgICAgKFdlYkdQVTo6
Q29tcHV0ZVBhc3NFbmNvZGVyOjpDb21wdXRlUGFzc0VuY29kZXIpOgorICAgICAgICAqIFdlYkdQ
VS9Db21wdXRlUGlwZWxpbmUuaDoKKyAgICAgICAgKFdlYkdQVTo6Q29tcHV0ZVBpcGVsaW5lOjpj
cmVhdGVJbnZhbGlkKToKKyAgICAgICAgKFdlYkdQVTo6Q29tcHV0ZVBpcGVsaW5lOjppc1ZhbGlk
IGNvbnN0KToKKyAgICAgICAgKiBXZWJHUFUvQ29tcHV0ZVBpcGVsaW5lLm1tOgorICAgICAgICAo
V2ViR1BVOjpDb21wdXRlUGlwZWxpbmU6OkNvbXB1dGVQaXBlbGluZSk6CisgICAgICAgICogV2Vi
R1BVL0RldmljZS5oOgorICAgICAgICAoV2ViR1BVOjpEZXZpY2U6OmNyZWF0ZUludmFsaWQpOgor
ICAgICAgICAoV2ViR1BVOjpEZXZpY2U6OmlzVmFsaWQgY29uc3QpOgorICAgICAgICAqIFdlYkdQ
VS9EZXZpY2UubW06CisgICAgICAgIChXZWJHUFU6OkRldmljZTo6RGV2aWNlKToKKyAgICAgICAg
KiBXZWJHUFUvSW5zdGFuY2UuaDoKKyAgICAgICAgKFdlYkdQVTo6SW5zdGFuY2U6OmNyZWF0ZUlu
dmFsaWQpOgorICAgICAgICAoV2ViR1BVOjpJbnN0YW5jZTo6aXNWYWxpZCBjb25zdCk6CisgICAg
ICAgICogV2ViR1BVL0luc3RhbmNlLm1tOgorICAgICAgICAoV2ViR1BVOjpJbnN0YW5jZTo6SW5z
dGFuY2UpOgorICAgICAgICAoV2ViR1BVOjptX2lzVmFsaWQpOgorICAgICAgICAqIFdlYkdQVS9Q
aXBlbGluZUxheW91dC5oOgorICAgICAgICAoV2ViR1BVOjpQaXBlbGluZUxheW91dDo6Y3JlYXRl
SW52YWxpZCk6CisgICAgICAgIChXZWJHUFU6OlBpcGVsaW5lTGF5b3V0Ojppc1ZhbGlkIGNvbnN0
KToKKyAgICAgICAgKiBXZWJHUFUvUGlwZWxpbmVMYXlvdXQubW06CisgICAgICAgIChXZWJHUFU6
OlBpcGVsaW5lTGF5b3V0OjpQaXBlbGluZUxheW91dCk6CisgICAgICAgICogV2ViR1BVL1F1ZXJ5
U2V0Lmg6CisgICAgICAgIChXZWJHUFU6OlF1ZXJ5U2V0OjpjcmVhdGVJbnZhbGlkKToKKyAgICAg
ICAgKFdlYkdQVTo6UXVlcnlTZXQ6OmlzVmFsaWQgY29uc3QpOgorICAgICAgICAqIFdlYkdQVS9R
dWVyeVNldC5tbToKKyAgICAgICAgKFdlYkdQVTo6UXVlcnlTZXQ6OlF1ZXJ5U2V0KToKKyAgICAg
ICAgKiBXZWJHUFUvUXVldWUuaDoKKyAgICAgICAgKFdlYkdQVTo6UXVldWU6OmNyZWF0ZUludmFs
aWQpOgorICAgICAgICAoV2ViR1BVOjpRdWV1ZTo6aXNWYWxpZCBjb25zdCk6CisgICAgICAgICog
V2ViR1BVL1F1ZXVlLm1tOgorICAgICAgICAoV2ViR1BVOjpRdWV1ZTo6UXVldWUpOgorICAgICAg
ICAqIFdlYkdQVS9SZW5kZXJCdW5kbGUuaDoKKyAgICAgICAgKFdlYkdQVTo6UmVuZGVyQnVuZGxl
OjpjcmVhdGVJbnZhbGlkKToKKyAgICAgICAgKFdlYkdQVTo6UmVuZGVyQnVuZGxlOjppc1ZhbGlk
IGNvbnN0KToKKyAgICAgICAgKiBXZWJHUFUvUmVuZGVyQnVuZGxlLm1tOgorICAgICAgICAoV2Vi
R1BVOjpSZW5kZXJCdW5kbGU6OlJlbmRlckJ1bmRsZSk6CisgICAgICAgICogV2ViR1BVL1JlbmRl
ckJ1bmRsZUVuY29kZXIuaDoKKyAgICAgICAgKFdlYkdQVTo6UmVuZGVyQnVuZGxlRW5jb2Rlcjo6
Y3JlYXRlSW52YWxpZCk6CisgICAgICAgIChXZWJHUFU6OlJlbmRlckJ1bmRsZUVuY29kZXI6Omlz
VmFsaWQgY29uc3QpOgorICAgICAgICAqIFdlYkdQVS9SZW5kZXJCdW5kbGVFbmNvZGVyLm1tOgor
ICAgICAgICAoV2ViR1BVOjpSZW5kZXJCdW5kbGVFbmNvZGVyOjpSZW5kZXJCdW5kbGVFbmNvZGVy
KToKKyAgICAgICAgKiBXZWJHUFUvUmVuZGVyUGFzc0VuY29kZXIuaDoKKyAgICAgICAgKFdlYkdQ
VTo6UmVuZGVyUGFzc0VuY29kZXI6OmNyZWF0ZUludmFsaWQpOgorICAgICAgICAoV2ViR1BVOjpS
ZW5kZXJQYXNzRW5jb2Rlcjo6aXNWYWxpZCBjb25zdCk6CisgICAgICAgICogV2ViR1BVL1JlbmRl
clBhc3NFbmNvZGVyLm1tOgorICAgICAgICAoV2ViR1BVOjpSZW5kZXJQYXNzRW5jb2Rlcjo6UmVu
ZGVyUGFzc0VuY29kZXIpOgorICAgICAgICAqIFdlYkdQVS9SZW5kZXJQaXBlbGluZS5oOgorICAg
ICAgICAoV2ViR1BVOjpSZW5kZXJQaXBlbGluZTo6Y3JlYXRlSW52YWxpZCk6CisgICAgICAgIChX
ZWJHUFU6OlJlbmRlclBpcGVsaW5lOjppc1ZhbGlkIGNvbnN0KToKKyAgICAgICAgKiBXZWJHUFUv
UmVuZGVyUGlwZWxpbmUubW06CisgICAgICAgIChXZWJHUFU6OlJlbmRlclBpcGVsaW5lOjpSZW5k
ZXJQaXBlbGluZSk6CisgICAgICAgICogV2ViR1BVL1NhbXBsZXIuaDoKKyAgICAgICAgKFdlYkdQ
VTo6U2FtcGxlcjo6Y3JlYXRlSW52YWxpZCk6CisgICAgICAgIChXZWJHUFU6OlNhbXBsZXI6Omlz
VmFsaWQgY29uc3QpOgorICAgICAgICAqIFdlYkdQVS9TYW1wbGVyLm1tOgorICAgICAgICAoV2Vi
R1BVOjpTYW1wbGVyOjpTYW1wbGVyKToKKyAgICAgICAgKiBXZWJHUFUvU2hhZGVyTW9kdWxlLmg6
CisgICAgICAgIChXZWJHUFU6OlNoYWRlck1vZHVsZTo6Y3JlYXRlSW52YWxpZCk6CisgICAgICAg
IChXZWJHUFU6OlNoYWRlck1vZHVsZTo6aXNWYWxpZCBjb25zdCk6CisgICAgICAgICogV2ViR1BV
L1NoYWRlck1vZHVsZS5tbToKKyAgICAgICAgKFdlYkdQVTo6U2hhZGVyTW9kdWxlOjpjb252ZXJ0
Q2hlY2tSZXN1bHQpOgorICAgICAgICAoV2ViR1BVOjpTaGFkZXJNb2R1bGU6OlNoYWRlck1vZHVs
ZSk6CisgICAgICAgIChXZWJHUFU6OlNoYWRlck1vZHVsZTo6Z2V0Q29tcGlsYXRpb25JbmZvKToK
KyAgICAgICAgKFdlYkdQVTo6U2hhZGVyTW9kdWxlOjphc3QgY29uc3QpOgorICAgICAgICAqIFdl
YkdQVS9UZXh0dXJlLmg6CisgICAgICAgIChXZWJHUFU6OlRleHR1cmU6OmNyZWF0ZUludmFsaWQp
OgorICAgICAgICAoV2ViR1BVOjpUZXh0dXJlOjppc1ZhbGlkIGNvbnN0KToKKyAgICAgICAgKiBX
ZWJHUFUvVGV4dHVyZS5tbToKKyAgICAgICAgKFdlYkdQVTo6VGV4dHVyZTo6VGV4dHVyZSk6Cisg
ICAgICAgICogV2ViR1BVL1RleHR1cmVWaWV3Lmg6CisgICAgICAgIChXZWJHUFU6OlRleHR1cmVW
aWV3OjpjcmVhdGVJbnZhbGlkKToKKyAgICAgICAgKFdlYkdQVTo6VGV4dHVyZVZpZXc6OmlzVmFs
aWQgY29uc3QpOgorICAgICAgICAqIFdlYkdQVS9UZXh0dXJlVmlldy5tbToKKyAgICAgICAgKFdl
YkdQVTo6VGV4dHVyZVZpZXc6OlRleHR1cmVWaWV3KToKKwogMjAyMi0wNC0wMyAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIEFkZCBP
YmplY3RCYXNlIGJhc2UgY2xhc3MgZm9yIFdlYkdQVSBvYmplY3RzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVy
LmgKaW5kZXggZjViYmFhNWJjNmU1Li44MWEyYjRkNGIxODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL0FkYXB0ZXIuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVy
LmgKQEAgLTQ3LDYgKzQ3LDEwIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IEFkYXB0ZXIoZGV2aWNlLCBpbnN0YW5jZSkpOwogICAgIH0KKyAgICBzdGF0aWMg
UmVmPEFkYXB0ZXI+IGNyZWF0ZUludmFsaWQoSW5zdGFuY2UmIGluc3RhbmNlKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQWRhcHRlcihpbnN0YW5jZSkpOworICAgIH0KIAog
ICAgIH5BZGFwdGVyKCk7CiAKQEAgLTU2LDggKzYwLDExIEBAIHB1YmxpYzoKICAgICBib29sIGhh
c0ZlYXR1cmUoV0dQVUZlYXR1cmVOYW1lKTsKICAgICB2b2lkIHJlcXVlc3REZXZpY2UoY29uc3Qg
V0dQVURldmljZURlc2NyaXB0b3ImLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdHUFVSZXF1ZXN0
RGV2aWNlU3RhdHVzLCBSZWZQdHI8RGV2aWNlPiYmLCBTdHJpbmcmJik+JiYgY2FsbGJhY2spOwog
CisgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gbV9kZXZpY2U7IH0KKwogcHJpdmF0
ZToKICAgICBBZGFwdGVyKGlkPE1UTERldmljZT4sIEluc3RhbmNlJik7CisgICAgQWRhcHRlcihJ
bnN0YW5jZSYpOwogCiAgICAgY29uc3QgaWQ8TVRMRGV2aWNlPiBtX2RldmljZSB7IG5pbCB9Owog
ICAgIGNvbnN0IFJlZjxJbnN0YW5jZT4gbV9pbnN0YW5jZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL0FkYXB0ZXIubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLm1t
CmluZGV4IDYwMGQxZDZlN2JmMC4uMmNkZmU5MjQ2Y2RjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9BZGFwdGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIu
bW0KQEAgLTM5LDYgKzM5LDExIEBAIEFkYXB0ZXI6OkFkYXB0ZXIoaWQ8TVRMRGV2aWNlPiBkZXZp
Y2UsIEluc3RhbmNlJiBpbnN0YW5jZSkKIHsKIH0KIAorQWRhcHRlcjo6QWRhcHRlcihJbnN0YW5j
ZSYgaW5zdGFuY2UpCisgICAgOiBtX2luc3RhbmNlKGluc3RhbmNlKQoreworfQorCiBBZGFwdGVy
Ojp+QWRhcHRlcigpID0gZGVmYXVsdDsKIAogc2l6ZV90IEFkYXB0ZXI6OmVudW1lcmF0ZUZlYXR1
cmVzKFdHUFVGZWF0dXJlTmFtZSopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9C
aW5kR3JvdXAuaCBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0JpbmRHcm91cC5oCmluZGV4IDBmZDY5
N2JlNTVjZS4uN2U4YTJjNzE4Y2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9C
aW5kR3JvdXAuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9CaW5kR3JvdXAuaApAQCAtNDQs
MTcgKzQ0LDI0IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IEJpbmRHcm91cCh2ZXJ0ZXhBcmd1bWVudEJ1ZmZlciwgZnJhZ21lbnRBcmd1bWVudEJ1ZmZlciwg
Y29tcHV0ZUFyZ3VtZW50QnVmZmVyLCBkZXZpY2UpKTsKICAgICB9CisgICAgc3RhdGljIFJlZjxC
aW5kR3JvdXA+IGNyZWF0ZUludmFsaWQoRGV2aWNlJiBkZXZpY2UpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBCaW5kR3JvdXAoZGV2aWNlKSk7CisgICAgfQogCiAgICAgfkJp
bmRHcm91cCgpOwogCiAgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJik7CiAKKyAgICBib29sIGlz
VmFsaWQoKSBjb25zdCB7IHJldHVybiBtX3ZlcnRleEFyZ3VtZW50QnVmZmVyIHx8IG1fZnJhZ21l
bnRBcmd1bWVudEJ1ZmZlciB8fCBtX2NvbXB1dGVBcmd1bWVudEJ1ZmZlcjsgfQorCiAgICAgaWQ8
TVRMQnVmZmVyPiB2ZXJ0ZXhBcmd1bWVudEJ1ZmZlcigpIGNvbnN0IHsgcmV0dXJuIG1fdmVydGV4
QXJndW1lbnRCdWZmZXI7IH0KICAgICBpZDxNVExCdWZmZXI+IGZyYWdtZW50QXJndW1lbnRCdWZm
ZXIoKSBjb25zdCB7IHJldHVybiBtX2ZyYWdtZW50QXJndW1lbnRCdWZmZXI7IH0KICAgICBpZDxN
VExCdWZmZXI+IGNvbXB1dGVBcmd1bWVudEJ1ZmZlcigpIGNvbnN0IHsgcmV0dXJuIG1fY29tcHV0
ZUFyZ3VtZW50QnVmZmVyOyB9CiAKIHByaXZhdGU6CiAgICAgQmluZEdyb3VwKGlkPE1UTEJ1ZmZl
cj4gdmVydGV4QXJndW1lbnRCdWZmZXIsIGlkPE1UTEJ1ZmZlcj4gZnJhZ21lbnRBcmd1bWVudEJ1
ZmZlciwgaWQ8TVRMQnVmZmVyPiBjb21wdXRlQXJndW1lbnRCdWZmZXIsIERldmljZSYpOworICAg
IEJpbmRHcm91cChEZXZpY2UmKTsKIAogICAgIGNvbnN0IGlkPE1UTEJ1ZmZlcj4gbV92ZXJ0ZXhB
cmd1bWVudEJ1ZmZlciB7IG5pbCB9OwogICAgIGNvbnN0IGlkPE1UTEJ1ZmZlcj4gbV9mcmFnbWVu
dEFyZ3VtZW50QnVmZmVyIHsgbmlsIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQ
VS9CaW5kR3JvdXAubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9CaW5kR3JvdXAubW0KaW5kZXgg
NWExNGFlNjYwN2Y2Li5lZjQ0ZGNlMmMxZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL0JpbmRHcm91cC5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9CaW5kR3JvdXAubW0K
QEAgLTEyMiw2ICsxMjIsMTEgQEAgQmluZEdyb3VwOjpCaW5kR3JvdXAoaWQ8TVRMQnVmZmVyPiB2
ZXJ0ZXhBcmd1bWVudEJ1ZmZlciwgaWQ8TVRMQnVmZmVyPiBmcmFnbWVudEEKIHsKIH0KIAorQmlu
ZEdyb3VwOjpCaW5kR3JvdXAoRGV2aWNlJiBkZXZpY2UpCisgICAgOiBPYmplY3RCYXNlKGRldmlj
ZSkKK3sKK30KKwogQmluZEdyb3VwOjp+QmluZEdyb3VwKCkgPSBkZWZhdWx0OwogCiB2b2lkIEJp
bmRHcm91cDo6c2V0TGFiZWwoU3RyaW5nJiYgbGFiZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9CaW5kR3JvdXBMYXlvdXQuaCBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0JpbmRH
cm91cExheW91dC5oCmluZGV4IDI3NmY5MzRlMGY3YS4uODBkODUxNTQzZTBiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9CaW5kR3JvdXBMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9CaW5kR3JvdXBMYXlvdXQuaApAQCAtNDQsMTEgKzQ0LDE3IEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEJpbmRHcm91cExheW91dCh2ZXJ0
ZXhBcmd1bWVudEVuY29kZXIsIGZyYWdtZW50QXJndW1lbnRFbmNvZGVyLCBjb21wdXRlQXJndW1l
bnRFbmNvZGVyLCBkZXZpY2UpKTsKICAgICB9CisgICAgc3RhdGljIFJlZjxCaW5kR3JvdXBMYXlv
dXQ+IGNyZWF0ZUludmFsaWQoRGV2aWNlJiBkZXZpY2UpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBCaW5kR3JvdXBMYXlvdXQoZGV2aWNlKSk7CisgICAgfQogCiAgICAgfkJp
bmRHcm91cExheW91dCgpOwogCiAgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJik7CiAKKyAgICBi
b29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBtX3ZlcnRleEFyZ3VtZW50RW5jb2RlciB8fCBt
X2ZyYWdtZW50QXJndW1lbnRFbmNvZGVyIHx8IG1fY29tcHV0ZUFyZ3VtZW50RW5jb2RlcjsgfQor
CiAgICAgTlNVSW50ZWdlciBlbmNvZGVkTGVuZ3RoKCkgY29uc3Q7CiAKICAgICBpZDxNVExBcmd1
bWVudEVuY29kZXI+IHZlcnRleEFyZ3VtZW50RW5jb2RlcigpIGNvbnN0IHsgcmV0dXJuIG1fdmVy
dGV4QXJndW1lbnRFbmNvZGVyOyB9CkBAIC01Nyw2ICs2Myw3IEBAIHB1YmxpYzoKIAogcHJpdmF0
ZToKICAgICBCaW5kR3JvdXBMYXlvdXQoaWQ8TVRMQXJndW1lbnRFbmNvZGVyPiB2ZXJ0ZXhBcmd1
bWVudEVuY29kZXIsIGlkPE1UTEFyZ3VtZW50RW5jb2Rlcj4gZnJhZ21lbnRBcmd1bWVudEVuY29k
ZXIsIGlkPE1UTEFyZ3VtZW50RW5jb2Rlcj4gY29tcHV0ZUFyZ3VtZW50RW5jb2RlciwgRGV2aWNl
Jik7CisgICAgQmluZEdyb3VwTGF5b3V0KERldmljZSYpOwogCiAgICAgY29uc3QgaWQ8TVRMQXJn
dW1lbnRFbmNvZGVyPiBtX3ZlcnRleEFyZ3VtZW50RW5jb2RlciB7IG5pbCB9OwogICAgIGNvbnN0
IGlkPE1UTEFyZ3VtZW50RW5jb2Rlcj4gbV9mcmFnbWVudEFyZ3VtZW50RW5jb2RlciB7IG5pbCB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvQmluZEdyb3VwTGF5b3V0Lm1tIGIv
U291cmNlL1dlYkdQVS9XZWJHUFUvQmluZEdyb3VwTGF5b3V0Lm1tCmluZGV4IGVkYjNkYjcwNDY0
NS4uNjUwZjk0YzNhMjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9CaW5kR3Jv
dXBMYXlvdXQubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQmluZEdyb3VwTGF5b3V0Lm1t
CkBAIC0yMjQsNiArMjI0LDExIEBAIEJpbmRHcm91cExheW91dDo6QmluZEdyb3VwTGF5b3V0KGlk
PE1UTEFyZ3VtZW50RW5jb2Rlcj4gdmVydGV4QXJndW1lbnRFbmNvZGVyLCBpCiB7CiB9CiAKK0Jp
bmRHcm91cExheW91dDo6QmluZEdyb3VwTGF5b3V0KERldmljZSYgZGV2aWNlKQorICAgIDogT2Jq
ZWN0QmFzZShkZXZpY2UpCit7Cit9CisKIEJpbmRHcm91cExheW91dDo6fkJpbmRHcm91cExheW91
dCgpID0gZGVmYXVsdDsKIAogdm9pZCBCaW5kR3JvdXBMYXlvdXQ6OnNldExhYmVsKFN0cmluZyYm
IGxhYmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvQnVmZmVyLmggYi9Tb3Vy
Y2UvV2ViR1BVL1dlYkdQVS9CdWZmZXIuaAppbmRleCBmYWNkNDc2MWJiYzguLjdlMzkwNDI2N2Ni
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvQnVmZmVyLmgKKysrIGIvU291cmNl
L1dlYkdQVS9XZWJHUFUvQnVmZmVyLmgKQEAgLTU0LDYgKzU0LDEwIEBAIHB1YmxpYzoKICAgICB7
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEJ1ZmZlcihidWZmZXIsIHNpemUsIHVzYWdl
LCBpbml0aWFsU3RhdGUsIGluaXRpYWxNYXBwaW5nUmFuZ2UsIGRldmljZSkpOwogICAgIH0KKyAg
ICBzdGF0aWMgUmVmPEJ1ZmZlcj4gY3JlYXRlSW52YWxpZChEZXZpY2UmIGRldmljZSkKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEJ1ZmZlcihkZXZpY2UpKTsKKyAgICB9CiAK
ICAgICB+QnVmZmVyKCk7CiAKQEAgLTY0LDYgKzY4LDggQEAgcHVibGljOgogICAgIHZvaWQgdW5t
YXAoKTsKICAgICB2b2lkIHNldExhYmVsKFN0cmluZyYmKTsKIAorICAgIGJvb2wgaXNWYWxpZCgp
IGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyOyB9CisKICAgICAvLyBodHRwczovL2dwdXdlYi5naXRo
dWIuaW8vZ3B1d2ViLyNidWZmZXItc3RhdGUKICAgICAvLyBFYWNoIEdQVUJ1ZmZlciBoYXMgYSBj
dXJyZW50IGJ1ZmZlciBzdGF0ZSBvbiB0aGUgQ29udGVudCB0aW1lbGluZSB3aGljaCBpcyBvbmUg
b2YgdGhlIGZvbGxvd2luZzoKICAgICBlbnVtIGNsYXNzIFN0YXRlIDogdWludDhfdCB7CkBAIC04
MSw2ICs4Nyw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBCdWZmZXIoaWQ8TVRMQnVmZmVy
PiwgdWludDY0X3Qgc2l6ZSwgV0dQVUJ1ZmZlclVzYWdlRmxhZ3MsIFN0YXRlIGluaXRpYWxTdGF0
ZSwgTWFwcGluZ1JhbmdlIGluaXRpYWxNYXBwaW5nUmFuZ2UsIERldmljZSYpOworICAgIEJ1ZmZl
cihEZXZpY2UmKTsKIAogICAgIGJvb2wgdmFsaWRhdGVHZXRNYXBwZWRSYW5nZShzaXplX3Qgb2Zm
c2V0LCBzaXplX3QgcmFuZ2VTaXplKSBjb25zdDsKICAgICBib29sIHZhbGlkYXRlTWFwQXN5bmMo
V0dQVU1hcE1vZGVGbGFncywgc2l6ZV90IG9mZnNldCwgc2l6ZV90IHJhbmdlU2l6ZSkgY29uc3Q7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9CdWZmZXIubW0gYi9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9CdWZmZXIubW0KaW5kZXggZDMxN2Y2NTc1NjgxLi5kMWJiZTJmYzI1YzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0J1ZmZlci5tbQorKysgYi9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9CdWZmZXIubW0KQEAgLTEzNCw2ICsxMzQsMTEgQEAgQnVmZmVyOjpCdWZmZXIo
aWQ8TVRMQnVmZmVyPiBidWZmZXIsIHVpbnQ2NF90IHNpemUsIFdHUFVCdWZmZXJVc2FnZUZsYWdz
IHVzYWdlLAogewogfQogCitCdWZmZXI6OkJ1ZmZlcihEZXZpY2UmIGRldmljZSkKKyAgICA6IE9i
amVjdEJhc2UoZGV2aWNlKQoreworfQorCiBCdWZmZXI6On5CdWZmZXIoKSA9IGRlZmF1bHQ7CiAK
IHZvaWQgQnVmZmVyOjpkZXN0cm95KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BV
L0NvbW1hbmRCdWZmZXIuaCBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRCdWZmZXIuaApp
bmRleCBhZTYxMzRkNWM4ZWQuLjY0N2YwNGRiNGUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQ
VS9XZWJHUFUvQ29tbWFuZEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1h
bmRCdWZmZXIuaApAQCAtNDQsMTUgKzQ0LDIyIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IENvbW1hbmRCdWZmZXIoY29tbWFuZEJ1ZmZlciwgZGV2aWNlKSk7
CiAgICAgfQorICAgIHN0YXRpYyBSZWY8Q29tbWFuZEJ1ZmZlcj4gY3JlYXRlSW52YWxpZChEZXZp
Y2UmIGRldmljZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENvbW1hbmRC
dWZmZXIoZGV2aWNlKSk7CisgICAgfQogCiAgICAgfkNvbW1hbmRCdWZmZXIoKTsKIAogICAgIHZv
aWQgc2V0TGFiZWwoU3RyaW5nJiYpOwogCisgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1
cm4gbV9jb21tYW5kQnVmZmVyOyB9CisKICAgICBpZDxNVExDb21tYW5kQnVmZmVyPiBjb21tYW5k
QnVmZmVyKCkgY29uc3QgeyByZXR1cm4gbV9jb21tYW5kQnVmZmVyOyB9CiAKIHByaXZhdGU6CiAg
ICAgQ29tbWFuZEJ1ZmZlcihpZDxNVExDb21tYW5kQnVmZmVyPiwgRGV2aWNlJik7CisgICAgQ29t
bWFuZEJ1ZmZlcihEZXZpY2UmKTsKIAogICAgIGNvbnN0IGlkPE1UTENvbW1hbmRCdWZmZXI+IG1f
Y29tbWFuZEJ1ZmZlciB7IG5pbCB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL0NvbW1hbmRCdWZmZXIubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kQnVmZmVy
Lm1tCmluZGV4IDEwY2RiZDhkMmU5ZS4uNDNkYzE2YjFlYzMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViR1BVL1dlYkdQVS9Db21tYW5kQnVmZmVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BV
L0NvbW1hbmRCdWZmZXIubW0KQEAgLTM2LDYgKzM2LDExIEBAIENvbW1hbmRCdWZmZXI6OkNvbW1h
bmRCdWZmZXIoaWQ8TVRMQ29tbWFuZEJ1ZmZlcj4gY29tbWFuZEJ1ZmZlciwgRGV2aWNlJiBkZXZp
Y2UpCiB7CiB9CiAKK0NvbW1hbmRCdWZmZXI6OkNvbW1hbmRCdWZmZXIoRGV2aWNlJiBkZXZpY2Up
CisgICAgOiBPYmplY3RCYXNlKGRldmljZSkKK3sKK30KKwogQ29tbWFuZEJ1ZmZlcjo6fkNvbW1h
bmRCdWZmZXIoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgQ29tbWFuZEJ1ZmZlcjo6c2V0TGFiZWwoU3Ry
aW5nJiYgbGFiZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5j
b2Rlci5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIuaAppbmRleCA0NmNm
MmUzZDhkY2UuLmNhMjhhYmI2ZDhkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUv
Q29tbWFuZEVuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rl
ci5oCkBAIC01MSw2ICs1MSwxMCBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBDb21tYW5kRW5jb2Rlcihjb21tYW5kQnVmZmVyLCBkZXZpY2UpKTsKICAgICB9
CisgICAgc3RhdGljIFJlZjxDb21tYW5kRW5jb2Rlcj4gY3JlYXRlSW52YWxpZChEZXZpY2UmIGRl
dmljZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENvbW1hbmRFbmNvZGVy
KGRldmljZSkpOworICAgIH0KIAogICAgIH5Db21tYW5kRW5jb2RlcigpOwogCkBAIC02OSw4ICs3
MywxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCB3cml0ZVRpbWVzdGFtcChjb25zdCBRdWVyeVNldCYs
IHVpbnQzMl90IHF1ZXJ5SW5kZXgpOwogICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYpOwogCisg
ICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gbV9jb21tYW5kQnVmZmVyOyB9CisKIHBy
aXZhdGU6CiAgICAgQ29tbWFuZEVuY29kZXIoaWQ8TVRMQ29tbWFuZEJ1ZmZlcj4sIERldmljZSYp
OworICAgIENvbW1hbmRFbmNvZGVyKERldmljZSYpOwogCiAgICAgYm9vbCB2YWxpZGF0ZUZpbmlz
aCgpIGNvbnN0OwogICAgIGJvb2wgdmFsaWRhdGVQb3BEZWJ1Z0dyb3VwKCkgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rlci5tbSBiL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL0NvbW1hbmRFbmNvZGVyLm1tCmluZGV4IDY5OTAzZTY5MWY0MC4uM2I1ZTIx
MDc4NTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rlci5t
bQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rlci5tbQpAQCAtNjEsNiAr
NjEsMTEgQEAgQ29tbWFuZEVuY29kZXI6OkNvbW1hbmRFbmNvZGVyKGlkPE1UTENvbW1hbmRCdWZm
ZXI+IGNvbW1hbmRCdWZmZXIsIERldmljZSYgZGV2aWMKIHsKIH0KIAorQ29tbWFuZEVuY29kZXI6
OkNvbW1hbmRFbmNvZGVyKERldmljZSYgZGV2aWNlKQorICAgIDogT2JqZWN0QmFzZShkZXZpY2Up
Cit7Cit9CisKIENvbW1hbmRFbmNvZGVyOjp+Q29tbWFuZEVuY29kZXIoKQogewogICAgIGZpbmFs
aXplQmxpdENvbW1hbmRFbmNvZGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQ
VS9Db21wdXRlUGFzc0VuY29kZXIuaCBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbXB1dGVQYXNz
RW5jb2Rlci5oCmluZGV4IDM1OGY4MzYxNDE3My4uOTZhYzg3YTgwM2ExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIuaAorKysgYi9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIuaApAQCAtNDksNiArNDksMTAgQEAgcHVibGlj
OgogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ29tcHV0ZVBhc3NFbmNvZGVy
KGNvbXB1dGVDb21tYW5kRW5jb2RlciwgZGV2aWNlKSk7CiAgICAgfQorICAgIHN0YXRpYyBSZWY8
Q29tcHV0ZVBhc3NFbmNvZGVyPiBjcmVhdGVJbnZhbGlkKERldmljZSYgZGV2aWNlKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ29tcHV0ZVBhc3NFbmNvZGVyKGRldmljZSkp
OworICAgIH0KIAogICAgIH5Db21wdXRlUGFzc0VuY29kZXIoKTsKIApAQCAtNjQsOCArNjgsMTEg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0UGlwZWxpbmUoY29uc3QgQ29tcHV0ZVBpcGVsaW5lJik7
CiAgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJik7CiAKKyAgICBib29sIGlzVmFsaWQoKSBjb25z
dCB7IHJldHVybiBtX2NvbXB1dGVDb21tYW5kRW5jb2RlcjsgfQorCiBwcml2YXRlOgogICAgIENv
bXB1dGVQYXNzRW5jb2RlcihpZDxNVExDb21wdXRlQ29tbWFuZEVuY29kZXI+LCBEZXZpY2UmKTsK
KyAgICBDb21wdXRlUGFzc0VuY29kZXIoRGV2aWNlJik7CiAKICAgICBib29sIHZhbGlkYXRlUG9w
RGVidWdHcm91cCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9D
b21wdXRlUGFzc0VuY29kZXIubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGFzc0Vu
Y29kZXIubW0KaW5kZXggMDU0YWQ5ZjBkNGY4Li4xNmYwMGI5NGMyNDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJHUFUvV2ViR1BVL0NvbXB1dGVQYXNzRW5jb2Rlci5tbQorKysgYi9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIubW0KQEAgLTQwLDYgKzQwLDExIEBAIENvbXB1
dGVQYXNzRW5jb2Rlcjo6Q29tcHV0ZVBhc3NFbmNvZGVyKGlkPE1UTENvbXB1dGVDb21tYW5kRW5j
b2Rlcj4gY29tcHV0ZUNvbW1hCiB7CiB9CiAKK0NvbXB1dGVQYXNzRW5jb2Rlcjo6Q29tcHV0ZVBh
c3NFbmNvZGVyKERldmljZSYgZGV2aWNlKQorICAgIDogT2JqZWN0QmFzZShkZXZpY2UpCit7Cit9
CisKIENvbXB1dGVQYXNzRW5jb2Rlcjo6fkNvbXB1dGVQYXNzRW5jb2RlcigpID0gZGVmYXVsdDsK
IAogdm9pZCBDb21wdXRlUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnko
Y29uc3QgUXVlcnlTZXQmIHF1ZXJ5U2V0LCB1aW50MzJfdCBxdWVyeUluZGV4KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBpcGVsaW5lLmggYi9Tb3VyY2UvV2ViR1BV
L1dlYkdQVS9Db21wdXRlUGlwZWxpbmUuaAppbmRleCBiNDM2Y2IwOGIyMWMuLjNmN2U4MzE4Njkz
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBpcGVsaW5lLmgKKysr
IGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBpcGVsaW5lLmgKQEAgLTQ1LDE2ICs0NSwy
MyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDb21wdXRl
UGlwZWxpbmUoY29tcHV0ZVBpcGVsaW5lU3RhdGUsIGRldmljZSkpOwogICAgIH0KKyAgICBzdGF0
aWMgUmVmPENvbXB1dGVQaXBlbGluZT4gY3JlYXRlSW52YWxpZChEZXZpY2UmIGRldmljZSkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENvbXB1dGVQaXBlbGluZShkZXZpY2Up
KTsKKyAgICB9CiAKICAgICB+Q29tcHV0ZVBpcGVsaW5lKCk7CiAKICAgICBCaW5kR3JvdXBMYXlv
dXQqIGdldEJpbmRHcm91cExheW91dCh1aW50MzJfdCBncm91cEluZGV4KTsKICAgICB2b2lkIHNl
dExhYmVsKFN0cmluZyYmKTsKIAorICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1f
Y29tcHV0ZVBpcGVsaW5lU3RhdGU7IH0KKwogICAgIGlkPE1UTENvbXB1dGVQaXBlbGluZVN0YXRl
PiBjb21wdXRlUGlwZWxpbmVTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29tcHV0ZVBpcGVsaW5l
U3RhdGU7IH0KIAogcHJpdmF0ZToKICAgICBDb21wdXRlUGlwZWxpbmUoaWQ8TVRMQ29tcHV0ZVBp
cGVsaW5lU3RhdGU+LCBEZXZpY2UmKTsKKyAgICBDb21wdXRlUGlwZWxpbmUoRGV2aWNlJik7CiAK
ICAgICBjb25zdCBpZDxNVExDb21wdXRlUGlwZWxpbmVTdGF0ZT4gbV9jb21wdXRlUGlwZWxpbmVT
dGF0ZSB7IG5pbCB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbXB1
dGVQaXBlbGluZS5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbXB1dGVQaXBlbGluZS5tbQpp
bmRleCAwM2JjN2ExNGQ5ZDEuLjExMmVkMjU3MDE0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQ
VS9XZWJHUFUvQ29tcHV0ZVBpcGVsaW5lLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0Nv
bXB1dGVQaXBlbGluZS5tbQpAQCAtMTgxLDYgKzE4MSwxMSBAQCBDb21wdXRlUGlwZWxpbmU6OkNv
bXB1dGVQaXBlbGluZShpZDxNVExDb21wdXRlUGlwZWxpbmVTdGF0ZT4gY29tcHV0ZVBpcGVsaW5l
U3RhdAogewogfQogCitDb21wdXRlUGlwZWxpbmU6OkNvbXB1dGVQaXBlbGluZShEZXZpY2UmIGRl
dmljZSkKKyAgICA6IE9iamVjdEJhc2UoZGV2aWNlKQoreworfQorCiBDb21wdXRlUGlwZWxpbmU6
On5Db21wdXRlUGlwZWxpbmUoKSA9IGRlZmF1bHQ7CiAKIEJpbmRHcm91cExheW91dCogQ29tcHV0
ZVBpcGVsaW5lOjpnZXRCaW5kR3JvdXBMYXlvdXQodWludDMyX3QgZ3JvdXBJbmRleCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5oIGIvU291cmNlL1dlYkdQVS9XZWJH
UFUvRGV2aWNlLmgKaW5kZXggMGQ2YTk5NjQ3OTM4Li5jOWEwN2EzYTZlYzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BV
L0RldmljZS5oCkBAIC0zMCw4ICszMCw4IEBACiAjaW1wb3J0IDx3dGYvRmFzdE1hbGxvYy5oPgog
I2ltcG9ydCA8d3RmL0Z1bmN0aW9uLmg+CiAjaW1wb3J0IDx3dGYvUmVmLmg+Ci0jaW1wb3J0IDx3
dGYvUmVmUHRyLmg+CiAjaW1wb3J0IDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKyNpbXBv
cnQgPHd0Zi9SZWZQdHIuaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBvcnQgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCkBAIC02MSw2ICs2MSwxMCBAQCBjbGFzcyBEZXZpY2UgOiBwdWJs
aWMgV0dQVURldmljZUltcGwsIHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxEZXZpY2U+IHsK
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmUHRy
PERldmljZT4gY3JlYXRlKGlkPE1UTERldmljZT4sIFN0cmluZyYmIGRldmljZUxhYmVsLCBJbnN0
YW5jZSYpOworICAgIHN0YXRpYyBSZWY8RGV2aWNlPiBjcmVhdGVJbnZhbGlkKEluc3RhbmNlJiBp
bnN0YW5jZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IERldmljZShpbnN0
YW5jZSkpOworICAgIH0KIAogICAgIH5EZXZpY2UoKTsKIApAQCAtOTAsNiArOTQsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRVbmNhcHR1cmVkRXJyb3JDYWxsYmFjayhGdW5jdGlvbjx2b2lkKFdH
UFVFcnJvclR5cGUsIFN0cmluZyYmKT4mJik7CiAgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJik7
CiAKKyAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBtX2RldmljZTsgfQorCiAgICAg
aWQ8TVRMRGV2aWNlPiBkZXZpY2UoKSBjb25zdCB7IHJldHVybiBtX2RldmljZTsgfQogCiAgICAg
dm9pZCBnZW5lcmF0ZUFWYWxpZGF0aW9uRXJyb3IoU3RyaW5nJiYgbWVzc2FnZSk7CkBAIC05OSw2
ICsxMDUsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgRGV2aWNlKGlkPE1UTERldmljZT4s
IGlkPE1UTENvbW1hbmRRdWV1ZT4gZGVmYXVsdFF1ZXVlLCBJbnN0YW5jZSYpOworICAgIERldmlj
ZShJbnN0YW5jZSYpOwogCiAgICAgc3RydWN0IEVycm9yU2NvcGU7CiAgICAgRXJyb3JTY29wZSog
Y3VycmVudEVycm9yU2NvcGUoV0dQVUVycm9yRmlsdGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL0RldmljZS5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5tbQpp
bmRleCA2NDgzNjg4ZTBjOWMuLjU4ZTVkZjExMDE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQ
VS9XZWJHUFUvRGV2aWNlLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5tbQpA
QCAtNjgsNiArNjgsMTIgQEAgRGV2aWNlOjpEZXZpY2UoaWQ8TVRMRGV2aWNlPiBkZXZpY2UsIGlk
PE1UTENvbW1hbmRRdWV1ZT4gZGVmYXVsdFF1ZXVlLCBJbnN0YW5jZSYKIHsKIH0KIAorRGV2aWNl
OjpEZXZpY2UoSW5zdGFuY2UmIGluc3RhbmNlKQorICAgIDogbV9kZWZhdWx0UXVldWUoUXVldWU6
OmNyZWF0ZUludmFsaWQoKnRoaXMpKQorICAgICwgbV9pbnN0YW5jZShpbnN0YW5jZSkKK3sKK30K
KwogRGV2aWNlOjp+RGV2aWNlKCkgPSBkZWZhdWx0OwogCiB2b2lkIERldmljZTo6ZGVzdHJveSgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9JbnN0YW5jZS5oIGIvU291cmNlL1dl
YkdQVS9XZWJHUFUvSW5zdGFuY2UuaAppbmRleCBmNDY0MDYzNjRmMjcuLmVmMjY2Y2UwZDBiNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvSW5zdGFuY2UuaAorKysgYi9Tb3VyY2Uv
V2ViR1BVL1dlYkdQVS9JbnN0YW5jZS5oCkBAIC00Niw2ICs0NiwxMCBAQCBjbGFzcyBJbnN0YW5j
ZSA6IHB1YmxpYyBXR1BVSW5zdGFuY2VJbXBsLCBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
SW5zdGFuY2U+CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlZlB0cjxJbnN0YW5jZT4gY3JlYXRlKGNvbnN0IFdHUFVJbnN0YW5jZURlc2NyaXB0b3Im
KTsKKyAgICBzdGF0aWMgUmVmPEluc3RhbmNlPiBjcmVhdGVJbnZhbGlkKCkKKyAgICB7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEluc3RhbmNlKCkpOworICAgIH0KIAogICAgIH5JbnN0
YW5jZSgpOwogCkBAIC01MywxMiArNTcsMTUgQEAgcHVibGljOgogICAgIHZvaWQgcHJvY2Vzc0V2
ZW50cygpOwogICAgIHZvaWQgcmVxdWVzdEFkYXB0ZXIoY29uc3QgV0dQVVJlcXVlc3RBZGFwdGVy
T3B0aW9ucyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV0dQVVJlcXVlc3RBZGFwdGVyU3RhdHVz
LCBSZWZQdHI8QWRhcHRlcj4mJiwgU3RyaW5nJiYpPiYmIGNhbGxiYWNrKTsKIAorICAgIGJvb2wg
aXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQorCiAgICAgLy8gVGhpcyBjYW4g
YmUgY2FsbGVkIG9uIGEgYmFja2dyb3VuZCB0aHJlYWQuCiAgICAgdXNpbmcgV29ya0l0ZW0gPSBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKHZvaWQpPjsKICAgICB2b2lkIHNjaGVkdWxlV29yayhXb3Jr
SXRlbSYmKTsKIAogcHJpdmF0ZToKICAgICBJbnN0YW5jZShXR1BVU2NoZWR1bGVXb3JrQmxvY2sp
OworICAgIEluc3RhbmNlKCk7CiAKICAgICAvLyBUaGlzIGNhbiBiZSBjYWxsZWQgb24gYSBiYWNr
Z3JvdW5kIHRocmVhZC4KICAgICB2b2lkIGRlZmF1bHRTY2hlZHVsZVdvcmsoV0dQVVdvcmtJdGVt
JiYpOwpAQCAtNjcsNiArNzQsNyBAQCBwcml2YXRlOgogICAgIERlcXVlPFdHUFVXb3JrSXRlbT4g
bV9wZW5kaW5nV29yayBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CiAgICAgY29uc3QgV0dQ
VVNjaGVkdWxlV29ya0Jsb2NrIG1fc2NoZWR1bGVXb3JrQmxvY2s7CiAgICAgTG9jayBtX2xvY2s7
CisgICAgYm9vbCBtX2lzVmFsaWQgeyB0cnVlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJH
UFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0luc3RhbmNlLm1tIGIvU291cmNl
L1dlYkdQVS9XZWJHUFUvSW5zdGFuY2UubW0KaW5kZXggN2MyYWNhY2ZmY2M2Li5kNDY1MDNhOWMx
NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0luc3RhbmNlLm1tCisrKyBiL1Nv
dXJjZS9XZWJHUFUvV2ViR1BVL0luc3RhbmNlLm1tCkBAIC01Niw2ICs1NiwxMiBAQCBJbnN0YW5j
ZTo6SW5zdGFuY2UoV0dQVVNjaGVkdWxlV29ya0Jsb2NrIHNjaGVkdWxlV29ya0Jsb2NrKQogewog
fQogCitJbnN0YW5jZTo6SW5zdGFuY2UoKQorICAgIDogbV9zY2hlZHVsZVdvcmtCbG9jayheKFdH
UFVXb3JrSXRlbSB3b3JrSXRlbSkgeyBkZWZhdWx0U2NoZWR1bGVXb3JrKFdURk1vdmUod29ya0l0
ZW0pKTsgfSkKKyAgICAsIG1faXNWYWxpZChmYWxzZSkKK3sKK30KKwogSW5zdGFuY2U6On5JbnN0
YW5jZSgpID0gZGVmYXVsdDsKIAogUmVmUHRyPFN1cmZhY2U+IEluc3RhbmNlOjpjcmVhdGVTdXJm
YWNlKGNvbnN0IFdHUFVTdXJmYWNlRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL1BpcGVsaW5lTGF5b3V0LmggYi9Tb3VyY2UvV2ViR1BVL1dl
YkdQVS9QaXBlbGluZUxheW91dC5oCmluZGV4IDA3MTJhZjU4MzllZC4uYTAzODE0NjhjYzRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9QaXBlbGluZUxheW91dC5oCisrKyBiL1Nv
dXJjZS9XZWJHUFUvV2ViR1BVL1BpcGVsaW5lTGF5b3V0LmgKQEAgLTQ2LDExICs0NiwxOCBAQCBw
dWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQaXBlbGluZUxheW91
dChXVEZNb3ZlKGJpbmRHcm91cExheW91dHMpLCBkZXZpY2UpKTsKICAgICB9CisgICAgc3RhdGlj
IFJlZjxQaXBlbGluZUxheW91dD4gY3JlYXRlSW52YWxpZChEZXZpY2UmIGRldmljZSkKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBpcGVsaW5lTGF5b3V0KGRldmljZSkpOwor
ICAgIH0KIAogICAgIH5QaXBlbGluZUxheW91dCgpOwogCiAgICAgdm9pZCBzZXRMYWJlbChTdHJp
bmcmJik7CiAKKyAgICAvLyBGSVhNRTogSXMgaXQgaW1wb3NzaWJsZSB0byBsZWdpdGltYXRlbHkg
aGF2ZSBubyBiaW5kIGdyb3VwIGxheW91dHMgaW4gYSB2YWxpZCBvYmplY3Q/CisgICAgYm9vbCBp
c1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gIW1fYmluZEdyb3VwTGF5b3V0cy5pc0VtcHR5KCk7IH0K
KwogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBQaXBlbGluZUxheW91dCYpIGNvbnN0OwogICAg
IGJvb2wgb3BlcmF0b3IhPShjb25zdCBQaXBlbGluZUxheW91dCYpIGNvbnN0OwogCkBAIC01OSw2
ICs2Niw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBQaXBlbGluZUxheW91dChWZWN0b3I8
UmVmPEJpbmRHcm91cExheW91dD4+JiYsIERldmljZSYpOworICAgIFBpcGVsaW5lTGF5b3V0KERl
dmljZSYpOwogCiAgICAgY29uc3QgVmVjdG9yPFJlZjxCaW5kR3JvdXBMYXlvdXQ+PiBtX2JpbmRH
cm91cExheW91dHM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvUGlwZWxp
bmVMYXlvdXQubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9QaXBlbGluZUxheW91dC5tbQppbmRl
eCA3ZTYwN2U2MGU1MzUuLjA5ZjVlNTA0MDZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9X
ZWJHUFUvUGlwZWxpbmVMYXlvdXQubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvUGlwZWxp
bmVMYXlvdXQubW0KQEAgLTUyLDYgKzUyLDExIEBAIFBpcGVsaW5lTGF5b3V0OjpQaXBlbGluZUxh
eW91dChWZWN0b3I8UmVmPEJpbmRHcm91cExheW91dD4+JiYgYmluZEdyb3VwTGF5b3V0cywKIHsK
IH0KIAorUGlwZWxpbmVMYXlvdXQ6OlBpcGVsaW5lTGF5b3V0KERldmljZSYgZGV2aWNlKQorICAg
IDogT2JqZWN0QmFzZShkZXZpY2UpCit7Cit9CisKIFBpcGVsaW5lTGF5b3V0Ojp+UGlwZWxpbmVM
YXlvdXQoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgUGlwZWxpbmVMYXlvdXQ6OnNldExhYmVsKFN0cmlu
ZyYmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvUXVlcnlTZXQuaCBiL1NvdXJj
ZS9XZWJHUFUvV2ViR1BVL1F1ZXJ5U2V0LmgKaW5kZXggZWRkNTljOWFkOThkLi43OTIxMzMyYzcy
YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1F1ZXJ5U2V0LmgKKysrIGIvU291
cmNlL1dlYkdQVS9XZWJHUFUvUXVlcnlTZXQuaApAQCAtNDQsMTYgKzQ0LDIzIEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFF1ZXJ5U2V0KGNvdW50ZXJTYW1w
bGVCdWZmZXIsIGRldmljZSkpOwogICAgIH0KKyAgICBzdGF0aWMgUmVmPFF1ZXJ5U2V0PiBjcmVh
dGVJbnZhbGlkKERldmljZSYgZGV2aWNlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgUXVlcnlTZXQoZGV2aWNlKSk7CisgICAgfQogCiAgICAgflF1ZXJ5U2V0KCk7CiAKICAg
ICB2b2lkIGRlc3Ryb3koKTsKICAgICB2b2lkIHNldExhYmVsKFN0cmluZyYmKTsKIAorICAgIGJv
b2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlclNhbXBsZUJ1ZmZlcjsgfQorCiAg
ICAgaWQ8TVRMQ291bnRlclNhbXBsZUJ1ZmZlcj4gY291bnRlclNhbXBsZUJ1ZmZlcigpIGNvbnN0
IHsgcmV0dXJuIG1fY291bnRlclNhbXBsZUJ1ZmZlcjsgfQogCiBwcml2YXRlOgogICAgIFF1ZXJ5
U2V0KGlkPE1UTENvdW50ZXJTYW1wbGVCdWZmZXI+LCBEZXZpY2UmKTsKKyAgICBRdWVyeVNldChE
ZXZpY2UmKTsKIAogICAgIGNvbnN0IGlkPE1UTENvdW50ZXJTYW1wbGVCdWZmZXI+IG1fY291bnRl
clNhbXBsZUJ1ZmZlciB7IG5pbCB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL1F1ZXJ5U2V0Lm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvUXVlcnlTZXQubW0KaW5kZXgg
ODI0NjhiZDQxYjIyLi44MTQyYzVjYmM3YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL1F1ZXJ5U2V0Lm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1F1ZXJ5U2V0Lm1tCkBA
IC00Myw2ICs0MywxMSBAQCBRdWVyeVNldDo6UXVlcnlTZXQoaWQ8TVRMQ291bnRlclNhbXBsZUJ1
ZmZlcj4gY291bnRlclNhbXBsZUJ1ZmZlciwgRGV2aWNlJiBkZXZpYwogewogfQogCitRdWVyeVNl
dDo6UXVlcnlTZXQoRGV2aWNlJiBkZXZpY2UpCisgICAgOiBPYmplY3RCYXNlKGRldmljZSkKK3sK
K30KKwogUXVlcnlTZXQ6On5RdWVyeVNldCgpID0gZGVmYXVsdDsKIAogdm9pZCBRdWVyeVNldDo6
ZGVzdHJveSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9RdWV1ZS5oIGIvU291
cmNlL1dlYkdQVS9XZWJHUFUvUXVldWUuaAppbmRleCBhZTgzNTNiNGFlMTYuLjU1OTI4OTk4MTI5
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvUXVldWUuaAorKysgYi9Tb3VyY2Uv
V2ViR1BVL1dlYkdQVS9RdWV1ZS5oCkBAIC01Myw2ICs1MywxMCBAQCBwdWJsaWM6CiAgICAgewog
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBRdWV1ZShjb21tYW5kUXVldWUsIGRldmljZSkp
OwogICAgIH0KKyAgICBzdGF0aWMgUmVmPFF1ZXVlPiBjcmVhdGVJbnZhbGlkKERldmljZSYgZGV2
aWNlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUXVldWUoZGV2aWNlKSk7
CisgICAgfQogCiAgICAgflF1ZXVlKCk7CiAKQEAgLTYyLDEwICs2NiwxMyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCB3cml0ZVRleHR1cmUoY29uc3QgV0dQVUltYWdlQ29weVRleHR1cmUmIGRlc3RpbmF0
aW9uLCBjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpemUsIGNvbnN0IFdHUFVUZXh0dXJl
RGF0YUxheW91dCYsIGNvbnN0IFdHUFVFeHRlbnQzRCYgd3JpdGVTaXplKTsKICAgICB2b2lkIHNl
dExhYmVsKFN0cmluZyYmKTsKIAorICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1f
Y29tbWFuZFF1ZXVlOyB9CisKICAgICBpZDxNVExDb21tYW5kUXVldWU+IGNvbW1hbmRRdWV1ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fY29tbWFuZFF1ZXVlOyB9CiAKIHByaXZhdGU6CiAgICAgUXVldWUo
aWQ8TVRMQ29tbWFuZFF1ZXVlPiwgRGV2aWNlJik7CisgICAgUXVldWUoRGV2aWNlJik7CiAKICAg
ICBib29sIHZhbGlkYXRlU3VibWl0KCkgY29uc3Q7CiAgICAgYm9vbCB2YWxpZGF0ZVdyaXRlQnVm
ZmVyKGNvbnN0IEJ1ZmZlciYsIHVpbnQ2NF90IGJ1ZmZlck9mZnNldCwgc2l6ZV90KSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1F1ZXVlLm1tIGIvU291cmNlL1dlYkdQ
VS9XZWJHUFUvUXVldWUubW0KaW5kZXggOWE3MDA2YjkxYTliLi45OTdmMTU0NTllOTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1F1ZXVlLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUv
V2ViR1BVL1F1ZXVlLm1tCkBAIC00MCw2ICs0MCwxMSBAQCBRdWV1ZTo6UXVldWUoaWQ8TVRMQ29t
bWFuZFF1ZXVlPiBjb21tYW5kUXVldWUsIERldmljZSYgZGV2aWNlKQogewogfQogCitRdWV1ZTo6
UXVldWUoRGV2aWNlJiBkZXZpY2UpCisgICAgOiBtX2RldmljZShkZXZpY2UpCit7Cit9CisKIFF1
ZXVlOjp+UXVldWUoKQogewogICAgIC8vIElmIHdlJ3JlIG5vdCBpZGxlLCB0aGVuIHRoZXJlJ3Mg
YSBwZW5kaW5nIGNvbXBsZXRlZCBoYW5kbGVyIHRvIGJlIHJ1biwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJHUFUvV2ViR1BVL1JlbmRlckJ1bmRsZS5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVu
ZGVyQnVuZGxlLmgKaW5kZXggNTg2NjhjZmM3ZjY4Li43ZjZiMDAwMGM3YWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRlckJ1bmRsZS5oCisrKyBiL1NvdXJjZS9XZWJHUFUv
V2ViR1BVL1JlbmRlckJ1bmRsZS5oCkBAIC00NCwxNSArNDQsMjIgQEAgcHVibGljOgogICAgIHsK
ICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUmVuZGVyQnVuZGxlKGluZGlyZWN0Q29tbWFu
ZEJ1ZmZlciwgZGV2aWNlKSk7CiAgICAgfQorICAgIHN0YXRpYyBSZWY8UmVuZGVyQnVuZGxlPiBj
cmVhdGVJbnZhbGlkKERldmljZSYgZGV2aWNlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgUmVuZGVyQnVuZGxlKGRldmljZSkpOworICAgIH0KIAogICAgIH5SZW5kZXJCdW5k
bGUoKTsKIAogICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYpOwogCisgICAgYm9vbCBpc1ZhbGlk
KCkgY29uc3QgeyByZXR1cm4gbV9pbmRpcmVjdENvbW1hbmRCdWZmZXI7IH0KKwogICAgIGlkPE1U
TEluZGlyZWN0Q29tbWFuZEJ1ZmZlcj4gaW5kaXJlY3RDb21tYW5kQnVmZmVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9pbmRpcmVjdENvbW1hbmRCdWZmZXI7IH0KIAogcHJpdmF0ZToKICAgICBSZW5kZXJC
dW5kbGUoaWQ8TVRMSW5kaXJlY3RDb21tYW5kQnVmZmVyPiwgRGV2aWNlJik7CisgICAgUmVuZGVy
QnVuZGxlKERldmljZSYpOwogCiAgICAgY29uc3QgaWQ8TVRMSW5kaXJlY3RDb21tYW5kQnVmZmVy
PiBtX2luZGlyZWN0Q29tbWFuZEJ1ZmZlciB7IG5pbCB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJHUFUvV2ViR1BVL1JlbmRlckJ1bmRsZS5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1Jl
bmRlckJ1bmRsZS5tbQppbmRleCA0Njk3NTZjOTc0NjYuLjM4ZjE2ZjlhZDI2MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVuZGVyQnVuZGxlLm1tCisrKyBiL1NvdXJjZS9XZWJH
UFUvV2ViR1BVL1JlbmRlckJ1bmRsZS5tbQpAQCAtMzYsNiArMzYsMTEgQEAgUmVuZGVyQnVuZGxl
OjpSZW5kZXJCdW5kbGUoaWQ8TVRMSW5kaXJlY3RDb21tYW5kQnVmZmVyPiBpbmRpcmVjdENvbW1h
bmRCdWZmZXIsIEQKIHsKIH0KIAorUmVuZGVyQnVuZGxlOjpSZW5kZXJCdW5kbGUoRGV2aWNlJiBk
ZXZpY2UpCisgICAgOiBPYmplY3RCYXNlKGRldmljZSkKK3sKK30KKwogUmVuZGVyQnVuZGxlOjp+
UmVuZGVyQnVuZGxlKCkgPSBkZWZhdWx0OwogCiB2b2lkIFJlbmRlckJ1bmRsZTo6c2V0TGFiZWwo
U3RyaW5nJiYgbGFiZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJC
dW5kbGVFbmNvZGVyLmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJCdW5kbGVFbmNvZGVy
LmgKaW5kZXggNWYxMDI0ODkzZWRhLi45ZDU0NWQwZTZlNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL1JlbmRlckJ1bmRsZUVuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dl
YkdQVS9SZW5kZXJCdW5kbGVFbmNvZGVyLmgKQEAgLTUwLDYgKzUwLDEwIEBAIHB1YmxpYzoKICAg
ICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJlbmRlckJ1bmRsZUVuY29kZXIoaW5k
aXJlY3RDb21tYW5kQnVmZmVyLCBkZXZpY2UpKTsKICAgICB9CisgICAgc3RhdGljIFJlZjxSZW5k
ZXJCdW5kbGVFbmNvZGVyPiBjcmVhdGVJbnZhbGlkKERldmljZSYgZGV2aWNlKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUmVuZGVyQnVuZGxlRW5jb2RlcihkZXZpY2UpKTsK
KyAgICB9CiAKICAgICB+UmVuZGVyQnVuZGxlRW5jb2RlcigpOwogCkBAIC02Nyw4ICs3MSwxMSBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWZXJ0ZXhCdWZmZXIodWludDMyX3Qgc2xvdCwgY29uc3Qg
QnVmZmVyJiwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplKTsKICAgICB2b2lkIHNldExh
YmVsKFN0cmluZyYmKTsKIAorICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faW5k
aXJlY3RDb21tYW5kQnVmZmVyOyB9CisKIHByaXZhdGU6CiAgICAgUmVuZGVyQnVuZGxlRW5jb2Rl
cihpZDxNVExJbmRpcmVjdENvbW1hbmRCdWZmZXI+LCBEZXZpY2UmKTsKKyAgICBSZW5kZXJCdW5k
bGVFbmNvZGVyKERldmljZSYpOwogCiAgICAgYm9vbCB2YWxpZGF0ZVBvcERlYnVnR3JvdXAoKSBj
b25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVuZGVyQnVuZGxlRW5j
b2Rlci5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRlckJ1bmRsZUVuY29kZXIubW0KaW5k
ZXggNzc3ODgxYzMwZGIyLi41NDQ5NmNmYmFjODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUv
V2ViR1BVL1JlbmRlckJ1bmRsZUVuY29kZXIubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUv
UmVuZGVyQnVuZGxlRW5jb2Rlci5tbQpAQCAtNDcsNiArNDcsMTEgQEAgUmVuZGVyQnVuZGxlRW5j
b2Rlcjo6UmVuZGVyQnVuZGxlRW5jb2RlcihpZDxNVExJbmRpcmVjdENvbW1hbmRCdWZmZXI+IGlu
ZGlyZWN0Q28KIHsKIH0KIAorUmVuZGVyQnVuZGxlRW5jb2Rlcjo6UmVuZGVyQnVuZGxlRW5jb2Rl
cihEZXZpY2UmIGRldmljZSkKKyAgICA6IE9iamVjdEJhc2UoZGV2aWNlKQoreworfQorCiBSZW5k
ZXJCdW5kbGVFbmNvZGVyOjp+UmVuZGVyQnVuZGxlRW5jb2RlcigpID0gZGVmYXVsdDsKIAogdm9p
ZCBSZW5kZXJCdW5kbGVFbmNvZGVyOjpkcmF3KHVpbnQzMl90IHZlcnRleENvdW50LCB1aW50MzJf
dCBpbnN0YW5jZUNvdW50LCB1aW50MzJfdCBmaXJzdFZlcnRleCwgdWludDMyX3QgZmlyc3RJbnN0
YW5jZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRlclBhc3NFbmNvZGVy
LmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5jb2Rlci5oCmluZGV4IGIwN2Yx
MDkwNTlkYi4uMTRhOGJiODgyYjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9S
ZW5kZXJQYXNzRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRlclBhc3NF
bmNvZGVyLmgKQEAgLTUxLDYgKzUxLDEwIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFJlbmRlclBhc3NFbmNvZGVyKHJlbmRlckNvbW1hbmRFbmNvZGVyLCBk
ZXZpY2UpKTsKICAgICB9CisgICAgc3RhdGljIFJlZjxSZW5kZXJQYXNzRW5jb2Rlcj4gY3JlYXRl
SW52YWxpZChEZXZpY2UmIGRldmljZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFJlbmRlclBhc3NFbmNvZGVyKGRldmljZSkpOworICAgIH0KIAogICAgIH5SZW5kZXJQYXNz
RW5jb2RlcigpOwogCkBAIC03Nyw4ICs4MSwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWaWV3
cG9ydChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0LCBmbG9hdCBt
aW5EZXB0aCwgZmxvYXQgbWF4RGVwdGgpOwogICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYpOwog
CisgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJDb21tYW5kRW5jb2Rl
cjsgfQorCiBwcml2YXRlOgogICAgIFJlbmRlclBhc3NFbmNvZGVyKGlkPE1UTFJlbmRlckNvbW1h
bmRFbmNvZGVyPiwgRGV2aWNlJik7CisgICAgUmVuZGVyUGFzc0VuY29kZXIoRGV2aWNlJik7CiAK
ICAgICBib29sIHZhbGlkYXRlUG9wRGVidWdHcm91cCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5jb2Rlci5tbSBiL1NvdXJjZS9XZWJHUFUv
V2ViR1BVL1JlbmRlclBhc3NFbmNvZGVyLm1tCmluZGV4IDA1ZDc4OTA2ZTI2MC4uM2IyMjRhOWJh
MDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5jb2Rlci5t
bQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5jb2Rlci5tbQpAQCAtNDEs
NiArNDEsMTEgQEAgUmVuZGVyUGFzc0VuY29kZXI6OlJlbmRlclBhc3NFbmNvZGVyKGlkPE1UTFJl
bmRlckNvbW1hbmRFbmNvZGVyPiByZW5kZXJDb21tYW5kRW4KIHsKIH0KIAorUmVuZGVyUGFzc0Vu
Y29kZXI6OlJlbmRlclBhc3NFbmNvZGVyKERldmljZSYgZGV2aWNlKQorICAgIDogT2JqZWN0QmFz
ZShkZXZpY2UpCit7Cit9CisKIFJlbmRlclBhc3NFbmNvZGVyOjp+UmVuZGVyUGFzc0VuY29kZXIo
KSA9IGRlZmF1bHQ7CiAKIHZvaWQgUmVuZGVyUGFzc0VuY29kZXI6OmJlZ2luT2NjbHVzaW9uUXVl
cnkodWludDMyX3QgcXVlcnlJbmRleCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BV
L1JlbmRlclBpcGVsaW5lLmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQaXBlbGluZS5o
CmluZGV4IDc4ZTQxYzA2YTMyOC4uMGU4YjhmZjZhZWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9SZW5kZXJQaXBlbGluZS5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1Jl
bmRlclBpcGVsaW5lLmgKQEAgLTQ1LDE2ICs0NSwyMyBAQCBwdWJsaWM6CiAgICAgewogICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSZW5kZXJQaXBlbGluZShyZW5kZXJQaXBlbGluZVN0YXRl
LCBkZXZpY2UpKTsKICAgICB9CisgICAgc3RhdGljIFJlZjxSZW5kZXJQaXBlbGluZT4gY3JlYXRl
SW52YWxpZChEZXZpY2UmIGRldmljZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFJlbmRlclBpcGVsaW5lKGRldmljZSkpOworICAgIH0KIAogICAgIH5SZW5kZXJQaXBlbGlu
ZSgpOwogCiAgICAgQmluZEdyb3VwTGF5b3V0KiBnZXRCaW5kR3JvdXBMYXlvdXQodWludDMyX3Qg
Z3JvdXBJbmRleCk7CiAgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJik7CiAKKyAgICBib29sIGlz
VmFsaWQoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlclBpcGVsaW5lU3RhdGU7IH0KKwogICAgIGlk
PE1UTFJlbmRlclBpcGVsaW5lU3RhdGU+IHJlbmRlclBpcGVsaW5lU3RhdGUoKSBjb25zdCB7IHJl
dHVybiBtX3JlbmRlclBpcGVsaW5lU3RhdGU7IH0KIAogcHJpdmF0ZToKICAgICBSZW5kZXJQaXBl
bGluZShpZDxNVExSZW5kZXJQaXBlbGluZVN0YXRlPiwgRGV2aWNlJik7CisgICAgUmVuZGVyUGlw
ZWxpbmUoRGV2aWNlJik7CiAKICAgICBjb25zdCBpZDxNVExSZW5kZXJQaXBlbGluZVN0YXRlPiBt
X3JlbmRlclBpcGVsaW5lU3RhdGUgeyBuaWwgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9SZW5kZXJQaXBlbGluZS5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRl
clBpcGVsaW5lLm1tCmluZGV4IGUzNzkyNGVhYjI1OS4uNjAzMTY3MGMwZjU2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQaXBlbGluZS5tbQorKysgYi9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9SZW5kZXJQaXBlbGluZS5tbQpAQCAtNTAsNiArNTAsMTEgQEAgUmVuZGVyUGlw
ZWxpbmU6OlJlbmRlclBpcGVsaW5lKGlkPE1UTFJlbmRlclBpcGVsaW5lU3RhdGU+IHJlbmRlclBp
cGVsaW5lU3RhdGUsIEQKIHsKIH0KIAorUmVuZGVyUGlwZWxpbmU6OlJlbmRlclBpcGVsaW5lKERl
dmljZSYgZGV2aWNlKQorICAgIDogT2JqZWN0QmFzZShkZXZpY2UpCit7Cit9CisKIFJlbmRlclBp
cGVsaW5lOjp+UmVuZGVyUGlwZWxpbmUoKSA9IGRlZmF1bHQ7CiAKIEJpbmRHcm91cExheW91dCog
UmVuZGVyUGlwZWxpbmU6OmdldEJpbmRHcm91cExheW91dCh1aW50MzJfdCBncm91cEluZGV4KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvU2FtcGxlci5oIGIvU291cmNlL1dlYkdQ
VS9XZWJHUFUvU2FtcGxlci5oCmluZGV4IGM4NGQwNzY1N2E5NC4uNzdmYjZiMzdiNTAzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9TYW1wbGVyLmgKKysrIGIvU291cmNlL1dlYkdQ
VS9XZWJHUFUvU2FtcGxlci5oCkBAIC00NCwxMSArNDQsMTcgQEAgcHVibGljOgogICAgIHsKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2FtcGxlcihzYW1wbGVyU3RhdGUsIGRlc2NyaXB0
b3IsIGRldmljZSkpOwogICAgIH0KKyAgICBzdGF0aWMgUmVmPFNhbXBsZXI+IGNyZWF0ZUludmFs
aWQoRGV2aWNlJiBkZXZpY2UpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBT
YW1wbGVyKGRldmljZSkpOworICAgIH0KIAogICAgIH5TYW1wbGVyKCk7CiAKICAgICB2b2lkIHNl
dExhYmVsKFN0cmluZyYmKTsKIAorICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1f
c2FtcGxlclN0YXRlOyB9CisKICAgICBpZDxNVExTYW1wbGVyU3RhdGU+IHNhbXBsZXJTdGF0ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fc2FtcGxlclN0YXRlOyB9CiAgICAgY29uc3QgV0dQVVNhbXBsZXJE
ZXNjcmlwdG9yJiBkZXNjcmlwdG9yKCkgY29uc3QgeyByZXR1cm4gbV9kZXNjcmlwdG9yOyB9CiAg
ICAgYm9vbCBpc0NvbXBhcmlzb24oKSBjb25zdCB7IHJldHVybiBkZXNjcmlwdG9yKCkuY29tcGFy
ZSAhPSBXR1BVQ29tcGFyZUZ1bmN0aW9uX1VuZGVmaW5lZDsgfQpAQCAtNTYsNiArNjIsNyBAQCBw
dWJsaWM6CiAKIHByaXZhdGU6CiAgICAgU2FtcGxlcihpZDxNVExTYW1wbGVyU3RhdGU+LCBjb25z
dCBXR1BVU2FtcGxlckRlc2NyaXB0b3ImLCBEZXZpY2UmKTsKKyAgICBTYW1wbGVyKERldmljZSYp
OwogCiAgICAgY29uc3QgaWQ8TVRMU2FtcGxlclN0YXRlPiBtX3NhbXBsZXJTdGF0ZSB7IG5pbCB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9TYW1wbGVyLm1tIGIvU291cmNl
L1dlYkdQVS9XZWJHUFUvU2FtcGxlci5tbQppbmRleCBhZTE0MTgwY2Q5NzguLjk0YjYyNTJjNDNj
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvU2FtcGxlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViR1BVL1dlYkdQVS9TYW1wbGVyLm1tCkBAIC0xNjksNiArMTY5LDExIEBAIFNhbXBsZXI6
OlNhbXBsZXIoaWQ8TVRMU2FtcGxlclN0YXRlPiBzYW1wbGVyU3RhdGUsIGNvbnN0IFdHUFVTYW1w
bGVyRGVzY3JpcHRvciYKIHsKIH0KIAorU2FtcGxlcjo6U2FtcGxlcihEZXZpY2UmIGRldmljZSkK
KyAgICA6IE9iamVjdEJhc2UoZGV2aWNlKQoreworfQorCiBTYW1wbGVyOjp+U2FtcGxlcigpID0g
ZGVmYXVsdDsKIAogdm9pZCBTYW1wbGVyOjpzZXRMYWJlbChTdHJpbmcmJikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5oIGIvU291cmNlL1dlYkdQVS9XZWJH
UFUvU2hhZGVyTW9kdWxlLmgKaW5kZXggN2VmODIwZTMyMGFlLi5iNzNiMzkyNWRjOTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5oCisrKyBiL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5oCkBAIC00OCwxMiArNDgsMTggQEAgcHVibGljOgog
ICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2hhZGVyTW9kdWxlKFdURk1vdmUo
Y2hlY2tSZXN1bHQpLCBXVEZNb3ZlKHBpcGVsaW5lTGF5b3V0SGludHMpLCBXVEZNb3ZlKGVudHJ5
UG9pbnRJbmZvcm1hdGlvbiksIGxpYnJhcnksIGRldmljZSkpOwogICAgIH0KKyAgICBzdGF0aWMg
UmVmPFNoYWRlck1vZHVsZT4gY3JlYXRlSW52YWxpZChEZXZpY2UmIGRldmljZSkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNoYWRlck1vZHVsZShkZXZpY2UpKTsKKyAgICB9
CiAKICAgICB+U2hhZGVyTW9kdWxlKCk7CiAKICAgICB2b2lkIGdldENvbXBpbGF0aW9uSW5mbyhD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3RhdHVzLCBj
b25zdCBXR1BVQ29tcGlsYXRpb25JbmZvJik+JiYgY2FsbGJhY2spOwogICAgIHZvaWQgc2V0TGFi
ZWwoU3RyaW5nJiYpOwogCisgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gIXN0ZDo6
aG9sZHNfYWx0ZXJuYXRpdmU8c3RkOjptb25vc3RhdGU+KG1fY2hlY2tSZXN1bHQpOyB9CisKICAg
ICBzdGF0aWMgV0dTTDo6UGlwZWxpbmVMYXlvdXQgY29udmVydFBpcGVsaW5lTGF5b3V0KGNvbnN0
IFBpcGVsaW5lTGF5b3V0Jik7CiAgICAgc3RhdGljIGlkPE1UTExpYnJhcnk+IGNyZWF0ZUxpYnJh
cnkoaWQ8TVRMRGV2aWNlPiwgY29uc3QgU3RyaW5nJiBtc2wsIFN0cmluZyYmIGxhYmVsKTsKIApA
QCAtNjUsOCArNzEsMTIgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIFNoYWRlck1vZHVsZShz
dGQ6OnZhcmlhbnQ8V0dTTDo6U3VjY2Vzc2Z1bENoZWNrLCBXR1NMOjpGYWlsZWRDaGVjaz4mJiwg
SGFzaE1hcDxTdHJpbmcsIFJlZjxQaXBlbGluZUxheW91dD4+JiYsIEhhc2hNYXA8U3RyaW5nLCBX
R1NMOjpSZWZsZWN0aW9uOjpFbnRyeVBvaW50SW5mb3JtYXRpb24+JiYsIGlkPE1UTExpYnJhcnk+
LCBEZXZpY2UmKTsKKyAgICBTaGFkZXJNb2R1bGUoRGV2aWNlJik7CisKKyAgICB1c2luZyBDaGVj
a1Jlc3VsdCA9IHN0ZDo6dmFyaWFudDxXR1NMOjpTdWNjZXNzZnVsQ2hlY2ssIFdHU0w6OkZhaWxl
ZENoZWNrLCBzdGQ6Om1vbm9zdGF0ZT47CisgICAgQ2hlY2tSZXN1bHQgY29udmVydENoZWNrUmVz
dWx0KHN0ZDo6dmFyaWFudDxXR1NMOjpTdWNjZXNzZnVsQ2hlY2ssIFdHU0w6OkZhaWxlZENoZWNr
PiYmKTsKIAotICAgIGNvbnN0IHN0ZDo6dmFyaWFudDxXR1NMOjpTdWNjZXNzZnVsQ2hlY2ssIFdH
U0w6OkZhaWxlZENoZWNrPiBtX2NoZWNrUmVzdWx0OworICAgIGNvbnN0IENoZWNrUmVzdWx0IG1f
Y2hlY2tSZXN1bHQ7CiAgICAgY29uc3QgSGFzaE1hcDxTdHJpbmcsIFJlZjxQaXBlbGluZUxheW91
dD4+IG1fcGlwZWxpbmVMYXlvdXRIaW50czsKICAgICBjb25zdCBIYXNoTWFwPFN0cmluZywgV0dT
TDo6UmVmbGVjdGlvbjo6RW50cnlQb2ludEluZm9ybWF0aW9uPiBtX2VudHJ5UG9pbnRJbmZvcm1h
dGlvbjsKICAgICBjb25zdCBpZDxNVExMaWJyYXJ5PiBtX2xpYnJhcnkgeyBuaWwgfTsgLy8gVGhp
cyBpcyBvbmx5IG5vbi1udWxsIGlmIHdlIGNvdWxkIGNvbXBpbGUgdGhlIG1vZHVsZSBlYXJseS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5tbSBiL1NvdXJj
ZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5tbQppbmRleCA2NmU4NDVhMjJmOWIuLmIwZjJh
NDc3ZWU3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvU2hhZGVyTW9kdWxlLm1t
CisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5tbQpAQCAtMTE5LDE1ICsx
MTksMjggQEAgUmVmUHRyPFNoYWRlck1vZHVsZT4gRGV2aWNlOjpjcmVhdGVTaGFkZXJNb2R1bGUo
Y29uc3QgV0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IKICAgICByZXR1cm4gU2hhZGVyTW9kdWxl
OjpjcmVhdGUoV1RGTW92ZShjaGVja1Jlc3VsdCksIHsgfSwgeyB9LCBuaWwsICp0aGlzKTsKIH0K
IAorYXV0byBTaGFkZXJNb2R1bGU6OmNvbnZlcnRDaGVja1Jlc3VsdChzdGQ6OnZhcmlhbnQ8V0dT
TDo6U3VjY2Vzc2Z1bENoZWNrLCBXR1NMOjpGYWlsZWRDaGVjaz4mJiBjaGVja1Jlc3VsdCkgLT4g
Q2hlY2tSZXN1bHQKK3sKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbihXVEZNb3ZlKGNoZWNrUmVz
dWx0KSwgW10oYXV0byYmIGNoZWNrKSAtPiBDaGVja1Jlc3VsdCB7CisgICAgICAgIHJldHVybiBX
VEZNb3ZlKGNoZWNrKTsKKyAgICB9KTsKK30KKwogU2hhZGVyTW9kdWxlOjpTaGFkZXJNb2R1bGUo
c3RkOjp2YXJpYW50PFdHU0w6OlN1Y2Nlc3NmdWxDaGVjaywgV0dTTDo6RmFpbGVkQ2hlY2s+JiYg
Y2hlY2tSZXN1bHQsIEhhc2hNYXA8U3RyaW5nLCBSZWY8UGlwZWxpbmVMYXlvdXQ+PiYmIHBpcGVs
aW5lTGF5b3V0SGludHMsIEhhc2hNYXA8U3RyaW5nLCBXR1NMOjpSZWZsZWN0aW9uOjpFbnRyeVBv
aW50SW5mb3JtYXRpb24+JiYgZW50cnlQb2ludEluZm9ybWF0aW9uLCBpZDxNVExMaWJyYXJ5PiBs
aWJyYXJ5LCBEZXZpY2UmIGRldmljZSkKICAgICA6IE9iamVjdEJhc2UoZGV2aWNlKQotICAgICwg
bV9jaGVja1Jlc3VsdChXVEZNb3ZlKGNoZWNrUmVzdWx0KSkKKyAgICAsIG1fY2hlY2tSZXN1bHQo
Y29udmVydENoZWNrUmVzdWx0KFdURk1vdmUoY2hlY2tSZXN1bHQpKSkKICAgICAsIG1fcGlwZWxp
bmVMYXlvdXRIaW50cyhXVEZNb3ZlKHBpcGVsaW5lTGF5b3V0SGludHMpKQogICAgICwgbV9lbnRy
eVBvaW50SW5mb3JtYXRpb24oV1RGTW92ZShlbnRyeVBvaW50SW5mb3JtYXRpb24pKQogICAgICwg
bV9saWJyYXJ5KGxpYnJhcnkpCiB7CiB9CiAKK1NoYWRlck1vZHVsZTo6U2hhZGVyTW9kdWxlKERl
dmljZSYgZGV2aWNlKQorICAgIDogT2JqZWN0QmFzZShkZXZpY2UpCisgICAgLCBtX2NoZWNrUmVz
dWx0KHN0ZDo6bW9ub3N0YXRlIHsgfSkKK3sKK30KKwogU2hhZGVyTW9kdWxlOjp+U2hhZGVyTW9k
dWxlKCkgPSBkZWZhdWx0OwogCiBzdHJ1Y3QgTWVzc2FnZXMgewpAQCAtMjA1LDYgKzIxOCw4IEBA
IHZvaWQgU2hhZGVyTW9kdWxlOjpnZXRDb21waWxhdGlvbkluZm8oQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChXR1BVQ29tcGlsYXRpb25JbmZvCiAgICAgICAgICAgICBjb21waWxhdGlvbk1lc3NhZ2VE
YXRhLmNvbXBpbGF0aW9uTWVzc2FnZXMuZGF0YSgpLAogICAgICAgICB9OwogICAgICAgICBjYWxs
YmFjayhXR1BVQ29tcGlsYXRpb25JbmZvUmVxdWVzdFN0YXR1c19FcnJvciwgY29tcGlsYXRpb25J
bmZvKTsKKyAgICB9LCBbXShzdGQ6Om1vbm9zdGF0ZSkgeworICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICB9KTsKIH0KIApAQCAtMjI3LDYgKzI0Miw5IEBAIGNvbnN0IFdHU0w6OkFT
VDo6U2hhZGVyTW9kdWxlKiBTaGFkZXJNb2R1bGU6OmFzdCgpIGNvbnN0CiAgICAgICAgIHJldHVy
biBzdWNjZXNzZnVsQ2hlY2suYXN0LnB0cigpOwogICAgIH0sIFsmXShjb25zdCBXR1NMOjpGYWls
ZWRDaGVjayYpIC0+IGNvbnN0IFdHU0w6OkFTVDo6U2hhZGVyTW9kdWxlKiB7CiAgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgIH0sIFtdKHN0ZDo6bW9ub3N0YXRlKSAtPiBjb25zdCBXR1NMOjpB
U1Q6OlNoYWRlck1vZHVsZSogeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJH
UFUvV2ViR1BVL1RleHR1cmUuaCBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1RleHR1cmUuaAppbmRl
eCA0YmFjNWQ4YWViMDMuLjcwNjg4ZjZhMjE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9X
ZWJHUFUvVGV4dHVyZS5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1RleHR1cmUuaApAQCAt
NDcsNiArNDcsMTAgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgVGV4dHVyZSh0ZXh0dXJlLCBkZXNjcmlwdG9yLCBXVEZNb3ZlKHZpZXdGb3JtYXRzKSwgZGV2
aWNlKSk7CiAgICAgfQorICAgIHN0YXRpYyBSZWY8VGV4dHVyZT4gY3JlYXRlSW52YWxpZChEZXZp
Y2UmIGRldmljZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFRleHR1cmUo
ZGV2aWNlKSk7CisgICAgfQogCiAgICAgflRleHR1cmUoKTsKIApAQCAtNTQsNiArNTgsOCBAQCBw
dWJsaWM6CiAgICAgdm9pZCBkZXN0cm95KCk7CiAgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJik7
CiAKKyAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBtX3RleHR1cmU7IH0KKwogICAg
IHN0YXRpYyB1aW50MzJfdCB0ZXhlbEJsb2NrV2lkdGgoV0dQVVRleHR1cmVGb3JtYXQpOyAvLyBU
ZXhlbHMKICAgICBzdGF0aWMgdWludDMyX3QgdGV4ZWxCbG9ja0hlaWdodChXR1BVVGV4dHVyZUZv
cm1hdCk7IC8vIFRleGVscwogICAgIC8vIEZvciBkZXB0aC1zdGVuY2lsIHRleHR1cmVzLCB0aGUg
aW5wdXQgdmFsdWUgdG8gdGV4ZWxCbG9ja1NpemUoKQpAQCAtNzksNiArODUsNyBAQCBwdWJsaWM6
CiAKIHByaXZhdGU6CiAgICAgVGV4dHVyZShpZDxNVExUZXh0dXJlPiwgY29uc3QgV0dQVVRleHR1
cmVEZXNjcmlwdG9yJiwgVmVjdG9yPFdHUFVUZXh0dXJlRm9ybWF0PiYmIHZpZXdGb3JtYXRzLCBE
ZXZpY2UmKTsKKyAgICBUZXh0dXJlKERldmljZSYpOwogCiAgICAgV0dQVVRleHR1cmVWaWV3RGVz
Y3JpcHRvciByZXNvbHZlVGV4dHVyZVZpZXdEZXNjcmlwdG9yRGVmYXVsdHMoY29uc3QgV0dQVVRl
eHR1cmVWaWV3RGVzY3JpcHRvciYpIGNvbnN0OwogICAgIHVpbnQzMl90IGFycmF5TGF5ZXJDb3Vu
dCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvVGV4dHVyZS5tbSBi
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL1RleHR1cmUubW0KaW5kZXggNjkxOTMwMjc1ZTU4Li4zZGM1
M2ZjNzhhY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1RleHR1cmUubW0KKysr
IGIvU291cmNlL1dlYkdQVS9XZWJHUFUvVGV4dHVyZS5tbQpAQCAtMjA2Myw2ICsyMDYzLDExIEBA
IFRleHR1cmU6OlRleHR1cmUoaWQ8TVRMVGV4dHVyZT4gdGV4dHVyZSwgY29uc3QgV0dQVVRleHR1
cmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yCiB7CiB9CiAKK1RleHR1cmU6OlRleHR1cmUoRGV2aWNl
JiBkZXZpY2UpCisgICAgOiBPYmplY3RCYXNlKGRldmljZSkKK3sKK30KKwogVGV4dHVyZTo6flRl
eHR1cmUoKSA9IGRlZmF1bHQ7CiAKIFdHUFVUZXh0dXJlVmlld0Rlc2NyaXB0b3IgVGV4dHVyZTo6
cmVzb2x2ZVRleHR1cmVWaWV3RGVzY3JpcHRvckRlZmF1bHRzKGNvbnN0IFdHUFVUZXh0dXJlVmll
d0Rlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BV
L1dlYkdQVS9UZXh0dXJlVmlldy5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvVGV4dHVyZVZpZXcu
aAppbmRleCBkMjc5NzVkOGM1NzMuLjk3YjBjOGRkMDIyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkdQVS9XZWJHUFUvVGV4dHVyZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9UZXh0
dXJlVmlldy5oCkBAIC00NSwxNyArNDUsMjQgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgVGV4dHVyZVZpZXcodGV4dHVyZSwgZGVzY3JpcHRvciwgcmVuZGVy
RXh0ZW50LCBkZXZpY2UpKTsKICAgICB9CisgICAgc3RhdGljIFJlZjxUZXh0dXJlVmlldz4gY3Jl
YXRlSW52YWxpZChEZXZpY2UmIGRldmljZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFRleHR1cmVWaWV3KGRldmljZSkpOworICAgIH0KIAogICAgIH5UZXh0dXJlVmlldygp
OwogCiAgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJik7CiAKKyAgICBib29sIGlzVmFsaWQoKSBj
b25zdCB7IHJldHVybiBtX3RleHR1cmU7IH0KKwogICAgIGlkPE1UTFRleHR1cmU+IHRleHR1cmUo
KSBjb25zdCB7IHJldHVybiBtX3RleHR1cmU7IH0KICAgICBjb25zdCBXR1BVVGV4dHVyZVZpZXdE
ZXNjcmlwdG9yJiBkZXNjcmlwdG9yKCkgY29uc3QgeyByZXR1cm4gbV9kZXNjcmlwdG9yOyB9CiAg
ICAgY29uc3Qgc3RkOjpvcHRpb25hbDxXR1BVRXh0ZW50M0Q+JiByZW5kZXJFeHRlbnQoKSBjb25z
dCB7IHJldHVybiBtX3JlbmRlckV4dGVudDsgfQogCiBwcml2YXRlOgogICAgIFRleHR1cmVWaWV3
KGlkPE1UTFRleHR1cmU+LCBjb25zdCBXR1BVVGV4dHVyZVZpZXdEZXNjcmlwdG9yJiwgY29uc3Qg
c3RkOjpvcHRpb25hbDxXR1BVRXh0ZW50M0Q+JiwgRGV2aWNlJik7CisgICAgVGV4dHVyZVZpZXco
RGV2aWNlJik7CiAKICAgICBjb25zdCBpZDxNVExUZXh0dXJlPiBtX3RleHR1cmUgeyBuaWwgfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvVGV4dHVyZVZpZXcubW0gYi9Tb3Vy
Y2UvV2ViR1BVL1dlYkdQVS9UZXh0dXJlVmlldy5tbQppbmRleCAwMjNkOWZhMDEyNWYuLmE4NzFk
M2EwYTMxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvVGV4dHVyZVZpZXcubW0K
KysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvVGV4dHVyZVZpZXcubW0KQEAgLTM4LDYgKzM4LDEy
IEBAIFRleHR1cmVWaWV3OjpUZXh0dXJlVmlldyhpZDxNVExUZXh0dXJlPiB0ZXh0dXJlLCBjb25z
dCBXR1BVVGV4dHVyZVZpZXdEZXNjcmlwdG9yCiB7CiB9CiAKK1RleHR1cmVWaWV3OjpUZXh0dXJl
VmlldyhEZXZpY2UmIGRldmljZSkKKyAgICA6IE9iamVjdEJhc2UoZGV2aWNlKQorICAgICwgbV9k
ZXNjcmlwdG9yIHsgfQoreworfQorCiBUZXh0dXJlVmlldzo6flRleHR1cmVWaWV3KCkgPSBkZWZh
dWx0OwogCiB2b2lkIFRleHR1cmVWaWV3OjpzZXRMYWJlbChTdHJpbmcmJiBsYWJlbCkK
</data>
<flag name="review"
          id="484859"
          type_id="1"
          status="+"
          setter="kkinnunen"
    />
          </attachment>
      

    </bug>

</bugzilla>