<?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>203290</bug_id>
          
          <creation_ts>2019-10-23 02:03:11 -0700</creation_ts>
          <short_desc>REGRESSION(r251468): Build, test failures in 32-bit JSC after BytecodeIndex refactoring</short_desc>
          <delta_ts>2019-10-24 22:47:44 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>202392</dependson>
    
    <dependson>203285</dependson>
    
    <dependson>203358</dependson>
          <blocked>203040</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Pablo Saavedra">psaavedra</reporter>
          <assigned_to name="Pablo Saavedra">psaavedra</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>pmatos</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1582771</commentid>
    <comment_count>0</comment_count>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2019-10-23 02:03:11 -0700</bug_when>
    <thetext>Error:

```
FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-bfc896e1-11.cpp.o 
/home/buildbot/buildroot/buildroot/output.rpi3/host/usr/ccache/arm-buildroot-linux-gnueabihf-g++ --sysroot=/home/buildbot/buildroot/buildroot/output.rpi3/host/usr/arm-buildroot-linux-gnueabihf/sysroot  -DBUILDING_JSCONLY__ -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DHAVE_CONFIG_H=1 -DJavaScriptCore_EXPORTS -DSTATICALLY_LINKED_WITH_WTF -IDerivedSources/ForwardingHeaders -I. -I../../Source/JavaScriptCore -I../../Source/JavaScriptCore/API -I../../Source/JavaScriptCore/assembler -I../../Source/JavaScriptCore/b3 -I../../Source/JavaScriptCore/b3/air -I../../Source/JavaScriptCore/bindings -I../../Source/JavaScriptCore/builtins -I../../Source/JavaScriptCore/bytecode -I../../Source/JavaScriptCore/bytecompiler -I../../Source/JavaScriptCore/dfg -I../../Source/JavaScriptCore/disassembler -I../../Source/JavaScriptCore/disassembler/ARM64 -I../../Source/JavaScriptCore/disassembler/udis86 -I../../Source/JavaScriptCore/domjit -I../../Source/JavaScriptCore/ftl -I../../Source/JavaScriptCore/heap -I../../Source/JavaScriptCore/debugger -I../../Source/JavaScriptCore/inspector -I../../Source/JavaScriptCore/inspector/agents -I../../Source/JavaScriptCore/inspector/augmentable -I../../Source/JavaScriptCore/inspector/remote -I../../Source/JavaScriptCore/interpreter -I../../Source/JavaScriptCore/jit -I../../Source/JavaScriptCore/llint -I../../Source/JavaScriptCore/parser -I../../Source/JavaScriptCore/profiler -I../../Source/JavaScriptCore/runtime -I../../Source/JavaScriptCore/tools -I../../Source/JavaScriptCore/wasm -I../../Source/JavaScriptCore/wasm/js -I../../Source/JavaScriptCore/yarr -IDerivedSources/JavaScriptCore -IDerivedSources/JavaScriptCore/inspector -IDerivedSources/JavaScriptCore/runtime -IDerivedSources/JavaScriptCore/yarr -I../../Source/ThirdParty/capstone/Source/include -IDerivedSources -I../../Source/ThirdParty -fdiagnostics-color=always -Wextra -Wall -Wno-expansion-to-defined -Wno-psabi -Wno-noexcept-type -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O3 -fno-strict-aliasing -fno-exceptions -fno-rtti  -DNDEBUG -fPIC   -ffp-contract=off -std=c++17 -MD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-bfc896e1-11.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-bfc896e1-11.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-bfc896e1-11.cpp.o -c DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-bfc896e1-11.cpp
In file included from DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-bfc896e1-11.cpp:5:
../../Source/JavaScriptCore/dfg/DFGOSRExit.cpp: In function ‘void JSC::DFG::reifyInlinedCallFrames(JSC::DFG::Context&amp;, JSC::CodeBlock*, const JSC::DFG::OSRExitBase&amp;)’:
../../Source/JavaScriptCore/dfg/DFGOSRExit.cpp:828:58: error: no matching function for call to ‘JSC::CallSiteIndex::CallSiteIndex(const JSC::Instruction*&amp;)’
         uint32_t locationBits = CallSiteIndex(instruction).bits();
```


it is related with JIT code because WPE still builds with `-DENABLE_JIT=OFF`

the fail was introduced in `BytecodeIndex should be a proper C++ class` https://trac.webkit.org/changeset/251468</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582778</commentid>
    <comment_count>1</comment_count>
      <attachid>381671</attachid>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2019-10-23 03:23:09 -0700</bug_when>
    <thetext>Created attachment 381671
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582780</commentid>
    <comment_count>2</comment_count>
      <attachid>381672</attachid>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2019-10-23 03:25:26 -0700</bug_when>
    <thetext>Created attachment 381672
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582784</commentid>
    <comment_count>3</comment_count>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2019-10-23 03:32:17 -0700</bug_when>
    <thetext>This https://trac.webkit.org/changeset/251468/webkit#file83 is still needed. I just uploaded a patch adapting the code to the changes done in r251468.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582786</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-10-23 03:37:10 -0700</bug_when>
    <thetext>Does this patch pass JSC tests on 32-bit targets?  I think the i386 EWS bit is broken.  So, we can’t rely on it to tell us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582787</commentid>
    <comment_count>5</comment_count>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2019-10-23 03:42:41 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #4)
&gt; Does this patch pass JSC tests on 32-bit targets?  I think the i386 EWS bit
&gt; is broken.  So, we can’t rely on it to tell us.

