<?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>238431</bug_id>
          
          <creation_ts>2022-03-27 19:15:42 -0700</creation_ts>
          <short_desc>[WebGPU] Implement CommandEncoder::copyTextureToTexture() according to the spec</short_desc>
          <delta_ts>2022-03-31 21:52:20 -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>
          
          
          <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>1855479</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-27 19:15:42 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855481</commentid>
    <comment_count>1</comment_count>
      <attachid>455878</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-27 19:17:06 -0700</bug_when>
    <thetext>Created attachment 455878
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856745</commentid>
    <comment_count>2</comment_count>
      <attachid>456219</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-31 01:55:44 -0700</bug_when>
    <thetext>Created attachment 456219
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857147</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-31 21:51:11 -0700</bug_when>
    <thetext>Committed r292200 (?): &lt;https://commits.webkit.org/r292200&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857149</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-31 21:52:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/91144865&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455878</attachid>
            <date>2022-03-27 19:17:06 -0700</date>
            <delta_ts>2022-03-31 01:55:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>17156</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">Y29tbWl0IGQwZmZlNjc5MzMyZjAwOGUyMDBiM2NlOWY0OGE0YzNlYTFmODkxMzUKQXV0aG9yOiBN
eWxlcyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4KRGF0ZTogICBTdW4gTWFyIDI3
IDE5OjE2OjQ1IDIwMjIgLTA3MDAKCiAgICBQYXJ0IDUKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
R1BVL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCmluZGV4IGM3M2M1ZjM5MDEx
Ny4uYWE2NTNhMTRlMDg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTAzLTI3ICBN
eWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQ
VV0gSW1wbGVtZW50IENvbW1hbmRFbmNvZGVyOjpjb3B5VGV4dHVyZVRvVGV4dHVyZSgpIGFjY29y
ZGluZyB0byB0aGUgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM4NDMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBpbXBsZW1lbnRzIENvbW1hbmRFbmNvZGVyOjpjb3B5VGV4dHVyZVRvQnVm
ZmVyKCkgYWNjb3JkaW5nIHRvIHRoZSBzcGVjLgorICAgICAgICBJdCByZS11c2VzIG1hbnkgb2Yg
dGhlIGhlbHBlciBmdW5jdGlvbnMgYWRkZWQgaW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODQyOC4gVGhlcmUgYXJlIGxpbmtzIGFuZCBxdW90ZXMg
ZnJvbQorICAgICAgICB0aGUgc3BlYyB3aGVyZSBhcHByb3ByaWF0ZS4KKworICAgICAgICAqIFdl
YkdQVS9Db21tYW5kRW5jb2Rlci5tbToKKyAgICAgICAgKFdlYkdQVTo6cmVmZXJzVG9BbGxBc3Bl
Y3RzKToKKyAgICAgICAgKFdlYkdQVTo6aXNTUkdCQ29tcGF0aWJsZSk6CisgICAgICAgIChXZWJH
UFU6OmFyZUNvcHlDb21wYXRpYmxlKToKKyAgICAgICAgKFdlYkdQVTo6dmFsaWRhdGVDb3B5VGV4
dHVyZVRvVGV4dHVyZSk6CisgICAgICAgIChXZWJHUFU6OkNvbW1hbmRFbmNvZGVyOjpjb3B5VGV4
dHVyZVRvVGV4dHVyZSk6CisKIDIwMjItMDMtMjcgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZp
ZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBJbXBsZW1lbnQgQ29tbWFuZEVuY29k
ZXI6OmNvcHlUZXh0dXJlVG9CdWZmZXIoKSBhY2NvcmRpbmcgdG8gdGhlIHNwZWMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rlci5tbSBiL1NvdXJjZS9XZWJH
UFUvV2ViR1BVL0NvbW1hbmRFbmNvZGVyLm1tCmluZGV4IDZjOWU3NDZhMThjOS4uYjNmMTVlY2Ez
ZmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rlci5tbQor
KysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rlci5tbQpAQCAtMTcxLDYgKzE3
MSwyMSBAQCBzdGF0aWMgYm9vbCB2YWxpZGF0ZUltYWdlQ29weUJ1ZmZlcihjb25zdCBXR1BVSW1h
Z2VDb3B5QnVmZmVyJiBpbWFnZUNvcHlCdWZmZXIpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitz
dGF0aWMgYm9vbCByZWZlcnNUb0FsbEFzcGVjdHMoV0dQVVRleHR1cmVGb3JtYXQgZm9ybWF0LCBX
R1BVVGV4dHVyZUFzcGVjdCBhc3BlY3QpCit7CisgICAgc3dpdGNoIChhc3BlY3QpIHsKKyAgICBj
YXNlIFdHUFVUZXh0dXJlQXNwZWN0X0FsbDoKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgY2Fz
ZSBXR1BVVGV4dHVyZUFzcGVjdF9TdGVuY2lsT25seToKKyAgICAgICAgcmV0dXJuIFRleHR1cmU6
OmNvbnRhaW5zU3RlbmNpbEFzcGVjdChmb3JtYXQpICYmICFUZXh0dXJlOjpjb250YWluc0RlcHRo
QXNwZWN0KGZvcm1hdCk7CisgICAgY2FzZSBXR1BVVGV4dHVyZUFzcGVjdF9EZXB0aE9ubHk6Cisg
ICAgICAgIHJldHVybiBUZXh0dXJlOjpjb250YWluc0RlcHRoQXNwZWN0KGZvcm1hdCkgJiYgIVRl
eHR1cmU6OmNvbnRhaW5zU3RlbmNpbEFzcGVjdChmb3JtYXQpOworICAgIGNhc2UgV0dQVVRleHR1
cmVBc3BlY3RfRm9yY2UzMjoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKIHN0YXRpYyBib29sIHZhbGlkYXRlQ29weUJ1ZmZl
clRvVGV4dHVyZShjb25zdCBXR1BVSW1hZ2VDb3B5QnVmZmVyJiBzb3VyY2UsIGNvbnN0IFdHUFVJ
bWFnZUNvcHlUZXh0dXJlJiBkZXN0aW5hdGlvbiwgY29uc3QgV0dQVUV4dGVudDNEJiBjb3B5U2l6
ZSkKIHsKICAgICAvLyAiTGV0IGRzdFRleHR1cmVEZXNjIGJlIGRlc3RpbmF0aW9uLnRleHR1cmUu
W1tkZXNjcmlwdG9yXV0uIgpAQCAtNTM3LDExICs1NTIsMzI3IEBAIHZvaWQgQ29tbWFuZEVuY29k
ZXI6OmNvcHlUZXh0dXJlVG9CdWZmZXIoY29uc3QgV0dQVUltYWdlQ29weVRleHR1cmUmIHNvdXJj
ZSwgY29uCiAgICAgfQogfQogCitzdGF0aWMgc3RkOjpvcHRpb25hbDxXR1BVVGV4dHVyZUZvcm1h
dD4gaXNTUkdCQ29tcGF0aWJsZShXR1BVVGV4dHVyZUZvcm1hdCBmb3JtYXQpCit7CisgICAgc3dp
dGNoIChmb3JtYXQpIHsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1I4VW5vcm06CisgICAg
Y2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9SOFNub3JtOgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3Jt
YXRfUjhVaW50OgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfUjhTaW50OgorICAgIGNhc2Ug
V0dQVVRleHR1cmVGb3JtYXRfUjE2VWludDoKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1Ix
NlNpbnQ6CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9SMTZGbG9hdDoKKyAgICBjYXNlIFdH
UFVUZXh0dXJlRm9ybWF0X1JHOFVub3JtOgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfUkc4
U25vcm06CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9SRzhVaW50OgorICAgIGNhc2UgV0dQ
VVRleHR1cmVGb3JtYXRfUkc4U2ludDoKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1IzMkZs
b2F0OgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfUjMyVWludDoKKyAgICBjYXNlIFdHUFVU
ZXh0dXJlRm9ybWF0X1IzMlNpbnQ6CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9SRzE2VWlu
dDoKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1JHMTZTaW50OgorICAgIGNhc2UgV0dQVVRl
eHR1cmVGb3JtYXRfUkcxNkZsb2F0OgorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAg
IGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfUkdCQThVbm9ybToKKyAgICBjYXNlIFdHUFVUZXh0dXJl
Rm9ybWF0X1JHQkE4VW5vcm1TcmdiOgorICAgICAgICByZXR1cm4gV0dQVVRleHR1cmVGb3JtYXRf
UkdCQThVbm9ybTsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1JHQkE4U25vcm06CisgICAg
Y2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9SR0JBOFVpbnQ6CisgICAgY2FzZSBXR1BVVGV4dHVyZUZv
cm1hdF9SR0JBOFNpbnQ6CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgY2FzZSBX
R1BVVGV4dHVyZUZvcm1hdF9CR1JBOFVub3JtOgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRf
QkdSQThVbm9ybVNyZ2I6CisgICAgICAgIHJldHVybiBXR1BVVGV4dHVyZUZvcm1hdF9CR1JBOFVu
b3JtOworICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfUkdCMTBBMlVub3JtOgorICAgIGNhc2Ug
V0dQVVRleHR1cmVGb3JtYXRfUkcxMUIxMFVmbG9hdDoKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9y
bWF0X1JHQjlFNVVmbG9hdDoKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1JHMzJGbG9hdDoK
KyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1JHMzJVaW50OgorICAgIGNhc2UgV0dQVVRleHR1
cmVGb3JtYXRfUkczMlNpbnQ6CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9SR0JBMTZVaW50
OgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfUkdCQTE2U2ludDoKKyAgICBjYXNlIFdHUFVU
ZXh0dXJlRm9ybWF0X1JHQkExNkZsb2F0OgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfUkdC
QTMyRmxvYXQ6CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9SR0JBMzJVaW50OgorICAgIGNh
c2UgV0dQVVRleHR1cmVGb3JtYXRfUkdCQTMyU2ludDoKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9y
bWF0X1N0ZW5jaWw4OgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfRGVwdGgxNlVub3JtOgor
ICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfRGVwdGgyNFBsdXM6CisgICAgY2FzZSBXR1BVVGV4
dHVyZUZvcm1hdF9EZXB0aDI0UGx1c1N0ZW5jaWw4OgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3Jt
YXRfRGVwdGgyNFVub3JtU3RlbmNpbDg6CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9EZXB0
aDMyRmxvYXQ6CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9EZXB0aDMyRmxvYXRTdGVuY2ls
ODoKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9y
bWF0X0JDMVJHQkFVbm9ybToKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0JDMVJHQkFVbm9y
bVNyZ2I6CisgICAgICAgIHJldHVybiBXR1BVVGV4dHVyZUZvcm1hdF9CQzFSR0JBVW5vcm07Cisg
ICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9CQzJSR0JBVW5vcm06CisgICAgY2FzZSBXR1BVVGV4
dHVyZUZvcm1hdF9CQzJSR0JBVW5vcm1TcmdiOgorICAgICAgICByZXR1cm4gV0dQVVRleHR1cmVG
b3JtYXRfQkMyUkdCQVVub3JtOworICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfQkMzUkdCQVVu
b3JtOgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfQkMzUkdCQVVub3JtU3JnYjoKKyAgICAg
ICAgcmV0dXJuIFdHUFVUZXh0dXJlRm9ybWF0X0JDM1JHQkFVbm9ybTsKKyAgICBjYXNlIFdHUFVU
ZXh0dXJlRm9ybWF0X0JDNFJVbm9ybToKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0JDNFJT
bm9ybToKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0JDNVJHVW5vcm06CisgICAgY2FzZSBX
R1BVVGV4dHVyZUZvcm1hdF9CQzVSR1Nub3JtOgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRf
QkM2SFJHQlVmbG9hdDoKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0JDNkhSR0JGbG9hdDoK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0
X0JDN1JHQkFVbm9ybToKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0JDN1JHQkFVbm9ybVNy
Z2I6CisgICAgICAgIHJldHVybiBXR1BVVGV4dHVyZUZvcm1hdF9CQzdSR0JBVW5vcm07CisgICAg
Y2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOFVub3JtOgorICAgIGNhc2UgV0dQVVRleHR1
cmVGb3JtYXRfRVRDMlJHQjhVbm9ybVNyZ2I6CisgICAgICAgIHJldHVybiBXR1BVVGV4dHVyZUZv
cm1hdF9FVEMyUkdCOFVub3JtOworICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhB
MVVub3JtOgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhBMVVub3JtU3JnYjoK
KyAgICAgICAgcmV0dXJuIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4QTFVbm9ybTsKKyAgICBj
YXNlIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0JBOFVub3JtOgorICAgIGNhc2UgV0dQVVRleHR1
cmVGb3JtYXRfRVRDMlJHQkE4VW5vcm1TcmdiOgorICAgICAgICByZXR1cm4gV0dQVVRleHR1cmVG
b3JtYXRfRVRDMlJHQkE4VW5vcm07CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9FQUNSMTFV
bm9ybToKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0VBQ1IxMVNub3JtOgorICAgIGNhc2Ug
V0dQVVRleHR1cmVGb3JtYXRfRUFDUkcxMVVub3JtOgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3Jt
YXRfRUFDUkcxMVNub3JtOgorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIGNhc2Ug
V0dQVVRleHR1cmVGb3JtYXRfQVNUQzR4NFVub3JtOgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3Jt
YXRfQVNUQzR4NFVub3JtU3JnYjoKKyAgICAgICAgcmV0dXJuIFdHUFVUZXh0dXJlRm9ybWF0X0FT
VEM0eDRVbm9ybTsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM1eDRVbm9ybToKKyAg
ICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM1eDRVbm9ybVNyZ2I6CisgICAgICAgIHJldHVy
biBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg0VW5vcm07CisgICAgY2FzZSBXR1BVVGV4dHVyZUZv
cm1hdF9BU1RDNXg1VW5vcm06CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg1VW5v
cm1TcmdiOgorICAgICAgICByZXR1cm4gV0dQVVRleHR1cmVGb3JtYXRfQVNUQzV4NVVub3JtOwor
ICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzZ4NVVub3JtOgorICAgIGNhc2UgV0dQVVRl
eHR1cmVGb3JtYXRfQVNUQzZ4NVVub3JtU3JnYjoKKyAgICAgICAgcmV0dXJuIFdHUFVUZXh0dXJl
Rm9ybWF0X0FTVEM2eDVVbm9ybTsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM2eDZV
bm9ybToKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM2eDZVbm9ybVNyZ2I6CisgICAg
ICAgIHJldHVybiBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNng2VW5vcm07CisgICAgY2FzZSBXR1BV
VGV4dHVyZUZvcm1hdF9BU1RDOHg1VW5vcm06CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9B
U1RDOHg1VW5vcm1TcmdiOgorICAgICAgICByZXR1cm4gV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4
NVVub3JtOworICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NlVub3JtOgorICAgIGNh
c2UgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NlVub3JtU3JnYjoKKyAgICAgICAgcmV0dXJuIFdH
UFVUZXh0dXJlRm9ybWF0X0FTVEM4eDZVbm9ybTsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0
X0FTVEM4eDhVbm9ybToKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDhVbm9ybVNy
Z2I6CisgICAgICAgIHJldHVybiBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDOHg4VW5vcm07CisgICAg
Y2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4NVVub3JtOgorICAgIGNhc2UgV0dQVVRleHR1
cmVGb3JtYXRfQVNUQzEweDVVbm9ybVNyZ2I6CisgICAgICAgIHJldHVybiBXR1BVVGV4dHVyZUZv
cm1hdF9BU1RDMTB4NVVub3JtOworICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDZV
bm9ybToKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg2VW5vcm1TcmdiOgorICAg
ICAgICByZXR1cm4gV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDZVbm9ybTsKKyAgICBjYXNlIFdH
UFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg4VW5vcm06CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1h
dF9BU1RDMTB4OFVub3JtU3JnYjoKKyAgICAgICAgcmV0dXJuIFdHUFVUZXh0dXJlRm9ybWF0X0FT
VEMxMHg4VW5vcm07CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4MTBVbm9ybToK
KyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHgxMFVub3JtU3JnYjoKKyAgICAgICAg
cmV0dXJuIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHgxMFVub3JtOworICAgIGNhc2UgV0dQVVRl
eHR1cmVGb3JtYXRfQVNUQzEyeDEwVW5vcm06CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9B
U1RDMTJ4MTBVbm9ybVNyZ2I6CisgICAgICAgIHJldHVybiBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
MTJ4MTBVbm9ybTsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMngxMlVub3JtOgor
ICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEyeDEyVW5vcm1TcmdiOgorICAgICAgICBy
ZXR1cm4gV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEyeDEyVW5vcm07CisgICAgY2FzZSBXR1BVVGV4
dHVyZUZvcm1hdF9VbmRlZmluZWQ6CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9Gb3JjZTMy
OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKKyAgICB9Cit9CisKK3N0YXRpYyBib29sIGFyZUNvcHlDb21wYXRpYmxlKFdHUFVUZXh0
dXJlRm9ybWF0IGZvcm1hdDEsIFdHUFVUZXh0dXJlRm9ybWF0IGZvcm1hdDIpCit7CisgICAgLy8g
aHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYi8jY29weS1jb21wYXRpYmxlCisKKyAgICAv
LyAiZm9ybWF0MSBlcXVhbHMgZm9ybWF0MiIKKyAgICBpZiAoZm9ybWF0MSA9PSBmb3JtYXQyKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIC8vICJmb3JtYXQxIGFuZCBmb3JtYXQyIGRpZmZl
ciBvbmx5IGluIHdoZXRoZXIgdGhleSBhcmUgc3JnYiBmb3JtYXRzIChoYXZlIHRoZSAtc3JnYiBz
dWZmaXgpLiIKKyAgICBhdXRvIGNhbm9uaWNhbGl6ZWRGb3JtYXQxID0gaXNTUkdCQ29tcGF0aWJs
ZShmb3JtYXQxKTsKKyAgICBhdXRvIGNhbm9uaWNhbGl6ZWRGb3JtYXQyID0gaXNTUkdCQ29tcGF0
aWJsZShmb3JtYXQyKTsKKyAgICBpZiAoIWNhbm9uaWNhbGl6ZWRGb3JtYXQxIHx8ICFjYW5vbmlj
YWxpemVkRm9ybWF0MikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChjYW5vbmljYWxp
emVkRm9ybWF0MSAhPSBjYW5vbmljYWxpemVkRm9ybWF0MSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBib29sIHZhbGlkYXRlQ29weVRleHR1
cmVUb1RleHR1cmUoY29uc3QgV0dQVUltYWdlQ29weVRleHR1cmUmIHNvdXJjZSwgY29uc3QgV0dQ
VUltYWdlQ29weVRleHR1cmUmIGRlc3RpbmF0aW9uLCBjb25zdCBXR1BVRXh0ZW50M0QmIGNvcHlT
aXplKQoreworICAgIC8vICJMZXQgc3JjVGV4dHVyZURlc2MgYmUgc291cmNlLnRleHR1cmUuW1tk
ZXNjcmlwdG9yXV0uIgorICAgIGNvbnN0IGF1dG8mIHNyY1RleHR1cmVEZXNjID0gZnJvbUFQSShz
b3VyY2UudGV4dHVyZSkuZGVzY3JpcHRvcigpOworCisgICAgLy8gIkxldCBkc3RUZXh0dXJlRGVz
YyBiZSBkZXN0aW5hdGlvbi50ZXh0dXJlLltbZGVzY3JpcHRvcl1dLiIKKyAgICBjb25zdCBhdXRv
JiBkc3RUZXh0dXJlRGVzYyA9IGZyb21BUEkoZGVzdGluYXRpb24udGV4dHVyZSkuZGVzY3JpcHRv
cigpOworCisgICAgLy8gInZhbGlkYXRpbmcgR1BVSW1hZ2VDb3B5VGV4dHVyZShzb3VyY2UsIGNv
cHlTaXplKSByZXR1cm5zIHRydWUuIgorICAgIGlmICghVGV4dHVyZTo6dmFsaWRhdGVJbWFnZUNv
cHlUZXh0dXJlKHNvdXJjZSwgY29weVNpemUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAvLyAic3JjVGV4dHVyZURlc2MudXNhZ2UgY29udGFpbnMgQ09QWV9TUkMuIgorICAgIGlmICgh
KHNyY1RleHR1cmVEZXNjLnVzYWdlICYgV0dQVVRleHR1cmVVc2FnZV9Db3B5U3JjKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gInZhbGlkYXRpbmcgR1BVSW1hZ2VDb3B5VGV4dHVy
ZShkZXN0aW5hdGlvbiwgY29weVNpemUpIHJldHVybnMgdHJ1ZS4iCisgICAgaWYgKCFUZXh0dXJl
Ojp2YWxpZGF0ZUltYWdlQ29weVRleHR1cmUoZGVzdGluYXRpb24sIGNvcHlTaXplKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gImRzdFRleHR1cmVEZXNjLnVzYWdlIGNvbnRhaW5z
IENPUFlfRFNULiIKKyAgICBpZiAoIShkc3RUZXh0dXJlRGVzYy51c2FnZSAmIFdHUFVUZXh0dXJl
VXNhZ2VfQ29weURzdCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vICJzcmNUZXh0
dXJlRGVzYy5zYW1wbGVDb3VudCBpcyBlcXVhbCB0byBkc3RUZXh0dXJlRGVzYy5zYW1wbGVDb3Vu
dC4iCisgICAgaWYgKHNyY1RleHR1cmVEZXNjLnNhbXBsZUNvdW50ICE9IGRzdFRleHR1cmVEZXNj
LnNhbXBsZUNvdW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyAic3JjVGV4dHVy
ZURlc2MuZm9ybWF0IGFuZCBkc3RUZXh0dXJlRGVzYy5mb3JtYXQgbXVzdCBiZSBjb3B5LWNvbXBh
dGlibGUuIgorICAgIGlmICghYXJlQ29weUNvbXBhdGlibGUoc3JjVGV4dHVyZURlc2MuZm9ybWF0
LCBkc3RUZXh0dXJlRGVzYy5mb3JtYXQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAv
LyAiSWYgc3JjVGV4dHVyZURlc2MuZm9ybWF0IGlzIGEgZGVwdGgtc3RlbmNpbCBmb3JtYXQ6Igor
ICAgIGlmIChUZXh0dXJlOjppc0RlcHRoT3JTdGVuY2lsRm9ybWF0KHNyY1RleHR1cmVEZXNjLmZv
cm1hdCkpIHsKKyAgICAgICAgLy8gInNvdXJjZS5hc3BlY3QgYW5kIGRlc3RpbmF0aW9uLmFzcGVj
dCBtdXN0IGJvdGggcmVmZXIgdG8gYWxsIGFzcGVjdHMgb2Ygc3JjVGV4dHVyZURlc2MuZm9ybWF0
IGFuZCBkc3RUZXh0dXJlRGVzYy5mb3JtYXQsIHJlc3BlY3RpdmVseS4iCisgICAgICAgIGlmICgh
cmVmZXJzVG9BbGxBc3BlY3RzKHNyY1RleHR1cmVEZXNjLmZvcm1hdCwgc291cmNlLmFzcGVjdCkK
KyAgICAgICAgICAgIHx8ICFyZWZlcnNUb0FsbEFzcGVjdHMoZHN0VGV4dHVyZURlc2MuZm9ybWF0
LCBkZXN0aW5hdGlvbi5hc3BlY3QpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KworICAgIC8vICJ2YWxpZGF0aW5nIHRleHR1cmUgY29weSByYW5nZShzb3VyY2UsIGNvcHlTaXpl
KSByZXR1cm5zIHRydWUuIgorICAgIGlmICghVGV4dHVyZTo6dmFsaWRhdGVUZXh0dXJlQ29weVJh
bmdlKHNvdXJjZSwgY29weVNpemUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyAi
dmFsaWRhdGluZyB0ZXh0dXJlIGNvcHkgcmFuZ2UoZGVzdGluYXRpb24sIGNvcHlTaXplKSByZXR1
cm5zIHRydWUuIgorICAgIGlmICghVGV4dHVyZTo6dmFsaWRhdGVUZXh0dXJlQ29weVJhbmdlKGRl
c3RpbmF0aW9uLCBjb3B5U2l6ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vICJU
aGUgc2V0IG9mIHN1YnJlc291cmNlcyBmb3IgdGV4dHVyZSBjb3B5KHNvdXJjZSwgY29weVNpemUp
IGFuZCB0aGUgc2V0IG9mIHN1YnJlc291cmNlcyBmb3IgdGV4dHVyZSBjb3B5KGRlc3RpbmF0aW9u
LCBjb3B5U2l6ZSkgaXMgZGlzam9pbnQuIgorICAgIC8vIGh0dHBzOi8vZ3B1d2ViLmdpdGh1Yi5p
by9ncHV3ZWIvI2Fic3RyYWN0LW9wZGVmLXNldC1vZi1zdWJyZXNvdXJjZXMtZm9yLXRleHR1cmUt
Y29weQorICAgIGlmIChzb3VyY2UudGV4dHVyZSA9PSBkZXN0aW5hdGlvbi50ZXh0dXJlKSB7Cisg
ICAgICAgIC8vIE1pcCBsZXZlbHMgYXJlIG5ldmVyIHJhbmdlcy4KKyAgICAgICAgaWYgKHNvdXJj
ZS5taXBMZXZlbCA9PSBkZXN0aW5hdGlvbi5taXBMZXZlbCkgeworICAgICAgICAgICAgc3dpdGNo
IChmcm9tQVBJKHNvdXJjZS50ZXh0dXJlKS5kZXNjcmlwdG9yKCkuZGltZW5zaW9uKSB7CisgICAg
ICAgICAgICBjYXNlIFdHUFVUZXh0dXJlRGltZW5zaW9uXzFEOgorICAgICAgICAgICAgICAgIC8v
ICJUaGUgc3VicmVzb3VyY2Ugb2YgaW1hZ2VDb3B5VGV4dHVyZS50ZXh0dXJlIGF0IG1pcG1hcCBs
ZXZlbCBpbWFnZUNvcHlUZXh0dXJlLm1pcExldmVsLiIKKyAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgICAgICBjYXNlIFdHUFVUZXh0dXJlRGltZW5zaW9uXzJEOiB7CisgICAg
ICAgICAgICAgICAgLy8gIkZvciBlYWNoIGFycmF5TGF5ZXIgb2YgdGhlIGNvcHlTaXplLmRlcHRo
T3JBcnJheUxheWVycyBhcnJheSBsYXllcnMgc3RhcnRpbmcgYXQgaW1hZ2VDb3B5VGV4dHVyZS5v
cmlnaW4uejoiCisgICAgICAgICAgICAgICAgLy8gIlRoZSBzdWJyZXNvdXJjZSBvZiBpbWFnZUNv
cHlUZXh0dXJlLnRleHR1cmUgYXQgbWlwbWFwIGxldmVsIGltYWdlQ29weVRleHR1cmUubWlwTGV2
ZWwgYW5kIGFycmF5IGxheWVyIGFycmF5TGF5ZXIuIgorICAgICAgICAgICAgICAgIFJhbmdlPHVp
bnQzMl90PiBzb3VyY2VSYW5nZShzb3VyY2Uub3JpZ2luLnosIHNvdXJjZS5vcmlnaW4ueiArIGNv
cHlTaXplLmRlcHRoT3JBcnJheUxheWVycyk7CisgICAgICAgICAgICAgICAgUmFuZ2U8dWludDMy
X3Q+IGRlc3RpbmF0aW9uUmFuZ2UoZGVzdGluYXRpb24ub3JpZ2luLnosIHNvdXJjZS5vcmlnaW4u
eiArIGNvcHlTaXplLmRlcHRoT3JBcnJheUxheWVycyk7CisgICAgICAgICAgICAgICAgaWYgKHNv
dXJjZVJhbmdlLm92ZXJsYXBzKGRlc3RpbmF0aW9uUmFuZ2UpKQorICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBjYXNlIFdHUFVUZXh0dXJlRGltZW5zaW9uXzNEOgorICAgICAgICAgICAgICAg
IC8vICJUaGUgc3VicmVzb3VyY2Ugb2YgaW1hZ2VDb3B5VGV4dHVyZS50ZXh0dXJlIGF0IG1pcG1h
cCBsZXZlbCBpbWFnZUNvcHlUZXh0dXJlLm1pcExldmVsLiIKKyAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgICAgICBjYXNlIFdHUFVUZXh0dXJlRGltZW5zaW9uX0ZvcmNlMzI6
CisgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgcmV0
dXJuIHRydWU7Cit9CisKIHZvaWQgQ29tbWFuZEVuY29kZXI6OmNvcHlUZXh0dXJlVG9UZXh0dXJl
KGNvbnN0IFdHUFVJbWFnZUNvcHlUZXh0dXJlJiBzb3VyY2UsIGNvbnN0IFdHUFVJbWFnZUNvcHlU
ZXh0dXJlJiBkZXN0aW5hdGlvbiwgY29uc3QgV0dQVUV4dGVudDNEJiBjb3B5U2l6ZSkKIHsKLSAg
ICBVTlVTRURfUEFSQU0oc291cmNlKTsKLSAgICBVTlVTRURfUEFSQU0oZGVzdGluYXRpb24pOwot
ICAgIFVOVVNFRF9QQVJBTShjb3B5U2l6ZSk7CisgICAgaWYgKHNvdXJjZS5uZXh0SW5DaGFpbiB8
fCBkZXN0aW5hdGlvbi5uZXh0SW5DaGFpbikKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gaHR0
cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYi8jZG9tLWdwdWNvbW1hbmRlbmNvZGVyLWNvcHl0
ZXh0dXJldG90ZXh0dXJlCisKKyAgICAvLyAiUHJlcGFyZSB0aGUgZW5jb2RlciBzdGF0ZSBvZiB0
aGlzLiBJZiBpdCByZXR1cm5zIGZhbHNlLCBzdG9wLiIKKyAgICBpZiAoIXByZXBhcmVUaGVFbmNv
ZGVyU3RhdGUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gIklmIGFueSBvZiB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIHVuc2F0aXNmaWVkIgorICAgIGlmICghdmFsaWRhdGVDb3B5
VGV4dHVyZVRvVGV4dHVyZShzb3VyY2UsIGRlc3RpbmF0aW9uLCBjb3B5U2l6ZSkpIHsKKyAgICAg
ICAgLy8gImdlbmVyYXRlIGEgdmFsaWRhdGlvbiBlcnJvciBhbmQgc3RvcC4iCisgICAgICAgIG1f
ZGV2aWNlLT5nZW5lcmF0ZUFWYWxpZGF0aW9uRXJyb3IoIlZhbGlkYXRpb24gZmFpbHVyZS4iKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVuc3VyZUJsaXRDb21tYW5kRW5jb2Rlcigp
OworCisgICAgYXV0byYgc291cmNlRGVzY3JpcHRvciA9IGZyb21BUEkoc291cmNlLnRleHR1cmUp
LmRlc2NyaXB0b3IoKTsKKyAgICAvLyBGSVhNRShQRVJGT1JNQU5DRSk6IElzIGl0IGFjdHVhbGx5
IGZhc3RlciB0byB1c2UgdGhlIC1bTVRMQmxpdENvbW1hbmRFbmNvZGVyIGNvcHlGcm9tVGV4dHVy
ZTouLi50b1RleHR1cmU6Li4ubGV2ZWxDb3VudDpdCisgICAgLy8gdmFyaWFudCwgd2hlcmUgcG9z
c2libGUsIHJhdGhlciB0aGFuIGNhbGxpbmcgdGhlIG90aGVyIHZhcmlhbnQgaW4gYSBsb29wPwor
ICAgIHN3aXRjaCAoc291cmNlRGVzY3JpcHRvci5kaW1lbnNpb24pIHsKKyAgICBjYXNlIFdHUFVU
ZXh0dXJlRGltZW5zaW9uXzFEOiB7CisgICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxl
LmNvbS9kb2N1bWVudGF0aW9uL21ldGFsL210bGJsaXRjb21tYW5kZW5jb2Rlci8xNDAwNzU2LWNv
cHlmcm9tdGV4dHVyZT9sYW5ndWFnZT1vYmpjCisgICAgICAgIC8vICJXaGVuIHlvdSBjb3B5IHRv
IGEgMUQgdGV4dHVyZSwgaGVpZ2h0IGFuZCBkZXB0aCBtdXN0IGJlIDEuIgorICAgICAgICBhdXRv
IHNvdXJjZVNpemUgPSBNVExTaXplTWFrZShjb3B5U2l6ZS53aWR0aCwgMSwgMSk7CisgICAgICAg
IGF1dG8gc291cmNlT3JpZ2luID0gTVRMT3JpZ2luTWFrZShzb3VyY2Uub3JpZ2luLngsIDEsIDEp
OworICAgICAgICBhdXRvIGRlc3RpbmF0aW9uT3JpZ2luID0gTVRMT3JpZ2luTWFrZShkZXN0aW5h
dGlvbi5vcmlnaW4ueCwgMSwgMSk7CisgICAgICAgIGZvciAodWludDMyX3QgbGF5ZXIgPSAwOyBs
YXllciA8IGNvcHlTaXplLmRlcHRoT3JBcnJheUxheWVyczsgKytsYXllcikgeworICAgICAgICAg
ICAgLy8gRklYTUU6IFVzZSBjaGVja2VkIGFyaXRobWV0aWMuCisgICAgICAgICAgICBOU1VJbnRl
Z2VyIHNvdXJjZVNsaWNlID0gc291cmNlLm9yaWdpbi56ICsgbGF5ZXI7CisgICAgICAgICAgICBO
U1VJbnRlZ2VyIGRlc3RpbmF0aW9uU2xpY2UgPSBkZXN0aW5hdGlvbi5vcmlnaW4ueiArIGxheWVy
OworICAgICAgICAgICAgW21fYmxpdENvbW1hbmRFbmNvZGVyCisgICAgICAgICAgICAgICAgY29w
eUZyb21UZXh0dXJlOmZyb21BUEkoc291cmNlLnRleHR1cmUpLnRleHR1cmUoKQorICAgICAgICAg
ICAgICAgIHNvdXJjZVNsaWNlOnNvdXJjZVNsaWNlCisgICAgICAgICAgICAgICAgc291cmNlTGV2
ZWw6c291cmNlLm1pcExldmVsCisgICAgICAgICAgICAgICAgc291cmNlT3JpZ2luOnNvdXJjZU9y
aWdpbgorICAgICAgICAgICAgICAgIHNvdXJjZVNpemU6c291cmNlU2l6ZQorICAgICAgICAgICAg
ICAgIHRvVGV4dHVyZTpmcm9tQVBJKGRlc3RpbmF0aW9uLnRleHR1cmUpLnRleHR1cmUoKQorICAg
ICAgICAgICAgICAgIGRlc3RpbmF0aW9uU2xpY2U6ZGVzdGluYXRpb25TbGljZQorICAgICAgICAg
ICAgICAgIGRlc3RpbmF0aW9uTGV2ZWw6ZGVzdGluYXRpb24ubWlwTGV2ZWwKKyAgICAgICAgICAg
ICAgICBkZXN0aW5hdGlvbk9yaWdpbjpkZXN0aW5hdGlvbk9yaWdpbl07CisgICAgICAgIH0KKyAg
ICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgV0dQVVRleHR1cmVEaW1lbnNpb25fMkQ6IHsK
KyAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRpb24vbWV0
YWwvbXRsYmxpdGNvbW1hbmRlbmNvZGVyLzE0MDA3NTYtY29weWZyb210ZXh0dXJlP2xhbmd1YWdl
PW9iamMKKyAgICAgICAgLy8gIldoZW4geW91IGNvcHkgdG8gYSAyRCB0ZXh0dXJlLCBkZXB0aCBt
dXN0IGJlIDEuIgorICAgICAgICBhdXRvIHNvdXJjZVNpemUgPSBNVExTaXplTWFrZShjb3B5U2l6
ZS53aWR0aCwgY29weVNpemUuaGVpZ2h0LCAxKTsKKyAgICAgICAgYXV0byBzb3VyY2VPcmlnaW4g
PSBNVExPcmlnaW5NYWtlKHNvdXJjZS5vcmlnaW4ueCwgc291cmNlLm9yaWdpbi55LCAxKTsKKyAg
ICAgICAgYXV0byBkZXN0aW5hdGlvbk9yaWdpbiA9IE1UTE9yaWdpbk1ha2UoZGVzdGluYXRpb24u
b3JpZ2luLngsIGRlc3RpbmF0aW9uLm9yaWdpbi55LCAxKTsKKyAgICAgICAgZm9yICh1aW50MzJf
dCBsYXllciA9IDA7IGxheWVyIDwgY29weVNpemUuZGVwdGhPckFycmF5TGF5ZXJzOyArK2xheWVy
KSB7CisgICAgICAgICAgICAvLyBGSVhNRTogVXNlIGNoZWNrZWQgYXJpdGhtZXRpYy4KKyAgICAg
ICAgICAgIE5TVUludGVnZXIgc291cmNlU2xpY2UgPSBzb3VyY2Uub3JpZ2luLnogKyBsYXllcjsK
KyAgICAgICAgICAgIE5TVUludGVnZXIgZGVzdGluYXRpb25TbGljZSA9IGRlc3RpbmF0aW9uLm9y
aWdpbi56ICsgbGF5ZXI7CisgICAgICAgICAgICBbbV9ibGl0Q29tbWFuZEVuY29kZXIKKyAgICAg
ICAgICAgICAgICBjb3B5RnJvbVRleHR1cmU6ZnJvbUFQSShzb3VyY2UudGV4dHVyZSkudGV4dHVy
ZSgpCisgICAgICAgICAgICAgICAgc291cmNlU2xpY2U6c291cmNlU2xpY2UKKyAgICAgICAgICAg
ICAgICBzb3VyY2VMZXZlbDpzb3VyY2UubWlwTGV2ZWwKKyAgICAgICAgICAgICAgICBzb3VyY2VP
cmlnaW46c291cmNlT3JpZ2luCisgICAgICAgICAgICAgICAgc291cmNlU2l6ZTpzb3VyY2VTaXpl
CisgICAgICAgICAgICAgICAgdG9UZXh0dXJlOmZyb21BUEkoZGVzdGluYXRpb24udGV4dHVyZSku
dGV4dHVyZSgpCisgICAgICAgICAgICAgICAgZGVzdGluYXRpb25TbGljZTpkZXN0aW5hdGlvblNs
aWNlCisgICAgICAgICAgICAgICAgZGVzdGluYXRpb25MZXZlbDpkZXN0aW5hdGlvbi5taXBMZXZl
bAorICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uT3JpZ2luOmRlc3RpbmF0aW9uT3JpZ2luXTsK
KyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBXR1BVVGV4dHVyZURp
bWVuc2lvbl8zRDogeworICAgICAgICBhdXRvIHNvdXJjZVNpemUgPSBNVExTaXplTWFrZShjb3B5
U2l6ZS53aWR0aCwgY29weVNpemUuaGVpZ2h0LCBjb3B5U2l6ZS5kZXB0aE9yQXJyYXlMYXllcnMp
OworICAgICAgICBhdXRvIHNvdXJjZU9yaWdpbiA9IE1UTE9yaWdpbk1ha2Uoc291cmNlLm9yaWdp
bi54LCBzb3VyY2Uub3JpZ2luLnksIHNvdXJjZS5vcmlnaW4ueik7CisgICAgICAgIGF1dG8gZGVz
dGluYXRpb25PcmlnaW4gPSBNVExPcmlnaW5NYWtlKGRlc3RpbmF0aW9uLm9yaWdpbi54LCBkZXN0
aW5hdGlvbi5vcmlnaW4ueSwgZGVzdGluYXRpb24ub3JpZ2luLnopOworICAgICAgICBbbV9ibGl0
Q29tbWFuZEVuY29kZXIKKyAgICAgICAgICAgIGNvcHlGcm9tVGV4dHVyZTpmcm9tQVBJKHNvdXJj
ZS50ZXh0dXJlKS50ZXh0dXJlKCkKKyAgICAgICAgICAgIHNvdXJjZVNsaWNlOjAKKyAgICAgICAg
ICAgIHNvdXJjZUxldmVsOnNvdXJjZS5taXBMZXZlbAorICAgICAgICAgICAgc291cmNlT3JpZ2lu
OnNvdXJjZU9yaWdpbgorICAgICAgICAgICAgc291cmNlU2l6ZTpzb3VyY2VTaXplCisgICAgICAg
ICAgICB0b1RleHR1cmU6ZnJvbUFQSShkZXN0aW5hdGlvbi50ZXh0dXJlKS50ZXh0dXJlKCkKKyAg
ICAgICAgICAgIGRlc3RpbmF0aW9uU2xpY2U6MAorICAgICAgICAgICAgZGVzdGluYXRpb25MZXZl
bDpkZXN0aW5hdGlvbi5taXBMZXZlbAorICAgICAgICAgICAgZGVzdGluYXRpb25PcmlnaW46ZGVz
dGluYXRpb25PcmlnaW5dOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBXR1BVVGV4
dHVyZURpbWVuc2lvbl9Gb3JjZTMyOgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KIH0KIAogc3RhdGljIGJvb2wgdmFsaWRhdGVDbGVhckJ1ZmZl
cihjb25zdCBCdWZmZXImIGJ1ZmZlciwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456219</attachid>
            <date>2022-03-31 01:55:44 -0700</date>
            <delta_ts>2022-03-31 16:33:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238431-20220331015543.patch</filename>
            <type>text/plain</type>
            <size>17169</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCmluZGV4IGY1NDU3N2MyZGJkZTI3ZmI2
