<?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>213141</bug_id>
          
          <creation_ts>2020-06-12 11:57:36 -0700</creation_ts>
          <short_desc>CheckIsConstant should not use BadCache exit kind</short_desc>
          <delta_ts>2020-06-15 12:50:08 -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>New Bugs</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="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1662076</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-06-12 11:57:36 -0700</bug_when>
    <thetext>CheckIsConstant should not use BadCache exit kind</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662092</commentid>
    <comment_count>1</comment_count>
      <attachid>401764</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-06-12 12:32:10 -0700</bug_when>
    <thetext>Created attachment 401764
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662093</commentid>
    <comment_count>2</comment_count>
      <attachid>401765</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-06-12 12:32:41 -0700</bug_when>
    <thetext>Created attachment 401765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662094</commentid>
    <comment_count>3</comment_count>
      <attachid>401765</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-06-12 12:35:16 -0700</bug_when>
    <thetext>Comment on attachment 401765
Patch

Why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662100</commentid>
    <comment_count>4</comment_count>
      <attachid>401766</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-06-12 12:49:49 -0700</bug_when>
    <thetext>Created attachment 401766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662101</commentid>
    <comment_count>5</comment_count>
      <attachid>401766</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-06-12 12:53:49 -0700</bug_when>
    <thetext>Comment on attachment 401766
Patch

you&apos;ve now broken places checking for the old exit kind</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662103</commentid>
    <comment_count>6</comment_count>
      <attachid>401766</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-06-12 12:55:25 -0700</bug_when>
    <thetext>Comment on attachment 401766
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +        The BadCache exit kind causes the OSR exit compilers to try to update ArrayProfiles.
&gt; +        This is just incorrect for CheckIsConstant since the node&apos;s origin may not even
&gt; +        have an ArrayProfile...

why not just fix this by asking if an ArrayProfile exists?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662104</commentid>
    <comment_count>7</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-06-12 12:56:16 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #5)
&gt; Comment on attachment 401766 [details]
&gt; Patch
&gt; 
&gt; you&apos;ve now broken places checking for the old exit kind

No one was looking for exit kind on for non-cells. The only place that uses this for non-cells is for-of and that handles it via falling into the generic case on exit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662105</commentid>
    <comment_count>8</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-06-12 12:56:41 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #5)
&gt; Comment on attachment 401766 [details]
&gt; Patch
&gt; 
&gt; you&apos;ve now broken places checking for the old exit kind

Keith pointed out that prior places were just for cells, and this is the non-cell path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662106</commentid>
    <comment_count>9</comment_count>
      <attachid>401766</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-06-12 12:57:03 -0700</bug_when>
    <thetext>Comment on attachment 401766
Patch

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

&gt;&gt; Source/JavaScriptCore/ChangeLog:10
&gt;&gt; +        have an ArrayProfile...
&gt; 
&gt; why not just fix this by asking if an ArrayProfile exists?

We happen to have one for the origin in question so that wouldn&apos;t solve the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662133</commentid>
    <comment_count>10</comment_count>
      <attachid>401775</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-06-12 13:51:15 -0700</bug_when>
    <thetext>Created attachment 401775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662141</commentid>
    <comment_count>11</comment_count>
      <attachid>401776</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-06-12 13:58:38 -0700</bug_when>
    <thetext>Created attachment 401776
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662267</commentid>
    <comment_count>12</comment_count>
      <attachid>401811</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-06-12 17:35:16 -0700</bug_when>
    <thetext>Created attachment 401811
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662269</commentid>
    <comment_count>13</comment_count>
      <attachid>401812</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-06-12 17:36:14 -0700</bug_when>
    <thetext>Created attachment 401812
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662756</commentid>
    <comment_count>14</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-06-15 12:22:39 -0700</bug_when>
    <thetext>rdar://64163856</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662761</commentid>
    <comment_count>15</comment_count>
      <attachid>401812</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-06-15 12:31:34 -0700</bug_when>
    <thetext>Comment on attachment 401812
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:9676
&gt; -        speculationCheck(BadCache, regs, node-&gt;child1(), m_jit.branch64(JITCompiler::NotEqual, regs.gpr(), TrustedImm64(JSValue::encode(node-&gt;constant()-&gt;value()))));
&gt; +        speculationCheck(BadConstantValue, regs, node-&gt;child1(), m_jit.branch64(JITCompiler::NotEqual, regs.gpr(), TrustedImm64(JSValue::encode(node-&gt;constant()-&gt;value()))));
&gt;  #else
&gt; -        speculationCheck(BadCache, regs, node-&gt;child1(), m_jit.branch32(JITCompiler::NotEqual, regs.tagGPR(), TrustedImm32(node-&gt;constant()-&gt;value().tag())));
&gt; -        speculationCheck(BadCache, regs, node-&gt;child1(), m_jit.branch32(JITCompiler::NotEqual, regs.payloadGPR(), TrustedImm32(node-&gt;constant()-&gt;value().payload())));
&gt; +        speculationCheck(BadConstantValue, regs, node-&gt;child1(), m_jit.branch32(JITCompiler::NotEqual, regs.tagGPR(), TrustedImm32(node-&gt;constant()-&gt;value().tag())));
&gt; +        speculationCheck(BadConstantValue, regs, node-&gt;child1(), m_jit.branch32(JITCompiler::NotEqual, regs.payloadGPR(), TrustedImm32(node-&gt;constant()-&gt;value().payload())));

