<?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>194618</bug_id>
          
          <creation_ts>2019-02-13 15:36:46 -0800</creation_ts>
          <short_desc>[Web GPU] Replace &apos;unsigned long&apos; with &apos;unsigned&apos; when implementing u32 variables</short_desc>
          <delta_ts>2019-03-29 12:43:18 -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>Other</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="Justin Fan">justin_fan</reporter>
          <assigned_to name="Justin Fan">justin_fan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1505891</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-02-13 15:36:46 -0800</bug_when>
    <thetext>In WebIDL, &quot;unsigned long (aka u32 in Web GPU)&quot; actually refers to a 32-bit unsigned integer. Replace all instances of &quot;unsigned long&quot; in Web GPU C++ meant to represent &quot;u32&quot; with &quot;unsigned&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505893</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-13 15:38:03 -0800</bug_when>
    <thetext>&lt;rdar://problem/48055390&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505894</commentid>
    <comment_count>2</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-02-13 15:38:09 -0800</bug_when>
    <thetext>Silly me didn&apos;t think harder about why &quot;u32&quot; was the chosen typedef for &quot;unsigned long&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505898</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-13 15:47:49 -0800</bug_when>
    <thetext>&lt;rdar://problem/48055796&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522317</commentid>
    <comment_count>4</comment_count>
      <attachid>366231</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-03-28 18:38:57 -0700</bug_when>
    <thetext>Created attachment 366231
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522329</commentid>
    <comment_count>5</comment_count>
      <attachid>366231</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-28 19:19:43 -0700</bug_when>
    <thetext>Comment on attachment 366231
Patch

Clearing flags on attachment: 366231

Committed r243636: &lt;https://trac.webkit.org/changeset/243636&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522330</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-28 19:19:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522464</commentid>
    <comment_count>7</comment_count>
      <attachid>366231</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-03-29 08:54:26 -0700</bug_when>
    <thetext>Comment on attachment 366231
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=366231&amp;action=review

&gt; Source/WebCore/Modules/webgpu/WebGPUBuffer.cpp:45
&gt; -void WebGPUBuffer::setSubData(unsigned long long offset, const JSC::ArrayBuffer&amp; data)
&gt; +void WebGPUBuffer::setSubData(unsigned long offset, const JSC::ArrayBuffer&amp; data)

Possibly wrong, see comment below.

&gt; Source/WebCore/Modules/webgpu/WebGPUBuffer.h:51
&gt; -    void setSubData(unsigned long long, const JSC::ArrayBuffer&amp;);
&gt; +    void setSubData(unsigned long, const JSC::ArrayBuffer&amp;);

Possibly wrong, see comment below.

&gt; Source/WebCore/Modules/webgpu/WebGPUBufferBinding.h:38
&gt; -    unsigned long long offset;
&gt; -    unsigned long long size;
&gt; +    unsigned long offset;
&gt; +    unsigned long size;

This change seems wrong. It changes 64-bit to 32-bit, and uses the type &quot;unsigned long&quot; for 32-bit, when we would normally use &quot;unsigned&quot; or &quot;uint32_t&quot;.

I am pretty sure this needs to change back to &quot;unsigned long long&quot;.

Do these need to be 64-bit? If so, please change back to &quot;unsigned long long&quot;. If not, please change to &quot;unsigned&quot;.

&gt; Source/WebCore/platform/graphics/gpu/GPUBindGroupLayout.h:50
&gt; -    using BindingsMapType = HashMap&lt;unsigned long long, GPUBindGroupLayoutBinding, WTF::IntHash&lt;unsigned long long&gt;, WTF::UnsignedWithZeroKeyHashTraits&lt;unsigned long long&gt;&gt;;
&gt; +    using BindingsMapType = HashMap&lt;unsigned long, GPUBindGroupLayoutBinding, WTF::IntHash&lt;unsigned long&gt;, WTF::UnsignedWithZeroKeyHashTraits&lt;unsigned long&gt;&gt;;

Same problem here.

&gt; Source/WebCore/platform/graphics/gpu/GPUBufferBinding.h:38
&gt; -    unsigned long long offset;
&gt; -    unsigned long long size;
&gt; +    unsigned long offset;
&gt; +    unsigned long size;

And here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522504</commentid>
    <comment_count>8</comment_count>
      <attachid>366231</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-03-29 11:16:04 -0700</bug_when>
    <thetext>Comment on attachment 366231
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=366231&amp;action=review

&gt;&gt; Source/WebCore/Modules/webgpu/WebGPUBufferBinding.h:38
&gt;&gt; +    unsigned long size;
&gt; 
&gt; This change seems wrong. It changes 64-bit to 32-bit, and uses the type &quot;unsigned long&quot; for 32-bit, when we would normally use &quot;unsigned&quot; or &quot;uint32_t&quot;.
&gt; 
&gt; I am pretty sure this needs to change back to &quot;unsigned long long&quot;.
&gt; 
&gt; Do these need to be 64-bit? If so, please change back to &quot;unsigned long long&quot;. If not, please change to &quot;unsigned&quot;.

Thanks for the catch. The rest of WebKit backs these with &apos;uint64_t&apos; so I&apos;ll be changing these to that!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522549</commentid>
    <comment_count>9</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-03-29 12:43:18 -0700</bug_when>
    <thetext>Addressing Darin&apos;s comments in https://bugs.webkit.org/show_bug.cgi?id=196401</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366231</attachid>
            <date>2019-03-28 18:38:57 -0700</date>
            <delta_ts>2019-03-28 19:19:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194618-20190328183856.patch</filename>
            <type>text/plain</type>
            <size>25097</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzNjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY0MjUwMmIzOGYzOTIz
