<?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>186905</bug_id>
          
          <creation_ts>2018-06-21 19:08:56 -0700</creation_ts>
          <short_desc>Crash under WebResourceLoadStatisticsStore::mergeStatistics(WTF::Vector&lt;WebCore::ResourceLoadStatistics, 0ul, WTF::CrashOnOverflow, 16ul&gt;&amp;&amp;)</short_desc>
          <delta_ts>2018-06-22 13:16:39 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1435337</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-21 19:08:56 -0700</bug_when>
    <thetext>Crash under WebResourceLoadStatisticsStore::mergeStatistics(WTF::Vector&lt;WebCore::ResourceLoadStatistics, 0ul, WTF::CrashOnOverflow, 16ul&gt;&amp;&amp;):
      4 WebKit: WTF::HashTable&lt;WTF::String, WTF::KeyValuePair&lt;WTF::String, unsigned int&gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WTF::String, unsigned int&gt; &gt;, WTF::StringHash, WTF::HashMap&lt;WTF::String, unsigned int, WTF::StringHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;unsigned int&gt; &gt;::KeyValuePairTraits, WTF::HashTraits&lt;WTF::String&gt; &gt;::deallocateTable(WTF::KeyValuePair&lt;WTF::String, unsigned int&gt;*, unsigned int) &lt;==
        3 WebKit: WTF::HashTable&lt;WTF::String, WTF::KeyValuePair&lt;WTF::String, unsigned int&gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WTF::String, unsigned int&gt; &gt;, WTF::StringHash, WTF::HashMap&lt;WTF::String, unsigned int, WTF::StringHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;unsigned int&gt; &gt;::KeyValuePairTraits, WTF::HashTraits&lt;WTF::String&gt; &gt;::operator=(WTF::HashTable&lt;WTF::String, WTF::KeyValuePair&lt;WTF::String, unsigned int&gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WTF::String, unsigned int&gt; &gt;, WTF::StringHash, WTF::HashMap&lt;WTF::String, unsigned int, WTF::StringHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;unsigned int&gt; &gt;::KeyValuePairTraits, WTF::HashTraits&lt;WTF::String&gt; &gt;&amp;&amp;)
        | 3 WebKit: WTF::HashTable&lt;WTF::String, WTF::KeyValuePair&lt;WTF::String, unsigned int&gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WTF::String, unsigned int&gt; &gt;, WTF::StringHash, WTF::HashMap&lt;WTF::String, unsigned int, WTF::StringHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;unsigned int&gt; &gt;::KeyValuePairTraits, WTF::HashTraits&lt;WTF::String&gt; &gt;::operator=(WTF::HashTable&lt;WTF::String, WTF::KeyValuePair&lt;WTF::String, unsigned int&gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WTF::String, unsigned int&gt; &gt;, WTF::StringHash, WTF::HashMap&lt;WTF::String, unsigned int, WTF::StringHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;unsigned int&gt; &gt;::KeyValuePairTraits, WTF::HashTraits&lt;WTF::String&gt; &gt;&amp;&amp;)
        |   3 WebKit: WebCore::ResourceLoadStatistics::operator=(WebCore::ResourceLoadStatistics&amp;&amp;)
        |     3 WebKit: WebKit::WebResourceLoadStatisticsStore::mergeStatistics(WTF::Vector&lt;WebCore::ResourceLoadStatistics, 0ul, WTF::CrashOnOverflow, 16ul&gt;&amp;&amp;)
        |       3 WebKit: WebKit::WebResourceLoadStatisticsStore::mergeWithDataFromDecoder(WebCore::KeyedDecoder&amp;)
        |         3 WebKit: WebKit::ResourceLoadStatisticsPersistentStorage::refreshMemoryStoreFromDisk()
        |           3 libdispatch.dylib: _dispatch_client_callout
        |             pruning: 2 libdispatch.dylib: _dispatch_continuation_pop$VARIANT$armv81
        |             pruning: 1 libdispatch.dylib: _dispatch_continuation_pop$VARIANT$mp
        pruning: 1 WebKit: WebCore::ResourceLoadStatistics::~ResourceLoadStatistics()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1435338</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-21 19:09:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/41266775&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1435339</commentid>
    <comment_count>2</comment_count>
      <attachid>343301</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-21 19:26:28 -0700</bug_when>
    <thetext>Created attachment 343301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1435539</commentid>
    <comment_count>3</comment_count>
      <attachid>343301</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-06-22 12:34:11 -0700</bug_when>
    <thetext>Comment on attachment 343301
Patch

This looks like a nice simplification. r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1435563</commentid>
    <comment_count>4</comment_count>
      <attachid>343301</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-22 13:16:38 -0700</bug_when>
    <thetext>Comment on attachment 343301
Patch

Clearing flags on attachment: 343301

Committed r233092: &lt;https://trac.webkit.org/changeset/233092&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1435564</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-22 13:16:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>343301</attachid>
            <date>2018-06-21 19:26:28 -0700</date>
            <delta_ts>2018-06-22 13:16:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186905-20180621192627.patch</filename>
            <type>text/plain</type>
            <size>17484</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzMDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDAyYThlZWY1ZjNjNzMzMWUw