One question. This changes BadCache -&gt; BadConstantValue. So, we also need to check `hasExitSite(codeOrigin, BadCache)` things too.
For example, Graph::canOptimizeStringObjectAccess has

  1775 bool Graph::canOptimizeStringObjectAccess(const CodeOrigin&amp; codeOrigin)
  1776 {
  1777     if (hasExitSite(codeOrigin, BadCache) || hasExitSite(codeOrigin, BadConstantCache))
  1778         return false;

this code. PutById etc. has,

  1847         case PutById:
  1848         case PutByIdFlush:
  1849         case PutByIdDirect: {
  1850             if (node-&gt;child1()-&gt;shouldSpeculateCellOrOther()
  1851                 &amp;&amp; !m_graph.hasExitSite(node-&gt;origin.semantic, BadType)
  1852                 &amp;&amp; !m_graph.hasExitSite(node-&gt;origin.semantic, BadCache)
  1853                 &amp;&amp; !m_graph.hasExitSite(node-&gt;origin.semantic, BadIndexingType)
  1854                 &amp;&amp; !m_graph.hasExitSite(node-&gt;origin.semantic, ExoticObjectMode)) {

this code. And there are many this type of codes. Can you ensure that they are correct after this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662763</commentid>
    <comment_count>16</comment_count>
      <attachid>401812</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-06-15 12:35:28 -0700</bug_when>
    <thetext>Comment on attachment 401812
Patch

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

&gt;&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:9676
&gt;&gt; +        speculationCheck(BadConstantValue, regs, node-&gt;child1(), m_jit.branch32(JITCompiler::NotEqual, regs.payloadGPR(), TrustedImm32(node-&gt;constant()-&gt;value().payload())));
&gt; 
&gt; One question. This changes BadCache -&gt; BadConstantValue. So, we also need to check `hasExitSite(codeOrigin, BadCache)` things too.
&gt; For example, Graph::canOptimizeStringObjectAccess has
&gt; 
&gt;   1775 bool Graph::canOptimizeStringObjectAccess(const CodeOrigin&amp; codeOrigin)
&gt;   1776 {
&gt;   1777     if (hasExitSite(codeOrigin, BadCache) || hasExitSite(codeOrigin, BadConstantCache))
&gt;   1778         return false;
&gt; 
&gt; this code. PutById etc. has,
&gt; 
&gt;   1847         case PutById:
&gt;   1848         case PutByIdFlush:
&gt;   1849         case PutByIdDirect: {
&gt;   1850             if (node-&gt;child1()-&gt;shouldSpeculateCellOrOther()
&gt;   1851                 &amp;&amp; !m_graph.hasExitSite(node-&gt;origin.semantic, BadType)
&gt;   1852                 &amp;&amp; !m_graph.hasExitSite(node-&gt;origin.semantic, BadCache)
&gt;   1853                 &amp;&amp; !m_graph.hasExitSite(node-&gt;origin.semantic, BadIndexingType)
&gt;   1854                 &amp;&amp; !m_graph.hasExitSite(node-&gt;origin.semantic, ExoticObjectMode)) {
&gt; 
&gt; this code. And there are many this type of codes. Can you ensure that they are correct after this change?

The only code that used non-cell values for CheckIsConstant currently is the iterator bytecodes. And those nodes didn&apos;t actually look at the exit kind previously as we&apos;ll update our profiling post-OSR via the seen iteration mode profiles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662767</commentid>
    <comment_count>17</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-15 12:50:07 -0700</bug_when>
    <thetext>Committed r263054: &lt;https://trac.webkit.org/changeset/263054&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 401812.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401764</attachid>
            <date>2020-06-12 12:32:10 -0700</date>
            <delta_ts>2020-06-12 12:32:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213141-20200612123210.patch</filename>
            <type>text/plain</type>
            <size>3646</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZjliZDgwOTRkMzliZWU3NmQyNDZhYmM0NzA4MDk4NWY5YTkwYzAxLi4wNjRmMGM0ZTI4YTRiMmJj
NjczNTcxYWQ3ZTU0MmI2MWMxZjg0YmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAyMC0wNi0xMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGVja0lzQ29uc3RhbnQgc2hvdWxkIG5vdCB1c2UgQmFkQ2FjaGUg
ZXhpdCBraW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTMxNDEKKyAgICAgICAgPAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6
REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUNoZWNrSXNDb25zdGFudCk6CisKIDIwMjAtMDYt
MTEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBS
ZXR1cm4gRGlzcG9zYWJsZUNhbGxTaXRlSW5kZXggd2hlbiBkZXN0cm95aW5nIEdDQXdhcmVKSVRT
dHViUm91dGluZVdpdGhFeGNlcHRpb25IYW5kbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCmluZGV4IDg4YWJlMGUzYjg2MDMzYzVhZTM3ZTIx
NDM4NWU3YTAzMzFiMjcwNDEuLmYxYjUxMGZlZjg3ZmU1ZmZlNjNkZTE3MTA3ZjBiZGI3YzMwODhl
MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQu
Y3BwCkBAIC05NjcwLDEwICs5NjcwLDEwIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVD
aGVja0lzQ29uc3RhbnQoTm9kZSogbm9kZSkKICAgICAgICAgSlNWYWx1ZVJlZ3MgcmVncyA9IG9w
ZXJhbmQuanNWYWx1ZVJlZ3MoKTsKIAogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIHNwZWN1
bGF0aW9uQ2hlY2soQmFkQ2FjaGUsIHJlZ3MsIG5vZGUtPmNoaWxkMSgpLCBtX2ppdC5icmFuY2g2
NChKSVRDb21waWxlcjo6Tm90RXF1YWwsIHJlZ3MuZ3ByKCksIFRydXN0ZWRJbW02NChKU1ZhbHVl
OjplbmNvZGUobm9kZS0+Y29uc3RhbnQoKS0+dmFsdWUoKSkpKSk7CisgICAgICAgIHNwZWN1bGF0
aW9uQ2hlY2soVW5jb3VudGFibGUsIHJlZ3MsIG5vZGUtPmNoaWxkMSgpLCBtX2ppdC5icmFuY2g2
NChKSVRDb21waWxlcjo6Tm90RXF1YWwsIHJlZ3MuZ3ByKCksIFRydXN0ZWRJbW02NChKU1ZhbHVl
OjplbmNvZGUobm9kZS0+Y29uc3RhbnQoKS0+dmFsdWUoKSkpKSk7CiAjZWxzZQotICAgICAgICBz
cGVjdWxhdGlvbkNoZWNrKEJhZENhY2hlLCByZWdzLCBub2RlLT5jaGlsZDEoKSwgbV9qaXQuYnJh
bmNoMzIoSklUQ29tcGlsZXI6Ok5vdEVxdWFsLCByZWdzLnRhZ0dQUigpLCBUcnVzdGVkSW1tMzIo
bm9kZS0+Y29uc3RhbnQoKS0+dmFsdWUoKS50YWcoKSkpKTsKLSAgICAgICAgc3BlY3VsYXRpb25D
aGVjayhCYWRDYWNoZSwgcmVncywgbm9kZS0+Y2hpbGQxKCksIG1faml0LmJyYW5jaDMyKEpJVENv
bXBpbGVyOjpOb3RFcXVhbCwgcmVncy5wYXlsb2FkR1BSKCksIFRydXN0ZWRJbW0zMihub2RlLT5j
b25zdGFudCgpLT52YWx1ZSgpLnBheWxvYWQoKSkpKTsKKyAgICAgICAgc3BlY3VsYXRpb25DaGVj
ayhVbmNvdW50YWJsZSwgcmVncywgbm9kZS0+Y2hpbGQxKCksIG1faml0LmJyYW5jaDMyKEpJVENv
bXBpbGVyOjpOb3RFcXVhbCwgcmVncy50YWdHUFIoKSwgVHJ1c3RlZEltbTMyKG5vZGUtPmNvbnN0
YW50KCktPnZhbHVlKCkudGFnKCkpKSk7CisgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soVW5jb3Vu
dGFibGUsIHJlZ3MsIG5vZGUtPmNoaWxkMSgpLCBtX2ppdC5icmFuY2gzMihKSVRDb21waWxlcjo6
Tm90RXF1YWwsIHJlZ3MucGF5bG9hZEdQUigpLCBUcnVzdGVkSW1tMzIobm9kZS0+Y29uc3RhbnQo
KS0+dmFsdWUoKS5wYXlsb2FkKCkpKSk7CiAjZW5kaWYKICAgICB9CiAKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODA5ZjgyOTgzZTA3NWU1
MjMwMmIwOTI1MzNlNzUxZGFjYzIzNTdkNC4uMWIxNmY5OTM2YmQxOGZhY2E1ZTZiNWIzZTZiMGE1
OTgxMTlhZTc0OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wNi0xMiAgS2VpdGggTWlsbGVyICA8a2Vp
dGhfbWlsbGVyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGVja0lzQ29uc3RhbnQgc2hvdWxkIG5v
dCB1c2UgQmFkQ2FjaGUgZXhpdCBraW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTMxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHN0cmVzcy9jaGVjay1pcy1jb25zdGFudC1ub24tY2VsbC1zaG91
bGQtbm90LWFycmF5LXByb2ZpbGUtZHVyaW5nLW9zci1leGl0LmpzOiBBZGRlZC4KKyAgICAgICAg
KGZvby5iYXIpOgorCiAyMDIwLTA2LTExICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5j
b20+CiAKICAgICAgICAgW0pTQ10gUmV0dXJuIERpc3Bvc2FibGVDYWxsU2l0ZUluZGV4IHdoZW4g
ZGVzdHJveWluZyBHQ0F3YXJlSklUU3R1YlJvdXRpbmVXaXRoRXhjZXB0aW9uSGFuZGxlcgpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvY2hlY2staXMtY29uc3RhbnQtbm9uLWNlbGwtc2hvdWxk
LW5vdC1hcnJheS1wcm9maWxlLWR1cmluZy1vc3ItZXhpdC5qcyBiL0pTVGVzdHMvc3RyZXNzL2No
ZWNrLWlzLWNvbnN0YW50LW5vbi1jZWxsLXNob3VsZC1ub3QtYXJyYXktcHJvZmlsZS1kdXJpbmct
b3NyLWV4aXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM4ZWY2YWQwMDIxMGMxZjVmOGI2YzZlZmYzY2UyMGVi
ZWM2NGZjNwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2NoZWNrLWlzLWNvbnN0
YW50LW5vbi1jZWxsLXNob3VsZC1ub3QtYXJyYXktcHJvZmlsZS1kdXJpbmctb3NyLWV4aXQuanMK
QEAgLTAsMCArMSwxNiBAQAorZnVuY3Rpb24gZm9vKCkgeworICBmdW5jdGlvbiBiYXIoYTApIHsK
KyAgICB0cnkgeworICAgICAgZm9yIChsZXQgcSBvZiBhMCkge30KKyAgICAgIHAuaXNGcm96ZW4o
KTsKKyAgICB9IGNhdGNoIHt9CisgICAgcmV0dXJuIGJhcjsKKyAgfQorICBsZXQgcCA9IG5ldyBQ
cm94eShbXSwgeyBnZXQ6IGJhciB9KTsKKyAgYmFyKHApOworfQorCisKK2ZvciAobGV0IGk9MDsg
aTwxMDA7IGkrKykgeworICBmb28oKTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401765</attachid>
            <date>2020-06-12 12:32:41 -0700</date>
            <delta_ts>2020-06-12 12:49:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213141-20200612123240.patch</filename>
            <type>text/plain</type>
            <size>3635</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZjliZDgwOTRkMzliZWU3NmQyNDZhYmM0NzA4MDk4NWY5YTkwYzAxLi4xZWU4NmYxNDI3ZDMzZWM3
MjY3MmUxMzVlYjY4OWQxMTQ4NTViMTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMC0wNi0xMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGVja0lzQ29uc3RhbnQgc2hvdWxkIG5vdCB1c2UgQmFkQ2FjaGUg
ZXhpdCBraW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTMxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGVDaGVja0lzQ29uc3RhbnQpOgorCiAyMDIwLTA2LTExICBZdXN1a2Ug
U3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gUmV0dXJuIERpc3Bv
c2FibGVDYWxsU2l0ZUluZGV4IHdoZW4gZGVzdHJveWluZyBHQ0F3YXJlSklUU3R1YlJvdXRpbmVX
aXRoRXhjZXB0aW9uSGFuZGxlcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcAppbmRleCA4OGFiZTBlM2I4NjAzM2M1YWUzN2UyMTQzODVlN2EwMzMx
YjI3MDQxLi5mMWI1MTBmZWY4N2ZlNWZmZTYzZGUxNzEwN2YwYmRiN2MzMDg4ZTI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtOTY3
MCwxMCArOTY3MCwxMCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQ2hlY2tJc0NvbnN0
YW50KE5vZGUqIG5vZGUpCiAgICAgICAgIEpTVmFsdWVSZWdzIHJlZ3MgPSBvcGVyYW5kLmpzVmFs
dWVSZWdzKCk7CiAKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBzcGVjdWxhdGlvbkNoZWNr
KEJhZENhY2hlLCByZWdzLCBub2RlLT5jaGlsZDEoKSwgbV9qaXQuYnJhbmNoNjQoSklUQ29tcGls
ZXI6Ok5vdEVxdWFsLCByZWdzLmdwcigpLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKG5v
ZGUtPmNvbnN0YW50KCktPnZhbHVlKCkpKSkpOworICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKFVu
Y291bnRhYmxlLCByZWdzLCBub2RlLT5jaGlsZDEoKSwgbV9qaXQuYnJhbmNoNjQoSklUQ29tcGls
ZXI6Ok5vdEVxdWFsLCByZWdzLmdwcigpLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKG5v
ZGUtPmNvbnN0YW50KCktPnZhbHVlKCkpKSkpOwogI2Vsc2UKLSAgICAgICAgc3BlY3VsYXRpb25D
aGVjayhCYWRDYWNoZSwgcmVncywgbm9kZS0+Y2hpbGQxKCksIG1faml0LmJyYW5jaDMyKEpJVENv
bXBpbGVyOjpOb3RFcXVhbCwgcmVncy50YWdHUFIoKSwgVHJ1c3RlZEltbTMyKG5vZGUtPmNvbnN0
YW50KCktPnZhbHVlKCkudGFnKCkpKSk7Ci0gICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkQ2Fj
aGUsIHJlZ3MsIG5vZGUtPmNoaWxkMSgpLCBtX2ppdC5icmFuY2gzMihKSVRDb21waWxlcjo6Tm90
RXF1YWwsIHJlZ3MucGF5bG9hZEdQUigpLCBUcnVzdGVkSW1tMzIobm9kZS0+Y29uc3RhbnQoKS0+
dmFsdWUoKS5wYXlsb2FkKCkpKSk7CisgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soVW5jb3VudGFi
bGUsIHJlZ3MsIG5vZGUtPmNoaWxkMSgpLCBtX2ppdC5icmFuY2gzMihKSVRDb21waWxlcjo6Tm90
RXF1YWwsIHJlZ3MudGFnR1BSKCksIFRydXN0ZWRJbW0zMihub2RlLT5jb25zdGFudCgpLT52YWx1
ZSgpLnRhZygpKSkpOworICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKFVuY291bnRhYmxlLCByZWdz
LCBub2RlLT5jaGlsZDEoKSwgbV9qaXQuYnJhbmNoMzIoSklUQ29tcGlsZXI6Ok5vdEVxdWFsLCBy
ZWdzLnBheWxvYWRHUFIoKSwgVHJ1c3RlZEltbTMyKG5vZGUtPmNvbnN0YW50KCktPnZhbHVlKCku
cGF5bG9hZCgpKSkpOwogI2VuZGlmCiAgICAgfQogCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5n
ZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgwOWY4Mjk4M2UwNzVlNTIzMDJiMDkyNTMz
ZTc1MWRhY2MyMzU3ZDQuLjFiMTZmOTkzNmJkMThmYWNhNWU2YjViM2U2YjBhNTk4MTE5YWU3NDkg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMjAtMDYtMTIgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBh
cHBsZS5jb20+CisKKyAgICAgICAgQ2hlY2tJc0NvbnN0YW50IHNob3VsZCBub3QgdXNlIEJhZENh
Y2hlIGV4aXQga2luZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjEzMTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBzdHJlc3MvY2hlY2staXMtY29uc3RhbnQtbm9uLWNlbGwtc2hvdWxkLW5vdC1hcnJh
eS1wcm9maWxlLWR1cmluZy1vc3ItZXhpdC5qczogQWRkZWQuCisgICAgICAgIChmb28uYmFyKToK
KwogMjAyMC0wNi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtKU0NdIFJldHVybiBEaXNwb3NhYmxlQ2FsbFNpdGVJbmRleCB3aGVuIGRlc3Ryb3lpbmcg
R0NBd2FyZUpJVFN0dWJSb3V0aW5lV2l0aEV4Y2VwdGlvbkhhbmRsZXIKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvc3RyZXNzL2NoZWNrLWlzLWNvbnN0YW50LW5vbi1jZWxsLXNob3VsZC1ub3QtYXJyYXkt
cHJvZmlsZS1kdXJpbmctb3NyLWV4aXQuanMgYi9KU1Rlc3RzL3N0cmVzcy9jaGVjay1pcy1jb25z
dGFudC1ub24tY2VsbC1zaG91bGQtbm90LWFycmF5LXByb2ZpbGUtZHVyaW5nLW9zci1leGl0Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgzOGVmNmFkMDAyMTBjMWY1ZjhiNmM2ZWZmM2NlMjBlYmVjNjRmYzcKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9jaGVjay1pcy1jb25zdGFudC1ub24tY2Vs
bC1zaG91bGQtbm90LWFycmF5LXByb2ZpbGUtZHVyaW5nLW9zci1leGl0LmpzCkBAIC0wLDAgKzEs
MTYgQEAKK2Z1bmN0aW9uIGZvbygpIHsKKyAgZnVuY3Rpb24gYmFyKGEwKSB7CisgICAgdHJ5IHsK
KyAgICAgIGZvciAobGV0IHEgb2YgYTApIHt9CisgICAgICBwLmlzRnJvemVuKCk7CisgICAgfSBj
YXRjaCB7fQorICAgIHJldHVybiBiYXI7CisgIH0KKyAgbGV0IHAgPSBuZXcgUHJveHkoW10sIHsg
Z2V0OiBiYXIgfSk7CisgIGJhcihwKTsKK30KKworCitmb3IgKGxldCBpPTA7IGk8MTAwOyBpKysp
IHsKKyAgZm9vKCk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401766</attachid>
            <date>2020-06-12 12:49:49 -0700</date>
            <delta_ts>2020-06-12 13:51:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213141-20200612124948.patch</filename>
            <type>text/plain</type>
            <size>4995</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZjliZDgwOTRkMzliZWU3NmQyNDZhYmM0NzA4MDk4NWY5YTkwYzAxLi5lNGFhNTIzYjEzYzZjOTc0
ZGE2YTM2YTQ1NDg0ZTJhNTJjODk2YjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAyMC0wNi0xMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGVja0lzQ29uc3RhbnQgc2hvdWxkIG5vdCB1c2UgQmFkQ2FjaGUg
ZXhpdCBraW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTMxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGUgQmFkQ2FjaGUgZXhpdCBraW5kIGNhdXNlcyB0aGUgT1NSIGV4aXQgY29tcGlsZXJzIHRv
IHRyeSB0byB1cGRhdGUgQXJyYXlQcm9maWxlcy4KKyAgICAgICAgVGhpcyBpcyBqdXN0IGluY29y
cmVjdCBmb3IgQ2hlY2tJc0NvbnN0YW50IHNpbmNlIHRoZSBub2RlJ3Mgb3JpZ2luIG1heSBub3Qg
ZXZlbgorICAgICAgICBoYXZlIGFuIEFycmF5UHJvZmlsZS4uLgorCisgICAgICAgICogZGZnL0RG
R1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZUNoZWNrSXNDb25zdGFudCk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5j
cHA6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVDaGVja0lz
Q29uc3RhbnQpOgorCiAyMDIwLTA2LTExICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5j
b20+CiAKICAgICAgICAgW0pTQ10gUmV0dXJuIERpc3Bvc2FibGVDYWxsU2l0ZUluZGV4IHdoZW4g
ZGVzdHJveWluZyBHQ0F3YXJlSklUU3R1YlJvdXRpbmVXaXRoRXhjZXB0aW9uSGFuZGxlcgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCA4
OGFiZTBlM2I4NjAzM2M1YWUzN2UyMTQzODVlN2EwMzMxYjI3MDQxLi4yYWZiYzA5MzljMTM5MGJj
NTZjOWEzYzY3MGUwMjcwYzIzNWYyNWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtOTY2OSwxMSArOTY2OSwxMiBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlQ2hlY2tJc0NvbnN0YW50KE5vZGUqIG5vZGUpCiAgICAgICAg
IEpTVmFsdWVPcGVyYW5kIG9wZXJhbmQodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICBK
U1ZhbHVlUmVncyByZWdzID0gb3BlcmFuZC5qc1ZhbHVlUmVncygpOwogCisgICAgICAgIC8vIFRo
aXMgc2hvdWxkIHJlYWxseSBiZSBzb21ldGhpbmcgbGlrZSBCYWRWYWx1ZSBidXQgd2UgZG9uJ3Qg
aGF2ZSBhbiBleGl0IGtpbmQgZm9yIHRoYXQuCiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAg
c3BlY3VsYXRpb25DaGVjayhCYWRDYWNoZSwgcmVncywgbm9kZS0+Y2hpbGQxKCksIG1faml0LmJy
YW5jaDY0KEpJVENvbXBpbGVyOjpOb3RFcXVhbCwgcmVncy5ncHIoKSwgVHJ1c3RlZEltbTY0KEpT
VmFsdWU6OmVuY29kZShub2RlLT5jb25zdGFudCgpLT52YWx1ZSgpKSkpKTsKKyAgICAgICAgc3Bl
Y3VsYXRpb25DaGVjayhVbmNvdW50YWJsZSwgcmVncywgbm9kZS0+Y2hpbGQxKCksIG1faml0LmJy
YW5jaDY0KEpJVENvbXBpbGVyOjpOb3RFcXVhbCwgcmVncy5ncHIoKSwgVHJ1c3RlZEltbTY0KEpT
VmFsdWU6OmVuY29kZShub2RlLT5jb25zdGFudCgpLT52YWx1ZSgpKSkpKTsKICNlbHNlCi0gICAg
ICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkQ2FjaGUsIHJlZ3MsIG5vZGUtPmNoaWxkMSgpLCBtX2pp
dC5icmFuY2gzMihKSVRDb21waWxlcjo6Tm90RXF1YWwsIHJlZ3MudGFnR1BSKCksIFRydXN0ZWRJ
bW0zMihub2RlLT5jb25zdGFudCgpLT52YWx1ZSgpLnRhZygpKSkpOwotICAgICAgICBzcGVjdWxh
dGlvbkNoZWNrKEJhZENhY2hlLCByZWdzLCBub2RlLT5jaGlsZDEoKSwgbV9qaXQuYnJhbmNoMzIo
SklUQ29tcGlsZXI6Ok5vdEVxdWFsLCByZWdzLnBheWxvYWRHUFIoKSwgVHJ1c3RlZEltbTMyKG5v
ZGUtPmNvbnN0YW50KCktPnZhbHVlKCkucGF5bG9hZCgpKSkpOworICAgICAgICBzcGVjdWxhdGlv
bkNoZWNrKFVuY291bnRhYmxlLCByZWdzLCBub2RlLT5jaGlsZDEoKSwgbV9qaXQuYnJhbmNoMzIo
SklUQ29tcGlsZXI6Ok5vdEVxdWFsLCByZWdzLnRhZ0dQUigpLCBUcnVzdGVkSW1tMzIobm9kZS0+
Y29uc3RhbnQoKS0+dmFsdWUoKS50YWcoKSkpKTsKKyAgICAgICAgc3BlY3VsYXRpb25DaGVjayhV
bmNvdW50YWJsZSwgcmVncywgbm9kZS0+Y2hpbGQxKCksIG1faml0LmJyYW5jaDMyKEpJVENvbXBp
bGVyOjpOb3RFcXVhbCwgcmVncy5wYXlsb2FkR1BSKCksIFRydXN0ZWRJbW0zMihub2RlLT5jb25z
dGFudCgpLT52YWx1ZSgpLnBheWxvYWQoKSkpKTsKICNlbmRpZgogICAgIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCmluZGV4IDcwYzA5ZWE0NDBi
MmQ2MWNiOGZkNmI5NGVjOTFjNTBlYTQ1ZjVhNDkuLjkwODY0ZjE3YWExNTAyMzM4NjI2MzhlMGUz
ZTllYWVlZDc1ZTI1ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9CMy5jcHAKQEAgLTM2NTYsOCArMzY1Niw5IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBM
VmFsdWUgdmFsdWUgPSBsb3dKU1ZhbHVlKG1fbm9kZS0+Y2hpbGQxKCkpOwogCiAgICAgICAgICAg
ICBBU1NFUlQoIW1fbm9kZS0+Y29uc3RhbnQoKS0+dmFsdWUoKS5pc0NlbGwoKSB8fCAhbV9ub2Rl
LT5jb25zdGFudCgpLT52YWx1ZSgpKTsKKyAgICAgICAgICAgIC8vIFRoaXMgc2hvdWxkIHJlYWxs
eSBiZSBzb21ldGhpbmcgbGlrZSBCYWRWYWx1ZSBidXQgd2UgZG9uJ3QgaGF2ZSBhbiBleGl0IGtp
bmQgZm9yIHRoYXQuCiAgICAgICAgICAgICBzcGVjdWxhdGUoCi0gICAgICAgICAgICAgICAgQmFk
VHlwZSwganNWYWx1ZVZhbHVlKHZhbHVlKSwgbV9ub2RlLT5jaGlsZDEoKS5ub2RlKCksCisgICAg
ICAgICAgICAgICAgVW5jb3VudGFibGUsIGpzVmFsdWVWYWx1ZSh2YWx1ZSksIG1fbm9kZS0+Y2hp
bGQxKCkubm9kZSgpLAogICAgICAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKHZhbHVlLCBtX291
dC5jb25zdEludDY0KEpTVmFsdWU6OmVuY29kZShtX25vZGUtPmNvbnN0YW50KCktPnZhbHVlKCkp
KSkpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9K
U1Rlc3RzL0NoYW5nZUxvZwppbmRleCA4MDlmODI5ODNlMDc1ZTUyMzAyYjA5MjUzM2U3NTFkYWNj
MjM1N2Q0Li4xYjE2Zjk5MzZiZDE4ZmFjYTVlNmI1YjNlNmIwYTU5ODExOWFlNzQ5IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDIwLTA2LTEyICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29t
PgorCisgICAgICAgIENoZWNrSXNDb25zdGFudCBzaG91bGQgbm90IHVzZSBCYWRDYWNoZSBleGl0
IGtpbmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
MzE0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
c3RyZXNzL2NoZWNrLWlzLWNvbnN0YW50LW5vbi1jZWxsLXNob3VsZC1ub3QtYXJyYXktcHJvZmls
ZS1kdXJpbmctb3NyLWV4aXQuanM6IEFkZGVkLgorICAgICAgICAoZm9vLmJhcik6CisKIDIwMjAt
MDYtMTEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBSZXR1cm4gRGlzcG9zYWJsZUNhbGxTaXRlSW5kZXggd2hlbiBkZXN0cm95aW5nIEdDQXdhcmVK
SVRTdHViUm91dGluZVdpdGhFeGNlcHRpb25IYW5kbGVyCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0
cmVzcy9jaGVjay1pcy1jb25zdGFudC1ub24tY2VsbC1zaG91bGQtbm90LWFycmF5LXByb2ZpbGUt
ZHVyaW5nLW9zci1leGl0LmpzIGIvSlNUZXN0cy9zdHJlc3MvY2hlY2staXMtY29uc3RhbnQtbm9u
LWNlbGwtc2hvdWxkLW5vdC1hcnJheS1wcm9maWxlLWR1cmluZy1vc3ItZXhpdC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MzhlZjZhZDAwMjEwYzFmNWY4YjZjNmVmZjNjZTIwZWJlYzY0ZmM3Ci0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvY2hlY2staXMtY29uc3RhbnQtbm9uLWNlbGwtc2hvdWxk
LW5vdC1hcnJheS1wcm9maWxlLWR1cmluZy1vc3ItZXhpdC5qcwpAQCAtMCwwICsxLDE2IEBACitm
dW5jdGlvbiBmb28oKSB7CisgIGZ1bmN0aW9uIGJhcihhMCkgeworICAgIHRyeSB7CisgICAgICBm
b3IgKGxldCBxIG9mIGEwKSB7fQorICAgICAgcC5pc0Zyb3plbigpOworICAgIH0gY2F0Y2gge30K
KyAgICByZXR1cm4gYmFyOworICB9CisgIGxldCBwID0gbmV3IFByb3h5KFtdLCB7IGdldDogYmFy
IH0pOworICBiYXIocCk7Cit9CisKKworZm9yIChsZXQgaT0wOyBpPDEwMDsgaSsrKSB7CisgIGZv
bygpOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401775</attachid>
            <date>2020-06-12 13:51:15 -0700</date>
            <delta_ts>2020-06-12 13:58:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213141-20200612135114.patch</filename>
            <type>text/plain</type>
            <size>25737</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZjliZDgwOTRkMzliZWU3NmQyNDZhYmM0NzA4MDk4NWY5YTkwYzAxLi4yM2UxMzVmNGZmYzQyODcw
MzQ2ODJmNzE4MjZjNzA4ZWNhM2I2MjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NSBAQAorMjAyMC0wNi0xMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGVja0lzQ29uc3RhbnQgc2hvdWxkIG5vdCB1c2UgQmFkQ2FjaGUg
ZXhpdCBraW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTMxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGUgQmFkQ2FjaGUgZXhpdCBraW5kIGNhdXNlcyB0aGUgT1NSIGV4aXQgY29tcGlsZXJzIHRv
IHRyeSB0byB1cGRhdGUgQXJyYXlQcm9maWxlcy4KKyAgICAgICAgVGhpcyBpcyBqdXN0IGluY29y
cmVjdCBmb3IgQ2hlY2tJc0NvbnN0YW50IHNpbmNlIHRoZSBub2RlJ3Mgb3JpZ2luIG1heSBub3Qg
ZXZlbgorICAgICAgICBoYXZlIGFuIEFycmF5UHJvZmlsZS4uLgorCisgICAgICAgICogYnl0ZWNv
ZGUvQ2FsbExpbmtTdGF0dXMuY3BwOgorICAgICAgICAoSlNDOjpDYWxsTGlua1N0YXR1czo6Y29t
cHV0ZUZyb21MTEludCk6CisgICAgICAgIChKU0M6OkNhbGxMaW5rU3RhdHVzOjpjb21wdXRlRXhp
dFNpdGVEYXRhKToKKyAgICAgICAgKiBieXRlY29kZS9FeGl0S2luZC5jcHA6CisgICAgICAgIChK
U0M6OmV4aXRLaW5kVG9TdHJpbmcpOgorICAgICAgICAqIGJ5dGVjb2RlL0V4aXRLaW5kLmg6Cisg
ICAgICAgICogZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChK
U0M6OkRGRzo6QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVF
ZmZlY3RzKToKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAo
SlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVJbmxpbmluZyk6CisgICAgICAgIChKU0M6
OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUludHJpbnNpY0NhbGwpOgorICAgICAgICAoSlND
OjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVNb2R1bGVOYW1lc3BhY2VMb2FkKToKKyAgICAg
ICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgIChKU0M6
OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZVB1dEJ5VmFsKToKKyAgICAgICAgKEpTQzo6REZH
OjpCeXRlQ29kZVBhcnNlcjo6aGFuZGxlQ3JlYXRlSW50ZXJuYWxGaWVsZE9iamVjdCk6CisgICAg
ICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXpl
KToKKyAgICAgICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpkb2Vz
R0MpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAg
ICAgIChKU0M6OkRGRzo6Tm9kZTo6aXNQc2V1ZG9UZXJtaW5hbCk6CisgICAgICAgICogZGZnL0RG
R05vZGVUeXBlLmg6CisgICAgICAgICogZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNl
LmNwcDoKKyAgICAgICAgKiBkZmcvREZHU2FmZVRvRXhlY3V0ZS5oOgorICAgICAgICAoSlNDOjpE
Rkc6OnNhZmVUb0V4ZWN1dGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVDaGVja0lzQ29uc3Rh
bnQpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpj
b21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpT
Qzo6RlRMOjpjYW5Db21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoK
KyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZU5vZGUpOgorICAg
ICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlQ2hlY2tJc0NvbnN0YW50
KToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZUNoZWNrQmFk
VmFsdWUpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlQ2hl
Y2tCYWRDZWxsKTogRGVsZXRlZC4KKwogMjAyMC0wNi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1
a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIFJldHVybiBEaXNwb3NhYmxlQ2FsbFNpdGVJ
bmRleCB3aGVuIGRlc3Ryb3lpbmcgR0NBd2FyZUpJVFN0dWJSb3V0aW5lV2l0aEV4Y2VwdGlvbkhh
bmRsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlu
a1N0YXR1cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtTdGF0
dXMuY3BwCmluZGV4IGEzZDJkNjdmMGQwNGU5ZGRiYmY4M2YzNjhjMzIzNWI3OTNiZjFlMTguLjNh
YTUxZTY1NGQ5ODQ1N2MxNWM3ODNhMzZjYTEyOTFjNGQxNjQ5OTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua1N0YXR1cy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxMaW5rU3RhdHVzLmNwcApAQCAtNTcsNyArNTcs
NyBAQCBDYWxsTGlua1N0YXR1cyBDYWxsTGlua1N0YXR1czo6Y29tcHV0ZUZyb21MTEludChjb25z
dCBDb25jdXJyZW50SlNMb2NrZXImLCBDb2RlQgogICAgIFVOVVNFRF9QQVJBTShwcm9maWxlZEJs
b2NrKTsKICAgICBVTlVTRURfUEFSQU0oYnl0ZWNvZGVJbmRleCk7CiAjaWYgRU5BQkxFKERGR19K
SVQpCi0gICAgaWYgKHByb2ZpbGVkQmxvY2stPnVubGlua2VkQ29kZUJsb2NrKCktPmhhc0V4aXRT
aXRlKERGRzo6RnJlcXVlbnRFeGl0U2l0ZShieXRlY29kZUluZGV4LCBCYWRDZWxsKSkpIHsKKyAg
ICBpZiAocHJvZmlsZWRCbG9jay0+dW5saW5rZWRDb2RlQmxvY2soKS0+aGFzRXhpdFNpdGUoREZH
OjpGcmVxdWVudEV4aXRTaXRlKGJ5dGVjb2RlSW5kZXgsIEJhZFZhbHVlKSkpIHsKICAgICAgICAg
Ly8gV2UgY291bGQgZm9yY2UgdGhpcyB0byBiZSBhIGNsb3N1cmUgY2FsbCwgYnV0IGluc3RlYWQg
d2UnbGwganVzdCBhc3N1bWUgdGhhdCBpdAogICAgICAgICAvLyB0YWtlcyBzbG93IHBhdGguCiAg
ICAgICAgIHJldHVybiB0YWtlc1Nsb3dQYXRoKCk7CkBAIC0xMzgsNyArMTM4LDcgQEAgQ2FsbExp
bmtTdGF0dXM6OkV4aXRTaXRlRGF0YSBDYWxsTGlua1N0YXR1czo6Y29tcHV0ZUV4aXRTaXRlRGF0
YShDb2RlQmxvY2sqIHByb2YKICAgICB9OwogICAgIAogICAgIGF1dG8gYmFkRnVuY3Rpb24gPSBb
Jl0gKEV4aXRpbmdJbmxpbmVLaW5kIGlubGluZUtpbmQpIC0+IEV4aXRGbGFnIHsKLSAgICAgICAg
cmV0dXJuIEV4aXRGbGFnKGNvZGVCbG9jay0+aGFzRXhpdFNpdGUobG9ja2VyLCBERkc6OkZyZXF1
ZW50RXhpdFNpdGUoYnl0ZWNvZGVJbmRleCwgQmFkQ2VsbCwgRXhpdEZyb21Bbnl0aGluZywgaW5s
aW5lS2luZCkpLCBpbmxpbmVLaW5kKTsKKyAgICAgICAgcmV0dXJuIEV4aXRGbGFnKGNvZGVCbG9j
ay0+aGFzRXhpdFNpdGUobG9ja2VyLCBERkc6OkZyZXF1ZW50RXhpdFNpdGUoYnl0ZWNvZGVJbmRl
eCwgQmFkVmFsdWUsIEV4aXRGcm9tQW55dGhpbmcsIGlubGluZUtpbmQpKSwgaW5saW5lS2luZCk7
CiAgICAgfTsKICAgICAKICAgICBleGl0U2l0ZURhdGEudGFrZXNTbG93UGF0aCB8PSB0YWtlc1Ns
b3dQYXRoKEV4aXRGcm9tTm90SW5saW5lZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvRXhpdEtpbmQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0V4aXRLaW5kLmNwcAppbmRleCAyMzQ2MDUyYzAxODY3OWY1ZmNmMjRiM2QwZGU1ZTk3YWQw
YjUzNDcwLi45ZTRjOTA1ZDc0OWM3ZTg0NDQyNGI1Y2Y5MTZkZjE1ZGQxYjJhMzY3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhpdEtpbmQuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FeGl0S2luZC5jcHAKQEAgLTM4LDggKzM4LDgg
QEAgY29uc3QgY2hhciogZXhpdEtpbmRUb1N0cmluZyhFeGl0S2luZCBraW5kKQogICAgICAgICBy
ZXR1cm4gIlVuc2V0IjsKICAgICBjYXNlIEJhZFR5cGU6CiAgICAgICAgIHJldHVybiAiQmFkVHlw
ZSI7Ci0gICAgY2FzZSBCYWRDZWxsOgotICAgICAgICByZXR1cm4gIkJhZENlbGwiOworICAgIGNh
c2UgQmFkVmFsdWU6CisgICAgICAgIHJldHVybiAiQmFkVmFsdWUiOwogICAgIGNhc2UgQmFkSWRl
bnQ6CiAgICAgICAgIHJldHVybiAiQmFkSWRlbnQiOwogICAgIGNhc2UgQmFkRXhlY3V0YWJsZToK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FeGl0S2luZC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V4aXRLaW5kLmgKaW5kZXggNjExZDQ3YWY0
NTlmMjkyYzQxNTA2Yzc2ZmNmYjNkNDFlZDgwNDQ5Ny4uNmQzMzM1Nzk0Zjc3OWEyNjgwODg0Y2U2
YTgzZjk4MzBlMWI1MGY1MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0V4aXRLaW5kLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V4aXRL
aW5kLmgKQEAgLTMwLDcgKzMwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiBlbnVtIEV4aXRLaW5kIDog
dWludDhfdCB7CiAgICAgRXhpdEtpbmRVbnNldCwKICAgICBCYWRUeXBlLCAvLyBXZSBleGl0ZWQg
YmVjYXVzZSBhIHR5cGUgcHJlZGljdGlvbiB3YXMgd3JvbmcuCi0gICAgQmFkQ2VsbCwgLy8gV2Ug
ZXhpdGVkIGJlY2F1c2Ugd2UgbWFkZSBhbiBpbmNvcnJlY3QgYXNzdW1wdGlvbiBhYm91dCB3aGF0
IGNlbGwgd2Ugd291bGQgc2VlLiBVc3VhbGx5IHVzZWQgZm9yIGZ1bmN0aW9uIGNoZWNrcy4KKyAg
ICBCYWRWYWx1ZSwgLy8gV2UgZXhpdGVkIGJlY2F1c2Ugd2UgbWFkZSBhbiBpbmNvcnJlY3QgYXNz
dW1wdGlvbiBhYm91dCB3aGF0IHZhbHVlIHdlIHdvdWxkIHNlZS4gVXN1YWxseSB1c2VkIGZvciBm
dW5jdGlvbiBjaGVja3MuCiAgICAgQmFkSWRlbnQsIC8vIFdlIGV4aXRlZCBiZWNhdXNlIHdlIG1h
ZGUgYW4gaW5jb3JyZWN0IGFzc3VtcHRpb24gYWJvdXQgd2hhdCBpZGVudGlmaWVyIHdlIHdvdWxk
IHNlZS4gVXN1YWxseSB1c2VkIGZvciBjYWNoZWQgSWQgY2hlY2sgaW4gZ2V0X2J5X3ZhbC4KICAg
ICBCYWRFeGVjdXRhYmxlLCAvLyBXZSBleGl0ZWQgYmVjYXVzZSB3ZSBtYWRlIGFuIGluY29ycmVj
dCBhc3N1bXB0aW9uIGFib3V0IHdoYXQgZXhlY3V0YWJsZSB3ZSB3b3VsZCBzZWUuCiAgICAgQmFk
Q2FjaGUsIC8vIFdlIGV4aXRlZCBiZWNhdXNlIGFuIGlubGluZSBjYWNoZSB3YXMgd3JvbmcuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0
ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJw
cmV0ZXJJbmxpbmVzLmgKaW5kZXggNzM2NmNmMWNiYTE1YmUzYjI1ZGM3MDZiMDRhOGY3ZmFlMzY2
ZDhmMi4uOTcyOWZhZmFkOTkzZTYyNTUyMWQ3MWRhN2Y1NDlhNzg5ZjY1OWFjMCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5l
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRl
cklubGluZXMuaApAQCAtNDI4MCw3ICs0MjgwLDcgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVy
PEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkK
ICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEZvcmNlT1NSRXhpdDoKLSAgICBjYXNlIENoZWNr
QmFkQ2VsbDoKKyAgICBjYXNlIENoZWNrQmFkVmFsdWU6CiAgICAgICAgIG1fc3RhdGUuc2V0SXNW
YWxpZChmYWxzZSk7CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggNmI1YmYxNzg2NGNjNTMw
MDhlMzJhNmZhODgzZWE2MmVlZmZlNTM2YS4uZmZjZGIyNGU5MmE2ZDYzMzlkNzY4ZGM2MjNlMTg0
Njk0MDRhMzUyOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRl
Q29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29k
ZVBhcnNlci5jcHAKQEAgLTIyMzEsNyArMjIzMSw3IEBAIEJ5dGVDb2RlUGFyc2VyOjpDYWxsT3B0
aW1pemF0aW9uUmVzdWx0IEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVJbmxpbmluZygKICAgICAgICAg
ICAgIHJlZ2lzdGVyT2Zmc2V0LCBwcmVkaWN0aW9uKTsKICAgICAgICAgVkVSQk9TRV9MT0coIldl
IGFkZGVkIGEgY2FsbCBpbiB0aGUgc2xvdyBwYXRoXG4iKTsKICAgICB9IGVsc2UgewotICAgICAg
ICBhZGRUb0dyYXBoKENoZWNrQmFkQ2VsbCk7CisgICAgICAgIGFkZFRvR3JhcGgoQ2hlY2tCYWRW
YWx1ZSk7CiAgICAgICAgIGFkZFRvR3JhcGgoUGhhbnRvbSwgbXlDYWxsVGFyZ2V0Tm9kZSk7CiAg
ICAgICAgIGVtaXRBcmd1bWVudFBoYW50b21zKHJlZ2lzdGVyT2Zmc2V0LCBhcmd1bWVudENvdW50
SW5jbHVkaW5nVGhpcyk7CiAgICAgICAgIApAQCAtMjc0Miw3ICsyNzQyLDcgQEAgYm9vbCBCeXRl
Q29kZVBhcnNlcjo6aGFuZGxlSW50cmluc2ljQ2FsbChOb2RlKiBjYWxsZWUsIE9wZXJhbmQgcmVz
dWx0LCBJbnRyaW5zaWMKICAgICAgICAgICAgIGlmIChhcmd1bWVudENvdW50SW5jbHVkaW5nVGhp
cyA8IDIpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgICAgICBpZiAo
bV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRl
eCwgQmFkQ2VsbCkgfHwgbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0
ZShtX2N1cnJlbnRJbmRleCwgQmFkVHlwZSkpCisgICAgICAgICAgICBpZiAobV9pbmxpbmVTdGFj
a1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkVmFsdWUp
IHx8IG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50
SW5kZXgsIEJhZFR5cGUpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAg
ICAgICAgaW5zZXJ0Q2hlY2tzKCk7CkBAIC0yODU0LDcgKzI4NTQsNyBAQCBib29sIEJ5dGVDb2Rl
UGFyc2VyOjpoYW5kbGVJbnRyaW5zaWNDYWxsKE5vZGUqIGNhbGxlZSwgT3BlcmFuZCByZXN1bHQs
IEludHJpbnNpYwogCiAgICAgICAgICAgICBpZiAoaW50cmluc2ljID09IFJlZ0V4cFRlc3RJbnRy
aW5zaWMpIHsKICAgICAgICAgICAgICAgICAvLyBEb24ndCBpbmxpbmUgaW50cmluc2ljIGlmIHdl
IGV4aXRlZCBkdWUgdG8gb25lIG9mIHRoZSBwcmltb3JkaWFsIFJlZ0V4cCBjaGVja3MgZmFpbGlu
Zy4KLSAgICAgICAgICAgICAgICBpZiAobV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5o
YXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ2VsbCkpCisgICAgICAgICAgICAgICAgaWYg
KG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5k
ZXgsIEJhZFZhbHVlKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
ICAgICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG1faW5saW5lU3RhY2tU
b3AtPm1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3QoKTsKQEAgLTI5NzYsNyArMjk3Niw3IEBAIGJv
b2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUludHJpbnNpY0NhbGwoTm9kZSogY2FsbGVlLCBPcGVy
YW5kIHJlc3VsdCwgSW50cmluc2ljCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgICAgICAgICAvLyBEb24ndCBpbmxpbmUgaW50cmluc2ljIGlmIHdlIGV4aXRlZCBkdWUgdG8g
b25lIG9mIHRoZSBwcmltb3JkaWFsIFJlZ0V4cCBjaGVja3MgZmFpbGluZy4KLSAgICAgICAgICAg
IGlmIChtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVu
dEluZGV4LCBCYWRDZWxsKSkKKyAgICAgICAgICAgIGlmIChtX2lubGluZVN0YWNrVG9wLT5tX2V4
aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRWYWx1ZSkpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0ID0gbV9pbmxpbmVTdGFja1RvcC0+bV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdCgp
OwpAQCAtMzIxMSw3ICszMjExLDcgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlSW50cmlu
c2ljQ2FsbChOb2RlKiBjYWxsZWUsIE9wZXJhbmQgcmVzdWx0LCBJbnRyaW5zaWMKICAgICAgICAg
Y2FzZSBKU01hcFZhbHVlc0ludHJpbnNpYzoKICAgICAgICAgY2FzZSBKU1NldEVudHJpZXNJbnRy
aW5zaWM6CiAgICAgICAgIGNhc2UgSlNTZXRWYWx1ZXNJbnRyaW5zaWM6IHsKLSAgICAgICAgICAg
IGlmIChtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVu
dEluZGV4LCBCYWRDZWxsKSB8fCBtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4
aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRUeXBlKSkKKyAgICAgICAgICAgIGlmIChtX2lubGlu
ZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRW
YWx1ZSkgfHwgbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1
cnJlbnRJbmRleCwgQmFkVHlwZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgICAgICAgICBpbnNlcnRDaGVja3MoKTsKQEAgLTM5MjEsNyArMzkyMSw3IEBAIGJvb2wgQnl0
ZUNvZGVQYXJzZXI6OmhhbmRsZURPTUpJVEdldHRlcihPcGVyYW5kIHJlc3VsdCwgY29uc3QgR2V0
QnlJZFZhcmlhbnQmIHZhCiAKIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZU1vZHVsZU5hbWVz
cGFjZUxvYWQoVmlydHVhbFJlZ2lzdGVyIHJlc3VsdCwgU3BlY3VsYXRlZFR5cGUgcHJlZGljdGlv
biwgTm9kZSogYmFzZSwgR2V0QnlTdGF0dXMgZ2V0QnlJZCkKIHsKLSAgICBpZiAobV9pbmxpbmVT
dGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ2Vs
bCkpCisgICAgaWYgKG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUo
bV9jdXJyZW50SW5kZXgsIEJhZFZhbHVlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGFk
ZFRvR3JhcGgoQ2hlY2tJc0NvbnN0YW50LCBPcEluZm8obV9ncmFwaC5mcmVlemUoZ2V0QnlJZC5t
b2R1bGVOYW1lc3BhY2VPYmplY3QoKSkpLCBFZGdlKGJhc2UsIENlbGxVc2UpKTsKIApAQCAtNTE5
Nyw3ICs1MTk3LDcgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBs
aW1pdCkKICAgICAgICAgICAgICAgICBKU0NlbGwqIGNhY2hlZEZ1bmN0aW9uID0gYnl0ZWNvZGUu
bWV0YWRhdGEoY29kZUJsb2NrKS5tX2NhY2hlZENhbGxlZS51bnZhbGlkYXRlZEdldCgpOwogICAg
ICAgICAgICAgICAgIGlmIChjYWNoZWRGdW5jdGlvbgogICAgICAgICAgICAgICAgICAgICAmJiBj
YWNoZWRGdW5jdGlvbiAhPSBKU0NlbGw6OnNlZW5NdWx0aXBsZUNhbGxlZU9iamVjdHMoKQotICAg
ICAgICAgICAgICAgICAgICAmJiAhbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNF
eGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ2VsbCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
JiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50
SW5kZXgsIEJhZFZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoY2FjaGVkRnVu
Y3Rpb24tPmluaGVyaXRzPEpTRnVuY3Rpb24+KCptX3ZtKSk7CiAKICAgICAgICAgICAgICAgICAg
ICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJlZXplKGNhY2hlZEZ1bmN0aW9uKTsK
QEAgLTUyNTcsNyArNTI1Nyw3IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5z
aWduZWQgbGltaXQpCiAgICAgICAgICAgICAgICAgICAgIEpTQ2VsbCogY2FjaGVkRnVuY3Rpb24g
PSBieXRlY29kZS5tZXRhZGF0YShjb2RlQmxvY2spLm1fY2FjaGVkQ2FsbGVlLnVudmFsaWRhdGVk
R2V0KCk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChjYWNoZWRGdW5jdGlvbgogICAgICAgICAg
ICAgICAgICAgICAgICAgJiYgY2FjaGVkRnVuY3Rpb24gIT0gSlNDZWxsOjpzZWVuTXVsdGlwbGVD
YWxsZWVPYmplY3RzKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICYmICFtX2lubGluZVN0YWNr
VG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDZWxsKQor
ICAgICAgICAgICAgICAgICAgICAgICAgJiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2Zp
bGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZFZhbHVlKQogICAgICAgICAgICAgICAg
ICAgICAgICAgJiYgY2FjaGVkRnVuY3Rpb24gPT0gKGJ5dGVjb2RlLm1faXNJbnRlcm5hbFByb21p
c2UgPyBnbG9iYWxPYmplY3QtPmludGVybmFsUHJvbWlzZUNvbnN0cnVjdG9yKCkgOiBnbG9iYWxP
YmplY3QtPnByb21pc2VDb25zdHJ1Y3RvcigpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAg
RnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJlZXplKGNhY2hlZEZ1bmN0aW9uKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoQ2hlY2tJc0NvbnN0YW50LCBPcEluZm8o
ZnJvemVuKSwgY2FsbGVlKTsKQEAgLTUyODAsNyArNTI4MCw3IEBAIHZvaWQgQnl0ZUNvZGVQYXJz
ZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICAgICAgICAgIEpTQ2Vs
bCogY2FjaGVkRnVuY3Rpb24gPSBieXRlY29kZS5tZXRhZGF0YShjb2RlQmxvY2spLm1fY2FjaGVk
Q2FsbGVlLnVudmFsaWRhdGVkR2V0KCk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChjYWNoZWRG
dW5jdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgJiYgY2FjaGVkRnVuY3Rpb24gIT0gSlND
ZWxsOjpzZWVuTXVsdGlwbGVDYWxsZWVPYmplY3RzKCkKLSAgICAgICAgICAgICAgICAgICAgICAg
ICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVu
dEluZGV4LCBCYWRDZWxsKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgJiYgIW1faW5saW5l
U3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZFZh
bHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGNhY2hlZEZ1bmN0aW9uLT5p
bmhlcml0czxKU0Z1bmN0aW9uPigqbV92bSkpOwogCiAgICAgICAgICAgICAgICAgICAgICAgICBG
cm96ZW5WYWx1ZSogZnJvemVuID0gbV9ncmFwaC5mcmVlemUoY2FjaGVkRnVuY3Rpb24pOwpAQCAt
NTk2NSw3ICs1OTY1LDcgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25l
ZCBsaW1pdCkKICAgICAgICAgICAgIENhY2hlYWJsZUlkZW50aWZpZXIgaWRlbnRpZmllcjsKICAg
ICAgICAgICAgIGlmICghbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0
ZShtX2N1cnJlbnRJbmRleCwgQmFkSWRlbnQpCiAgICAgICAgICAgICAgICAgJiYgIW1faW5saW5l
U3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZFR5
cGUpCi0gICAgICAgICAgICAgICAgJiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUu
aGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZENlbGwpKSB7CisgICAgICAgICAgICAgICAg
JiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50
SW5kZXgsIEJhZFZhbHVlKSkgewogCiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IEluIHRoZSBm
dXR1cmUsIHdlIHNob3VsZCBiZSBhYmxlIHRvIGRvIHNvbWV0aGluZyBsaWtlIE11bHRpR2V0QnlP
ZmZzZXQgaW4gYSBtdWx0aSBpZGVudGlmaWVyIG1vZGUuCiAgICAgICAgICAgICAgICAgLy8gVGhh
dCB3YXksIHdlIGNvdWxkIGJvdGggc3dpdGNoIG9uIG11bHRpcGxlIHN0cnVjdHVyZXMgYW5kIG11
bHRpcGxlIGlkZW50aWZpZXJzIChvciBpbnQgMzIgcHJvcGVydGllcykuCkBAIC02MTgzLDcgKzYx
ODMsNyBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQog
CiAgICAgICAgICAgICBpZiAoIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhp
dFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZElkZW50KQogICAgICAgICAgICAgICAgICYmICFtX2lu
bGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBC
YWRUeXBlKQotICAgICAgICAgICAgICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9m
aWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDZWxsKSkgeworICAgICAgICAgICAg
ICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3Vy
cmVudEluZGV4LCBCYWRWYWx1ZSkpIHsKIAogICAgICAgICAgICAgICAgIGlmIChDYWNoZWFibGVJ
ZGVudGlmaWVyIGlkZW50aWZpZXIgPSBkZWxldGVCeVN0YXR1cy5zaW5nbGVJZGVudGlmaWVyKCkp
IHsKICAgICAgICAgICAgICAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9IGlkZW50aWZp
ZXIudWlkKCk7CkBAIC04MjI2LDcgKzgyMjYsNyBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpoYW5k
bGVQdXRCeVZhbChCeXRlY29kZSBieXRlY29kZSwgQnl0ZWNvZGVJbmRleCBvc3JFeGl0SW5kZQog
ICAgICAgICAgICAgICAgICYmICFieVZhbEluZm8tPnRvb2tTbG93UGF0aAogICAgICAgICAgICAg
ICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3Vy
cmVudEluZGV4LCBCYWRJZGVudCkKICAgICAgICAgICAgICAgICAmJiAhbV9pbmxpbmVTdGFja1Rv
cC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkVHlwZSkKLSAg
ICAgICAgICAgICAgICAmJiAhbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0
U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ2VsbCkpIHsKKyAgICAgICAgICAgICAgICAmJiAhbV9p
bmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwg
QmFkVmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgY29tcGlsZWRBc1B1dEJ5SWQgPSB0cnVlOwog
ICAgICAgICAgICAgICAgIGlkZW50aWZpZXIgPSBieVZhbEluZm8tPmNhY2hlZElkOwogICAgICAg
ICAgICAgICAgIGlkZW50aWZpZXJOdW1iZXIgPSBtX2dyYXBoLmlkZW50aWZpZXJzKCkuZW5zdXJl
KGlkZW50aWZpZXIudWlkKCkpOwpAQCAtODMzMCw3ICs4MzMwLDcgQEAgdm9pZCBCeXRlQ29kZVBh
cnNlcjo6aGFuZGxlQ3JlYXRlSW50ZXJuYWxGaWVsZE9iamVjdChjb25zdCBDbGFzc0luZm8qIGNs
YXNzSW5mbywKICAgICAgICAgSlNDZWxsKiBjYWNoZWRGdW5jdGlvbiA9IGJ5dGVjb2RlLm1ldGFk
YXRhKGNvZGVCbG9jaykubV9jYWNoZWRDYWxsZWUudW52YWxpZGF0ZWRHZXQoKTsKICAgICAgICAg
aWYgKGNhY2hlZEZ1bmN0aW9uCiAgICAgICAgICAgICAmJiBjYWNoZWRGdW5jdGlvbiAhPSBKU0Nl
bGw6OnNlZW5NdWx0aXBsZUNhbGxlZU9iamVjdHMoKQotICAgICAgICAgICAgJiYgIW1faW5saW5l
U3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZENl
bGwpKSB7CisgICAgICAgICAgICAmJiAhbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5o
YXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkVmFsdWUpKSB7CiAgICAgICAgICAgICBBU1NF
UlQoY2FjaGVkRnVuY3Rpb24tPmluaGVyaXRzPEpTRnVuY3Rpb24+KCptX3ZtKSk7CiAKICAgICAg
ICAgICAgIEZyb3plblZhbHVlKiBmcm96ZW4gPSBtX2dyYXBoLmZyZWV6ZShjYWNoZWRGdW5jdGlv
bik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IDE3ZmM1
OTkxZjg3NmRlNDVjOGI1YWRiODcwYzE3ZjhiMjYyMGUxNmYuLmMxMzhjMzNiZDg3MzVjNDY3NmYz
MjI5Y2ViNzg4MWUxNzhlYjFhZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQ2xvYmJlcml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xv
YmJlcml6ZS5oCkBAIC00ODcsNyArNDg3LDcgQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFw
aCwgTm9kZSogbm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdyaXRlRnUKICAg
ICBjYXNlIEVudHJ5U3dpdGNoOgogICAgIGNhc2UgRm9yY2VPU1JFeGl0OgogICAgIGNhc2UgQ1BV
SW50cmluc2ljOgotICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgorICAgIGNhc2UgQ2hlY2tCYWRWYWx1
ZToKICAgICBjYXNlIFJldHVybjoKICAgICBjYXNlIFVucmVhY2hhYmxlOgogICAgIGNhc2UgQ2hl
Y2tUaWVyVXBJbkxvb3A6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKaW5k
ZXggZTFlZmZjMmE5YzRkYzdkYzk1MDk1NzgzYzgwMmRhNjgxNzQ5Y2RkOS4uZmQ3MGE2MjdjODYx
OTJlYWYzMmIwZDFkZWM4NTk2NWU4OTUxYmY5YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRG9lc0dDLmNwcApAQCAtMjA1LDcgKzIwNSw3IEBAIGJvb2wgZG9lc0dDKEdyYXBoJiBncmFw
aCwgTm9kZSogbm9kZSkKICAgICBjYXNlIEdldEVudW1lcmFibGVMZW5ndGg6CiAgICAgY2FzZSBG
aWF0SW50NTI6CiAgICAgY2FzZSBCb29sZWFuVG9OdW1iZXI6Ci0gICAgY2FzZSBDaGVja0JhZENl
bGw6CisgICAgY2FzZSBDaGVja0JhZFZhbHVlOgogICAgIGNhc2UgQm90dG9tVmFsdWU6CiAgICAg
Y2FzZSBQaGFudG9tTmV3T2JqZWN0OgogICAgIGNhc2UgUGhhbnRvbU5ld0Z1bmN0aW9uOgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5kZXggZjNkNmIxYmYw
YWZiZmMxMjkyZDczNTFiYmJjNjRhZGIzYzhiNzYwMS4uM2I0MzYyODQzNTJkMjdiY2ZiNDNmNWIz
NTg3NzQzMWQ3NGM2YWU1ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVw
UGhhc2UuY3BwCkBAIC0yNzMxLDcgKzI3MzEsNyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIFN1
cGVyU2FtcGxlckJlZ2luOgogICAgICAgICBjYXNlIFN1cGVyU2FtcGxlckVuZDoKICAgICAgICAg
Y2FzZSBGb3JjZU9TUkV4aXQ6Ci0gICAgICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgorICAgICAgICBj
YXNlIENoZWNrQmFkVmFsdWU6CiAgICAgICAgIGNhc2UgQ2hlY2tOb3RFbXB0eToKICAgICAgICAg
Y2FzZSBBc3NlcnROb3RFbXB0eToKICAgICAgICAgY2FzZSBDaGVja1RyYXBzOgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR05vZGUuaAppbmRleCA3OWFmODQ4NjQ0YjFmMGZiNDYyMjM2M2JiNmQ2YWU3
ZDVjN2Y1ZmUwLi5lZDg1Y2UwNGIyNTU5MDczNDgxNDllZTAyNmY2M2IzOGY1ZGZiYzkxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaApAQCAtMTU3NSw3ICsxNTc1LDcgQEAgcHVibGlj
OgogICAgIHsKICAgICAgICAgc3dpdGNoIChvcCgpKSB7CiAgICAgICAgIGNhc2UgRm9yY2VPU1JF
eGl0OgotICAgICAgICBjYXNlIENoZWNrQmFkQ2VsbDoKKyAgICAgICAgY2FzZSBDaGVja0JhZFZh
bHVlOgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR05vZGVUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgK
aW5kZXggMzM2YjAwN2Y5OGYwMjBmMjhkMGViYTU5MWM1NGI5NjM1MGQ2MmU4Yi4uMzYzOTM3YzVh
MGFkNWRhNTRmODhiMDc3YzliM2ZjNzRjNjIxNDAzYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTm9kZVR5cGUuaApAQCAtMjc2LDcgKzI3Niw3IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1l
c3BhY2UgREZHIHsKICAgICBtYWNybyhDaGVja0lzQ29uc3RhbnQsIE5vZGVNdXN0R2VuZXJhdGUp
IFwKICAgICBtYWNybyhDaGVja05vdEVtcHR5LCBOb2RlTXVzdEdlbmVyYXRlKSBcCiAgICAgbWFj
cm8oQXNzZXJ0Tm90RW1wdHksIE5vZGVNdXN0R2VuZXJhdGUpIFwKLSAgICBtYWNybyhDaGVja0Jh
ZENlbGwsIE5vZGVNdXN0R2VuZXJhdGUpIFwKKyAgICBtYWNybyhDaGVja0JhZFZhbHVlLCBOb2Rl
TXVzdEdlbmVyYXRlKSBcCiAgICAgbWFjcm8oQ2hlY2tJbkJvdW5kcywgTm9kZU11c3RHZW5lcmF0
ZSB8IE5vZGVSZXN1bHRKUykgXAogICAgIG1hY3JvKENoZWNrSWRlbnQsIE5vZGVNdXN0R2VuZXJh
dGUpIFwKICAgICBtYWNybyhDaGVja1R5cGVJbmZvRmxhZ3MsIE5vZGVNdXN0R2VuZXJhdGUpIC8q
IFRha2VzIGFuIE9wSW5mbyB3aXRoIHRoZSBmbGFncyB5b3Ugd2FudCB0byB0ZXN0IGFyZSBzZXQg
Ki9cCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Q
cm9wYWdhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGlj
dGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCmluZGV4IDUwNWQ2MTc2OGE1MDQ4MzYwY2QwNDU3MWQx
ODEzYTE0OGM4Y2M4ZTMuLjI1OGFiMzMwZDE0M2U0YzIzNDRhOGNmYzI4N2QzMDY0MzYwNWU0YmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3Bh
Z2F0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGlj
dGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCkBAIC0xNDA4LDcgKzE0MDgsNyBAQCBwcml2YXRlOgog
ICAgICAgICBjYXNlIENoZWNrTm90RW1wdHk6CiAgICAgICAgIGNhc2UgQXNzZXJ0Tm90RW1wdHk6
CiAgICAgICAgIGNhc2UgQ2hlY2tJZGVudDoKLSAgICAgICAgY2FzZSBDaGVja0JhZENlbGw6Cisg
ICAgICAgIGNhc2UgQ2hlY2tCYWRWYWx1ZToKICAgICAgICAgY2FzZSBQdXRTdHJ1Y3R1cmU6CiAg
ICAgICAgIGNhc2UgUGhhbnRvbToKICAgICAgICAgY2FzZSBDaGVjazoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXggYWNhMGExY2Q2ZTkwZmI1YmUx
NDYzMDY2YmFkNDcwNDczMmRkODhkNC4uN2ZmODY2NGIzOWJmOGRlNmVmNzBhYWM1MGE5YTQ3Zjhi
YTFiNGE1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9F
eGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRl
LmgKQEAgLTUzMCw3ICs1MzAsNyBAQCBib29sIHNhZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5
cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGJvb2wgaWdubwogICAgIGNhc2Ug
QXJyYXlpZnlUb1N0cnVjdHVyZToKICAgICBjYXNlIFB1dENsb3N1cmVWYXI6CiAgICAgY2FzZSBQ
dXRHbG9iYWxWYXJpYWJsZToKLSAgICBjYXNlIENoZWNrQmFkQ2VsbDoKKyAgICBjYXNlIENoZWNr
QmFkVmFsdWU6CiAgICAgY2FzZSBSZWdFeHBFeGVjOgogICAgIGNhc2UgUmVnRXhwRXhlY05vbkds
b2JhbE9yU3RpY2t5OgogICAgIGNhc2UgUmVnRXhwVGVzdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggODhhYmUwZTNiODYwMzNjNWFl
MzdlMjE0Mzg1ZTdhMDMzMWIyNzA0MS4uMDIxNzdlNWQxMDQ0OTJhOThmOTBiOTIwYjU0YTQxY2M4
ZTU4YjBiNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHAKQEAgLTk2NjMsMTcgKzk2NjMsMTcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZUNoZWNrSXNDb25zdGFudChOb2RlKiBub2RlKQogewogICAgIGlmIChub2RlLT5jaGlsZDEo
KS51c2VLaW5kKCkgPT0gQ2VsbFVzZSkgewogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBj
ZWxsKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRD
ZWxsLCBKU1ZhbHVlU291cmNlOjp1bmJveGVkQ2VsbChjZWxsLmdwcigpKSwgbm9kZS0+Y2hpbGQx
KCksIG1faml0LmJyYW5jaFdlYWtQdHIoSklUQ29tcGlsZXI6Ok5vdEVxdWFsLCBjZWxsLmdwcigp
LCBub2RlLT5jZWxsT3BlcmFuZCgpLT5jZWxsKCkpKTsKKyAgICAgICAgc3BlY3VsYXRpb25DaGVj
ayhCYWRWYWx1ZSwgSlNWYWx1ZVNvdXJjZTo6dW5ib3hlZENlbGwoY2VsbC5ncHIoKSksIG5vZGUt
PmNoaWxkMSgpLCBtX2ppdC5icmFuY2hXZWFrUHRyKEpJVENvbXBpbGVyOjpOb3RFcXVhbCwgY2Vs
bC5ncHIoKSwgbm9kZS0+Y2VsbE9wZXJhbmQoKS0+Y2VsbCgpKSk7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgQVNTRVJUKCFub2RlLT5jb25zdGFudCgpLT52YWx1ZSgpLmlzQ2VsbCgpIHx8ICFub2Rl
LT5jb25zdGFudCgpLT52YWx1ZSgpKTsKICAgICAgICAgSlNWYWx1ZU9wZXJhbmQgb3BlcmFuZCh0
aGlzLCBub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgIEpTVmFsdWVSZWdzIHJlZ3MgPSBvcGVyYW5k
LmpzVmFsdWVSZWdzKCk7CiAKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBzcGVjdWxhdGlv
bkNoZWNrKEJhZENhY2hlLCByZWdzLCBub2RlLT5jaGlsZDEoKSwgbV9qaXQuYnJhbmNoNjQoSklU
Q29tcGlsZXI6Ok5vdEVxdWFsLCByZWdzLmdwcigpLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5j
b2RlKG5vZGUtPmNvbnN0YW50KCktPnZhbHVlKCkpKSkpOworICAgICAgICBzcGVjdWxhdGlvbkNo
ZWNrKEJhZFZhbHVlLCByZWdzLCBub2RlLT5jaGlsZDEoKSwgbV9qaXQuYnJhbmNoNjQoSklUQ29t
cGlsZXI6Ok5vdEVxdWFsLCByZWdzLmdwcigpLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2Rl
KG5vZGUtPmNvbnN0YW50KCktPnZhbHVlKCkpKSkpOwogI2Vsc2UKLSAgICAgICAgc3BlY3VsYXRp
b25DaGVjayhCYWRDYWNoZSwgcmVncywgbm9kZS0+Y2hpbGQxKCksIG1faml0LmJyYW5jaDMyKEpJ
VENvbXBpbGVyOjpOb3RFcXVhbCwgcmVncy50YWdHUFIoKSwgVHJ1c3RlZEltbTMyKG5vZGUtPmNv
bnN0YW50KCktPnZhbHVlKCkudGFnKCkpKSk7Ci0gICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFk
Q2FjaGUsIHJlZ3MsIG5vZGUtPmNoaWxkMSgpLCBtX2ppdC5icmFuY2gzMihKSVRDb21waWxlcjo6
Tm90RXF1YWwsIHJlZ3MucGF5bG9hZEdQUigpLCBUcnVzdGVkSW1tMzIobm9kZS0+Y29uc3RhbnQo
KS0+dmFsdWUoKS5wYXlsb2FkKCkpKSk7CisgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkVmFs
dWUsIHJlZ3MsIG5vZGUtPmNoaWxkMSgpLCBtX2ppdC5icmFuY2gzMihKSVRDb21waWxlcjo6Tm90
RXF1YWwsIHJlZ3MudGFnR1BSKCksIFRydXN0ZWRJbW0zMihub2RlLT5jb25zdGFudCgpLT52YWx1
ZSgpLnRhZygpKSkpOworICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFZhbHVlLCByZWdzLCBu
b2RlLT5jaGlsZDEoKSwgbV9qaXQuYnJhbmNoMzIoSklUQ29tcGlsZXI6Ok5vdEVxdWFsLCByZWdz
LnBheWxvYWRHUFIoKSwgVHJ1c3RlZEltbTMyKG5vZGUtPmNvbnN0YW50KCktPnZhbHVlKCkucGF5
bG9hZCgpKSkpOwogI2VuZGlmCiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCA0YThhMzA0NjRhMzAwNGE3
M2VjZGYzOGUxM2JkYjQzN2JiN2U0YWIyLi4yZTMwMjY1NGE2N2ZlM2ZhZDI1MTdmZTgyODcwNWRk
Y2E0ZjhiMzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTQyMzksNyArNDIzOSw3IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIE11bHRpR2V0QnlPZmZzZXQ6CiAg
ICAgY2FzZSBNdWx0aVB1dEJ5T2Zmc2V0OgogICAgIGNhc2UgTXVsdGlEZWxldGVCeU9mZnNldDoK
LSAgICBjYXNlIENoZWNrQmFkQ2VsbDoKKyAgICBjYXNlIENoZWNrQmFkVmFsdWU6CiAgICAgY2Fz
ZSBCb3R0b21WYWx1ZToKICAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6CiAgICAgY2FzZSBQaGFu
dG9tTmV3RnVuY3Rpb246CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcAppbmRleCAzOWU1MDlmYWU5MDk0YjY2MTE0MjRmMmMxNWJmYmFkOTNk
YTBkMWQ2Li5mM2YzMTJlMWQyYzFlMGFkMDZmZjNjZjZlNjc4ZTc2NWI2MGNiN2IwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAg
LTU1NDQsNyArNTU0NCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9k
ZSkKICAgICBjYXNlIE11bHRpUHV0QnlPZmZzZXQ6CiAgICAgY2FzZSBNdWx0aURlbGV0ZUJ5T2Zm
c2V0OgogICAgIGNhc2UgRmlhdEludDUyOgotICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgorICAgIGNh
c2UgQ2hlY2tCYWRWYWx1ZToKICAgICBjYXNlIEJvdHRvbVZhbHVlOgogICAgIGNhc2UgUGhhbnRv
bU5ld09iamVjdDoKICAgICBjYXNlIFBoYW50b21OZXdGdW5jdGlvbjoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAppbmRleCBlYjA4MWNkMjIzZThkNjgx
MTcyMzE4MWI2MTdmNTU0NzljOGI0OGViLi44MTZjYmMzYjI3NGQwZWQyODQ5ZmRmZTM2MWFhM2U0
YzBjNDA0MDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFi
aWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRp
ZXMuY3BwCkBAIC0xNTksNyArMTU5LDcgQEAgaW5saW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21w
aWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBJbnZhbGlkYXRpb25Qb2ludDoKICAgICBjYXNlIFN0
cmluZ0NoYXJBdDoKICAgICBjYXNlIENoZWNrSXNDb25zdGFudDoKLSAgICBjYXNlIENoZWNrQmFk
Q2VsbDoKKyAgICBjYXNlIENoZWNrQmFkVmFsdWU6CiAgICAgY2FzZSBDaGVja05vdEVtcHR5Ogog
ICAgIGNhc2UgQXNzZXJ0Tm90RW1wdHk6CiAgICAgY2FzZSBDaGVja0lkZW50OgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCmluZGV4IDcwYzA5ZWE0NDBi
MmQ2MWNiOGZkNmI5NGVjOTFjNTBlYTQ1ZjVhNDkuLjFkYzgyZmI1YTQwMWE0M2IwNmFjZWU0Mjc5
YTFiZWRlMzNmMzQxZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9CMy5jcHAKQEAgLTkwOSw4ICs5MDksOCBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEFz
c2VydE5vdEVtcHR5OgogICAgICAgICAgICAgY29tcGlsZUFzc2VydE5vdEVtcHR5KCk7CiAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDaGVja0JhZENlbGw6Ci0gICAgICAgICAgICBj
b21waWxlQ2hlY2tCYWRDZWxsKCk7CisgICAgICAgIGNhc2UgQ2hlY2tCYWRWYWx1ZToKKyAgICAg
ICAgICAgIGNvbXBpbGVDaGVja0JhZFZhbHVlKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBDaGVja0lkZW50OgogICAgICAgICAgICAgY29tcGlsZUNoZWNrSWRlbnQoKTsKQEAg
LTM2NTAsMjEgKzM2NTAsMjEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIExWYWx1ZSBjZWxsID0g
bG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgCiAgICAgICAgICAgICBzcGVjdWxh
dGUoCi0gICAgICAgICAgICAgICAgQmFkQ2VsbCwganNWYWx1ZVZhbHVlKGNlbGwpLCBtX25vZGUt
PmNoaWxkMSgpLm5vZGUoKSwKKyAgICAgICAgICAgICAgICBCYWRWYWx1ZSwganNWYWx1ZVZhbHVl
KGNlbGwpLCBtX25vZGUtPmNoaWxkMSgpLm5vZGUoKSwKICAgICAgICAgICAgICAgICBtX291dC5u
b3RFcXVhbChjZWxsLCB3ZWFrUG9pbnRlcihtX25vZGUtPmNlbGxPcGVyYW5kKCktPmNlbGwoKSkp
KTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IGxvd0pTVmFs
dWUobV9ub2RlLT5jaGlsZDEoKSk7CiAKICAgICAgICAgICAgIEFTU0VSVCghbV9ub2RlLT5jb25z
dGFudCgpLT52YWx1ZSgpLmlzQ2VsbCgpIHx8ICFtX25vZGUtPmNvbnN0YW50KCktPnZhbHVlKCkp
OwogICAgICAgICAgICAgc3BlY3VsYXRlKAotICAgICAgICAgICAgICAgIEJhZFR5cGUsIGpzVmFs
dWVWYWx1ZSh2YWx1ZSksIG1fbm9kZS0+Y2hpbGQxKCkubm9kZSgpLAorICAgICAgICAgICAgICAg
IEJhZFZhbHVlLCBqc1ZhbHVlVmFsdWUodmFsdWUpLCBtX25vZGUtPmNoaWxkMSgpLm5vZGUoKSwK
ICAgICAgICAgICAgICAgICBtX291dC5ub3RFcXVhbCh2YWx1ZSwgbV9vdXQuY29uc3RJbnQ2NChK
U1ZhbHVlOjplbmNvZGUobV9ub2RlLT5jb25zdGFudCgpLT52YWx1ZSgpKSkpKTsKICAgICAgICAg
fQogICAgIH0KICAgICAKLSAgICB2b2lkIGNvbXBpbGVDaGVja0JhZENlbGwoKQorICAgIHZvaWQg
Y29tcGlsZUNoZWNrQmFkVmFsdWUoKQogICAgIHsKLSAgICAgICAgdGVybWluYXRlKEJhZENlbGwp
OworICAgICAgICB0ZXJtaW5hdGUoQmFkVmFsdWUpOwogICAgIH0KIAogICAgIHZvaWQgY29tcGls
ZUNoZWNrTm90RW1wdHkoKQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3Rz
L0NoYW5nZUxvZwppbmRleCA4MDlmODI5ODNlMDc1ZTUyMzAyYjA5MjUzM2U3NTFkYWNjMjM1N2Q0
Li4xYjE2Zjk5MzZiZDE4ZmFjYTVlNmI1YjNlNmIwYTU5ODExOWFlNzQ5IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDIwLTA2LTEyICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIENoZWNrSXNDb25zdGFudCBzaG91bGQgbm90IHVzZSBCYWRDYWNoZSBleGl0IGtpbmQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzE0MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNz
L2NoZWNrLWlzLWNvbnN0YW50LW5vbi1jZWxsLXNob3VsZC1ub3QtYXJyYXktcHJvZmlsZS1kdXJp
bmctb3NyLWV4aXQuanM6IEFkZGVkLgorICAgICAgICAoZm9vLmJhcik6CisKIDIwMjAtMDYtMTEg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBSZXR1
cm4gRGlzcG9zYWJsZUNhbGxTaXRlSW5kZXggd2hlbiBkZXN0cm95aW5nIEdDQXdhcmVKSVRTdHVi
Um91dGluZVdpdGhFeGNlcHRpb25IYW5kbGVyCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9j
aGVjay1pcy1jb25zdGFudC1ub24tY2VsbC1zaG91bGQtbm90LWFycmF5LXByb2ZpbGUtZHVyaW5n
LW9zci1leGl0LmpzIGIvSlNUZXN0cy9zdHJlc3MvY2hlY2staXMtY29uc3RhbnQtbm9uLWNlbGwt
c2hvdWxkLW5vdC1hcnJheS1wcm9maWxlLWR1cmluZy1vc3ItZXhpdC5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MzhlZjZhZDAwMjEwYzFmNWY4YjZjNmVmZjNjZTIwZWJlYzY0ZmM3Ci0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy9zdHJlc3MvY2hlY2staXMtY29uc3RhbnQtbm9uLWNlbGwtc2hvdWxkLW5vdC1h
cnJheS1wcm9maWxlLWR1cmluZy1vc3ItZXhpdC5qcwpAQCAtMCwwICsxLDE2IEBACitmdW5jdGlv
biBmb28oKSB7CisgIGZ1bmN0aW9uIGJhcihhMCkgeworICAgIHRyeSB7CisgICAgICBmb3IgKGxl
dCBxIG9mIGEwKSB7fQorICAgICAgcC5pc0Zyb3plbigpOworICAgIH0gY2F0Y2gge30KKyAgICBy
ZXR1cm4gYmFyOworICB9CisgIGxldCBwID0gbmV3IFByb3h5KFtdLCB7IGdldDogYmFyIH0pOwor
ICBiYXIocCk7Cit9CisKKworZm9yIChsZXQgaT0wOyBpPDEwMDsgaSsrKSB7CisgIGZvbygpOwor
fQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401776</attachid>
            <date>2020-06-12 13:58:38 -0700</date>
            <delta_ts>2020-06-12 17:35:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213141-20200612135837.patch</filename>
            <type>text/plain</type>
            <size>26113</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZjliZDgwOTRkMzliZWU3NmQyNDZhYmM0NzA4MDk4NWY5YTkwYzAxLi4wOGUzOGEwOTI0ZTI5NWVj
NGY4ZDI0MjhiOGRlYTRlMTA4OTkwYzc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MiBAQAorMjAyMC0wNi0xMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGVja0lzQ29uc3RhbnQgc2hvdWxkIG5vdCB1c2UgQmFkQ2FjaGUg
ZXhpdCBraW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTMxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGUgQmFkQ2FjaGUgZXhpdCBraW5kIGNhdXNlcyB0aGUgT1NSIGV4aXQgY29tcGlsZXJzIHRv
IHRyeSB0bworICAgICAgICB1cGRhdGUgQXJyYXlQcm9maWxlcy4gIFRoaXMgaXMganVzdCBpbmNv
cnJlY3QgZm9yIENoZWNrSXNDb25zdGFudAorICAgICAgICBzaW5jZSB0aGUgbm9kZSdzIG9yaWdp
biBtYXkgbm90IGV2ZW4gaGF2ZSBhbgorICAgICAgICBBcnJheVByb2ZpbGUuLi4gQmFkQ2FjaGUg
YWxzbyBzdHJvbmdseSBhc3N1bWVzIHRoZSB2YWx1ZSBpdCdzCisgICAgICAgIHByb2ZpbGluZyBp
cyBhIGNlbGwsIHdoaWNoIGlzIGNsZWFybHkgbm90IGFsd2F5cyB0aGUgY2FzZSBmb3IKKyAgICAg
ICAgQ2hlY2tJc0NvbnN0YW50LgorCisgICAgICAgIENoZWNrSXNDb25zdGFudCBub3cgdXNlcyB0
aGUgQmFkVmFsdWUgZXhpdCBraW5kIGZvciBhbGwgdXNlIGtpbmRzLAorICAgICAgICB3aGljaCBp
cyBqdXN0IGEgcmVuYW1lIG9mIEJhZENlbGwuICBBbGwgZXhpc3RpbmcgcGxhY2VzIHdoZXJlIHdl
CisgICAgICAgIGNhbiBlbWl0IGEgQ2hlY2tJc0NvbnN0YW50IGFscmVhZHkgaGF2ZSBhIHN0b3J5
IGZvciBCYWRWYWx1ZS4KKworICAgICAgICAqIGJ5dGVjb2RlL0NhbGxMaW5rU3RhdHVzLmNwcDoK
KyAgICAgICAgKEpTQzo6Q2FsbExpbmtTdGF0dXM6OmNvbXB1dGVGcm9tTExJbnQpOgorICAgICAg
ICAoSlNDOjpDYWxsTGlua1N0YXR1czo6Y29tcHV0ZUV4aXRTaXRlRGF0YSk6CisgICAgICAgICog
Ynl0ZWNvZGUvRXhpdEtpbmQuY3BwOgorICAgICAgICAoSlNDOjpleGl0S2luZFRvU3RyaW5nKToK
KyAgICAgICAgKiBieXRlY29kZS9FeGl0S2luZC5oOgorICAgICAgICAqIGRmZy9ERkdBYnN0cmFj
dEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0SW50ZXJw
cmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAgICAgICogZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNl
cjo6aGFuZGxlSW5saW5pbmcpOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpo
YW5kbGVJbnRyaW5zaWNDYWxsKToKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6
aGFuZGxlTW9kdWxlTmFtZXNwYWNlTG9hZCk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQ
YXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpo
YW5kbGVQdXRCeVZhbCk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRs
ZUNyZWF0ZUludGVybmFsRmllbGRPYmplY3QpOgorICAgICAgICAqIGRmZy9ERkdDbG9iYmVyaXpl
Lmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAgICAgICogZGZnL0RGR0Rv
ZXNHQy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6ZG9lc0dDKToKKyAgICAgICAgKiBkZmcvREZH
Rml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6Zml4dXBOb2Rl
KToKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Omlz
UHNldWRvVGVybWluYWwpOgorICAgICAgICAqIGRmZy9ERkdOb2RlVHlwZS5oOgorICAgICAgICAq
IGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHA6CisgICAgICAgICogZGZnL0RG
R1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpzYWZlVG9FeGVjdXRlKToKKyAg
ICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNw
ZWN1bGF0aXZlSklUOjpjb21waWxlQ2hlY2tJc0NvbnN0YW50KToKKyAgICAgICAgKiBkZmcvREZH
U3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZnRs
L0ZUTENhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGlsZSk6Cisg
ICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6REZH
OjpMb3dlckRGR1RvQjM6OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxv
d2VyREZHVG9CMzo6Y29tcGlsZUNoZWNrSXNDb25zdGFudCk6CisgICAgICAgIChKU0M6OkZUTDo6
REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVDaGVja0JhZFZhbHVlKToKKyAgICAgICAgKEpTQzo6
RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZUNoZWNrQmFkQ2VsbCk6IERlbGV0ZWQuCisK
IDIwMjAtMDYtMTEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbSlNDXSBSZXR1cm4gRGlzcG9zYWJsZUNhbGxTaXRlSW5kZXggd2hlbiBkZXN0cm95aW5nIEdD
QXdhcmVKSVRTdHViUm91dGluZVdpdGhFeGNlcHRpb25IYW5kbGVyCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxMaW5rU3RhdHVzLmNwcAppbmRleCBhM2QyZDY3ZjBk
MDRlOWRkYmJmODNmMzY4YzMyMzViNzkzYmYxZTE4Li4zYWE1MWU2NTRkOTg0NTdjMTVjNzgzYTM2
Y2ExMjkxYzRkMTY0OTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ2FsbExpbmtTdGF0dXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9DYWxsTGlua1N0YXR1cy5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgQ2FsbExpbmtTdGF0dXMgQ2Fs
bExpbmtTdGF0dXM6OmNvbXB1dGVGcm9tTExJbnQoY29uc3QgQ29uY3VycmVudEpTTG9ja2VyJiwg
Q29kZUIKICAgICBVTlVTRURfUEFSQU0ocHJvZmlsZWRCbG9jayk7CiAgICAgVU5VU0VEX1BBUkFN
KGJ5dGVjb2RlSW5kZXgpOwogI2lmIEVOQUJMRShERkdfSklUKQotICAgIGlmIChwcm9maWxlZEJs
b2NrLT51bmxpbmtlZENvZGVCbG9jaygpLT5oYXNFeGl0U2l0ZShERkc6OkZyZXF1ZW50RXhpdFNp
dGUoYnl0ZWNvZGVJbmRleCwgQmFkQ2VsbCkpKSB7CisgICAgaWYgKHByb2ZpbGVkQmxvY2stPnVu
bGlua2VkQ29kZUJsb2NrKCktPmhhc0V4aXRTaXRlKERGRzo6RnJlcXVlbnRFeGl0U2l0ZShieXRl
Y29kZUluZGV4LCBCYWRWYWx1ZSkpKSB7CiAgICAgICAgIC8vIFdlIGNvdWxkIGZvcmNlIHRoaXMg
dG8gYmUgYSBjbG9zdXJlIGNhbGwsIGJ1dCBpbnN0ZWFkIHdlJ2xsIGp1c3QgYXNzdW1lIHRoYXQg
aXQKICAgICAgICAgLy8gdGFrZXMgc2xvdyBwYXRoLgogICAgICAgICByZXR1cm4gdGFrZXNTbG93
UGF0aCgpOwpAQCAtMTM4LDcgKzEzOCw3IEBAIENhbGxMaW5rU3RhdHVzOjpFeGl0U2l0ZURhdGEg
Q2FsbExpbmtTdGF0dXM6OmNvbXB1dGVFeGl0U2l0ZURhdGEoQ29kZUJsb2NrKiBwcm9mCiAgICAg
fTsKICAgICAKICAgICBhdXRvIGJhZEZ1bmN0aW9uID0gWyZdIChFeGl0aW5nSW5saW5lS2luZCBp
bmxpbmVLaW5kKSAtPiBFeGl0RmxhZyB7Ci0gICAgICAgIHJldHVybiBFeGl0RmxhZyhjb2RlQmxv
Y2stPmhhc0V4aXRTaXRlKGxvY2tlciwgREZHOjpGcmVxdWVudEV4aXRTaXRlKGJ5dGVjb2RlSW5k
ZXgsIEJhZENlbGwsIEV4aXRGcm9tQW55dGhpbmcsIGlubGluZUtpbmQpKSwgaW5saW5lS2luZCk7
CisgICAgICAgIHJldHVybiBFeGl0RmxhZyhjb2RlQmxvY2stPmhhc0V4aXRTaXRlKGxvY2tlciwg
REZHOjpGcmVxdWVudEV4aXRTaXRlKGJ5dGVjb2RlSW5kZXgsIEJhZFZhbHVlLCBFeGl0RnJvbUFu
eXRoaW5nLCBpbmxpbmVLaW5kKSksIGlubGluZUtpbmQpOwogICAgIH07CiAgICAgCiAgICAgZXhp
dFNpdGVEYXRhLnRha2VzU2xvd1BhdGggfD0gdGFrZXNTbG93UGF0aChFeGl0RnJvbU5vdElubGlu
ZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V4aXRLaW5k
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FeGl0S2luZC5jcHAKaW5kZXgg
MjM0NjA1MmMwMTg2NzlmNWZjZjI0YjNkMGRlNWU5N2FkMGI1MzQ3MC4uOWU0YzkwNWQ3NDljN2U4
NDQ0MjRiNWNmOTE2ZGYxNWRkMWIyYTM2NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0V4aXRLaW5kLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvRXhpdEtpbmQuY3BwCkBAIC0zOCw4ICszOCw4IEBAIGNvbnN0IGNoYXIqIGV4aXRLaW5k
VG9TdHJpbmcoRXhpdEtpbmQga2luZCkKICAgICAgICAgcmV0dXJuICJVbnNldCI7CiAgICAgY2Fz
ZSBCYWRUeXBlOgogICAgICAgICByZXR1cm4gIkJhZFR5cGUiOwotICAgIGNhc2UgQmFkQ2VsbDoK
LSAgICAgICAgcmV0dXJuICJCYWRDZWxsIjsKKyAgICBjYXNlIEJhZFZhbHVlOgorICAgICAgICBy
ZXR1cm4gIkJhZFZhbHVlIjsKICAgICBjYXNlIEJhZElkZW50OgogICAgICAgICByZXR1cm4gIkJh
ZElkZW50IjsKICAgICBjYXNlIEJhZEV4ZWN1dGFibGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhpdEtpbmQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9FeGl0S2luZC5oCmluZGV4IDYxMWQ0N2FmNDU5ZjI5MmM0MTUwNmM3NmZjZmIzZDQx
ZWQ4MDQ0OTcuLjZkMzMzNTc5NGY3NzlhMjY4MDg4NGNlNmE4M2Y5ODMwZTFiNTBmNTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FeGl0S2luZC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FeGl0S2luZC5oCkBAIC0zMCw3ICszMCw3IEBA
IG5hbWVzcGFjZSBKU0MgewogZW51bSBFeGl0S2luZCA6IHVpbnQ4X3QgewogICAgIEV4aXRLaW5k
VW5zZXQsCiAgICAgQmFkVHlwZSwgLy8gV2UgZXhpdGVkIGJlY2F1c2UgYSB0eXBlIHByZWRpY3Rp
b24gd2FzIHdyb25nLgotICAgIEJhZENlbGwsIC8vIFdlIGV4aXRlZCBiZWNhdXNlIHdlIG1hZGUg
YW4gaW5jb3JyZWN0IGFzc3VtcHRpb24gYWJvdXQgd2hhdCBjZWxsIHdlIHdvdWxkIHNlZS4gVXN1
YWxseSB1c2VkIGZvciBmdW5jdGlvbiBjaGVja3MuCisgICAgQmFkVmFsdWUsIC8vIFdlIGV4aXRl
ZCBiZWNhdXNlIHdlIG1hZGUgYW4gaW5jb3JyZWN0IGFzc3VtcHRpb24gYWJvdXQgd2hhdCB2YWx1
ZSB3ZSB3b3VsZCBzZWUuIFVzdWFsbHkgdXNlZCBmb3IgZnVuY3Rpb24gY2hlY2tzLgogICAgIEJh
ZElkZW50LCAvLyBXZSBleGl0ZWQgYmVjYXVzZSB3ZSBtYWRlIGFuIGluY29ycmVjdCBhc3N1bXB0
aW9uIGFib3V0IHdoYXQgaWRlbnRpZmllciB3ZSB3b3VsZCBzZWUuIFVzdWFsbHkgdXNlZCBmb3Ig
Y2FjaGVkIElkIGNoZWNrIGluIGdldF9ieV92YWwuCiAgICAgQmFkRXhlY3V0YWJsZSwgLy8gV2Ug
ZXhpdGVkIGJlY2F1c2Ugd2UgbWFkZSBhbiBpbmNvcnJlY3QgYXNzdW1wdGlvbiBhYm91dCB3aGF0
IGV4ZWN1dGFibGUgd2Ugd291bGQgc2VlLgogICAgIEJhZENhY2hlLCAvLyBXZSBleGl0ZWQgYmVj
YXVzZSBhbiBpbmxpbmUgY2FjaGUgd2FzIHdyb25nLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IDcz
NjZjZjFjYmExNWJlM2IyNWRjNzA2YjA0YThmN2ZhZTM2NmQ4ZjIuLjk3MjlmYWZhZDk5M2U2MjU1
MjFkNzFkYTdmNTQ5YTc4OWY2NTlhYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKQEAgLTQyODAsNyAr
NDI4MCw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4
ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgICAgIGJyZWFrOwogCiAgICAg
Y2FzZSBGb3JjZU9TUkV4aXQ6Ci0gICAgY2FzZSBDaGVja0JhZENlbGw6CisgICAgY2FzZSBDaGVj
a0JhZFZhbHVlOgogICAgICAgICBtX3N0YXRlLnNldElzVmFsaWQoZmFsc2UpOwogICAgICAgICBi
cmVhazsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwCmluZGV4IDZiNWJmMTc4NjRjYzUzMDA4ZTMyYTZmYTg4M2VhNjJlZWZmZTUz
NmEuLmZmY2RiMjRlOTJhNmQ2MzM5ZDc2OGRjNjIzZTE4NDY5NDA0YTM1MjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC0yMjMxLDcg
KzIyMzEsNyBAQCBCeXRlQ29kZVBhcnNlcjo6Q2FsbE9wdGltaXphdGlvblJlc3VsdCBCeXRlQ29k
ZVBhcnNlcjo6aGFuZGxlSW5saW5pbmcoCiAgICAgICAgICAgICByZWdpc3Rlck9mZnNldCwgcHJl
ZGljdGlvbik7CiAgICAgICAgIFZFUkJPU0VfTE9HKCJXZSBhZGRlZCBhIGNhbGwgaW4gdGhlIHNs
b3cgcGF0aFxuIik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgYWRkVG9HcmFwaChDaGVja0JhZENl
bGwpOworICAgICAgICBhZGRUb0dyYXBoKENoZWNrQmFkVmFsdWUpOwogICAgICAgICBhZGRUb0dy
YXBoKFBoYW50b20sIG15Q2FsbFRhcmdldE5vZGUpOwogICAgICAgICBlbWl0QXJndW1lbnRQaGFu
dG9tcyhyZWdpc3Rlck9mZnNldCwgYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMpOwogICAgICAg
ICAKQEAgLTI3NDIsNyArMjc0Miw3IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUludHJp
bnNpY0NhbGwoTm9kZSogY2FsbGVlLCBPcGVyYW5kIHJlc3VsdCwgSW50cmluc2ljCiAgICAgICAg
ICAgICBpZiAoYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgPCAyKQogICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgICAgICAgICAgaWYgKG1faW5saW5lU3RhY2tUb3AtPm1fZXhp
dFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZENlbGwpIHx8IG1faW5saW5l
U3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZFR5
cGUpKQorICAgICAgICAgICAgaWYgKG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFz
RXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZFZhbHVlKSB8fCBtX2lubGluZVN0YWNrVG9wLT5t
X2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRUeXBlKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgICAgIGluc2VydENoZWNrcygpOwpA
QCAtMjg1NCw3ICsyODU0LDcgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlSW50cmluc2lj
Q2FsbChOb2RlKiBjYWxsZWUsIE9wZXJhbmQgcmVzdWx0LCBJbnRyaW5zaWMKIAogICAgICAgICAg
ICAgaWYgKGludHJpbnNpYyA9PSBSZWdFeHBUZXN0SW50cmluc2ljKSB7CiAgICAgICAgICAgICAg
ICAgLy8gRG9uJ3QgaW5saW5lIGludHJpbnNpYyBpZiB3ZSBleGl0ZWQgZHVlIHRvIG9uZSBvZiB0
aGUgcHJpbW9yZGlhbCBSZWdFeHAgY2hlY2tzIGZhaWxpbmcuCi0gICAgICAgICAgICAgICAgaWYg
KG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5k
ZXgsIEJhZENlbGwpKQorICAgICAgICAgICAgICAgIGlmIChtX2lubGluZVN0YWNrVG9wLT5tX2V4
aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRWYWx1ZSkpCiAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAgICAgICAgIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QgPSBtX2lubGluZVN0YWNrVG9wLT5tX2NvZGVCbG9jay0+Z2xvYmFs
T2JqZWN0KCk7CkBAIC0yOTc2LDcgKzI5NzYsNyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5k
bGVJbnRyaW5zaWNDYWxsKE5vZGUqIGNhbGxlZSwgT3BlcmFuZCByZXN1bHQsIEludHJpbnNpYwog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAgICAgLy8gRG9uJ3QgaW5s
aW5lIGludHJpbnNpYyBpZiB3ZSBleGl0ZWQgZHVlIHRvIG9uZSBvZiB0aGUgcHJpbW9yZGlhbCBS
ZWdFeHAgY2hlY2tzIGZhaWxpbmcuCi0gICAgICAgICAgICBpZiAobV9pbmxpbmVTdGFja1RvcC0+
bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ2VsbCkpCisgICAg
ICAgICAgICBpZiAobV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZSht
X2N1cnJlbnRJbmRleCwgQmFkVmFsdWUpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
IAogICAgICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG1faW5saW5lU3Rh
Y2tUb3AtPm1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3QoKTsKQEAgLTMyMTEsNyArMzIxMSw3IEBA
IGJvb2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUludHJpbnNpY0NhbGwoTm9kZSogY2FsbGVlLCBP
cGVyYW5kIHJlc3VsdCwgSW50cmluc2ljCiAgICAgICAgIGNhc2UgSlNNYXBWYWx1ZXNJbnRyaW5z
aWM6CiAgICAgICAgIGNhc2UgSlNTZXRFbnRyaWVzSW50cmluc2ljOgogICAgICAgICBjYXNlIEpT
U2V0VmFsdWVzSW50cmluc2ljOiB7Ci0gICAgICAgICAgICBpZiAobV9pbmxpbmVTdGFja1RvcC0+
bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ2VsbCkgfHwgbV9p
bmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwg
QmFkVHlwZSkpCisgICAgICAgICAgICBpZiAobV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmls
ZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkVmFsdWUpIHx8IG1faW5saW5lU3RhY2tU
b3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZFR5cGUpKQog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAgICAgaW5zZXJ0Q2hlY2tz
KCk7CkBAIC0zOTIxLDcgKzM5MjEsNyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVET01K
SVRHZXR0ZXIoT3BlcmFuZCByZXN1bHQsIGNvbnN0IEdldEJ5SWRWYXJpYW50JiB2YQogCiBib29s
IEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVNb2R1bGVOYW1lc3BhY2VMb2FkKFZpcnR1YWxSZWdpc3Rl
ciByZXN1bHQsIFNwZWN1bGF0ZWRUeXBlIHByZWRpY3Rpb24sIE5vZGUqIGJhc2UsIEdldEJ5U3Rh
dHVzIGdldEJ5SWQpCiB7Ci0gICAgaWYgKG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUu
aGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZENlbGwpKQorICAgIGlmIChtX2lubGluZVN0
YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRWYWx1
ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBhZGRUb0dyYXBoKENoZWNrSXNDb25zdGFu
dCwgT3BJbmZvKG1fZ3JhcGguZnJlZXplKGdldEJ5SWQubW9kdWxlTmFtZXNwYWNlT2JqZWN0KCkp
KSwgRWRnZShiYXNlLCBDZWxsVXNlKSk7CiAKQEAgLTUxOTcsNyArNTE5Nyw3IEBAIHZvaWQgQnl0
ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICAgICAg
SlNDZWxsKiBjYWNoZWRGdW5jdGlvbiA9IGJ5dGVjb2RlLm1ldGFkYXRhKGNvZGVCbG9jaykubV9j
YWNoZWRDYWxsZWUudW52YWxpZGF0ZWRHZXQoKTsKICAgICAgICAgICAgICAgICBpZiAoY2FjaGVk
RnVuY3Rpb24KICAgICAgICAgICAgICAgICAgICAgJiYgY2FjaGVkRnVuY3Rpb24gIT0gSlNDZWxs
OjpzZWVuTXVsdGlwbGVDYWxsZWVPYmplY3RzKCkKLSAgICAgICAgICAgICAgICAgICAgJiYgIW1f
aW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgs
IEJhZENlbGwpKSB7CisgICAgICAgICAgICAgICAgICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5t
X2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRWYWx1ZSkpIHsKICAg
ICAgICAgICAgICAgICAgICAgQVNTRVJUKGNhY2hlZEZ1bmN0aW9uLT5pbmhlcml0czxKU0Z1bmN0
aW9uPigqbV92bSkpOwogCiAgICAgICAgICAgICAgICAgICAgIEZyb3plblZhbHVlKiBmcm96ZW4g
PSBtX2dyYXBoLmZyZWV6ZShjYWNoZWRGdW5jdGlvbik7CkBAIC01MjU3LDcgKzUyNTcsNyBAQCB2
b2lkIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAg
ICAgICAgICAgICBKU0NlbGwqIGNhY2hlZEZ1bmN0aW9uID0gYnl0ZWNvZGUubWV0YWRhdGEoY29k
ZUJsb2NrKS5tX2NhY2hlZENhbGxlZS51bnZhbGlkYXRlZEdldCgpOwogICAgICAgICAgICAgICAg
ICAgICBpZiAoY2FjaGVkRnVuY3Rpb24KICAgICAgICAgICAgICAgICAgICAgICAgICYmIGNhY2hl
ZEZ1bmN0aW9uICE9IEpTQ2VsbDo6c2Vlbk11bHRpcGxlQ2FsbGVlT2JqZWN0cygpCi0gICAgICAg
ICAgICAgICAgICAgICAgICAmJiAhbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNF
eGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ2VsbCkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVu
dEluZGV4LCBCYWRWYWx1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgICYmIGNhY2hlZEZ1bmN0
aW9uID09IChieXRlY29kZS5tX2lzSW50ZXJuYWxQcm9taXNlID8gZ2xvYmFsT2JqZWN0LT5pbnRl
cm5hbFByb21pc2VDb25zdHJ1Y3RvcigpIDogZ2xvYmFsT2JqZWN0LT5wcm9taXNlQ29uc3RydWN0
b3IoKSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIEZyb3plblZhbHVlKiBmcm96ZW4gPSBt
X2dyYXBoLmZyZWV6ZShjYWNoZWRGdW5jdGlvbik7CiAgICAgICAgICAgICAgICAgICAgICAgICBh
ZGRUb0dyYXBoKENoZWNrSXNDb25zdGFudCwgT3BJbmZvKGZyb3plbiksIGNhbGxlZSk7CkBAIC01
MjgwLDcgKzUyODAsNyBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVk
IGxpbWl0KQogICAgICAgICAgICAgICAgICAgICBKU0NlbGwqIGNhY2hlZEZ1bmN0aW9uID0gYnl0
ZWNvZGUubWV0YWRhdGEoY29kZUJsb2NrKS5tX2NhY2hlZENhbGxlZS51bnZhbGlkYXRlZEdldCgp
OwogICAgICAgICAgICAgICAgICAgICBpZiAoY2FjaGVkRnVuY3Rpb24KICAgICAgICAgICAgICAg
ICAgICAgICAgICYmIGNhY2hlZEZ1bmN0aW9uICE9IEpTQ2VsbDo6c2Vlbk11bHRpcGxlQ2FsbGVl
T2JqZWN0cygpCi0gICAgICAgICAgICAgICAgICAgICAgICAmJiAhbV9pbmxpbmVTdGFja1RvcC0+
bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ2VsbCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxl
Lmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRWYWx1ZSkpIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIEFTU0VSVChjYWNoZWRGdW5jdGlvbi0+aW5oZXJpdHM8SlNGdW5jdGlvbj4oKm1f
dm0pKTsKIAogICAgICAgICAgICAgICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1f
Z3JhcGguZnJlZXplKGNhY2hlZEZ1bmN0aW9uKTsKQEAgLTU5NjUsNyArNTk2NSw3IEBAIHZvaWQg
Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICBD
YWNoZWFibGVJZGVudGlmaWVyIGlkZW50aWZpZXI7CiAgICAgICAgICAgICBpZiAoIW1faW5saW5l
U3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZElk
ZW50KQogICAgICAgICAgICAgICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxl
Lmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRUeXBlKQotICAgICAgICAgICAgICAgICYm
ICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudElu
ZGV4LCBCYWRDZWxsKSkgeworICAgICAgICAgICAgICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5t
X2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRWYWx1ZSkpIHsKIAog
ICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBJbiB0aGUgZnV0dXJlLCB3ZSBzaG91bGQgYmUgYWJs
ZSB0byBkbyBzb21ldGhpbmcgbGlrZSBNdWx0aUdldEJ5T2Zmc2V0IGluIGEgbXVsdGkgaWRlbnRp
ZmllciBtb2RlLgogICAgICAgICAgICAgICAgIC8vIFRoYXQgd2F5LCB3ZSBjb3VsZCBib3RoIHN3
aXRjaCBvbiBtdWx0aXBsZSBzdHJ1Y3R1cmVzIGFuZCBtdWx0aXBsZSBpZGVudGlmaWVycyAob3Ig
aW50IDMyIHByb3BlcnRpZXMpLgpAQCAtNjE4Myw3ICs2MTgzLDcgQEAgdm9pZCBCeXRlQ29kZVBh
cnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKIAogICAgICAgICAgICAgaWYgKCFtX2lu
bGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBC
YWRJZGVudCkKICAgICAgICAgICAgICAgICAmJiAhbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJv
ZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkVHlwZSkKLSAgICAgICAgICAgICAg
ICAmJiAhbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJl
bnRJbmRleCwgQmFkQ2VsbCkpIHsKKyAgICAgICAgICAgICAgICAmJiAhbV9pbmxpbmVTdGFja1Rv
cC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkVmFsdWUpKSB7
CiAKICAgICAgICAgICAgICAgICBpZiAoQ2FjaGVhYmxlSWRlbnRpZmllciBpZGVudGlmaWVyID0g
ZGVsZXRlQnlTdGF0dXMuc2luZ2xlSWRlbnRpZmllcigpKSB7CiAgICAgICAgICAgICAgICAgICAg
IFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBpZGVudGlmaWVyLnVpZCgpOwpAQCAtODIyNiw3ICs4
MjI2LDcgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlUHV0QnlWYWwoQnl0ZWNvZGUgYnl0
ZWNvZGUsIEJ5dGVjb2RlSW5kZXggb3NyRXhpdEluZGUKICAgICAgICAgICAgICAgICAmJiAhYnlW
YWxJbmZvLT50b29rU2xvd1BhdGgKICAgICAgICAgICAgICAgICAmJiAhbV9pbmxpbmVTdGFja1Rv
cC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkSWRlbnQpCiAg
ICAgICAgICAgICAgICAgJiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhp
dFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZFR5cGUpCi0gICAgICAgICAgICAgICAgJiYgIW1faW5s
aW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJh
ZENlbGwpKSB7CisgICAgICAgICAgICAgICAgJiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFBy
b2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZFZhbHVlKSkgewogICAgICAgICAg
ICAgICAgIGNvbXBpbGVkQXNQdXRCeUlkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBpZGVudGlm
aWVyID0gYnlWYWxJbmZvLT5jYWNoZWRJZDsKICAgICAgICAgICAgICAgICBpZGVudGlmaWVyTnVt
YmVyID0gbV9ncmFwaC5pZGVudGlmaWVycygpLmVuc3VyZShpZGVudGlmaWVyLnVpZCgpKTsKQEAg
LTgzMzAsNyArODMzMCw3IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUNyZWF0ZUludGVy
bmFsRmllbGRPYmplY3QoY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sCiAgICAgICAgIEpTQ2Vs
bCogY2FjaGVkRnVuY3Rpb24gPSBieXRlY29kZS5tZXRhZGF0YShjb2RlQmxvY2spLm1fY2FjaGVk
Q2FsbGVlLnVudmFsaWRhdGVkR2V0KCk7CiAgICAgICAgIGlmIChjYWNoZWRGdW5jdGlvbgogICAg
ICAgICAgICAgJiYgY2FjaGVkRnVuY3Rpb24gIT0gSlNDZWxsOjpzZWVuTXVsdGlwbGVDYWxsZWVP
YmplY3RzKCkKLSAgICAgICAgICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxl
Lmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDZWxsKSkgeworICAgICAgICAgICAgJiYg
IW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5k
ZXgsIEJhZFZhbHVlKSkgewogICAgICAgICAgICAgQVNTRVJUKGNhY2hlZEZ1bmN0aW9uLT5pbmhl
cml0czxKU0Z1bmN0aW9uPigqbV92bSkpOwogCiAgICAgICAgICAgICBGcm96ZW5WYWx1ZSogZnJv
emVuID0gbV9ncmFwaC5mcmVlemUoY2FjaGVkRnVuY3Rpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Nsb2JiZXJpemUuaAppbmRleCAxN2ZjNTk5MWY4NzZkZTQ1YzhiNWFkYjg3MGMx
N2Y4YjI2MjBlMTZmLi5jMTM4YzMzYmQ4NzM1YzQ2NzZmMzIyOWNlYjc4ODFlMTc4ZWIxYWQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaApAQCAtNDg3LDcgKzQ4
Nyw3IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJl
YWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgY2FzZSBFbnRyeVN3aXRjaDoKICAg
ICBjYXNlIEZvcmNlT1NSRXhpdDoKICAgICBjYXNlIENQVUludHJpbnNpYzoKLSAgICBjYXNlIENo
ZWNrQmFkQ2VsbDoKKyAgICBjYXNlIENoZWNrQmFkVmFsdWU6CiAgICAgY2FzZSBSZXR1cm46CiAg
ICAgY2FzZSBVbnJlYWNoYWJsZToKICAgICBjYXNlIENoZWNrVGllclVwSW5Mb29wOgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCmluZGV4IGUxZWZmYzJhOWM0ZGM3ZGM5NTA5
NTc4M2M4MDJkYTY4MTc0OWNkZDkuLmZkNzBhNjI3Yzg2MTkyZWFmMzJiMGQxZGVjODU5NjVlODk1
MWJmOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKQEAgLTIwNSw3
ICsyMDUsNyBAQCBib29sIGRvZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2Fz
ZSBHZXRFbnVtZXJhYmxlTGVuZ3RoOgogICAgIGNhc2UgRmlhdEludDUyOgogICAgIGNhc2UgQm9v
bGVhblRvTnVtYmVyOgotICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgorICAgIGNhc2UgQ2hlY2tCYWRW
YWx1ZToKICAgICBjYXNlIEJvdHRvbVZhbHVlOgogICAgIGNhc2UgUGhhbnRvbU5ld09iamVjdDoK
ICAgICBjYXNlIFBoYW50b21OZXdGdW5jdGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0ZpeHVwUGhhc2UuY3BwCmluZGV4IGYzZDZiMWJmMGFmYmZjMTI5MmQ3MzUxYmJiYzY0YWRi
M2M4Yjc2MDEuLjNiNDM2Mjg0MzUyZDI3YmNmYjQzZjViMzU4Nzc0MzFkNzRjNmFlNWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcApAQCAtMjczMSw3ICsy
NzMxLDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBTdXBlclNhbXBsZXJCZWdpbjoKICAgICAg
ICAgY2FzZSBTdXBlclNhbXBsZXJFbmQ6CiAgICAgICAgIGNhc2UgRm9yY2VPU1JFeGl0OgotICAg
ICAgICBjYXNlIENoZWNrQmFkQ2VsbDoKKyAgICAgICAgY2FzZSBDaGVja0JhZFZhbHVlOgogICAg
ICAgICBjYXNlIENoZWNrTm90RW1wdHk6CiAgICAgICAgIGNhc2UgQXNzZXJ0Tm90RW1wdHk6CiAg
ICAgICAgIGNhc2UgQ2hlY2tUcmFwczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHTm9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKaW5k
ZXggNzlhZjg0ODY0NGIxZjBmYjQ2MjIzNjNiYjZkNmFlN2Q1YzdmNWZlMC4uZWQ4NWNlMDRiMjU1
OTA3MzQ4MTQ5ZWUwMjZmNjNiMzhmNWRmYmM5MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdOb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdO
b2RlLmgKQEAgLTE1NzUsNyArMTU3NSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHN3aXRj
aCAob3AoKSkgewogICAgICAgICBjYXNlIEZvcmNlT1NSRXhpdDoKLSAgICAgICAgY2FzZSBDaGVj
a0JhZENlbGw6CisgICAgICAgIGNhc2UgQ2hlY2tCYWRWYWx1ZToKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCmluZGV4IDMzNmIwMDdmOThmMDIwZjI4
ZDBlYmE1OTFjNTRiOTYzNTBkNjJlOGIuLjM2MzkzN2M1YTBhZDVkYTU0Zjg4YjA3N2M5YjNmYzc0
YzYyMTQwM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5
cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTI3
Niw3ICsyNzYsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8o
Q2hlY2tJc0NvbnN0YW50LCBOb2RlTXVzdEdlbmVyYXRlKSBcCiAgICAgbWFjcm8oQ2hlY2tOb3RF
bXB0eSwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKEFzc2VydE5vdEVtcHR5LCBOb2Rl
TXVzdEdlbmVyYXRlKSBcCi0gICAgbWFjcm8oQ2hlY2tCYWRDZWxsLCBOb2RlTXVzdEdlbmVyYXRl
KSBcCisgICAgbWFjcm8oQ2hlY2tCYWRWYWx1ZSwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1h
Y3JvKENoZWNrSW5Cb3VuZHMsIE5vZGVNdXN0R2VuZXJhdGUgfCBOb2RlUmVzdWx0SlMpIFwKICAg
ICBtYWNybyhDaGVja0lkZW50LCBOb2RlTXVzdEdlbmVyYXRlKSBcCiAgICAgbWFjcm8oQ2hlY2tU
eXBlSW5mb0ZsYWdzLCBOb2RlTXVzdEdlbmVyYXRlKSAvKiBUYWtlcyBhbiBPcEluZm8gd2l0aCB0
aGUgZmxhZ3MgeW91IHdhbnQgdG8gdGVzdCBhcmUgc2V0ICovXApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNw
cAppbmRleCA1MDVkNjE3NjhhNTA0ODM2MGNkMDQ1NzFkMTgxM2ExNDhjOGNjOGUzLi4yNThhYjMz
MGQxNDNlNGMyMzQ0YThjZmMyODdkMzA2NDM2MDVlNGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNw
cApAQCAtMTQwOCw3ICsxNDA4LDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBDaGVja05vdEVt
cHR5OgogICAgICAgICBjYXNlIEFzc2VydE5vdEVtcHR5OgogICAgICAgICBjYXNlIENoZWNrSWRl
bnQ6Ci0gICAgICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgorICAgICAgICBjYXNlIENoZWNrQmFkVmFs
dWU6CiAgICAgICAgIGNhc2UgUHV0U3RydWN0dXJlOgogICAgICAgICBjYXNlIFBoYW50b206CiAg
ICAgICAgIGNhc2UgQ2hlY2s6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NhZmVUb0V4ZWN1dGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRv
RXhlY3V0ZS5oCmluZGV4IGFjYTBhMWNkNmU5MGZiNWJlMTQ2MzA2NmJhZDQ3MDQ3MzJkZDg4ZDQu
LjdmZjg2NjRiMzliZjhkZTZlZjcwYWFjNTBhOWE0N2Y4YmExYjRhNWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCkBAIC01MzAsNyArNTMwLDcgQEAg
Ym9vbCBzYWZlVG9FeGVjdXRlKEFic3RyYWN0U3RhdGVUeXBlJiBzdGF0ZSwgR3JhcGgmIGdyYXBo
LCBOb2RlKiBub2RlLCBib29sIGlnbm8KICAgICBjYXNlIEFycmF5aWZ5VG9TdHJ1Y3R1cmU6CiAg
ICAgY2FzZSBQdXRDbG9zdXJlVmFyOgogICAgIGNhc2UgUHV0R2xvYmFsVmFyaWFibGU6Ci0gICAg
Y2FzZSBDaGVja0JhZENlbGw6CisgICAgY2FzZSBDaGVja0JhZFZhbHVlOgogICAgIGNhc2UgUmVn
RXhwRXhlYzoKICAgICBjYXNlIFJlZ0V4cEV4ZWNOb25HbG9iYWxPclN0aWNreToKICAgICBjYXNl
IFJlZ0V4cFRlc3Q6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuY3BwCmluZGV4IDg4YWJlMGUzYjg2MDMzYzVhZTM3ZTIxNDM4NWU3YTAzMzFiMjcwNDEu
LjAyMTc3ZTVkMTA0NDkyYTk4ZjkwYjkyMGI1NGE0MWNjOGU1OGIwYjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCkBAIC05NjYzLDE3ICs5
NjYzLDE3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVDaGVja0lzQ29uc3RhbnQoTm9k
ZSogbm9kZSkKIHsKICAgICBpZiAobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IENlbGxVc2Up
IHsKICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgY2VsbCh0aGlzLCBub2RlLT5jaGlsZDEo
KSk7Ci0gICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkQ2VsbCwgSlNWYWx1ZVNvdXJjZTo6dW5i
b3hlZENlbGwoY2VsbC5ncHIoKSksIG5vZGUtPmNoaWxkMSgpLCBtX2ppdC5icmFuY2hXZWFrUHRy
KEpJVENvbXBpbGVyOjpOb3RFcXVhbCwgY2VsbC5ncHIoKSwgbm9kZS0+Y2VsbE9wZXJhbmQoKS0+
Y2VsbCgpKSk7CisgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkVmFsdWUsIEpTVmFsdWVTb3Vy
Y2U6OnVuYm94ZWRDZWxsKGNlbGwuZ3ByKCkpLCBub2RlLT5jaGlsZDEoKSwgbV9qaXQuYnJhbmNo
V2Vha1B0cihKSVRDb21waWxlcjo6Tm90RXF1YWwsIGNlbGwuZ3ByKCksIG5vZGUtPmNlbGxPcGVy
YW5kKCktPmNlbGwoKSkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEFTU0VSVCghbm9kZS0+Y29u
c3RhbnQoKS0+dmFsdWUoKS5pc0NlbGwoKSB8fCAhbm9kZS0+Y29uc3RhbnQoKS0+dmFsdWUoKSk7
CiAgICAgICAgIEpTVmFsdWVPcGVyYW5kIG9wZXJhbmQodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwog
ICAgICAgICBKU1ZhbHVlUmVncyByZWdzID0gb3BlcmFuZC5qc1ZhbHVlUmVncygpOwogCiAjaWYg
VVNFKEpTVkFMVUU2NCkKLSAgICAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRDYWNoZSwgcmVncywg
bm9kZS0+Y2hpbGQxKCksIG1faml0LmJyYW5jaDY0KEpJVENvbXBpbGVyOjpOb3RFcXVhbCwgcmVn
cy5ncHIoKSwgVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShub2RlLT5jb25zdGFudCgpLT52
YWx1ZSgpKSkpKTsKKyAgICAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRWYWx1ZSwgcmVncywgbm9k
ZS0+Y2hpbGQxKCksIG1faml0LmJyYW5jaDY0KEpJVENvbXBpbGVyOjpOb3RFcXVhbCwgcmVncy5n
cHIoKSwgVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShub2RlLT5jb25zdGFudCgpLT52YWx1
ZSgpKSkpKTsKICNlbHNlCi0gICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkQ2FjaGUsIHJlZ3Ms
IG5vZGUtPmNoaWxkMSgpLCBtX2ppdC5icmFuY2gzMihKSVRDb21waWxlcjo6Tm90RXF1YWwsIHJl
Z3MudGFnR1BSKCksIFRydXN0ZWRJbW0zMihub2RlLT5jb25zdGFudCgpLT52YWx1ZSgpLnRhZygp
KSkpOwotICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZENhY2hlLCByZWdzLCBub2RlLT5jaGls
ZDEoKSwgbV9qaXQuYnJhbmNoMzIoSklUQ29tcGlsZXI6Ok5vdEVxdWFsLCByZWdzLnBheWxvYWRH
UFIoKSwgVHJ1c3RlZEltbTMyKG5vZGUtPmNvbnN0YW50KCktPnZhbHVlKCkucGF5bG9hZCgpKSkp
OworICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFZhbHVlLCByZWdzLCBub2RlLT5jaGlsZDEo
KSwgbV9qaXQuYnJhbmNoMzIoSklUQ29tcGlsZXI6Ok5vdEVxdWFsLCByZWdzLnRhZ0dQUigpLCBU
cnVzdGVkSW1tMzIobm9kZS0+Y29uc3RhbnQoKS0+dmFsdWUoKS50YWcoKSkpKTsKKyAgICAgICAg
c3BlY3VsYXRpb25DaGVjayhCYWRWYWx1ZSwgcmVncywgbm9kZS0+Y2hpbGQxKCksIG1faml0LmJy
YW5jaDMyKEpJVENvbXBpbGVyOjpOb3RFcXVhbCwgcmVncy5wYXlsb2FkR1BSKCksIFRydXN0ZWRJ
bW0zMihub2RlLT5jb25zdGFudCgpLT52YWx1ZSgpLnBheWxvYWQoKSkpKTsKICNlbmRpZgogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQzMl82NC5jcHAKaW5kZXggNGE4YTMwNDY0YTMwMDRhNzNlY2RmMzhlMTNiZGI0MzdiYjdlNGFi
Mi4uMmUzMDI2NTRhNjdmZTNmYWQyNTE3ZmU4Mjg3MDVkZGNhNGY4YjMwNiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBA
IC00MjM5LDcgKzQyMzksNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5v
ZGUpCiAgICAgY2FzZSBNdWx0aUdldEJ5T2Zmc2V0OgogICAgIGNhc2UgTXVsdGlQdXRCeU9mZnNl
dDoKICAgICBjYXNlIE11bHRpRGVsZXRlQnlPZmZzZXQ6Ci0gICAgY2FzZSBDaGVja0JhZENlbGw6
CisgICAgY2FzZSBDaGVja0JhZFZhbHVlOgogICAgIGNhc2UgQm90dG9tVmFsdWU6CiAgICAgY2Fz
ZSBQaGFudG9tTmV3T2JqZWN0OgogICAgIGNhc2UgUGhhbnRvbU5ld0Z1bmN0aW9uOgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXgg
MzllNTA5ZmFlOTA5NGI2NjExNDI0ZjJjMTViZmJhZDkzZGEwZDFkNi4uZjNmMzEyZTFkMmMxZTBh
ZDA2ZmYzY2Y2ZTY3OGU3NjViNjBjYjdiMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC01NTQ0LDcgKzU1NDQsNyBAQCB2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBNdWx0aVB1dEJ5
T2Zmc2V0OgogICAgIGNhc2UgTXVsdGlEZWxldGVCeU9mZnNldDoKICAgICBjYXNlIEZpYXRJbnQ1
MjoKLSAgICBjYXNlIENoZWNrQmFkQ2VsbDoKKyAgICBjYXNlIENoZWNrQmFkVmFsdWU6CiAgICAg
Y2FzZSBCb3R0b21WYWx1ZToKICAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6CiAgICAgY2FzZSBQ
aGFudG9tTmV3RnVuY3Rpb246CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTENhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFi
aWxpdGllcy5jcHAKaW5kZXggZWIwODFjZDIyM2U4ZDY4MTE3MjMxODFiNjE3ZjU1NDc5YzhiNDhl
Yi4uODE2Y2JjM2IyNzRkMGVkMjg0OWZkZmUzNjFhYTNlNGMwYzQwNDAzMiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcApAQCAtMTU5LDcgKzE1OSw3
IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGlsZShOb2RlKiBub2RlKQogICAgIGNh
c2UgSW52YWxpZGF0aW9uUG9pbnQ6CiAgICAgY2FzZSBTdHJpbmdDaGFyQXQ6CiAgICAgY2FzZSBD
aGVja0lzQ29uc3RhbnQ6Ci0gICAgY2FzZSBDaGVja0JhZENlbGw6CisgICAgY2FzZSBDaGVja0Jh
ZFZhbHVlOgogICAgIGNhc2UgQ2hlY2tOb3RFbXB0eToKICAgICBjYXNlIEFzc2VydE5vdEVtcHR5
OgogICAgIGNhc2UgQ2hlY2tJZGVudDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG93ZXJERkdUb0IzLmNwcAppbmRleCA3MGMwOWVhNDQwYjJkNjFjYjhmZDZiOTRlYzkxYzUwZWE0
NWY1YTQ5Li4xZGM4MmZiNWE0MDFhNDNiMDZhY2VlNDI3OWExYmVkZTMzZjM0MWYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCkBAIC05MDksOCAr
OTA5LDggQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBBc3NlcnROb3RFbXB0eToKICAgICAgICAg
ICAgIGNvbXBpbGVBc3NlcnROb3RFbXB0eSgpOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgQ2hlY2tCYWRDZWxsOgotICAgICAgICAgICAgY29tcGlsZUNoZWNrQmFkQ2VsbCgpOwor
ICAgICAgICBjYXNlIENoZWNrQmFkVmFsdWU6CisgICAgICAgICAgICBjb21waWxlQ2hlY2tCYWRW
YWx1ZSgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ2hlY2tJZGVudDoKICAg
ICAgICAgICAgIGNvbXBpbGVDaGVja0lkZW50KCk7CkBAIC0zNjUwLDIxICszNjUwLDIxIEBAIHBy
aXZhdGU6CiAgICAgICAgICAgICBMVmFsdWUgY2VsbCA9IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEo
KSk7CiAgICAgICAgIAogICAgICAgICAgICAgc3BlY3VsYXRlKAotICAgICAgICAgICAgICAgIEJh
ZENlbGwsIGpzVmFsdWVWYWx1ZShjZWxsKSwgbV9ub2RlLT5jaGlsZDEoKS5ub2RlKCksCisgICAg
ICAgICAgICAgICAgQmFkVmFsdWUsIGpzVmFsdWVWYWx1ZShjZWxsKSwgbV9ub2RlLT5jaGlsZDEo
KS5ub2RlKCksCiAgICAgICAgICAgICAgICAgbV9vdXQubm90RXF1YWwoY2VsbCwgd2Vha1BvaW50
ZXIobV9ub2RlLT5jZWxsT3BlcmFuZCgpLT5jZWxsKCkpKSk7CiAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICBMVmFsdWUgdmFsdWUgPSBsb3dKU1ZhbHVlKG1fbm9kZS0+Y2hpbGQxKCkpOwog
CiAgICAgICAgICAgICBBU1NFUlQoIW1fbm9kZS0+Y29uc3RhbnQoKS0+dmFsdWUoKS5pc0NlbGwo
KSB8fCAhbV9ub2RlLT5jb25zdGFudCgpLT52YWx1ZSgpKTsKICAgICAgICAgICAgIHNwZWN1bGF0
ZSgKLSAgICAgICAgICAgICAgICBCYWRUeXBlLCBqc1ZhbHVlVmFsdWUodmFsdWUpLCBtX25vZGUt
PmNoaWxkMSgpLm5vZGUoKSwKKyAgICAgICAgICAgICAgICBCYWRWYWx1ZSwganNWYWx1ZVZhbHVl
KHZhbHVlKSwgbV9ub2RlLT5jaGlsZDEoKS5ub2RlKCksCiAgICAgICAgICAgICAgICAgbV9vdXQu
bm90RXF1YWwodmFsdWUsIG1fb3V0LmNvbnN0SW50NjQoSlNWYWx1ZTo6ZW5jb2RlKG1fbm9kZS0+
Y29uc3RhbnQoKS0+dmFsdWUoKSkpKSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCi0gICAgdm9p
ZCBjb21waWxlQ2hlY2tCYWRDZWxsKCkKKyAgICB2b2lkIGNvbXBpbGVDaGVja0JhZFZhbHVlKCkK
ICAgICB7Ci0gICAgICAgIHRlcm1pbmF0ZShCYWRDZWxsKTsKKyAgICAgICAgdGVybWluYXRlKEJh
ZFZhbHVlKTsKICAgICB9CiAKICAgICB2b2lkIGNvbXBpbGVDaGVja05vdEVtcHR5KCkKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODA5Zjgy
OTgzZTA3NWU1MjMwMmIwOTI1MzNlNzUxZGFjYzIzNTdkNC4uMWIxNmY5OTM2YmQxOGZhY2E1ZTZi
NWIzZTZiMGE1OTgxMTlhZTc0OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
SlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wNi0xMiAgS2VpdGggTWls
bGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGVja0lzQ29uc3RhbnQg
c2hvdWxkIG5vdCB1c2UgQmFkQ2FjaGUgZXhpdCBraW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTMxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9jaGVjay1pcy1jb25zdGFudC1ub24t
Y2VsbC1zaG91bGQtbm90LWFycmF5LXByb2ZpbGUtZHVyaW5nLW9zci1leGl0LmpzOiBBZGRlZC4K
KyAgICAgICAgKGZvby5iYXIpOgorCiAyMDIwLTA2LTExICBZdXN1a2UgU3V6dWtpICA8eXN1enVr
aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gUmV0dXJuIERpc3Bvc2FibGVDYWxsU2l0ZUlu
ZGV4IHdoZW4gZGVzdHJveWluZyBHQ0F3YXJlSklUU3R1YlJvdXRpbmVXaXRoRXhjZXB0aW9uSGFu
ZGxlcgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvY2hlY2staXMtY29uc3RhbnQtbm9uLWNl
bGwtc2hvdWxkLW5vdC1hcnJheS1wcm9maWxlLWR1cmluZy1vc3ItZXhpdC5qcyBiL0pTVGVzdHMv
c3RyZXNzL2NoZWNrLWlzLWNvbnN0YW50LW5vbi1jZWxsLXNob3VsZC1ub3QtYXJyYXktcHJvZmls
ZS1kdXJpbmctb3NyLWV4aXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM4ZWY2YWQwMDIxMGMxZjVmOGI2YzZl
ZmYzY2UyMGViZWM2NGZjNwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2NoZWNr
LWlzLWNvbnN0YW50LW5vbi1jZWxsLXNob3VsZC1ub3QtYXJyYXktcHJvZmlsZS1kdXJpbmctb3Ny
LWV4aXQuanMKQEAgLTAsMCArMSwxNiBAQAorZnVuY3Rpb24gZm9vKCkgeworICBmdW5jdGlvbiBi
YXIoYTApIHsKKyAgICB0cnkgeworICAgICAgZm9yIChsZXQgcSBvZiBhMCkge30KKyAgICAgIHAu
aXNGcm96ZW4oKTsKKyAgICB9IGNhdGNoIHt9CisgICAgcmV0dXJuIGJhcjsKKyAgfQorICBsZXQg
cCA9IG5ldyBQcm94eShbXSwgeyBnZXQ6IGJhciB9KTsKKyAgYmFyKHApOworfQorCisKK2ZvciAo
bGV0IGk9MDsgaTwxMDA7IGkrKykgeworICBmb28oKTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401811</attachid>
            <date>2020-06-12 17:35:16 -0700</date>
            <delta_ts>2020-06-12 17:36:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213141-20200612173515.patch</filename>
            <type>text/plain</type>
            <size>26378</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZjliZDgwOTRkMzliZWU3NmQyNDZhYmM0NzA4MDk4NWY5YTkwYzAxLi5lYzE1NGNmZDMxMTYwN2Jl
ZmRiOGExZmMxNmE0NjIzOThkMTE4YWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MyBAQAorMjAyMC0wNi0xMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGVja0lzQ29uc3RhbnQgc2hvdWxkIG5vdCB1c2UgQmFkQ2FjaGUg
ZXhpdCBraW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTMxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGUgQmFkQ2FjaGUgZXhpdCBraW5kIGNhdXNlcyB0aGUgT1NSIGV4aXQgY29tcGlsZXJzIHRv
IHRyeSB0bworICAgICAgICB1cGRhdGUgQXJyYXlQcm9maWxlcy4gIFRoaXMgaXMganVzdCBpbmNv
cnJlY3QgZm9yIENoZWNrSXNDb25zdGFudAorICAgICAgICBzaW5jZSB0aGUgbm9kZSdzIG9yaWdp
biBtYXkgbm90IGV2ZW4gaGF2ZSBhbgorICAgICAgICBBcnJheVByb2ZpbGUuLi4gQmFkQ2FjaGUg
YWxzbyBzdHJvbmdseSBhc3N1bWVzIHRoZSB2YWx1ZSBpdCdzCisgICAgICAgIHByb2ZpbGluZyBp
cyBhIGNlbGwsIHdoaWNoIGlzIGNsZWFybHkgbm90IGFsd2F5cyB0aGUgY2FzZSBmb3IKKyAgICAg
ICAgQ2hlY2tJc0NvbnN0YW50LgorCisgICAgICAgIENoZWNrSXNDb25zdGFudCBub3cgdXNlcyB0
aGUgQmFkQ29uc3RhbnRWYWx1ZSAoQmFkVmFsdWUgY29uZmxpY3RzCisgICAgICAgIHdpdGggbWFj
cm9zIGV4cG9ydGVkIGJ5IFgxMSBvbiBHVEspIGV4aXQga2luZCBmb3IgYWxsIHVzZSBraW5kcywK
KyAgICAgICAgd2hpY2ggaXMganVzdCBhIHJlbmFtZSBvZiBCYWRDZWxsLiAgQWxsIGV4aXN0aW5n
IHBsYWNlcyB3aGVyZSB3ZQorICAgICAgICBjYW4gZW1pdCBhIENoZWNrSXNDb25zdGFudCBhbHJl
YWR5IGhhdmUgYSBzdG9yeSBmb3IgQmFkVmFsdWUuCisKKyAgICAgICAgKiBieXRlY29kZS9DYWxs
TGlua1N0YXR1cy5jcHA6CisgICAgICAgIChKU0M6OkNhbGxMaW5rU3RhdHVzOjpjb21wdXRlRnJv
bUxMSW50KToKKyAgICAgICAgKEpTQzo6Q2FsbExpbmtTdGF0dXM6OmNvbXB1dGVFeGl0U2l0ZURh
dGEpOgorICAgICAgICAqIGJ5dGVjb2RlL0V4aXRLaW5kLmNwcDoKKyAgICAgICAgKEpTQzo6ZXhp
dEtpbmRUb1N0cmluZyk6CisgICAgICAgICogYnl0ZWNvZGUvRXhpdEtpbmQuaDoKKyAgICAgICAg
KiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZH
OjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMp
OgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUlubGluaW5nKToKKyAgICAgICAgKEpTQzo6REZHOjpC
eXRlQ29kZVBhcnNlcjo6aGFuZGxlSW50cmluc2ljQ2FsbCk6CisgICAgICAgIChKU0M6OkRGRzo6
Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZU1vZHVsZU5hbWVzcGFjZUxvYWQpOgorICAgICAgICAoSlND
OjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKEpTQzo6REZHOjpC
eXRlQ29kZVBhcnNlcjo6aGFuZGxlUHV0QnlWYWwpOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVD
b2RlUGFyc2VyOjpoYW5kbGVDcmVhdGVJbnRlcm5hbEZpZWxkT2JqZWN0KToKKyAgICAgICAgKiBk
ZmcvREZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmNsb2JiZXJpemUpOgorICAg
ICAgICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmRvZXNHQyk6Cisg
ICAgICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVw
UGhhc2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR05vZGUuaDoKKyAgICAgICAgKEpT
Qzo6REZHOjpOb2RlOjppc1BzZXVkb1Rlcm1pbmFsKToKKyAgICAgICAgKiBkZmcvREZHTm9kZVR5
cGUuaDoKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwOgor
ICAgICAgICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6c2Fm
ZVRvRXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUNoZWNrSXNDb25zdGFudCk6Cisg
ICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpE
Rkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRp
dmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUp
OgorICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6
OmNhbkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMuY3BwOgorICAgICAg
ICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTm9kZSk6CisgICAgICAgIChK
U0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVDaGVja0lzQ29uc3RhbnQpOgorICAg
ICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlQ2hlY2tCYWRWYWx1ZSk6
CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVDaGVja0JhZENl
bGwpOiBEZWxldGVkLgorCiAyMDIwLTA2LTExICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0pTQ10gUmV0dXJuIERpc3Bvc2FibGVDYWxsU2l0ZUluZGV4IHdo
ZW4gZGVzdHJveWluZyBHQ0F3YXJlSklUU3R1YlJvdXRpbmVXaXRoRXhjZXB0aW9uSGFuZGxlcgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxMaW5rU3RhdHVz
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua1N0YXR1cy5jcHAK
aW5kZXggYTNkMmQ2N2YwZDA0ZTlkZGJiZjgzZjM2OGMzMjM1Yjc5M2JmMWUxOC4uOTdhNTU5ZjBi
YTMzMGM0MWZlNmVlNDI5ZTlkNGUxNzAzNjZjY2I4MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxMaW5rU3RhdHVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuY3BwCkBAIC01Nyw3ICs1Nyw3IEBAIENh
bGxMaW5rU3RhdHVzIENhbGxMaW5rU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KGNvbnN0IENvbmN1
cnJlbnRKU0xvY2tlciYsIENvZGVCCiAgICAgVU5VU0VEX1BBUkFNKHByb2ZpbGVkQmxvY2spOwog
ICAgIFVOVVNFRF9QQVJBTShieXRlY29kZUluZGV4KTsKICNpZiBFTkFCTEUoREZHX0pJVCkKLSAg
ICBpZiAocHJvZmlsZWRCbG9jay0+dW5saW5rZWRDb2RlQmxvY2soKS0+aGFzRXhpdFNpdGUoREZH
OjpGcmVxdWVudEV4aXRTaXRlKGJ5dGVjb2RlSW5kZXgsIEJhZENlbGwpKSkgeworICAgIGlmIChw
cm9maWxlZEJsb2NrLT51bmxpbmtlZENvZGVCbG9jaygpLT5oYXNFeGl0U2l0ZShERkc6OkZyZXF1
ZW50RXhpdFNpdGUoYnl0ZWNvZGVJbmRleCwgQmFkQ29uc3RhbnRWYWx1ZSkpKSB7CiAgICAgICAg
IC8vIFdlIGNvdWxkIGZvcmNlIHRoaXMgdG8gYmUgYSBjbG9zdXJlIGNhbGwsIGJ1dCBpbnN0ZWFk
IHdlJ2xsIGp1c3QgYXNzdW1lIHRoYXQgaXQKICAgICAgICAgLy8gdGFrZXMgc2xvdyBwYXRoLgog
ICAgICAgICByZXR1cm4gdGFrZXNTbG93UGF0aCgpOwpAQCAtMTM4LDcgKzEzOCw3IEBAIENhbGxM
aW5rU3RhdHVzOjpFeGl0U2l0ZURhdGEgQ2FsbExpbmtTdGF0dXM6OmNvbXB1dGVFeGl0U2l0ZURh
dGEoQ29kZUJsb2NrKiBwcm9mCiAgICAgfTsKICAgICAKICAgICBhdXRvIGJhZEZ1bmN0aW9uID0g
WyZdIChFeGl0aW5nSW5saW5lS2luZCBpbmxpbmVLaW5kKSAtPiBFeGl0RmxhZyB7Ci0gICAgICAg
IHJldHVybiBFeGl0RmxhZyhjb2RlQmxvY2stPmhhc0V4aXRTaXRlKGxvY2tlciwgREZHOjpGcmVx
dWVudEV4aXRTaXRlKGJ5dGVjb2RlSW5kZXgsIEJhZENlbGwsIEV4aXRGcm9tQW55dGhpbmcsIGlu
bGluZUtpbmQpKSwgaW5saW5lS2luZCk7CisgICAgICAgIHJldHVybiBFeGl0RmxhZyhjb2RlQmxv
Y2stPmhhc0V4aXRTaXRlKGxvY2tlciwgREZHOjpGcmVxdWVudEV4aXRTaXRlKGJ5dGVjb2RlSW5k
ZXgsIEJhZENvbnN0YW50VmFsdWUsIEV4aXRGcm9tQW55dGhpbmcsIGlubGluZUtpbmQpKSwgaW5s
aW5lS2luZCk7CiAgICAgfTsKICAgICAKICAgICBleGl0U2l0ZURhdGEudGFrZXNTbG93UGF0aCB8
PSB0YWtlc1Nsb3dQYXRoKEV4aXRGcm9tTm90SW5saW5lZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhpdEtpbmQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0V4aXRLaW5kLmNwcAppbmRleCAyMzQ2MDUyYzAxODY3OWY1ZmNmMjRiM2Qw
ZGU1ZTk3YWQwYjUzNDcwLi43MTMxMzg1ZjZmMWRkNWM3NWU4MDhjNDcwOTRmNTY0MjI1NGI0MDRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhpdEtpbmQuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FeGl0S2luZC5jcHAKQEAgLTM4
LDggKzM4LDggQEAgY29uc3QgY2hhciogZXhpdEtpbmRUb1N0cmluZyhFeGl0S2luZCBraW5kKQog
ICAgICAgICByZXR1cm4gIlVuc2V0IjsKICAgICBjYXNlIEJhZFR5cGU6CiAgICAgICAgIHJldHVy
biAiQmFkVHlwZSI7Ci0gICAgY2FzZSBCYWRDZWxsOgotICAgICAgICByZXR1cm4gIkJhZENlbGwi
OworICAgIGNhc2UgQmFkQ29uc3RhbnRWYWx1ZToKKyAgICAgICAgcmV0dXJuICJCYWRDb25zdGFu
dFZhbHVlIjsKICAgICBjYXNlIEJhZElkZW50OgogICAgICAgICByZXR1cm4gIkJhZElkZW50IjsK
ICAgICBjYXNlIEJhZEV4ZWN1dGFibGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvRXhpdEtpbmQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9F
eGl0S2luZC5oCmluZGV4IDYxMWQ0N2FmNDU5ZjI5MmM0MTUwNmM3NmZjZmIzZDQxZWQ4MDQ0OTcu
LjRmMWQ0MjM5ZTI5MGRkZjc0ZDZmZGIxZjY3MTRiYzhmYTdhMWZlNGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FeGl0S2luZC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9FeGl0S2luZC5oCkBAIC0zMCw3ICszMCw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogZW51bSBFeGl0S2luZCA6IHVpbnQ4X3QgewogICAgIEV4aXRLaW5kVW5zZXQsCiAg
ICAgQmFkVHlwZSwgLy8gV2UgZXhpdGVkIGJlY2F1c2UgYSB0eXBlIHByZWRpY3Rpb24gd2FzIHdy
b25nLgotICAgIEJhZENlbGwsIC8vIFdlIGV4aXRlZCBiZWNhdXNlIHdlIG1hZGUgYW4gaW5jb3Jy
ZWN0IGFzc3VtcHRpb24gYWJvdXQgd2hhdCBjZWxsIHdlIHdvdWxkIHNlZS4gVXN1YWxseSB1c2Vk
IGZvciBmdW5jdGlvbiBjaGVja3MuCisgICAgQmFkQ29uc3RhbnRWYWx1ZSwgLy8gV2UgZXhpdGVk
IGJlY2F1c2Ugd2UgbWFkZSBhbiBpbmNvcnJlY3QgYXNzdW1wdGlvbiBhYm91dCB3aGF0IHZhbHVl
IHdlIHdvdWxkIHNlZS4gVXN1YWxseSB1c2VkIGZvciBmdW5jdGlvbiBjaGVja3MuCiAgICAgQmFk
SWRlbnQsIC8vIFdlIGV4aXRlZCBiZWNhdXNlIHdlIG1hZGUgYW4gaW5jb3JyZWN0IGFzc3VtcHRp
b24gYWJvdXQgd2hhdCBpZGVudGlmaWVyIHdlIHdvdWxkIHNlZS4gVXN1YWxseSB1c2VkIGZvciBj
YWNoZWQgSWQgY2hlY2sgaW4gZ2V0X2J5X3ZhbC4KICAgICBCYWRFeGVjdXRhYmxlLCAvLyBXZSBl
eGl0ZWQgYmVjYXVzZSB3ZSBtYWRlIGFuIGluY29ycmVjdCBhc3N1bXB0aW9uIGFib3V0IHdoYXQg
ZXhlY3V0YWJsZSB3ZSB3b3VsZCBzZWUuCiAgICAgQmFkQ2FjaGUsIC8vIFdlIGV4aXRlZCBiZWNh
dXNlIGFuIGlubGluZSBjYWNoZSB3YXMgd3JvbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggNzM2
NmNmMWNiYTE1YmUzYjI1ZGM3MDZiMDRhOGY3ZmFlMzY2ZDhmMi4uOTcyOWZhZmFkOTkzZTYyNTUy
MWQ3MWRhN2Y1NDlhNzg5ZjY1OWFjMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtNDI4MCw3ICs0
MjgwLDcgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhl
Y3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAgYnJlYWs7CiAKICAgICBj
YXNlIEZvcmNlT1NSRXhpdDoKLSAgICBjYXNlIENoZWNrQmFkQ2VsbDoKKyAgICBjYXNlIENoZWNr
QmFkVmFsdWU6CiAgICAgICAgIG1fc3RhdGUuc2V0SXNWYWxpZChmYWxzZSk7CiAgICAgICAgIGJy
ZWFrOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Qnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29k
ZVBhcnNlci5jcHAKaW5kZXggNmI1YmYxNzg2NGNjNTMwMDhlMzJhNmZhODgzZWE2MmVlZmZlNTM2
YS4uOWFjNDc2OWI0MzVmNmVmNTExNzE1ODQ3OWFkZjkzMWEwZDFkYWJhMSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTIyMzEsNyAr
MjIzMSw3IEBAIEJ5dGVDb2RlUGFyc2VyOjpDYWxsT3B0aW1pemF0aW9uUmVzdWx0IEJ5dGVDb2Rl
UGFyc2VyOjpoYW5kbGVJbmxpbmluZygKICAgICAgICAgICAgIHJlZ2lzdGVyT2Zmc2V0LCBwcmVk
aWN0aW9uKTsKICAgICAgICAgVkVSQk9TRV9MT0coIldlIGFkZGVkIGEgY2FsbCBpbiB0aGUgc2xv
dyBwYXRoXG4iKTsKICAgICB9IGVsc2UgewotICAgICAgICBhZGRUb0dyYXBoKENoZWNrQmFkQ2Vs
bCk7CisgICAgICAgIGFkZFRvR3JhcGgoQ2hlY2tCYWRWYWx1ZSk7CiAgICAgICAgIGFkZFRvR3Jh
cGgoUGhhbnRvbSwgbXlDYWxsVGFyZ2V0Tm9kZSk7CiAgICAgICAgIGVtaXRBcmd1bWVudFBoYW50
b21zKHJlZ2lzdGVyT2Zmc2V0LCBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyk7CiAgICAgICAg
IApAQCAtMjc0Miw3ICsyNzQyLDcgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlSW50cmlu
c2ljQ2FsbChOb2RlKiBjYWxsZWUsIE9wZXJhbmQgcmVzdWx0LCBJbnRyaW5zaWMKICAgICAgICAg
ICAgIGlmIChhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyA8IDIpCiAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgICAgICAgICBpZiAobV9pbmxpbmVTdGFja1RvcC0+bV9leGl0
UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ2VsbCkgfHwgbV9pbmxpbmVT
dGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkVHlw
ZSkpCisgICAgICAgICAgICBpZiAobV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNF
eGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ29uc3RhbnRWYWx1ZSkgfHwgbV9pbmxpbmVTdGFj
a1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkVHlwZSkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgICAgICBpbnNlcnRDaGVj
a3MoKTsKQEAgLTI4NTQsNyArMjg1NCw3IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUlu
dHJpbnNpY0NhbGwoTm9kZSogY2FsbGVlLCBPcGVyYW5kIHJlc3VsdCwgSW50cmluc2ljCiAKICAg
ICAgICAgICAgIGlmIChpbnRyaW5zaWMgPT0gUmVnRXhwVGVzdEludHJpbnNpYykgewogICAgICAg
ICAgICAgICAgIC8vIERvbid0IGlubGluZSBpbnRyaW5zaWMgaWYgd2UgZXhpdGVkIGR1ZSB0byBv
bmUgb2YgdGhlIHByaW1vcmRpYWwgUmVnRXhwIGNoZWNrcyBmYWlsaW5nLgotICAgICAgICAgICAg
ICAgIGlmIChtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3Vy
cmVudEluZGV4LCBCYWRDZWxsKSkKKyAgICAgICAgICAgICAgICBpZiAobV9pbmxpbmVTdGFja1Rv
cC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ29uc3RhbnRW
YWx1ZSkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAgICAg
ICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2lubGluZVN0YWNrVG9wLT5tX2Nv
ZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCk7CkBAIC0yOTc2LDcgKzI5NzYsNyBAQCBib29sIEJ5dGVD
b2RlUGFyc2VyOjpoYW5kbGVJbnRyaW5zaWNDYWxsKE5vZGUqIGNhbGxlZSwgT3BlcmFuZCByZXN1
bHQsIEludHJpbnNpYwogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAg
ICAgLy8gRG9uJ3QgaW5saW5lIGludHJpbnNpYyBpZiB3ZSBleGl0ZWQgZHVlIHRvIG9uZSBvZiB0
aGUgcHJpbW9yZGlhbCBSZWdFeHAgY2hlY2tzIGZhaWxpbmcuCi0gICAgICAgICAgICBpZiAobV9p
bmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwg
QmFkQ2VsbCkpCisgICAgICAgICAgICBpZiAobV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmls
ZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ29uc3RhbnRWYWx1ZSkpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0ID0gbV9pbmxpbmVTdGFja1RvcC0+bV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdCgp
OwpAQCAtMzIxMSw3ICszMjExLDcgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlSW50cmlu
c2ljQ2FsbChOb2RlKiBjYWxsZWUsIE9wZXJhbmQgcmVzdWx0LCBJbnRyaW5zaWMKICAgICAgICAg
Y2FzZSBKU01hcFZhbHVlc0ludHJpbnNpYzoKICAgICAgICAgY2FzZSBKU1NldEVudHJpZXNJbnRy
aW5zaWM6CiAgICAgICAgIGNhc2UgSlNTZXRWYWx1ZXNJbnRyaW5zaWM6IHsKLSAgICAgICAgICAg
IGlmIChtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVu
dEluZGV4LCBCYWRDZWxsKSB8fCBtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4
aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRUeXBlKSkKKyAgICAgICAgICAgIGlmIChtX2lubGlu
ZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRD
b25zdGFudFZhbHVlKSB8fCBtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRT
aXRlKG1fY3VycmVudEluZGV4LCBCYWRUeXBlKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAKICAgICAgICAgICAgIGluc2VydENoZWNrcygpOwpAQCAtMzkyMSw3ICszOTIxLDcgQEAg
Ym9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlRE9NSklUR2V0dGVyKE9wZXJhbmQgcmVzdWx0LCBj
b25zdCBHZXRCeUlkVmFyaWFudCYgdmEKIAogYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlTW9k
dWxlTmFtZXNwYWNlTG9hZChWaXJ0dWFsUmVnaXN0ZXIgcmVzdWx0LCBTcGVjdWxhdGVkVHlwZSBw
cmVkaWN0aW9uLCBOb2RlKiBiYXNlLCBHZXRCeVN0YXR1cyBnZXRCeUlkKQogewotICAgIGlmICht
X2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4
LCBCYWRDZWxsKSkKKyAgICBpZiAobV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNF
eGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ29uc3RhbnRWYWx1ZSkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICBhZGRUb0dyYXBoKENoZWNrSXNDb25zdGFudCwgT3BJbmZvKG1fZ3JhcGgu
ZnJlZXplKGdldEJ5SWQubW9kdWxlTmFtZXNwYWNlT2JqZWN0KCkpKSwgRWRnZShiYXNlLCBDZWxs
VXNlKSk7CiAKQEAgLTUxOTcsNyArNTE5Nyw3IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OnBhcnNl
QmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICAgICAgSlNDZWxsKiBjYWNoZWRGdW5j
dGlvbiA9IGJ5dGVjb2RlLm1ldGFkYXRhKGNvZGVCbG9jaykubV9jYWNoZWRDYWxsZWUudW52YWxp
ZGF0ZWRHZXQoKTsKICAgICAgICAgICAgICAgICBpZiAoY2FjaGVkRnVuY3Rpb24KICAgICAgICAg
ICAgICAgICAgICAgJiYgY2FjaGVkRnVuY3Rpb24gIT0gSlNDZWxsOjpzZWVuTXVsdGlwbGVDYWxs
ZWVPYmplY3RzKCkKLSAgICAgICAgICAgICAgICAgICAgJiYgIW1faW5saW5lU3RhY2tUb3AtPm1f
ZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZENlbGwpKSB7CisgICAg
ICAgICAgICAgICAgICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4
aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDb25zdGFudFZhbHVlKSkgewogICAgICAgICAgICAg
ICAgICAgICBBU1NFUlQoY2FjaGVkRnVuY3Rpb24tPmluaGVyaXRzPEpTRnVuY3Rpb24+KCptX3Zt
KSk7CiAKICAgICAgICAgICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGgu
ZnJlZXplKGNhY2hlZEZ1bmN0aW9uKTsKQEAgLTUyNTcsNyArNTI1Nyw3IEBAIHZvaWQgQnl0ZUNv
ZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICAgICAgICAg
IEpTQ2VsbCogY2FjaGVkRnVuY3Rpb24gPSBieXRlY29kZS5tZXRhZGF0YShjb2RlQmxvY2spLm1f
Y2FjaGVkQ2FsbGVlLnVudmFsaWRhdGVkR2V0KCk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChj
YWNoZWRGdW5jdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgJiYgY2FjaGVkRnVuY3Rpb24g
IT0gSlNDZWxsOjpzZWVuTXVsdGlwbGVDYWxsZWVPYmplY3RzKCkKLSAgICAgICAgICAgICAgICAg
ICAgICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1f
Y3VycmVudEluZGV4LCBCYWRDZWxsKQorICAgICAgICAgICAgICAgICAgICAgICAgJiYgIW1faW5s
aW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJh
ZENvbnN0YW50VmFsdWUpCiAgICAgICAgICAgICAgICAgICAgICAgICAmJiBjYWNoZWRGdW5jdGlv
biA9PSAoYnl0ZWNvZGUubV9pc0ludGVybmFsUHJvbWlzZSA/IGdsb2JhbE9iamVjdC0+aW50ZXJu
YWxQcm9taXNlQ29uc3RydWN0b3IoKSA6IGdsb2JhbE9iamVjdC0+cHJvbWlzZUNvbnN0cnVjdG9y
KCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBGcm96ZW5WYWx1ZSogZnJvemVuID0gbV9n
cmFwaC5mcmVlemUoY2FjaGVkRnVuY3Rpb24pOwogICAgICAgICAgICAgICAgICAgICAgICAgYWRk
VG9HcmFwaChDaGVja0lzQ29uc3RhbnQsIE9wSW5mbyhmcm96ZW4pLCBjYWxsZWUpOwpAQCAtNTI4
MCw3ICs1MjgwLDcgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBs
aW1pdCkKICAgICAgICAgICAgICAgICAgICAgSlNDZWxsKiBjYWNoZWRGdW5jdGlvbiA9IGJ5dGVj
b2RlLm1ldGFkYXRhKGNvZGVCbG9jaykubV9jYWNoZWRDYWxsZWUudW52YWxpZGF0ZWRHZXQoKTsK
ICAgICAgICAgICAgICAgICAgICAgaWYgKGNhY2hlZEZ1bmN0aW9uCiAgICAgICAgICAgICAgICAg
ICAgICAgICAmJiBjYWNoZWRGdW5jdGlvbiAhPSBKU0NlbGw6OnNlZW5NdWx0aXBsZUNhbGxlZU9i
amVjdHMoKQotICAgICAgICAgICAgICAgICAgICAgICAgJiYgIW1faW5saW5lU3RhY2tUb3AtPm1f
ZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZENlbGwpKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAmJiAhbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5o
YXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ29uc3RhbnRWYWx1ZSkpIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgIEFTU0VSVChjYWNoZWRGdW5jdGlvbi0+aW5oZXJpdHM8SlNGdW5jdGlv
bj4oKm1fdm0pKTsKIAogICAgICAgICAgICAgICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3pl
biA9IG1fZ3JhcGguZnJlZXplKGNhY2hlZEZ1bmN0aW9uKTsKQEAgLTU5NjUsNyArNTk2NSw3IEBA
IHZvaWQgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAg
ICAgICBDYWNoZWFibGVJZGVudGlmaWVyIGlkZW50aWZpZXI7CiAgICAgICAgICAgICBpZiAoIW1f
aW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgs
IEJhZElkZW50KQogICAgICAgICAgICAgICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQ
cm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRUeXBlKQotICAgICAgICAgICAg
ICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3Vy
cmVudEluZGV4LCBCYWRDZWxsKSkgeworICAgICAgICAgICAgICAgICYmICFtX2lubGluZVN0YWNr
VG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDb25zdGFu
dFZhbHVlKSkgewogCiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IEluIHRoZSBmdXR1cmUsIHdl
IHNob3VsZCBiZSBhYmxlIHRvIGRvIHNvbWV0aGluZyBsaWtlIE11bHRpR2V0QnlPZmZzZXQgaW4g
YSBtdWx0aSBpZGVudGlmaWVyIG1vZGUuCiAgICAgICAgICAgICAgICAgLy8gVGhhdCB3YXksIHdl
IGNvdWxkIGJvdGggc3dpdGNoIG9uIG11bHRpcGxlIHN0cnVjdHVyZXMgYW5kIG11bHRpcGxlIGlk
ZW50aWZpZXJzIChvciBpbnQgMzIgcHJvcGVydGllcykuCkBAIC02MTgzLDcgKzYxODMsNyBAQCB2
b2lkIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogCiAgICAgICAg
ICAgICBpZiAoIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9j
dXJyZW50SW5kZXgsIEJhZElkZW50KQogICAgICAgICAgICAgICAgICYmICFtX2lubGluZVN0YWNr
VG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRUeXBlKQot
ICAgICAgICAgICAgICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4
aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDZWxsKSkgeworICAgICAgICAgICAgICAgICYmICFt
X2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4
LCBCYWRDb25zdGFudFZhbHVlKSkgewogCiAgICAgICAgICAgICAgICAgaWYgKENhY2hlYWJsZUlk
ZW50aWZpZXIgaWRlbnRpZmllciA9IGRlbGV0ZUJ5U3RhdHVzLnNpbmdsZUlkZW50aWZpZXIoKSkg
ewogICAgICAgICAgICAgICAgICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkID0gaWRlbnRpZmll
ci51aWQoKTsKQEAgLTgyMjYsNyArODIyNiw3IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OmhhbmRs
ZVB1dEJ5VmFsKEJ5dGVjb2RlIGJ5dGVjb2RlLCBCeXRlY29kZUluZGV4IG9zckV4aXRJbmRlCiAg
ICAgICAgICAgICAgICAgJiYgIWJ5VmFsSW5mby0+dG9va1Nsb3dQYXRoCiAgICAgICAgICAgICAg
ICAgJiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJy
ZW50SW5kZXgsIEJhZElkZW50KQogICAgICAgICAgICAgICAgICYmICFtX2lubGluZVN0YWNrVG9w
LT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRUeXBlKQotICAg
ICAgICAgICAgICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRT
aXRlKG1fY3VycmVudEluZGV4LCBCYWRDZWxsKSkgeworICAgICAgICAgICAgICAgICYmICFtX2lu
bGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBC
YWRDb25zdGFudFZhbHVlKSkgewogICAgICAgICAgICAgICAgIGNvbXBpbGVkQXNQdXRCeUlkID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICBpZGVudGlmaWVyID0gYnlWYWxJbmZvLT5jYWNoZWRJZDsK
ICAgICAgICAgICAgICAgICBpZGVudGlmaWVyTnVtYmVyID0gbV9ncmFwaC5pZGVudGlmaWVycygp
LmVuc3VyZShpZGVudGlmaWVyLnVpZCgpKTsKQEAgLTgzMzAsNyArODMzMCw3IEBAIHZvaWQgQnl0
ZUNvZGVQYXJzZXI6OmhhbmRsZUNyZWF0ZUludGVybmFsRmllbGRPYmplY3QoY29uc3QgQ2xhc3NJ
bmZvKiBjbGFzc0luZm8sCiAgICAgICAgIEpTQ2VsbCogY2FjaGVkRnVuY3Rpb24gPSBieXRlY29k
ZS5tZXRhZGF0YShjb2RlQmxvY2spLm1fY2FjaGVkQ2FsbGVlLnVudmFsaWRhdGVkR2V0KCk7CiAg
ICAgICAgIGlmIChjYWNoZWRGdW5jdGlvbgogICAgICAgICAgICAgJiYgY2FjaGVkRnVuY3Rpb24g
IT0gSlNDZWxsOjpzZWVuTXVsdGlwbGVDYWxsZWVPYmplY3RzKCkKLSAgICAgICAgICAgICYmICFt
X2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4
LCBCYWRDZWxsKSkgeworICAgICAgICAgICAgJiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFBy
b2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZENvbnN0YW50VmFsdWUpKSB7CiAg
ICAgICAgICAgICBBU1NFUlQoY2FjaGVkRnVuY3Rpb24tPmluaGVyaXRzPEpTRnVuY3Rpb24+KCpt
X3ZtKSk7CiAKICAgICAgICAgICAgIEZyb3plblZhbHVlKiBmcm96ZW4gPSBtX2dyYXBoLmZyZWV6
ZShjYWNoZWRGdW5jdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Nsb2JiZXJpemUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6
ZS5oCmluZGV4IDE3ZmM1OTkxZjg3NmRlNDVjOGI1YWRiODcwYzE3ZjhiMjYyMGUxNmYuLmMxMzhj
MzNiZDg3MzVjNDY3NmYzMjI5Y2ViNzg4MWUxNzhlYjFhZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCkBAIC00ODcsNyArNDg3LDcgQEAgdm9pZCBjbG9iYmVy
aXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQsIGNv
bnN0IFdyaXRlRnUKICAgICBjYXNlIEVudHJ5U3dpdGNoOgogICAgIGNhc2UgRm9yY2VPU1JFeGl0
OgogICAgIGNhc2UgQ1BVSW50cmluc2ljOgotICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgorICAgIGNh
c2UgQ2hlY2tCYWRWYWx1ZToKICAgICBjYXNlIFJldHVybjoKICAgICBjYXNlIFVucmVhY2hhYmxl
OgogICAgIGNhc2UgQ2hlY2tUaWVyVXBJbkxvb3A6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0RvZXNHQy5jcHAKaW5kZXggZTFlZmZjMmE5YzRkYzdkYzk1MDk1NzgzYzgwMmRhNjgxNzQ5Y2Rk
OS4uZmQ3MGE2MjdjODYxOTJlYWYzMmIwZDFkZWM4NTk2NWU4OTUxYmY5YyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcApAQCAtMjA1LDcgKzIwNSw3IEBAIGJvb2wgZG9l
c0dDKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIEdldEVudW1lcmFibGVMZW5n
dGg6CiAgICAgY2FzZSBGaWF0SW50NTI6CiAgICAgY2FzZSBCb29sZWFuVG9OdW1iZXI6Ci0gICAg
Y2FzZSBDaGVja0JhZENlbGw6CisgICAgY2FzZSBDaGVja0JhZFZhbHVlOgogICAgIGNhc2UgQm90
dG9tVmFsdWU6CiAgICAgY2FzZSBQaGFudG9tTmV3T2JqZWN0OgogICAgIGNhc2UgUGhhbnRvbU5l
d0Z1bmN0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1
cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAK
aW5kZXggZjNkNmIxYmYwYWZiZmMxMjkyZDczNTFiYmJjNjRhZGIzYzhiNzYwMS4uM2I0MzYyODQz
NTJkMjdiY2ZiNDNmNWIzNTg3NzQzMWQ3NGM2YWU1ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0yNzMxLDcgKzI3MzEsNyBAQCBwcml2YXRlOgog
ICAgICAgICBjYXNlIFN1cGVyU2FtcGxlckJlZ2luOgogICAgICAgICBjYXNlIFN1cGVyU2FtcGxl
ckVuZDoKICAgICAgICAgY2FzZSBGb3JjZU9TUkV4aXQ6Ci0gICAgICAgIGNhc2UgQ2hlY2tCYWRD
ZWxsOgorICAgICAgICBjYXNlIENoZWNrQmFkVmFsdWU6CiAgICAgICAgIGNhc2UgQ2hlY2tOb3RF
bXB0eToKICAgICAgICAgY2FzZSBBc3NlcnROb3RFbXB0eToKICAgICAgICAgY2FzZSBDaGVja1Ry
YXBzOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAppbmRleCA3OWFmODQ4NjQ0YjFmMGZi
NDYyMjM2M2JiNmQ2YWU3ZDVjN2Y1ZmUwLi5lZDg1Y2UwNGIyNTU5MDczNDgxNDllZTAyNmY2M2Iz
OGY1ZGZiYzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaApAQCAtMTU3NSw3ICsx
NTc1LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgc3dpdGNoIChvcCgpKSB7CiAgICAgICAg
IGNhc2UgRm9yY2VPU1JFeGl0OgotICAgICAgICBjYXNlIENoZWNrQmFkQ2VsbDoKKyAgICAgICAg
Y2FzZSBDaGVja0JhZFZhbHVlOgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGRl
ZmF1bHQ6CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR05vZGVUeXBlLmgKaW5kZXggMzM2YjAwN2Y5OGYwMjBmMjhkMGViYTU5MWM1NGI5NjM1MGQ2
MmU4Yi4uMzYzOTM3YzVhMGFkNWRhNTRmODhiMDc3YzliM2ZjNzRjNjIxNDAzYyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaApAQCAtMjc2LDcgKzI3Niw3IEBAIG5hbWVz
cGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKICAgICBtYWNybyhDaGVja0lzQ29uc3RhbnQsIE5v
ZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhDaGVja05vdEVtcHR5LCBOb2RlTXVzdEdlbmVy
YXRlKSBcCiAgICAgbWFjcm8oQXNzZXJ0Tm90RW1wdHksIE5vZGVNdXN0R2VuZXJhdGUpIFwKLSAg
ICBtYWNybyhDaGVja0JhZENlbGwsIE5vZGVNdXN0R2VuZXJhdGUpIFwKKyAgICBtYWNybyhDaGVj
a0JhZFZhbHVlLCBOb2RlTXVzdEdlbmVyYXRlKSBcCiAgICAgbWFjcm8oQ2hlY2tJbkJvdW5kcywg
Tm9kZU11c3RHZW5lcmF0ZSB8IE5vZGVSZXN1bHRKUykgXAogICAgIG1hY3JvKENoZWNrSWRlbnQs
IE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhDaGVja1R5cGVJbmZvRmxhZ3MsIE5vZGVN
dXN0R2VuZXJhdGUpIC8qIFRha2VzIGFuIE9wSW5mbyB3aXRoIHRoZSBmbGFncyB5b3Ugd2FudCB0
byB0ZXN0IGFyZSBzZXQgKi9cCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCmluZGV4IDUwNWQ2MTc2OGE1
MDQ4MzYwY2QwNDU3MWQxODEzYTE0OGM4Y2M4ZTMuLjI1OGFiMzMwZDE0M2U0YzIzNDRhOGNmYzI4
N2QzMDY0MzYwNWU0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCkBAIC0xNDA4LDcgKzE0MDgs
NyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIENoZWNrTm90RW1wdHk6CiAgICAgICAgIGNhc2Ug
QXNzZXJ0Tm90RW1wdHk6CiAgICAgICAgIGNhc2UgQ2hlY2tJZGVudDoKLSAgICAgICAgY2FzZSBD
aGVja0JhZENlbGw6CisgICAgICAgIGNhc2UgQ2hlY2tCYWRWYWx1ZToKICAgICAgICAgY2FzZSBQ
dXRTdHJ1Y3R1cmU6CiAgICAgICAgIGNhc2UgUGhhbnRvbToKICAgICAgICAgY2FzZSBDaGVjazoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXggYWNh
MGExY2Q2ZTkwZmI1YmUxNDYzMDY2YmFkNDcwNDczMmRkODhkNC4uN2ZmODY2NGIzOWJmOGRlNmVm
NzBhYWM1MGE5YTQ3ZjhiYTFiNGE1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTYWZlVG9FeGVjdXRlLmgKQEAgLTUzMCw3ICs1MzAsNyBAQCBib29sIHNhZmVUb0V4ZWN1dGUo
QWJzdHJhY3RTdGF0ZVR5cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGJvb2wg
aWdubwogICAgIGNhc2UgQXJyYXlpZnlUb1N0cnVjdHVyZToKICAgICBjYXNlIFB1dENsb3N1cmVW
YXI6CiAgICAgY2FzZSBQdXRHbG9iYWxWYXJpYWJsZToKLSAgICBjYXNlIENoZWNrQmFkQ2VsbDoK
KyAgICBjYXNlIENoZWNrQmFkVmFsdWU6CiAgICAgY2FzZSBSZWdFeHBFeGVjOgogICAgIGNhc2Ug
UmVnRXhwRXhlY05vbkdsb2JhbE9yU3RpY2t5OgogICAgIGNhc2UgUmVnRXhwVGVzdDoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggODhh
YmUwZTNiODYwMzNjNWFlMzdlMjE0Mzg1ZTdhMDMzMWIyNzA0MS4uNTA4ZmE2OGMzODQzNzA3ZjM0
YzQyMGFmZjQxZDZkNDM0YWNkNzRmOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKQEAgLTk2NjMsMTcgKzk2NjMsMTcgQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZUNoZWNrSXNDb25zdGFudChOb2RlKiBub2RlKQogewogICAgIGlm
IChub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gQ2VsbFVzZSkgewogICAgICAgICBTcGVjdWxh
dGVDZWxsT3BlcmFuZCBjZWxsKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAgc3BlY3Vs
YXRpb25DaGVjayhCYWRDZWxsLCBKU1ZhbHVlU291cmNlOjp1bmJveGVkQ2VsbChjZWxsLmdwcigp
KSwgbm9kZS0+Y2hpbGQxKCksIG1faml0LmJyYW5jaFdlYWtQdHIoSklUQ29tcGlsZXI6Ok5vdEVx
dWFsLCBjZWxsLmdwcigpLCBub2RlLT5jZWxsT3BlcmFuZCgpLT5jZWxsKCkpKTsKKyAgICAgICAg
c3BlY3VsYXRpb25DaGVjayhCYWRDb25zdGFudFZhbHVlLCBKU1ZhbHVlU291cmNlOjp1bmJveGVk
Q2VsbChjZWxsLmdwcigpKSwgbm9kZS0+Y2hpbGQxKCksIG1faml0LmJyYW5jaFdlYWtQdHIoSklU
Q29tcGlsZXI6Ok5vdEVxdWFsLCBjZWxsLmdwcigpLCBub2RlLT5jZWxsT3BlcmFuZCgpLT5jZWxs
KCkpKTsKICAgICB9IGVsc2UgewogICAgICAgICBBU1NFUlQoIW5vZGUtPmNvbnN0YW50KCktPnZh
bHVlKCkuaXNDZWxsKCkgfHwgIW5vZGUtPmNvbnN0YW50KCktPnZhbHVlKCkpOwogICAgICAgICBK
U1ZhbHVlT3BlcmFuZCBvcGVyYW5kKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgSlNW
YWx1ZVJlZ3MgcmVncyA9IG9wZXJhbmQuanNWYWx1ZVJlZ3MoKTsKIAogI2lmIFVTRShKU1ZBTFVF
NjQpCi0gICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkQ2FjaGUsIHJlZ3MsIG5vZGUtPmNoaWxk
MSgpLCBtX2ppdC5icmFuY2g2NChKSVRDb21waWxlcjo6Tm90RXF1YWwsIHJlZ3MuZ3ByKCksIFRy
dXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUobm9kZS0+Y29uc3RhbnQoKS0+dmFsdWUoKSkpKSk7
CisgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkQ29uc3RhbnRWYWx1ZSwgcmVncywgbm9kZS0+
Y2hpbGQxKCksIG1faml0LmJyYW5jaDY0KEpJVENvbXBpbGVyOjpOb3RFcXVhbCwgcmVncy5ncHIo
KSwgVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShub2RlLT5jb25zdGFudCgpLT52YWx1ZSgp
KSkpKTsKICNlbHNlCi0gICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkQ2FjaGUsIHJlZ3MsIG5v
ZGUtPmNoaWxkMSgpLCBtX2ppdC5icmFuY2gzMihKSVRDb21waWxlcjo6Tm90RXF1YWwsIHJlZ3Mu
dGFnR1BSKCksIFRydXN0ZWRJbW0zMihub2RlLT5jb25zdGFudCgpLT52YWx1ZSgpLnRhZygpKSkp
OwotICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZENhY2hlLCByZWdzLCBub2RlLT5jaGlsZDEo
KSwgbV9qaXQuYnJhbmNoMzIoSklUQ29tcGlsZXI6Ok5vdEVxdWFsLCByZWdzLnBheWxvYWRHUFIo
KSwgVHJ1c3RlZEltbTMyKG5vZGUtPmNvbnN0YW50KCktPnZhbHVlKCkucGF5bG9hZCgpKSkpOwor
ICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZENvbnN0YW50VmFsdWUsIHJlZ3MsIG5vZGUtPmNo
aWxkMSgpLCBtX2ppdC5icmFuY2gzMihKSVRDb21waWxlcjo6Tm90RXF1YWwsIHJlZ3MudGFnR1BS
KCksIFRydXN0ZWRJbW0zMihub2RlLT5jb25zdGFudCgpLT52YWx1ZSgpLnRhZygpKSkpOworICAg
ICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZENvbnN0YW50VmFsdWUsIHJlZ3MsIG5vZGUtPmNoaWxk
MSgpLCBtX2ppdC5icmFuY2gzMihKSVRDb21waWxlcjo6Tm90RXF1YWwsIHJlZ3MucGF5bG9hZEdQ
UigpLCBUcnVzdGVkSW1tMzIobm9kZS0+Y29uc3RhbnQoKS0+dmFsdWUoKS5wYXlsb2FkKCkpKSk7
CiAjZW5kaWYKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4IDRhOGEzMDQ2NGEzMDA0YTczZWNkZjM4ZTEz
YmRiNDM3YmI3ZTRhYjIuLjJlMzAyNjU0YTY3ZmUzZmFkMjUxN2ZlODI4NzA1ZGRjYTRmOGIzMDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcApAQCAtNDIzOSw3ICs0MjM5LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZShOb2RlKiBub2RlKQogICAgIGNhc2UgTXVsdGlHZXRCeU9mZnNldDoKICAgICBjYXNlIE11
bHRpUHV0QnlPZmZzZXQ6CiAgICAgY2FzZSBNdWx0aURlbGV0ZUJ5T2Zmc2V0OgotICAgIGNhc2Ug
Q2hlY2tCYWRDZWxsOgorICAgIGNhc2UgQ2hlY2tCYWRWYWx1ZToKICAgICBjYXNlIEJvdHRvbVZh
bHVlOgogICAgIGNhc2UgUGhhbnRvbU5ld09iamVjdDoKICAgICBjYXNlIFBoYW50b21OZXdGdW5j
dGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
NjQuY3BwCmluZGV4IDM5ZTUwOWZhZTkwOTRiNjYxMTQyNGYyYzE1YmZiYWQ5M2RhMGQxZDYuLmYz
ZjMxMmUxZDJjMWUwYWQwNmZmM2NmNmU2NzhlNzY1YjYwY2I3YjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApAQCAtNTU0NCw3ICs1
NTQ0LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgIGNh
c2UgTXVsdGlQdXRCeU9mZnNldDoKICAgICBjYXNlIE11bHRpRGVsZXRlQnlPZmZzZXQ6CiAgICAg
Y2FzZSBGaWF0SW50NTI6Ci0gICAgY2FzZSBDaGVja0JhZENlbGw6CisgICAgY2FzZSBDaGVja0Jh
ZFZhbHVlOgogICAgIGNhc2UgQm90dG9tVmFsdWU6CiAgICAgY2FzZSBQaGFudG9tTmV3T2JqZWN0
OgogICAgIGNhc2UgUGhhbnRvbU5ld0Z1bmN0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCmluZGV4IGViMDgxY2QyMjNlOGQ2ODExNzIzMTgxYjYx
N2Y1NTQ3OWM4YjQ4ZWIuLjgxNmNiYzNiMjc0ZDBlZDI4NDlmZGZlMzYxYWEzZTRjMGM0MDQwMzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKQEAg
LTE1OSw3ICsxNTksNyBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNhbkNvbXBpbGUoTm9kZSog
bm9kZSkKICAgICBjYXNlIEludmFsaWRhdGlvblBvaW50OgogICAgIGNhc2UgU3RyaW5nQ2hhckF0
OgogICAgIGNhc2UgQ2hlY2tJc0NvbnN0YW50OgotICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgorICAg
IGNhc2UgQ2hlY2tCYWRWYWx1ZToKICAgICBjYXNlIENoZWNrTm90RW1wdHk6CiAgICAgY2FzZSBB
c3NlcnROb3RFbXB0eToKICAgICBjYXNlIENoZWNrSWRlbnQ6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKaW5kZXggNzBjMDllYTQ0MGIyZDYxY2I4ZmQ2
Yjk0ZWM5MWM1MGVhNDVmNWE0OS4uY2M1MTdmNDM5Nzk0NmJkNjIwMGM4Y2MzMmUzNzQyYWZiMzg1
OTU1MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1Rv
QjMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNw
cApAQCAtOTA5LDggKzkwOSw4IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgQXNzZXJ0Tm90RW1w
dHk6CiAgICAgICAgICAgICBjb21waWxlQXNzZXJ0Tm90RW1wdHkoKTsKICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIENoZWNrQmFkQ2VsbDoKLSAgICAgICAgICAgIGNvbXBpbGVDaGVj
a0JhZENlbGwoKTsKKyAgICAgICAgY2FzZSBDaGVja0JhZFZhbHVlOgorICAgICAgICAgICAgY29t
cGlsZUNoZWNrQmFkVmFsdWUoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENo
ZWNrSWRlbnQ6CiAgICAgICAgICAgICBjb21waWxlQ2hlY2tJZGVudCgpOwpAQCAtMzY1MCwyMSAr
MzY1MCwyMSBAQCBwcml2YXRlOgogICAgICAgICAgICAgTFZhbHVlIGNlbGwgPSBsb3dDZWxsKG1f
bm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICAKICAgICAgICAgICAgIHNwZWN1bGF0ZSgKLSAgICAg
ICAgICAgICAgICBCYWRDZWxsLCBqc1ZhbHVlVmFsdWUoY2VsbCksIG1fbm9kZS0+Y2hpbGQxKCku
bm9kZSgpLAorICAgICAgICAgICAgICAgIEJhZENvbnN0YW50VmFsdWUsIGpzVmFsdWVWYWx1ZShj
ZWxsKSwgbV9ub2RlLT5jaGlsZDEoKS5ub2RlKCksCiAgICAgICAgICAgICAgICAgbV9vdXQubm90
RXF1YWwoY2VsbCwgd2Vha1BvaW50ZXIobV9ub2RlLT5jZWxsT3BlcmFuZCgpLT5jZWxsKCkpKSk7
CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBMVmFsdWUgdmFsdWUgPSBsb3dKU1ZhbHVl
KG1fbm9kZS0+Y2hpbGQxKCkpOwogCiAgICAgICAgICAgICBBU1NFUlQoIW1fbm9kZS0+Y29uc3Rh
bnQoKS0+dmFsdWUoKS5pc0NlbGwoKSB8fCAhbV9ub2RlLT5jb25zdGFudCgpLT52YWx1ZSgpKTsK
ICAgICAgICAgICAgIHNwZWN1bGF0ZSgKLSAgICAgICAgICAgICAgICBCYWRUeXBlLCBqc1ZhbHVl
VmFsdWUodmFsdWUpLCBtX25vZGUtPmNoaWxkMSgpLm5vZGUoKSwKKyAgICAgICAgICAgICAgICBC
YWRDb25zdGFudFZhbHVlLCBqc1ZhbHVlVmFsdWUodmFsdWUpLCBtX25vZGUtPmNoaWxkMSgpLm5v
ZGUoKSwKICAgICAgICAgICAgICAgICBtX291dC5ub3RFcXVhbCh2YWx1ZSwgbV9vdXQuY29uc3RJ
bnQ2NChKU1ZhbHVlOjplbmNvZGUobV9ub2RlLT5jb25zdGFudCgpLT52YWx1ZSgpKSkpKTsKICAg
ICAgICAgfQogICAgIH0KICAgICAKLSAgICB2b2lkIGNvbXBpbGVDaGVja0JhZENlbGwoKQorICAg
IHZvaWQgY29tcGlsZUNoZWNrQmFkVmFsdWUoKQogICAgIHsKLSAgICAgICAgdGVybWluYXRlKEJh
ZENlbGwpOworICAgICAgICB0ZXJtaW5hdGUoQmFkQ29uc3RhbnRWYWx1ZSk7CiAgICAgfQogCiAg
ICAgdm9pZCBjb21waWxlQ2hlY2tOb3RFbXB0eSgpCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5n
ZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgwOWY4Mjk4M2UwNzVlNTIzMDJiMDkyNTMz
ZTc1MWRhY2MyMzU3ZDQuLjFiMTZmOTkzNmJkMThmYWNhNWU2YjViM2U2YjBhNTk4MTE5YWU3NDkg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMjAtMDYtMTIgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBh
cHBsZS5jb20+CisKKyAgICAgICAgQ2hlY2tJc0NvbnN0YW50IHNob3VsZCBub3QgdXNlIEJhZENh
Y2hlIGV4aXQga2luZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjEzMTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBzdHJlc3MvY2hlY2staXMtY29uc3RhbnQtbm9uLWNlbGwtc2hvdWxkLW5vdC1hcnJh
eS1wcm9maWxlLWR1cmluZy1vc3ItZXhpdC5qczogQWRkZWQuCisgICAgICAgIChmb28uYmFyKToK
KwogMjAyMC0wNi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtKU0NdIFJldHVybiBEaXNwb3NhYmxlQ2FsbFNpdGVJbmRleCB3aGVuIGRlc3Ryb3lpbmcg
R0NBd2FyZUpJVFN0dWJSb3V0aW5lV2l0aEV4Y2VwdGlvbkhhbmRsZXIKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvc3RyZXNzL2NoZWNrLWlzLWNvbnN0YW50LW5vbi1jZWxsLXNob3VsZC1ub3QtYXJyYXkt
cHJvZmlsZS1kdXJpbmctb3NyLWV4aXQuanMgYi9KU1Rlc3RzL3N0cmVzcy9jaGVjay1pcy1jb25z
dGFudC1ub24tY2VsbC1zaG91bGQtbm90LWFycmF5LXByb2ZpbGUtZHVyaW5nLW9zci1leGl0Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgzOGVmNmFkMDAyMTBjMWY1ZjhiNmM2ZWZmM2NlMjBlYmVjNjRmYzcKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9jaGVjay1pcy1jb25zdGFudC1ub24tY2Vs
bC1zaG91bGQtbm90LWFycmF5LXByb2ZpbGUtZHVyaW5nLW9zci1leGl0LmpzCkBAIC0wLDAgKzEs
MTYgQEAKK2Z1bmN0aW9uIGZvbygpIHsKKyAgZnVuY3Rpb24gYmFyKGEwKSB7CisgICAgdHJ5IHsK
KyAgICAgIGZvciAobGV0IHEgb2YgYTApIHt9CisgICAgICBwLmlzRnJvemVuKCk7CisgICAgfSBj
YXRjaCB7fQorICAgIHJldHVybiBiYXI7CisgIH0KKyAgbGV0IHAgPSBuZXcgUHJveHkoW10sIHsg
Z2V0OiBiYXIgfSk7CisgIGJhcihwKTsKK30KKworCitmb3IgKGxldCBpPTA7IGk8MTAwOyBpKysp
IHsKKyAgZm9vKCk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401812</attachid>
            <date>2020-06-12 17:36:14 -0700</date>
            <delta_ts>2020-06-15 12:50:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213141-20200612173613.patch</filename>
            <type>text/plain</type>
            <size>26386</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZjliZDgwOTRkMzliZWU3NmQyNDZhYmM0NzA4MDk4NWY5YTkwYzAxLi4yMjhhOTBjYzE4ZWMzY2Vi
ZTMzZjU0NmMzMjk1ZmY0M2I4MzM1Y2M2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MyBAQAorMjAyMC0wNi0xMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGVja0lzQ29uc3RhbnQgc2hvdWxkIG5vdCB1c2UgQmFkQ2FjaGUg
ZXhpdCBraW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTMxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGUgQmFkQ2FjaGUgZXhpdCBraW5kIGNhdXNlcyB0aGUgT1NSIGV4aXQgY29tcGlsZXJzIHRv
IHRyeSB0bworICAgICAgICB1cGRhdGUgQXJyYXlQcm9maWxlcy4gIFRoaXMgaXMganVzdCBpbmNv
cnJlY3QgZm9yIENoZWNrSXNDb25zdGFudAorICAgICAgICBzaW5jZSB0aGUgbm9kZSdzIG9yaWdp
biBtYXkgbm90IGV2ZW4gaGF2ZSBhbgorICAgICAgICBBcnJheVByb2ZpbGUuLi4gQmFkQ2FjaGUg
YWxzbyBzdHJvbmdseSBhc3N1bWVzIHRoZSB2YWx1ZSBpdCdzCisgICAgICAgIHByb2ZpbGluZyBp
cyBhIGNlbGwsIHdoaWNoIGlzIGNsZWFybHkgbm90IGFsd2F5cyB0aGUgY2FzZSBmb3IKKyAgICAg
ICAgQ2hlY2tJc0NvbnN0YW50LgorCisgICAgICAgIENoZWNrSXNDb25zdGFudCBub3cgdXNlcyB0
aGUgQmFkQ29uc3RhbnRWYWx1ZSAoQmFkVmFsdWUgY29uZmxpY3RzCisgICAgICAgIHdpdGggbWFj
cm9zIGV4cG9ydGVkIGJ5IFgxMSBvbiBHVEspIGV4aXQga2luZCBmb3IgYWxsIHVzZSBraW5kcywK
KyAgICAgICAgd2hpY2ggaXMganVzdCBhIHJlbmFtZSBvZiBCYWRDZWxsLiAgQWxsIGV4aXN0aW5n
IHBsYWNlcyB3aGVyZSB3ZQorICAgICAgICBjYW4gZW1pdCBhIENoZWNrSXNDb25zdGFudCBhbHJl
YWR5IGhhdmUgYSBzdG9yeSBmb3IgQmFkQ29uc3RhbnRWYWx1ZS4KKworICAgICAgICAqIGJ5dGVj
b2RlL0NhbGxMaW5rU3RhdHVzLmNwcDoKKyAgICAgICAgKEpTQzo6Q2FsbExpbmtTdGF0dXM6OmNv
bXB1dGVGcm9tTExJbnQpOgorICAgICAgICAoSlNDOjpDYWxsTGlua1N0YXR1czo6Y29tcHV0ZUV4
aXRTaXRlRGF0YSk6CisgICAgICAgICogYnl0ZWNvZGUvRXhpdEtpbmQuY3BwOgorICAgICAgICAo
SlNDOjpleGl0S2luZFRvU3RyaW5nKToKKyAgICAgICAgKiBieXRlY29kZS9FeGl0S2luZC5oOgor
ICAgICAgICAqIGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAo
SlNDOjpERkc6OkFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRl
RWZmZWN0cyk6CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6aGFuZGxlSW5saW5pbmcpOgorICAgICAgICAoSlND
OjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVJbnRyaW5zaWNDYWxsKToKKyAgICAgICAgKEpT
Qzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6aGFuZGxlTW9kdWxlTmFtZXNwYWNlTG9hZCk6CisgICAg
ICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAoSlND
OjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVQdXRCeVZhbCk6CisgICAgICAgIChKU0M6OkRG
Rzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUNyZWF0ZUludGVybmFsRmllbGRPYmplY3QpOgorICAg
ICAgICAqIGRmZy9ERkdDbG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6
ZSk6CisgICAgICAgICogZGZnL0RGR0RvZXNHQy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6ZG9l
c0dDKToKKyAgICAgICAgKiBkZmcvREZHRml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6Rml4dXBQaGFzZTo6Zml4dXBOb2RlKToKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAg
ICAgICAoSlNDOjpERkc6Ok5vZGU6OmlzUHNldWRvVGVybWluYWwpOgorICAgICAgICAqIGRmZy9E
RkdOb2RlVHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFz
ZS5jcHA6CisgICAgICAgICogZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpzYWZlVG9FeGVjdXRlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3Bw
OgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlQ2hlY2tJc0NvbnN0
YW50KToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChK
U0M6OkZUTDo6Y2FuQ29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6
CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVOb2RlKToKKyAg
ICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZUNoZWNrSXNDb25zdGFu
dCk6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVDaGVja0Jh
ZFZhbHVlKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZUNo
ZWNrQmFkQ2VsbCk6IERlbGV0ZWQuCisKIDIwMjAtMDYtMTEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6
dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBSZXR1cm4gRGlzcG9zYWJsZUNhbGxTaXRl
SW5kZXggd2hlbiBkZXN0cm95aW5nIEdDQXdhcmVKSVRTdHViUm91dGluZVdpdGhFeGNlcHRpb25I
YW5kbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExp
bmtTdGF0dXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxMaW5rU3Rh
dHVzLmNwcAppbmRleCBhM2QyZDY3ZjBkMDRlOWRkYmJmODNmMzY4YzMyMzViNzkzYmYxZTE4Li45
N2E1NTlmMGJhMzMwYzQxZmU2ZWU0MjllOWQ0ZTE3MDM2NmNjYjgzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua1N0YXR1cy5jcHAKQEAgLTU3LDcgKzU3
LDcgQEAgQ2FsbExpbmtTdGF0dXMgQ2FsbExpbmtTdGF0dXM6OmNvbXB1dGVGcm9tTExJbnQoY29u
c3QgQ29uY3VycmVudEpTTG9ja2VyJiwgQ29kZUIKICAgICBVTlVTRURfUEFSQU0ocHJvZmlsZWRC
bG9jayk7CiAgICAgVU5VU0VEX1BBUkFNKGJ5dGVjb2RlSW5kZXgpOwogI2lmIEVOQUJMRShERkdf
SklUKQotICAgIGlmIChwcm9maWxlZEJsb2NrLT51bmxpbmtlZENvZGVCbG9jaygpLT5oYXNFeGl0
U2l0ZShERkc6OkZyZXF1ZW50RXhpdFNpdGUoYnl0ZWNvZGVJbmRleCwgQmFkQ2VsbCkpKSB7Cisg
ICAgaWYgKHByb2ZpbGVkQmxvY2stPnVubGlua2VkQ29kZUJsb2NrKCktPmhhc0V4aXRTaXRlKERG
Rzo6RnJlcXVlbnRFeGl0U2l0ZShieXRlY29kZUluZGV4LCBCYWRDb25zdGFudFZhbHVlKSkpIHsK
ICAgICAgICAgLy8gV2UgY291bGQgZm9yY2UgdGhpcyB0byBiZSBhIGNsb3N1cmUgY2FsbCwgYnV0
IGluc3RlYWQgd2UnbGwganVzdCBhc3N1bWUgdGhhdCBpdAogICAgICAgICAvLyB0YWtlcyBzbG93
IHBhdGguCiAgICAgICAgIHJldHVybiB0YWtlc1Nsb3dQYXRoKCk7CkBAIC0xMzgsNyArMTM4LDcg
QEAgQ2FsbExpbmtTdGF0dXM6OkV4aXRTaXRlRGF0YSBDYWxsTGlua1N0YXR1czo6Y29tcHV0ZUV4
aXRTaXRlRGF0YShDb2RlQmxvY2sqIHByb2YKICAgICB9OwogICAgIAogICAgIGF1dG8gYmFkRnVu
Y3Rpb24gPSBbJl0gKEV4aXRpbmdJbmxpbmVLaW5kIGlubGluZUtpbmQpIC0+IEV4aXRGbGFnIHsK
LSAgICAgICAgcmV0dXJuIEV4aXRGbGFnKGNvZGVCbG9jay0+aGFzRXhpdFNpdGUobG9ja2VyLCBE
Rkc6OkZyZXF1ZW50RXhpdFNpdGUoYnl0ZWNvZGVJbmRleCwgQmFkQ2VsbCwgRXhpdEZyb21Bbnl0
aGluZywgaW5saW5lS2luZCkpLCBpbmxpbmVLaW5kKTsKKyAgICAgICAgcmV0dXJuIEV4aXRGbGFn
KGNvZGVCbG9jay0+aGFzRXhpdFNpdGUobG9ja2VyLCBERkc6OkZyZXF1ZW50RXhpdFNpdGUoYnl0
ZWNvZGVJbmRleCwgQmFkQ29uc3RhbnRWYWx1ZSwgRXhpdEZyb21Bbnl0aGluZywgaW5saW5lS2lu
ZCkpLCBpbmxpbmVLaW5kKTsKICAgICB9OwogICAgIAogICAgIGV4aXRTaXRlRGF0YS50YWtlc1Ns
b3dQYXRoIHw9IHRha2VzU2xvd1BhdGgoRXhpdEZyb21Ob3RJbmxpbmVkKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FeGl0S2luZC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhpdEtpbmQuY3BwCmluZGV4IDIzNDYwNTJjMDE4Njc5ZjVm
Y2YyNGIzZDBkZTVlOTdhZDBiNTM0NzAuLjcxMzEzODVmNmYxZGQ1Yzc1ZTgwOGM0NzA5NGY1NjQy
MjU0YjQwNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FeGl0
S2luZC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V4aXRLaW5kLmNw
cApAQCAtMzgsOCArMzgsOCBAQCBjb25zdCBjaGFyKiBleGl0S2luZFRvU3RyaW5nKEV4aXRLaW5k
IGtpbmQpCiAgICAgICAgIHJldHVybiAiVW5zZXQiOwogICAgIGNhc2UgQmFkVHlwZToKICAgICAg
ICAgcmV0dXJuICJCYWRUeXBlIjsKLSAgICBjYXNlIEJhZENlbGw6Ci0gICAgICAgIHJldHVybiAi
QmFkQ2VsbCI7CisgICAgY2FzZSBCYWRDb25zdGFudFZhbHVlOgorICAgICAgICByZXR1cm4gIkJh
ZENvbnN0YW50VmFsdWUiOwogICAgIGNhc2UgQmFkSWRlbnQ6CiAgICAgICAgIHJldHVybiAiQmFk
SWRlbnQiOwogICAgIGNhc2UgQmFkRXhlY3V0YWJsZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9FeGl0S2luZC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0V4aXRLaW5kLmgKaW5kZXggNjExZDQ3YWY0NTlmMjkyYzQxNTA2Yzc2ZmNmYjNkNDFl
ZDgwNDQ5Ny4uNGYxZDQyMzllMjkwZGRmNzRkNmZkYjFmNjcxNGJjOGZhN2ExZmU0YiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V4aXRLaW5kLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V4aXRLaW5kLmgKQEAgLTMwLDcgKzMwLDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiBlbnVtIEV4aXRLaW5kIDogdWludDhfdCB7CiAgICAgRXhpdEtpbmRV
bnNldCwKICAgICBCYWRUeXBlLCAvLyBXZSBleGl0ZWQgYmVjYXVzZSBhIHR5cGUgcHJlZGljdGlv
biB3YXMgd3JvbmcuCi0gICAgQmFkQ2VsbCwgLy8gV2UgZXhpdGVkIGJlY2F1c2Ugd2UgbWFkZSBh
biBpbmNvcnJlY3QgYXNzdW1wdGlvbiBhYm91dCB3aGF0IGNlbGwgd2Ugd291bGQgc2VlLiBVc3Vh
bGx5IHVzZWQgZm9yIGZ1bmN0aW9uIGNoZWNrcy4KKyAgICBCYWRDb25zdGFudFZhbHVlLCAvLyBX
ZSBleGl0ZWQgYmVjYXVzZSB3ZSBtYWRlIGFuIGluY29ycmVjdCBhc3N1bXB0aW9uIGFib3V0IHdo
YXQgdmFsdWUgd2Ugd291bGQgc2VlLiBVc3VhbGx5IHVzZWQgZm9yIGZ1bmN0aW9uIGNoZWNrcy4K
ICAgICBCYWRJZGVudCwgLy8gV2UgZXhpdGVkIGJlY2F1c2Ugd2UgbWFkZSBhbiBpbmNvcnJlY3Qg
YXNzdW1wdGlvbiBhYm91dCB3aGF0IGlkZW50aWZpZXIgd2Ugd291bGQgc2VlLiBVc3VhbGx5IHVz
ZWQgZm9yIGNhY2hlZCBJZCBjaGVjayBpbiBnZXRfYnlfdmFsLgogICAgIEJhZEV4ZWN1dGFibGUs
IC8vIFdlIGV4aXRlZCBiZWNhdXNlIHdlIG1hZGUgYW4gaW5jb3JyZWN0IGFzc3VtcHRpb24gYWJv
dXQgd2hhdCBleGVjdXRhYmxlIHdlIHdvdWxkIHNlZS4KICAgICBCYWRDYWNoZSwgLy8gV2UgZXhp
dGVkIGJlY2F1c2UgYW4gaW5saW5lIGNhY2hlIHdhcyB3cm9uZy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApp
bmRleCA3MzY2Y2YxY2JhMTViZTNiMjVkYzcwNmIwNGE4ZjdmYWUzNjZkOGYyLi45NzI5ZmFmYWQ5
OTNlNjI1NTIxZDcxZGE3ZjU0OWE3ODlmNjU5YWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC00
MjgwLDcgKzQyODAsNyBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5
cGU+OjpleGVjdXRlRWZmZWN0cyh1bnNpZ25lZCBjbG9iYmVyTGltaQogICAgICAgICBicmVhazsK
IAogICAgIGNhc2UgRm9yY2VPU1JFeGl0OgotICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgorICAgIGNh
c2UgQ2hlY2tCYWRWYWx1ZToKICAgICAgICAgbV9zdGF0ZS5zZXRJc1ZhbGlkKGZhbHNlKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCA2YjViZjE3ODY0Y2M1MzAwOGUzMmE2ZmE4ODNlYTYy
ZWVmZmU1MzZhLi45YWM0NzY5YjQzNWY2ZWY1MTE3MTU4NDc5YWRmOTMxYTBkMWRhYmExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAt
MjIzMSw3ICsyMjMxLDcgQEAgQnl0ZUNvZGVQYXJzZXI6OkNhbGxPcHRpbWl6YXRpb25SZXN1bHQg
Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUlubGluaW5nKAogICAgICAgICAgICAgcmVnaXN0ZXJPZmZz
ZXQsIHByZWRpY3Rpb24pOwogICAgICAgICBWRVJCT1NFX0xPRygiV2UgYWRkZWQgYSBjYWxsIGlu
IHRoZSBzbG93IHBhdGhcbiIpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGFkZFRvR3JhcGgoQ2hl
Y2tCYWRDZWxsKTsKKyAgICAgICAgYWRkVG9HcmFwaChDaGVja0JhZFZhbHVlKTsKICAgICAgICAg
YWRkVG9HcmFwaChQaGFudG9tLCBteUNhbGxUYXJnZXROb2RlKTsKICAgICAgICAgZW1pdEFyZ3Vt
ZW50UGhhbnRvbXMocmVnaXN0ZXJPZmZzZXQsIGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKTsK
ICAgICAgICAgCkBAIC0yNzQyLDcgKzI3NDIsNyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5k
bGVJbnRyaW5zaWNDYWxsKE5vZGUqIGNhbGxlZSwgT3BlcmFuZCByZXN1bHQsIEludHJpbnNpYwog
ICAgICAgICAgICAgaWYgKGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzIDwgMikKICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgICAgIGlmIChtX2lubGluZVN0YWNrVG9w
LT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDZWxsKSB8fCBt
X2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4
LCBCYWRUeXBlKSkKKyAgICAgICAgICAgIGlmIChtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9m
aWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDb25zdGFudFZhbHVlKSB8fCBtX2lu
bGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBC
YWRUeXBlKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgICAgIGlu
c2VydENoZWNrcygpOwpAQCAtMjg1NCw3ICsyODU0LDcgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6
aGFuZGxlSW50cmluc2ljQ2FsbChOb2RlKiBjYWxsZWUsIE9wZXJhbmQgcmVzdWx0LCBJbnRyaW5z
aWMKIAogICAgICAgICAgICAgaWYgKGludHJpbnNpYyA9PSBSZWdFeHBUZXN0SW50cmluc2ljKSB7
CiAgICAgICAgICAgICAgICAgLy8gRG9uJ3QgaW5saW5lIGludHJpbnNpYyBpZiB3ZSBleGl0ZWQg
ZHVlIHRvIG9uZSBvZiB0aGUgcHJpbW9yZGlhbCBSZWdFeHAgY2hlY2tzIGZhaWxpbmcuCi0gICAg
ICAgICAgICAgICAgaWYgKG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNp
dGUobV9jdXJyZW50SW5kZXgsIEJhZENlbGwpKQorICAgICAgICAgICAgICAgIGlmIChtX2lubGlu
ZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRD
b25zdGFudFZhbHVlKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
ICAgICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG1faW5saW5lU3RhY2tU
b3AtPm1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3QoKTsKQEAgLTI5NzYsNyArMjk3Niw3IEBAIGJv
b2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUludHJpbnNpY0NhbGwoTm9kZSogY2FsbGVlLCBPcGVy
YW5kIHJlc3VsdCwgSW50cmluc2ljCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgICAgICAgICAvLyBEb24ndCBpbmxpbmUgaW50cmluc2ljIGlmIHdlIGV4aXRlZCBkdWUgdG8g
b25lIG9mIHRoZSBwcmltb3JkaWFsIFJlZ0V4cCBjaGVja3MgZmFpbGluZy4KLSAgICAgICAgICAg
IGlmIChtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVu
dEluZGV4LCBCYWRDZWxsKSkKKyAgICAgICAgICAgIGlmIChtX2lubGluZVN0YWNrVG9wLT5tX2V4
aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDb25zdGFudFZhbHVlKSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgICAgIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QgPSBtX2lubGluZVN0YWNrVG9wLT5tX2NvZGVCbG9jay0+Z2xvYmFs
T2JqZWN0KCk7CkBAIC0zMjExLDcgKzMyMTEsNyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5k
bGVJbnRyaW5zaWNDYWxsKE5vZGUqIGNhbGxlZSwgT3BlcmFuZCByZXN1bHQsIEludHJpbnNpYwog
ICAgICAgICBjYXNlIEpTTWFwVmFsdWVzSW50cmluc2ljOgogICAgICAgICBjYXNlIEpTU2V0RW50
cmllc0ludHJpbnNpYzoKICAgICAgICAgY2FzZSBKU1NldFZhbHVlc0ludHJpbnNpYzogewotICAg
ICAgICAgICAgaWYgKG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUo
bV9jdXJyZW50SW5kZXgsIEJhZENlbGwpIHx8IG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2Zp
bGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZFR5cGUpKQorICAgICAgICAgICAgaWYg
KG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5k
ZXgsIEJhZENvbnN0YW50VmFsdWUpIHx8IG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUu
aGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZFR5cGUpKQogICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgICAgICAgICAgaW5zZXJ0Q2hlY2tzKCk7CkBAIC0zOTIxLDcgKzM5
MjEsNyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVET01KSVRHZXR0ZXIoT3BlcmFuZCBy
ZXN1bHQsIGNvbnN0IEdldEJ5SWRWYXJpYW50JiB2YQogCiBib29sIEJ5dGVDb2RlUGFyc2VyOjpo
YW5kbGVNb2R1bGVOYW1lc3BhY2VMb2FkKFZpcnR1YWxSZWdpc3RlciByZXN1bHQsIFNwZWN1bGF0
ZWRUeXBlIHByZWRpY3Rpb24sIE5vZGUqIGJhc2UsIEdldEJ5U3RhdHVzIGdldEJ5SWQpCiB7Ci0g
ICAgaWYgKG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJy
ZW50SW5kZXgsIEJhZENlbGwpKQorICAgIGlmIChtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9m
aWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDb25zdGFudFZhbHVlKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIGFkZFRvR3JhcGgoQ2hlY2tJc0NvbnN0YW50LCBPcEluZm8o
bV9ncmFwaC5mcmVlemUoZ2V0QnlJZC5tb2R1bGVOYW1lc3BhY2VPYmplY3QoKSkpLCBFZGdlKGJh
c2UsIENlbGxVc2UpKTsKIApAQCAtNTE5Nyw3ICs1MTk3LDcgQEAgdm9pZCBCeXRlQ29kZVBhcnNl
cjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgICAgICBKU0NlbGwqIGNh
Y2hlZEZ1bmN0aW9uID0gYnl0ZWNvZGUubWV0YWRhdGEoY29kZUJsb2NrKS5tX2NhY2hlZENhbGxl
ZS51bnZhbGlkYXRlZEdldCgpOwogICAgICAgICAgICAgICAgIGlmIChjYWNoZWRGdW5jdGlvbgog
ICAgICAgICAgICAgICAgICAgICAmJiBjYWNoZWRGdW5jdGlvbiAhPSBKU0NlbGw6OnNlZW5NdWx0
aXBsZUNhbGxlZU9iamVjdHMoKQotICAgICAgICAgICAgICAgICAgICAmJiAhbV9pbmxpbmVTdGFj
a1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ2VsbCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgJiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2Zp
bGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZENvbnN0YW50VmFsdWUpKSB7CiAgICAg
ICAgICAgICAgICAgICAgIEFTU0VSVChjYWNoZWRGdW5jdGlvbi0+aW5oZXJpdHM8SlNGdW5jdGlv
bj4oKm1fdm0pKTsKIAogICAgICAgICAgICAgICAgICAgICBGcm96ZW5WYWx1ZSogZnJvemVuID0g
bV9ncmFwaC5mcmVlemUoY2FjaGVkRnVuY3Rpb24pOwpAQCAtNTI1Nyw3ICs1MjU3LDcgQEAgdm9p
ZCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAg
ICAgICAgICAgSlNDZWxsKiBjYWNoZWRGdW5jdGlvbiA9IGJ5dGVjb2RlLm1ldGFkYXRhKGNvZGVC
bG9jaykubV9jYWNoZWRDYWxsZWUudW52YWxpZGF0ZWRHZXQoKTsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKGNhY2hlZEZ1bmN0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAmJiBjYWNoZWRG
dW5jdGlvbiAhPSBKU0NlbGw6OnNlZW5NdWx0aXBsZUNhbGxlZU9iamVjdHMoKQotICAgICAgICAg
ICAgICAgICAgICAgICAgJiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhp
dFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZENlbGwpCisgICAgICAgICAgICAgICAgICAgICAgICAm
JiAhbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJ
bmRleCwgQmFkQ29uc3RhbnRWYWx1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgICYmIGNhY2hl
ZEZ1bmN0aW9uID09IChieXRlY29kZS5tX2lzSW50ZXJuYWxQcm9taXNlID8gZ2xvYmFsT2JqZWN0
LT5pbnRlcm5hbFByb21pc2VDb25zdHJ1Y3RvcigpIDogZ2xvYmFsT2JqZWN0LT5wcm9taXNlQ29u
c3RydWN0b3IoKSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIEZyb3plblZhbHVlKiBmcm96
ZW4gPSBtX2dyYXBoLmZyZWV6ZShjYWNoZWRGdW5jdGlvbik7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBhZGRUb0dyYXBoKENoZWNrSXNDb25zdGFudCwgT3BJbmZvKGZyb3plbiksIGNhbGxlZSk7
CkBAIC01MjgwLDcgKzUyODAsNyBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVu
c2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgICAgICAgICBKU0NlbGwqIGNhY2hlZEZ1bmN0aW9u
ID0gYnl0ZWNvZGUubWV0YWRhdGEoY29kZUJsb2NrKS5tX2NhY2hlZENhbGxlZS51bnZhbGlkYXRl
ZEdldCgpOwogICAgICAgICAgICAgICAgICAgICBpZiAoY2FjaGVkRnVuY3Rpb24KICAgICAgICAg
ICAgICAgICAgICAgICAgICYmIGNhY2hlZEZ1bmN0aW9uICE9IEpTQ2VsbDo6c2Vlbk11bHRpcGxl
Q2FsbGVlT2JqZWN0cygpCi0gICAgICAgICAgICAgICAgICAgICAgICAmJiAhbV9pbmxpbmVTdGFj
a1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ2VsbCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQ
cm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDb25zdGFudFZhbHVlKSkgewog
ICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGNhY2hlZEZ1bmN0aW9uLT5pbmhlcml0czxK
U0Z1bmN0aW9uPigqbV92bSkpOwogCiAgICAgICAgICAgICAgICAgICAgICAgICBGcm96ZW5WYWx1
ZSogZnJvemVuID0gbV9ncmFwaC5mcmVlemUoY2FjaGVkRnVuY3Rpb24pOwpAQCAtNTk2NSw3ICs1
OTY1LDcgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkK
ICAgICAgICAgICAgIENhY2hlYWJsZUlkZW50aWZpZXIgaWRlbnRpZmllcjsKICAgICAgICAgICAg
IGlmICghbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJl
bnRJbmRleCwgQmFkSWRlbnQpCiAgICAgICAgICAgICAgICAgJiYgIW1faW5saW5lU3RhY2tUb3At
Pm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZFR5cGUpCi0gICAg
ICAgICAgICAgICAgJiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNp
dGUobV9jdXJyZW50SW5kZXgsIEJhZENlbGwpKSB7CisgICAgICAgICAgICAgICAgJiYgIW1faW5s
aW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJh
ZENvbnN0YW50VmFsdWUpKSB7CiAKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogSW4gdGhlIGZ1
dHVyZSwgd2Ugc2hvdWxkIGJlIGFibGUgdG8gZG8gc29tZXRoaW5nIGxpa2UgTXVsdGlHZXRCeU9m
ZnNldCBpbiBhIG11bHRpIGlkZW50aWZpZXIgbW9kZS4KICAgICAgICAgICAgICAgICAvLyBUaGF0
IHdheSwgd2UgY291bGQgYm90aCBzd2l0Y2ggb24gbXVsdGlwbGUgc3RydWN0dXJlcyBhbmQgbXVs
dGlwbGUgaWRlbnRpZmllcnMgKG9yIGludCAzMiBwcm9wZXJ0aWVzKS4KQEAgLTYxODMsNyArNjE4
Myw3IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAK
ICAgICAgICAgICAgIGlmICghbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0
U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkSWRlbnQpCiAgICAgICAgICAgICAgICAgJiYgIW1faW5s
aW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJh
ZFR5cGUpCi0gICAgICAgICAgICAgICAgJiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2Zp
bGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZENlbGwpKSB7CisgICAgICAgICAgICAg
ICAgJiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJy
ZW50SW5kZXgsIEJhZENvbnN0YW50VmFsdWUpKSB7CiAKICAgICAgICAgICAgICAgICBpZiAoQ2Fj
aGVhYmxlSWRlbnRpZmllciBpZGVudGlmaWVyID0gZGVsZXRlQnlTdGF0dXMuc2luZ2xlSWRlbnRp
ZmllcigpKSB7CiAgICAgICAgICAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQgPSBp
ZGVudGlmaWVyLnVpZCgpOwpAQCAtODIyNiw3ICs4MjI2LDcgQEAgdm9pZCBCeXRlQ29kZVBhcnNl
cjo6aGFuZGxlUHV0QnlWYWwoQnl0ZWNvZGUgYnl0ZWNvZGUsIEJ5dGVjb2RlSW5kZXggb3NyRXhp
dEluZGUKICAgICAgICAgICAgICAgICAmJiAhYnlWYWxJbmZvLT50b29rU2xvd1BhdGgKICAgICAg
ICAgICAgICAgICAmJiAhbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0
ZShtX2N1cnJlbnRJbmRleCwgQmFkSWRlbnQpCiAgICAgICAgICAgICAgICAgJiYgIW1faW5saW5l
U3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZFR5
cGUpCi0gICAgICAgICAgICAgICAgJiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUu
aGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZENlbGwpKSB7CisgICAgICAgICAgICAgICAg
JiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50
SW5kZXgsIEJhZENvbnN0YW50VmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgY29tcGlsZWRBc1B1
dEJ5SWQgPSB0cnVlOwogICAgICAgICAgICAgICAgIGlkZW50aWZpZXIgPSBieVZhbEluZm8tPmNh
Y2hlZElkOwogICAgICAgICAgICAgICAgIGlkZW50aWZpZXJOdW1iZXIgPSBtX2dyYXBoLmlkZW50
aWZpZXJzKCkuZW5zdXJlKGlkZW50aWZpZXIudWlkKCkpOwpAQCAtODMzMCw3ICs4MzMwLDcgQEAg
dm9pZCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlQ3JlYXRlSW50ZXJuYWxGaWVsZE9iamVjdChjb25z
dCBDbGFzc0luZm8qIGNsYXNzSW5mbywKICAgICAgICAgSlNDZWxsKiBjYWNoZWRGdW5jdGlvbiA9
IGJ5dGVjb2RlLm1ldGFkYXRhKGNvZGVCbG9jaykubV9jYWNoZWRDYWxsZWUudW52YWxpZGF0ZWRH
ZXQoKTsKICAgICAgICAgaWYgKGNhY2hlZEZ1bmN0aW9uCiAgICAgICAgICAgICAmJiBjYWNoZWRG
dW5jdGlvbiAhPSBKU0NlbGw6OnNlZW5NdWx0aXBsZUNhbGxlZU9iamVjdHMoKQotICAgICAgICAg
ICAgJiYgIW1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJy
ZW50SW5kZXgsIEJhZENlbGwpKSB7CisgICAgICAgICAgICAmJiAhbV9pbmxpbmVTdGFja1RvcC0+
bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ29uc3RhbnRWYWx1
ZSkpIHsKICAgICAgICAgICAgIEFTU0VSVChjYWNoZWRGdW5jdGlvbi0+aW5oZXJpdHM8SlNGdW5j
dGlvbj4oKm1fdm0pKTsKIAogICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3Jh
cGguZnJlZXplKGNhY2hlZEZ1bmN0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
bG9iYmVyaXplLmgKaW5kZXggMTdmYzU5OTFmODc2ZGU0NWM4YjVhZGI4NzBjMTdmOGIyNjIwZTE2
Zi4uYzEzOGMzM2JkODczNWM0Njc2ZjMyMjljZWI3ODgxZTE3OGViMWFkMyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTQ4Nyw3ICs0ODcsNyBAQCB2b2lk
IGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYg
cmVhZCwgY29uc3QgV3JpdGVGdQogICAgIGNhc2UgRW50cnlTd2l0Y2g6CiAgICAgY2FzZSBGb3Jj
ZU9TUkV4aXQ6CiAgICAgY2FzZSBDUFVJbnRyaW5zaWM6Ci0gICAgY2FzZSBDaGVja0JhZENlbGw6
CisgICAgY2FzZSBDaGVja0JhZFZhbHVlOgogICAgIGNhc2UgUmV0dXJuOgogICAgIGNhc2UgVW5y
ZWFjaGFibGU6CiAgICAgY2FzZSBDaGVja1RpZXJVcEluTG9vcDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRG9lc0dDLmNwcAppbmRleCBlMWVmZmMyYTljNGRjN2RjOTUwOTU3ODNjODAyZGE2
ODE3NDljZGQ5Li5mZDcwYTYyN2M4NjE5MmVhZjMyYjBkMWRlYzg1OTY1ZTg5NTFiZjljIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCkBAIC0yMDUsNyArMjA1LDcgQEAg
Ym9vbCBkb2VzR0MoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlKQogICAgIGNhc2UgR2V0RW51bWVy
YWJsZUxlbmd0aDoKICAgICBjYXNlIEZpYXRJbnQ1MjoKICAgICBjYXNlIEJvb2xlYW5Ub051bWJl
cjoKLSAgICBjYXNlIENoZWNrQmFkQ2VsbDoKKyAgICBjYXNlIENoZWNrQmFkVmFsdWU6CiAgICAg
Y2FzZSBCb3R0b21WYWx1ZToKICAgICBjYXNlIFBoYW50b21OZXdPYmplY3Q6CiAgICAgY2FzZSBQ
aGFudG9tTmV3RnVuY3Rpb246CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBo
YXNlLmNwcAppbmRleCBmM2Q2YjFiZjBhZmJmYzEyOTJkNzM1MWJiYmM2NGFkYjNjOGI3NjAxLi4z
YjQzNjI4NDM1MmQyN2JjZmI0M2Y1YjM1ODc3NDMxZDc0YzZhZTVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKQEAgLTI3MzEsNyArMjczMSw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIGNhc2UgU3VwZXJTYW1wbGVyQmVnaW46CiAgICAgICAgIGNhc2UgU3Vw
ZXJTYW1wbGVyRW5kOgogICAgICAgICBjYXNlIEZvcmNlT1NSRXhpdDoKLSAgICAgICAgY2FzZSBD
aGVja0JhZENlbGw6CisgICAgICAgIGNhc2UgQ2hlY2tCYWRWYWx1ZToKICAgICAgICAgY2FzZSBD
aGVja05vdEVtcHR5OgogICAgICAgICBjYXNlIEFzc2VydE5vdEVtcHR5OgogICAgICAgICBjYXNl
IENoZWNrVHJhcHM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05v
ZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCmluZGV4IDc5YWY4NDg2
NDRiMWYwZmI0NjIyMzYzYmI2ZDZhZTdkNWM3ZjVmZTAuLmVkODVjZTA0YjI1NTkwNzM0ODE0OWVl
MDI2ZjYzYjM4ZjVkZmJjOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTm9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCkBAIC0x
NTc1LDcgKzE1NzUsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBzd2l0Y2ggKG9wKCkpIHsK
ICAgICAgICAgY2FzZSBGb3JjZU9TUkV4aXQ6Ci0gICAgICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgor
ICAgICAgICBjYXNlIENoZWNrQmFkVmFsdWU6CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTm9kZVR5cGUuaAppbmRleCAzMzZiMDA3Zjk4ZjAyMGYyOGQwZWJhNTkxYzU0
Yjk2MzUwZDYyZThiLi4zNjM5MzdjNWEwYWQ1ZGE1NGY4OGIwNzdjOWIzZmM3NGM2MjE0MDNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCkBAIC0yNzYsNyArMjc2LDcg
QEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIG1hY3JvKENoZWNrSXNDb25z
dGFudCwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKENoZWNrTm90RW1wdHksIE5vZGVN
dXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhBc3NlcnROb3RFbXB0eSwgTm9kZU11c3RHZW5lcmF0
ZSkgXAotICAgIG1hY3JvKENoZWNrQmFkQ2VsbCwgTm9kZU11c3RHZW5lcmF0ZSkgXAorICAgIG1h
Y3JvKENoZWNrQmFkVmFsdWUsIE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhDaGVja0lu
Qm91bmRzLCBOb2RlTXVzdEdlbmVyYXRlIHwgTm9kZVJlc3VsdEpTKSBcCiAgICAgbWFjcm8oQ2hl
Y2tJZGVudCwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKENoZWNrVHlwZUluZm9GbGFn
cywgTm9kZU11c3RHZW5lcmF0ZSkgLyogVGFrZXMgYW4gT3BJbmZvIHdpdGggdGhlIGZsYWdzIHlv
dSB3YW50IHRvIHRlc3QgYXJlIHNldCAqL1wKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKaW5kZXggNTA1
ZDYxNzY4YTUwNDgzNjBjZDA0NTcxZDE4MTNhMTQ4YzhjYzhlMy4uMjU4YWIzMzBkMTQzZTRjMjM0
NGE4Y2ZjMjg3ZDMwNjQzNjA1ZTRiZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKQEAgLTE0MDgs
NyArMTQwOCw3IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgQ2hlY2tOb3RFbXB0eToKICAgICAg
ICAgY2FzZSBBc3NlcnROb3RFbXB0eToKICAgICAgICAgY2FzZSBDaGVja0lkZW50OgotICAgICAg
ICBjYXNlIENoZWNrQmFkQ2VsbDoKKyAgICAgICAgY2FzZSBDaGVja0JhZFZhbHVlOgogICAgICAg
ICBjYXNlIFB1dFN0cnVjdHVyZToKICAgICAgICAgY2FzZSBQaGFudG9tOgogICAgICAgICBjYXNl
IENoZWNrOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9F
eGVjdXRlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaApp
bmRleCBhY2EwYTFjZDZlOTBmYjViZTE0NjMwNjZiYWQ0NzA0NzMyZGQ4OGQ0Li43ZmY4NjY0YjM5
YmY4ZGU2ZWY3MGFhYzUwYTlhNDdmOGJhMWI0YTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaApAQCAtNTMwLDcgKzUzMCw3IEBAIGJvb2wgc2FmZVRv
RXhlY3V0ZShBYnN0cmFjdFN0YXRlVHlwZSYgc3RhdGUsIEdyYXBoJiBncmFwaCwgTm9kZSogbm9k
ZSwgYm9vbCBpZ25vCiAgICAgY2FzZSBBcnJheWlmeVRvU3RydWN0dXJlOgogICAgIGNhc2UgUHV0
Q2xvc3VyZVZhcjoKICAgICBjYXNlIFB1dEdsb2JhbFZhcmlhYmxlOgotICAgIGNhc2UgQ2hlY2tC
YWRDZWxsOgorICAgIGNhc2UgQ2hlY2tCYWRWYWx1ZToKICAgICBjYXNlIFJlZ0V4cEV4ZWM6CiAg
ICAgY2FzZSBSZWdFeHBFeGVjTm9uR2xvYmFsT3JTdGlja3k6CiAgICAgY2FzZSBSZWdFeHBUZXN0
OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApp
bmRleCA4OGFiZTBlM2I4NjAzM2M1YWUzN2UyMTQzODVlN2EwMzMxYjI3MDQxLi41MDhmYTY4YzM4
NDM3MDdmMzRjNDIwYWZmNDFkNmQ0MzRhY2Q3NGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtOTY2MywxNyArOTY2MywxNyBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQ2hlY2tJc0NvbnN0YW50KE5vZGUqIG5vZGUpCiB7
CiAgICAgaWYgKG5vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBDZWxsVXNlKSB7CiAgICAgICAg
IFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGNlbGwodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwotICAgICAg
ICBzcGVjdWxhdGlvbkNoZWNrKEJhZENlbGwsIEpTVmFsdWVTb3VyY2U6OnVuYm94ZWRDZWxsKGNl
bGwuZ3ByKCkpLCBub2RlLT5jaGlsZDEoKSwgbV9qaXQuYnJhbmNoV2Vha1B0cihKSVRDb21waWxl
cjo6Tm90RXF1YWwsIGNlbGwuZ3ByKCksIG5vZGUtPmNlbGxPcGVyYW5kKCktPmNlbGwoKSkpOwor
ICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZENvbnN0YW50VmFsdWUsIEpTVmFsdWVTb3VyY2U6
OnVuYm94ZWRDZWxsKGNlbGwuZ3ByKCkpLCBub2RlLT5jaGlsZDEoKSwgbV9qaXQuYnJhbmNoV2Vh
a1B0cihKSVRDb21waWxlcjo6Tm90RXF1YWwsIGNlbGwuZ3ByKCksIG5vZGUtPmNlbGxPcGVyYW5k
KCktPmNlbGwoKSkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEFTU0VSVCghbm9kZS0+Y29uc3Rh
bnQoKS0+dmFsdWUoKS5pc0NlbGwoKSB8fCAhbm9kZS0+Y29uc3RhbnQoKS0+dmFsdWUoKSk7CiAg
ICAgICAgIEpTVmFsdWVPcGVyYW5kIG9wZXJhbmQodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwogICAg
ICAgICBKU1ZhbHVlUmVncyByZWdzID0gb3BlcmFuZC5qc1ZhbHVlUmVncygpOwogCiAjaWYgVVNF
KEpTVkFMVUU2NCkKLSAgICAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRDYWNoZSwgcmVncywgbm9k
ZS0+Y2hpbGQxKCksIG1faml0LmJyYW5jaDY0KEpJVENvbXBpbGVyOjpOb3RFcXVhbCwgcmVncy5n
cHIoKSwgVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShub2RlLT5jb25zdGFudCgpLT52YWx1
ZSgpKSkpKTsKKyAgICAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRDb25zdGFudFZhbHVlLCByZWdz
LCBub2RlLT5jaGlsZDEoKSwgbV9qaXQuYnJhbmNoNjQoSklUQ29tcGlsZXI6Ok5vdEVxdWFsLCBy
ZWdzLmdwcigpLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKG5vZGUtPmNvbnN0YW50KCkt
PnZhbHVlKCkpKSkpOwogI2Vsc2UKLSAgICAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRDYWNoZSwg
cmVncywgbm9kZS0+Y2hpbGQxKCksIG1faml0LmJyYW5jaDMyKEpJVENvbXBpbGVyOjpOb3RFcXVh
bCwgcmVncy50YWdHUFIoKSwgVHJ1c3RlZEltbTMyKG5vZGUtPmNvbnN0YW50KCktPnZhbHVlKCku
dGFnKCkpKSk7Ci0gICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkQ2FjaGUsIHJlZ3MsIG5vZGUt
PmNoaWxkMSgpLCBtX2ppdC5icmFuY2gzMihKSVRDb21waWxlcjo6Tm90RXF1YWwsIHJlZ3MucGF5
bG9hZEdQUigpLCBUcnVzdGVkSW1tMzIobm9kZS0+Y29uc3RhbnQoKS0+dmFsdWUoKS5wYXlsb2Fk
KCkpKSk7CisgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkQ29uc3RhbnRWYWx1ZSwgcmVncywg
bm9kZS0+Y2hpbGQxKCksIG1faml0LmJyYW5jaDMyKEpJVENvbXBpbGVyOjpOb3RFcXVhbCwgcmVn
cy50YWdHUFIoKSwgVHJ1c3RlZEltbTMyKG5vZGUtPmNvbnN0YW50KCktPnZhbHVlKCkudGFnKCkp
KSk7CisgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkQ29uc3RhbnRWYWx1ZSwgcmVncywgbm9k
ZS0+Y2hpbGQxKCksIG1faml0LmJyYW5jaDMyKEpJVENvbXBpbGVyOjpOb3RFcXVhbCwgcmVncy5w
YXlsb2FkR1BSKCksIFRydXN0ZWRJbW0zMihub2RlLT5jb25zdGFudCgpLT52YWx1ZSgpLnBheWxv
YWQoKSkpKTsKICNlbmRpZgogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKaW5kZXggNGE4YTMwNDY0YTMwMDRhNzNl
Y2RmMzhlMTNiZGI0MzdiYjdlNGFiMi4uMmUzMDI2NTRhNjdmZTNmYWQyNTE3ZmU4Mjg3MDVkZGNh
NGY4YjMwNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUMzJfNjQuY3BwCkBAIC00MjM5LDcgKzQyMzksNyBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBNdWx0aUdldEJ5T2Zmc2V0OgogICAg
IGNhc2UgTXVsdGlQdXRCeU9mZnNldDoKICAgICBjYXNlIE11bHRpRGVsZXRlQnlPZmZzZXQ6Ci0g
ICAgY2FzZSBDaGVja0JhZENlbGw6CisgICAgY2FzZSBDaGVja0JhZFZhbHVlOgogICAgIGNhc2Ug
Qm90dG9tVmFsdWU6CiAgICAgY2FzZSBQaGFudG9tTmV3T2JqZWN0OgogICAgIGNhc2UgUGhhbnRv
bU5ld0Z1bmN0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQ2NC5jcHAKaW5kZXggMzllNTA5ZmFlOTA5NGI2NjExNDI0ZjJjMTViZmJhZDkzZGEw
ZDFkNi4uZjNmMzEyZTFkMmMxZTBhZDA2ZmYzY2Y2ZTY3OGU3NjViNjBjYjdiMCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC01
NTQ0LDcgKzU1NDQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUp
CiAgICAgY2FzZSBNdWx0aVB1dEJ5T2Zmc2V0OgogICAgIGNhc2UgTXVsdGlEZWxldGVCeU9mZnNl
dDoKICAgICBjYXNlIEZpYXRJbnQ1MjoKLSAgICBjYXNlIENoZWNrQmFkQ2VsbDoKKyAgICBjYXNl
IENoZWNrQmFkVmFsdWU6CiAgICAgY2FzZSBCb3R0b21WYWx1ZToKICAgICBjYXNlIFBoYW50b21O
ZXdPYmplY3Q6CiAgICAgY2FzZSBQaGFudG9tTmV3RnVuY3Rpb246CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKaW5kZXggZWIwODFjZDIyM2U4ZDY4MTE3
MjMxODFiNjE3ZjU1NDc5YzhiNDhlYi4uODE2Y2JjM2IyNzRkMGVkMjg0OWZkZmUzNjFhYTNlNGMw
YzQwNDAzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmls
aXRpZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVz
LmNwcApAQCAtMTU5LDcgKzE1OSw3IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGls
ZShOb2RlKiBub2RlKQogICAgIGNhc2UgSW52YWxpZGF0aW9uUG9pbnQ6CiAgICAgY2FzZSBTdHJp
bmdDaGFyQXQ6CiAgICAgY2FzZSBDaGVja0lzQ29uc3RhbnQ6Ci0gICAgY2FzZSBDaGVja0JhZENl
bGw6CisgICAgY2FzZSBDaGVja0JhZFZhbHVlOgogICAgIGNhc2UgQ2hlY2tOb3RFbXB0eToKICAg
ICBjYXNlIEFzc2VydE5vdEVtcHR5OgogICAgIGNhc2UgQ2hlY2tJZGVudDoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAppbmRleCA3MGMwOWVhNDQwYjJk
NjFjYjhmZDZiOTRlYzkxYzUwZWE0NWY1YTQ5Li5jYzUxN2Y0Mzk3OTQ2YmQ2MjAwYzhjYzMyZTM3
NDJhZmIzODU5NTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExv
d2VyREZHVG9CMy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvQjMuY3BwCkBAIC05MDksOCArOTA5LDggQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBBc3Nl
cnROb3RFbXB0eToKICAgICAgICAgICAgIGNvbXBpbGVBc3NlcnROb3RFbXB0eSgpOwogICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgotICAgICAgICAgICAgY29t
cGlsZUNoZWNrQmFkQ2VsbCgpOworICAgICAgICBjYXNlIENoZWNrQmFkVmFsdWU6CisgICAgICAg
ICAgICBjb21waWxlQ2hlY2tCYWRWYWx1ZSgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgQ2hlY2tJZGVudDoKICAgICAgICAgICAgIGNvbXBpbGVDaGVja0lkZW50KCk7CkBAIC0z
NjUwLDIxICszNjUwLDIxIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBMVmFsdWUgY2VsbCA9IGxv
d0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgIAogICAgICAgICAgICAgc3BlY3VsYXRl
KAotICAgICAgICAgICAgICAgIEJhZENlbGwsIGpzVmFsdWVWYWx1ZShjZWxsKSwgbV9ub2RlLT5j
aGlsZDEoKS5ub2RlKCksCisgICAgICAgICAgICAgICAgQmFkQ29uc3RhbnRWYWx1ZSwganNWYWx1
ZVZhbHVlKGNlbGwpLCBtX25vZGUtPmNoaWxkMSgpLm5vZGUoKSwKICAgICAgICAgICAgICAgICBt
X291dC5ub3RFcXVhbChjZWxsLCB3ZWFrUG9pbnRlcihtX25vZGUtPmNlbGxPcGVyYW5kKCktPmNl
bGwoKSkpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IGxv
d0pTVmFsdWUobV9ub2RlLT5jaGlsZDEoKSk7CiAKICAgICAgICAgICAgIEFTU0VSVCghbV9ub2Rl
LT5jb25zdGFudCgpLT52YWx1ZSgpLmlzQ2VsbCgpIHx8ICFtX25vZGUtPmNvbnN0YW50KCktPnZh
bHVlKCkpOwogICAgICAgICAgICAgc3BlY3VsYXRlKAotICAgICAgICAgICAgICAgIEJhZFR5cGUs
IGpzVmFsdWVWYWx1ZSh2YWx1ZSksIG1fbm9kZS0+Y2hpbGQxKCkubm9kZSgpLAorICAgICAgICAg
ICAgICAgIEJhZENvbnN0YW50VmFsdWUsIGpzVmFsdWVWYWx1ZSh2YWx1ZSksIG1fbm9kZS0+Y2hp
bGQxKCkubm9kZSgpLAogICAgICAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKHZhbHVlLCBtX291
dC5jb25zdEludDY0KEpTVmFsdWU6OmVuY29kZShtX25vZGUtPmNvbnN0YW50KCktPnZhbHVlKCkp
KSkpOwogICAgICAgICB9CiAgICAgfQogICAgIAotICAgIHZvaWQgY29tcGlsZUNoZWNrQmFkQ2Vs
bCgpCisgICAgdm9pZCBjb21waWxlQ2hlY2tCYWRWYWx1ZSgpCiAgICAgewotICAgICAgICB0ZXJt
aW5hdGUoQmFkQ2VsbCk7CisgICAgICAgIHRlcm1pbmF0ZShCYWRDb25zdGFudFZhbHVlKTsKICAg
ICB9CiAKICAgICB2b2lkIGNvbXBpbGVDaGVja05vdEVtcHR5KCkKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODA5ZjgyOTgzZTA3NWU1MjMw
MmIwOTI1MzNlNzUxZGFjYzIzNTdkNC4uMWIxNmY5OTM2YmQxOGZhY2E1ZTZiNWIzZTZiMGE1OTgx
MTlhZTc0OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wNi0xMiAgS2VpdGggTWlsbGVyICA8a2VpdGhf
bWlsbGVyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGVja0lzQ29uc3RhbnQgc2hvdWxkIG5vdCB1
c2UgQmFkQ2FjaGUgZXhpdCBraW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTMxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHN0cmVzcy9jaGVjay1pcy1jb25zdGFudC1ub24tY2VsbC1zaG91bGQt
bm90LWFycmF5LXByb2ZpbGUtZHVyaW5nLW9zci1leGl0LmpzOiBBZGRlZC4KKyAgICAgICAgKGZv
by5iYXIpOgorCiAyMDIwLTA2LTExICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+
CiAKICAgICAgICAgW0pTQ10gUmV0dXJuIERpc3Bvc2FibGVDYWxsU2l0ZUluZGV4IHdoZW4gZGVz
dHJveWluZyBHQ0F3YXJlSklUU3R1YlJvdXRpbmVXaXRoRXhjZXB0aW9uSGFuZGxlcgpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy9zdHJlc3MvY2hlY2staXMtY29uc3RhbnQtbm9uLWNlbGwtc2hvdWxkLW5v
dC1hcnJheS1wcm9maWxlLWR1cmluZy1vc3ItZXhpdC5qcyBiL0pTVGVzdHMvc3RyZXNzL2NoZWNr
LWlzLWNvbnN0YW50LW5vbi1jZWxsLXNob3VsZC1ub3QtYXJyYXktcHJvZmlsZS1kdXJpbmctb3Ny
LWV4aXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODM4ZWY2YWQwMDIxMGMxZjVmOGI2YzZlZmYzY2UyMGViZWM2
NGZjNwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2NoZWNrLWlzLWNvbnN0YW50
LW5vbi1jZWxsLXNob3VsZC1ub3QtYXJyYXktcHJvZmlsZS1kdXJpbmctb3NyLWV4aXQuanMKQEAg
LTAsMCArMSwxNiBAQAorZnVuY3Rpb24gZm9vKCkgeworICBmdW5jdGlvbiBiYXIoYTApIHsKKyAg
ICB0cnkgeworICAgICAgZm9yIChsZXQgcSBvZiBhMCkge30KKyAgICAgIHAuaXNGcm96ZW4oKTsK
KyAgICB9IGNhdGNoIHt9CisgICAgcmV0dXJuIGJhcjsKKyAgfQorICBsZXQgcCA9IG5ldyBQcm94
eShbXSwgeyBnZXQ6IGJhciB9KTsKKyAgYmFyKHApOworfQorCisKK2ZvciAobGV0IGk9MDsgaTwx
MDA7IGkrKykgeworICBmb28oKTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>