I just tested in ARMv7 boards right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582790</commentid>
    <comment_count>6</comment_count>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2019-10-23 03:48:12 -0700</bug_when>
    <thetext>(In reply to Pablo Saavedra from comment #5)
&gt; (In reply to Mark Lam from comment #4)
&gt; &gt; Does this patch pass JSC tests on 32-bit targets?  I think the i386 EWS bit
&gt; &gt; is broken.  So, we can’t rely on it to tell us.
&gt; 
&gt; I just tested in ARMv7 boards right now.


Sorry, I mean, I tested build step ... not the JSC tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582793</commentid>
    <comment_count>7</comment_count>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2019-10-23 04:41:17 -0700</bug_when>
    <thetext>(In reply to Pablo Saavedra from comment #6)
&gt; (In reply to Pablo Saavedra from comment #5)
&gt; &gt; (In reply to Mark Lam from comment #4)
&gt; &gt; &gt; Does this patch pass JSC tests on 32-bit targets?  I think the i386 EWS bit
&gt; &gt; &gt; is broken.  So, we can’t rely on it to tell us.
&gt; &gt; 
&gt; &gt; I just tested in ARMv7 boards right now.
&gt; 
&gt; 
&gt; Sorry, I mean, I tested build step ... not the JSC tests.

It is being a bit complicated to ensure anything because the r251425 (https://bugs.webkit.org/show_bug.cgi?id=202392#c41) was introduced so many failures the tests JSC tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583031</commentid>
    <comment_count>8</comment_count>
      <attachid>381729</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-10-23 14:32:51 -0700</bug_when>
    <thetext>Created attachment 381729
WIP fixes

This one contains both compile-time fixes as well as a few runtime fixes that temporarily cover work in #203285 or bring back 32-bit specifics from r251468.

This still leaves a good handful of tests failing, seemingly due to something in the DFG layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583059</commentid>
    <comment_count>9</comment_count>
      <attachid>381734</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-10-23 14:54:22 -0700</bug_when>
    <thetext>Created attachment 381734
WIP fixes

Another fix in CodeOrigin::isHashTableDeletedValue().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583150</commentid>
    <comment_count>10</comment_count>
      <attachid>381672</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-10-23 16:51:44 -0700</bug_when>
    <thetext>Comment on attachment 381672
patch

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

&gt; Source/JavaScriptCore/interpreter/CallFrame.h:55
&gt; +#if USE(JSVALUE32_64)
&gt; +        explicit CallSiteIndex(const Instruction* instruction)
&gt; +            : m_bytecodeIndex(bitwise_cast&lt;uint32_t&gt;(instruction))
&gt; +        { }
&gt; +#endif

I would like to get the refactoring that removes 32 / 64bit difference here: Use 64bit&apos;s logic and remove USE(JSVALUE32_64) around CallSiteIndex.
Can you do that?
Soon, we will introduce another change and that change could make this 32bit logic not working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583245</commentid>
    <comment_count>11</comment_count>
      <attachid>381779</attachid>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2019-10-23 23:46:15 -0700</bug_when>
    <thetext>Created attachment 381779
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583251</commentid>
    <comment_count>12</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-10-24 00:00:16 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #10)
&gt; Comment on attachment 381672 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=381672&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/interpreter/CallFrame.h:55
&gt; &gt; +#if USE(JSVALUE32_64)
&gt; &gt; +        explicit CallSiteIndex(const Instruction* instruction)
&gt; &gt; +            : m_bytecodeIndex(bitwise_cast&lt;uint32_t&gt;(instruction))
&gt; &gt; +        { }
&gt; &gt; +#endif
&gt; 
&gt; I would like to get the refactoring that removes 32 / 64bit difference here:
&gt; Use 64bit&apos;s logic and remove USE(JSVALUE32_64) around CallSiteIndex.
&gt; Can you do that?
&gt; Soon, we will introduce another change and that change could make this 32bit
&gt; logic not working.

We can do manual casting to BytecodeIndex where required.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583284</commentid>
    <comment_count>13</comment_count>
      <attachid>381789</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-10-24 02:02:18 -0700</bug_when>
    <thetext>Created attachment 381789
Pending fixes

This is a list of logic fixes that fix the remaining test failures (all but one). I&apos;ll polish this into a patch in a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583301</commentid>
    <comment_count>14</comment_count>
      <attachid>381796</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-10-24 03:55:13 -0700</bug_when>
    <thetext>Created attachment 381796
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583302</commentid>
    <comment_count>15</comment_count>
      <attachid>381796</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-10-24 03:59:35 -0700</bug_when>
    <thetext>Comment on attachment 381796
Patch

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

&gt; Source/JavaScriptCore/bytecode/BytecodeIndex.h:42
&gt; +    BytecodeIndex(WTF::HashTableDeletedValueType)
&gt; +        : m_offset(deletedValue().asBits())
&gt; +    {
&gt; +    }

This missing constructor was the main problem of the remaining issues. Without it, the BytecodeIndex(WTF::HashTableDeletedValue) construction defaulted to the uin32_t constructor. With WTF::HashTableDeletedValue being effectively 0, this ended up constructing zero-valued BytecodeIndex objects that on their own are completely valid, non-empty and non-deleted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583303</commentid>
    <comment_count>16</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-10-24 03:59:42 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=381796&amp;action=review

&gt; Source/JavaScriptCore/bytecode/BytecodeIndex.h:42
&gt; +    BytecodeIndex(WTF::HashTableDeletedValueType)
&gt; +        : m_offset(deletedValue().asBits())
&gt; +    {
&gt; +    }

This missing constructor was the main problem of the remaining issues. Without it, the BytecodeIndex(WTF::HashTableDeletedValue) construction defaulted to the uin32_t constructor. With WTF::HashTableDeletedValue being effectively 0, this ended up constructing zero-valued BytecodeIndex objects that on their own are completely valid, non-empty and non-deleted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583306</commentid>
    <comment_count>17</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-10-24 04:17:38 -0700</bug_when>
    <thetext>On 32-bit ARMv7, the patch puts into working order all the tests except one ChakraCore test. That failure is due to the BytecodeIndex rework, and apparently originates from the DFG layer, but it&apos;s still unclear why it occurs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583408</commentid>
    <comment_count>18</comment_count>
      <attachid>381796</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-10-24 10:13:22 -0700</bug_when>
    <thetext>Comment on attachment 381796
Patch

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

r=me weird that this worked on 64 bit... since I would have guessed this would break a lot of things...

&gt;&gt; Source/JavaScriptCore/bytecode/BytecodeIndex.h:42
&gt;&gt; +    }
&gt; 
&gt; This missing constructor was the main problem of the remaining issues. Without it, the BytecodeIndex(WTF::HashTableDeletedValue) construction defaulted to the uin32_t constructor. With WTF::HashTableDeletedValue being effectively 0, this ended up constructing zero-valued BytecodeIndex objects that on their own are completely valid, non-empty and non-deleted.

Ugh, we should make WTF::HashTableDeletedValueType be a enum class...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583675</commentid>
    <comment_count>19</comment_count>
      <attachid>381796</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-10-24 22:45:06 -0700</bug_when>
    <thetext>Comment on attachment 381796
Patch

Clearing flags on attachment: 381796

Committed r251583: &lt;https://trac.webkit.org/changeset/251583&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583676</commentid>
    <comment_count>20</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-10-24 22:45:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583681</commentid>
    <comment_count>21</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-24 22:47:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/56608497&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381671</attachid>
            <date>2019-10-23 03:23:09 -0700</date>
            <delta_ts>2019-10-23 03:25:10 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug-203290-20191023122308.patch</filename>
            <type>text/plain</type>
            <size>9798</size>
            <attacher name="Pablo Saavedra">psaavedra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NGRlNDY1NTY3ZmE4N2NkMmNiOWEyMTEzMjJjZTllY2E1OGNlOWZkLi4yYTlkNDRmOTFlZTY0ZmYw
Y2FhZTE1NzhmODQzODRmMGM2OTUxZGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxOS0xMC0yMyAgUGFibG8gU2FhdmVkcmEgIDxwc2FhdmVkcmFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbV1BFXSBCdWlsZCBmYWlsdXJlIGFmdGVyIHIyNTE0NjggKEJ5dGVj
b2RlSW5kZXggc2hvdWxkIGJlIGEgcHJvcGVyIEMrKyBjbGFzcykgZm9yIDMyXzY0IGFyY2hpdGVj
dHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
MzI5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmg6CisgICAgICAgIChKU0M6OkNhbGxTaXRlSW5kZXg6OkNh
bGxTaXRlSW5kZXgpOgorICAgICAgICAqIGppdC9KSVRDYWxsMzJfNjQuY3BwOgorICAgICAgICAo
SlNDOjpKSVQ6OmNvbXBpbGVDYWxsRXZhbFNsb3dDYXNlKToKKyAgICAgICAgKEpTQzo6SklUOjpj
b21waWxlT3BDYWxsKToKKyAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHA6
CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9nZXRfYnlfdmFsKToKKyAgICAgICAgKEpTQzo6
SklUOjplbWl0R2V0QnlWYWxXaXRoQ2FjaGVkSWQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRf
b3BfcHV0X2J5X3ZhbCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFB1dEJ5VmFsV2l0aENhY2hl
ZElkKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX3RyeV9nZXRfYnlfaWQpOgorICAgICAg
ICAoSlNDOjpKSVQ6OmVtaXRfb3BfZ2V0X2J5X2lkX2RpcmVjdCk6CisgICAgICAgIChKU0M6OkpJ
VDo6ZW1pdF9vcF9nZXRfYnlfaWQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfZ2V0X2J5
X2lkX3dpdGhfdGhpcyk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9wdXRfYnlfaWQpOgor
ICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfaW5fYnlfaWQpOgorCiAyMDE5LTEwLTIyICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBgSlNHbG9iYWxP
YmplY3QqYCB0aHJlYWRpbmcgY2hhbmdlIG1vcmUgc3RhYmlsaXplZCBieSBhZGRpbmcgdGVzdHMg
YW5kIGFzc2VydGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9DYWxsRnJhbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxs
RnJhbWUuaAppbmRleCAxMGVkZmIwZWI1ZTk1MDM4YjBhNjRiY2VmNDJmMmM1ZTIyMWMyYmI2Li5l
ZDU2MDRlYzU2MWQwYzc5MDFmNWVhYjU1YjdjOWUwMzA1NmQyNDZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhbGxGcmFtZS5oCkBAIC00OCw3ICs0OCwxMSBAQCBu
YW1lc3BhY2UgSlNDICB7CiAgICAgICAgIGV4cGxpY2l0IENhbGxTaXRlSW5kZXgoQnl0ZWNvZGVJ
bmRleCBieXRlY29kZUluZGV4KQogICAgICAgICAgICAgOiBtX2J5dGVjb2RlSW5kZXgoYnl0ZWNv
ZGVJbmRleCkKICAgICAgICAgeyB9Ci0KKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICBl
eHBsaWNpdCBDYWxsU2l0ZUluZGV4KGNvbnN0IEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbikKKyAg
ICAgICAgICAgIDogbV9ieXRlY29kZUluZGV4KGJpdHdpc2VfY2FzdDx1aW50MzJfdD4oaW5zdHJ1
Y3Rpb24pKQorICAgICAgICB7IH0KKyNlbmRpZgogICAgICAgICBleHBsaWNpdCBvcGVyYXRvciBi
b29sKCkgY29uc3QgeyByZXR1cm4gISFtX2J5dGVjb2RlSW5kZXg7IH0KICAgICAgICAgYm9vbCBv
cGVyYXRvcj09KGNvbnN0IENhbGxTaXRlSW5kZXgmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX2J5
dGVjb2RlSW5kZXggPT0gb3RoZXIubV9ieXRlY29kZUluZGV4OyB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcAppbmRleCBhN2RjODI1YmM5MmFkMTE1NGNmYTMz
YTQ4YjJiMzE2MTg5NTg2ZTMwLi4xMGJhOWY0MWNhZGQ3OTg3YmZiYmY1YTU3MmFhYzgwNmE3MTQ3
ZTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwzMl82NC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsMzJfNjQuY3BwCkBAIC0y
NDYsNyArMjQ2LDcgQEAgdm9pZCBKSVQ6OmNvbXBpbGVDYWxsRXZhbFNsb3dDYXNlKGNvbnN0IElu
c3RydWN0aW9uKiBpbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXMKIAogICAgIGF1dG8gYnl0ZWNv
ZGUgPSBpbnN0cnVjdGlvbi0+YXM8T3BDYWxsRXZhbD4oKTsKICAgICBDYWxsTGlua0luZm8qIGlu
Zm8gPSBtX2NvZGVCbG9jay0+YWRkQ2FsbExpbmtJbmZvKCk7Ci0gICAgaW5mby0+c2V0VXBDYWxs
KENhbGxMaW5rSW5mbzo6Q2FsbCwgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgcmVnVDAp
OworICAgIGluZm8tPnNldFVwQ2FsbChDYWxsTGlua0luZm86OkNhbGwsIENvZGVPcmlnaW4obV9i
eXRlY29kZUluZGV4KSwgcmVnVDApOwogCiAgICAgaW50IHJlZ2lzdGVyT2Zmc2V0ID0gLWJ5dGVj
b2RlLm1fYXJndjsKICAgICBpbnQgY2FsbGVlID0gYnl0ZWNvZGUubV9jYWxsZWUub2Zmc2V0KCk7
CkBAIC0zMDksNyArMzA5LDcgQEAgdm9pZCBKSVQ6OmNvbXBpbGVPcENhbGwoY29uc3QgSW5zdHJ1
Y3Rpb24qIGluc3RydWN0aW9uLCB1bnNpZ25lZCBjYWxsTGlua0luZm9JbmQKICAgICBhZGRTbG93
Q2FzZShzbG93Q2FzZSk7CiAKICAgICBBU1NFUlQobV9jYWxsQ29tcGlsYXRpb25JbmZvLnNpemUo
KSA9PSBjYWxsTGlua0luZm9JbmRleCk7Ci0gICAgaW5mby0+c2V0VXBDYWxsKENhbGxMaW5rSW5m
bzo6Y2FsbFR5cGVGb3Iob3Bjb2RlSUQpLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBy
ZWdUMCk7CisgICAgaW5mby0+c2V0VXBDYWxsKENhbGxMaW5rSW5mbzo6Y2FsbFR5cGVGb3Iob3Bj
b2RlSUQpLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVJbmRleCksIHJlZ1QwKTsKICAgICBtX2NhbGxD
b21waWxhdGlvbkluZm8uYXBwZW5kKENhbGxDb21waWxhdGlvbkluZm8oKSk7CiAgICAgbV9jYWxs
Q29tcGlsYXRpb25JbmZvW2NhbGxMaW5rSW5mb0luZGV4XS5ob3RQYXRoQmVnaW4gPSBhZGRyZXNz
T2ZMaW5rZWRGdW5jdGlvbkNoZWNrOwogICAgIG1fY2FsbENvbXBpbGF0aW9uSW5mb1tjYWxsTGlu
a0luZm9JbmRleF0uY2FsbExpbmtJbmZvID0gaW5mbzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCmluZGV4IGM4OGJjNzA2ZWQ2
NDJlNjk0N2VlOTUxNjE4NGJlNzFkYmNkYjk5ZGUuLjZjNDg2NDcwOTU5ZDA1NjNkZTZhZDA4Yjg3
NzE1MzMwZDZmMWJjYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
UHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcApAQCAtMTkxLDcgKzE5MSw3IEBAIHZvaWQgSklUOjpl
bWl0X29wX2dldF9ieV92YWwoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikK
IAogICAgIExhYmVsIG5leHRIb3RQYXRoID0gbGFiZWwoKTsKICAgICAKLSAgICBtX2J5VmFsQ29t
cGlsYXRpb25JbmZvLmFwcGVuZChCeVZhbENvbXBpbGF0aW9uSW5mbyhieVZhbEluZm8sIG1fYnl0
ZWNvZGVPZmZzZXQsIG5vdEluZGV4LCBiYWRUeXBlLCBtb2RlLCBwcm9maWxlLCBkb25lLCBuZXh0
SG90UGF0aCkpOworICAgIG1fYnlWYWxDb21waWxhdGlvbkluZm8uYXBwZW5kKEJ5VmFsQ29tcGls
YXRpb25JbmZvKGJ5VmFsSW5mbywgbV9ieXRlY29kZUluZGV4LCBub3RJbmRleCwgYmFkVHlwZSwg
bW9kZSwgcHJvZmlsZSwgZG9uZSwgbmV4dEhvdFBhdGgpKTsKIH0KIAogSklUR2V0QnlJZEdlbmVy
YXRvciBKSVQ6OmVtaXRHZXRCeVZhbFdpdGhDYWNoZWRJZChCeVZhbEluZm8qIGJ5VmFsSW5mbywg
T3BHZXRCeVZhbCBieXRlY29kZSwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKdW1w
JiBmYXN0RG9uZUNhc2UsIEp1bXAmIHNsb3dEb25lQ2FzZSwgSnVtcExpc3QmIHNsb3dDYXNlcykK
QEAgLTIwNyw3ICsyMDcsNyBAQCBKSVRHZXRCeUlkR2VuZXJhdG9yIEpJVDo6ZW1pdEdldEJ5VmFs
V2l0aENhY2hlZElkKEJ5VmFsSW5mbyogYnlWYWxJbmZvLCBPcEdldEJ5VgogCiAgICAgY29uc3Qg
SW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiA9IG1fY29kZUJsb2NrLT5pbnN0cnVjdGlv
bnMoKS5hdChieVZhbEluZm8tPmJ5dGVjb2RlSW5kZXgpLnB0cigpOwogICAgIEpJVEdldEJ5SWRH
ZW5lcmF0b3IgZ2VuKAotICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2Rl
T2Zmc2V0KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6
c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCisgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3Jp
Z2luKG1fYnl0ZWNvZGVJbmRleCksIENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwg
UmVnaXN0ZXJTZXQ6OnN0dWJVbmF2YWlsYWJsZVJlZ2lzdGVycygpLAogICAgICAgICBwcm9wZXJ0
eU5hbWUuaW1wbCgpLCBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVn
cyhyZWdUMSwgcmVnVDApLCBBY2Nlc3NUeXBlOjpHZXQpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQ
YXRoKCp0aGlzKTsKIApAQCAtMzE0LDcgKzMxNCw3IEBAIHZvaWQgSklUOjplbWl0X29wX3B1dF9i
eV92YWwoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICAKICAgICBM
YWJlbCBkb25lID0gbGFiZWwoKTsKICAgICAKLSAgICBtX2J5VmFsQ29tcGlsYXRpb25JbmZvLmFw
cGVuZChCeVZhbENvbXBpbGF0aW9uSW5mbyhieVZhbEluZm8sIG1fYnl0ZWNvZGVPZmZzZXQsIG5v
dEluZGV4LCBiYWRUeXBlLCBtb2RlLCBwcm9maWxlLCBkb25lLCBkb25lKSk7CisgICAgbV9ieVZh
bENvbXBpbGF0aW9uSW5mby5hcHBlbmQoQnlWYWxDb21waWxhdGlvbkluZm8oYnlWYWxJbmZvLCBt
X2J5dGVjb2RlSW5kZXgsIG5vdEluZGV4LCBiYWRUeXBlLCBtb2RlLCBwcm9maWxlLCBkb25lLCBk
b25lKSk7CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBPcD4KQEAgLTQzNyw3ICs0MzcsNyBAQCBK
SVRQdXRCeUlkR2VuZXJhdG9yIEpJVDo6ZW1pdFB1dEJ5VmFsV2l0aENhY2hlZElkKEJ5VmFsSW5m
byogYnlWYWxJbmZvLCBPcCBieXRlYwogCiAgICAgY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJ
bnN0cnVjdGlvbiA9IG1fY29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5hdChieVZhbEluZm8tPmJ5
dGVjb2RlSW5kZXgpLnB0cigpOwogICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAg
ICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgQ2FsbFNpdGVJbmRl
eChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0
ZXJzKCksCisgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVJbmRleCks
IENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0dWJVbmF2
YWlsYWJsZVJlZ2lzdGVycygpLAogICAgICAgICBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVn
VDApLCBKU1ZhbHVlUmVncyhyZWdUMywgcmVnVDIpLCByZWdUMSwgbV9jb2RlQmxvY2stPmVjbWFN
b2RlKCksIHB1dEtpbmQpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0aGlzKTsKICAgICBk
b25lQ2FzZXMuYXBwZW5kKGp1bXAoKSk7CkBAIC01MDEsNyArNTAxLDcgQEAgdm9pZCBKSVQ6OmVt
aXRfb3BfdHJ5X2dldF9ieV9pZChjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9u
KQogICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEpTQ2VsbChiYXNlLCByZWdUMSk7CiAKICAgICBK
SVRHZXRCeUlkR2VuZXJhdG9yIGdlbigKLSAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4o
bV9ieXRlY29kZU9mZnNldCksIENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVn
aXN0ZXJTZXQ6OnN0dWJVbmF2YWlsYWJsZVJlZ2lzdGVycygpLAorICAgICAgICBtX2NvZGVCbG9j
aywgQ29kZU9yaWdpbihtX2J5dGVjb2RlSW5kZXgpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJbnN0
cnVjdGlvbiksIFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKICAgICAg
ICAgaWRlbnQtPmltcGwoKSwgSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KHJlZ1QwKSwgSlNWYWx1
ZVJlZ3MocmVnVDEsIHJlZ1QwKSwgQWNjZXNzVHlwZTo6VHJ5R2V0KTsKICAgICBnZW4uZ2VuZXJh
dGVGYXN0UGF0aCgqdGhpcyk7CiAgICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQYXRoSnVtcCgpKTsK
QEAgLTU0MCw3ICs1NDAsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9nZXRfYnlfaWRfZGlyZWN0KGNv
bnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgZW1pdEp1bXBTbG93Q2Fz
ZUlmTm90SlNDZWxsKGJhc2UsIHJlZ1QxKTsKIAogICAgIEpJVEdldEJ5SWRHZW5lcmF0b3IgZ2Vu
KAotICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgQ2Fs
bFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxh
YmxlUmVnaXN0ZXJzKCksCisgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNv
ZGVJbmRleCksIENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6
OnN0dWJVbmF2YWlsYWJsZVJlZ2lzdGVycygpLAogICAgICAgICBpZGVudC0+aW1wbCgpLCBKU1Zh
bHVlUmVnczo6cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDApLCBB
Y2Nlc3NUeXBlOjpHZXREaXJlY3QpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0aGlzKTsK
ICAgICBhZGRTbG93Q2FzZShnZW4uc2xvd1BhdGhKdW1wKCkpOwpAQCAtNTg2LDcgKzU4Niw3IEBA
IHZvaWQgSklUOjplbWl0X29wX2dldF9ieV9pZChjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudElu
c3RydWN0aW9uKQogICAgIH0KIAogICAgIEpJVEdldEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAg
ICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgQ2FsbFNpdGVJbmRl
eChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0
ZXJzKCksCisgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVJbmRleCks
IENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0dWJVbmF2
YWlsYWJsZVJlZ2lzdGVycygpLAogICAgICAgICBpZGVudC0+aW1wbCgpLCBKU1ZhbHVlUmVnczo6
cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDApLCBBY2Nlc3NUeXBl
OjpHZXQpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0aGlzKTsKICAgICBhZGRTbG93Q2Fz
ZShnZW4uc2xvd1BhdGhKdW1wKCkpOwpAQCAtNjI3LDcgKzYyNyw3IEBAIHZvaWQgSklUOjplbWl0
X29wX2dldF9ieV9pZF93aXRoX3RoaXMoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVj
dGlvbikKICAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RKU0NlbGwodGhpc1ZSZWcsIHJlZ1Q0KTsK
IAogICAgIEpJVEdldEJ5SWRXaXRoVGhpc0dlbmVyYXRvciBnZW4oCi0gICAgICAgIG1fY29kZUJs
b2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJ
bnN0cnVjdGlvbiksIFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKKyAg
ICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZUluZGV4KSwgQ2FsbFNpdGVJ
bmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVn
aXN0ZXJzKCksCiAgICAgICAgIGlkZW50LT5pbXBsKCksIEpTVmFsdWVSZWdzKHJlZ1QxLCByZWdU
MCksIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1Q0LCBy
ZWdUMyksIEFjY2Vzc1R5cGU6OkdldFdpdGhUaGlzKTsKICAgICBnZW4uZ2VuZXJhdGVGYXN0UGF0
aCgqdGhpcyk7CiAgICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQYXRoSnVtcCgpKTsKQEAgLTY3MCw3
ICs2NzAsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9wdXRfYnlfaWQoY29uc3QgSW5zdHJ1Y3Rpb24q
IGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RKU0NlbGwoYmFz
ZSwgcmVnVDEpOwogCiAgICAgSklUUHV0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1fY29k
ZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBDYWxsU2l0ZUluZGV4KGN1cnJl
bnRJbnN0cnVjdGlvbiksIFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwK
KyAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZUluZGV4KSwgQ2FsbFNp
dGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxl
UmVnaXN0ZXJzKCksCiAgICAgICAgIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpT
VmFsdWVSZWdzKHJlZ1QzLCByZWdUMiksCiAgICAgICAgIHJlZ1QxLCBtX2NvZGVCbG9jay0+ZWNt
YU1vZGUoKSwgZGlyZWN0ID8gRGlyZWN0IDogTm90RGlyZWN0KTsKICAgICAKQEAgLTcxNCw3ICs3
MTQsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbl9ieV9pZChjb25zdCBJbnN0cnVjdGlvbiogY3Vy
cmVudEluc3RydWN0aW9uKQogICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEpTQ2VsbChiYXNlLCBy
ZWdUMSk7CiAKICAgICBKSVRJbkJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAgICBtX2NvZGVCbG9j
aywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50SW5z
dHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCisgICAg
ICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVJbmRleCksIENhbGxTaXRlSW5k
ZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0dWJVbmF2YWlsYWJsZVJlZ2lz
dGVycygpLAogICAgICAgICBpZGVudC0+aW1wbCgpLCBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHko
cmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDApKTsKICAgICBnZW4uZ2VuZXJhdGVGYXN0
UGF0aCgqdGhpcyk7CiAgICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQYXRoSnVtcCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381672</attachid>
            <date>2019-10-23 03:25:26 -0700</date>
            <delta_ts>2019-10-23 23:46:07 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug-203290-20191023122525.patch</filename>
            <type>text/plain</type>
            <size>9798</size>
            <attacher name="Pablo Saavedra">psaavedra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NGRlNDY1NTY3ZmE4N2NkMmNiOWEyMTEzMjJjZTllY2E1OGNlOWZkLi4yYTlkNDRmOTFlZTY0ZmYw
Y2FhZTE1NzhmODQzODRmMGM2OTUxZGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxOS0xMC0yMyAgUGFibG8gU2FhdmVkcmEgIDxwc2FhdmVkcmFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbV1BFXSBCdWlsZCBmYWlsdXJlIGFmdGVyIHIyNTE0NjggKEJ5dGVj
b2RlSW5kZXggc2hvdWxkIGJlIGEgcHJvcGVyIEMrKyBjbGFzcykgZm9yIDMyXzY0IGFyY2hpdGVj
dHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
MzI5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmg6CisgICAgICAgIChKU0M6OkNhbGxTaXRlSW5kZXg6OkNh
bGxTaXRlSW5kZXgpOgorICAgICAgICAqIGppdC9KSVRDYWxsMzJfNjQuY3BwOgorICAgICAgICAo
SlNDOjpKSVQ6OmNvbXBpbGVDYWxsRXZhbFNsb3dDYXNlKToKKyAgICAgICAgKEpTQzo6SklUOjpj
b21waWxlT3BDYWxsKToKKyAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHA6
CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9nZXRfYnlfdmFsKToKKyAgICAgICAgKEpTQzo6
SklUOjplbWl0R2V0QnlWYWxXaXRoQ2FjaGVkSWQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRf
b3BfcHV0X2J5X3ZhbCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFB1dEJ5VmFsV2l0aENhY2hl
ZElkKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX3RyeV9nZXRfYnlfaWQpOgorICAgICAg
ICAoSlNDOjpKSVQ6OmVtaXRfb3BfZ2V0X2J5X2lkX2RpcmVjdCk6CisgICAgICAgIChKU0M6OkpJ
VDo6ZW1pdF9vcF9nZXRfYnlfaWQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfZ2V0X2J5
X2lkX3dpdGhfdGhpcyk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9wdXRfYnlfaWQpOgor
ICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfaW5fYnlfaWQpOgorCiAyMDE5LTEwLTIyICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBgSlNHbG9iYWxP
YmplY3QqYCB0aHJlYWRpbmcgY2hhbmdlIG1vcmUgc3RhYmlsaXplZCBieSBhZGRpbmcgdGVzdHMg
YW5kIGFzc2VydGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9DYWxsRnJhbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxs
RnJhbWUuaAppbmRleCAxMGVkZmIwZWI1ZTk1MDM4YjBhNjRiY2VmNDJmMmM1ZTIyMWMyYmI2Li5l
ZDU2MDRlYzU2MWQwYzc5MDFmNWVhYjU1YjdjOWUwMzA1NmQyNDZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhbGxGcmFtZS5oCkBAIC00OCw3ICs0OCwxMSBAQCBu
YW1lc3BhY2UgSlNDICB7CiAgICAgICAgIGV4cGxpY2l0IENhbGxTaXRlSW5kZXgoQnl0ZWNvZGVJ
bmRleCBieXRlY29kZUluZGV4KQogICAgICAgICAgICAgOiBtX2J5dGVjb2RlSW5kZXgoYnl0ZWNv
ZGVJbmRleCkKICAgICAgICAgeyB9Ci0KKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICBl
eHBsaWNpdCBDYWxsU2l0ZUluZGV4KGNvbnN0IEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbikKKyAg
ICAgICAgICAgIDogbV9ieXRlY29kZUluZGV4KGJpdHdpc2VfY2FzdDx1aW50MzJfdD4oaW5zdHJ1
Y3Rpb24pKQorICAgICAgICB7IH0KKyNlbmRpZgogICAgICAgICBleHBsaWNpdCBvcGVyYXRvciBi
b29sKCkgY29uc3QgeyByZXR1cm4gISFtX2J5dGVjb2RlSW5kZXg7IH0KICAgICAgICAgYm9vbCBv
cGVyYXRvcj09KGNvbnN0IENhbGxTaXRlSW5kZXgmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX2J5
dGVjb2RlSW5kZXggPT0gb3RoZXIubV9ieXRlY29kZUluZGV4OyB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcAppbmRleCBhN2RjODI1YmM5MmFkMTE1NGNmYTMz
YTQ4YjJiMzE2MTg5NTg2ZTMwLi4xMGJhOWY0MWNhZGQ3OTg3YmZiYmY1YTU3MmFhYzgwNmE3MTQ3
ZTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwzMl82NC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsMzJfNjQuY3BwCkBAIC0y
NDYsNyArMjQ2LDcgQEAgdm9pZCBKSVQ6OmNvbXBpbGVDYWxsRXZhbFNsb3dDYXNlKGNvbnN0IElu
c3RydWN0aW9uKiBpbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXMKIAogICAgIGF1dG8gYnl0ZWNv
ZGUgPSBpbnN0cnVjdGlvbi0+YXM8T3BDYWxsRXZhbD4oKTsKICAgICBDYWxsTGlua0luZm8qIGlu
Zm8gPSBtX2NvZGVCbG9jay0+YWRkQ2FsbExpbmtJbmZvKCk7Ci0gICAgaW5mby0+c2V0VXBDYWxs
KENhbGxMaW5rSW5mbzo6Q2FsbCwgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgcmVnVDAp
OworICAgIGluZm8tPnNldFVwQ2FsbChDYWxsTGlua0luZm86OkNhbGwsIENvZGVPcmlnaW4obV9i
eXRlY29kZUluZGV4KSwgcmVnVDApOwogCiAgICAgaW50IHJlZ2lzdGVyT2Zmc2V0ID0gLWJ5dGVj
b2RlLm1fYXJndjsKICAgICBpbnQgY2FsbGVlID0gYnl0ZWNvZGUubV9jYWxsZWUub2Zmc2V0KCk7
CkBAIC0zMDksNyArMzA5LDcgQEAgdm9pZCBKSVQ6OmNvbXBpbGVPcENhbGwoY29uc3QgSW5zdHJ1
Y3Rpb24qIGluc3RydWN0aW9uLCB1bnNpZ25lZCBjYWxsTGlua0luZm9JbmQKICAgICBhZGRTbG93
Q2FzZShzbG93Q2FzZSk7CiAKICAgICBBU1NFUlQobV9jYWxsQ29tcGlsYXRpb25JbmZvLnNpemUo
KSA9PSBjYWxsTGlua0luZm9JbmRleCk7Ci0gICAgaW5mby0+c2V0VXBDYWxsKENhbGxMaW5rSW5m
bzo6Y2FsbFR5cGVGb3Iob3Bjb2RlSUQpLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBy
ZWdUMCk7CisgICAgaW5mby0+c2V0VXBDYWxsKENhbGxMaW5rSW5mbzo6Y2FsbFR5cGVGb3Iob3Bj
b2RlSUQpLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVJbmRleCksIHJlZ1QwKTsKICAgICBtX2NhbGxD
b21waWxhdGlvbkluZm8uYXBwZW5kKENhbGxDb21waWxhdGlvbkluZm8oKSk7CiAgICAgbV9jYWxs
Q29tcGlsYXRpb25JbmZvW2NhbGxMaW5rSW5mb0luZGV4XS5ob3RQYXRoQmVnaW4gPSBhZGRyZXNz
T2ZMaW5rZWRGdW5jdGlvbkNoZWNrOwogICAgIG1fY2FsbENvbXBpbGF0aW9uSW5mb1tjYWxsTGlu
a0luZm9JbmRleF0uY2FsbExpbmtJbmZvID0gaW5mbzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCmluZGV4IGM4OGJjNzA2ZWQ2
NDJlNjk0N2VlOTUxNjE4NGJlNzFkYmNkYjk5ZGUuLjZjNDg2NDcwOTU5ZDA1NjNkZTZhZDA4Yjg3
NzE1MzMwZDZmMWJjYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
UHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcApAQCAtMTkxLDcgKzE5MSw3IEBAIHZvaWQgSklUOjpl
bWl0X29wX2dldF9ieV92YWwoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikK
IAogICAgIExhYmVsIG5leHRIb3RQYXRoID0gbGFiZWwoKTsKICAgICAKLSAgICBtX2J5VmFsQ29t
cGlsYXRpb25JbmZvLmFwcGVuZChCeVZhbENvbXBpbGF0aW9uSW5mbyhieVZhbEluZm8sIG1fYnl0
ZWNvZGVPZmZzZXQsIG5vdEluZGV4LCBiYWRUeXBlLCBtb2RlLCBwcm9maWxlLCBkb25lLCBuZXh0
SG90UGF0aCkpOworICAgIG1fYnlWYWxDb21waWxhdGlvbkluZm8uYXBwZW5kKEJ5VmFsQ29tcGls
YXRpb25JbmZvKGJ5VmFsSW5mbywgbV9ieXRlY29kZUluZGV4LCBub3RJbmRleCwgYmFkVHlwZSwg
bW9kZSwgcHJvZmlsZSwgZG9uZSwgbmV4dEhvdFBhdGgpKTsKIH0KIAogSklUR2V0QnlJZEdlbmVy
YXRvciBKSVQ6OmVtaXRHZXRCeVZhbFdpdGhDYWNoZWRJZChCeVZhbEluZm8qIGJ5VmFsSW5mbywg
T3BHZXRCeVZhbCBieXRlY29kZSwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKdW1w
JiBmYXN0RG9uZUNhc2UsIEp1bXAmIHNsb3dEb25lQ2FzZSwgSnVtcExpc3QmIHNsb3dDYXNlcykK
QEAgLTIwNyw3ICsyMDcsNyBAQCBKSVRHZXRCeUlkR2VuZXJhdG9yIEpJVDo6ZW1pdEdldEJ5VmFs
V2l0aENhY2hlZElkKEJ5VmFsSW5mbyogYnlWYWxJbmZvLCBPcEdldEJ5VgogCiAgICAgY29uc3Qg
SW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiA9IG1fY29kZUJsb2NrLT5pbnN0cnVjdGlv
bnMoKS5hdChieVZhbEluZm8tPmJ5dGVjb2RlSW5kZXgpLnB0cigpOwogICAgIEpJVEdldEJ5SWRH
ZW5lcmF0b3IgZ2VuKAotICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2Rl
T2Zmc2V0KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6
c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCisgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3Jp
Z2luKG1fYnl0ZWNvZGVJbmRleCksIENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwg
UmVnaXN0ZXJTZXQ6OnN0dWJVbmF2YWlsYWJsZVJlZ2lzdGVycygpLAogICAgICAgICBwcm9wZXJ0
eU5hbWUuaW1wbCgpLCBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVn
cyhyZWdUMSwgcmVnVDApLCBBY2Nlc3NUeXBlOjpHZXQpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQ
YXRoKCp0aGlzKTsKIApAQCAtMzE0LDcgKzMxNCw3IEBAIHZvaWQgSklUOjplbWl0X29wX3B1dF9i
eV92YWwoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICAKICAgICBM
YWJlbCBkb25lID0gbGFiZWwoKTsKICAgICAKLSAgICBtX2J5VmFsQ29tcGlsYXRpb25JbmZvLmFw
cGVuZChCeVZhbENvbXBpbGF0aW9uSW5mbyhieVZhbEluZm8sIG1fYnl0ZWNvZGVPZmZzZXQsIG5v
dEluZGV4LCBiYWRUeXBlLCBtb2RlLCBwcm9maWxlLCBkb25lLCBkb25lKSk7CisgICAgbV9ieVZh
bENvbXBpbGF0aW9uSW5mby5hcHBlbmQoQnlWYWxDb21waWxhdGlvbkluZm8oYnlWYWxJbmZvLCBt
X2J5dGVjb2RlSW5kZXgsIG5vdEluZGV4LCBiYWRUeXBlLCBtb2RlLCBwcm9maWxlLCBkb25lLCBk
b25lKSk7CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBPcD4KQEAgLTQzNyw3ICs0MzcsNyBAQCBK
SVRQdXRCeUlkR2VuZXJhdG9yIEpJVDo6ZW1pdFB1dEJ5VmFsV2l0aENhY2hlZElkKEJ5VmFsSW5m
byogYnlWYWxJbmZvLCBPcCBieXRlYwogCiAgICAgY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJ
bnN0cnVjdGlvbiA9IG1fY29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5hdChieVZhbEluZm8tPmJ5
dGVjb2RlSW5kZXgpLnB0cigpOwogICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAg
ICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgQ2FsbFNpdGVJbmRl
eChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0
ZXJzKCksCisgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVJbmRleCks
IENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0dWJVbmF2
YWlsYWJsZVJlZ2lzdGVycygpLAogICAgICAgICBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVn
VDApLCBKU1ZhbHVlUmVncyhyZWdUMywgcmVnVDIpLCByZWdUMSwgbV9jb2RlQmxvY2stPmVjbWFN
b2RlKCksIHB1dEtpbmQpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0aGlzKTsKICAgICBk
b25lQ2FzZXMuYXBwZW5kKGp1bXAoKSk7CkBAIC01MDEsNyArNTAxLDcgQEAgdm9pZCBKSVQ6OmVt
aXRfb3BfdHJ5X2dldF9ieV9pZChjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9u
KQogICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEpTQ2VsbChiYXNlLCByZWdUMSk7CiAKICAgICBK
SVRHZXRCeUlkR2VuZXJhdG9yIGdlbigKLSAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4o
bV9ieXRlY29kZU9mZnNldCksIENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVn
aXN0ZXJTZXQ6OnN0dWJVbmF2YWlsYWJsZVJlZ2lzdGVycygpLAorICAgICAgICBtX2NvZGVCbG9j
aywgQ29kZU9yaWdpbihtX2J5dGVjb2RlSW5kZXgpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJbnN0
cnVjdGlvbiksIFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKICAgICAg
ICAgaWRlbnQtPmltcGwoKSwgSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KHJlZ1QwKSwgSlNWYWx1
ZVJlZ3MocmVnVDEsIHJlZ1QwKSwgQWNjZXNzVHlwZTo6VHJ5R2V0KTsKICAgICBnZW4uZ2VuZXJh
dGVGYXN0UGF0aCgqdGhpcyk7CiAgICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQYXRoSnVtcCgpKTsK
QEAgLTU0MCw3ICs1NDAsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9nZXRfYnlfaWRfZGlyZWN0KGNv
bnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgZW1pdEp1bXBTbG93Q2Fz
ZUlmTm90SlNDZWxsKGJhc2UsIHJlZ1QxKTsKIAogICAgIEpJVEdldEJ5SWRHZW5lcmF0b3IgZ2Vu
KAotICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgQ2Fs
bFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxh
YmxlUmVnaXN0ZXJzKCksCisgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNv
ZGVJbmRleCksIENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6
OnN0dWJVbmF2YWlsYWJsZVJlZ2lzdGVycygpLAogICAgICAgICBpZGVudC0+aW1wbCgpLCBKU1Zh
bHVlUmVnczo6cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDApLCBB
Y2Nlc3NUeXBlOjpHZXREaXJlY3QpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0aGlzKTsK
ICAgICBhZGRTbG93Q2FzZShnZW4uc2xvd1BhdGhKdW1wKCkpOwpAQCAtNTg2LDcgKzU4Niw3IEBA
IHZvaWQgSklUOjplbWl0X29wX2dldF9ieV9pZChjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudElu
c3RydWN0aW9uKQogICAgIH0KIAogICAgIEpJVEdldEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAg
ICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgQ2FsbFNpdGVJbmRl
eChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0
ZXJzKCksCisgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVJbmRleCks
IENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0dWJVbmF2
YWlsYWJsZVJlZ2lzdGVycygpLAogICAgICAgICBpZGVudC0+aW1wbCgpLCBKU1ZhbHVlUmVnczo6
cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDApLCBBY2Nlc3NUeXBl
OjpHZXQpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0aGlzKTsKICAgICBhZGRTbG93Q2Fz
ZShnZW4uc2xvd1BhdGhKdW1wKCkpOwpAQCAtNjI3LDcgKzYyNyw3IEBAIHZvaWQgSklUOjplbWl0
X29wX2dldF9ieV9pZF93aXRoX3RoaXMoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVj
dGlvbikKICAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RKU0NlbGwodGhpc1ZSZWcsIHJlZ1Q0KTsK
IAogICAgIEpJVEdldEJ5SWRXaXRoVGhpc0dlbmVyYXRvciBnZW4oCi0gICAgICAgIG1fY29kZUJs
b2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJ
bnN0cnVjdGlvbiksIFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKKyAg
ICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZUluZGV4KSwgQ2FsbFNpdGVJ
bmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVn
aXN0ZXJzKCksCiAgICAgICAgIGlkZW50LT5pbXBsKCksIEpTVmFsdWVSZWdzKHJlZ1QxLCByZWdU
MCksIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1Q0LCBy
ZWdUMyksIEFjY2Vzc1R5cGU6OkdldFdpdGhUaGlzKTsKICAgICBnZW4uZ2VuZXJhdGVGYXN0UGF0
aCgqdGhpcyk7CiAgICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQYXRoSnVtcCgpKTsKQEAgLTY3MCw3
ICs2NzAsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9wdXRfYnlfaWQoY29uc3QgSW5zdHJ1Y3Rpb24q
IGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RKU0NlbGwoYmFz
ZSwgcmVnVDEpOwogCiAgICAgSklUUHV0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1fY29k
ZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBDYWxsU2l0ZUluZGV4KGN1cnJl
bnRJbnN0cnVjdGlvbiksIFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwK
KyAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZUluZGV4KSwgQ2FsbFNp
dGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxl
UmVnaXN0ZXJzKCksCiAgICAgICAgIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpT
VmFsdWVSZWdzKHJlZ1QzLCByZWdUMiksCiAgICAgICAgIHJlZ1QxLCBtX2NvZGVCbG9jay0+ZWNt
YU1vZGUoKSwgZGlyZWN0ID8gRGlyZWN0IDogTm90RGlyZWN0KTsKICAgICAKQEAgLTcxNCw3ICs3
MTQsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbl9ieV9pZChjb25zdCBJbnN0cnVjdGlvbiogY3Vy
cmVudEluc3RydWN0aW9uKQogICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEpTQ2VsbChiYXNlLCBy
ZWdUMSk7CiAKICAgICBKSVRJbkJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAgICBtX2NvZGVCbG9j
aywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50SW5z
dHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCisgICAg
ICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVJbmRleCksIENhbGxTaXRlSW5k
ZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0dWJVbmF2YWlsYWJsZVJlZ2lz
dGVycygpLAogICAgICAgICBpZGVudC0+aW1wbCgpLCBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHko
cmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDApKTsKICAgICBnZW4uZ2VuZXJhdGVGYXN0
UGF0aCgqdGhpcyk7CiAgICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQYXRoSnVtcCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381729</attachid>
            <date>2019-10-23 14:32:51 -0700</date>
            <delta_ts>2019-10-23 14:54:22 -0700</delta_ts>
            <desc>WIP fixes</desc>
            <filename>improvements.patch</filename>
            <type>text/plain</type>
            <size>11615</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuY3BwCmluZGV4IGQwZTBhNWZjZGY0
Li41Y2IzZDc3ZmZlMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
U1JFeGl0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuY3Bw
CkBAIC0xMDA4LDYgKzEwMDgsNyBAQCB2b2lkIE9TUkV4aXQ6OmVtaXRSZXN0b3JlQXJndW1lbnRz
KENDYWxsSGVscGVycyYgaml0LCBjb25zdCBPcGVyYW5kczxWYWx1ZVJlY292ZQogICAgICAgICBz
dGF0aWNfYXNzZXJ0KHN0ZDo6aXNfc2FtZTxkZWNsdHlwZShvcGVyYXRpb25DcmVhdGVEaXJlY3RB
cmd1bWVudHNEdXJpbmdFeGl0KSwgZGVjbHR5cGUob3BlcmF0aW9uQ3JlYXRlQ2xvbmVkQXJndW1l
bnRzRHVyaW5nRXhpdCk+Ojp2YWx1ZSwgIldlIGFzc3VtZSB0aGVzZSBmdW5jdGlvbnMgaGF2ZSB0
aGUgc2FtZSBzaWduYXR1cmUgYmVsb3cuIik7CiAgICAgICAgIGppdC5zZXR1cEFyZ3VtZW50czxk
ZWNsdHlwZShvcGVyYXRpb25DcmVhdGVEaXJlY3RBcmd1bWVudHNEdXJpbmdFeGl0KT4oCiAgICAg
ICAgICAgICBBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoJmppdC52bSgpKSwgQXNzZW1i
bHlIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGlubGluZUNhbGxGcmFtZSksIEdQUkluZm86OnJlZ1Qw
LCBHUFJJbmZvOjpyZWdUMSk7CisgICAgICAgIGppdC5wcmVwYXJlQ2FsbE9wZXJhdGlvbihqaXQu
dm0oKSk7CiAgICAgICAgIHN3aXRjaCAocmVjb3ZlcnkudGVjaG5pcXVlKCkpIHsKICAgICAgICAg
Y2FzZSBEaXJlY3RBcmd1bWVudHNUaGF0V2VyZU5vdENyZWF0ZWQ6CiAgICAgICAgICAgICBqaXQu
bW92ZShBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW1QdHIodGFnQ0Z1bmN0aW9uUHRyPE9wZXJh
dGlvblB0clRhZz4ob3BlcmF0aW9uQ3JlYXRlRGlyZWN0QXJndW1lbnRzRHVyaW5nRXhpdCkpLCBH
UFJJbmZvOjpub25BcmdHUFIwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9DYWxsRnJhbWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0NhbGxGcmFtZS5jcHAKaW5kZXggNjcyYjI2OGE1MWQuLjIxYWM3MjY1YjI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmNwcApAQCAtMTE2
LDcgKzExNiw3IEBAIGNvbnN0IEluc3RydWN0aW9uKiBDYWxsRnJhbWU6OmN1cnJlbnRWUEMoKSBj
b25zdAogCiB2b2lkIENhbGxGcmFtZTo6c2V0Q3VycmVudFZQQyhjb25zdCBJbnN0cnVjdGlvbiog
dnBjKQogewotICAgIENhbGxTaXRlSW5kZXggY2FsbFNpdGUoY29kZUJsb2NrKCktPmJ5dGVjb2Rl
SW5kZXgodnBjKSk7CisgICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZSh2cGMpOwogICAgIHRoaXNb
Q2FsbEZyYW1lU2xvdDo6YXJndW1lbnRDb3VudF0udGFnKCkgPSBjYWxsU2l0ZS5iaXRzKCk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJh
bWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuaAppbmRl
eCAxMGVkZmIwZWI1ZS4uNzgzNTY4M2Y5YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmgKQEAgLTQ4LDYgKzQ4LDExIEBAIG5hbWVzcGFjZSBKU0Mg
IHsKICAgICAgICAgZXhwbGljaXQgQ2FsbFNpdGVJbmRleChCeXRlY29kZUluZGV4IGJ5dGVjb2Rl
SW5kZXgpCiAgICAgICAgICAgICA6IG1fYnl0ZWNvZGVJbmRleChieXRlY29kZUluZGV4KQogICAg
ICAgICB7IH0KKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICBleHBsaWNpdCBDYWxsU2l0
ZUluZGV4KGNvbnN0IEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbikKKyAgICAgICAgICAgIDogbV9i
eXRlY29kZUluZGV4KEJ5dGVjb2RlSW5kZXgoYml0d2lzZV9jYXN0PHVpbnQzMl90PihpbnN0cnVj
dGlvbikpKQorICAgICAgICB7IH0KKyNlbmRpZgogCiAgICAgICAgIGV4cGxpY2l0IG9wZXJhdG9y
IGJvb2woKSBjb25zdCB7IHJldHVybiAhIW1fYnl0ZWNvZGVJbmRleDsgfQogICAgICAgICBib29s
IG9wZXJhdG9yPT0oY29uc3QgQ2FsbFNpdGVJbmRleCYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIG1f
Ynl0ZWNvZGVJbmRleCA9PSBvdGhlci5tX2J5dGVjb2RlSW5kZXg7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcAppbmRleCBhN2RjODI1YmM5Mi4uMTBiYTlmNDFj
YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwzMl82NC5jcHAKQEAgLTI0
Niw3ICsyNDYsNyBAQCB2b2lkIEpJVDo6Y29tcGlsZUNhbGxFdmFsU2xvd0Nhc2UoY29uc3QgSW5z
dHJ1Y3Rpb24qIGluc3RydWN0aW9uLCBWZWN0b3I8U2xvd0NhcwogCiAgICAgYXV0byBieXRlY29k
ZSA9IGluc3RydWN0aW9uLT5hczxPcENhbGxFdmFsPigpOwogICAgIENhbGxMaW5rSW5mbyogaW5m
byA9IG1fY29kZUJsb2NrLT5hZGRDYWxsTGlua0luZm8oKTsKLSAgICBpbmZvLT5zZXRVcENhbGwo
Q2FsbExpbmtJbmZvOjpDYWxsLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCByZWdUMCk7
CisgICAgaW5mby0+c2V0VXBDYWxsKENhbGxMaW5rSW5mbzo6Q2FsbCwgQ29kZU9yaWdpbihtX2J5
dGVjb2RlSW5kZXgpLCByZWdUMCk7CiAKICAgICBpbnQgcmVnaXN0ZXJPZmZzZXQgPSAtYnl0ZWNv
ZGUubV9hcmd2OwogICAgIGludCBjYWxsZWUgPSBieXRlY29kZS5tX2NhbGxlZS5vZmZzZXQoKTsK
QEAgLTMwOSw3ICszMDksNyBAQCB2b2lkIEpJVDo6Y29tcGlsZU9wQ2FsbChjb25zdCBJbnN0cnVj
dGlvbiogaW5zdHJ1Y3Rpb24sIHVuc2lnbmVkIGNhbGxMaW5rSW5mb0luZAogICAgIGFkZFNsb3dD
YXNlKHNsb3dDYXNlKTsKIAogICAgIEFTU0VSVChtX2NhbGxDb21waWxhdGlvbkluZm8uc2l6ZSgp
ID09IGNhbGxMaW5rSW5mb0luZGV4KTsKLSAgICBpbmZvLT5zZXRVcENhbGwoQ2FsbExpbmtJbmZv
OjpjYWxsVHlwZUZvcihvcGNvZGVJRCksIENvZGVPcmlnaW4obV9ieXRlY29kZU9mZnNldCksIHJl
Z1QwKTsKKyAgICBpbmZvLT5zZXRVcENhbGwoQ2FsbExpbmtJbmZvOjpjYWxsVHlwZUZvcihvcGNv
ZGVJRCksIENvZGVPcmlnaW4obV9ieXRlY29kZUluZGV4KSwgcmVnVDApOwogICAgIG1fY2FsbENv
bXBpbGF0aW9uSW5mby5hcHBlbmQoQ2FsbENvbXBpbGF0aW9uSW5mbygpKTsKICAgICBtX2NhbGxD
b21waWxhdGlvbkluZm9bY2FsbExpbmtJbmZvSW5kZXhdLmhvdFBhdGhCZWdpbiA9IGFkZHJlc3NP
ZkxpbmtlZEZ1bmN0aW9uQ2hlY2s7CiAgICAgbV9jYWxsQ29tcGlsYXRpb25JbmZvW2NhbGxMaW5r
SW5mb0luZGV4XS5jYWxsTGlua0luZm8gPSBpbmZvOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VElubGluZXMuaAppbmRleCAxMDgwMDQ2M2JhYy4uMTgzMzkyNzUzMTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCkBAIC0xMjUsNyArMTI1LDEyIEBAIEFMV0FZU19JTkxJ
TkUgSklUOjpDYWxsIEpJVDo6ZW1pdE5ha2VkVGFpbENhbGwoQ29kZVB0cjxOb1B0clRhZz4gdGFy
Z2V0KQogCiBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjp1cGRhdGVUb3BDYWxsRnJhbWUoKQogewor
I2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgY29uc3QgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9u
ID0gbV9jb2RlQmxvY2stPmluc3RydWN0aW9ucygpLmF0KG1fYnl0ZWNvZGVJbmRleC5vZmZzZXQo
KSkucHRyKCk7CisgICAgdWludDMyX3QgbG9jYXRpb25CaXRzID0gQ2FsbFNpdGVJbmRleChpbnN0
cnVjdGlvbikuYml0cygpOworI2Vsc2UKICAgICB1aW50MzJfdCBsb2NhdGlvbkJpdHMgPSBDYWxs
U2l0ZUluZGV4KG1fYnl0ZWNvZGVJbmRleCkuYml0cygpOworI2VuZGlmCiAgICAgc3RvcmUzMihU
cnVzdGVkSW1tMzIobG9jYXRpb25CaXRzKSwgdGFnRm9yKENhbGxGcmFtZVNsb3Q6OmFyZ3VtZW50
Q291bnQpKTsKICAgICAKICAgICAvLyBGSVhNRTogSXQncyBub3QgY2xlYXIgdGhhdCB0aGlzIGlz
IG5lZWRlZC4gSklUT3BlcmF0aW9ucyB0ZW5kIHRvIHVwZGF0ZSB0aGUgdG9wIGNhbGwgZnJhbWUg
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nl
c3MzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNz
MzJfNjQuY3BwCmluZGV4IGM4OGJjNzA2ZWQ2Li42YzQ4NjQ3MDk1OSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCkBAIC0x
OTEsNyArMTkxLDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X2J5X3ZhbChjb25zdCBJbnN0cnVj
dGlvbiogY3VycmVudEluc3RydWN0aW9uKQogCiAgICAgTGFiZWwgbmV4dEhvdFBhdGggPSBsYWJl
bCgpOwogICAgIAotICAgIG1fYnlWYWxDb21waWxhdGlvbkluZm8uYXBwZW5kKEJ5VmFsQ29tcGls
YXRpb25JbmZvKGJ5VmFsSW5mbywgbV9ieXRlY29kZU9mZnNldCwgbm90SW5kZXgsIGJhZFR5cGUs
IG1vZGUsIHByb2ZpbGUsIGRvbmUsIG5leHRIb3RQYXRoKSk7CisgICAgbV9ieVZhbENvbXBpbGF0
aW9uSW5mby5hcHBlbmQoQnlWYWxDb21waWxhdGlvbkluZm8oYnlWYWxJbmZvLCBtX2J5dGVjb2Rl
SW5kZXgsIG5vdEluZGV4LCBiYWRUeXBlLCBtb2RlLCBwcm9maWxlLCBkb25lLCBuZXh0SG90UGF0
aCkpOwogfQogCiBKSVRHZXRCeUlkR2VuZXJhdG9yIEpJVDo6ZW1pdEdldEJ5VmFsV2l0aENhY2hl
ZElkKEJ5VmFsSW5mbyogYnlWYWxJbmZvLCBPcEdldEJ5VmFsIGJ5dGVjb2RlLCBjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEp1bXAmIGZhc3REb25lQ2FzZSwgSnVtcCYgc2xvd0RvbmVD
YXNlLCBKdW1wTGlzdCYgc2xvd0Nhc2VzKQpAQCAtMjA3LDcgKzIwNyw3IEBAIEpJVEdldEJ5SWRH
ZW5lcmF0b3IgSklUOjplbWl0R2V0QnlWYWxXaXRoQ2FjaGVkSWQoQnlWYWxJbmZvKiBieVZhbElu
Zm8sIE9wR2V0QnlWCiAKICAgICBjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9u
ID0gbV9jb2RlQmxvY2stPmluc3RydWN0aW9ucygpLmF0KGJ5VmFsSW5mby0+Ynl0ZWNvZGVJbmRl
eCkucHRyKCk7CiAgICAgSklUR2V0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1fY29kZUJs
b2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJ
bnN0cnVjdGlvbiksIFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKKyAg
ICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZUluZGV4KSwgQ2FsbFNpdGVJ
bmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVn
aXN0ZXJzKCksCiAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCksIEpTVmFsdWVSZWdzOjpwYXls
b2FkT25seShyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QxLCByZWdUMCksIEFjY2Vzc1R5cGU6Okdl
dCk7CiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgoKnRoaXMpOwogCkBAIC0zMTQsNyArMzE0LDcg
QEAgdm9pZCBKSVQ6OmVtaXRfb3BfcHV0X2J5X3ZhbChjb25zdCBJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQogICAgIAogICAgIExhYmVsIGRvbmUgPSBsYWJlbCgpOwogICAgIAotICAg
IG1fYnlWYWxDb21waWxhdGlvbkluZm8uYXBwZW5kKEJ5VmFsQ29tcGlsYXRpb25JbmZvKGJ5VmFs
SW5mbywgbV9ieXRlY29kZU9mZnNldCwgbm90SW5kZXgsIGJhZFR5cGUsIG1vZGUsIHByb2ZpbGUs
IGRvbmUsIGRvbmUpKTsKKyAgICBtX2J5VmFsQ29tcGlsYXRpb25JbmZvLmFwcGVuZChCeVZhbENv
bXBpbGF0aW9uSW5mbyhieVZhbEluZm8sIG1fYnl0ZWNvZGVJbmRleCwgbm90SW5kZXgsIGJhZFR5
cGUsIG1vZGUsIHByb2ZpbGUsIGRvbmUsIGRvbmUpKTsKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1l
IE9wPgpAQCAtNDM3LDcgKzQzNyw3IEBAIEpJVFB1dEJ5SWRHZW5lcmF0b3IgSklUOjplbWl0UHV0
QnlWYWxXaXRoQ2FjaGVkSWQoQnlWYWxJbmZvKiBieVZhbEluZm8sIE9wIGJ5dGVjCiAKICAgICBj
b25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uID0gbV9jb2RlQmxvY2stPmluc3Ry
dWN0aW9ucygpLmF0KGJ5VmFsSW5mby0+Ynl0ZWNvZGVJbmRleCkucHRyKCk7CiAgICAgSklUUHV0
QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0
ZWNvZGVPZmZzZXQpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJbnN0cnVjdGlvbiksIFJlZ2lzdGVy
U2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKKyAgICAgICAgbV9jb2RlQmxvY2ssIENv
ZGVPcmlnaW4obV9ieXRlY29kZUluZGV4KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rp
b24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCiAgICAgICAgIEpT
VmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QzLCByZWdUMiks
IHJlZ1QxLCBtX2NvZGVCbG9jay0+ZWNtYU1vZGUoKSwgcHV0S2luZCk7CiAgICAgZ2VuLmdlbmVy
YXRlRmFzdFBhdGgoKnRoaXMpOwogICAgIGRvbmVDYXNlcy5hcHBlbmQoanVtcCgpKTsKQEAgLTUw
MSw3ICs1MDEsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF90cnlfZ2V0X2J5X2lkKGNvbnN0IEluc3Ry
dWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgZW1pdEp1bXBTbG93Q2FzZUlmTm90SlND
ZWxsKGJhc2UsIHJlZ1QxKTsKIAogICAgIEpJVEdldEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAg
ICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgQ2FsbFNpdGVJbmRl
eChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0
ZXJzKCksCisgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVJbmRleCks
IENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0dWJVbmF2
YWlsYWJsZVJlZ2lzdGVycygpLAogICAgICAgICBpZGVudC0+aW1wbCgpLCBKU1ZhbHVlUmVnczo6
cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDApLCBBY2Nlc3NUeXBl
OjpUcnlHZXQpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0aGlzKTsKICAgICBhZGRTbG93
Q2FzZShnZW4uc2xvd1BhdGhKdW1wKCkpOwpAQCAtNTQwLDcgKzU0MCw3IEBAIHZvaWQgSklUOjpl
bWl0X29wX2dldF9ieV9pZF9kaXJlY3QoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVj
dGlvbikKICAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RKU0NlbGwoYmFzZSwgcmVnVDEpOwogCiAg
ICAgSklUR2V0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3Jp
Z2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJbnN0cnVjdGlvbiks
IFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKKyAgICAgICAgbV9jb2Rl
QmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZUluZGV4KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50
SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCiAg
ICAgICAgIGlkZW50LT5pbXBsKCksIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpT
VmFsdWVSZWdzKHJlZ1QxLCByZWdUMCksIEFjY2Vzc1R5cGU6OkdldERpcmVjdCk7CiAgICAgZ2Vu
LmdlbmVyYXRlRmFzdFBhdGgoKnRoaXMpOwogICAgIGFkZFNsb3dDYXNlKGdlbi5zbG93UGF0aEp1
bXAoKSk7CkBAIC01ODYsNyArNTg2LDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X2J5X2lkKGNv
bnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgfQogCiAgICAgSklUR2V0
QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0
ZWNvZGVPZmZzZXQpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJbnN0cnVjdGlvbiksIFJlZ2lzdGVy
U2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKKyAgICAgICAgbV9jb2RlQmxvY2ssIENv
ZGVPcmlnaW4obV9ieXRlY29kZUluZGV4KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rp
b24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCiAgICAgICAgIGlk
ZW50LT5pbXBsKCksIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpTVmFsdWVSZWdz
KHJlZ1QxLCByZWdUMCksIEFjY2Vzc1R5cGU6OkdldCk7CiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBh
dGgoKnRoaXMpOwogICAgIGFkZFNsb3dDYXNlKGdlbi5zbG93UGF0aEp1bXAoKSk7CkBAIC02Mjcs
NyArNjI3LDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X2J5X2lkX3dpdGhfdGhpcyhjb25zdCBJ
bnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5v
dEpTQ2VsbCh0aGlzVlJlZywgcmVnVDQpOwogCiAgICAgSklUR2V0QnlJZFdpdGhUaGlzR2VuZXJh
dG9yIGdlbigKLSAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZU9mZnNl
dCksIENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0dWJV
bmF2YWlsYWJsZVJlZ2lzdGVycygpLAorICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbiht
X2J5dGVjb2RlSW5kZXgpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJbnN0cnVjdGlvbiksIFJlZ2lz
dGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKICAgICAgICAgaWRlbnQtPmltcGwo
KSwgSlNWYWx1ZVJlZ3MocmVnVDEsIHJlZ1QwKSwgSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KHJl
Z1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDQsIHJlZ1QzKSwgQWNjZXNzVHlwZTo6R2V0V2l0aFRoaXMp
OwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0aGlzKTsKICAgICBhZGRTbG93Q2FzZShnZW4u
c2xvd1BhdGhKdW1wKCkpOwpAQCAtNjcwLDcgKzY3MCw3IEBAIHZvaWQgSklUOjplbWl0X29wX3B1
dF9ieV9pZChjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIGVtaXRK
dW1wU2xvd0Nhc2VJZk5vdEpTQ2VsbChiYXNlLCByZWdUMSk7CiAKICAgICBKSVRQdXRCeUlkR2Vu
ZXJhdG9yIGdlbigKLSAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZU9m
ZnNldCksIENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0
dWJVbmF2YWlsYWJsZVJlZ2lzdGVycygpLAorICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdp
bihtX2J5dGVjb2RlSW5kZXgpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJbnN0cnVjdGlvbiksIFJl
Z2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKICAgICAgICAgSlNWYWx1ZVJl
Z3M6OnBheWxvYWRPbmx5KHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDMsIHJlZ1QyKSwKICAgICAg
ICAgcmVnVDEsIG1fY29kZUJsb2NrLT5lY21hTW9kZSgpLCBkaXJlY3QgPyBEaXJlY3QgOiBOb3RE
aXJlY3QpOwogICAgIApAQCAtNzE0LDcgKzcxNCw3IEBAIHZvaWQgSklUOjplbWl0X29wX2luX2J5
X2lkKGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgZW1pdEp1bXBT
bG93Q2FzZUlmTm90SlNDZWxsKGJhc2UsIHJlZ1QxKTsKIAogICAgIEpJVEluQnlJZEdlbmVyYXRv
ciBnZW4oCi0gICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQp
LCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJbnN0cnVjdGlvbiksIFJlZ2lzdGVyU2V0OjpzdHViVW5h
dmFpbGFibGVSZWdpc3RlcnMoKSwKKyAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9i
eXRlY29kZUluZGV4KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3Rl
clNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCiAgICAgICAgIGlkZW50LT5pbXBsKCks
IEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QxLCByZWdU
MCkpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0aGlzKTsKICAgICBhZGRTbG93Q2FzZShn
ZW4uc2xvd1BhdGhKdW1wKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFNsb3dQYXRocy5jcHAKaW5kZXggNjBiNDlmOTExNjMuLmZjZTk0YmZjZGYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTE4ODgsOCAr
MTg4OCwxMSBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbG9nX3NoYWRvd19jaGlj
a2VuX3RhaWwpCiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBnZXROb25Db25zdGFudE9wZXJhbmQo
Y2FsbEZyYW1lLCBieXRlY29kZS5tX3RoaXNWYWx1ZSk7CiAgICAgSlNTY29wZSogc2NvcGUgPSBj
YWxsRnJhbWUtPnVuY2hlY2tlZFIoYnl0ZWNvZGUubV9zY29wZSkuUmVnaXN0ZXI6OnNjb3BlKCk7
CiAgICAgCi0gICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZUluZGV4KEJ5dGVjb2RlSW5kZXgoY29k
ZUJsb2NrLT5ieXRlY29kZU9mZnNldChwYykpKTsKLQorI2lmIFVTRShKU1ZBTFVFNjQpCisgICAg
Q2FsbFNpdGVJbmRleCBjYWxsU2l0ZUluZGV4KGNvZGVCbG9jay0+Ynl0ZWNvZGVPZmZzZXQocGMp
KTsKKyNlbHNlCisgICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZUluZGV4KHBjKTsKKyNlbmRpZgog
ICAgIFNoYWRvd0NoaWNrZW4qIHNoYWRvd0NoaWNrZW4gPSB2bS5zaGFkb3dDaGlja2VuKCk7CiAg
ICAgUkVMRUFTRV9BU1NFUlQoc2hhZG93Q2hpY2tlbik7CiAgICAgc2hhZG93Q2hpY2tlbi0+bG9n
KHZtLCBjYWxsRnJhbWUsIFNoYWRvd0NoaWNrZW46OlBhY2tldDo6dGFpbChjYWxsRnJhbWUsIHRo
aXNWYWx1ZSwgc2NvcGUsIGNvZGVCbG9jaywgY2FsbFNpdGVJbmRleCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381734</attachid>
            <date>2019-10-23 14:54:22 -0700</date>
            <delta_ts>2019-10-24 02:02:18 -0700</delta_ts>
            <desc>WIP fixes</desc>
            <filename>improvements.patch</filename>
            <type>text/plain</type>
            <size>12128</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlT3JpZ2luLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZU9yaWdpbi5oCmluZGV4IDM0MTRk
NGYwMWRmLi5hMThjM2JiZjY0NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVPcmlnaW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZU9yaWdpbi5oCkBAIC0xMzQsNyArMTM0LDcgQEAgcHVibGljOgogI2lmIENQVShBRERSRVNT
NjQpCiAgICAgICAgIHJldHVybiAhaXNTZXQoKSAmJiAobV9jb21wb3NpdGVWYWx1ZSAmIHNfbWFz
a0NvbXBvc2l0ZVZhbHVlRm9yUG9pbnRlcik7CiAjZWxzZQotICAgICAgICByZXR1cm4gISFtX2J5
dGVjb2RlSW5kZXggJiYgISFtX2lubGluZUNhbGxGcmFtZTsKKyAgICAgICAgcmV0dXJuICFtX2J5
dGVjb2RlSW5kZXggJiYgISFtX2lubGluZUNhbGxGcmFtZTsKICNlbmRpZgogICAgIH0KICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuY3BwCmluZGV4IGQwZTBhNWZjZGY0
Li41Y2IzZDc3ZmZlMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
U1JFeGl0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuY3Bw
CkBAIC0xMDA4LDYgKzEwMDgsNyBAQCB2b2lkIE9TUkV4aXQ6OmVtaXRSZXN0b3JlQXJndW1lbnRz
KENDYWxsSGVscGVycyYgaml0LCBjb25zdCBPcGVyYW5kczxWYWx1ZVJlY292ZQogICAgICAgICBz
dGF0aWNfYXNzZXJ0KHN0ZDo6aXNfc2FtZTxkZWNsdHlwZShvcGVyYXRpb25DcmVhdGVEaXJlY3RB
cmd1bWVudHNEdXJpbmdFeGl0KSwgZGVjbHR5cGUob3BlcmF0aW9uQ3JlYXRlQ2xvbmVkQXJndW1l
bnRzRHVyaW5nRXhpdCk+Ojp2YWx1ZSwgIldlIGFzc3VtZSB0aGVzZSBmdW5jdGlvbnMgaGF2ZSB0
aGUgc2FtZSBzaWduYXR1cmUgYmVsb3cuIik7CiAgICAgICAgIGppdC5zZXR1cEFyZ3VtZW50czxk
ZWNsdHlwZShvcGVyYXRpb25DcmVhdGVEaXJlY3RBcmd1bWVudHNEdXJpbmdFeGl0KT4oCiAgICAg
ICAgICAgICBBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoJmppdC52bSgpKSwgQXNzZW1i
bHlIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGlubGluZUNhbGxGcmFtZSksIEdQUkluZm86OnJlZ1Qw
LCBHUFJJbmZvOjpyZWdUMSk7CisgICAgICAgIGppdC5wcmVwYXJlQ2FsbE9wZXJhdGlvbihqaXQu
dm0oKSk7CiAgICAgICAgIHN3aXRjaCAocmVjb3ZlcnkudGVjaG5pcXVlKCkpIHsKICAgICAgICAg
Y2FzZSBEaXJlY3RBcmd1bWVudHNUaGF0V2VyZU5vdENyZWF0ZWQ6CiAgICAgICAgICAgICBqaXQu
bW92ZShBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW1QdHIodGFnQ0Z1bmN0aW9uUHRyPE9wZXJh
dGlvblB0clRhZz4ob3BlcmF0aW9uQ3JlYXRlRGlyZWN0QXJndW1lbnRzRHVyaW5nRXhpdCkpLCBH
UFJJbmZvOjpub25BcmdHUFIwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9DYWxsRnJhbWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0NhbGxGcmFtZS5jcHAKaW5kZXggNjcyYjI2OGE1MWQuLjIxYWM3MjY1YjI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmNwcApAQCAtMTE2
LDcgKzExNiw3IEBAIGNvbnN0IEluc3RydWN0aW9uKiBDYWxsRnJhbWU6OmN1cnJlbnRWUEMoKSBj
b25zdAogCiB2b2lkIENhbGxGcmFtZTo6c2V0Q3VycmVudFZQQyhjb25zdCBJbnN0cnVjdGlvbiog
dnBjKQogewotICAgIENhbGxTaXRlSW5kZXggY2FsbFNpdGUoY29kZUJsb2NrKCktPmJ5dGVjb2Rl
SW5kZXgodnBjKSk7CisgICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZSh2cGMpOwogICAgIHRoaXNb
Q2FsbEZyYW1lU2xvdDo6YXJndW1lbnRDb3VudF0udGFnKCkgPSBjYWxsU2l0ZS5iaXRzKCk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJh
bWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuaAppbmRl
eCAxMGVkZmIwZWI1ZS4uNzgzNTY4M2Y5YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmgKQEAgLTQ4LDYgKzQ4LDExIEBAIG5hbWVzcGFjZSBKU0Mg
IHsKICAgICAgICAgZXhwbGljaXQgQ2FsbFNpdGVJbmRleChCeXRlY29kZUluZGV4IGJ5dGVjb2Rl
SW5kZXgpCiAgICAgICAgICAgICA6IG1fYnl0ZWNvZGVJbmRleChieXRlY29kZUluZGV4KQogICAg
ICAgICB7IH0KKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICBleHBsaWNpdCBDYWxsU2l0
ZUluZGV4KGNvbnN0IEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbikKKyAgICAgICAgICAgIDogbV9i
eXRlY29kZUluZGV4KEJ5dGVjb2RlSW5kZXgoYml0d2lzZV9jYXN0PHVpbnQzMl90PihpbnN0cnVj
dGlvbikpKQorICAgICAgICB7IH0KKyNlbmRpZgogCiAgICAgICAgIGV4cGxpY2l0IG9wZXJhdG9y
IGJvb2woKSBjb25zdCB7IHJldHVybiAhIW1fYnl0ZWNvZGVJbmRleDsgfQogICAgICAgICBib29s
IG9wZXJhdG9yPT0oY29uc3QgQ2FsbFNpdGVJbmRleCYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIG1f
Ynl0ZWNvZGVJbmRleCA9PSBvdGhlci5tX2J5dGVjb2RlSW5kZXg7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcAppbmRleCBhN2RjODI1YmM5Mi4uMTBiYTlmNDFj
YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwzMl82NC5jcHAKQEAgLTI0
Niw3ICsyNDYsNyBAQCB2b2lkIEpJVDo6Y29tcGlsZUNhbGxFdmFsU2xvd0Nhc2UoY29uc3QgSW5z
dHJ1Y3Rpb24qIGluc3RydWN0aW9uLCBWZWN0b3I8U2xvd0NhcwogCiAgICAgYXV0byBieXRlY29k
ZSA9IGluc3RydWN0aW9uLT5hczxPcENhbGxFdmFsPigpOwogICAgIENhbGxMaW5rSW5mbyogaW5m
byA9IG1fY29kZUJsb2NrLT5hZGRDYWxsTGlua0luZm8oKTsKLSAgICBpbmZvLT5zZXRVcENhbGwo
Q2FsbExpbmtJbmZvOjpDYWxsLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCByZWdUMCk7
CisgICAgaW5mby0+c2V0VXBDYWxsKENhbGxMaW5rSW5mbzo6Q2FsbCwgQ29kZU9yaWdpbihtX2J5
dGVjb2RlSW5kZXgpLCByZWdUMCk7CiAKICAgICBpbnQgcmVnaXN0ZXJPZmZzZXQgPSAtYnl0ZWNv
ZGUubV9hcmd2OwogICAgIGludCBjYWxsZWUgPSBieXRlY29kZS5tX2NhbGxlZS5vZmZzZXQoKTsK
QEAgLTMwOSw3ICszMDksNyBAQCB2b2lkIEpJVDo6Y29tcGlsZU9wQ2FsbChjb25zdCBJbnN0cnVj
dGlvbiogaW5zdHJ1Y3Rpb24sIHVuc2lnbmVkIGNhbGxMaW5rSW5mb0luZAogICAgIGFkZFNsb3dD
YXNlKHNsb3dDYXNlKTsKIAogICAgIEFTU0VSVChtX2NhbGxDb21waWxhdGlvbkluZm8uc2l6ZSgp
ID09IGNhbGxMaW5rSW5mb0luZGV4KTsKLSAgICBpbmZvLT5zZXRVcENhbGwoQ2FsbExpbmtJbmZv
OjpjYWxsVHlwZUZvcihvcGNvZGVJRCksIENvZGVPcmlnaW4obV9ieXRlY29kZU9mZnNldCksIHJl
Z1QwKTsKKyAgICBpbmZvLT5zZXRVcENhbGwoQ2FsbExpbmtJbmZvOjpjYWxsVHlwZUZvcihvcGNv
ZGVJRCksIENvZGVPcmlnaW4obV9ieXRlY29kZUluZGV4KSwgcmVnVDApOwogICAgIG1fY2FsbENv
bXBpbGF0aW9uSW5mby5hcHBlbmQoQ2FsbENvbXBpbGF0aW9uSW5mbygpKTsKICAgICBtX2NhbGxD
b21waWxhdGlvbkluZm9bY2FsbExpbmtJbmZvSW5kZXhdLmhvdFBhdGhCZWdpbiA9IGFkZHJlc3NP
ZkxpbmtlZEZ1bmN0aW9uQ2hlY2s7CiAgICAgbV9jYWxsQ29tcGlsYXRpb25JbmZvW2NhbGxMaW5r
SW5mb0luZGV4XS5jYWxsTGlua0luZm8gPSBpbmZvOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VElubGluZXMuaAppbmRleCAxMDgwMDQ2M2JhYy4uMTgzMzkyNzUzMTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCkBAIC0xMjUsNyArMTI1LDEyIEBAIEFMV0FZU19JTkxJ
TkUgSklUOjpDYWxsIEpJVDo6ZW1pdE5ha2VkVGFpbENhbGwoQ29kZVB0cjxOb1B0clRhZz4gdGFy
Z2V0KQogCiBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjp1cGRhdGVUb3BDYWxsRnJhbWUoKQogewor
I2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgY29uc3QgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9u
ID0gbV9jb2RlQmxvY2stPmluc3RydWN0aW9ucygpLmF0KG1fYnl0ZWNvZGVJbmRleC5vZmZzZXQo
KSkucHRyKCk7CisgICAgdWludDMyX3QgbG9jYXRpb25CaXRzID0gQ2FsbFNpdGVJbmRleChpbnN0
cnVjdGlvbikuYml0cygpOworI2Vsc2UKICAgICB1aW50MzJfdCBsb2NhdGlvbkJpdHMgPSBDYWxs
U2l0ZUluZGV4KG1fYnl0ZWNvZGVJbmRleCkuYml0cygpOworI2VuZGlmCiAgICAgc3RvcmUzMihU
cnVzdGVkSW1tMzIobG9jYXRpb25CaXRzKSwgdGFnRm9yKENhbGxGcmFtZVNsb3Q6OmFyZ3VtZW50
Q291bnQpKTsKICAgICAKICAgICAvLyBGSVhNRTogSXQncyBub3QgY2xlYXIgdGhhdCB0aGlzIGlz
IG5lZWRlZC4gSklUT3BlcmF0aW9ucyB0ZW5kIHRvIHVwZGF0ZSB0aGUgdG9wIGNhbGwgZnJhbWUg
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nl
c3MzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNz
MzJfNjQuY3BwCmluZGV4IGM4OGJjNzA2ZWQ2Li42YzQ4NjQ3MDk1OSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCkBAIC0x
OTEsNyArMTkxLDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X2J5X3ZhbChjb25zdCBJbnN0cnVj
dGlvbiogY3VycmVudEluc3RydWN0aW9uKQogCiAgICAgTGFiZWwgbmV4dEhvdFBhdGggPSBsYWJl
bCgpOwogICAgIAotICAgIG1fYnlWYWxDb21waWxhdGlvbkluZm8uYXBwZW5kKEJ5VmFsQ29tcGls
YXRpb25JbmZvKGJ5VmFsSW5mbywgbV9ieXRlY29kZU9mZnNldCwgbm90SW5kZXgsIGJhZFR5cGUs
IG1vZGUsIHByb2ZpbGUsIGRvbmUsIG5leHRIb3RQYXRoKSk7CisgICAgbV9ieVZhbENvbXBpbGF0
aW9uSW5mby5hcHBlbmQoQnlWYWxDb21waWxhdGlvbkluZm8oYnlWYWxJbmZvLCBtX2J5dGVjb2Rl
SW5kZXgsIG5vdEluZGV4LCBiYWRUeXBlLCBtb2RlLCBwcm9maWxlLCBkb25lLCBuZXh0SG90UGF0
aCkpOwogfQogCiBKSVRHZXRCeUlkR2VuZXJhdG9yIEpJVDo6ZW1pdEdldEJ5VmFsV2l0aENhY2hl
ZElkKEJ5VmFsSW5mbyogYnlWYWxJbmZvLCBPcEdldEJ5VmFsIGJ5dGVjb2RlLCBjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEp1bXAmIGZhc3REb25lQ2FzZSwgSnVtcCYgc2xvd0RvbmVD
YXNlLCBKdW1wTGlzdCYgc2xvd0Nhc2VzKQpAQCAtMjA3LDcgKzIwNyw3IEBAIEpJVEdldEJ5SWRH
ZW5lcmF0b3IgSklUOjplbWl0R2V0QnlWYWxXaXRoQ2FjaGVkSWQoQnlWYWxJbmZvKiBieVZhbElu
Zm8sIE9wR2V0QnlWCiAKICAgICBjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9u
ID0gbV9jb2RlQmxvY2stPmluc3RydWN0aW9ucygpLmF0KGJ5VmFsSW5mby0+Ynl0ZWNvZGVJbmRl
eCkucHRyKCk7CiAgICAgSklUR2V0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1fY29kZUJs
b2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJ
bnN0cnVjdGlvbiksIFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKKyAg
ICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZUluZGV4KSwgQ2FsbFNpdGVJ
bmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVn
aXN0ZXJzKCksCiAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCksIEpTVmFsdWVSZWdzOjpwYXls
b2FkT25seShyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QxLCByZWdUMCksIEFjY2Vzc1R5cGU6Okdl
dCk7CiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgoKnRoaXMpOwogCkBAIC0zMTQsNyArMzE0LDcg
QEAgdm9pZCBKSVQ6OmVtaXRfb3BfcHV0X2J5X3ZhbChjb25zdCBJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQogICAgIAogICAgIExhYmVsIGRvbmUgPSBsYWJlbCgpOwogICAgIAotICAg
IG1fYnlWYWxDb21waWxhdGlvbkluZm8uYXBwZW5kKEJ5VmFsQ29tcGlsYXRpb25JbmZvKGJ5VmFs
SW5mbywgbV9ieXRlY29kZU9mZnNldCwgbm90SW5kZXgsIGJhZFR5cGUsIG1vZGUsIHByb2ZpbGUs
IGRvbmUsIGRvbmUpKTsKKyAgICBtX2J5VmFsQ29tcGlsYXRpb25JbmZvLmFwcGVuZChCeVZhbENv
bXBpbGF0aW9uSW5mbyhieVZhbEluZm8sIG1fYnl0ZWNvZGVJbmRleCwgbm90SW5kZXgsIGJhZFR5
cGUsIG1vZGUsIHByb2ZpbGUsIGRvbmUsIGRvbmUpKTsKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1l
IE9wPgpAQCAtNDM3LDcgKzQzNyw3IEBAIEpJVFB1dEJ5SWRHZW5lcmF0b3IgSklUOjplbWl0UHV0
QnlWYWxXaXRoQ2FjaGVkSWQoQnlWYWxJbmZvKiBieVZhbEluZm8sIE9wIGJ5dGVjCiAKICAgICBj
b25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uID0gbV9jb2RlQmxvY2stPmluc3Ry
dWN0aW9ucygpLmF0KGJ5VmFsSW5mby0+Ynl0ZWNvZGVJbmRleCkucHRyKCk7CiAgICAgSklUUHV0
QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0
ZWNvZGVPZmZzZXQpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJbnN0cnVjdGlvbiksIFJlZ2lzdGVy
U2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKKyAgICAgICAgbV9jb2RlQmxvY2ssIENv
ZGVPcmlnaW4obV9ieXRlY29kZUluZGV4KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rp
b24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCiAgICAgICAgIEpT
VmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QzLCByZWdUMiks
IHJlZ1QxLCBtX2NvZGVCbG9jay0+ZWNtYU1vZGUoKSwgcHV0S2luZCk7CiAgICAgZ2VuLmdlbmVy
YXRlRmFzdFBhdGgoKnRoaXMpOwogICAgIGRvbmVDYXNlcy5hcHBlbmQoanVtcCgpKTsKQEAgLTUw
MSw3ICs1MDEsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF90cnlfZ2V0X2J5X2lkKGNvbnN0IEluc3Ry
dWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgZW1pdEp1bXBTbG93Q2FzZUlmTm90SlND
ZWxsKGJhc2UsIHJlZ1QxKTsKIAogICAgIEpJVEdldEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAg
ICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgQ2FsbFNpdGVJbmRl
eChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0
ZXJzKCksCisgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVJbmRleCks
IENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0dWJVbmF2
YWlsYWJsZVJlZ2lzdGVycygpLAogICAgICAgICBpZGVudC0+aW1wbCgpLCBKU1ZhbHVlUmVnczo6
cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDApLCBBY2Nlc3NUeXBl
OjpUcnlHZXQpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0aGlzKTsKICAgICBhZGRTbG93
Q2FzZShnZW4uc2xvd1BhdGhKdW1wKCkpOwpAQCAtNTQwLDcgKzU0MCw3IEBAIHZvaWQgSklUOjpl
bWl0X29wX2dldF9ieV9pZF9kaXJlY3QoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVj
dGlvbikKICAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RKU0NlbGwoYmFzZSwgcmVnVDEpOwogCiAg
ICAgSklUR2V0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3Jp
Z2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJbnN0cnVjdGlvbiks
IFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKKyAgICAgICAgbV9jb2Rl
QmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZUluZGV4KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50
SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCiAg
ICAgICAgIGlkZW50LT5pbXBsKCksIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpT
VmFsdWVSZWdzKHJlZ1QxLCByZWdUMCksIEFjY2Vzc1R5cGU6OkdldERpcmVjdCk7CiAgICAgZ2Vu
LmdlbmVyYXRlRmFzdFBhdGgoKnRoaXMpOwogICAgIGFkZFNsb3dDYXNlKGdlbi5zbG93UGF0aEp1
bXAoKSk7CkBAIC01ODYsNyArNTg2LDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X2J5X2lkKGNv
bnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgfQogCiAgICAgSklUR2V0
QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0
ZWNvZGVPZmZzZXQpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJbnN0cnVjdGlvbiksIFJlZ2lzdGVy
U2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKKyAgICAgICAgbV9jb2RlQmxvY2ssIENv
ZGVPcmlnaW4obV9ieXRlY29kZUluZGV4KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rp
b24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCiAgICAgICAgIGlk
ZW50LT5pbXBsKCksIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpTVmFsdWVSZWdz
KHJlZ1QxLCByZWdUMCksIEFjY2Vzc1R5cGU6OkdldCk7CiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBh
dGgoKnRoaXMpOwogICAgIGFkZFNsb3dDYXNlKGdlbi5zbG93UGF0aEp1bXAoKSk7CkBAIC02Mjcs
NyArNjI3LDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X2J5X2lkX3dpdGhfdGhpcyhjb25zdCBJ
bnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5v
dEpTQ2VsbCh0aGlzVlJlZywgcmVnVDQpOwogCiAgICAgSklUR2V0QnlJZFdpdGhUaGlzR2VuZXJh
dG9yIGdlbigKLSAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZU9mZnNl
dCksIENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0dWJV
bmF2YWlsYWJsZVJlZ2lzdGVycygpLAorICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbiht
X2J5dGVjb2RlSW5kZXgpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJbnN0cnVjdGlvbiksIFJlZ2lz
dGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKICAgICAgICAgaWRlbnQtPmltcGwo
KSwgSlNWYWx1ZVJlZ3MocmVnVDEsIHJlZ1QwKSwgSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KHJl
Z1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDQsIHJlZ1QzKSwgQWNjZXNzVHlwZTo6R2V0V2l0aFRoaXMp
OwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0aGlzKTsKICAgICBhZGRTbG93Q2FzZShnZW4u
c2xvd1BhdGhKdW1wKCkpOwpAQCAtNjcwLDcgKzY3MCw3IEBAIHZvaWQgSklUOjplbWl0X29wX3B1
dF9ieV9pZChjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIGVtaXRK
dW1wU2xvd0Nhc2VJZk5vdEpTQ2VsbChiYXNlLCByZWdUMSk7CiAKICAgICBKSVRQdXRCeUlkR2Vu
ZXJhdG9yIGdlbigKLSAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZU9m
ZnNldCksIENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0
dWJVbmF2YWlsYWJsZVJlZ2lzdGVycygpLAorICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdp
bihtX2J5dGVjb2RlSW5kZXgpLCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJbnN0cnVjdGlvbiksIFJl
Z2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKICAgICAgICAgSlNWYWx1ZVJl
Z3M6OnBheWxvYWRPbmx5KHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDMsIHJlZ1QyKSwKICAgICAg
ICAgcmVnVDEsIG1fY29kZUJsb2NrLT5lY21hTW9kZSgpLCBkaXJlY3QgPyBEaXJlY3QgOiBOb3RE
aXJlY3QpOwogICAgIApAQCAtNzE0LDcgKzcxNCw3IEBAIHZvaWQgSklUOjplbWl0X29wX2luX2J5
X2lkKGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgZW1pdEp1bXBT
bG93Q2FzZUlmTm90SlNDZWxsKGJhc2UsIHJlZ1QxKTsKIAogICAgIEpJVEluQnlJZEdlbmVyYXRv
ciBnZW4oCi0gICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQp
LCBDYWxsU2l0ZUluZGV4KGN1cnJlbnRJbnN0cnVjdGlvbiksIFJlZ2lzdGVyU2V0OjpzdHViVW5h
dmFpbGFibGVSZWdpc3RlcnMoKSwKKyAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9i
eXRlY29kZUluZGV4KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3Rl
clNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCiAgICAgICAgIGlkZW50LT5pbXBsKCks
IEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QxLCByZWdU
MCkpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0aGlzKTsKICAgICBhZGRTbG93Q2FzZShn
ZW4uc2xvd1BhdGhKdW1wKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFNsb3dQYXRocy5jcHAKaW5kZXggNjBiNDlmOTExNjMuLmZjZTk0YmZjZGYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTE4ODgsOCAr
MTg4OCwxMSBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbG9nX3NoYWRvd19jaGlj
a2VuX3RhaWwpCiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBnZXROb25Db25zdGFudE9wZXJhbmQo
Y2FsbEZyYW1lLCBieXRlY29kZS5tX3RoaXNWYWx1ZSk7CiAgICAgSlNTY29wZSogc2NvcGUgPSBj
YWxsRnJhbWUtPnVuY2hlY2tlZFIoYnl0ZWNvZGUubV9zY29wZSkuUmVnaXN0ZXI6OnNjb3BlKCk7
CiAgICAgCi0gICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZUluZGV4KEJ5dGVjb2RlSW5kZXgoY29k
ZUJsb2NrLT5ieXRlY29kZU9mZnNldChwYykpKTsKLQorI2lmIFVTRShKU1ZBTFVFNjQpCisgICAg
Q2FsbFNpdGVJbmRleCBjYWxsU2l0ZUluZGV4KGNvZGVCbG9jay0+Ynl0ZWNvZGVPZmZzZXQocGMp
KTsKKyNlbHNlCisgICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZUluZGV4KHBjKTsKKyNlbmRpZgog
ICAgIFNoYWRvd0NoaWNrZW4qIHNoYWRvd0NoaWNrZW4gPSB2bS5zaGFkb3dDaGlja2VuKCk7CiAg
ICAgUkVMRUFTRV9BU1NFUlQoc2hhZG93Q2hpY2tlbik7CiAgICAgc2hhZG93Q2hpY2tlbi0+bG9n
KHZtLCBjYWxsRnJhbWUsIFNoYWRvd0NoaWNrZW46OlBhY2tldDo6dGFpbChjYWxsRnJhbWUsIHRo
aXNWYWx1ZSwgc2NvcGUsIGNvZGVCbG9jaywgY2FsbFNpdGVJbmRleCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381779</attachid>
            <date>2019-10-23 23:46:15 -0700</date>
            <delta_ts>2019-10-24 02:02:18 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug-203290-20191024084614.patch</filename>
            <type>text/plain</type>
            <size>9753</size>
            <attacher name="Pablo Saavedra">psaavedra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
Yzg0NTllNzc1NzJiMjk3MjVjY2YxODM5OGUzODk2MDk1MmUyNjhiLi5mOTEzYzQ5NmYxYzg3Njc3
ZjQ0OWMxODU0NWU5OGI4NzdmZWUwZDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxOS0xMC0yMyAgUGFibG8gU2FhdmVkcmEgIDxwc2FhdmVkcmFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbV1BFXSBCdWlsZCBmYWlsdXJlIGFmdGVyIHIyNTE0NjggKEJ5dGVj
b2RlSW5kZXggc2hvdWxkIGJlIGEgcHJvcGVyIEMrKyBjbGFzcykgZm9yIDMyXzY0IGFyY2hpdGVj
dHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
MzI5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmg6CisgICAgICAgIChKU0M6OkNhbGxTaXRlSW5kZXg6OkNh
bGxTaXRlSW5kZXgpOgorICAgICAgICAqIGppdC9KSVRDYWxsMzJfNjQuY3BwOgorICAgICAgICAo
SlNDOjpKSVQ6OmNvbXBpbGVDYWxsRXZhbFNsb3dDYXNlKToKKyAgICAgICAgKEpTQzo6SklUOjpj
b21waWxlT3BDYWxsKToKKyAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHA6
CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9nZXRfYnlfdmFsKToKKyAgICAgICAgKEpTQzo6
SklUOjplbWl0R2V0QnlWYWxXaXRoQ2FjaGVkSWQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRf
b3BfcHV0X2J5X3ZhbCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFB1dEJ5VmFsV2l0aENhY2hl
ZElkKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX3RyeV9nZXRfYnlfaWQpOgorICAgICAg
ICAoSlNDOjpKSVQ6OmVtaXRfb3BfZ2V0X2J5X2lkX2RpcmVjdCk6CisgICAgICAgIChKU0M6OkpJ
VDo6ZW1pdF9vcF9nZXRfYnlfaWQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfZ2V0X2J5
X2lkX3dpdGhfdGhpcyk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9wdXRfYnlfaWQpOgor
ICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfaW5fYnlfaWQpOgorCiAyMDE5LTEwLTIzICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gUmVtb3ZlIHdh
c21Bd2FyZUxleGljYWxHbG9iYWxPYmplY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9DYWxsRnJhbWUuaAppbmRleCAzMWM5YmZmNmFiMTUyMjJlMDU4Mzc5ODA0Nzk3ZWM2
OTM5YmRkNDM5Li5hZDQ5ZDYzYWQwMDcyYjhhY2E3YmFkMjc3M2ZhNDg5Y2NiMDM4M2M4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhbGxGcmFtZS5oCkBAIC00OCw3
ICs0OCwxMSBAQCBuYW1lc3BhY2UgSlNDICB7CiAgICAgICAgIGV4cGxpY2l0IENhbGxTaXRlSW5k
ZXgoQnl0ZWNvZGVJbmRleCBieXRlY29kZUluZGV4KQogICAgICAgICAgICAgOiBtX2J5dGVjb2Rl
SW5kZXgoYnl0ZWNvZGVJbmRleCkKICAgICAgICAgeyB9Ci0KKyNpZiBVU0UoSlNWQUxVRTMyXzY0
KQorICAgICAgICBleHBsaWNpdCBDYWxsU2l0ZUluZGV4KGNvbnN0IEluc3RydWN0aW9uKiBpbnN0
cnVjdGlvbikKKyAgICAgICAgICAgIDogbV9ieXRlY29kZUluZGV4KGJpdHdpc2VfY2FzdDx1aW50
MzJfdD4oaW5zdHJ1Y3Rpb24pKQorICAgICAgICB7IH0KKyNlbmRpZgogICAgICAgICBleHBsaWNp
dCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gISFtX2J5dGVjb2RlSW5kZXg7IH0KICAg
ICAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IENhbGxTaXRlSW5kZXgmIG90aGVyKSBjb25zdCB7
IHJldHVybiBtX2J5dGVjb2RlSW5kZXggPT0gb3RoZXIubV9ieXRlY29kZUluZGV4OyB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcAppbmRleCBhN2RjODI1YmM5
MmFkMTE1NGNmYTMzYTQ4YjJiMzE2MTg5NTg2ZTMwLi4xMGJhOWY0MWNhZGQ3OTg3YmZiYmY1YTU3
MmFhYzgwNmE3MTQ3ZTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VENhbGwzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsMzJf
NjQuY3BwCkBAIC0yNDYsNyArMjQ2LDcgQEAgdm9pZCBKSVQ6OmNvbXBpbGVDYWxsRXZhbFNsb3dD
YXNlKGNvbnN0IEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXMKIAogICAg
IGF1dG8gYnl0ZWNvZGUgPSBpbnN0cnVjdGlvbi0+YXM8T3BDYWxsRXZhbD4oKTsKICAgICBDYWxs
TGlua0luZm8qIGluZm8gPSBtX2NvZGVCbG9jay0+YWRkQ2FsbExpbmtJbmZvKCk7Ci0gICAgaW5m
by0+c2V0VXBDYWxsKENhbGxMaW5rSW5mbzo6Q2FsbCwgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zm
c2V0KSwgcmVnVDApOworICAgIGluZm8tPnNldFVwQ2FsbChDYWxsTGlua0luZm86OkNhbGwsIENv
ZGVPcmlnaW4obV9ieXRlY29kZUluZGV4KSwgcmVnVDApOwogCiAgICAgaW50IHJlZ2lzdGVyT2Zm
c2V0ID0gLWJ5dGVjb2RlLm1fYXJndjsKICAgICBpbnQgY2FsbGVlID0gYnl0ZWNvZGUubV9jYWxs
ZWUub2Zmc2V0KCk7CkBAIC0zMDksNyArMzA5LDcgQEAgdm9pZCBKSVQ6OmNvbXBpbGVPcENhbGwo
Y29uc3QgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uLCB1bnNpZ25lZCBjYWxsTGlua0luZm9JbmQK
ICAgICBhZGRTbG93Q2FzZShzbG93Q2FzZSk7CiAKICAgICBBU1NFUlQobV9jYWxsQ29tcGlsYXRp
b25JbmZvLnNpemUoKSA9PSBjYWxsTGlua0luZm9JbmRleCk7Ci0gICAgaW5mby0+c2V0VXBDYWxs
KENhbGxMaW5rSW5mbzo6Y2FsbFR5cGVGb3Iob3Bjb2RlSUQpLCBDb2RlT3JpZ2luKG1fYnl0ZWNv
ZGVPZmZzZXQpLCByZWdUMCk7CisgICAgaW5mby0+c2V0VXBDYWxsKENhbGxMaW5rSW5mbzo6Y2Fs
bFR5cGVGb3Iob3Bjb2RlSUQpLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVJbmRleCksIHJlZ1QwKTsK
ICAgICBtX2NhbGxDb21waWxhdGlvbkluZm8uYXBwZW5kKENhbGxDb21waWxhdGlvbkluZm8oKSk7
CiAgICAgbV9jYWxsQ29tcGlsYXRpb25JbmZvW2NhbGxMaW5rSW5mb0luZGV4XS5ob3RQYXRoQmVn
aW4gPSBhZGRyZXNzT2ZMaW5rZWRGdW5jdGlvbkNoZWNrOwogICAgIG1fY2FsbENvbXBpbGF0aW9u
SW5mb1tjYWxsTGlua0luZm9JbmRleF0uY2FsbExpbmtJbmZvID0gaW5mbzsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCmluZGV4
IGM4OGJjNzA2ZWQ2NDJlNjk0N2VlOTUxNjE4NGJlNzFkYmNkYjk5ZGUuLjZjNDg2NDcwOTU5ZDA1
NjNkZTZhZDA4Yjg3NzE1MzMwZDZmMWJjYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcApAQCAtMTkxLDcgKzE5MSw3IEBA
IHZvaWQgSklUOjplbWl0X29wX2dldF9ieV92YWwoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJ
bnN0cnVjdGlvbikKIAogICAgIExhYmVsIG5leHRIb3RQYXRoID0gbGFiZWwoKTsKICAgICAKLSAg
ICBtX2J5VmFsQ29tcGlsYXRpb25JbmZvLmFwcGVuZChCeVZhbENvbXBpbGF0aW9uSW5mbyhieVZh
bEluZm8sIG1fYnl0ZWNvZGVPZmZzZXQsIG5vdEluZGV4LCBiYWRUeXBlLCBtb2RlLCBwcm9maWxl
LCBkb25lLCBuZXh0SG90UGF0aCkpOworICAgIG1fYnlWYWxDb21waWxhdGlvbkluZm8uYXBwZW5k
KEJ5VmFsQ29tcGlsYXRpb25JbmZvKGJ5VmFsSW5mbywgbV9ieXRlY29kZUluZGV4LCBub3RJbmRl
eCwgYmFkVHlwZSwgbW9kZSwgcHJvZmlsZSwgZG9uZSwgbmV4dEhvdFBhdGgpKTsKIH0KIAogSklU
R2V0QnlJZEdlbmVyYXRvciBKSVQ6OmVtaXRHZXRCeVZhbFdpdGhDYWNoZWRJZChCeVZhbEluZm8q
IGJ5VmFsSW5mbywgT3BHZXRCeVZhbCBieXRlY29kZSwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dHlOYW1lLCBKdW1wJiBmYXN0RG9uZUNhc2UsIEp1bXAmIHNsb3dEb25lQ2FzZSwgSnVtcExpc3Qm
IHNsb3dDYXNlcykKQEAgLTIwNyw3ICsyMDcsNyBAQCBKSVRHZXRCeUlkR2VuZXJhdG9yIEpJVDo6
ZW1pdEdldEJ5VmFsV2l0aENhY2hlZElkKEJ5VmFsSW5mbyogYnlWYWxJbmZvLCBPcEdldEJ5Vgog
CiAgICAgY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiA9IG1fY29kZUJsb2Nr
LT5pbnN0cnVjdGlvbnMoKS5hdChieVZhbEluZm8tPmJ5dGVjb2RlSW5kZXgpLnB0cigpOwogICAg
IEpJVEdldEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdp
bihtX2J5dGVjb2RlT2Zmc2V0KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBS
ZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCisgICAgICAgIG1fY29kZUJs
b2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVJbmRleCksIENhbGxTaXRlSW5kZXgoY3VycmVudElu
c3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0dWJVbmF2YWlsYWJsZVJlZ2lzdGVycygpLAogICAg
ICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpLCBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVnVDAp
LCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDApLCBBY2Nlc3NUeXBlOjpHZXQpOwogICAgIGdlbi5n
ZW5lcmF0ZUZhc3RQYXRoKCp0aGlzKTsKIApAQCAtMzE0LDcgKzMxNCw3IEBAIHZvaWQgSklUOjpl
bWl0X29wX3B1dF9ieV92YWwoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikK
ICAgICAKICAgICBMYWJlbCBkb25lID0gbGFiZWwoKTsKICAgICAKLSAgICBtX2J5VmFsQ29tcGls
YXRpb25JbmZvLmFwcGVuZChCeVZhbENvbXBpbGF0aW9uSW5mbyhieVZhbEluZm8sIG1fYnl0ZWNv
ZGVPZmZzZXQsIG5vdEluZGV4LCBiYWRUeXBlLCBtb2RlLCBwcm9maWxlLCBkb25lLCBkb25lKSk7
CisgICAgbV9ieVZhbENvbXBpbGF0aW9uSW5mby5hcHBlbmQoQnlWYWxDb21waWxhdGlvbkluZm8o
YnlWYWxJbmZvLCBtX2J5dGVjb2RlSW5kZXgsIG5vdEluZGV4LCBiYWRUeXBlLCBtb2RlLCBwcm9m
aWxlLCBkb25lLCBkb25lKSk7CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBPcD4KQEAgLTQzNyw3
ICs0MzcsNyBAQCBKSVRQdXRCeUlkR2VuZXJhdG9yIEpJVDo6ZW1pdFB1dEJ5VmFsV2l0aENhY2hl
ZElkKEJ5VmFsSW5mbyogYnlWYWxJbmZvLCBPcCBieXRlYwogCiAgICAgY29uc3QgSW5zdHJ1Y3Rp
b24qIGN1cnJlbnRJbnN0cnVjdGlvbiA9IG1fY29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5hdChi
eVZhbEluZm8tPmJ5dGVjb2RlSW5kZXgpLnB0cigpOwogICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3Ig
Z2VuKAotICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwg
Q2FsbFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZh
aWxhYmxlUmVnaXN0ZXJzKCksCisgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0
ZWNvZGVJbmRleCksIENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJT
ZXQ6OnN0dWJVbmF2YWlsYWJsZVJlZ2lzdGVycygpLAogICAgICAgICBKU1ZhbHVlUmVnczo6cGF5
bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMywgcmVnVDIpLCByZWdUMSwgbV9jb2Rl
QmxvY2stPmVjbWFNb2RlKCksIHB1dEtpbmQpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0
aGlzKTsKICAgICBkb25lQ2FzZXMuYXBwZW5kKGp1bXAoKSk7CkBAIC01MDEsNyArNTAxLDcgQEAg
dm9pZCBKSVQ6OmVtaXRfb3BfdHJ5X2dldF9ieV9pZChjb25zdCBJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQogICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEpTQ2VsbChiYXNlLCByZWdU
MSk7CiAKICAgICBKSVRHZXRCeUlkR2VuZXJhdG9yIGdlbigKLSAgICAgICAgbV9jb2RlQmxvY2ss
IENvZGVPcmlnaW4obV9ieXRlY29kZU9mZnNldCksIENhbGxTaXRlSW5kZXgoY3VycmVudEluc3Ry
dWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0dWJVbmF2YWlsYWJsZVJlZ2lzdGVycygpLAorICAgICAg
ICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlSW5kZXgpLCBDYWxsU2l0ZUluZGV4
KGN1cnJlbnRJbnN0cnVjdGlvbiksIFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3Rl
cnMoKSwKICAgICAgICAgaWRlbnQtPmltcGwoKSwgSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KHJl
Z1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDEsIHJlZ1QwKSwgQWNjZXNzVHlwZTo6VHJ5R2V0KTsKICAg
ICBnZW4uZ2VuZXJhdGVGYXN0UGF0aCgqdGhpcyk7CiAgICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQ
YXRoSnVtcCgpKTsKQEAgLTU0MCw3ICs1NDAsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9nZXRfYnlf
aWRfZGlyZWN0KGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgZW1p
dEp1bXBTbG93Q2FzZUlmTm90SlNDZWxsKGJhc2UsIHJlZ1QxKTsKIAogICAgIEpJVEdldEJ5SWRH
ZW5lcmF0b3IgZ2VuKAotICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2Rl
T2Zmc2V0KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6
c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCisgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3Jp
Z2luKG1fYnl0ZWNvZGVJbmRleCksIENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwg
UmVnaXN0ZXJTZXQ6OnN0dWJVbmF2YWlsYWJsZVJlZ2lzdGVycygpLAogICAgICAgICBpZGVudC0+
aW1wbCgpLCBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdU
MSwgcmVnVDApLCBBY2Nlc3NUeXBlOjpHZXREaXJlY3QpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQ
YXRoKCp0aGlzKTsKICAgICBhZGRTbG93Q2FzZShnZW4uc2xvd1BhdGhKdW1wKCkpOwpAQCAtNTg2
LDcgKzU4Niw3IEBAIHZvaWQgSklUOjplbWl0X29wX2dldF9ieV9pZChjb25zdCBJbnN0cnVjdGlv
biogY3VycmVudEluc3RydWN0aW9uKQogICAgIH0KIAogICAgIEpJVEdldEJ5SWRHZW5lcmF0b3Ig
Z2VuKAotICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwg
Q2FsbFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZh
aWxhYmxlUmVnaXN0ZXJzKCksCisgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0
ZWNvZGVJbmRleCksIENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJT
ZXQ6OnN0dWJVbmF2YWlsYWJsZVJlZ2lzdGVycygpLAogICAgICAgICBpZGVudC0+aW1wbCgpLCBK
U1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDAp
LCBBY2Nlc3NUeXBlOjpHZXQpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0aGlzKTsKICAg
ICBhZGRTbG93Q2FzZShnZW4uc2xvd1BhdGhKdW1wKCkpOwpAQCAtNjI3LDcgKzYyNyw3IEBAIHZv
aWQgSklUOjplbWl0X29wX2dldF9ieV9pZF93aXRoX3RoaXMoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1
cnJlbnRJbnN0cnVjdGlvbikKICAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RKU0NlbGwodGhpc1ZS
ZWcsIHJlZ1Q0KTsKIAogICAgIEpJVEdldEJ5SWRXaXRoVGhpc0dlbmVyYXRvciBnZW4oCi0gICAg
ICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBDYWxsU2l0ZUlu
ZGV4KGN1cnJlbnRJbnN0cnVjdGlvbiksIFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdp
c3RlcnMoKSwKKyAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZUluZGV4
KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVu
YXZhaWxhYmxlUmVnaXN0ZXJzKCksCiAgICAgICAgIGlkZW50LT5pbXBsKCksIEpTVmFsdWVSZWdz
KHJlZ1QxLCByZWdUMCksIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpTVmFsdWVS
ZWdzKHJlZ1Q0LCByZWdUMyksIEFjY2Vzc1R5cGU6OkdldFdpdGhUaGlzKTsKICAgICBnZW4uZ2Vu
ZXJhdGVGYXN0UGF0aCgqdGhpcyk7CiAgICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQYXRoSnVtcCgp
KTsKQEAgLTY3MCw3ICs2NzAsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9wdXRfYnlfaWQoY29uc3Qg
SW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBlbWl0SnVtcFNsb3dDYXNlSWZO
b3RKU0NlbGwoYmFzZSwgcmVnVDEpOwogCiAgICAgSklUUHV0QnlJZEdlbmVyYXRvciBnZW4oCi0g
ICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBDYWxsU2l0
ZUluZGV4KGN1cnJlbnRJbnN0cnVjdGlvbiksIFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVS
ZWdpc3RlcnMoKSwKKyAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZUlu
ZGV4KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1
YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCiAgICAgICAgIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25s
eShyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QzLCByZWdUMiksCiAgICAgICAgIHJlZ1QxLCBtX2Nv
ZGVCbG9jay0+ZWNtYU1vZGUoKSwgZGlyZWN0ID8gRGlyZWN0IDogTm90RGlyZWN0KTsKICAgICAK
QEAgLTcxNCw3ICs3MTQsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbl9ieV9pZChjb25zdCBJbnN0
cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEpT
Q2VsbChiYXNlLCByZWdUMSk7CiAKICAgICBKSVRJbkJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAg
ICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgQ2FsbFNpdGVJbmRl
eChjdXJyZW50SW5zdHJ1Y3Rpb24pLCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0
ZXJzKCksCisgICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVJbmRleCks
IENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0dWJVbmF2
YWlsYWJsZVJlZ2lzdGVycygpLAogICAgICAgICBpZGVudC0+aW1wbCgpLCBKU1ZhbHVlUmVnczo6
cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDApKTsKICAgICBnZW4u
Z2VuZXJhdGVGYXN0UGF0aCgqdGhpcyk7CiAgICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQYXRoSnVt
cCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381789</attachid>
            <date>2019-10-24 02:02:18 -0700</date>
            <delta_ts>2019-10-24 03:55:09 -0700</delta_ts>
            <desc>Pending fixes</desc>
            <filename>pending.patch</filename>
            <type>text/plain</type>
            <size>3284</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlT3JpZ2luLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZU9yaWdpbi5oCmluZGV4IDM0MTRk
NGYwMWRmLi5mMDBjNmFhOGVlZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVPcmlnaW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZU9yaWdpbi5oCkBAIC01NCw3ICs1NCw4IEBAIHB1YmxpYzoKICNpZiBDUFUoQUREUkVTUzY0
KQogICAgICAgICA6IG1fY29tcG9zaXRlVmFsdWUoYnVpbGRDb21wb3NpdGVWYWx1ZShkZWxldGVk
TWFya2VyKCksIEJ5dGVjb2RlSW5kZXgoKSkpCiAjZWxzZQotICAgICAgICA6IG1faW5saW5lQ2Fs
bEZyYW1lKGRlbGV0ZWRNYXJrZXIoKSkKKyAgICAgICAgOiBtX2J5dGVjb2RlSW5kZXgoQnl0ZWNv
ZGVJbmRleDo6ZGVsZXRlZFZhbHVlKCkpCisgICAgICAgICwgbV9pbmxpbmVDYWxsRnJhbWUoZGVs
ZXRlZE1hcmtlcigpKQogI2VuZGlmCiAgICAgewogICAgIH0KQEAgLTEzNCw3ICsxMzUsNyBAQCBw
dWJsaWM6CiAjaWYgQ1BVKEFERFJFU1M2NCkKICAgICAgICAgcmV0dXJuICFpc1NldCgpICYmICht
X2NvbXBvc2l0ZVZhbHVlICYgc19tYXNrQ29tcG9zaXRlVmFsdWVGb3JQb2ludGVyKTsKICNlbHNl
Ci0gICAgICAgIHJldHVybiAhIW1fYnl0ZWNvZGVJbmRleCAmJiAhIW1faW5saW5lQ2FsbEZyYW1l
OworICAgICAgICByZXR1cm4gbV9ieXRlY29kZUluZGV4LmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVl
KCkgJiYgISFtX2lubGluZUNhbGxGcmFtZTsKICNlbmRpZgogICAgIH0KICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0UHJvZmlsZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RGR0V4aXRQcm9maWxlLmgKaW5kZXggZjgwNzdi
Y2M2NDAuLjM2M2YzMTMzOTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvREZHRXhpdFByb2ZpbGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvREZHRXhpdFByb2ZpbGUuaApAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgfQogICAg
IAogICAgIEZyZXF1ZW50RXhpdFNpdGUoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKQot
ICAgICAgICA6IG1fYnl0ZWNvZGVJbmRleChXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZSkKKyAg
ICAgICAgOiBtX2J5dGVjb2RlSW5kZXgoQnl0ZWNvZGVJbmRleDo6ZGVsZXRlZFZhbHVlKCkpCiAg
ICAgICAgICwgbV9raW5kKEV4aXRLaW5kVW5zZXQpCiAgICAgICAgICwgbV9qaXRUeXBlKEV4aXRG
cm9tQW55dGhpbmcpCiAgICAgICAgICwgbV9pbmxpbmVLaW5kKEV4aXRGcm9tQW55SW5saW5lS2lu
ZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9MYXp5T3BlcmFu
ZFZhbHVlUHJvZmlsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xhenlPcGVy
YW5kVmFsdWVQcm9maWxlLmgKaW5kZXggYmZiOTRiMzVmY2QuLjA4ZThkNzZmYzRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1ZVByb2Zp
bGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1
ZVByb2ZpbGUuaApAQCAtMzksMTIgKzM5LDEzIEBAIGNsYXNzIFNjcmlwdEV4ZWN1dGFibGU7CiBj
bGFzcyBMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZUtleSB7CiBwdWJsaWM6CiAgICAgTGF6eU9wZXJh
bmRWYWx1ZVByb2ZpbGVLZXkoKQotICAgICAgICA6IG1fb3BlcmFuZChWaXJ0dWFsUmVnaXN0ZXIo
KSkgLy8gbm90IGEgdmFsaWQgb3BlcmFuZCBpbmRleCBpbiBvdXIgY3VycmVudCBzY2hlbWUKKyAg
ICAgICAgOiBtX2J5dGVjb2RlSW5kZXgoQnl0ZWNvZGVJbmRleCgwKSkKKyAgICAgICAgLCBtX29w
ZXJhbmQoVmlydHVhbFJlZ2lzdGVyKCkpIC8vIG5vdCBhIHZhbGlkIG9wZXJhbmQgaW5kZXggaW4g
b3VyIGN1cnJlbnQgc2NoZW1lCiAgICAgewogICAgIH0KICAgICAKICAgICBMYXp5T3BlcmFuZFZh
bHVlUHJvZmlsZUtleShXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUpCi0gICAgICAgIDog
bV9ieXRlY29kZUluZGV4KFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlKQorICAgICAgICA6IG1f
Ynl0ZWNvZGVJbmRleChCeXRlY29kZUluZGV4OjpkZWxldGVkVmFsdWUoKSkKICAgICAgICAgLCBt
X29wZXJhbmQoVmlydHVhbFJlZ2lzdGVyKCkpIC8vIG5vdCBhIHZhbGlkIG9wZXJhbmQgaW5kZXgg
aW4gb3VyIGN1cnJlbnQgc2NoZW1lCiAgICAgewogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlck9yaWdpbi5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyT3JpZ2luLmgKaW5kZXggMjM3MjZmYTk5NWYuLjU1OGE5
ZjA0NmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmls
ZXJPcmlnaW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJP
cmlnaW4uaApAQCAtNDMsNyArNDMsNyBAQCBjbGFzcyBPcmlnaW4gewogcHVibGljOgogICAgIE9y
aWdpbigpID0gZGVmYXVsdDsKICAgICBPcmlnaW4oV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWVU
eXBlKQotICAgICAgICA6IG1fYnl0ZWNvZGVJbmRleChCeXRlY29kZUluZGV4KFdURjo6SGFzaFRh
YmxlRGVsZXRlZFZhbHVlKSkKKyAgICAgICAgOiBtX2J5dGVjb2RlSW5kZXgoQnl0ZWNvZGVJbmRl
eDo6ZGVsZXRlZFZhbHVlKCkpCiAgICAgeyB9CiAgICAgCiAgICAgT3JpZ2luKEJ5dGVjb2Rlcyog
Ynl0ZWNvZGVzLCBCeXRlY29kZUluZGV4IGJ5dGVjb2RlSW5kZXgpCkBAIC01NSw3ICs1NSw3IEBA
IHB1YmxpYzoKICAgICAKICAgICBPcmlnaW4oRGF0YWJhc2UmLCBDb2RlQmxvY2sqLCBCeXRlY29k
ZUluZGV4KTsKICAgICAKLSAgICBib29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuICEhbV9i
eXRlY29kZUluZGV4OyB9CisgICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdCB7IHJldHVybiAhbV9i
eXRlY29kZUluZGV4OyB9CiAgICAgCiAgICAgQnl0ZWNvZGVzKiBieXRlY29kZXMoKSBjb25zdCB7
IHJldHVybiBtX2J5dGVjb2RlczsgfQogICAgIEJ5dGVjb2RlSW5kZXggYnl0ZWNvZGVJbmRleCgp
IGNvbnN0IHsgcmV0dXJuIG1fYnl0ZWNvZGVJbmRleDsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381796</attachid>
            <date>2019-10-24 03:55:13 -0700</date>
            <delta_ts>2019-10-24 22:45:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203290-20191024125511.patch</filename>
            <type>text/plain</type>
            <size>4047</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
YWJlM2UyNmM2MDBiODBmYzBlNzE1ZjJhOTgzMjJmYzBiM2FiNGI3Li5iYmFjMWRhYTZhNDI0MzAy
MjE5YzY1MTVlN2FhZDY1MTY1YjAzMWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxOS0xMC0yNCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5j
b20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjUxNDY4KTogQnVpbGQsIHRlc3QgZmFpbHVyZXMg
aW4gMzItYml0IEpTQyBhZnRlciBCeXRlY29kZUluZGV4IHJlZmFjdG9yaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyOTAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2Rl
SW5kZXguaDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVJbmRleDo6Qnl0ZWNvZGVJbmRleCk6Cisg
ICAgICAgIEFkZCBhIEJ5dGVjb2RlSW5kZXgoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBl
KSBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBieXRlY29kZS9Db2RlT3JpZ2luLmg6CisgICAgICAg
IChKU0M6OkNvZGVPcmlnaW46OkNvZGVPcmlnaW4pOgorICAgICAgICBIYXZlIHRoZSBDb2RlT3Jp
Z2luKFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSkgY29uc3RydWN0b3IKKyAgICAgICAg
aW5pdGlhbGl6ZSB0aGUgQnl0ZWNvZGVJbmRleCBvYmplY3QgYWNjb3JkaW5nbHksIGFzIGEgZGVs
ZXRlZCB2YWx1ZS4KKyAgICAgICAgKEpTQzo6Q29kZU9yaWdpbjo6aXNIYXNoVGFibGVEZWxldGVk
VmFsdWUgY29uc3QpOgorICAgICAgICBUZXN0IEJ5dGVjb2RlSW5kZXggb2JqZWN0J3MgZGVsZXRl
ZC12YWx1ZSBjb25kaXRpb24gdGhyb3VnaCB0aGUKKyAgICAgICAgY29ycmVzcG9uZGluZyBCeXRl
Y29kZUluZGV4Ojppc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIG1ldGhvZC4KKyAgICAgICAgKiBw
cm9maWxlci9Qcm9maWxlck9yaWdpbi5oOgorICAgICAgICAoSlNDOjpQcm9maWxlcjo6T3JpZ2lu
OjpPcmlnaW4pOgorICAgICAgICBTaW1wbGlmeSB0aGUgbV9ieXRlY29kZUluZGV4IG1lbWJlciBp
bml0aWFsaXphdGlvbiBmb3IgYSBkZWxldGVkIHZhbHVlLgorICAgICAgICAoSlNDOjpQcm9maWxl
cjo6T3JpZ2luOjpvcGVyYXRvciEgY29uc3QpOgorICAgICAgICBGaXggdGhlIG5lZ2F0aW9uIG9w
ZXJhdG9yLCByZXR1cm5pbmcgdHJ1ZSBpZiB0aGUgbV9ieXRlY29kZUluZGV4IGlzCisgICAgICAg
IGVpdGhlciBlbXB0eSBvciBkZWxldGVkLgorCiAyMDE5LTEwLTI0ICBaYW4gRG9iZXJzZWsgIDx6
ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBbSlNDXSBHZXQgMzItYml0IHBvcnRzIGJh
Y2sgaW50byBidWlsZGluZyBvcmRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0J5dGVjb2RlSW5kZXguaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeXRlY29kZUluZGV4LmgKaW5kZXggNGVhZDg1NWZiNGMwNzI2MjNjNzc0NzJhNDYzZTU5MGZm
MjI4YmIwNi4uNTI5NWMyOWIxMjI4MTMxZjcyYWMyMDczMWMxZDNiY2U5MzUxNThkZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW5kZXguaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbmRleC5oCkBAIC0zNiw2
ICszNiwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIEJ5dGVjb2RlSW5kZXggewogcHVibGlj
OgogICAgIEJ5dGVjb2RlSW5kZXgoKSA9IGRlZmF1bHQ7CisgICAgQnl0ZWNvZGVJbmRleChXVEY6
Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUpCisgICAgICAgIDogbV9vZmZzZXQoZGVsZXRlZFZh
bHVlKCkuYXNCaXRzKCkpCisgICAgeworICAgIH0KICAgICBleHBsaWNpdCBCeXRlY29kZUluZGV4
KHVpbnQzMl90IGJ5dGVjb2RlT2Zmc2V0KQogICAgICAgICA6IG1fb2Zmc2V0KGJ5dGVjb2RlT2Zm
c2V0KQogICAgIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVPcmlnaW4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlT3JpZ2lu
LmgKaW5kZXggMzQxNGQ0ZjAxZGY0ZDc4Yjc0YzRjMGNjNWI4OWM4NWNlYWI4MGEzZS4uMjEwNjgx
M2YwYTFlYWE1MTM0ZDBmMzliZDc1MWM3MzE4ZWJjMDQzMSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZU9yaWdpbi5oCkBAIC01NCw3ICs1NCw4IEBAIHB1YmxpYzoKICNp
ZiBDUFUoQUREUkVTUzY0KQogICAgICAgICA6IG1fY29tcG9zaXRlVmFsdWUoYnVpbGRDb21wb3Np
dGVWYWx1ZShkZWxldGVkTWFya2VyKCksIEJ5dGVjb2RlSW5kZXgoKSkpCiAjZWxzZQotICAgICAg
ICA6IG1faW5saW5lQ2FsbEZyYW1lKGRlbGV0ZWRNYXJrZXIoKSkKKyAgICAgICAgOiBtX2J5dGVj
b2RlSW5kZXgoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWUpCisgICAgICAgICwgbV9pbmxpbmVD
YWxsRnJhbWUoZGVsZXRlZE1hcmtlcigpKQogI2VuZGlmCiAgICAgewogICAgIH0KQEAgLTEzNCw3
ICsxMzUsNyBAQCBwdWJsaWM6CiAjaWYgQ1BVKEFERFJFU1M2NCkKICAgICAgICAgcmV0dXJuICFp
c1NldCgpICYmIChtX2NvbXBvc2l0ZVZhbHVlICYgc19tYXNrQ29tcG9zaXRlVmFsdWVGb3JQb2lu
dGVyKTsKICNlbHNlCi0gICAgICAgIHJldHVybiAhIW1fYnl0ZWNvZGVJbmRleCAmJiAhIW1faW5s
aW5lQ2FsbEZyYW1lOworICAgICAgICByZXR1cm4gbV9ieXRlY29kZUluZGV4LmlzSGFzaFRhYmxl
RGVsZXRlZFZhbHVlKCkgJiYgISFtX2lubGluZUNhbGxGcmFtZTsKICNlbmRpZgogICAgIH0KICAg
ICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlck9y
aWdpbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyT3JpZ2luLmgK
aW5kZXggMjM3MjZmYTk5NWZhN2EyNmNhNDliM2YzYmI3Yjg2YmE0ZmQ2MWUxZC4uMTAxNmE0MDIw
ZjI4MDI1NTc1MWIyOTY3ZTEwYThkYTU2ZTE3NGI0NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyT3JpZ2luLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyT3JpZ2luLmgKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3Mg
T3JpZ2luIHsKIHB1YmxpYzoKICAgICBPcmlnaW4oKSA9IGRlZmF1bHQ7CiAgICAgT3JpZ2luKFdU
Rjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSkKLSAgICAgICAgOiBtX2J5dGVjb2RlSW5kZXgo
Qnl0ZWNvZGVJbmRleChXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZSkpCisgICAgICAgIDogbV9i
eXRlY29kZUluZGV4KFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlKQogICAgIHsgfQogICAgIAog
ICAgIE9yaWdpbihCeXRlY29kZXMqIGJ5dGVjb2RlcywgQnl0ZWNvZGVJbmRleCBieXRlY29kZUlu
ZGV4KQpAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgT3JpZ2luKERhdGFiYXNl
JiwgQ29kZUJsb2NrKiwgQnl0ZWNvZGVJbmRleCk7CiAgICAgCi0gICAgYm9vbCBvcGVyYXRvciEo
KSBjb25zdCB7IHJldHVybiAhIW1fYnl0ZWNvZGVJbmRleDsgfQorICAgIGJvb2wgb3BlcmF0b3Ih
KCkgY29uc3QgeyByZXR1cm4gIW1fYnl0ZWNvZGVJbmRleDsgfQogICAgIAogICAgIEJ5dGVjb2Rl
cyogYnl0ZWNvZGVzKCkgY29uc3QgeyByZXR1cm4gbV9ieXRlY29kZXM7IH0KICAgICBCeXRlY29k
ZUluZGV4IGJ5dGVjb2RlSW5kZXgoKSBjb25zdCB7IHJldHVybiBtX2J5dGVjb2RlSW5kZXg7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>