OWUwZTJmYzA3ZmY5OGIwMjFiZTcyMGMuLjA0Y2U3NTVmMjI0OTZhOGQ1OWMyYWZmMzIwYjk4NGY2
ZjgyODJmNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTgtMDYtMjEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCB1bmRlciBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmU6Om1lcmdlU3RhdGlzdGljcyhXVEY6OlZlY3RvcjxXZWJDb3Jl
OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCAwdWwsIFdURjo6Q3Jhc2hPbk92ZXJmbG93LCAxNnVs
PiYmKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg2
OTA1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MTI2Njc3NT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJIGJlbGlldmUgdGhlIGNyYXNoIHdhcyBj
YXVzZWQgYnkgdGhlIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSBvYmplY3QgYmVpbmcg
ZGVhZAorICAgICAgICB3aGVuIG1lcmdlU3RhdGlzdGljcygpIGlzIGNhbGxlZC4gSW4gcGFydGlj
dWxhciwgdGhlIGNyYXNoIHdhcyBoYXBwZW5pbmcgd2hlbiB0aGUKKyAgICAgICAgUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlJ3MgRmlsZU1vbml0b3Igd291bGQgZGV0ZWN0
IGEgZmlsZSBjaGFuZ2UgYW5kCisgICAgICAgIHdlIHdvdWxkIHJlLXN5bmMgc3RhdGlzdGljcyBm
cm9tIHRoZSBkaXNrLiBUaGUgRmlsZU1vbml0b3IncyBsYW1iZGEgZnVuY3Rpb24gd2FzCisgICAg
ICAgIGNhcHR1cmluZyB8dGhpc3wgd2l0aG91dCByZWYnaW5nIGl0LCBhbmQgdGhlIEZpbGVNb25p
dG9yIG1vbml0b3JzIHRoZSBkaXNrIGFuZAorICAgICAgICBjYWxscyB0aGUgbGFtYmRhIG9uIHRo
ZSBiYWNrZ3JvdW5kIHF1ZXVlLCB3aGlsZSBpdCBnZXRzIGRlc3Ryb3llZCBvbiB0aGUgbWFpbiB0
aHJlYWQuCisKKyAgICAgICAgVG8gbWFrZSBsaWZldGltZSBtYW5hZ2VtZW50IGxlc3MgY29tcGxl
eCwgdGhlIGZvbGxvd2luZyBjaGFuZ2VzIHdlcmUgbWFkZToKKyAgICAgICAgLSBUaGUgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlIG9iamVjdCBpcyBub3cgYWx3YXlzIGNv
bnN0cnVjdGVkIC8gdXNlZAorICAgICAgICAgIGFuZCBkZXN0cm95ZWQgb24gdGhlIGJhY2tncm91
bmQgcXVldWUuIFdlIG5vIGxvbmdlciBoYXZlIHRvIHdvcnJ5IGFib3V0IGJlaW5nIG9uCisgICAg
ICAgICAgdGhlIHJpZ2h0IHRocmVhZCBpbiBhIGdpdmVuIG1ldGhvZC4KKyAgICAgICAgLSBOb3cg
dGhhdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UgaXMgYWx3YXlzIHVz
ZWQgZnJvbSB0aGUgYmFja2dyb3VuZAorICAgICAgICAgIHF1ZXVlIGFuZCBubyBsb25nZXIgbmVl
ZHMgdG8gYmUgdGhyZWFkLXNhZmUsIGRyb3AgaXRzIHJlZigpIC8gZGVyZWYoKSBtZXRob2RzIGFu
ZAorICAgICAgICAgIHVzZSB3ZWFrIHBvaW50ZXJzIGluc3RlYWQgdG8gbWFrZSBzdXJlIHRoZSBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UKKyAgICAgICAgICBpcyBzdGls
bCBhbGl2ZSB3aGVuIGEgbGFtZGJhIGdldHMgY2FsbGVkIG9uIHRoZSBiYWNrZ3JvdW5kIHF1ZXVl
LgorICAgICAgICAtIEZvciB3cml0ZSBzY2hlZHVsaW5nIHVzZSBXb3JrUXVldWU6OmRpc3BhdGNo
QWZ0ZXIoKSBhbmQgYSBXZWFrUHRyIGluc3RlYWQgb2YgYQorICAgICAgICAgIFJ1bkxvb3A6OlRp
bWVyLiBUaGlzIGlzIG1vcmUgY29udmVuaWVudCB0byB1c2UgYXMgdGhlIFJ1bkxvb3A6OlRpbWVy
IGhhcyB0byBiZSB1c2VkCisgICAgICAgICAgb24gdGhlIG1haW4gdGhyZWFkLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFn
ZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlKToKKyAgICAgICAgKFdl
YktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOjp+UmVzb3VyY2VM
b2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlKToKKyAgICAgICAgKFdlYktpdDo6UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOjpzdGFydE1vbml0b3JpbmdEaXNrKToK
KyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdl
Ojptb25pdG9yRGlyZWN0b3J5Rm9yTmV3U3RhdGlzdGljcyk6CisgICAgICAgIChXZWJLaXQ6OlJl
c291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZTo6c2NoZWR1bGVPcldyaXRlTWVt
b3J5U3RvcmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVy
c2lzdGVudFN0b3JhZ2UuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlOjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6On5XZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmU6OmZsdXNoQW5kRGVzdHJveVBlcnNpc3RlbnRTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRh
UmVjb3Jkcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZTo6Z3JhbmRmYXRoZXJFeGlzdGluZ1dlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjphcHBsaWNhdGlvbldpbGxUZXJtaW5hdGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNjaGVkdWxl
Q2xlYXJJbk1lbW9yeUFuZFBlcnNpc3RlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaDoKKwogMjAxOC0wNi0yMSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMzI5
OTUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmNwcAppbmRleCBiNjdjYWRlMjVk
ZmNjOWJhY2Y1NzljNjZiNTUwN2ZlZjBhY2NiYjdjLi41ZmMxZGUzNTUyM2UwYzMzZTI5ZmU4NDIy
NjM4ZmJkNjFkMDUxZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5jcHAK
QEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAjaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgotI2luY2x1
ZGUgPHd0Zi90aHJlYWRzL0JpbmFyeVNlbWFwaG9yZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IApAQCAtODUsMjEgKzg0LDIwIEBAIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8S2V5ZWREZWNvZGVy
PiBjcmVhdGVEZWNvZGVyRm9yRmlsZShjb25zdCBTdHJpbmcmIHBhdGgpCiBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0
ZW50U3RvcmFnZShXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUmIHN0b3JlLCBjb25zdCBT
dHJpbmcmIHN0b3JhZ2VEaXJlY3RvcnlQYXRoLCBJc1JlYWRPbmx5IGlzUmVhZE9ubHkpCiAgICAg
OiBtX21lbW9yeVN0b3JlKHN0b3JlKQogICAgICwgbV9zdG9yYWdlRGlyZWN0b3J5UGF0aChzdG9y
YWdlRGlyZWN0b3J5UGF0aCkKLSAgICAsIG1fYXN5bmNXcml0ZVRpbWVyKFJ1bkxvb3A6Om1haW4o
KSwgdGhpcywgJlJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZTo6YXN5bmNX
cml0ZVRpbWVyRmlyZWQpCiAgICAgLCBtX2lzUmVhZE9ubHkoaXNSZWFkT25seSkKLXsKLX0KLQot
dm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OmluaXRpYWxpemUo
KQogewogICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOworCiAgICAgcG9wdWxhdGVNZW1v
cnlTdG9yZUZyb21EaXNrKCk7CiAgICAgc3RhcnRNb25pdG9yaW5nRGlzaygpOwogfQogCiBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6On5SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzUGVyc2lzdGVudFN0b3JhZ2UoKQogewotICAgIEFTU0VSVCghbV9oYXNQZW5kaW5nV3JpdGUp
OworICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOworCisgICAgaWYgKG1faGFzUGVuZGlu
Z1dyaXRlKQorICAgICAgICB3cml0ZU1lbW9yeVN0b3JlVG9EaXNrKCk7CiB9CiAKIFN0cmluZyBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OnN0b3JhZ2VEaXJlY3RvcnlQ
YXRoKCkgY29uc3QKQEAgLTEyNiw4ICsxMjQsMTEgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzUGVyc2lzdGVudFN0b3JhZ2U6OnN0YXJ0TW9uaXRvcmluZ0Rpc2soKQogICAgIGlmIChyZXNv
dXJjZUxvZ1BhdGguaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2ZpbGVNb25p
dG9yID0gc3RkOjptYWtlX3VuaXF1ZTxGaWxlTW9uaXRvcj4ocmVzb3VyY2VMb2dQYXRoLCBtX21l
bW9yeVN0b3JlLnN0YXRpc3RpY3NRdWV1ZSgpLCBbdGhpc10gKEZpbGVNb25pdG9yOjpGaWxlQ2hh
bmdlVHlwZSB0eXBlKSB7CisgICAgbV9maWxlTW9uaXRvciA9IHN0ZDo6bWFrZV91bmlxdWU8Rmls
ZU1vbml0b3I+KHJlc291cmNlTG9nUGF0aCwgbV9tZW1vcnlTdG9yZS5zdGF0aXN0aWNzUXVldWUo
KSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXSAoRmlsZU1vbml0b3I6OkZp
bGVDaGFuZ2VUeXBlIHR5cGUpIHsKICAgICAgICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7
CisgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICByZXR1cm47CisKICAgICAgICAg
c3dpdGNoICh0eXBlKSB7CiAgICAgICAgIGNhc2UgRmlsZU1vbml0b3I6OkZpbGVDaGFuZ2VUeXBl
OjpNb2RpZmljYXRpb246CiAgICAgICAgICAgICByZWZyZXNoTWVtb3J5U3RvcmVGcm9tRGlzaygp
OwpAQCAtMTQzLDYgKzE0NCw4IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3Rl
bnRTdG9yYWdlOjpzdGFydE1vbml0b3JpbmdEaXNrKCkKIAogdm9pZCBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6Om1vbml0b3JEaXJlY3RvcnlGb3JOZXdTdGF0aXN0aWNz
KCkKIHsKKyAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKKwogICAgIFN0cmluZyBzdG9y
YWdlUGF0aCA9IHN0b3JhZ2VEaXJlY3RvcnlQYXRoKCk7CiAgICAgQVNTRVJUKCFzdG9yYWdlUGF0
aC5pc0VtcHR5KCkpOwogCkBAIC0yMzcsMTUgKzI0MCw2IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOjpwb3B1bGF0ZU1lbW9yeVN0b3JlRnJvbURpc2soKQog
ICAgIG1fbWVtb3J5U3RvcmUubG9nVGVzdGluZ0V2ZW50KEFTQ0lJTGl0ZXJhbCgiUG9wdWxhdGVk
V2l0aG91dEdyYW5kZmF0aGVyaW5nIikpOwogfQogCi12b2lkIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NQZXJzaXN0ZW50U3RvcmFnZTo6YXN5bmNXcml0ZVRpbWVyRmlyZWQoKQotewotICAgIEFTU0VS
VChSdW5Mb29wOjppc01haW4oKSk7Ci0gICAgUkVMRUFTRV9BU1NFUlQobV9pc1JlYWRPbmx5ICE9
IElzUmVhZE9ubHk6Olllcyk7Ci0gICAgbV9tZW1vcnlTdG9yZS5zdGF0aXN0aWNzUXVldWUoKS5k
aXNwYXRjaChbdGhpc10gKCkgbXV0YWJsZSB7Ci0gICAgICAgIHdyaXRlTWVtb3J5U3RvcmVUb0Rp
c2soKTsKLSAgICB9KTsKLX0KLQogdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVu
dFN0b3JhZ2U6OndyaXRlTWVtb3J5U3RvcmVUb0Rpc2soKQogewogICAgIEFTU0VSVCghUnVuTG9v
cDo6aXNNYWluKCkpOwpAQCAtMjkyLDggKzI4Niw5IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1BlcnNpc3RlbnRTdG9yYWdlOjpzY2hlZHVsZU9yV3JpdGVNZW1vcnlTdG9yZShGb3JjZUlt
CiAgICAgICAgIGlmICghbV9oYXNQZW5kaW5nV3JpdGUpIHsKICAgICAgICAgICAgIG1faGFzUGVu
ZGluZ1dyaXRlID0gdHJ1ZTsKICAgICAgICAgICAgIFNlY29uZHMgZGVsYXkgPSBtaW5pbXVtV3Jp
dGVJbnRlcnZhbCAtIHRpbWVTaW5jZUxhc3RXcml0ZSArIDFfczsKLSAgICAgICAgICAgIFJ1bkxv
b3A6Om1haW4oKS5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMp
LCBkZWxheV0gewotICAgICAgICAgICAgICAgIG1fYXN5bmNXcml0ZVRpbWVyLnN0YXJ0T25lU2hv
dChkZWxheSk7CisgICAgICAgICAgICBtX21lbW9yeVN0b3JlLnN0YXRpc3RpY3NRdWV1ZSgpLmRp
c3BhdGNoQWZ0ZXIoZGVsYXksIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0geworICAg
ICAgICAgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICAgICAgd2Vha1RoaXMt
PndyaXRlTWVtb3J5U3RvcmVUb0Rpc2soKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAg
ICAgICAgIHJldHVybjsKQEAgLTMxNSwzNiArMzEwLDYgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OmNsZWFyKCkKICAgICAgICAgUkVMRUFTRV9MT0dfRVJS
T1IoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0
ZW50U3RvcmFnZTogVW5hYmxlIHRvIGRlbGV0ZSBzdGF0aXN0aWNzIGZpbGU6ICVzIiwgZmlsZVBh
dGgudXRmOCgpLmRhdGEoKSk7CiB9CiAKLXZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNp
c3RlbnRTdG9yYWdlOjpmaW5pc2hBbGxQZW5kaW5nV29ya1N5bmNocm9ub3VzbHkoKQotewotICAg
IGlmIChtX2lzUmVhZE9ubHkgPT0gSXNSZWFkT25seTo6WWVzKSB7Ci0gICAgICAgIFJFTEVBU0Vf
QVNTRVJUKCFtX2FzeW5jV3JpdGVUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIG1fYXN5bmNXcml0ZVRpbWVyLnN0b3AoKTsKLQotICAgIEJpbmFyeVNlbWFw
aG9yZSBzZW1hcGhvcmU7Ci0gICAgLy8gTWFrZSBzdXJlIGFueSBwZW5kaW5nIHdvcmsgaW4gb3Vy
IHF1ZXVlIGlzIGZpbmlzaGVkIGJlZm9yZSB3ZSB0ZXJtaW5hdGUuCi0gICAgbV9tZW1vcnlTdG9y
ZS5zdGF0aXN0aWNzUXVldWUoKS5kaXNwYXRjaChbJnNlbWFwaG9yZSwgdGhpc10gewotICAgICAg
ICAvLyBXcml0ZSBmaW5hbCBmaWxlIHN0YXRlIHRvIGRpc2suCi0gICAgICAgIGlmIChtX2hhc1Bl
bmRpbmdXcml0ZSkKLSAgICAgICAgICAgIHdyaXRlTWVtb3J5U3RvcmVUb0Rpc2soKTsKLSAgICAg
ICAgc2VtYXBob3JlLnNpZ25hbCgpOwotICAgIH0pOwotICAgIHNlbWFwaG9yZS53YWl0KFdhbGxU
aW1lOjppbmZpbml0eSgpKTsKLX0KLQotdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lz
dGVudFN0b3JhZ2U6OnJlZigpCi17Ci0gICAgbV9tZW1vcnlTdG9yZS5yZWYoKTsKLX0KLQotdm9p
ZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OmRlcmVmKCkKLXsKLSAg
ICBtX21lbW9yeVN0b3JlLmRlcmVmKCk7Ci19Ci0KICNpZiAhUExBVEZPUk0oSU9TKQogdm9pZCBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OmV4Y2x1ZGVGcm9tQmFja3Vw
KCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmgKaW5kZXggYjhkMTJm
MTcxN2RkYzI5MDk2MTg4Zjk2ZWQ3ODAzZDdjMzE1NmRhZi4uYjU4ZGU4NzcxYjdkNWY0OTZiNDI1
MDQ0MjBjNjI3NjY1Yzc2MDJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmgK
QEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1
ZGUgPHd0Zi9SdW5Mb29wLmg+CiAjaW5jbHVkZSA8d3RmL1dhbGxUaW1lLmg+CisjaW5jbHVkZSA8
d3RmL1dlYWtQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtMzksMjQgKzQwLDE2IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU7CiAKLWNsYXNzIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZSB7CisvLyBDYW4gb25seSBiZSBjb25zdHJ1Y3Rl
ZCAvIGRlc3Ryb3llZCAvIHVzZWQgZnJvbSB0aGUgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlJ3Mgc3RhdGlzdGljIHF1ZXVlLgorY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNp
c3RlbnRTdG9yYWdlIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NQZXJzaXN0ZW50U3RvcmFnZT4gewogcHVibGljOgogICAgIGVudW0gY2xhc3MgSXNSZWFkT25s
eSB7IE5vLCBZZXMgfTsKICAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3Jh
Z2UoV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlJiwgY29uc3QgU3RyaW5nJiBzdG9yYWdl
RGlyZWN0b3J5UGF0aCwgSXNSZWFkT25seSk7CiAgICAgflJlc291cmNlTG9hZFN0YXRpc3RpY3NQ
ZXJzaXN0ZW50U3RvcmFnZSgpOwogCi0gICAgdm9pZCBpbml0aWFsaXplKCk7CiAgICAgdm9pZCBj
bGVhcigpOwogCi0gICAgdm9pZCBmaW5pc2hBbGxQZW5kaW5nV29ya1N5bmNocm9ub3VzbHkoKTsK
LQotICAgIHZvaWQgcmVmKCk7Ci0gICAgdm9pZCBkZXJlZigpOwotCi0gICAgZW51bSBjbGFzcyBG
b3JjZUltbWVkaWF0ZVdyaXRlIHsKLSAgICAgICAgTm8sCi0gICAgICAgIFllcywKLSAgICB9Owor
ICAgIGVudW0gY2xhc3MgRm9yY2VJbW1lZGlhdGVXcml0ZSB7IE5vLCBZZXMsIH07CiAgICAgdm9p
ZCBzY2hlZHVsZU9yV3JpdGVNZW1vcnlTdG9yZShGb3JjZUltbWVkaWF0ZVdyaXRlKTsKIAogcHJp
dmF0ZToKQEAgLTcxLDExICs2NCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwb3B1bGF0ZU1lbW9y
eVN0b3JlRnJvbURpc2soKTsKICAgICB2b2lkIGV4Y2x1ZGVGcm9tQmFja3VwKCkgY29uc3Q7CiAg
ICAgdm9pZCByZWZyZXNoTWVtb3J5U3RvcmVGcm9tRGlzaygpOwotICAgIHZvaWQgYXN5bmNXcml0
ZVRpbWVyRmlyZWQoKTsKIAogICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSYgbV9t
ZW1vcnlTdG9yZTsKICAgICBjb25zdCBTdHJpbmcgbV9zdG9yYWdlRGlyZWN0b3J5UGF0aDsKLSAg
ICBSdW5Mb29wOjpUaW1lcjxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U+
IG1fYXN5bmNXcml0ZVRpbWVyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpGaWxlTW9u
aXRvcj4gbV9maWxlTW9uaXRvcjsKICAgICBXYWxsVGltZSBtX2xhc3RTdGF0aXN0aWNzRmlsZVN5
bmNUaW1lOwogICAgIE1vbm90b25pY1RpbWUgbV9sYXN0U3RhdGlzdGljc1dyaXRlVGltZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUuY3BwCmluZGV4IDZkYWIyNjM3YjlhODg1N2M4ZGIyMzcxNDQ1MzE2N2Q4ZWY2
ZGJjMDkuLjczZTc2YWMzZWZlZWUxNDVjMjcxY2UxZDYxMzA4MzJjNTg3NTZmZmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlLmNwcApAQCAtNDYsNiArNDYsNyBAQAogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxF
RAogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNlbmRpZgorI2luY2x1ZGUg
PHd0Zi90aHJlYWRzL0JpbmFyeVNlbWFwaG9yZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtMTY1LDcgKzE2Niw2IEBAIHN0YXRpYyBWZWN0b3I8
T3BlcmF0aW5nRGF0ZT4gbWVyZ2VPcGVyYXRpbmdEYXRlcyhjb25zdCBWZWN0b3I8T3BlcmF0aW5n
RGF0ZT4mIGV4CiAKIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6V2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlKGNvbnN0IFN0cmluZyYgcmVzb3VyY2VMb2FkU3RhdGlzdGljc0Rp
cmVjdG9yeSwgRnVuY3Rpb248dm9pZChjb25zdCBTdHJpbmcmKT4mJiB0ZXN0aW5nQ2FsbGJhY2ss
IGJvb2wgaXNFcGhlbWVyYWwsIFVwZGF0ZVByZXZhbGVudERvbWFpbnNUb1BhcnRpdGlvbk9yQmxv
Y2tDb29raWVzSGFuZGxlciYmIHVwZGF0ZVByZXZhbGVudERvbWFpbnNUb1BhcnRpdGlvbk9yQmxv
Y2tDb29raWVzSGFuZGxlciwgSGFzU3RvcmFnZUFjY2Vzc0ZvckZyYW1lSGFuZGxlciYmIGhhc1N0
b3JhZ2VBY2Nlc3NGb3JGcmFtZUhhbmRsZXIsIEdyYW50U3RvcmFnZUFjY2Vzc0hhbmRsZXImJiBn
cmFudFN0b3JhZ2VBY2Nlc3NIYW5kbGVyLCBSZW1vdmVBbGxTdG9yYWdlQWNjZXNzSGFuZGxlciYm
IHJlbW92ZUFsbFN0b3JhZ2VBY2Nlc3NIYW5kbGVyLCBSZW1vdmVQcmV2YWxlbnREb21haW5zSGFu
ZGxlciYmIHJlbW92ZURvbWFpbnNIYW5kbGVyKQogICAgIDogbV9zdGF0aXN0aWNzUXVldWUoV29y
a1F1ZXVlOjpjcmVhdGUoIldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSBQcm9jZXNzIERh
dGEgUXVldWUiLCBXb3JrUXVldWU6OlR5cGU6OlNlcmlhbCwgV29ya1F1ZXVlOjpRT1M6OlV0aWxp
dHkpKQotICAgICwgbV9wZXJzaXN0ZW50U3RvcmFnZSgqdGhpcywgcmVzb3VyY2VMb2FkU3RhdGlz
dGljc0RpcmVjdG9yeSwgaXNFcGhlbWVyYWwgPyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lz
dGVudFN0b3JhZ2U6OklzUmVhZE9ubHk6OlllcyA6IFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJz
aXN0ZW50U3RvcmFnZTo6SXNSZWFkT25seTo6Tm8pCiAgICAgLCBtX3VwZGF0ZVByZXZhbGVudERv
bWFpbnNUb1BhcnRpdGlvbk9yQmxvY2tDb29raWVzSGFuZGxlcihXVEZNb3ZlKHVwZGF0ZVByZXZh
bGVudERvbWFpbnNUb1BhcnRpdGlvbk9yQmxvY2tDb29raWVzSGFuZGxlcikpCiAgICAgLCBtX2hh
c1N0b3JhZ2VBY2Nlc3NGb3JGcmFtZUhhbmRsZXIoV1RGTW92ZShoYXNTdG9yYWdlQWNjZXNzRm9y
RnJhbWVIYW5kbGVyKSkKICAgICAsIG1fZ3JhbnRTdG9yYWdlQWNjZXNzSGFuZGxlcihXVEZNb3Zl
KGdyYW50U3RvcmFnZUFjY2Vzc0hhbmRsZXIpKQpAQCAtMTgwLDggKzE4MCw4IEBAIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKGNv
bnN0IFN0cmluZyYgcmVzCiAgICAgcmVnaXN0ZXJVc2VyRGVmYXVsdHNJZk5lZWRlZCgpOwogI2Vu
ZGlmCiAKLSAgICBtX3N0YXRpc3RpY3NRdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRo
aXMgPSBtYWtlUmVmKCp0aGlzKV0gewotICAgICAgICBtX3BlcnNpc3RlbnRTdG9yYWdlLmluaXRp
YWxpemUoKTsKKyAgICBtX3N0YXRpc3RpY3NRdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgaXNFcGhlbWVyYWwsIHJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NEaXJlY3RvcnkgPSByZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5Lmlzb2xhdGVkQ29w
eSgpXSB7CisgICAgICAgIG1fcGVyc2lzdGVudFN0b3JhZ2UgPSBzdGQ6Om1ha2VfdW5pcXVlPFJl
c291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZT4oKnRoaXMsIHJlc291cmNlTG9h
ZFN0YXRpc3RpY3NEaXJlY3RvcnksIGlzRXBoZW1lcmFsID8gUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1BlcnNpc3RlbnRTdG9yYWdlOjpJc1JlYWRPbmx5OjpZZXMgOiBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzUGVyc2lzdGVudFN0b3JhZ2U6OklzUmVhZE9ubHk6Ok5vKTsKICAgICAgICAgaW5jbHVkZVRv
ZGF5QXNPcGVyYXRpbmdEYXRlSWZOZWNlc3NhcnkoKTsKICAgICB9KTsKIApAQCAtMTk1LDcgKzE5
NSwyMiBAQCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OldlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZShjb25zdCBTdHJpbmcmIHJlcwogCiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmU6On5XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUoKQogewotICAgIG1fcGVy
c2lzdGVudFN0b3JhZ2UuZmluaXNoQWxsUGVuZGluZ1dvcmtTeW5jaHJvbm91c2x5KCk7CisgICAg
Zmx1c2hBbmREZXN0cm95UGVyc2lzdGVudFN0b3JlKCk7Cit9CisKK3ZvaWQgV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOjpmbHVzaEFuZERlc3Ryb3lQZXJzaXN0ZW50U3RvcmUoKQorewor
ICAgIGlmICghbV9wZXJzaXN0ZW50U3RvcmFnZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8g
TWFrZSBzdXJlIHdlIGRlc3Ryb3kgdGhlIHBlcnNpc3RlbnQgc3RvcmUgb24gdGhlIGJhY2tncm91
bmQgcXVldWUgYW5kIHdhaXQgZm9yIGl0IHRvIGRpZQorICAgIC8vIHN5bmNocm9ub3VzbHkgc2lu
Y2UgaXQgaGFzIGEgQysrIHJlZmVyZW5jZSB0byB1cy4KKyAgICBCaW5hcnlTZW1hcGhvcmUgc2Vt
YXBob3JlOworICAgIG1fc3RhdGlzdGljc1F1ZXVlLT5kaXNwYXRjaChbJnNlbWFwaG9yZSwgdGhp
c10geworICAgICAgICBtX3BlcnNpc3RlbnRTdG9yYWdlID0gbnVsbHB0cjsKKyAgICAgICAgc2Vt
YXBob3JlLnNpZ25hbCgpOworICAgIH0pOworICAgIHNlbWFwaG9yZS53YWl0KFdhbGxUaW1lOjpp
bmZpbml0eSgpKTsKIH0KIAogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRApAQCAtMzQxLDcgKzM1
Niw4IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpwcm9jZXNzU3RhdGlz
dGljc0FuZERhdGFSZWNvcmRzKCkKICAgICAgICAgICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWlu
KCkpOwogCiAgICAgICAgICAgICBwcnVuZVN0YXRpc3RpY3NJZk5lZWRlZCgpOwotICAgICAgICAg
ICAgbV9wZXJzaXN0ZW50U3RvcmFnZS5zY2hlZHVsZU9yV3JpdGVNZW1vcnlTdG9yZShSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OkZvcmNlSW1tZWRpYXRlV3JpdGU6Ok5v
KTsKKyAgICAgICAgICAgIGlmIChtX3BlcnNpc3RlbnRTdG9yYWdlKQorICAgICAgICAgICAgICAg
IG1fcGVyc2lzdGVudFN0b3JhZ2UtPnNjaGVkdWxlT3JXcml0ZU1lbW9yeVN0b3JlKFJlc291cmNl
TG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZTo6Rm9yY2VJbW1lZGlhdGVXcml0ZTo6Tm8p
OwogCiAgICAgICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW10gewogICAgICAgICAg
ICAgICAgIFdlYlByb2Nlc3NQcm94eTo6bm90aWZ5UGFnZVN0YXRpc3RpY3NBbmREYXRhUmVjb3Jk
c1Byb2Nlc3NlZCgpOwpAQCAtMzUyLDcgKzM2OCw4IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlOjpwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCkKICAgICAgICAg
ICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwogCiAgICAgICAgICAgICBwcnVuZVN0YXRp
c3RpY3NJZk5lZWRlZCgpOwotICAgICAgICAgICAgbV9wZXJzaXN0ZW50U3RvcmFnZS5zY2hlZHVs
ZU9yV3JpdGVNZW1vcnlTdG9yZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3Jh
Z2U6OkZvcmNlSW1tZWRpYXRlV3JpdGU6Ok5vKTsKKyAgICAgICAgICAgIGlmIChtX3BlcnNpc3Rl
bnRTdG9yYWdlKQorICAgICAgICAgICAgICAgIG1fcGVyc2lzdGVudFN0b3JhZ2UtPnNjaGVkdWxl
T3JXcml0ZU1lbW9yeVN0b3JlKFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFn
ZTo6Rm9yY2VJbW1lZGlhdGVXcml0ZTo6Tm8pOwogICAgICAgICB9KTsKICAgICB9CiB9CkBAIC01
MzQsNyArNTUxLDggQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmdyYW5k
ZmF0aGVyRXhpc3RpbmdXZWJzaXRlRGF0YShDb21wbGV0aW9uSGEKICAgICAgICAgICAgICAgICAg
ICAgc3RhdGlzdGljLmdyYW5kZmF0aGVyZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICBtX2VuZE9mR3JhbmRmYXRoZXJpbmdUaW1lc3RhbXAgPSBXYWxsVGltZTo6
bm93KCkgKyBtX3BhcmFtZXRlcnMuZ3JhbmRmYXRoZXJpbmdUaW1lOwotICAgICAgICAgICAgICAg
IG1fcGVyc2lzdGVudFN0b3JhZ2Uuc2NoZWR1bGVPcldyaXRlTWVtb3J5U3RvcmUoUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOjpGb3JjZUltbWVkaWF0ZVdyaXRlOjpZZXMp
OworICAgICAgICAgICAgICAgIGlmIChtX3BlcnNpc3RlbnRTdG9yYWdlKQorICAgICAgICAgICAg
ICAgICAgICBtX3BlcnNpc3RlbnRTdG9yYWdlLT5zY2hlZHVsZU9yV3JpdGVNZW1vcnlTdG9yZShS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OkZvcmNlSW1tZWRpYXRlV3Jp
dGU6Olllcyk7CiAgICAgICAgICAgICAgICAgY2FsbGJhY2soKTsKICAgICAgICAgICAgICAgICBs
b2dUZXN0aW5nRXZlbnQoQVNDSUlMaXRlcmFsKCJHcmFuZGZhdGhlcmVkIikpOwogICAgICAgICAg
ICAgfSk7CkBAIC01NTQsNyArNTcyLDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmU6OnByb2Nlc3NEaWRDbG9zZUNvbm5lY3Rpb24oV2ViUHJvY2Vzc1Byb3h5JiwKIAogdm9p
ZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmFwcGxpY2F0aW9uV2lsbFRlcm1pbmF0
ZSgpCiB7Ci0gICAgbV9wZXJzaXN0ZW50U3RvcmFnZS5maW5pc2hBbGxQZW5kaW5nV29ya1N5bmNo
cm9ub3VzbHkoKTsKKyAgICBmbHVzaEFuZERlc3Ryb3lQZXJzaXN0ZW50U3RvcmUoKTsKIH0KIAog
dm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnBlcmZvcm1EYWlseVRhc2tzKCkK
QEAgLTEwMDEsNyArMTAxOSw4IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
OjpzY2hlZHVsZUNsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50KFNob3VsZEdyCiAgICAgQVNTRVJU
KFJ1bkxvb3A6OmlzTWFpbigpKTsKICAgICBtX3N0YXRpc3RpY3NRdWV1ZS0+ZGlzcGF0Y2goW3Ro
aXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgc2hvdWxkR3JhbmRmYXRoZXIsIGNh
bGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldICgpIG11dGFibGUgewogICAgICAgICBjbGVhcklu
TWVtb3J5KCk7Ci0gICAgICAgIG1fcGVyc2lzdGVudFN0b3JhZ2UuY2xlYXIoKTsKKyAgICAgICAg
aWYgKG1fcGVyc2lzdGVudFN0b3JhZ2UpCisgICAgICAgICAgICBtX3BlcnNpc3RlbnRTdG9yYWdl
LT5jbGVhcigpOwogICAgICAgICAKICAgICAgICAgaWYgKHNob3VsZEdyYW5kZmF0aGVyID09IFNo
b3VsZEdyYW5kZmF0aGVyOjpZZXMpCiAgICAgICAgICAgICBncmFuZGZhdGhlckV4aXN0aW5nV2Vi
c2l0ZURhdGEoW3Byb3RlY3RlZFRoaXMgPSBXVEZNb3ZlKHByb3RlY3RlZFRoaXMpLCBjYWxsYmFj
ayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKaW5kZXggNGYxMTYyNDRi
YTFlNGMwZGNmNDA0NjQ4YWVjZWJiMzkzMWY1NDQ1MC4uZjcwZjQ2ZmU4MTNkNzBjMjQ3ZGYyYjIz
YzJiMjFmZTY1M2NjNmE3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKQEAgLTIwMCw2ICsyMDAsOCBAQCBw
cml2YXRlOgogICAgIHZvaWQgc2V0RGVidWdMb2dnZ2luZ0VuYWJsZWQoYm9vbCBlbmFibGVkKSB7
IG1fZGVidWdMb2dnaW5nRW5hYmxlZCAgPSBlbmFibGVkOyB9CiAgICAgdm9pZCBzZXRTdG9yYWdl
QWNjZXNzUHJvbXB0c0VuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fc3RvcmFnZUFjY2Vzc1Byb21w
dHNFbmFibGVkICA9IGVuYWJsZWQ7IH0KIAorICAgIHZvaWQgZmx1c2hBbmREZXN0cm95UGVyc2lz
dGVudFN0b3JlKCk7CisKICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHJlZ2lzdGVyVXNl
ckRlZmF1bHRzSWZOZWVkZWQoKTsKICNlbmRpZgpAQCAtMjI1LDcgKzIyNyw3IEBAIHByaXZhdGU6
CiAgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIgbV9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllcjsKICNlbmRpZgogICAgIFJlZjxXVEY6OldvcmtRdWV1ZT4gbV9zdGF0
aXN0aWNzUXVldWU7Ci0gICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdl
IG1fcGVyc2lzdGVudFN0b3JhZ2U7CisgICAgc3RkOjp1bmlxdWVfcHRyPFJlc291cmNlTG9hZFN0
YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZT4gbV9wZXJzaXN0ZW50U3RvcmFnZTsKICAgICBWZWN0
b3I8T3BlcmF0aW5nRGF0ZT4gbV9vcGVyYXRpbmdEYXRlczsKIAogICAgIFVwZGF0ZVByZXZhbGVu
dERvbWFpbnNUb1BhcnRpdGlvbk9yQmxvY2tDb29raWVzSGFuZGxlciBtX3VwZGF0ZVByZXZhbGVu
dERvbWFpbnNUb1BhcnRpdGlvbk9yQmxvY2tDb29raWVzSGFuZGxlcjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>