ZDc0MmQ0NDE5MDAzNTA1ZDIzYzUzM2UuLjYxNjE1OGEwMzhjYWQxYzdlZmI0OTFlN2YzMGVhZWU3
NzUyMDgwYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJHUFUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjItMDMtMzEgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBJbXBs
ZW1lbnQgQ29tbWFuZEVuY29kZXI6OmNvcHlUZXh0dXJlVG9UZXh0dXJlKCkgYWNjb3JkaW5nIHRv
IHRoZSBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzg0MzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGlzIGltcGxlbWVudHMgQ29tbWFuZEVuY29kZXI6OmNvcHlUZXh0dXJlVG9CdWZmZXIoKSBh
Y2NvcmRpbmcgdG8gdGhlIHNwZWMuCisgICAgICAgIEl0IHJlLXVzZXMgbWFueSBvZiB0aGUgaGVs
cGVyIGZ1bmN0aW9ucyBhZGRlZCBpbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM4NDI4LiBUaGVyZSBhcmUgbGlua3MgYW5kIHF1b3RlcyBmcm9tCisg
ICAgICAgIHRoZSBzcGVjIHdoZXJlIGFwcHJvcHJpYXRlLgorCisgICAgICAgICogV2ViR1BVL0Nv
bW1hbmRFbmNvZGVyLm1tOgorICAgICAgICAoV2ViR1BVOjpyZWZlcnNUb0FsbEFzcGVjdHMpOgor
ICAgICAgICAoV2ViR1BVOjppc1NSR0JDb21wYXRpYmxlKToKKyAgICAgICAgKFdlYkdQVTo6YXJl
Q29weUNvbXBhdGlibGUpOgorICAgICAgICAoV2ViR1BVOjp2YWxpZGF0ZUNvcHlUZXh0dXJlVG9U
ZXh0dXJlKToKKyAgICAgICAgKFdlYkdQVTo6Q29tbWFuZEVuY29kZXI6OmNvcHlUZXh0dXJlVG9U
ZXh0dXJlKToKKwogMjAyMi0wMy0zMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIEltcGxlbWVudCBDb21tYW5kRW5jb2Rlcjo6Y29w
eUJ1ZmZlclRvVGV4dHVyZSgpIGFjY29yZGluZyB0byB0aGUgc3BlYwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQ
VS9Db21tYW5kRW5jb2Rlci5tbQppbmRleCAyY2VjMGI0MjA0NjczZDBjZDNhODRjY2U5MGE1YTY4
NTJkODM3OTQ2Li5lZDIyNzY1Y2Y4NDQ3Njk2OWQxMmNkYjcyZTU3MDgyMjZlN2NhOTZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rlci5tbQpAQCAtMTcxLDYgKzE3MSwyMSBAQCBz
dGF0aWMgYm9vbCB2YWxpZGF0ZUltYWdlQ29weUJ1ZmZlcihjb25zdCBXR1BVSW1hZ2VDb3B5QnVm
ZmVyJiBpbWFnZUNvcHlCdWZmZXIpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitzdGF0aWMgYm9v
bCByZWZlcnNUb0FsbEFzcGVjdHMoV0dQVVRleHR1cmVGb3JtYXQgZm9ybWF0LCBXR1BVVGV4dHVy
ZUFzcGVjdCBhc3BlY3QpCit7CisgICAgc3dpdGNoIChhc3BlY3QpIHsKKyAgICBjYXNlIFdHUFVU
ZXh0dXJlQXNwZWN0X0FsbDoKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgY2FzZSBXR1BVVGV4
dHVyZUFzcGVjdF9TdGVuY2lsT25seToKKyAgICAgICAgcmV0dXJuIFRleHR1cmU6OmNvbnRhaW5z
U3RlbmNpbEFzcGVjdChmb3JtYXQpICYmICFUZXh0dXJlOjpjb250YWluc0RlcHRoQXNwZWN0KGZv
cm1hdCk7CisgICAgY2FzZSBXR1BVVGV4dHVyZUFzcGVjdF9EZXB0aE9ubHk6CisgICAgICAgIHJl
dHVybiBUZXh0dXJlOjpjb250YWluc0RlcHRoQXNwZWN0KGZvcm1hdCkgJiYgIVRleHR1cmU6OmNv
bnRhaW5zU3RlbmNpbEFzcGVjdChmb3JtYXQpOworICAgIGNhc2UgV0dQVVRleHR1cmVBc3BlY3Rf
Rm9yY2UzMjoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9Cit9CisKIHN0YXRpYyBib29sIHZhbGlkYXRlQ29weUJ1ZmZlclRvVGV4dHVy
ZShjb25zdCBXR1BVSW1hZ2VDb3B5QnVmZmVyJiBzb3VyY2UsIGNvbnN0IFdHUFVJbWFnZUNvcHlU
ZXh0dXJlJiBkZXN0aW5hdGlvbiwgY29uc3QgV0dQVUV4dGVudDNEJiBjb3B5U2l6ZSkKIHsKICAg
ICAvLyAiTGV0IGRzdFRleHR1cmVEZXNjIGJlIGRlc3RpbmF0aW9uLnRleHR1cmUuW1tkZXNjcmlw
dG9yXV0uIgpAQCAtMzYxLDExICszNzYsMzI3IEBAIHZvaWQgQ29tbWFuZEVuY29kZXI6OmNvcHlU
ZXh0dXJlVG9CdWZmZXIoY29uc3QgV0dQVUltYWdlQ29weVRleHR1cmUmIHNvdXJjZSwgY29uCiAg
ICAgVU5VU0VEX1BBUkFNKGNvcHlTaXplKTsKIH0KIAorc3RhdGljIHN0ZDo6b3B0aW9uYWw8V0dQ
VVRleHR1cmVGb3JtYXQ+IGlzU1JHQkNvbXBhdGlibGUoV0dQVVRleHR1cmVGb3JtYXQgZm9ybWF0
KQoreworICAgIHN3aXRjaCAoZm9ybWF0KSB7CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9S
OFVub3JtOgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfUjhTbm9ybToKKyAgICBjYXNlIFdH
UFVUZXh0dXJlRm9ybWF0X1I4VWludDoKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1I4U2lu
dDoKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1IxNlVpbnQ6CisgICAgY2FzZSBXR1BVVGV4
dHVyZUZvcm1hdF9SMTZTaW50OgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfUjE2RmxvYXQ6
CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9SRzhVbm9ybToKKyAgICBjYXNlIFdHUFVUZXh0
dXJlRm9ybWF0X1JHOFNub3JtOgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfUkc4VWludDoK
KyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1JHOFNpbnQ6CisgICAgY2FzZSBXR1BVVGV4dHVy
ZUZvcm1hdF9SMzJGbG9hdDoKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1IzMlVpbnQ6Cisg
ICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9SMzJTaW50OgorICAgIGNhc2UgV0dQVVRleHR1cmVG
b3JtYXRfUkcxNlVpbnQ6CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9SRzE2U2ludDoKKyAg
ICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1JHMTZGbG9hdDoKKyAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1JHQkE4VW5vcm06CisgICAgY2Fz
ZSBXR1BVVGV4dHVyZUZvcm1hdF9SR0JBOFVub3JtU3JnYjoKKyAgICAgICAgcmV0dXJuIFdHUFVU
ZXh0dXJlRm9ybWF0X1JHQkE4VW5vcm07CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9SR0JB
OFNub3JtOgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfUkdCQThVaW50OgorICAgIGNhc2Ug
V0dQVVRleHR1cmVGb3JtYXRfUkdCQThTaW50OgorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfQkdSQThVbm9ybToKKyAgICBjYXNlIFdHUFVU
ZXh0dXJlRm9ybWF0X0JHUkE4VW5vcm1TcmdiOgorICAgICAgICByZXR1cm4gV0dQVVRleHR1cmVG
b3JtYXRfQkdSQThVbm9ybTsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1JHQjEwQTJVbm9y
bToKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1JHMTFCMTBVZmxvYXQ6CisgICAgY2FzZSBX
R1BVVGV4dHVyZUZvcm1hdF9SR0I5RTVVZmxvYXQ6CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1h
dF9SRzMyRmxvYXQ6CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9SRzMyVWludDoKKyAgICBj
YXNlIFdHUFVUZXh0dXJlRm9ybWF0X1JHMzJTaW50OgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3Jt
YXRfUkdCQTE2VWludDoKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1JHQkExNlNpbnQ6Cisg
ICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9SR0JBMTZGbG9hdDoKKyAgICBjYXNlIFdHUFVUZXh0
dXJlRm9ybWF0X1JHQkEzMkZsb2F0OgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfUkdCQTMy
VWludDoKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X1JHQkEzMlNpbnQ6CisgICAgY2FzZSBX
R1BVVGV4dHVyZUZvcm1hdF9TdGVuY2lsODoKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0Rl
cHRoMTZVbm9ybToKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0RlcHRoMjRQbHVzOgorICAg
IGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfRGVwdGgyNFBsdXNTdGVuY2lsODoKKyAgICBjYXNlIFdH
UFVUZXh0dXJlRm9ybWF0X0RlcHRoMjRVbm9ybVN0ZW5jaWw4OgorICAgIGNhc2UgV0dQVVRleHR1
cmVGb3JtYXRfRGVwdGgzMkZsb2F0OgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfRGVwdGgz
MkZsb2F0U3RlbmNpbDg6CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgY2FzZSBX
R1BVVGV4dHVyZUZvcm1hdF9CQzFSR0JBVW5vcm06CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1h
dF9CQzFSR0JBVW5vcm1TcmdiOgorICAgICAgICByZXR1cm4gV0dQVVRleHR1cmVGb3JtYXRfQkMx
UkdCQVVub3JtOworICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfQkMyUkdCQVVub3JtOgorICAg
IGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfQkMyUkdCQVVub3JtU3JnYjoKKyAgICAgICAgcmV0dXJu
IFdHUFVUZXh0dXJlRm9ybWF0X0JDMlJHQkFVbm9ybTsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9y
bWF0X0JDM1JHQkFVbm9ybToKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0JDM1JHQkFVbm9y
bVNyZ2I6CisgICAgICAgIHJldHVybiBXR1BVVGV4dHVyZUZvcm1hdF9CQzNSR0JBVW5vcm07Cisg
ICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9CQzRSVW5vcm06CisgICAgY2FzZSBXR1BVVGV4dHVy
ZUZvcm1hdF9CQzRSU25vcm06CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9CQzVSR1Vub3Jt
OgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfQkM1UkdTbm9ybToKKyAgICBjYXNlIFdHUFVU
ZXh0dXJlRm9ybWF0X0JDNkhSR0JVZmxvYXQ6CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9C
QzZIUkdCRmxvYXQ6CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgY2FzZSBXR1BV
VGV4dHVyZUZvcm1hdF9CQzdSR0JBVW5vcm06CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9C
QzdSR0JBVW5vcm1TcmdiOgorICAgICAgICByZXR1cm4gV0dQVVRleHR1cmVGb3JtYXRfQkM3UkdC
QVVub3JtOworICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhVbm9ybToKKyAgICBj
YXNlIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4VW5vcm1TcmdiOgorICAgICAgICByZXR1cm4g
V0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhVbm9ybTsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9y
bWF0X0VUQzJSR0I4QTFVbm9ybToKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4
QTFVbm9ybVNyZ2I6CisgICAgICAgIHJldHVybiBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOEEx
VW5vcm07CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCQThVbm9ybToKKyAgICBj
YXNlIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0JBOFVub3JtU3JnYjoKKyAgICAgICAgcmV0dXJu
IFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0JBOFVub3JtOworICAgIGNhc2UgV0dQVVRleHR1cmVG
b3JtYXRfRUFDUjExVW5vcm06CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9FQUNSMTFTbm9y
bToKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0VBQ1JHMTFVbm9ybToKKyAgICBjYXNlIFdH
UFVUZXh0dXJlRm9ybWF0X0VBQ1JHMTFTbm9ybToKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM0eDRVbm9ybToKKyAgICBjYXNlIFdH
UFVUZXh0dXJlRm9ybWF0X0FTVEM0eDRVbm9ybVNyZ2I6CisgICAgICAgIHJldHVybiBXR1BVVGV4
dHVyZUZvcm1hdF9BU1RDNHg0VW5vcm07CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
NXg0VW5vcm06CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg0VW5vcm1TcmdiOgor
ICAgICAgICByZXR1cm4gV0dQVVRleHR1cmVGb3JtYXRfQVNUQzV4NFVub3JtOworICAgIGNhc2Ug
V0dQVVRleHR1cmVGb3JtYXRfQVNUQzV4NVVub3JtOgorICAgIGNhc2UgV0dQVVRleHR1cmVGb3Jt
YXRfQVNUQzV4NVVub3JtU3JnYjoKKyAgICAgICAgcmV0dXJuIFdHUFVUZXh0dXJlRm9ybWF0X0FT
VEM1eDVVbm9ybTsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM2eDVVbm9ybToKKyAg
ICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM2eDVVbm9ybVNyZ2I6CisgICAgICAgIHJldHVy
biBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNng1VW5vcm07CisgICAgY2FzZSBXR1BVVGV4dHVyZUZv
cm1hdF9BU1RDNng2VW5vcm06CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNng2VW5v
cm1TcmdiOgorICAgICAgICByZXR1cm4gV0dQVVRleHR1cmVGb3JtYXRfQVNUQzZ4NlVub3JtOwor
ICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NVVub3JtOgorICAgIGNhc2UgV0dQVVRl
eHR1cmVGb3JtYXRfQVNUQzh4NVVub3JtU3JnYjoKKyAgICAgICAgcmV0dXJuIFdHUFVUZXh0dXJl
Rm9ybWF0X0FTVEM4eDVVbm9ybTsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDZV
bm9ybToKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDZVbm9ybVNyZ2I6CisgICAg
ICAgIHJldHVybiBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDOHg2VW5vcm07CisgICAgY2FzZSBXR1BV
VGV4dHVyZUZvcm1hdF9BU1RDOHg4VW5vcm06CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9B
U1RDOHg4VW5vcm1TcmdiOgorICAgICAgICByZXR1cm4gV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4
OFVub3JtOworICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDVVbm9ybToKKyAgICBj
YXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg1VW5vcm1TcmdiOgorICAgICAgICByZXR1cm4g
V0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDVVbm9ybTsKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9y
bWF0X0FTVEMxMHg2VW5vcm06CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4NlVu
b3JtU3JnYjoKKyAgICAgICAgcmV0dXJuIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg2VW5vcm07
CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4OFVub3JtOgorICAgIGNhc2UgV0dQ
VVRleHR1cmVGb3JtYXRfQVNUQzEweDhVbm9ybVNyZ2I6CisgICAgICAgIHJldHVybiBXR1BVVGV4
dHVyZUZvcm1hdF9BU1RDMTB4OFVub3JtOworICAgIGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfQVNU
QzEweDEwVW5vcm06CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4MTBVbm9ybVNy
Z2I6CisgICAgICAgIHJldHVybiBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4MTBVbm9ybTsKKyAg
ICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMngxMFVub3JtOgorICAgIGNhc2UgV0dQVVRl
eHR1cmVGb3JtYXRfQVNUQzEyeDEwVW5vcm1TcmdiOgorICAgICAgICByZXR1cm4gV0dQVVRleHR1
cmVGb3JtYXRfQVNUQzEyeDEwVW5vcm07CisgICAgY2FzZSBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
MTJ4MTJVbm9ybToKKyAgICBjYXNlIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMngxMlVub3JtU3Jn
YjoKKyAgICAgICAgcmV0dXJuIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMngxMlVub3JtOworICAg
IGNhc2UgV0dQVVRleHR1cmVGb3JtYXRfVW5kZWZpbmVkOgorICAgIGNhc2UgV0dQVVRleHR1cmVG
b3JtYXRfRm9yY2UzMjoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisgICAgfQorfQorCitzdGF0aWMgYm9vbCBhcmVDb3B5Q29tcGF0
aWJsZShXR1BVVGV4dHVyZUZvcm1hdCBmb3JtYXQxLCBXR1BVVGV4dHVyZUZvcm1hdCBmb3JtYXQy
KQoreworICAgIC8vIGh0dHBzOi8vZ3B1d2ViLmdpdGh1Yi5pby9ncHV3ZWIvI2NvcHktY29tcGF0
aWJsZQorCisgICAgLy8gImZvcm1hdDEgZXF1YWxzIGZvcm1hdDIiCisgICAgaWYgKGZvcm1hdDEg
PT0gZm9ybWF0MikKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAvLyAiZm9ybWF0MSBhbmQg
Zm9ybWF0MiBkaWZmZXIgb25seSBpbiB3aGV0aGVyIHRoZXkgYXJlIHNyZ2IgZm9ybWF0cyAoaGF2
ZSB0aGUgLXNyZ2Igc3VmZml4KS4iCisgICAgYXV0byBjYW5vbmljYWxpemVkRm9ybWF0MSA9IGlz
U1JHQkNvbXBhdGlibGUoZm9ybWF0MSk7CisgICAgYXV0byBjYW5vbmljYWxpemVkRm9ybWF0MiA9
IGlzU1JHQkNvbXBhdGlibGUoZm9ybWF0Mik7CisgICAgaWYgKCFjYW5vbmljYWxpemVkRm9ybWF0
MSB8fCAhY2Fub25pY2FsaXplZEZvcm1hdDIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBp
ZiAoY2Fub25pY2FsaXplZEZvcm1hdDEgIT0gY2Fub25pY2FsaXplZEZvcm1hdDEpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQorCitzdGF0aWMgYm9vbCB2YWxp
ZGF0ZUNvcHlUZXh0dXJlVG9UZXh0dXJlKGNvbnN0IFdHUFVJbWFnZUNvcHlUZXh0dXJlJiBzb3Vy
Y2UsIGNvbnN0IFdHUFVJbWFnZUNvcHlUZXh0dXJlJiBkZXN0aW5hdGlvbiwgY29uc3QgV0dQVUV4
dGVudDNEJiBjb3B5U2l6ZSkKK3sKKyAgICAvLyAiTGV0IHNyY1RleHR1cmVEZXNjIGJlIHNvdXJj
ZS50ZXh0dXJlLltbZGVzY3JpcHRvcl1dLiIKKyAgICBjb25zdCBhdXRvJiBzcmNUZXh0dXJlRGVz
YyA9IGZyb21BUEkoc291cmNlLnRleHR1cmUpLmRlc2NyaXB0b3IoKTsKKworICAgIC8vICJMZXQg
ZHN0VGV4dHVyZURlc2MgYmUgZGVzdGluYXRpb24udGV4dHVyZS5bW2Rlc2NyaXB0b3JdXS4iCisg
ICAgY29uc3QgYXV0byYgZHN0VGV4dHVyZURlc2MgPSBmcm9tQVBJKGRlc3RpbmF0aW9uLnRleHR1
cmUpLmRlc2NyaXB0b3IoKTsKKworICAgIC8vICJ2YWxpZGF0aW5nIEdQVUltYWdlQ29weVRleHR1
cmUoc291cmNlLCBjb3B5U2l6ZSkgcmV0dXJucyB0cnVlLiIKKyAgICBpZiAoIVRleHR1cmU6OnZh
bGlkYXRlSW1hZ2VDb3B5VGV4dHVyZShzb3VyY2UsIGNvcHlTaXplKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgLy8gInNyY1RleHR1cmVEZXNjLnVzYWdlIGNvbnRhaW5zIENPUFlfU1JD
LiIKKyAgICBpZiAoIShzcmNUZXh0dXJlRGVzYy51c2FnZSAmIFdHUFVUZXh0dXJlVXNhZ2VfQ29w
eVNyYykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vICJ2YWxpZGF0aW5nIEdQVUlt
YWdlQ29weVRleHR1cmUoZGVzdGluYXRpb24sIGNvcHlTaXplKSByZXR1cm5zIHRydWUuIgorICAg
IGlmICghVGV4dHVyZTo6dmFsaWRhdGVJbWFnZUNvcHlUZXh0dXJlKGRlc3RpbmF0aW9uLCBjb3B5
U2l6ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vICJkc3RUZXh0dXJlRGVzYy51
c2FnZSBjb250YWlucyBDT1BZX0RTVC4iCisgICAgaWYgKCEoZHN0VGV4dHVyZURlc2MudXNhZ2Ug
JiBXR1BVVGV4dHVyZVVzYWdlX0NvcHlEc3QpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAvLyAic3JjVGV4dHVyZURlc2Muc2FtcGxlQ291bnQgaXMgZXF1YWwgdG8gZHN0VGV4dHVyZURl
c2Muc2FtcGxlQ291bnQuIgorICAgIGlmIChzcmNUZXh0dXJlRGVzYy5zYW1wbGVDb3VudCAhPSBk
c3RUZXh0dXJlRGVzYy5zYW1wbGVDb3VudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
Ly8gInNyY1RleHR1cmVEZXNjLmZvcm1hdCBhbmQgZHN0VGV4dHVyZURlc2MuZm9ybWF0IG11c3Qg
YmUgY29weS1jb21wYXRpYmxlLiIKKyAgICBpZiAoIWFyZUNvcHlDb21wYXRpYmxlKHNyY1RleHR1
cmVEZXNjLmZvcm1hdCwgZHN0VGV4dHVyZURlc2MuZm9ybWF0KSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgLy8gIklmIHNyY1RleHR1cmVEZXNjLmZvcm1hdCBpcyBhIGRlcHRoLXN0ZW5j
aWwgZm9ybWF0OiIKKyAgICBpZiAoVGV4dHVyZTo6aXNEZXB0aE9yU3RlbmNpbEZvcm1hdChzcmNU
ZXh0dXJlRGVzYy5mb3JtYXQpKSB7CisgICAgICAgIC8vICJzb3VyY2UuYXNwZWN0IGFuZCBkZXN0
aW5hdGlvbi5hc3BlY3QgbXVzdCBib3RoIHJlZmVyIHRvIGFsbCBhc3BlY3RzIG9mIHNyY1RleHR1
cmVEZXNjLmZvcm1hdCBhbmQgZHN0VGV4dHVyZURlc2MuZm9ybWF0LCByZXNwZWN0aXZlbHkuIgor
ICAgICAgICBpZiAoIXJlZmVyc1RvQWxsQXNwZWN0cyhzcmNUZXh0dXJlRGVzYy5mb3JtYXQsIHNv
dXJjZS5hc3BlY3QpCisgICAgICAgICAgICB8fCAhcmVmZXJzVG9BbGxBc3BlY3RzKGRzdFRleHR1
cmVEZXNjLmZvcm1hdCwgZGVzdGluYXRpb24uYXNwZWN0KSkKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CisKKyAgICAvLyAidmFsaWRhdGluZyB0ZXh0dXJlIGNvcHkgcmFuZ2Uoc291
cmNlLCBjb3B5U2l6ZSkgcmV0dXJucyB0cnVlLiIKKyAgICBpZiAoIVRleHR1cmU6OnZhbGlkYXRl
VGV4dHVyZUNvcHlSYW5nZShzb3VyY2UsIGNvcHlTaXplKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgLy8gInZhbGlkYXRpbmcgdGV4dHVyZSBjb3B5IHJhbmdlKGRlc3RpbmF0aW9uLCBj
b3B5U2l6ZSkgcmV0dXJucyB0cnVlLiIKKyAgICBpZiAoIVRleHR1cmU6OnZhbGlkYXRlVGV4dHVy
ZUNvcHlSYW5nZShkZXN0aW5hdGlvbiwgY29weVNpemUpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAvLyAiVGhlIHNldCBvZiBzdWJyZXNvdXJjZXMgZm9yIHRleHR1cmUgY29weShzb3Vy
Y2UsIGNvcHlTaXplKSBhbmQgdGhlIHNldCBvZiBzdWJyZXNvdXJjZXMgZm9yIHRleHR1cmUgY29w
eShkZXN0aW5hdGlvbiwgY29weVNpemUpIGlzIGRpc2pvaW50LiIKKyAgICAvLyBodHRwczovL2dw
dXdlYi5naXRodWIuaW8vZ3B1d2ViLyNhYnN0cmFjdC1vcGRlZi1zZXQtb2Ytc3VicmVzb3VyY2Vz
LWZvci10ZXh0dXJlLWNvcHkKKyAgICBpZiAoc291cmNlLnRleHR1cmUgPT0gZGVzdGluYXRpb24u
dGV4dHVyZSkgeworICAgICAgICAvLyBNaXAgbGV2ZWxzIGFyZSBuZXZlciByYW5nZXMuCisgICAg
ICAgIGlmIChzb3VyY2UubWlwTGV2ZWwgPT0gZGVzdGluYXRpb24ubWlwTGV2ZWwpIHsKKyAgICAg
ICAgICAgIHN3aXRjaCAoZnJvbUFQSShzb3VyY2UudGV4dHVyZSkuZGVzY3JpcHRvcigpLmRpbWVu
c2lvbikgeworICAgICAgICAgICAgY2FzZSBXR1BVVGV4dHVyZURpbWVuc2lvbl8xRDoKKyAgICAg
ICAgICAgICAgICAvLyAiVGhlIHN1YnJlc291cmNlIG9mIGltYWdlQ29weVRleHR1cmUudGV4dHVy
ZSBhdCBtaXBtYXAgbGV2ZWwgaW1hZ2VDb3B5VGV4dHVyZS5taXBMZXZlbC4iCisgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgY2FzZSBXR1BVVGV4dHVyZURpbWVuc2lv
bl8yRDogeworICAgICAgICAgICAgICAgIC8vICJGb3IgZWFjaCBhcnJheUxheWVyIG9mIHRoZSBj
b3B5U2l6ZS5kZXB0aE9yQXJyYXlMYXllcnMgYXJyYXkgbGF5ZXJzIHN0YXJ0aW5nIGF0IGltYWdl
Q29weVRleHR1cmUub3JpZ2luLno6IgorICAgICAgICAgICAgICAgIC8vICJUaGUgc3VicmVzb3Vy
Y2Ugb2YgaW1hZ2VDb3B5VGV4dHVyZS50ZXh0dXJlIGF0IG1pcG1hcCBsZXZlbCBpbWFnZUNvcHlU
ZXh0dXJlLm1pcExldmVsIGFuZCBhcnJheSBsYXllciBhcnJheUxheWVyLiIKKyAgICAgICAgICAg
ICAgICBSYW5nZTx1aW50MzJfdD4gc291cmNlUmFuZ2Uoc291cmNlLm9yaWdpbi56LCBzb3VyY2Uu
b3JpZ2luLnogKyBjb3B5U2l6ZS5kZXB0aE9yQXJyYXlMYXllcnMpOworICAgICAgICAgICAgICAg
IFJhbmdlPHVpbnQzMl90PiBkZXN0aW5hdGlvblJhbmdlKGRlc3RpbmF0aW9uLm9yaWdpbi56LCBz
b3VyY2Uub3JpZ2luLnogKyBjb3B5U2l6ZS5kZXB0aE9yQXJyYXlMYXllcnMpOworICAgICAgICAg
ICAgICAgIGlmIChzb3VyY2VSYW5nZS5vdmVybGFwcyhkZXN0aW5hdGlvblJhbmdlKSkKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgY2FzZSBXR1BVVGV4dHVyZURpbWVuc2lvbl8zRDoKKyAg
ICAgICAgICAgICAgICAvLyAiVGhlIHN1YnJlc291cmNlIG9mIGltYWdlQ29weVRleHR1cmUudGV4
dHVyZSBhdCBtaXBtYXAgbGV2ZWwgaW1hZ2VDb3B5VGV4dHVyZS5taXBMZXZlbC4iCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgY2FzZSBXR1BVVGV4dHVyZURpbWVu
c2lvbl9Gb3JjZTMyOgorICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
IH0KKworICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIENvbW1hbmRFbmNvZGVyOjpjb3B5VGV4
dHVyZVRvVGV4dHVyZShjb25zdCBXR1BVSW1hZ2VDb3B5VGV4dHVyZSYgc291cmNlLCBjb25zdCBX
R1BVSW1hZ2VDb3B5VGV4dHVyZSYgZGVzdGluYXRpb24sIGNvbnN0IFdHUFVFeHRlbnQzRCYgY29w
eVNpemUpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHNvdXJjZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGRl
c3RpbmF0aW9uKTsKLSAgICBVTlVTRURfUEFSQU0oY29weVNpemUpOworICAgIGlmIChzb3VyY2Uu
bmV4dEluQ2hhaW4gfHwgZGVzdGluYXRpb24ubmV4dEluQ2hhaW4pCisgICAgICAgIHJldHVybjsK
KworICAgIC8vIGh0dHBzOi8vZ3B1d2ViLmdpdGh1Yi5pby9ncHV3ZWIvI2RvbS1ncHVjb21tYW5k
ZW5jb2Rlci1jb3B5dGV4dHVyZXRvdGV4dHVyZQorCisgICAgLy8gIlByZXBhcmUgdGhlIGVuY29k
ZXIgc3RhdGUgb2YgdGhpcy4gSWYgaXQgcmV0dXJucyBmYWxzZSwgc3RvcC4iCisgICAgaWYgKCFw
cmVwYXJlVGhlRW5jb2RlclN0YXRlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vICJJZiBh
bnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB1bnNhdGlzZmllZCIKKyAgICBpZiAo
IXZhbGlkYXRlQ29weVRleHR1cmVUb1RleHR1cmUoc291cmNlLCBkZXN0aW5hdGlvbiwgY29weVNp
emUpKSB7CisgICAgICAgIC8vICJnZW5lcmF0ZSBhIHZhbGlkYXRpb24gZXJyb3IgYW5kIHN0b3Au
IgorICAgICAgICBtX2RldmljZS0+Z2VuZXJhdGVBVmFsaWRhdGlvbkVycm9yKCJWYWxpZGF0aW9u
IGZhaWx1cmUuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbnN1cmVCbGl0Q29t
bWFuZEVuY29kZXIoKTsKKworICAgIGF1dG8mIHNvdXJjZURlc2NyaXB0b3IgPSBmcm9tQVBJKHNv
dXJjZS50ZXh0dXJlKS5kZXNjcmlwdG9yKCk7CisgICAgLy8gRklYTUUoUEVSRk9STUFOQ0UpOiBJ
cyBpdCBhY3R1YWxseSBmYXN0ZXIgdG8gdXNlIHRoZSAtW01UTEJsaXRDb21tYW5kRW5jb2RlciBj
b3B5RnJvbVRleHR1cmU6Li4udG9UZXh0dXJlOi4uLmxldmVsQ291bnQ6XQorICAgIC8vIHZhcmlh
bnQsIHdoZXJlIHBvc3NpYmxlLCByYXRoZXIgdGhhbiBjYWxsaW5nIHRoZSBvdGhlciB2YXJpYW50
IGluIGEgbG9vcD8KKyAgICBzd2l0Y2ggKHNvdXJjZURlc2NyaXB0b3IuZGltZW5zaW9uKSB7Cisg
ICAgY2FzZSBXR1BVVGV4dHVyZURpbWVuc2lvbl8xRDogeworICAgICAgICAvLyBodHRwczovL2Rl
dmVsb3Blci5hcHBsZS5jb20vZG9jdW1lbnRhdGlvbi9tZXRhbC9tdGxibGl0Y29tbWFuZGVuY29k
ZXIvMTQwMDc1Ni1jb3B5ZnJvbXRleHR1cmU/bGFuZ3VhZ2U9b2JqYworICAgICAgICAvLyAiV2hl
biB5b3UgY29weSB0byBhIDFEIHRleHR1cmUsIGhlaWdodCBhbmQgZGVwdGggbXVzdCBiZSAxLiIK
KyAgICAgICAgYXV0byBzb3VyY2VTaXplID0gTVRMU2l6ZU1ha2UoY29weVNpemUud2lkdGgsIDEs
IDEpOworICAgICAgICBhdXRvIHNvdXJjZU9yaWdpbiA9IE1UTE9yaWdpbk1ha2Uoc291cmNlLm9y
aWdpbi54LCAxLCAxKTsKKyAgICAgICAgYXV0byBkZXN0aW5hdGlvbk9yaWdpbiA9IE1UTE9yaWdp
bk1ha2UoZGVzdGluYXRpb24ub3JpZ2luLngsIDEsIDEpOworICAgICAgICBmb3IgKHVpbnQzMl90
IGxheWVyID0gMDsgbGF5ZXIgPCBjb3B5U2l6ZS5kZXB0aE9yQXJyYXlMYXllcnM7ICsrbGF5ZXIp
IHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBVc2UgY2hlY2tlZCBhcml0aG1ldGljLgorICAgICAg
ICAgICAgTlNVSW50ZWdlciBzb3VyY2VTbGljZSA9IHNvdXJjZS5vcmlnaW4ueiArIGxheWVyOwor
ICAgICAgICAgICAgTlNVSW50ZWdlciBkZXN0aW5hdGlvblNsaWNlID0gZGVzdGluYXRpb24ub3Jp
Z2luLnogKyBsYXllcjsKKyAgICAgICAgICAgIFttX2JsaXRDb21tYW5kRW5jb2RlcgorICAgICAg
ICAgICAgICAgIGNvcHlGcm9tVGV4dHVyZTpmcm9tQVBJKHNvdXJjZS50ZXh0dXJlKS50ZXh0dXJl
KCkKKyAgICAgICAgICAgICAgICBzb3VyY2VTbGljZTpzb3VyY2VTbGljZQorICAgICAgICAgICAg
ICAgIHNvdXJjZUxldmVsOnNvdXJjZS5taXBMZXZlbAorICAgICAgICAgICAgICAgIHNvdXJjZU9y
aWdpbjpzb3VyY2VPcmlnaW4KKyAgICAgICAgICAgICAgICBzb3VyY2VTaXplOnNvdXJjZVNpemUK
KyAgICAgICAgICAgICAgICB0b1RleHR1cmU6ZnJvbUFQSShkZXN0aW5hdGlvbi50ZXh0dXJlKS50
ZXh0dXJlKCkKKyAgICAgICAgICAgICAgICBkZXN0aW5hdGlvblNsaWNlOmRlc3RpbmF0aW9uU2xp
Y2UKKyAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbkxldmVsOmRlc3RpbmF0aW9uLm1pcExldmVs
CisgICAgICAgICAgICAgICAgZGVzdGluYXRpb25PcmlnaW46ZGVzdGluYXRpb25PcmlnaW5dOwor
ICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIFdHUFVUZXh0dXJlRGlt
ZW5zaW9uXzJEOiB7CisgICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9kb2N1
bWVudGF0aW9uL21ldGFsL210bGJsaXRjb21tYW5kZW5jb2Rlci8xNDAwNzU2LWNvcHlmcm9tdGV4
dHVyZT9sYW5ndWFnZT1vYmpjCisgICAgICAgIC8vICJXaGVuIHlvdSBjb3B5IHRvIGEgMkQgdGV4
dHVyZSwgZGVwdGggbXVzdCBiZSAxLiIKKyAgICAgICAgYXV0byBzb3VyY2VTaXplID0gTVRMU2l6
ZU1ha2UoY29weVNpemUud2lkdGgsIGNvcHlTaXplLmhlaWdodCwgMSk7CisgICAgICAgIGF1dG8g
c291cmNlT3JpZ2luID0gTVRMT3JpZ2luTWFrZShzb3VyY2Uub3JpZ2luLngsIHNvdXJjZS5vcmln
aW4ueSwgMSk7CisgICAgICAgIGF1dG8gZGVzdGluYXRpb25PcmlnaW4gPSBNVExPcmlnaW5NYWtl
KGRlc3RpbmF0aW9uLm9yaWdpbi54LCBkZXN0aW5hdGlvbi5vcmlnaW4ueSwgMSk7CisgICAgICAg
IGZvciAodWludDMyX3QgbGF5ZXIgPSAwOyBsYXllciA8IGNvcHlTaXplLmRlcHRoT3JBcnJheUxh
eWVyczsgKytsYXllcikgeworICAgICAgICAgICAgLy8gRklYTUU6IFVzZSBjaGVja2VkIGFyaXRo
bWV0aWMuCisgICAgICAgICAgICBOU1VJbnRlZ2VyIHNvdXJjZVNsaWNlID0gc291cmNlLm9yaWdp
bi56ICsgbGF5ZXI7CisgICAgICAgICAgICBOU1VJbnRlZ2VyIGRlc3RpbmF0aW9uU2xpY2UgPSBk
ZXN0aW5hdGlvbi5vcmlnaW4ueiArIGxheWVyOworICAgICAgICAgICAgW21fYmxpdENvbW1hbmRF
bmNvZGVyCisgICAgICAgICAgICAgICAgY29weUZyb21UZXh0dXJlOmZyb21BUEkoc291cmNlLnRl
eHR1cmUpLnRleHR1cmUoKQorICAgICAgICAgICAgICAgIHNvdXJjZVNsaWNlOnNvdXJjZVNsaWNl
CisgICAgICAgICAgICAgICAgc291cmNlTGV2ZWw6c291cmNlLm1pcExldmVsCisgICAgICAgICAg
ICAgICAgc291cmNlT3JpZ2luOnNvdXJjZU9yaWdpbgorICAgICAgICAgICAgICAgIHNvdXJjZVNp
emU6c291cmNlU2l6ZQorICAgICAgICAgICAgICAgIHRvVGV4dHVyZTpmcm9tQVBJKGRlc3RpbmF0
aW9uLnRleHR1cmUpLnRleHR1cmUoKQorICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uU2xpY2U6
ZGVzdGluYXRpb25TbGljZQorICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTGV2ZWw6ZGVzdGlu
YXRpb24ubWlwTGV2ZWwKKyAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbk9yaWdpbjpkZXN0aW5h
dGlvbk9yaWdpbl07CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2Ug
V0dQVVRleHR1cmVEaW1lbnNpb25fM0Q6IHsKKyAgICAgICAgYXV0byBzb3VyY2VTaXplID0gTVRM
U2l6ZU1ha2UoY29weVNpemUud2lkdGgsIGNvcHlTaXplLmhlaWdodCwgY29weVNpemUuZGVwdGhP
ckFycmF5TGF5ZXJzKTsKKyAgICAgICAgYXV0byBzb3VyY2VPcmlnaW4gPSBNVExPcmlnaW5NYWtl
KHNvdXJjZS5vcmlnaW4ueCwgc291cmNlLm9yaWdpbi55LCBzb3VyY2Uub3JpZ2luLnopOworICAg
ICAgICBhdXRvIGRlc3RpbmF0aW9uT3JpZ2luID0gTVRMT3JpZ2luTWFrZShkZXN0aW5hdGlvbi5v
cmlnaW4ueCwgZGVzdGluYXRpb24ub3JpZ2luLnksIGRlc3RpbmF0aW9uLm9yaWdpbi56KTsKKyAg
ICAgICAgW21fYmxpdENvbW1hbmRFbmNvZGVyCisgICAgICAgICAgICBjb3B5RnJvbVRleHR1cmU6
ZnJvbUFQSShzb3VyY2UudGV4dHVyZSkudGV4dHVyZSgpCisgICAgICAgICAgICBzb3VyY2VTbGlj
ZTowCisgICAgICAgICAgICBzb3VyY2VMZXZlbDpzb3VyY2UubWlwTGV2ZWwKKyAgICAgICAgICAg
IHNvdXJjZU9yaWdpbjpzb3VyY2VPcmlnaW4KKyAgICAgICAgICAgIHNvdXJjZVNpemU6c291cmNl
U2l6ZQorICAgICAgICAgICAgdG9UZXh0dXJlOmZyb21BUEkoZGVzdGluYXRpb24udGV4dHVyZSku
dGV4dHVyZSgpCisgICAgICAgICAgICBkZXN0aW5hdGlvblNsaWNlOjAKKyAgICAgICAgICAgIGRl
c3RpbmF0aW9uTGV2ZWw6ZGVzdGluYXRpb24ubWlwTGV2ZWwKKyAgICAgICAgICAgIGRlc3RpbmF0
aW9uT3JpZ2luOmRlc3RpbmF0aW9uT3JpZ2luXTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAg
IGNhc2UgV0dQVVRleHR1cmVEaW1lbnNpb25fRm9yY2UzMjoKKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiB9CiAKIHN0YXRpYyBib29sIHZhbGlk
YXRlQ2xlYXJCdWZmZXIoY29uc3QgQnVmZmVyJiBidWZmZXIsIHVpbnQ2NF90IG9mZnNldCwgdWlu
dDY0X3Qgc2l6ZSkK
</data>
<flag name="review"
          id="484450"
          type_id="1"
          status="+"
          setter="dino"
    />
    <flag name="commit-queue"
          id="484546"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>