YzU2Y2I2MmU0YzgxMTYxZTg2OGRiYzc1MC4uNmNiOTM0YzllMjU5ZDQ3MDkxOGY3YzBhZDNhZjk3
ZDJkZTJiNzc4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5LTAzLTI4ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBHUFVdIFJlcGxh
Y2UgJ3Vuc2lnbmVkIGxvbmcnIHdpdGggJ3Vuc2lnbmVkJyB3aGVuIGltcGxlbWVudGluZyB1MzIg
dmFyaWFibGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTQ2MTgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4MDU1Nzk2PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYklETCBmb3IgInVuc2lnbmVk
IiBvbiA2NC1iaXQgaXMgInVuc2lnbmVkIGxvbmciLiBVcGRhdGUgV2ViIEdQVSB0byBtYXRjaC4K
KworICAgICAgICBObyBuZXcgdGVzdHM7IG5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L0dQVUJpbmRHcm91cExheW91dEJpbmRpbmcuaDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTFZlcnRleEJ1ZmZlckluZGV4Q2FsY3Vs
YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TWV0YWw6OmNhbGN1bGF0ZVZlcnRl
eEJ1ZmZlckluZGV4KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExT
TFZlcnRleEJ1ZmZlckluZGV4Q2FsY3VsYXRvci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1
L1dlYkdQVUJpbmRHcm91cEJpbmRpbmcuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJH
UFVCaW5kR3JvdXBEZXNjcmlwdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRlQnVm
ZmVyQmluZGluZ1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVQmluZEdyb3VwRGVzY3Jp
cHRvcjo6dHJ5Q3JlYXRlR1BVQmluZEdyb3VwRGVzY3JpcHRvciBjb25zdCk6CisgICAgICAgICog
TW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQ
VUJ1ZmZlcjo6c2V0U3ViRGF0YSk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVm
ZmVyLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyQmluZGluZy5oOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVJlbmRlclBhc3NFbmNvZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdQVVJlbmRlclBhc3NFbmNvZGVyOjpzZXRWZXJ0ZXhCdWZmZXJz
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVVJlbmRlclBhc3NFbmNvZGVyOjpkcmF3KToKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVSZW5kZXJQYXNzRW5jb2Rlci5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCaW5kR3JvdXBCaW5kaW5nLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJpbmRHcm91cExheW91dC5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCdWZmZXJCaW5kaW5nLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUV4dGVudDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVUxpbWl0cy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVSZW5kZXJQYXNzRW5jb2Rlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVUZXh0dXJlRGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9j
b2NvYS9HUFVCaW5kR3JvdXBMYXlvdXRNZXRhbC5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUJp
bmRHcm91cExheW91dDo6dHJ5Q3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvY29jb2EvR1BVQmluZEdyb3VwTWV0YWwubW06CisgICAgICAgIChXZWJDb3JlOjpHUFVCaW5k
R3JvdXA6OnRyeUNyZWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29h
L0dQVVJlbmRlclBhc3NFbmNvZGVyTWV0YWwubW06CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5k
ZXJQYXNzRW5jb2Rlcjo6c2V0VmVydGV4QnVmZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpHUFVS
ZW5kZXJQYXNzRW5jb2Rlcjo6ZHJhdyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L2NvY29hL0dQVVJlbmRlclBpcGVsaW5lTWV0YWwubW06CisgICAgICAgIChXZWJDb3JlOjp0cnlT
ZXRJbnB1dFN0YXRlRm9yUGlwZWxpbmVEZXNjcmlwdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9ncHUvY29jb2EvR1BVVGV4dHVyZU1ldGFsLm1tOgorICAgICAgICAoV2ViQ29yZTo6
c3RvcmFnZU1vZGVGb3JQaXhlbEZvcm1hdEFuZFNhbXBsZUNvdW50KToKKwogMjAxOS0wMy0yOCAg
SnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgR1BVXSBQ
cm90b3R5cGUgY29tcHV0ZSBwaXBlbGluZSB3aXRoIE1TTApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVQmluZEdyb3VwTGF5b3V0QmluZGluZy5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVQmluZEdyb3VwTGF5b3V0QmluZGluZy5oCmluZGV4
IGM2NzZiN2ZjMjIzMDUxZWVlNWFkODAwZjY2YWMyY2M0ZmViMzljYmYuLjFlMTQ3NGM0ZDFmMDEw
NGU4Y2I0MDA4ZGExNDg5YzEyZTU5NDVjOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L0dQVUJpbmRHcm91cExheW91dEJpbmRpbmcuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVCaW5kR3JvdXBMYXlvdXRCaW5kaW5nLmgKQEAgLTQxLDcg
KzQxLDcgQEAgZW51bSBjbGFzcyBHUFVCaW5kaW5nVHlwZSB7CiB9OwogCiBzdHJ1Y3QgR1BVQmlu
ZEdyb3VwTGF5b3V0QmluZGluZyB7Ci0gICAgdW5zaWduZWQgbG9uZyBiaW5kaW5nOworICAgIHVu
c2lnbmVkIGJpbmRpbmc7CiAgICAgR1BVU2hhZGVyU3RhZ2VGbGFncyB2aXNpYmlsaXR5OwogICAg
IEdQVUJpbmRpbmdUeXBlIHR5cGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xWZXJ0ZXhCdWZmZXJJbmRleENhbGN1bGF0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xWZXJ0
ZXhCdWZmZXJJbmRleENhbGN1bGF0b3IuY3BwCmluZGV4IGE4MDkxZTllN2JhODJjZjk3NDUwYzQy
MWIwNzMxMGIyZWQ3OTZlY2IuLjNkZDM1MTM5OWNkMzQzMDczMDM2Y2ZkMTc4NTliMTM4NTE1ZmYw
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFs
L1dITFNMVmVydGV4QnVmZmVySW5kZXhDYWxjdWxhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9NZXRhbC9XSExTTFZlcnRleEJ1ZmZlckluZGV4Q2FsY3Vs
YXRvci5jcHAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdITFNMIHsKIAogbmFtZXNwYWNl
IE1ldGFsIHsKIAotdW5zaWduZWQgbG9uZyBjYWxjdWxhdGVWZXJ0ZXhCdWZmZXJJbmRleCh1bnNp
Z25lZCBsb25nIGluZGV4KQordW5zaWduZWQgY2FsY3VsYXRlVmVydGV4QnVmZmVySW5kZXgodW5z
aWduZWQgaW5kZXgpCiB7CiAgICAgLy8gUmVzZXJ2ZSB0aGUgZmlyc3QgZmV3IE1UTEJ1ZmZlciBz
bG90cyBmb3IgYXJndW1lbnQgYnVmZmVycyBmb3IgR1BVQmluZEdyb3Vwcy4KICAgICByZXR1cm4g
aW5kZXggKyA4OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvTWV0YWwvV0hMU0xWZXJ0ZXhCdWZmZXJJbmRleENhbGN1bGF0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML01ldGFsL1dITFNMVmVydGV4QnVmZmVySW5kZXhDYWxj
dWxhdG9yLmgKaW5kZXggOWY4YzI1MzBmMDAxM2JhODc2N2IwYzAwYWNmZjMxZmVkZTE3NDM3ZC4u
MjUxNmRmYzhkOWQ4NWQzMDQ5MmU1YjUxNjIwMzdkYzZlN2EyZWI5NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvTWV0YWwvV0hMU0xWZXJ0ZXhCdWZmZXJJ
bmRleENhbGN1bGF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9NZXRhbC9XSExTTFZlcnRleEJ1ZmZlckluZGV4Q2FsY3VsYXRvci5oCkBAIC0zMyw3ICszMyw3
IEBAIG5hbWVzcGFjZSBXSExTTCB7CiAKIG5hbWVzcGFjZSBNZXRhbCB7CiAKLXVuc2lnbmVkIGxv
bmcgY2FsY3VsYXRlVmVydGV4QnVmZmVySW5kZXgodW5zaWduZWQgbG9uZyk7Cit1bnNpZ25lZCBj
YWxjdWxhdGVWZXJ0ZXhCdWZmZXJJbmRleCh1bnNpZ25lZCk7CiAKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwQmluZGluZy5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwQmluZGluZy5oCmlu
ZGV4IDlmOTlkYjNjZDkyNzQxM2M5YmNhYzE0MDEyNGQwODc0YTZlNmVhNzkuLmQ3ODAwMTAzYzlh
N2UzNWY0NzYyNjY1MzFmNTEyYThjYmU3OWZiM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cEJpbmRpbmcuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBCaW5kaW5nLmgKQEAgLTM3LDcgKzM3
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgV2ViR1BVQmluZGluZ1Jlc291cmNlID0g
VmFyaWFudDxSZWZQdHI8V2ViR1BVU2FtcGxlcj4sIFJlZlB0cjxXZWJHUFVUZXh0dXJlVmlldz4s
IFdlYkdQVUJ1ZmZlckJpbmRpbmc+OwogCiBzdHJ1Y3QgV2ViR1BVQmluZEdyb3VwQmluZGluZyB7
Ci0gICAgdW5zaWduZWQgbG9uZyBiaW5kaW5nOworICAgIHVuc2lnbmVkIGJpbmRpbmc7CiAgICAg
V2ViR1BVQmluZGluZ1Jlc291cmNlIHJlc291cmNlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwRGVzY3JpcHRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBEZXNjcmlwdG9yLmNw
cAppbmRleCBlMmQ4MzE4NDdmMzEwOTY2YmJlYjc2N2Q4YjhhNjhlODE1ZWFjZDIyLi45ODUxNTY3
ZTdjMWUxZTNlYTAyMWQ3ZjhmNTc5NTcxOGEyMzRlNTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBEZXNjcmlwdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBEZXNjcmlwdG9yLmNw
cApAQCAtNDQsMTggKzQ0LDE4IEBAIHN0YXRpYyBib29sIHZhbGlkYXRlQnVmZmVyQmluZGluZ1R5
cGUoY29uc3QgR1BVQnVmZmVyKiBidWZmZXIsIGNvbnN0IEdQVUJpbmRHcm91CiAgICAgc3dpdGNo
IChiaW5kaW5nLnR5cGUpIHsKICAgICBjYXNlIEdQVUJpbmRpbmdUeXBlOjpVbmlmb3JtQnVmZmVy
OgogICAgICAgICBpZiAoIWJ1ZmZlci0+aXNVbmlmb3JtKCkpIHsKLSAgICAgICAgICAgIExPRyhX
ZWJHUFUsICIlczogR1BVQnVmZmVyIHJlc291cmNlIGZvciBiaW5kaW5nICVsdSBkb2VzIG5vdCBo
YXZlIFVOSUZPUk0gdXNhZ2UhIiwgZnVuY3Rpb25OYW1lLCBiaW5kaW5nLmJpbmRpbmcpOworICAg
ICAgICAgICAgTE9HKFdlYkdQVSwgIiVzOiBHUFVCdWZmZXIgcmVzb3VyY2UgZm9yIGJpbmRpbmcg
JXUgZG9lcyBub3QgaGF2ZSBVTklGT1JNIHVzYWdlISIsIGZ1bmN0aW9uTmFtZSwgYmluZGluZy5i
aW5kaW5nKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICBjYXNlIEdQVUJpbmRpbmdUeXBlOjpTdG9yYWdlQnVmZmVyOgogICAg
ICAgICBpZiAoIWJ1ZmZlci0+aXNTdG9yYWdlKCkpIHsKLSAgICAgICAgICAgIExPRyhXZWJHUFUs
ICIlczogR1BVQnVmZmVyIHJlc291cmNlIGZvciBiaW5kaW5nICVsdSBkb2VzIG5vdCBoYXZlIFNU
T1JBR0UgdXNhZ2UhIiwgZnVuY3Rpb25OYW1lLCBiaW5kaW5nLmJpbmRpbmcpOworICAgICAgICAg
ICAgTE9HKFdlYkdQVSwgIiVzOiBHUFVCdWZmZXIgcmVzb3VyY2UgZm9yIGJpbmRpbmcgJXUgZG9l
cyBub3QgaGF2ZSBTVE9SQUdFIHVzYWdlISIsIGZ1bmN0aW9uTmFtZSwgYmluZGluZy5iaW5kaW5n
KTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICBkZWZhdWx0OgotICAgICAgICBMT0coV2ViR1BVLCAiJXM6IExheW91dCBiaW5k
aW5nICVsdSBpcyBub3QgYSBidWZmZXItdHlwZSByZXNvdXJjZSEiLCBmdW5jdGlvbk5hbWUsIGJp
bmRpbmcuYmluZGluZyk7CisgICAgICAgIExPRyhXZWJHUFUsICIlczogTGF5b3V0IGJpbmRpbmcg
JXUgaXMgbm90IGEgYnVmZmVyLXR5cGUgcmVzb3VyY2UhIiwgZnVuY3Rpb25OYW1lLCBiaW5kaW5n
LmJpbmRpbmcpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogfQpAQCAtODIsNyArODIs
NyBAQCBPcHRpb25hbDxHUFVCaW5kR3JvdXBEZXNjcmlwdG9yPiBXZWJHUFVCaW5kR3JvdXBEZXNj
cmlwdG9yOjp0cnlDcmVhdGVHUFVCaW5kR3JvdQogICAgIGZvciAoY29uc3QgYXV0byYgYmluZGlu
ZyA6IGJpbmRpbmdzKSB7CiAgICAgICAgIGF1dG8gaXRlcmF0b3IgPSBsYXlvdXRNYXAuZmluZChi
aW5kaW5nLmJpbmRpbmcpOwogICAgICAgICBpZiAoaXRlcmF0b3IgPT0gbGF5b3V0TWFwLmVuZCgp
KSB7Ci0gICAgICAgICAgICBMT0coV2ViR1BVLCAiJXM6IEdQVUJpbmRHcm91cExheW91dEJpbmRp
bmcgJWx1IG5vdCBmb3VuZCBpbiBHUFVCaW5kR3JvdXBMYXlvdXQhIiwgZnVuY3Rpb25OYW1lLCBi
aW5kaW5nLmJpbmRpbmcpOworICAgICAgICAgICAgTE9HKFdlYkdQVSwgIiVzOiBHUFVCaW5kR3Jv
dXBMYXlvdXRCaW5kaW5nICV1IG5vdCBmb3VuZCBpbiBHUFVCaW5kR3JvdXBMYXlvdXQhIiwgZnVu
Y3Rpb25OYW1lLCBiaW5kaW5nLmJpbmRpbmcpOwogICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKICAgICAgICAgfQogCkBAIC0xMTksNyArMTE5LDcgQEAgT3B0aW9uYWw8R1BVQmluZEdy
b3VwRGVzY3JpcHRvcj4gV2ViR1BVQmluZEdyb3VwRGVzY3JpcHRvcjo6dHJ5Q3JlYXRlR1BVQmlu
ZEdyb3UKIAogICAgICAgICBhdXRvIGJpbmRpbmdSZXNvdXJjZSA9IFdURjo6dmlzaXQoYmluZGlu
Z1Jlc291cmNlVmlzaXRvciwgYmluZGluZy5yZXNvdXJjZSk7CiAgICAgICAgIGlmICghYmluZGlu
Z1Jlc291cmNlKSB7Ci0gICAgICAgICAgICBMT0coV2ViR1BVLCAiJXM6IEludmFsaWQgcmVzb3Vy
Y2UgZm9yIGJpbmRpbmcgJWx1ISIsIGZ1bmN0aW9uTmFtZSwgbGF5b3V0QmluZGluZy5iaW5kaW5n
KTsKKyAgICAgICAgICAgIExPRyhXZWJHUFUsICIlczogSW52YWxpZCByZXNvdXJjZSBmb3IgYmlu
ZGluZyAldSEiLCBmdW5jdGlvbk5hbWUsIGxheW91dEJpbmRpbmcuYmluZGluZyk7CiAgICAgICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCdWZmZXIuY3BwCmluZGV4IGViOTQxMTViYzFmOWY3MTE2
NjBhNzFjMWQxMjhlNDc4ZTlkYzQ0ZWEuLmFkZTIyNjE4OTQwNmY4NTdmYTFlM2ZiMjlkOGM5YmRi
ZWJmOTVmMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVm
ZmVyLmNwcApAQCAtNDIsNyArNDIsNyBAQCBXZWJHUFVCdWZmZXI6OldlYkdQVUJ1ZmZlcihSZWZQ
dHI8R1BVQnVmZmVyPiYmIGJ1ZmZlcikKIHsKIH0KIAotdm9pZCBXZWJHUFVCdWZmZXI6OnNldFN1
YkRhdGEodW5zaWduZWQgbG9uZyBsb25nIG9mZnNldCwgY29uc3QgSlNDOjpBcnJheUJ1ZmZlciYg
ZGF0YSkKK3ZvaWQgV2ViR1BVQnVmZmVyOjpzZXRTdWJEYXRhKHVuc2lnbmVkIGxvbmcgb2Zmc2V0
LCBjb25zdCBKU0M6OkFycmF5QnVmZmVyJiBkYXRhKQogewogICAgIGlmICghbV9idWZmZXIpCiAg
ICAgICAgIExPRyhXZWJHUFUsICJHUFVCdWZmZXI6OnNldFN1YkRhdGEoKTogSW52YWxpZCBvcGVy
YXRpb24hIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5o
CmluZGV4IDk4NThkYTE5ZTI5ZDhiNmNhMzNiNGM1MTFhMGI2YzVhZTAxYjhiNGYuLjcyY2RhZTY3
Nzk2YTE3YjdiNmM0N2M4NGQ3OTRiYTQ3NjY2MGVkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5oCkBAIC00OCw3ICs0OCw3IEBAIHB1YmxpYzoKICAg
ICBHUFVCdWZmZXIqIGJ1ZmZlcigpIHsgcmV0dXJuIG1fYnVmZmVyLmdldCgpOyB9CiAgICAgY29u
c3QgR1BVQnVmZmVyKiBidWZmZXIoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlci5nZXQoKTsgfQog
Ci0gICAgdm9pZCBzZXRTdWJEYXRhKHVuc2lnbmVkIGxvbmcgbG9uZywgY29uc3QgSlNDOjpBcnJh
eUJ1ZmZlciYpOworICAgIHZvaWQgc2V0U3ViRGF0YSh1bnNpZ25lZCBsb25nLCBjb25zdCBKU0M6
OkFycmF5QnVmZmVyJik7CiAgICAgdXNpbmcgQnVmZmVyTWFwcGluZ1Byb21pc2UgPSBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPEpTQzo6QXJyYXlCdWZmZXI+PjsKICAgICB2b2lkIG1h
cFJlYWRBc3luYyhCdWZmZXJNYXBwaW5nUHJvbWlzZSYmKTsKICAgICB2b2lkIG1hcFdyaXRlQXN5
bmMoQnVmZmVyTWFwcGluZ1Byb21pc2UmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVCdWZmZXJCaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVCdWZmZXJCaW5kaW5nLmgKaW5kZXggZDllNzYyZmIwZDAyYWU5OTgz
YzYyMmE3ZGFjMTk5ZDg0YTAyMmFkMy4uYjQ3N2I2N2FkNmUzMzRkZjQ2NjM2ZmZkYmNlZTRhMzYw
OTM4ZmFhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
QnVmZmVyQmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VUJ1ZmZlckJpbmRpbmcuaApAQCAtMzQsOCArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHN0cnVjdCBXZWJHUFVCdWZmZXJCaW5kaW5nIHsKICAgICBSZWZQdHI8V2ViR1BVQnVmZmVyPiBi
dWZmZXI7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIG9mZnNldDsKLSAgICB1bnNpZ25lZCBsb25n
IGxvbmcgc2l6ZTsKKyAgICB1bnNpZ25lZCBsb25nIG9mZnNldDsKKyAgICB1bnNpZ25lZCBsb25n
IHNpemU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVSZW5kZXJQYXNzRW5jb2Rlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVSZW5kZXJQYXNzRW5jb2Rlci5jcHAKaW5k
ZXggOGJjMzVlYWEzMWFkYjcxOWQ5MDgxYWY0OTQ1OGQzZTM4MDg0MGU0Ni4uY2ZjZTkwNTI2MjU1
MDYyYzc1MjFhY2VhOGEzNjdmZDZmNTMyZGIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVJlbmRlclBhc3NFbmNvZGVyLmNwcApAQCAtNjAs
NyArNjAsNyBAQCB2b2lkIFdlYkdQVVJlbmRlclBhc3NFbmNvZGVyOjpzZXRQaXBlbGluZShjb25z
dCBXZWJHUFVSZW5kZXJQaXBlbGluZSYgcGlwZWxpbmUpCiAgICAgbV9wYXNzRW5jb2Rlci0+c2V0
UGlwZWxpbmUobWFrZVJlZigqcGlwZWxpbmUucmVuZGVyUGlwZWxpbmUoKSkpOwogfQogCi12b2lk
IFdlYkdQVVJlbmRlclBhc3NFbmNvZGVyOjpzZXRWZXJ0ZXhCdWZmZXJzKHVuc2lnbmVkIGxvbmcg
c3RhcnRTbG90LCBWZWN0b3I8UmVmUHRyPFdlYkdQVUJ1ZmZlcj4+JiYgYnVmZmVycywgVmVjdG9y
PHVuc2lnbmVkIGxvbmcgbG9uZz4mJiBvZmZzZXRzKQordm9pZCBXZWJHUFVSZW5kZXJQYXNzRW5j
b2Rlcjo6c2V0VmVydGV4QnVmZmVycyh1bnNpZ25lZCBzdGFydFNsb3QsIFZlY3RvcjxSZWZQdHI8
V2ViR1BVQnVmZmVyPj4mJiBidWZmZXJzLCBWZWN0b3I8dW5zaWduZWQgbG9uZyBsb25nPiYmIG9m
ZnNldHMpCiB7CiAjaWYgIUxPR19ESVNBQkxFRAogICAgIGNvbnN0IGNoYXIqIGNvbnN0IGZ1bmN0
aW9uTmFtZSA9ICJHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6c2V0VmVydGV4QnVmZmVycygpIjsKQEAg
LTc0LDcgKzc0LDcgQEAgdm9pZCBXZWJHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6c2V0VmVydGV4QnVm
ZmVycyh1bnNpZ25lZCBsb25nIHN0YXJ0U2xvdCwgVmVjdG9yPFIKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KICAgICBpZiAoc3RhcnRTbG90ICsgYnVmZmVycy5zaXplKCkgPiBtYXhWZXJ0ZXhCdWZm
ZXJzKSB7Ci0gICAgICAgIExPRyhXZWJHUFUsICIlczogSW52YWxpZCBzdGFydFNsb3QgJWx1IGZv
ciAlbHUgYnVmZmVycyEiLCBmdW5jdGlvbk5hbWUsIHN0YXJ0U2xvdCwgYnVmZmVycy5zaXplKCkp
OworICAgICAgICBMT0coV2ViR1BVLCAiJXM6IEludmFsaWQgc3RhcnRTbG90ICV1IGZvciAlbHUg
YnVmZmVycyEiLCBmdW5jdGlvbk5hbWUsIHN0YXJ0U2xvdCwgYnVmZmVycy5zaXplKCkpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgV2ViR1BVUmVuZGVy
UGFzc0VuY29kZXI6OnNldFZlcnRleEJ1ZmZlcnModW5zaWduZWQgbG9uZyBzdGFydFNsb3QsIFZl
Y3RvcjxSCiAgICAgbV9wYXNzRW5jb2Rlci0+c2V0VmVydGV4QnVmZmVycyhzdGFydFNsb3QsIFdU
Rk1vdmUoZ3B1QnVmZmVycyksIFdURk1vdmUob2Zmc2V0cykpOwogfQogCi12b2lkIFdlYkdQVVJl
bmRlclBhc3NFbmNvZGVyOjpkcmF3KHVuc2lnbmVkIGxvbmcgdmVydGV4Q291bnQsIHVuc2lnbmVk
IGxvbmcgaW5zdGFuY2VDb3VudCwgdW5zaWduZWQgbG9uZyBmaXJzdFZlcnRleCwgdW5zaWduZWQg
bG9uZyBmaXJzdEluc3RhbmNlKQordm9pZCBXZWJHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZHJhdyh1
bnNpZ25lZCB2ZXJ0ZXhDb3VudCwgdW5zaWduZWQgaW5zdGFuY2VDb3VudCwgdW5zaWduZWQgZmly
c3RWZXJ0ZXgsIHVuc2lnbmVkIGZpcnN0SW5zdGFuY2UpCiB7CiAgICAgaWYgKCFtX3Bhc3NFbmNv
ZGVyKSB7CiAgICAgICAgIExPRyhXZWJHUFUsICJHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZHJhdygp
OiBJbnZhbGlkIG9wZXJhdGlvbiEiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dlYkdQVVJlbmRlclBhc3NFbmNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVSZW5kZXJQYXNzRW5jb2Rlci5oCmluZGV4IDFmY2ZlNDlmMzhjOGI1
OTY0ZmFiMDQ0ZjM3NGM3OGM1MzNkYjYyMjYuLmI1NjdhOTQwNzU1ZDY0M2E0MmNjODE4YjlkMjU5
NDQ0OWUzYjFhNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVVJlbmRlclBhc3NFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXIuaApAQCAtNDMsOCArNDMsOCBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxXZWJHUFVSZW5kZXJQYXNzRW5jb2Rlcj4gY3JlYXRlKFJlZlB0cjxHUFVS
ZW5kZXJQYXNzRW5jb2Rlcj4mJik7CiAKICAgICB2b2lkIHNldFBpcGVsaW5lKGNvbnN0IFdlYkdQ
VVJlbmRlclBpcGVsaW5lJik7Ci0gICAgdm9pZCBzZXRWZXJ0ZXhCdWZmZXJzKHVuc2lnbmVkIGxv
bmcsIFZlY3RvcjxSZWZQdHI8V2ViR1BVQnVmZmVyPj4mJiwgVmVjdG9yPHVuc2lnbmVkIGxvbmcg
bG9uZz4mJik7Ci0gICAgdm9pZCBkcmF3KHVuc2lnbmVkIGxvbmcgdmVydGV4Q291bnQsIHVuc2ln
bmVkIGxvbmcgaW5zdGFuY2VDb3VudCwgdW5zaWduZWQgbG9uZyBmaXJzdFZlcnRleCwgdW5zaWdu
ZWQgbG9uZyBmaXJzdEluc3RhbmNlKTsKKyAgICB2b2lkIHNldFZlcnRleEJ1ZmZlcnModW5zaWdu
ZWQsIFZlY3RvcjxSZWZQdHI8V2ViR1BVQnVmZmVyPj4mJiwgVmVjdG9yPHVuc2lnbmVkIGxvbmcg
bG9uZz4mJik7CisgICAgdm9pZCBkcmF3KHVuc2lnbmVkIHZlcnRleENvdW50LCB1bnNpZ25lZCBp
bnN0YW5jZUNvdW50LCB1bnNpZ25lZCBmaXJzdFZlcnRleCwgdW5zaWduZWQgZmlyc3RJbnN0YW5j
ZSk7CiAKIHByaXZhdGU6CiAgICAgV2ViR1BVUmVuZGVyUGFzc0VuY29kZXIoUmVmUHRyPEdQVVJl
bmRlclBhc3NFbmNvZGVyPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVCaW5kR3JvdXBCaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVQmluZEdyb3VwQmluZGluZy5oCmluZGV4IGY2ZmI0ZTUwYmZh
ZTZhNDBmNDgwN2NiOWI4NDhkZmM5M2M3MDQ1MWIuLjcyYzNhMjM2Njg4NzU2YTdmY2NlOGMzNDNl
MGY1ZGY2M2FmYjFhZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVCaW5kR3JvdXBCaW5kaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVUJpbmRHcm91cEJpbmRpbmcuaApAQCAtMzcsNyArMzcsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBHUFVCaW5kaW5nUmVzb3VyY2UgPSBWYXJpYW50PFJl
Zjxjb25zdCBHUFVTYW1wbGVyPiwgUmVmPEdQVVRleHR1cmU+LCBHUFVCdWZmZXJCaW5kaW5nPjsK
IAogc3RydWN0IEdQVUJpbmRHcm91cEJpbmRpbmcgewotICAgIHVuc2lnbmVkIGxvbmcgYmluZGlu
ZzsKKyAgICB1bnNpZ25lZCBiaW5kaW5nOwogICAgIEdQVUJpbmRpbmdSZXNvdXJjZSByZXNvdXJj
ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVCaW5kR3JvdXBMYXlvdXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVCaW5kR3JvdXBMYXlvdXQuaAppbmRleCA5YjA1YzAxN2I1M2IwYzIzN2ZmYmRlYzVi
ZjQ2NTViOGJlYjAxNTQxLi4wY2Q0Nzk1ODY5YzBlMDlkOWMzOGM3NjdmMDc4NjM3ZjY0YTY3OGU1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQmlu
ZEdyb3VwTGF5b3V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVUJpbmRHcm91cExheW91dC5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNzIEdQVUJpbmRHcm91
cExheW91dCA6IHB1YmxpYyBSZWZDb3VudGVkPEdQVUJpbmRHcm91cExheW91dD4gewogcHVibGlj
OgogICAgIHN0YXRpYyBSZWZQdHI8R1BVQmluZEdyb3VwTGF5b3V0PiB0cnlDcmVhdGUoY29uc3Qg
R1BVRGV2aWNlJiwgY29uc3QgR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvciYpOwogCi0gICAg
dXNpbmcgQmluZGluZ3NNYXBUeXBlID0gSGFzaE1hcDx1bnNpZ25lZCBsb25nIGxvbmcsIEdQVUJp
bmRHcm91cExheW91dEJpbmRpbmcsIFdURjo6SW50SGFzaDx1bnNpZ25lZCBsb25nIGxvbmc+LCBX
VEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkIGxvbmcgbG9uZz4+Owor
ICAgIHVzaW5nIEJpbmRpbmdzTWFwVHlwZSA9IEhhc2hNYXA8dW5zaWduZWQgbG9uZywgR1BVQmlu
ZEdyb3VwTGF5b3V0QmluZGluZywgV1RGOjpJbnRIYXNoPHVuc2lnbmVkIGxvbmc+LCBXVEY6OlVu
c2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkIGxvbmc+PjsKICAgICBjb25zdCBC
aW5kaW5nc01hcFR5cGUmIGJpbmRpbmdzTWFwKCkgY29uc3QgeyByZXR1cm4gbV9iaW5kaW5nc01h
cDsgfQogI2lmIFVTRShNRVRBTCkKICAgICBNVExBcmd1bWVudEVuY29kZXIgKnZlcnRleEVuY29k
ZXIoKSBjb25zdCB7IHJldHVybiBtX3ZlcnRleEVuY29kZXIuZ2V0KCk7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCdWZmZXJCaW5kaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyQmluZGluZy5o
CmluZGV4IDJlZWFmYTQ1YjQwMTUwMGM2MDU0NDVlZWIxMzQ5NjBhYjg1OTg4M2YuLjkxZTA4NzMz
YzY5MzQ4ODc0MjFjZjk0YTc1YzY2MzYyOTRkMjM0OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCdWZmZXJCaW5kaW5nLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlckJpbmRpbmcuaApAQCAtMzQs
OCArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBHUFVCdWZmZXJCaW5kaW5n
IHsKICAgICBSZWY8R1BVQnVmZmVyPiBidWZmZXI7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIG9m
ZnNldDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZTsKKyAgICB1bnNpZ25lZCBsb25nIG9m
ZnNldDsKKyAgICB1bnNpZ25lZCBsb25nIHNpemU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RXh0ZW50M0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFeHRl
bnQzRC5oCmluZGV4IDViNmYyNjZiOGMyOTk4ZWFkYzcyZmVjNWYzYTgxNmEwNjMwODY5YzguLjMx
OTVkMTczOTQ2YzRkMGM5NmUyMmRiNmNlNTQwZDMxNWEzMDE5ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFeHRlbnQzRC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFeHRlbnQzRC5oCkBAIC0zMCw5ICsz
MCw5IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiBzdHJ1Y3QgR1BVRXh0ZW50M0Qgewot
ICAgIHVuc2lnbmVkIGxvbmcgd2lkdGg7Ci0gICAgdW5zaWduZWQgbG9uZyBoZWlnaHQ7Ci0gICAg
dW5zaWduZWQgbG9uZyBkZXB0aDsKKyAgICB1bnNpZ25lZCB3aWR0aDsKKyAgICB1bnNpZ25lZCBo
ZWlnaHQ7CisgICAgdW5zaWduZWQgZGVwdGg7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVTGlt
aXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVTGltaXRzLmgK
aW5kZXggNWRkN2JmY2IxMjZkM2Q3YjU1Mjg3YzE3ZDJiYzJjZjdmMmMxNjRkZC4uMTIyZTUxYzNl
NzNiOTU2MWNiYzgxNTRmZDA5NzZkNzhlOWVmODJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUxpbWl0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVMaW1pdHMuaApAQCAtMjksNyArMjksNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IHVuc2lnbmVkIGxvbmcgbWF4VmVydGV4QnVmZmVy
cyA9IDE2OworY29uc3QgdW5zaWduZWQgbWF4VmVydGV4QnVmZmVycyA9IDE2OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NFbmNvZGVyLmgKaW5kZXggNzUyYzk5NjY0NGM0
MGQ2YjdmYjczYWU2ZTNkNmY0YjI3NTc0ZjUxYy4uODY2YjdlNWU2ZjVmODAxOTk2Nzk3ZjUxODhl
MWVhMTkyMzQyOWNhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVVJlbmRlclBhc3NFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NFbmNvZGVyLmgKQEAgLTUyLDggKzUyLDggQEAg
cHVibGljOgogICAgIHN0YXRpYyBSZWZQdHI8R1BVUmVuZGVyUGFzc0VuY29kZXI+IHRyeUNyZWF0
ZShSZWY8R1BVQ29tbWFuZEJ1ZmZlcj4mJiwgR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3ImJik7CiAK
ICAgICB2b2lkIHNldFBpcGVsaW5lKFJlZjxjb25zdCBHUFVSZW5kZXJQaXBlbGluZT4mJik7Ci0g
ICAgdm9pZCBzZXRWZXJ0ZXhCdWZmZXJzKHVuc2lnbmVkIGxvbmcsIFZlY3RvcjxSZWY8R1BVQnVm
ZmVyPj4mJiwgVmVjdG9yPHVuc2lnbmVkIGxvbmcgbG9uZz4mJik7Ci0gICAgdm9pZCBkcmF3KHVu
c2lnbmVkIGxvbmcgdmVydGV4Q291bnQsIHVuc2lnbmVkIGxvbmcgaW5zdGFuY2VDb3VudCwgdW5z
aWduZWQgbG9uZyBmaXJzdFZlcnRleCwgdW5zaWduZWQgbG9uZyBmaXJzdEluc3RhbmNlKTsKKyAg
ICB2b2lkIHNldFZlcnRleEJ1ZmZlcnModW5zaWduZWQsIFZlY3RvcjxSZWY8R1BVQnVmZmVyPj4m
JiwgVmVjdG9yPHVuc2lnbmVkIGxvbmcgbG9uZz4mJik7CisgICAgdm9pZCBkcmF3KHVuc2lnbmVk
IHZlcnRleENvdW50LCB1bnNpZ25lZCBpbnN0YW5jZUNvdW50LCB1bnNpZ25lZCBmaXJzdFZlcnRl
eCwgdW5zaWduZWQgZmlyc3RJbnN0YW5jZSk7CiAKIHByaXZhdGU6CiAgICAgR1BVUmVuZGVyUGFz
c0VuY29kZXIoUmVmPEdQVUNvbW1hbmRCdWZmZXI+JiYsIFBsYXRmb3JtUmVuZGVyUGFzc0VuY29k
ZXJTbWFydFB0ciYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmgKaW5kZXggZjI0Y2VhMWQ3ZmNhZmU4
MDYyZjMxZDZkYzlkMjlkZGRlYTA1MDQyNS4uNjZlMWMxN2JkOGJkZDYxN2Y3ZTk0NWRkZDFiZmQ5
NzlmNTVmZTE4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmgKQEAgLTQxLDkgKzQxLDkgQEAgZW51
bSBjbGFzcyBHUFVUZXh0dXJlRGltZW5zaW9uIHsKICAgICAKIHN0cnVjdCBHUFVUZXh0dXJlRGVz
Y3JpcHRvciB7CiAgICAgR1BVRXh0ZW50M0Qgc2l6ZTsKLSAgICB1bnNpZ25lZCBsb25nIGFycmF5
TGF5ZXJDb3VudDsKLSAgICB1bnNpZ25lZCBsb25nIG1pcExldmVsQ291bnQ7Ci0gICAgdW5zaWdu
ZWQgbG9uZyBzYW1wbGVDb3VudDsKKyAgICB1bnNpZ25lZCBhcnJheUxheWVyQ291bnQ7CisgICAg
dW5zaWduZWQgbWlwTGV2ZWxDb3VudDsKKyAgICB1bnNpZ25lZCBzYW1wbGVDb3VudDsKICAgICBH
UFVUZXh0dXJlRGltZW5zaW9uIGRpbWVuc2lvbjsKICAgICBHUFVUZXh0dXJlRm9ybWF0IGZvcm1h
dDsKICAgICBHUFVUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVCaW5kR3JvdXBMYXlvdXRNZXRh
bC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVCaW5k
R3JvdXBMYXlvdXRNZXRhbC5tbQppbmRleCA1MDZlOTZhZTFkYjliNjM3MmEwODVjYjUyZDU1MGZi
MjkyMDAxYWQ2Li5lMmVkMTFhNjI4ODNmODhkNTVkM2Y3M2U2Y2FjOTIwMDgyMDU5MTVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVQmlu
ZEdyb3VwTGF5b3V0TWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L2NvY29hL0dQVUJpbmRHcm91cExheW91dE1ldGFsLm1tCkBAIC04OSw3ICs4OSw3IEBA
IFJlZlB0cjxHUFVCaW5kR3JvdXBMYXlvdXQ+IEdQVUJpbmRHcm91cExheW91dDo6dHJ5Q3JlYXRl
KGNvbnN0IEdQVURldmljZSYgZGV2aWNlCiAKICAgICBmb3IgKGNvbnN0IGF1dG8mIGJpbmRpbmcg
OiBkZXNjcmlwdG9yLmJpbmRpbmdzKSB7CiAgICAgICAgIGlmICghYmluZGluZ3NNYXAuYWRkKGJp
bmRpbmcuYmluZGluZywgYmluZGluZykpIHsKLSAgICAgICAgICAgIExPRyhXZWJHUFUsICJHUFVC
aW5kR3JvdXBMYXlvdXQ6OnRyeUNyZWF0ZSgpOiBEdXBsaWNhdGUgYmluZGluZyAlbHUgZm91bmQg
aW4gR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvciEiLCBiaW5kaW5nLmJpbmRpbmcpOworICAg
ICAgICAgICAgTE9HKFdlYkdQVSwgIkdQVUJpbmRHcm91cExheW91dDo6dHJ5Q3JlYXRlKCk6IER1
cGxpY2F0ZSBiaW5kaW5nICV1IGZvdW5kIGluIEdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3Ih
IiwgYmluZGluZy5iaW5kaW5nKTsKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAg
ICB9CiAKQEAgLTk5LDcgKzk5LDcgQEAgUmVmUHRyPEdQVUJpbmRHcm91cExheW91dD4gR1BVQmlu
ZEdyb3VwTGF5b3V0Ojp0cnlDcmVhdGUoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UKICAgICAgICAg
bXRsQXJndW1lbnQgPSBhZG9wdE5TKFtNVExBcmd1bWVudERlc2NyaXB0b3IgbmV3XSk7CiAgICAg
ICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiAgICAgICAgIGlmICghbXRsQXJndW1lbnQp
IHsKLSAgICAgICAgICAgIExPRyhXZWJHUFUsICJHUFVCaW5kR3JvdXBMYXlvdXQ6OnRyeUNyZWF0
ZSgpOiBVbmFibGUgdG8gY3JlYXRlIE1UTEFyZ3VtZW50RGVzY3JpcHRvciBmb3IgYmluZGluZyAl
bHUhIiwgYmluZGluZy5iaW5kaW5nKTsKKyAgICAgICAgICAgIExPRyhXZWJHUFUsICJHUFVCaW5k
R3JvdXBMYXlvdXQ6OnRyeUNyZWF0ZSgpOiBVbmFibGUgdG8gY3JlYXRlIE1UTEFyZ3VtZW50RGVz
Y3JpcHRvciBmb3IgYmluZGluZyAldSEiLCBiaW5kaW5nLmJpbmRpbmcpOwogICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJpbmRHcm91cE1ldGFsLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVUJpbmRHcm91cE1ldGFsLm1t
CmluZGV4IDM1NDkyZTk2N2Y4YTEwZjE0MjI1ZTUxNDc0ODI0OWY0YjFjNTE2YWQuLjdjNDExMWRj
ODc0OWQ4ZWU0MTFlZDVmN2Y0NjAxZTA0MjhlMzU3ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVCaW5kR3JvdXBNZXRhbC5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVQmluZEdyb3Vw
TWV0YWwubW0KQEAgLTE2MCw3ICsxNjAsNyBAQCBSZWZQdHI8R1BVQmluZEdyb3VwPiBHUFVCaW5k
R3JvdXA6OnRyeUNyZWF0ZShjb25zdCBHUFVCaW5kR3JvdXBEZXNjcmlwdG9yJiBkZXNjcgogICAg
ICAgICBhdXRvIGluZGV4ID0gcmVzb3VyY2VCaW5kaW5nLmJpbmRpbmc7CiAgICAgICAgIGF1dG8g
bGF5b3V0SXRlcmF0b3IgPSBsYXlvdXRCaW5kaW5nc01hcC5maW5kKGluZGV4KTsKICAgICAgICAg
aWYgKGxheW91dEl0ZXJhdG9yID09IGxheW91dEJpbmRpbmdzTWFwLmVuZCgpKSB7Ci0gICAgICAg
ICAgICBMT0coV2ViR1BVLCAiJXM6IEdQVUJpbmRHcm91cEJpbmRpbmcgJWx1IG5vdCBmb3VuZCBp
biBHUFVCaW5kR3JvdXBMYXlvdXQhIiwgZnVuY3Rpb25OYW1lLCBpbmRleCk7CisgICAgICAgICAg
ICBMT0coV2ViR1BVLCAiJXM6IEdQVUJpbmRHcm91cEJpbmRpbmcgJXUgbm90IGZvdW5kIGluIEdQ
VUJpbmRHcm91cExheW91dCEiLCBmdW5jdGlvbk5hbWUsIGluZGV4KTsKICAgICAgICAgICAgIHJl
dHVybiBudWxscHRyOwogICAgICAgICB9CiAgICAgICAgIGF1dG8gbGF5b3V0QmluZGluZyA9IGxh
eW91dEl0ZXJhdG9yLT52YWx1ZTsKQEAgLTE3MiwxNSArMTcyLDE1IEBAIFJlZlB0cjxHUFVCaW5k
R3JvdXA+IEdQVUJpbmRHcm91cDo6dHJ5Q3JlYXRlKGNvbnN0IEdQVUJpbmRHcm91cERlc2NyaXB0
b3ImIGRlc2NyCiAgICAgICAgIGJvb2wgaXNGb3JDb21wdXRlID0gbGF5b3V0QmluZGluZy52aXNp
YmlsaXR5ICYgR1BVU2hhZGVyU3RhZ2VCaXQ6OkZsYWdzOjpDb21wdXRlOwogCiAgICAgICAgIGlm
IChpc0ZvclZlcnRleCAmJiAhdmVydGV4RW5jb2RlcikgewotICAgICAgICAgICAgTE9HKFdlYkdQ
VSwgIiVzOiBObyB2ZXJ0ZXggYXJndW1lbnQgZW5jb2RlciBmb3VuZCBmb3IgYmluZGluZyAlbHUh
IiwgZnVuY3Rpb25OYW1lLCBpbmRleCk7CisgICAgICAgICAgICBMT0coV2ViR1BVLCAiJXM6IE5v
IHZlcnRleCBhcmd1bWVudCBlbmNvZGVyIGZvdW5kIGZvciBiaW5kaW5nICV1ISIsIGZ1bmN0aW9u
TmFtZSwgaW5kZXgpOwogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIH0KICAg
ICAgICAgaWYgKGlzRm9yRnJhZ21lbnQgJiYgIWZyYWdtZW50RW5jb2RlcikgewotICAgICAgICAg
ICAgTE9HKFdlYkdQVSwgIiVzOiBObyBmcmFnbWVudCBhcmd1bWVudCBlbmNvZGVyIGZvdW5kIGZv
ciBiaW5kaW5nICVsdSEiLCBmdW5jdGlvbk5hbWUsIGluZGV4KTsKKyAgICAgICAgICAgIExPRyhX
ZWJHUFUsICIlczogTm8gZnJhZ21lbnQgYXJndW1lbnQgZW5jb2RlciBmb3VuZCBmb3IgYmluZGlu
ZyAldSEiLCBmdW5jdGlvbk5hbWUsIGluZGV4KTsKICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgICAgICB9CiAgICAgICAgIGlmIChpc0ZvckNvbXB1dGUgJiYgIWNvbXB1dGVFbmNvZGVy
KSB7Ci0gICAgICAgICAgICBMT0coV2ViR1BVLCAiJXM6IE5vIGNvbXB1dGUgYXJndW1lbnQgZW5j
b2RlciBmb3VuZCBmb3IgYmluZGluZyAlbHUhIiwgZnVuY3Rpb25OYW1lLCBpbmRleCk7CisgICAg
ICAgICAgICBMT0coV2ViR1BVLCAiJXM6IE5vIGNvbXB1dGUgYXJndW1lbnQgZW5jb2RlciBmb3Vu
ZCBmb3IgYmluZGluZyAldSEiLCBmdW5jdGlvbk5hbWUsIGluZGV4KTsKICAgICAgICAgICAgIHJl
dHVybiBudWxscHRyOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVSZW5kZXJQYXNzRW5jb2Rlck1ldGFsLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVJlbmRlclBhc3NF
bmNvZGVyTWV0YWwubW0KaW5kZXggZmVhOWM5OWRjNzY4MGQzMmJkZWVlYzhlMjc5M2ZmYzQ4NDY2
NDc5NC4uZWY4YWNmZDczMTMyOWVlNTY3NmNlMjgxY2NlMWJkMjMwMDMwOWNjYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVJlbmRlclBh
c3NFbmNvZGVyTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L2NvY29hL0dQVVJlbmRlclBhc3NFbmNvZGVyTWV0YWwubW0KQEAgLTIwNCw3ICsyMDQsNyBA
QCB2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpzZXRQaXBlbGluZShSZWY8Y29uc3QgR1BVUmVu
ZGVyUGlwZWxpbmU+JiYgcGlwZWxpbmUpCiAgICAgbV9waXBlbGluZSA9IFdURk1vdmUocGlwZWxp
bmUpOwogfQogCi12b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpzZXRWZXJ0ZXhCdWZmZXJzKHVu
c2lnbmVkIGxvbmcgaW5kZXgsIFZlY3RvcjxSZWY8R1BVQnVmZmVyPj4mJiBidWZmZXJzLCBWZWN0
b3I8dW5zaWduZWQgbG9uZyBsb25nPiYmIG9mZnNldHMpCit2b2lkIEdQVVJlbmRlclBhc3NFbmNv
ZGVyOjpzZXRWZXJ0ZXhCdWZmZXJzKHVuc2lnbmVkIGluZGV4LCBWZWN0b3I8UmVmPEdQVUJ1ZmZl
cj4+JiYgYnVmZmVycywgVmVjdG9yPHVuc2lnbmVkIGxvbmcgbG9uZz4mJiBvZmZzZXRzKQogewog
ICAgIGlmICghbV9wbGF0Zm9ybVJlbmRlclBhc3NFbmNvZGVyKSB7CiAgICAgICAgIExPRyhXZWJH
UFUsICJHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6c2V0VmVydGV4QnVmZmVycygpOiBJbnZhbGlkIG9w
ZXJhdGlvbjogRW5jb2RpbmcgaXMgZW5kZWQhIik7CkBAIC0yNDUsNyArMjQ1LDcgQEAgc3RhdGlj
IE1UTFByaW1pdGl2ZVR5cGUgcHJpbWl0aXZlVHlwZUZvckdQVVByaW1pdGl2ZVRvcG9sb2d5KEdQ
VVByaW1pdGl2ZVRvcG9sb2cKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBH
UFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZHJhdyh1bnNpZ25lZCBsb25nIHZlcnRleENvdW50LCB1bnNp
Z25lZCBsb25nIGluc3RhbmNlQ291bnQsIHVuc2lnbmVkIGxvbmcgZmlyc3RWZXJ0ZXgsIHVuc2ln
bmVkIGxvbmcgZmlyc3RJbnN0YW5jZSkKK3ZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OmRyYXco
dW5zaWduZWQgdmVydGV4Q291bnQsIHVuc2lnbmVkIGluc3RhbmNlQ291bnQsIHVuc2lnbmVkIGZp
cnN0VmVydGV4LCB1bnNpZ25lZCBmaXJzdEluc3RhbmNlKQogewogICAgIGlmICghbV9wbGF0Zm9y
bVJlbmRlclBhc3NFbmNvZGVyKSB7CiAgICAgICAgIExPRyhXZWJHUFUsICJHUFVSZW5kZXJQYXNz
RW5jb2Rlcjo6ZHJhdygpOiBJbnZhbGlkIG9wZXJhdGlvbjogRW5jb2RpbmcgaXMgZW5kZWQhIik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2Ev
R1BVUmVuZGVyUGlwZWxpbmVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9jb2NvYS9HUFVSZW5kZXJQaXBlbGluZU1ldGFsLm1tCmluZGV4IDU2MTRlNjc3OTlh
ZmNlZTJhNDExNmIxYjIzZDc2MWQ5Nzk0ODU0Y2UuLmYzZmM1M2E4ZGFiZjQxNjZjNzk4YTVlOGFk
MjAxOWJkOWQzYzY0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9jb2NvYS9HUFVSZW5kZXJQaXBlbGluZU1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVSZW5kZXJQaXBlbGluZU1ldGFsLm1t
CkBAIC0zMzEsMTEgKzMzMSwxMSBAQCBzdGF0aWMgYm9vbCB0cnlTZXRJbnB1dFN0YXRlRm9yUGlw
ZWxpbmVEZXNjcmlwdG9yKGNvbnN0IGNoYXIqIGNvbnN0IGZ1bmN0aW9uTmFtZQogICAgICAgICBh
dXRvIGxvY2F0aW9uID0gYXR0cmlidXRlc1tpXS5zaGFkZXJMb2NhdGlvbjsKICAgICAgICAgLy8g
TWF4aW11bSBudW1iZXIgb2YgdmVydGV4IGF0dHJpYnV0ZXMgdG8gYmUgc3VwcG9ydGVkIGJ5IFdl
YiBHUFUuCiAgICAgICAgIGlmIChsb2NhdGlvbiA+PSAxNikgewotICAgICAgICAgICAgTE9HKFdl
YkdQVSwgIiVzOiBJbnZhbGlkIHNoYWRlckxvY2F0aW9uICVsdSBmb3IgdmVydGV4IGF0dHJpYnV0
ZSEiLCBmdW5jdGlvbk5hbWUsIGxvY2F0aW9uKTsKKyAgICAgICAgICAgIExPRyhXZWJHUFUsICIl
czogSW52YWxpZCBzaGFkZXJMb2NhdGlvbiAldSBmb3IgdmVydGV4IGF0dHJpYnV0ZSEiLCBmdW5j
dGlvbk5hbWUsIGxvY2F0aW9uKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
fQogICAgICAgICBpZiAoYXR0cmlidXRlc1tpXS5pbnB1dFNsb3QgPj0gbWF4VmVydGV4QnVmZmVy
cykgewotICAgICAgICAgICAgTE9HKFdlYkdQVSwgIiVzOiBJbnZhbGlkIGlucHV0U2xvdCAlbHUg
Zm9yIHZlcnRleCBhdHRyaWJ1dGUgJWx1ISIsIGZ1bmN0aW9uTmFtZSwgYXR0cmlidXRlc1tpXS5p
bnB1dFNsb3QsIGxvY2F0aW9uKTsKKyAgICAgICAgICAgIExPRyhXZWJHUFUsICIlczogSW52YWxp
ZCBpbnB1dFNsb3QgJXUgZm9yIHZlcnRleCBhdHRyaWJ1dGUgJXUhIiwgZnVuY3Rpb25OYW1lLCBh
dHRyaWJ1dGVzW2ldLmlucHV0U2xvdCwgbG9jYXRpb24pOwogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9jb2NvYS9HUFVUZXh0dXJlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVVGV4dHVyZU1ldGFsLm1tCmluZGV4IDVjZjZmNzY4
N2JiNDVhZGE0NGM5NGM2N2I0ODRmNWVjMGFhOWY2YjQuLjc4M2MwMTMwYmE2OWIyNDM4N2NkODE3
ZWVlMmM4NWNjMzA2Mzg5YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9jb2NvYS9HUFVUZXh0dXJlTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVRleHR1cmVNZXRhbC5tbQpAQCAtODMsNyAr
ODMsNyBAQCBzdGF0aWMgT3B0aW9uYWw8TVRMVGV4dHVyZVVzYWdlPiBtdGxUZXh0dXJlVXNhZ2VG
b3JHUFVUZXh0dXJlVXNhZ2VGbGFncyhPcHRpb25TZQogfQogCiAjaWYgIVBMQVRGT1JNKE1BQykK
LXN0YXRpYyBNVExTdG9yYWdlTW9kZSBzdG9yYWdlTW9kZUZvclBpeGVsRm9ybWF0QW5kU2FtcGxl
Q291bnQoTVRMUGl4ZWxGb3JtYXQgZm9ybWF0LCB1bnNpZ25lZCBsb25nIHNhbXBsZXMpCitzdGF0
aWMgTVRMU3RvcmFnZU1vZGUgc3RvcmFnZU1vZGVGb3JQaXhlbEZvcm1hdEFuZFNhbXBsZUNvdW50
KE1UTFBpeGVsRm9ybWF0IGZvcm1hdCwgdW5zaWduZWQgc2FtcGxlcykKIHsKICAgICAvLyBEZXB0
aCwgU3RlbmNpbCwgRGVwdGhTdGVuY2lsLCBhbmQgTXVsdGlzYW1wbGUgdGV4dHVyZXMgbXVzdCBi
ZSBhbGxvY2F0ZWQgd2l0aCB0aGUgTVRMU3RvcmFnZU1vZGVQcml2YXRlIHJlc291cmNlIG9wdGlv
bi4KICAgICBpZiAoZm9ybWF0ID09IE1UTFBpeGVsRm9ybWF0RGVwdGgzMkZsb2F0X1N0ZW5jaWw4
IHx8IHNhbXBsZXMgPiAxKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>