<?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>190879</bug_id>
          
          <creation_ts>2018-10-24 10:17:08 -0700</creation_ts>
          <short_desc>[PSON] Avoid tearing down the drawing area when suspending a WebPage due to process-swap</short_desc>
          <delta_ts>2019-02-18 14:58:53 -0800</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>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>koivisto</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1471865</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-24 10:17:08 -0700</bug_when>
    <thetext>Avoid tearing down the drawing area when suspending a WebPage due to process-swap. We really only need to reset the drawing area upon resuming the WebPage. There is no strict need to destroy the drawing area on suspension and this has caused various crashes because code usually assumes we always have a drawing area.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471867</commentid>
    <comment_count>1</comment_count>
      <attachid>353039</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-24 10:19:50 -0700</bug_when>
    <thetext>Created attachment 353039
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471868</commentid>
    <comment_count>2</comment_count>
      <attachid>353039</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-24 10:21:05 -0700</bug_when>
    <thetext>Comment on attachment 353039
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.h:2264
&gt;      WeakPtr&lt;SuspendedPageProxy&gt; m_pageSuspendedDueToCurrentNavigation;

I will look into dropping this member in a follow-up now that it is barely used and only on Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471880</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-24 11:00:38 -0700</bug_when>
    <thetext>Works on iOS but breaks Mac, trying to figure out why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471923</commentid>
    <comment_count>4</comment_count>
      <attachid>353050</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-24 13:27:15 -0700</bug_when>
    <thetext>Created attachment 353050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472049</commentid>
    <comment_count>5</comment_count>
      <attachid>353050</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-10-25 05:50:17 -0700</bug_when>
    <thetext>Comment on attachment 353050
Patch

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

Which mechanism guarantees that we don&apos;t use memory for any tiles in suspended process?

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:6140
&gt;      if (!m_isSuspended)
&gt; -        return;
&gt; -    m_drawingArea = nullptr;
&gt; +        m_shouldResetDrawingArea = true;
&gt; +
&gt; +    setLayerTreeStateIsFrozen(true);

Why does this now call setLayerTreeStateIsFrozen(true) even when unsuspending?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472052</commentid>
    <comment_count>6</comment_count>
      <attachid>353050</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-25 06:52:07 -0700</bug_when>
    <thetext>Comment on attachment 353050
Patch

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

&gt;&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:6140
&gt;&gt; +    setLayerTreeStateIsFrozen(true);
&gt; 
&gt; Why does this now call setLayerTreeStateIsFrozen(true) even when unsuspending?

I was wondering the same thing. This is pre-existing code that you added so you tell me :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472053</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-25 06:56:14 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #5)
&gt; Comment on attachment 353050 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=353050&amp;action=review
&gt; 
&gt; Which mechanism guarantees that we don&apos;t use memory for any tiles in
&gt; suspended process?

I need to look into this as I do not know. The reason I started tearing down the drawing area was to fix the view freezing when navigating back with PSON on iOS, not for memory savings though.


&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:6140
&gt; &gt;      if (!m_isSuspended)
&gt; &gt; -        return;
&gt; &gt; -    m_drawingArea = nullptr;
&gt; &gt; +        m_shouldResetDrawingArea = true;
&gt; &gt; +
&gt; &gt; +    setLayerTreeStateIsFrozen(true);
&gt; 
&gt; Why does this now call setLayerTreeStateIsFrozen(true) even when
&gt; unsuspending?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472066</commentid>
    <comment_count>8</comment_count>
      <attachid>353050</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-25 08:46:09 -0700</bug_when>
    <thetext>Comment on attachment 353050
Patch

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

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:-6131
&gt; -    setLayerTreeStateIsFrozen(true);

Notice that setLayerTreeStateIsFrozen(true); was already called unconditionally here, whether suspended is true or false. I merely added a &apos;m_shouldResetDrawingArea = true;&apos; statement to this method, did not change freezing behavior in any way. The diff just looks a bit weird because I dropped the method below and it shared some code with this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472488</commentid>
    <comment_count>9</comment_count>
      <attachid>353189</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-26 10:24:13 -0700</bug_when>
    <thetext>Created attachment 353189
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472499</commentid>
    <comment_count>10</comment_count>
      <attachid>353189</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-26 11:01:49 -0700</bug_when>
    <thetext>Comment on attachment 353189
Patch

Clearing flags on attachment: 353189

Committed r237467: &lt;https://trac.webkit.org/changeset/237467&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472500</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-26 11:01:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472501</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-26 11:04:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/45593109&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1507461</commentid>
    <comment_count>13</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-02-18 14:58:53 -0800</bug_when>
    <thetext>&gt; &gt; Which mechanism guarantees that we don&apos;t use memory for any tiles in
&gt; &gt; suspended process?
&gt; 
&gt; I need to look into this as I do not know. The reason I started tearing down
&gt; the drawing area was to fix the view freezing when navigating back with PSON
&gt; on iOS, not for memory savings though.

Did we figure this out?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353039</attachid>
            <date>2018-10-24 10:19:50 -0700</date>
            <delta_ts>2018-10-24 13:27:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190879-20181024101950.patch</filename>
            <type>text/plain</type>
            <size>14558</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3Mzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNlOTljZjNlYjdmOTljODUz
ZmExOTdkMTYxNTEwYzI0MDIwMTNiNjYuLmVhYzMxMTFkOGQxMmZjZmUyOTgxNGVkZjU1MmNiMzJm
Njk1YmFlYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTgtMTAtMjQgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbUFNPTl0gQXZvaWQgdGVhcmluZyBk
b3duIHRoZSBkcmF3aW5nIGFyZWEgd2hlbiBzdXNwZW5kaW5nIGEgV2ViUGFnZSBkdWUgdG8gcHJv
Y2Vzcy1zd2FwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTA4NzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBdm9pZCB0ZWFyaW5nIGRvd24gdGhlIGRyYXdpbmcgYXJlYSB3aGVuIHN1c3BlbmRpbmcgYSBX
ZWJQYWdlIGR1ZSB0byBwcm9jZXNzLXN3YXAuIFdlIHJlYWxseSBvbmx5IG5lZWQgdG8gcmVzZXQK
KyAgICAgICAgdGhlIGRyYXdpbmcgYXJlYSB1cG9uIHJlc3VtaW5nIHRoZSBXZWJQYWdlLiBUaGVy
ZSBpcyBubyBzdHJpY3QgbmVlZCB0byBkZXN0cm95IHRoZSBkcmF3aW5nIGFyZWEgb24gc3VzcGVu
c2lvbgorICAgICAgICBhbmQgdGhpcyBoYXMgY2F1c2VkIHZhcmlvdXMgY3Jhc2hlcyBiZWNhdXNl
IGNvZGUgdXN1YWxseSBhc3N1bWVzIHdlIGFsd2F5cyBoYXZlIGEgZHJhd2luZyBhcmVhLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBkcm9wcyB2YXJpb3VzIGRyYXdpbmcgYXJlYSBudWxsIGNo
ZWNrcyB0aGF0IHdlcmUgYWRkZWQgdG8gYWRkcmVzcyBQU09OIGNyYXNoZXMuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3Vz
cGVuZGVkUGFnZVByb3h5Ojp0ZWFyRG93bkRyYXdpbmdBcmVhSW5XZWJQcm9jZXNzKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6c3VzcGVuZEN1cnJlbnRQYWdlSWZQb3NzaWJsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6cmVjZWl2ZWROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24pOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmRpZENvbXBsZXRlUGFnZVRyYW5zaXRpb24pOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcpOgorICAgICAgICAo
V2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwp
OgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQg
Y29uc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJh
bnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvci5tbToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxlVHJlZVN0YXRl
Q29tbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnJlaW5pdGlhbGl6ZVdlYlBhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpzZXRJc1N1c3BlbmRlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OnRlYXJEb3duRHJhd2luZ0FyZWFGb3JTdXNwZW5kKTogRGVsZXRlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorCiAyMDE4LTEwLTI0ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjIzNzI1Nyk6IFtpT1NdIENyYXNo
ZXMgaW4gY29tLmFwcGxlLldlYktpdDogV2ViS2l0OjpSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
cjo6c2NoZWR1bGVUcmVlU3RhdGVDb21taXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9T
dXNwZW5kZWRQYWdlUHJveHkuY3BwCmluZGV4IDE0YzUzMjcyMTk0YzIzNDAzNDc1YjZkMTMyY2Zk
NzhkYWExZGI0ODguLmFmZWRmOWYyNDZkMzAwNTIxNDA3MDY4YWU5N2I1OGRkZGFjZmUwYzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5LmNwcApAQCAt
MTAzLDExICsxMDMsNiBAQCBTdXNwZW5kZWRQYWdlUHJveHk6On5TdXNwZW5kZWRQYWdlUHJveHko
KQogICAgIH0pOwogfQogCi12b2lkIFN1c3BlbmRlZFBhZ2VQcm94eTo6dGVhckRvd25EcmF3aW5n
QXJlYUluV2ViUHJvY2VzcygpCi17Ci0gICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpUZWFyRG93bkRyYXdpbmdBcmVhRm9yU3VzcGVuZCgpLCBtX3BhZ2UucGFnZUlEKCkpOwot
fQotCiB2b2lkIFN1c3BlbmRlZFBhZ2VQcm94eTo6dW5zdXNwZW5kKCkKIHsKICAgICBBU1NFUlQo
bV9pc1N1c3BlbmRlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdXNw
ZW5kZWRQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQ
cm94eS5oCmluZGV4IDBkNTU4NWUwYjdiOGIwZTQ2MTY0YTFjMjgxNmVlMDFjZDVhYzY2ZGQuLjdm
YTBjM2VhMDM0YzYxYTI1ZWUxMjg0M2NlYjgzMWEzOWNlZDY2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5oCkBAIC00Niw4ICs0Niw2IEBAIHB1Ymxp
YzoKICAgICB1aW50NjRfdCBtYWluRnJhbWVJRCgpIGNvbnN0IHsgcmV0dXJuIG1fbWFpbkZyYW1l
SUQ7IH0KICAgICBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIG9yaWdpbigpIGNv
bnN0IHsgcmV0dXJuIG1fb3JpZ2luOyB9CiAKLSAgICB2b2lkIHRlYXJEb3duRHJhd2luZ0FyZWFJ
bldlYlByb2Nlc3MoKTsKLQogICAgIHZvaWQgdW5zdXNwZW5kKCk7CiAKICNpZiAhTE9HX0RJU0FC
TEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA5ZGVhNzk4
MGFmNjA3N2NhZjZjYWVlN2Y5YjRmNGZmODQ1YjNhZjVhLi40ZGUxMTAxMzlkM2YxMmVkZGRiMDg0
MDUxODQ1MTBhNmU1ODBhMWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKQEAgLTcyNCwxMCArNzI0LDE0IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzdXNwZW5kQ3Vy
cmVudFBhZ2VJZlBvc3NpYmxlKEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgc3RkCiAgICAg
fQogCiAgICAgYXV0byBzdXNwZW5kZWRQYWdlID0gc3RkOjptYWtlX3VuaXF1ZTxTdXNwZW5kZWRQ
YWdlUHJveHk+KCp0aGlzLCBtX3Byb2Nlc3MuY29weVJlZigpLCAqY3VycmVudEl0ZW0sICptYWlu
RnJhbWVJRCk7CisKKyAgICBMT0coUHJvY2Vzc1N3YXBwaW5nLCAiV2ViUGFnZVByb3h5ICUiIFBS
SXU2NCAiIGNyZWF0ZWQgc3VzcGVuZGVkIHBhZ2UgJXMgZm9yIHByb2Nlc3MgcGlkICVpLCBiYWNr
L2ZvcndhcmQgaXRlbSAlcyIgUFJJdTY0LCBwYWdlSUQoKSwgc3VzcGVuZGVkUGFnZS0+bG9nZ2lu
Z1N0cmluZygpLCBtX3Byb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCksIGN1cnJlbnRJdGVtLT5p
dGVtSUQoKS5sb2dTdHJpbmcoKSk7CisKKyNpZiBQTEFURk9STShNQUMpCiAgICAgbV9wYWdlU3Vz
cGVuZGVkRHVlVG9DdXJyZW50TmF2aWdhdGlvbiA9IG1ha2VXZWFrUHRyKHN1c3BlbmRlZFBhZ2Uu
Z2V0KCkpOwotICAgIG1fcHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS5hZGRTdXNwZW5kZWRQYWdlUHJv
eHkoV1RGTW92ZShzdXNwZW5kZWRQYWdlKSk7CisjZW5kaWYKIAotICAgIExPRyhQcm9jZXNzU3dh
cHBpbmcsICJXZWJQYWdlUHJveHkgJSIgUFJJdTY0ICIgY3JlYXRlZCBzdXNwZW5kZWQgcGFnZSAl
cyBmb3IgcHJvY2VzcyBwaWQgJWksIGJhY2svZm9yd2FyZCBpdGVtICVzIiBQUkl1NjQsIHBhZ2VJ
RCgpLCBtX3BhZ2VTdXNwZW5kZWREdWVUb0N1cnJlbnROYXZpZ2F0aW9uLT5sb2dnaW5nU3RyaW5n
KCksIG1fcHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSwgY3VycmVudEl0ZW0tPml0ZW1JRCgp
LmxvZ1N0cmluZygpKTsKKyAgICBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkuYWRkU3VzcGVuZGVk
UGFnZVByb3h5KFdURk1vdmUoc3VzcGVuZGVkUGFnZSkpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94
eTo6c3dhcFRvV2ViUHJvY2VzcyhSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmIHByb2Nlc3MsIEFQSTo6
TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgc3RkOjpvcHRpb25hbDx1aW50NjRfdD4gbWFpbkZyYW1l
SURJblByZXZpb3VzUHJvY2VzcykKQEAgLTI0OTEsOSArMjQ5NSwxMSBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6cmVjZWl2ZWROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24oUG9saWN5QWN0aW9uIHBvbGlj
eUFjdGlvbiwgQQogICAgIH0KICAgICAKICAgICBpZiAocG9saWN5QWN0aW9uID09IFBvbGljeUFj
dGlvbjo6VXNlICYmIGZyYW1lLmlzTWFpbkZyYW1lKCkpIHsKKyNpZiBQTEFURk9STShNQUMpCiAg
ICAgICAgIC8vIFdlJ3JlIGFib3V0IHRvIG5hdmlnYXRlIHNvIHdlIG5lZWQgdG8gcmVzZXQgbV9w
YWdlU3VzcGVuZGVkRHVlVG9DdXJyZW50TmF2aWdhdGlvbi4gSWYgd2UgZGVjaWRlIHRvIHByb2Nl
c3Mgc3dhcCwKICAgICAgICAgLy8gY29udGludWVOYXZpZ2F0aW9uSW5OZXdQcm9jZXNzKCkgd2ls
bCB0YWtlIGNhcmUgb2YgdXBkYXRpbmcgbV9wYWdlU3VzcGVuZGVkRHVlVG9DdXJyZW50TmF2aWdh
dGlvbiBhcyBuZWVkZWQuCiAgICAgICAgIG1fcGFnZVN1c3BlbmRlZER1ZVRvQ3VycmVudE5hdmln
YXRpb24gPSBudWxscHRyOworI2VuZGlmCiAKICAgICAgICAgU3RyaW5nIHJlYXNvbjsKICAgICAg
ICAgYXV0byBwcm9wb3NlZFByb2Nlc3MgPSBwcm9jZXNzKCkucHJvY2Vzc1Bvb2woKS5wcm9jZXNz
Rm9yTmF2aWdhdGlvbigqdGhpcywgKm5hdmlnYXRpb24sIHByb2Nlc3NTd2FwUmVxdWVzdGVkQnlD
bGllbnQsIHBvbGljeUFjdGlvbiwgcmVhc29uKTsKQEAgLTM1MTYsMTkgKzM1MjIsMTggQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OmRpZEZpbmlzaFByb2dyZXNzKCkKIAogdm9pZCBXZWJQYWdlUHJveHk6
OmRpZENvbXBsZXRlUGFnZVRyYW5zaXRpb24oYm9vbCBpc0luaXRpYWxFbXB0eURvY3VtZW50KQog
eworI2lmIFBMQVRGT1JNKE1BQykKICAgICAvLyBBdHRhY2ggZHJhd2luZyBhcmVhIGZvciB0aGUg
aW5pdGlhbCBlbXB0eSBkb2N1bWVudCBvbmx5IGlmIHRoaXMgaXMgbm90IGEgcHJvY2VzcyBzd2Fw
LgogICAgIGlmIChpc0luaXRpYWxFbXB0eURvY3VtZW50ICYmIG1fcGFnZVN1c3BlbmRlZER1ZVRv
Q3VycmVudE5hdmlnYXRpb24pCiAgICAgICAgIHJldHVybjsKIAotI2lmIFBMQVRGT1JNKE1BQykK
ICAgICBpZiAoIW1fZHJhd2luZ0FyZWEpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIERyYXdp
bmcgYXJlYSBmb3IgdGhlIHN1c3BlbmRlZCBwYWdlIHdpbGwgYmUgdG9ybiBkb3duIHdoZW4gdGhl
IGF0dGFjaCBjb21wbGV0ZXMuCiAgICAgbV9kcmF3aW5nQXJlYS0+YXR0YWNoSW5XZWJQcm9jZXNz
KCk7CiAjZWxzZQotICAgIGlmIChtX3BhZ2VTdXNwZW5kZWREdWVUb0N1cnJlbnROYXZpZ2F0aW9u
KQotICAgICAgICBtX3BhZ2VTdXNwZW5kZWREdWVUb0N1cnJlbnROYXZpZ2F0aW9uLT50ZWFyRG93
bkRyYXdpbmdBcmVhSW5XZWJQcm9jZXNzKCk7CisgICAgVU5VU0VEX1BBUkFNKGlzSW5pdGlhbEVt
cHR5RG9jdW1lbnQpOwogI2VuZGlmCiB9CiAKQEAgLTY0MjUsMTAgKzY0MzAsNiBAQCBXZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzIFdlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKCkKIHZv
aWQgV2ViUGFnZVByb3h5OjplbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGNvbnN0IExh
eWVyVHJlZUNvbnRleHQmIGxheWVyVHJlZUNvbnRleHQpCiB7CiAgICAgcGFnZUNsaWVudCgpLmVu
dGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUobGF5ZXJUcmVlQ29udGV4dCk7Ci0KLSAgICAv
LyBXZSBoYXZlIGNvbXBsZXRlZCB0aGUgcGFnZSB0cmFuc2l0aW9uIGFuZCBjYW4gdGVhciBkb3du
IHRoZSBsYXllcnMgaW4gdGhlIHN1c3BlbmRlZCBwcm9jZXNzLgotICAgIGlmIChtX3BhZ2VTdXNw
ZW5kZWREdWVUb0N1cnJlbnROYXZpZ2F0aW9uKQotICAgICAgICBtX3BhZ2VTdXNwZW5kZWREdWVU
b0N1cnJlbnROYXZpZ2F0aW9uLT50ZWFyRG93bkRyYXdpbmdBcmVhSW5XZWJQcm9jZXNzKCk7CiB9
CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA5Y2UxZThmMDdkNWYyZDY0
OGNkNWQ4Y2NhYmQ5YTBmMGMzY2ZhYTA3Li42NTZkNWI1MDhlMjZjNmMxYmNlNDgwZmE0OTY4NmQx
NGRmNjA3MDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjI1
OSw4ICsyMjU5LDEwIEBAIHByaXZhdGU6CiAKICAgICBzdGQ6Om9wdGlvbmFsPE1vbm90b25pY1Rp
bWU+IG1fcGFnZUxvYWRTdGFydDsKIAorI2lmIFBMQVRGT1JNKE1BQykKICAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIHRyeSBhbmQgZ2V0IHJpZCBvZiB0aGlzIGRhdGEgbWVtYmVyLgogICAgIFdlYWtQ
dHI8U3VzcGVuZGVkUGFnZVByb3h5PiBtX3BhZ2VTdXNwZW5kZWREdWVUb0N1cnJlbnROYXZpZ2F0
aW9uOworI2VuZGlmCiAKICAgICBSdW5Mb29wOjpUaW1lcjxXZWJQYWdlUHJveHk+IG1fcmVzZXRS
ZWNlbnRDcmFzaENvdW50VGltZXI7CiAgICAgdW5zaWduZWQgbV9yZWNlbnRDcmFzaENvdW50IHsg
MCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCA5YzQzMWYxNDQ2MDc5ZmIzNGVlNzM5YThh
ZWNjYWRhOTM5NGFkZDY4Li44NzliMTBhM2NkOThmYzg2ODk3OGYyYWQwODhkMDRhMjQ5ODkxNDdl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNTIzLDggKzUyMyw3IEBAIHZvaWQgV2ViQ2hy
b21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNBbmRSb290Vmlldyhjb25zdCBJbnRSZWN0JiBy
ZWN0KQogICAgICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChhdXRvKiBkcmF3aW5n
QXJlYSA9IG1fcGFnZS5kcmF3aW5nQXJlYSgpKQotICAgICAgICBkcmF3aW5nQXJlYS0+c2V0TmVl
ZHNEaXNwbGF5SW5SZWN0KHJlY3QpOworICAgIG1fcGFnZS5kcmF3aW5nQXJlYSgpLT5zZXROZWVk
c0Rpc3BsYXlJblJlY3QocmVjdCk7CiB9CiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnZhbGlk
YXRlQ29udGVudHNGb3JTbG93U2Nyb2xsKGNvbnN0IEludFJlY3QmIHJlY3QpCkBAIC01NDIsOCAr
NTQxLDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dT
Y3JvbGwoY29uc3QgSW50UmVjdCYgcmVjdCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KICNlbmRp
ZgotICAgIGlmIChhdXRvKiBkcmF3aW5nQXJlYSA9IG1fcGFnZS5kcmF3aW5nQXJlYSgpKQotICAg
ICAgICBkcmF3aW5nQXJlYS0+c2V0TmVlZHNEaXNwbGF5SW5SZWN0KHJlY3QpOworICAgIG1fcGFn
ZS5kcmF3aW5nQXJlYSgpLT5zZXROZWVkc0Rpc3BsYXlJblJlY3QocmVjdCk7CiB9CiAKIHZvaWQg
V2ViQ2hyb21lQ2xpZW50OjpzY3JvbGwoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0
IEludFJlY3QmIHNjcm9sbFJlY3QsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KQpAQCAtNTk3LDgg
KzU5NSw3IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpjb250ZW50c1NpemVDaGFuZ2VkKEZyYW1l
JiBmcmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSkgY29uCiAKICAgICBtX3BhZ2Uuc2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpEaWRDaGFuZ2VDb250ZW50U2l6ZShzaXplKSk7CiAKLSAgICBp
ZiAoYXV0byogZHJhd2luZ0FyZWEgPSBtX3BhZ2UuZHJhd2luZ0FyZWEoKSkKLSAgICAgICAgZHJh
d2luZ0FyZWEtPm1haW5GcmFtZUNvbnRlbnRTaXplQ2hhbmdlZChzaXplKTsKKyAgICBtX3BhZ2Uu
ZHJhd2luZ0FyZWEoKS0+bWFpbkZyYW1lQ29udGVudFNpemVDaGFuZ2VkKHNpemUpOwogCiAgICAg
aWYgKGZyYW1lVmlldyAmJiAhZnJhbWVWaWV3LT5kZWxlZ2F0ZXNTY3JvbGxpbmcoKSkgIHsKICAg
ICAgICAgYm9vbCBoYXNIb3Jpem9udGFsU2Nyb2xsYmFyID0gZnJhbWVWaWV3LT5ob3Jpem9udGFs
U2Nyb2xsYmFyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCBlYjI1Njcz
MWMwNWI0N2VlMjAzOGMyZjk3YTZiOTRlNjJmMjdlNTY1Li5jMThmYjA5NzM0NWFlMGU4NTMyMGI3
YzIwZjBlNWU2ZGViNDc3YzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAg
LTE0MzUsOCArMTQzNSw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zaXRpb25U
b0NvbW1pdHRlZEZvck5ld1BhZ2UoKQogICAgIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCkt
PnNldFByb2hpYml0c1Njcm9sbGluZyhzaG91bGREaXNhYmxlU2Nyb2xsaW5nKTsKICAgICBtX2Zy
YW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5zZXRWaXN1YWxVcGRhdGVzQWxsb3dlZEJ5Q2xpZW50
KCF3ZWJQYWdlLT5zaG91bGRFeHRlbmRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uKCkp
OwogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIGlmICh3ZWJQYWdlLT5kcmF3aW5nQXJlYSgpKQot
ICAgICAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5zZXRWaWV3RXhwb3NlZFJlY3Qo
d2ViUGFnZS0+ZHJhd2luZ0FyZWEoKS0+dmlld0V4cG9zZWRSZWN0KCkpOworICAgIG1fZnJhbWUt
PmNvcmVGcmFtZSgpLT52aWV3KCktPnNldFZpZXdFeHBvc2VkUmVjdCh3ZWJQYWdlLT5kcmF3aW5n
QXJlYSgpLT52aWV3RXhwb3NlZFJlY3QoKSk7CiAjZW5kaWYKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogICAgIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCktPnNldERlbGVnYXRlc1Njcm9s
bGluZyh0cnVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvci5tbSBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdD
b29yZGluYXRvci5tbQppbmRleCAzM2Q4ZGZkZGZiYzA0MjEwZWI5NWZmM2E5N2M2MTIxNDRlOGQ2
NWMyLi4xOGVmMTY0ODFiNDU2NDRhNmQwNmYxYTNiMGU4N2RkMDZlMDMxZDQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3Rl
U2Nyb2xsaW5nQ29vcmRpbmF0b3IubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yLm1tCkBAIC02
MSw4ICs2MSw3IEBAIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yOjp+UmVtb3RlU2Nyb2xsaW5n
Q29vcmRpbmF0b3IoKQogCiB2b2lkIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY2hlZHVs
ZVRyZWVTdGF0ZUNvbW1pdCgpCiB7Ci0gICAgaWYgKGF1dG8qIGRyYXdpbmdBcmVhID0gbV93ZWJQ
YWdlLT5kcmF3aW5nQXJlYSgpKQotICAgICAgICBkcmF3aW5nQXJlYS0+c2NoZWR1bGVDb21wb3Np
dGluZ0xheWVyRmx1c2goKTsKKyAgICBtX3dlYlBhZ2UtPmRyYXdpbmdBcmVhKCktPnNjaGVkdWxl
Q29tcG9zaXRpbmdMYXllckZsdXNoKCk7CiB9CiAKIGJvb2wgUmVtb3RlU2Nyb2xsaW5nQ29vcmRp
bmF0b3I6OmNvb3JkaW5hdGVzU2Nyb2xsaW5nRm9yRnJhbWVWaWV3KGNvbnN0IEZyYW1lVmlldyYg
ZnJhbWVWaWV3KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAppbmRleCA5ZTI2ZGMxMWVlMGFhNWZhNTRiNTUwMmFkNTEwMTcwNDQ0YTgxNDY5Li43
NWU1N2I1YjY2MGNlNjdkOWFiZjgxN2VmY2E4Y2FhNzM4ZTlkMmM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNjUzLDcgKzY1MywxMCBAQCB2
b2lkIFdlYlBhZ2U6OmVuYWJsZUVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXMoKQogCiB2
b2lkIFdlYlBhZ2U6OnJlaW5pdGlhbGl6ZVdlYlBhZ2UoV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cyYmIHBhcmFtZXRlcnMpCiB7Ci0gICAgaWYgKCFtX2RyYXdpbmdBcmVhKSB7CisgICAgQVNTRVJU
KG1fZHJhd2luZ0FyZWEpOworCisgICAgaWYgKG1fc2hvdWxkUmVzZXREcmF3aW5nQXJlYSkgewor
ICAgICAgICBtX3Nob3VsZFJlc2V0RHJhd2luZ0FyZWEgPSBmYWxzZTsKICAgICAgICAgbV9kcmF3
aW5nQXJlYSA9IERyYXdpbmdBcmVhOjpjcmVhdGUoKnRoaXMsIHBhcmFtZXRlcnMpOwogICAgICAg
ICBtX2RyYXdpbmdBcmVhLT5zZXRQYWludGluZ0VuYWJsZWQoZmFsc2UpOwogICAgICAgICBtX2Ry
YXdpbmdBcmVhLT5zZXRTaG91bGRTY2FsZVZpZXdUb0ZpdERvY3VtZW50KHBhcmFtZXRlcnMuc2hv
dWxkU2NhbGVWaWV3VG9GaXREb2N1bWVudCk7CkBAIC0xMTU1LDggKzExNTgsNyBAQCB2b2lkIFdl
YlBhZ2U6OmVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoR3JhcGhpY3NMYXllciogbGF5
ZXIpCiAKIHZvaWQgV2ViUGFnZTo6ZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkKIHsK
LSAgICBpZiAobV9kcmF3aW5nQXJlYSkKLSAgICAgICAgbV9kcmF3aW5nQXJlYS0+c2V0Um9vdENv
bXBvc2l0aW5nTGF5ZXIoMCk7CisgICAgbV9kcmF3aW5nQXJlYS0+c2V0Um9vdENvbXBvc2l0aW5n
TGF5ZXIoMCk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6Y2xvc2UoKQpAQCAtNjEyOCwxNCArNjEzMCwx
MCBAQCB2b2lkIFdlYlBhZ2U6OnNldElzU3VzcGVuZGVkKGJvb2wgc3VzcGVuZGVkKQogCiAgICAg
bV9pc1N1c3BlbmRlZCA9IHN1c3BlbmRlZDsKIAotICAgIHNldExheWVyVHJlZVN0YXRlSXNGcm96
ZW4odHJ1ZSk7Ci19Ci0KLXZvaWQgV2ViUGFnZTo6dGVhckRvd25EcmF3aW5nQXJlYUZvclN1c3Bl
bmQoKQotewogICAgIGlmICghbV9pc1N1c3BlbmRlZCkKLSAgICAgICAgcmV0dXJuOwotICAgIG1f
ZHJhd2luZ0FyZWEgPSBudWxscHRyOworICAgICAgICBtX3Nob3VsZFJlc2V0RHJhd2luZ0FyZWEg
PSB0cnVlOworCisgICAgc2V0TGF5ZXJUcmVlU3RhdGVJc0Zyb3plbih0cnVlKTsKIH0KIAogdm9p
ZCBXZWJQYWdlOjpmcmFtZUJlY2FtZVJlbW90ZSh1aW50NjRfdCBmcmFtZUlELCBHbG9iYWxGcmFt
ZUlkZW50aWZpZXImJiByZW1vdGVGcmFtZUlkZW50aWZpZXIsIEdsb2JhbFdpbmRvd0lkZW50aWZp
ZXImJiByZW1vdGVXaW5kb3dJZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCmluZGV4IGIyNTUxZTc0OWUxMGM1ODZiMzQ0MTA5ZGQ1ZDY1ZjQ5YWNk
MTg0OTQuLjQyMGViZGM4Mjc1Nzc2MDYxOTBmMGMwMDc5YWZhYzZkNTYzN2RmMDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTE0MjQsNyArMTQyNCw2
IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cmxTY2hlbWVUYXNrRGlkQ29tcGxldGUodWludDY0X3Qg
aGFuZGxlcklkZW50aWZpZXIsIHVpbnQ2NF90IHRhc2tJZGVudGlmaWVyLCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yJik7CiAKICAgICB2b2lkIHNldElzU3VzcGVuZGVkKGJvb2wpOwotICAg
IHZvaWQgdGVhckRvd25EcmF3aW5nQXJlYUZvclN1c3BlbmQoKTsKIAogICAgIFJlZlB0cjxXZWJJ
bWFnZT4gc25hcHNob3RBdFNpemUoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNv
cmU6OkludFNpemUmIGJpdG1hcFNpemUsIFNuYXBzaG90T3B0aW9ucyk7CiAgICAgUmVmUHRyPFdl
YkltYWdlPiBzbmFwc2hvdE5vZGUoV2ViQ29yZTo6Tm9kZSYsIFNuYXBzaG90T3B0aW9ucywgdW5z
aWduZWQgbWF4aW11bVBpeGVsQ291bnQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6
bWF4KCkpOwpAQCAtMTQ0OSw2ICsxNDQ4LDcgQEAgcHJpdmF0ZToKIAogICAgIFdlYkNvcmU6Oklu
dFNpemUgbV92aWV3U2l6ZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RHJhd2luZ0FyZWE+IG1fZHJh
d2luZ0FyZWE7CisgICAgYm9vbCBtX3Nob3VsZFJlc2V0RHJhd2luZ0FyZWEgeyBmYWxzZSB9Owog
CiAgICAgSGFzaFNldDxQbHVnaW5WaWV3Kj4gbV9wbHVnaW5WaWV3czsKICAgICBib29sIG1faGFz
U2VlblBsdWdpbiB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCA2Yzg3MTA0OWI0MjZlZDg4YTNmOTIy
YjgzYzFiZmY0MDFiNjIzNDAxLi4yOWY1NmFmZDBiMjBlMjFkNWRhNzY5YzNjMTY4NGY2NzA0ZDlm
YzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4KQEAgLTUxMiw3ICs1MTIsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExl
Z2FjeVJlY2VpdmVyIHsKICAgICBVUkxTY2hlbWVUYXNrRGlkQ29tcGxldGUodWludDY0X3QgaGFu
ZGxlcklkZW50aWZpZXIsIHVpbnQ2NF90IHRhc2tJZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yIGVycm9yKQogCiAgICAgU2V0SXNTdXNwZW5kZWQoYm9vbCBzdXNwZW5kZWQpCi0gICAg
VGVhckRvd25EcmF3aW5nQXJlYUZvclN1c3BlbmQoKTsKIAogI2lmIEVOQUJMRShSRVNPVVJDRV9M
T0FEX1NUQVRJU1RJQ1MpCiAgICAgU3RvcmFnZUFjY2Vzc1Jlc3BvbnNlKGJvb2wgd2FzR3JhbnRl
ZCwgdWludDY0X3QgY29udGV4dElkKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353050</attachid>
            <date>2018-10-24 13:27:15 -0700</date>
            <delta_ts>2018-10-26 10:24:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190879-20181024132714.patch</filename>
            <type>text/plain</type>
            <size>14815</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3Mzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNlOTljZjNlYjdmOTljODUz
ZmExOTdkMTYxNTEwYzI0MDIwMTNiNjYuLmVhYzMxMTFkOGQxMmZjZmUyOTgxNGVkZjU1MmNiMzJm
Njk1YmFlYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTgtMTAtMjQgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbUFNPTl0gQXZvaWQgdGVhcmluZyBk
b3duIHRoZSBkcmF3aW5nIGFyZWEgd2hlbiBzdXNwZW5kaW5nIGEgV2ViUGFnZSBkdWUgdG8gcHJv
Y2Vzcy1zd2FwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTA4NzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBdm9pZCB0ZWFyaW5nIGRvd24gdGhlIGRyYXdpbmcgYXJlYSB3aGVuIHN1c3BlbmRpbmcgYSBX
ZWJQYWdlIGR1ZSB0byBwcm9jZXNzLXN3YXAuIFdlIHJlYWxseSBvbmx5IG5lZWQgdG8gcmVzZXQK
KyAgICAgICAgdGhlIGRyYXdpbmcgYXJlYSB1cG9uIHJlc3VtaW5nIHRoZSBXZWJQYWdlLiBUaGVy
ZSBpcyBubyBzdHJpY3QgbmVlZCB0byBkZXN0cm95IHRoZSBkcmF3aW5nIGFyZWEgb24gc3VzcGVu
c2lvbgorICAgICAgICBhbmQgdGhpcyBoYXMgY2F1c2VkIHZhcmlvdXMgY3Jhc2hlcyBiZWNhdXNl
IGNvZGUgdXN1YWxseSBhc3N1bWVzIHdlIGFsd2F5cyBoYXZlIGEgZHJhd2luZyBhcmVhLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBkcm9wcyB2YXJpb3VzIGRyYXdpbmcgYXJlYSBudWxsIGNo
ZWNrcyB0aGF0IHdlcmUgYWRkZWQgdG8gYWRkcmVzcyBQU09OIGNyYXNoZXMuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3Vz
cGVuZGVkUGFnZVByb3h5Ojp0ZWFyRG93bkRyYXdpbmdBcmVhSW5XZWJQcm9jZXNzKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6c3VzcGVuZEN1cnJlbnRQYWdlSWZQb3NzaWJsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6cmVjZWl2ZWROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24pOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmRpZENvbXBsZXRlUGFnZVRyYW5zaXRpb24pOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcpOgorICAgICAgICAo
V2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwp
OgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQg
Y29uc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJh
bnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvci5tbToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxlVHJlZVN0YXRl
Q29tbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnJlaW5pdGlhbGl6ZVdlYlBhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpzZXRJc1N1c3BlbmRlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OnRlYXJEb3duRHJhd2luZ0FyZWFGb3JTdXNwZW5kKTogRGVsZXRlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorCiAyMDE4LTEwLTI0ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjIzNzI1Nyk6IFtpT1NdIENyYXNo
ZXMgaW4gY29tLmFwcGxlLldlYktpdDogV2ViS2l0OjpSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
cjo6c2NoZWR1bGVUcmVlU3RhdGVDb21taXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9T
dXNwZW5kZWRQYWdlUHJveHkuY3BwCmluZGV4IDE0YzUzMjcyMTk0YzIzNDAzNDc1YjZkMTMyY2Zk
NzhkYWExZGI0ODguLmFmZWRmOWYyNDZkMzAwNTIxNDA3MDY4YWU5N2I1OGRkZGFjZmUwYzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5LmNwcApAQCAt
MTAzLDExICsxMDMsNiBAQCBTdXNwZW5kZWRQYWdlUHJveHk6On5TdXNwZW5kZWRQYWdlUHJveHko
KQogICAgIH0pOwogfQogCi12b2lkIFN1c3BlbmRlZFBhZ2VQcm94eTo6dGVhckRvd25EcmF3aW5n
QXJlYUluV2ViUHJvY2VzcygpCi17Ci0gICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpUZWFyRG93bkRyYXdpbmdBcmVhRm9yU3VzcGVuZCgpLCBtX3BhZ2UucGFnZUlEKCkpOwot
fQotCiB2b2lkIFN1c3BlbmRlZFBhZ2VQcm94eTo6dW5zdXNwZW5kKCkKIHsKICAgICBBU1NFUlQo
bV9pc1N1c3BlbmRlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdXNw
ZW5kZWRQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQ
cm94eS5oCmluZGV4IDBkNTU4NWUwYjdiOGIwZTQ2MTY0YTFjMjgxNmVlMDFjZDVhYzY2ZGQuLjdm
YTBjM2VhMDM0YzYxYTI1ZWUxMjg0M2NlYjgzMWEzOWNlZDY2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5oCkBAIC00Niw4ICs0Niw2IEBAIHB1Ymxp
YzoKICAgICB1aW50NjRfdCBtYWluRnJhbWVJRCgpIGNvbnN0IHsgcmV0dXJuIG1fbWFpbkZyYW1l
SUQ7IH0KICAgICBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIG9yaWdpbigpIGNv
bnN0IHsgcmV0dXJuIG1fb3JpZ2luOyB9CiAKLSAgICB2b2lkIHRlYXJEb3duRHJhd2luZ0FyZWFJ
bldlYlByb2Nlc3MoKTsKLQogICAgIHZvaWQgdW5zdXNwZW5kKCk7CiAKICNpZiAhTE9HX0RJU0FC
TEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA5ZGVhNzk4
MGFmNjA3N2NhZjZjYWVlN2Y5YjRmNGZmODQ1YjNhZjVhLi5iNWZlNDk2OTgwNTA4NWRhYjk0MDgy
Y2UxN2Q2MzA1ZmVmOThmNjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKQEAgLTcyNCwxMCArNzI0LDEwIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzdXNwZW5kQ3Vy
cmVudFBhZ2VJZlBvc3NpYmxlKEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgc3RkCiAgICAg
fQogCiAgICAgYXV0byBzdXNwZW5kZWRQYWdlID0gc3RkOjptYWtlX3VuaXF1ZTxTdXNwZW5kZWRQ
YWdlUHJveHk+KCp0aGlzLCBtX3Byb2Nlc3MuY29weVJlZigpLCAqY3VycmVudEl0ZW0sICptYWlu
RnJhbWVJRCk7Ci0gICAgbV9wYWdlU3VzcGVuZGVkRHVlVG9DdXJyZW50TmF2aWdhdGlvbiA9IG1h
a2VXZWFrUHRyKHN1c3BlbmRlZFBhZ2UuZ2V0KCkpOwotICAgIG1fcHJvY2Vzcy0+cHJvY2Vzc1Bv
b2woKS5hZGRTdXNwZW5kZWRQYWdlUHJveHkoV1RGTW92ZShzdXNwZW5kZWRQYWdlKSk7CiAKLSAg
ICBMT0coUHJvY2Vzc1N3YXBwaW5nLCAiV2ViUGFnZVByb3h5ICUiIFBSSXU2NCAiIGNyZWF0ZWQg
c3VzcGVuZGVkIHBhZ2UgJXMgZm9yIHByb2Nlc3MgcGlkICVpLCBiYWNrL2ZvcndhcmQgaXRlbSAl
cyIgUFJJdTY0LCBwYWdlSUQoKSwgbV9wYWdlU3VzcGVuZGVkRHVlVG9DdXJyZW50TmF2aWdhdGlv
bi0+bG9nZ2luZ1N0cmluZygpLCBtX3Byb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCksIGN1cnJl
bnRJdGVtLT5pdGVtSUQoKS5sb2dTdHJpbmcoKSk7CisgICAgTE9HKFByb2Nlc3NTd2FwcGluZywg
IldlYlBhZ2VQcm94eSAlIiBQUkl1NjQgIiBjcmVhdGVkIHN1c3BlbmRlZCBwYWdlICVzIGZvciBw
cm9jZXNzIHBpZCAlaSwgYmFjay9mb3J3YXJkIGl0ZW0gJXMiIFBSSXU2NCwgcGFnZUlEKCksIHN1
c3BlbmRlZFBhZ2UtPmxvZ2dpbmdTdHJpbmcoKSwgbV9wcm9jZXNzLT5wcm9jZXNzSWRlbnRpZmll
cigpLCBjdXJyZW50SXRlbS0+aXRlbUlEKCkubG9nU3RyaW5nKCkpOworCisgICAgbV9wcm9jZXNz
LT5wcm9jZXNzUG9vbCgpLmFkZFN1c3BlbmRlZFBhZ2VQcm94eShXVEZNb3ZlKHN1c3BlbmRlZFBh
Z2UpKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OnN3YXBUb1dlYlByb2Nlc3MoUmVmPFdlYlBy
b2Nlc3NQcm94eT4mJiBwcm9jZXNzLCBBUEk6Ok5hdmlnYXRpb24mIG5hdmlnYXRpb24sIHN0ZDo6
b3B0aW9uYWw8dWludDY0X3Q+IG1haW5GcmFtZUlESW5QcmV2aW91c1Byb2Nlc3MpCkBAIC0yNDkx
LDEwICsyNDkxLDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJlY2VpdmVkTmF2aWdhdGlvblBvbGlj
eURlY2lzaW9uKFBvbGljeUFjdGlvbiBwb2xpY3lBY3Rpb24sIEEKICAgICB9CiAgICAgCiAgICAg
aWYgKHBvbGljeUFjdGlvbiA9PSBQb2xpY3lBY3Rpb246OlVzZSAmJiBmcmFtZS5pc01haW5GcmFt
ZSgpKSB7Ci0gICAgICAgIC8vIFdlJ3JlIGFib3V0IHRvIG5hdmlnYXRlIHNvIHdlIG5lZWQgdG8g
cmVzZXQgbV9wYWdlU3VzcGVuZGVkRHVlVG9DdXJyZW50TmF2aWdhdGlvbi4gSWYgd2UgZGVjaWRl
IHRvIHByb2Nlc3Mgc3dhcCwKLSAgICAgICAgLy8gY29udGludWVOYXZpZ2F0aW9uSW5OZXdQcm9j
ZXNzKCkgd2lsbCB0YWtlIGNhcmUgb2YgdXBkYXRpbmcgbV9wYWdlU3VzcGVuZGVkRHVlVG9DdXJy
ZW50TmF2aWdhdGlvbiBhcyBuZWVkZWQuCi0gICAgICAgIG1fcGFnZVN1c3BlbmRlZER1ZVRvQ3Vy
cmVudE5hdmlnYXRpb24gPSBudWxscHRyOwotCiAgICAgICAgIFN0cmluZyByZWFzb247CiAgICAg
ICAgIGF1dG8gcHJvcG9zZWRQcm9jZXNzID0gcHJvY2VzcygpLnByb2Nlc3NQb29sKCkucHJvY2Vz
c0Zvck5hdmlnYXRpb24oKnRoaXMsICpuYXZpZ2F0aW9uLCBwcm9jZXNzU3dhcFJlcXVlc3RlZEJ5
Q2xpZW50LCBwb2xpY3lBY3Rpb24sIHJlYXNvbik7CiAgICAgICAgIEFTU0VSVCghcmVhc29uLmlz
TnVsbCgpKTsKQEAgLTM1MTYsOSArMzUxMiw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRGaW5p
c2hQcm9ncmVzcygpCiAKIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21wbGV0ZVBhZ2VUcmFuc2l0
aW9uKGJvb2wgaXNJbml0aWFsRW1wdHlEb2N1bWVudCkKIHsKLSAgICAvLyBBdHRhY2ggZHJhd2lu
ZyBhcmVhIGZvciB0aGUgaW5pdGlhbCBlbXB0eSBkb2N1bWVudCBvbmx5IGlmIHRoaXMgaXMgbm90
IGEgcHJvY2VzcyBzd2FwLgotICAgIGlmIChpc0luaXRpYWxFbXB0eURvY3VtZW50ICYmIG1fcGFn
ZVN1c3BlbmRlZER1ZVRvQ3VycmVudE5hdmlnYXRpb24pCi0gICAgICAgIHJldHVybjsKKyAgICBV
TlVTRURfUEFSQU0oaXNJbml0aWFsRW1wdHlEb2N1bWVudCk7CiAKICNpZiBQTEFURk9STShNQUMp
CiAgICAgaWYgKCFtX2RyYXdpbmdBcmVhKQpAQCAtMzUyNiw5ICszNTIwLDYgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OmRpZENvbXBsZXRlUGFnZVRyYW5zaXRpb24oYm9vbCBpc0luaXRpYWxFbXB0eURv
Y3VtZW50KQogCiAgICAgLy8gRHJhd2luZyBhcmVhIGZvciB0aGUgc3VzcGVuZGVkIHBhZ2Ugd2ls
bCBiZSB0b3JuIGRvd24gd2hlbiB0aGUgYXR0YWNoIGNvbXBsZXRlcy4KICAgICBtX2RyYXdpbmdB
cmVhLT5hdHRhY2hJbldlYlByb2Nlc3MoKTsKLSNlbHNlCi0gICAgaWYgKG1fcGFnZVN1c3BlbmRl
ZER1ZVRvQ3VycmVudE5hdmlnYXRpb24pCi0gICAgICAgIG1fcGFnZVN1c3BlbmRlZER1ZVRvQ3Vy
cmVudE5hdmlnYXRpb24tPnRlYXJEb3duRHJhd2luZ0FyZWFJbldlYlByb2Nlc3MoKTsKICNlbmRp
ZgogfQogCkBAIC02NDI1LDEwICs2NDE2LDYgQEAgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyBX
ZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycygpCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZW50
ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRyZWVDb250ZXh0JiBsYXll
clRyZWVDb250ZXh0KQogewogICAgIHBhZ2VDbGllbnQoKS5lbnRlckFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdNb2RlKGxheWVyVHJlZUNvbnRleHQpOwotCi0gICAgLy8gV2UgaGF2ZSBjb21wbGV0ZWQg
dGhlIHBhZ2UgdHJhbnNpdGlvbiBhbmQgY2FuIHRlYXIgZG93biB0aGUgbGF5ZXJzIGluIHRoZSBz
dXNwZW5kZWQgcHJvY2Vzcy4KLSAgICBpZiAobV9wYWdlU3VzcGVuZGVkRHVlVG9DdXJyZW50TmF2
aWdhdGlvbikKLSAgICAgICAgbV9wYWdlU3VzcGVuZGVkRHVlVG9DdXJyZW50TmF2aWdhdGlvbi0+
dGVhckRvd25EcmF3aW5nQXJlYUluV2ViUHJvY2VzcygpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94
eTo6ZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKaW5kZXggOWNlMWU4ZjA3ZDVmMmQ2NDhjZDVkOGNjYWJkOWEwZjBjM2Nm
YWEwNy4uMTk1OTI2MDkzMmMwYWY2MDU1MjUyNTBlODFlMzE5NDRkYzNlOGM3MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTIyNTksOSArMjI1OSw2IEBAIHByaXZh
dGU6CiAKICAgICBzdGQ6Om9wdGlvbmFsPE1vbm90b25pY1RpbWU+IG1fcGFnZUxvYWRTdGFydDsK
IAotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdHJ5IGFuZCBnZXQgcmlkIG9mIHRoaXMgZGF0YSBt
ZW1iZXIuCi0gICAgV2Vha1B0cjxTdXNwZW5kZWRQYWdlUHJveHk+IG1fcGFnZVN1c3BlbmRlZER1
ZVRvQ3VycmVudE5hdmlnYXRpb247Ci0KICAgICBSdW5Mb29wOjpUaW1lcjxXZWJQYWdlUHJveHk+
IG1fcmVzZXRSZWNlbnRDcmFzaENvdW50VGltZXI7CiAgICAgdW5zaWduZWQgbV9yZWNlbnRDcmFz
aENvdW50IHsgMCB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDljNDMxZjE0NDYwNzlm
YjM0ZWU3MzlhOGFlY2NhZGE5Mzk0YWRkNjguLjg3OWIxMGEzY2Q5OGZjODY4OTc4ZjJhZDA4OGQw
NGEyNDk4OTE0N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC01MjMsOCArNTIzLDcgQEAg
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0FuZFJvb3RWaWV3KGNvbnN0
IEludFJlY3QmIHJlY3QpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKGF1
dG8qIGRyYXdpbmdBcmVhID0gbV9wYWdlLmRyYXdpbmdBcmVhKCkpCi0gICAgICAgIGRyYXdpbmdB
cmVhLT5zZXROZWVkc0Rpc3BsYXlJblJlY3QocmVjdCk7CisgICAgbV9wYWdlLmRyYXdpbmdBcmVh
KCktPnNldE5lZWRzRGlzcGxheUluUmVjdChyZWN0KTsKIH0KIAogdm9pZCBXZWJDaHJvbWVDbGll
bnQ6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwoY29uc3QgSW50UmVjdCYgcmVjdCkK
QEAgLTU0Miw4ICs1NDEsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRl
bnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiByZWN0KQogICAgICAgICByZXR1cm47CiAg
ICAgfQogI2VuZGlmCi0gICAgaWYgKGF1dG8qIGRyYXdpbmdBcmVhID0gbV9wYWdlLmRyYXdpbmdB
cmVhKCkpCi0gICAgICAgIGRyYXdpbmdBcmVhLT5zZXROZWVkc0Rpc3BsYXlJblJlY3QocmVjdCk7
CisgICAgbV9wYWdlLmRyYXdpbmdBcmVhKCktPnNldE5lZWRzRGlzcGxheUluUmVjdChyZWN0KTsK
IH0KIAogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbChjb25zdCBJbnRTaXplJiBzY3JvbGxE
ZWx0YSwgY29uc3QgSW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3Qp
CkBAIC01OTcsOCArNTk1LDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNo
YW5nZWQoRnJhbWUmIGZyYW1lLCBjb25zdCBJbnRTaXplJiBzaXplKSBjb24KIAogICAgIG1fcGFn
ZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENoYW5nZUNvbnRlbnRTaXplKHNpemUp
KTsKIAotICAgIGlmIChhdXRvKiBkcmF3aW5nQXJlYSA9IG1fcGFnZS5kcmF3aW5nQXJlYSgpKQot
ICAgICAgICBkcmF3aW5nQXJlYS0+bWFpbkZyYW1lQ29udGVudFNpemVDaGFuZ2VkKHNpemUpOwor
ICAgIG1fcGFnZS5kcmF3aW5nQXJlYSgpLT5tYWluRnJhbWVDb250ZW50U2l6ZUNoYW5nZWQoc2l6
ZSk7CiAKICAgICBpZiAoZnJhbWVWaWV3ICYmICFmcmFtZVZpZXctPmRlbGVnYXRlc1Njcm9sbGlu
ZygpKSAgewogICAgICAgICBib29sIGhhc0hvcml6b250YWxTY3JvbGxiYXIgPSBmcmFtZVZpZXct
Pmhvcml6b250YWxTY3JvbGxiYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmlu
ZGV4IGViMjU2NzMxYzA1YjQ3ZWUyMDM4YzJmOTdhNmI5NGU2MmYyN2U1NjUuLmMxOGZiMDk3MzQ1
YWUwZTg1MzIwYjdjMjBmMGU1ZTZkZWI0NzdjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmNwcApAQCAtMTQzNSw4ICsxNDM1LDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6
dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSgpCiAgICAgbV9mcmFtZS0+Y29yZUZyYW1l
KCktPnZpZXcoKS0+c2V0UHJvaGliaXRzU2Nyb2xsaW5nKHNob3VsZERpc2FibGVTY3JvbGxpbmcp
OwogICAgIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCktPnNldFZpc3VhbFVwZGF0ZXNBbGxv
d2VkQnlDbGllbnQoIXdlYlBhZ2UtPnNob3VsZEV4dGVuZEluY3JlbWVudGFsUmVuZGVyaW5nU3Vw
cHJlc3Npb24oKSk7CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgaWYgKHdlYlBhZ2UtPmRyYXdp
bmdBcmVhKCkpCi0gICAgICAgIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCktPnNldFZpZXdF
eHBvc2VkUmVjdCh3ZWJQYWdlLT5kcmF3aW5nQXJlYSgpLT52aWV3RXhwb3NlZFJlY3QoKSk7Cisg
ICAgbV9mcmFtZS0+Y29yZUZyYW1lKCktPnZpZXcoKS0+c2V0Vmlld0V4cG9zZWRSZWN0KHdlYlBh
Z2UtPmRyYXdpbmdBcmVhKCktPnZpZXdFeHBvc2VkUmVjdCgpKTsKICNlbmRpZgogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCiAgICAgbV9mcmFtZS0+Y29yZUZyYW1lKCktPnZpZXcoKS0+c2V0RGVs
ZWdhdGVzU2Nyb2xsaW5nKHRydWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yLm1t
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yLm1tCmluZGV4IDMzZDhkZmRkZmJjMDQyMTBlYjk1ZmYzYTk3
YzYxMjE0NGU4ZDY1YzIuLjE4ZWYxNjQ4MWI0NTY0NGE2ZDA2ZjFhM2IwZTg3ZGQwNmUwMzFkNDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVy
VHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0
b3IubW0KQEAgLTYxLDggKzYxLDcgQEAgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3I6On5SZW1v
dGVTY3JvbGxpbmdDb29yZGluYXRvcigpCiAKIHZvaWQgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0
b3I6OnNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKIHsKLSAgICBpZiAoYXV0byogZHJhd2luZ0Fy
ZWEgPSBtX3dlYlBhZ2UtPmRyYXdpbmdBcmVhKCkpCi0gICAgICAgIGRyYXdpbmdBcmVhLT5zY2hl
ZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpOworICAgIG1fd2ViUGFnZS0+ZHJhd2luZ0FyZWEo
KS0+c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKTsKIH0KIAogYm9vbCBSZW1vdGVTY3Jv
bGxpbmdDb29yZGluYXRvcjo6Y29vcmRpbmF0ZXNTY3JvbGxpbmdGb3JGcmFtZVZpZXcoY29uc3Qg
RnJhbWVWaWV3JiBmcmFtZVZpZXcpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDllMjZkYzExZWUwYWE1ZmE1NGI1NTAyYWQ1MTAxNzA0
NDRhODE0NjkuLjA1ZmZjODU3MGEzMzBlYzQ5YjI1ZDEwN2MxZjY1ODBjYTg3MWJmYWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02NTMsNyAr
NjUzLDE0IEBAIHZvaWQgV2ViUGFnZTo6ZW5hYmxlRW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJm
YWNlcygpCiAKIHZvaWQgV2ViUGFnZTo6cmVpbml0aWFsaXplV2ViUGFnZShXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKIHsKLSAgICBpZiAoIW1fZHJhd2luZ0FyZWEpIHsK
KyAgICBBU1NFUlQobV9kcmF3aW5nQXJlYSk7CisKKyAgICBpZiAobV9zaG91bGRSZXNldERyYXdp
bmdBcmVhKSB7CisgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBkZXN0cm95IHRoZSBwcmV2aW91cyBk
cmF3aW5nIGFyZWEgYmVmb3JlIGNvbnN0cnVjdGluZyB0aGUgbmV3IG9uZSBhcyBEcmF3aW5nQXJl
YSByZWdpc3RlcnMgLyB1bnJlZ2lzdGVycworICAgICAgICAvLyBpdHNlbGYgYXMgYW4gSVBDOjpN
ZXNzc2FnZVJlY2VpdmVyIGluIGl0cyBjb25zdHJ1Y3RvciAvIGRlc3RydWN0b3IuCisgICAgICAg
IG1fZHJhd2luZ0FyZWEgPSBudWxscHRyOworICAgICAgICBtX3Nob3VsZFJlc2V0RHJhd2luZ0Fy
ZWEgPSBmYWxzZTsKKwogICAgICAgICBtX2RyYXdpbmdBcmVhID0gRHJhd2luZ0FyZWE6OmNyZWF0
ZSgqdGhpcywgcGFyYW1ldGVycyk7CiAgICAgICAgIG1fZHJhd2luZ0FyZWEtPnNldFBhaW50aW5n
RW5hYmxlZChmYWxzZSk7CiAgICAgICAgIG1fZHJhd2luZ0FyZWEtPnNldFNob3VsZFNjYWxlVmll
d1RvRml0RG9jdW1lbnQocGFyYW1ldGVycy5zaG91bGRTY2FsZVZpZXdUb0ZpdERvY3VtZW50KTsK
QEAgLTExNTUsOCArMTE2Miw3IEBAIHZvaWQgV2ViUGFnZTo6ZW50ZXJBY2NlbGVyYXRlZENvbXBv
c2l0aW5nTW9kZShHcmFwaGljc0xheWVyKiBsYXllcikKIAogdm9pZCBXZWJQYWdlOjpleGl0QWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoKQogewotICAgIGlmIChtX2RyYXdpbmdBcmVhKQotICAg
ICAgICBtX2RyYXdpbmdBcmVhLT5zZXRSb290Q29tcG9zaXRpbmdMYXllcigwKTsKKyAgICBtX2Ry
YXdpbmdBcmVhLT5zZXRSb290Q29tcG9zaXRpbmdMYXllcigwKTsKIH0KIAogdm9pZCBXZWJQYWdl
OjpjbG9zZSgpCkBAIC02MTI4LDE0ICs2MTM0LDEwIEBAIHZvaWQgV2ViUGFnZTo6c2V0SXNTdXNw
ZW5kZWQoYm9vbCBzdXNwZW5kZWQpCiAKICAgICBtX2lzU3VzcGVuZGVkID0gc3VzcGVuZGVkOwog
Ci0gICAgc2V0TGF5ZXJUcmVlU3RhdGVJc0Zyb3plbih0cnVlKTsKLX0KLQotdm9pZCBXZWJQYWdl
Ojp0ZWFyRG93bkRyYXdpbmdBcmVhRm9yU3VzcGVuZCgpCi17CiAgICAgaWYgKCFtX2lzU3VzcGVu
ZGVkKQotICAgICAgICByZXR1cm47Ci0gICAgbV9kcmF3aW5nQXJlYSA9IG51bGxwdHI7CisgICAg
ICAgIG1fc2hvdWxkUmVzZXREcmF3aW5nQXJlYSA9IHRydWU7CisKKyAgICBzZXRMYXllclRyZWVT
dGF0ZUlzRnJvemVuKHRydWUpOwogfQogCiB2b2lkIFdlYlBhZ2U6OmZyYW1lQmVjYW1lUmVtb3Rl
KHVpbnQ2NF90IGZyYW1lSUQsIEdsb2JhbEZyYW1lSWRlbnRpZmllciYmIHJlbW90ZUZyYW1lSWRl
bnRpZmllciwgR2xvYmFsV2luZG93SWRlbnRpZmllciYmIHJlbW90ZVdpbmRvd0lkZW50aWZpZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggYjI1NTFl
NzQ5ZTEwYzU4NmIzNDQxMDlkZDVkNjVmNDlhY2QxODQ5NC4uNDIwZWJkYzgyNzU3NzYwNjE5MGYw
YzAwNzlhZmFjNmQ1NjM3ZGYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaApAQCAtMTQyNCw3ICsxNDI0LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVybFNj
aGVtZVRhc2tEaWRDb21wbGV0ZSh1aW50NjRfdCBoYW5kbGVySWRlbnRpZmllciwgdWludDY0X3Qg
dGFza0lkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKIAogICAgIHZv
aWQgc2V0SXNTdXNwZW5kZWQoYm9vbCk7Ci0gICAgdm9pZCB0ZWFyRG93bkRyYXdpbmdBcmVhRm9y
U3VzcGVuZCgpOwogCiAgICAgUmVmUHRyPFdlYkltYWdlPiBzbmFwc2hvdEF0U2l6ZShjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgYml0bWFwU2l6ZSwgU25h
cHNob3RPcHRpb25zKTsKICAgICBSZWZQdHI8V2ViSW1hZ2U+IHNuYXBzaG90Tm9kZShXZWJDb3Jl
OjpOb2RlJiwgU25hcHNob3RPcHRpb25zLCB1bnNpZ25lZCBtYXhpbXVtUGl4ZWxDb3VudCA9IHN0
ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSk7CkBAIC0xNDQ5LDYgKzE0NDgsNyBA
QCBwcml2YXRlOgogCiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX3ZpZXdTaXplOwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxEcmF3aW5nQXJlYT4gbV9kcmF3aW5nQXJlYTsKKyAgICBib29sIG1fc2hvdWxk
UmVzZXREcmF3aW5nQXJlYSB7IGZhbHNlIH07CiAKICAgICBIYXNoU2V0PFBsdWdpblZpZXcqPiBt
X3BsdWdpblZpZXdzOwogICAgIGJvb2wgbV9oYXNTZWVuUGx1Z2luIHsgZmFsc2UgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
CmluZGV4IDZjODcxMDQ5YjQyNmVkODhhM2Y5MjJiODNjMWJmZjQwMWI2MjM0MDEuLjI5ZjU2YWZk
MGIyMGUyMWQ1ZGE3NjljM2MxNjg0ZjY3MDRkOWZjOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtNTEyLDcgKzUx
Miw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIFVSTFNjaGVt
ZVRhc2tEaWRDb21wbGV0ZSh1aW50NjRfdCBoYW5kbGVySWRlbnRpZmllciwgdWludDY0X3QgdGFz
a0lkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IpCiAKICAgICBTZXRJc1N1
c3BlbmRlZChib29sIHN1c3BlbmRlZCkKLSAgICBUZWFyRG93bkRyYXdpbmdBcmVhRm9yU3VzcGVu
ZCgpOwogCiAjaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKICAgICBTdG9yYWdl
QWNjZXNzUmVzcG9uc2UoYm9vbCB3YXNHcmFudGVkLCB1aW50NjRfdCBjb250ZXh0SWQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353189</attachid>
            <date>2018-10-26 10:24:13 -0700</date>
            <delta_ts>2018-10-26 11:01:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190879-20181026102413.patch</filename>
            <type>text/plain</type>
            <size>14742</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3NDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGJjZDgyMjI0NzlmYzU3MTQ0
MjA2OWEyMGM1MDBhNjBkOTExMDI4ZDAuLmE0OTZiZDEzMTYwY2U4ODgxMTE4YTc1MmM4ZjlkOTAx
Y2ZiZjViMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTgtMTAtMjYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbUFNPTl0gQXZvaWQgdGVhcmluZyBk
b3duIHRoZSBkcmF3aW5nIGFyZWEgd2hlbiBzdXNwZW5kaW5nIGEgV2ViUGFnZSBkdWUgdG8gcHJv
Y2Vzcy1zd2FwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTA4NzkKKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAg
ICBBdm9pZCB0ZWFyaW5nIGRvd24gdGhlIGRyYXdpbmcgYXJlYSB3aGVuIHN1c3BlbmRpbmcgYSBX
ZWJQYWdlIGR1ZSB0byBwcm9jZXNzLXN3YXAuIFdlIHJlYWxseSBvbmx5IG5lZWQgdG8gcmVzZXQK
KyAgICAgICAgdGhlIGRyYXdpbmcgYXJlYSB1cG9uIHJlc3VtaW5nIHRoZSBXZWJQYWdlLiBUaGVy
ZSBpcyBubyBzdHJpY3QgbmVlZCB0byBkZXN0cm95IHRoZSBkcmF3aW5nIGFyZWEgb24gc3VzcGVu
c2lvbgorICAgICAgICBhbmQgdGhpcyBoYXMgY2F1c2VkIHZhcmlvdXMgY3Jhc2hlcyBiZWNhdXNl
IGNvZGUgdXN1YWxseSBhc3N1bWVzIHdlIGFsd2F5cyBoYXZlIGEgZHJhd2luZyBhcmVhLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBkcm9wcyB2YXJpb3VzIGRyYXdpbmcgYXJlYSBudWxsIGNo
ZWNrcyB0aGF0IHdlcmUgYWRkZWQgdG8gYWRkcmVzcyBQU09OIGNyYXNoZXMuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3Vz
cGVuZGVkUGFnZVByb3h5Ojp0ZWFyRG93bkRyYXdpbmdBcmVhSW5XZWJQcm9jZXNzKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6c3VzcGVuZEN1cnJlbnRQYWdlSWZQb3NzaWJsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6cmVjZWl2ZWROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24pOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmRpZENvbXBsZXRlUGFnZVRyYW5zaXRpb24pOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcpOgorICAgICAgICAo
V2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmludmFsaWRhdGVDb250ZW50c0ZvclNsb3dTY3JvbGwp
OgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQg
Y29uc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJh
bnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvci5tbToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxlVHJlZVN0YXRl
Q29tbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnJlaW5pdGlhbGl6ZVdlYlBhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpzZXRJc1N1c3BlbmRlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OnRlYXJEb3duRHJhd2luZ0FyZWFGb3JTdXNwZW5kKTogRGVsZXRlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorCiAyMDE4LTEwLTI2ICBBbnR0aSBLb2l2aXN0byAgPGFu
dHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgcmFuZG9tKCkgaW5zdGVhZCBvZiBiZWdpbigp
IHRvIGxpbWl0IGNhY2hlIHNpemVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9TdXNwZW5kZWRQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVu
ZGVkUGFnZVByb3h5LmNwcAppbmRleCAxNGM1MzI3MjE5NGMyMzQwMzQ3NWI2ZDEzMmNmZDc4ZGFh
MWRiNDg4Li5hZmVkZjlmMjQ2ZDMwMDUyMTQwNzA2OGFlOTdiNThkZGRhY2ZlMGMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5jcHAKQEAgLTEwMywx
MSArMTAzLDYgQEAgU3VzcGVuZGVkUGFnZVByb3h5Ojp+U3VzcGVuZGVkUGFnZVByb3h5KCkKICAg
ICB9KTsKIH0KIAotdm9pZCBTdXNwZW5kZWRQYWdlUHJveHk6OnRlYXJEb3duRHJhd2luZ0FyZWFJ
bldlYlByb2Nlc3MoKQotewotICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
VGVhckRvd25EcmF3aW5nQXJlYUZvclN1c3BlbmQoKSwgbV9wYWdlLnBhZ2VJRCgpKTsKLX0KLQog
dm9pZCBTdXNwZW5kZWRQYWdlUHJveHk6OnVuc3VzcGVuZCgpCiB7CiAgICAgQVNTRVJUKG1faXNT
dXNwZW5kZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVuZGVk
UGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHku
aAppbmRleCAwZDU1ODVlMGI3YjhiMGU0NjE2NGExYzI4MTZlZTAxY2Q1YWM2NmRkLi43ZmEwYzNl
YTAzNGM2MWEyNWVlMTI4NDNjZWI4MzFhMzljZWQ2Njk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuaApAQCAtNDYsOCArNDYsNiBAQCBwdWJsaWM6CiAg
ICAgdWludDY0X3QgbWFpbkZyYW1lSUQoKSBjb25zdCB7IHJldHVybiBtX21haW5GcmFtZUlEOyB9
CiAgICAgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW4oKSBjb25zdCB7
IHJldHVybiBtX29yaWdpbjsgfQogCi0gICAgdm9pZCB0ZWFyRG93bkRyYXdpbmdBcmVhSW5XZWJQ
cm9jZXNzKCk7Ci0KICAgICB2b2lkIHVuc3VzcGVuZCgpOwogCiAjaWYgIUxPR19ESVNBQkxFRApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggOWRlYTc5ODBhZjYw
NzdjYWY2Y2FlZTdmOWI0ZjRmZjg0NWIzYWY1YS4uM2FlYzYyNTM2MjJiOGRkNzFhN2E4M2U2MzA2
ZjU3MTA0NmVkYjAzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CkBAIC03MjQsMTAgKzcyNCwxNCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c3VzcGVuZEN1cnJlbnRQ
YWdlSWZQb3NzaWJsZShBUEk6Ok5hdmlnYXRpb24mIG5hdmlnYXRpb24sIHN0ZAogICAgIH0KIAog
ICAgIGF1dG8gc3VzcGVuZGVkUGFnZSA9IHN0ZDo6bWFrZV91bmlxdWU8U3VzcGVuZGVkUGFnZVBy
b3h5PigqdGhpcywgbV9wcm9jZXNzLmNvcHlSZWYoKSwgKmN1cnJlbnRJdGVtLCAqbWFpbkZyYW1l
SUQpOworCisjaWYgUExBVEZPUk0oTUFDKQogICAgIG1fcGFnZVN1c3BlbmRlZER1ZVRvQ3VycmVu
dE5hdmlnYXRpb24gPSBtYWtlV2Vha1B0cihzdXNwZW5kZWRQYWdlLmdldCgpKTsKLSAgICBtX3By
b2Nlc3MtPnByb2Nlc3NQb29sKCkuYWRkU3VzcGVuZGVkUGFnZVByb3h5KFdURk1vdmUoc3VzcGVu
ZGVkUGFnZSkpOworI2VuZGlmCisKKyAgICBMT0coUHJvY2Vzc1N3YXBwaW5nLCAiV2ViUGFnZVBy
b3h5ICUiIFBSSXU2NCAiIGNyZWF0ZWQgc3VzcGVuZGVkIHBhZ2UgJXMgZm9yIHByb2Nlc3MgcGlk
ICVpLCBiYWNrL2ZvcndhcmQgaXRlbSAlcyIgUFJJdTY0LCBwYWdlSUQoKSwgc3VzcGVuZGVkUGFn
ZS0+bG9nZ2luZ1N0cmluZygpLCBtX3Byb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCksIGN1cnJl
bnRJdGVtLT5pdGVtSUQoKS5sb2dTdHJpbmcoKSk7CiAKLSAgICBMT0coUHJvY2Vzc1N3YXBwaW5n
LCAiV2ViUGFnZVByb3h5ICUiIFBSSXU2NCAiIGNyZWF0ZWQgc3VzcGVuZGVkIHBhZ2UgJXMgZm9y
IHByb2Nlc3MgcGlkICVpLCBiYWNrL2ZvcndhcmQgaXRlbSAlcyIgUFJJdTY0LCBwYWdlSUQoKSwg
bV9wYWdlU3VzcGVuZGVkRHVlVG9DdXJyZW50TmF2aWdhdGlvbi0+bG9nZ2luZ1N0cmluZygpLCBt
X3Byb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCksIGN1cnJlbnRJdGVtLT5pdGVtSUQoKS5sb2dT
dHJpbmcoKSk7CisgICAgbV9wcm9jZXNzLT5wcm9jZXNzUG9vbCgpLmFkZFN1c3BlbmRlZFBhZ2VQ
cm94eShXVEZNb3ZlKHN1c3BlbmRlZFBhZ2UpKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OnN3
YXBUb1dlYlByb2Nlc3MoUmVmPFdlYlByb2Nlc3NQcm94eT4mJiBwcm9jZXNzLCBBUEk6Ok5hdmln
YXRpb24mIG5hdmlnYXRpb24sIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IG1haW5GcmFtZUlESW5Q
cmV2aW91c1Byb2Nlc3MpCkBAIC0yNDkxLDkgKzI0OTUsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OnJlY2VpdmVkTmF2aWdhdGlvblBvbGljeURlY2lzaW9uKFBvbGljeUFjdGlvbiBwb2xpY3lBY3Rp
b24sIEEKICAgICB9CiAgICAgCiAgICAgaWYgKHBvbGljeUFjdGlvbiA9PSBQb2xpY3lBY3Rpb246
OlVzZSAmJiBmcmFtZS5pc01haW5GcmFtZSgpKSB7CisjaWYgUExBVEZPUk0oTUFDKQogICAgICAg
ICAvLyBXZSdyZSBhYm91dCB0byBuYXZpZ2F0ZSBzbyB3ZSBuZWVkIHRvIHJlc2V0IG1fcGFnZVN1
c3BlbmRlZER1ZVRvQ3VycmVudE5hdmlnYXRpb24uIElmIHdlIGRlY2lkZSB0byBwcm9jZXNzIHN3
YXAsCiAgICAgICAgIC8vIGNvbnRpbnVlTmF2aWdhdGlvbkluTmV3UHJvY2VzcygpIHdpbGwgdGFr
ZSBjYXJlIG9mIHVwZGF0aW5nIG1fcGFnZVN1c3BlbmRlZER1ZVRvQ3VycmVudE5hdmlnYXRpb24g
YXMgbmVlZGVkLgogICAgICAgICBtX3BhZ2VTdXNwZW5kZWREdWVUb0N1cnJlbnROYXZpZ2F0aW9u
ID0gbnVsbHB0cjsKKyNlbmRpZgogCiAgICAgICAgIFN0cmluZyByZWFzb247CiAgICAgICAgIGF1
dG8gcHJvcG9zZWRQcm9jZXNzID0gcHJvY2VzcygpLnByb2Nlc3NQb29sKCkucHJvY2Vzc0Zvck5h
dmlnYXRpb24oKnRoaXMsICpuYXZpZ2F0aW9uLCBwcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50
LCBwb2xpY3lBY3Rpb24sIHJlYXNvbik7CkBAIC0zNTE2LDE5ICszNTIyLDE4IEBAIHZvaWQgV2Vi
UGFnZVByb3h5OjpkaWRGaW5pc2hQcm9ncmVzcygpCiAKIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRD
b21wbGV0ZVBhZ2VUcmFuc2l0aW9uKGJvb2wgaXNJbml0aWFsRW1wdHlEb2N1bWVudCkKIHsKKyNp
ZiBQTEFURk9STShNQUMpCiAgICAgLy8gQXR0YWNoIGRyYXdpbmcgYXJlYSBmb3IgdGhlIGluaXRp
YWwgZW1wdHkgZG9jdW1lbnQgb25seSBpZiB0aGlzIGlzIG5vdCBhIHByb2Nlc3Mgc3dhcC4KICAg
ICBpZiAoaXNJbml0aWFsRW1wdHlEb2N1bWVudCAmJiBtX3BhZ2VTdXNwZW5kZWREdWVUb0N1cnJl
bnROYXZpZ2F0aW9uKQogICAgICAgICByZXR1cm47CiAKLSNpZiBQTEFURk9STShNQUMpCiAgICAg
aWYgKCFtX2RyYXdpbmdBcmVhKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBEcmF3aW5nIGFy
ZWEgZm9yIHRoZSBzdXNwZW5kZWQgcGFnZSB3aWxsIGJlIHRvcm4gZG93biB3aGVuIHRoZSBhdHRh
Y2ggY29tcGxldGVzLgogICAgIG1fZHJhd2luZ0FyZWEtPmF0dGFjaEluV2ViUHJvY2VzcygpOwog
I2Vsc2UKLSAgICBpZiAobV9wYWdlU3VzcGVuZGVkRHVlVG9DdXJyZW50TmF2aWdhdGlvbikKLSAg
ICAgICAgbV9wYWdlU3VzcGVuZGVkRHVlVG9DdXJyZW50TmF2aWdhdGlvbi0+dGVhckRvd25EcmF3
aW5nQXJlYUluV2ViUHJvY2VzcygpOworICAgIFVOVVNFRF9QQVJBTShpc0luaXRpYWxFbXB0eURv
Y3VtZW50KTsKICNlbmRpZgogfQogCkBAIC02NDI1LDEwICs2NDMwLDYgQEAgV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycyBXZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycygpCiB2b2lkIFdl
YlBhZ2VQcm94eTo6ZW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRy
ZWVDb250ZXh0JiBsYXllclRyZWVDb250ZXh0KQogewogICAgIHBhZ2VDbGllbnQoKS5lbnRlckFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGxheWVyVHJlZUNvbnRleHQpOwotCi0gICAgLy8gV2Ug
aGF2ZSBjb21wbGV0ZWQgdGhlIHBhZ2UgdHJhbnNpdGlvbiBhbmQgY2FuIHRlYXIgZG93biB0aGUg
bGF5ZXJzIGluIHRoZSBzdXNwZW5kZWQgcHJvY2Vzcy4KLSAgICBpZiAobV9wYWdlU3VzcGVuZGVk
RHVlVG9DdXJyZW50TmF2aWdhdGlvbikKLSAgICAgICAgbV9wYWdlU3VzcGVuZGVkRHVlVG9DdXJy
ZW50TmF2aWdhdGlvbi0+dGVhckRvd25EcmF3aW5nQXJlYUluV2ViUHJvY2VzcygpOwogfQogCiB2
b2lkIFdlYlBhZ2VQcm94eTo6ZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggOWNlMWU4ZjA3ZDVmMmQ2NDhjZDVk
OGNjYWJkOWEwZjBjM2NmYWEwNy4uNjU2ZDViNTA4ZTI2YzZjMWJjZTQ4MGZhNDk2ODZkMTRkZjYw
NzAxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTIyNTksOCAr
MjI1OSwxMCBAQCBwcml2YXRlOgogCiAgICAgc3RkOjpvcHRpb25hbDxNb25vdG9uaWNUaW1lPiBt
X3BhZ2VMb2FkU3RhcnQ7CiAKKyNpZiBQTEFURk9STShNQUMpCiAgICAgLy8gRklYTUU6IFdlIHNo
b3VsZCB0cnkgYW5kIGdldCByaWQgb2YgdGhpcyBkYXRhIG1lbWJlci4KICAgICBXZWFrUHRyPFN1
c3BlbmRlZFBhZ2VQcm94eT4gbV9wYWdlU3VzcGVuZGVkRHVlVG9DdXJyZW50TmF2aWdhdGlvbjsK
KyNlbmRpZgogCiAgICAgUnVuTG9vcDo6VGltZXI8V2ViUGFnZVByb3h5PiBtX3Jlc2V0UmVjZW50
Q3Jhc2hDb3VudFRpbWVyOwogICAgIHVuc2lnbmVkIG1fcmVjZW50Q3Jhc2hDb3VudCB7IDAgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggOWM0MzFmMTQ0NjA3OWZiMzRlZTczOWE4YWVjY2Fk
YTkzOTRhZGQ2OC4uODc5YjEwYTNjZDk4ZmM4Njg5NzhmMmFkMDg4ZDA0YTI0OTg5MTQ3ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTUyMyw4ICs1MjMsNyBAQCB2b2lkIFdlYkNocm9tZUNs
aWVudDo6aW52YWxpZGF0ZUNvbnRlbnRzQW5kUm9vdFZpZXcoY29uc3QgSW50UmVjdCYgcmVjdCkK
ICAgICAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoYXV0byogZHJhd2luZ0FyZWEg
PSBtX3BhZ2UuZHJhd2luZ0FyZWEoKSkKLSAgICAgICAgZHJhd2luZ0FyZWEtPnNldE5lZWRzRGlz
cGxheUluUmVjdChyZWN0KTsKKyAgICBtX3BhZ2UuZHJhd2luZ0FyZWEoKS0+c2V0TmVlZHNEaXNw
bGF5SW5SZWN0KHJlY3QpOwogfQogCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6aW52YWxpZGF0ZUNv
bnRlbnRzRm9yU2xvd1Njcm9sbChjb25zdCBJbnRSZWN0JiByZWN0KQpAQCAtNTQyLDggKzU0MSw3
IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNGb3JTbG93U2Nyb2xs
KGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYKLSAg
ICBpZiAoYXV0byogZHJhd2luZ0FyZWEgPSBtX3BhZ2UuZHJhd2luZ0FyZWEoKSkKLSAgICAgICAg
ZHJhd2luZ0FyZWEtPnNldE5lZWRzRGlzcGxheUluUmVjdChyZWN0KTsKKyAgICBtX3BhZ2UuZHJh
d2luZ0FyZWEoKS0+c2V0TmVlZHNEaXNwbGF5SW5SZWN0KHJlY3QpOwogfQogCiB2b2lkIFdlYkNo
cm9tZUNsaWVudDo6c2Nyb2xsKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRS
ZWN0JiBzY3JvbGxSZWN0LCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkKQEAgLTU5Nyw4ICs1OTUs
NyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6Y29udGVudHNTaXplQ2hhbmdlZChGcmFtZSYgZnJh
bWUsIGNvbnN0IEludFNpemUmIHNpemUpIGNvbgogCiAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6RGlkQ2hhbmdlQ29udGVudFNpemUoc2l6ZSkpOwogCi0gICAgaWYgKGF1
dG8qIGRyYXdpbmdBcmVhID0gbV9wYWdlLmRyYXdpbmdBcmVhKCkpCi0gICAgICAgIGRyYXdpbmdB
cmVhLT5tYWluRnJhbWVDb250ZW50U2l6ZUNoYW5nZWQoc2l6ZSk7CisgICAgbV9wYWdlLmRyYXdp
bmdBcmVhKCktPm1haW5GcmFtZUNvbnRlbnRTaXplQ2hhbmdlZChzaXplKTsKIAogICAgIGlmIChm
cmFtZVZpZXcgJiYgIWZyYW1lVmlldy0+ZGVsZWdhdGVzU2Nyb2xsaW5nKCkpICB7CiAgICAgICAg
IGJvb2wgaGFzSG9yaXpvbnRhbFNjcm9sbGJhciA9IGZyYW1lVmlldy0+aG9yaXpvbnRhbFNjcm9s
bGJhcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggZWIyNTY3MzFjMDVi
NDdlZTIwMzhjMmY5N2E2Yjk0ZTYyZjI3ZTU2NS4uYzE4ZmIwOTczNDVhZTBlODUzMjBiN2MyMGYw
ZTVlNmRlYjQ3N2M4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0xNDM1
LDggKzE0MzUsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9uVG9Db21t
aXR0ZWRGb3JOZXdQYWdlKCkKICAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5zZXRQ
cm9oaWJpdHNTY3JvbGxpbmcoc2hvdWxkRGlzYWJsZVNjcm9sbGluZyk7CiAgICAgbV9mcmFtZS0+
Y29yZUZyYW1lKCktPnZpZXcoKS0+c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWRCeUNsaWVudCghd2Vi
UGFnZS0+c2hvdWxkRXh0ZW5kSW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvbigpKTsKICNp
ZiBQTEFURk9STShDT0NPQSkKLSAgICBpZiAod2ViUGFnZS0+ZHJhd2luZ0FyZWEoKSkKLSAgICAg
ICAgbV9mcmFtZS0+Y29yZUZyYW1lKCktPnZpZXcoKS0+c2V0Vmlld0V4cG9zZWRSZWN0KHdlYlBh
Z2UtPmRyYXdpbmdBcmVhKCktPnZpZXdFeHBvc2VkUmVjdCgpKTsKKyAgICBtX2ZyYW1lLT5jb3Jl
RnJhbWUoKS0+dmlldygpLT5zZXRWaWV3RXhwb3NlZFJlY3Qod2ViUGFnZS0+ZHJhd2luZ0FyZWEo
KS0+dmlld0V4cG9zZWRSZWN0KCkpOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ICAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5zZXREZWxlZ2F0ZXNTY3JvbGxpbmco
dHJ1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1v
dGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3IubW0gYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRp
bmF0b3IubW0KaW5kZXggMzNkOGRmZGRmYmMwNDIxMGViOTVmZjNhOTdjNjEyMTQ0ZThkNjVjMi4u
MThlZjE2NDgxYjQ1NjQ0YTZkMDZmMWEzYjBlODdkZDA2ZTAzMWQ0MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9s
bGluZ0Nvb3JkaW5hdG9yLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvci5tbQpAQCAtNjEsOCAr
NjEsNyBAQCBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvcjo6flJlbW90ZVNjcm9sbGluZ0Nvb3Jk
aW5hdG9yKCkKIAogdm9pZCBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVUcmVl
U3RhdGVDb21taXQoKQogewotICAgIGlmIChhdXRvKiBkcmF3aW5nQXJlYSA9IG1fd2ViUGFnZS0+
ZHJhd2luZ0FyZWEoKSkKLSAgICAgICAgZHJhd2luZ0FyZWEtPnNjaGVkdWxlQ29tcG9zaXRpbmdM
YXllckZsdXNoKCk7CisgICAgbV93ZWJQYWdlLT5kcmF3aW5nQXJlYSgpLT5zY2hlZHVsZUNvbXBv
c2l0aW5nTGF5ZXJGbHVzaCgpOwogfQogCiBib29sIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9y
Ojpjb29yZGluYXRlc1Njcm9sbGluZ0ZvckZyYW1lVmlldyhjb25zdCBGcmFtZVZpZXcmIGZyYW1l
VmlldykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKaW5kZXggOWUyNmRjMTFlZTBhYTVmYTU0YjU1MDJhZDUxMDE3MDQ0NGE4MTQ2OS4uMDVmZmM4
NTcwYTMzMGVjNDliMjVkMTA3YzFmNjU4MGNhODcxYmZhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTY1Myw3ICs2NTMsMTQgQEAgdm9pZCBX
ZWJQYWdlOjplbmFibGVFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzKCkKIAogdm9pZCBX
ZWJQYWdlOjpyZWluaXRpYWxpemVXZWJQYWdlKFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBw
YXJhbWV0ZXJzKQogewotICAgIGlmICghbV9kcmF3aW5nQXJlYSkgeworICAgIEFTU0VSVChtX2Ry
YXdpbmdBcmVhKTsKKworICAgIGlmIChtX3Nob3VsZFJlc2V0RHJhd2luZ0FyZWEpIHsKKyAgICAg
ICAgLy8gTWFrZSBzdXJlIHdlIGRlc3Ryb3kgdGhlIHByZXZpb3VzIGRyYXdpbmcgYXJlYSBiZWZv
cmUgY29uc3RydWN0aW5nIHRoZSBuZXcgb25lIGFzIERyYXdpbmdBcmVhIHJlZ2lzdGVycyAvIHVu
cmVnaXN0ZXJzCisgICAgICAgIC8vIGl0c2VsZiBhcyBhbiBJUEM6Ok1lc3NzYWdlUmVjZWl2ZXIg
aW4gaXRzIGNvbnN0cnVjdG9yIC8gZGVzdHJ1Y3Rvci4KKyAgICAgICAgbV9kcmF3aW5nQXJlYSA9
IG51bGxwdHI7CisgICAgICAgIG1fc2hvdWxkUmVzZXREcmF3aW5nQXJlYSA9IGZhbHNlOworCiAg
ICAgICAgIG1fZHJhd2luZ0FyZWEgPSBEcmF3aW5nQXJlYTo6Y3JlYXRlKCp0aGlzLCBwYXJhbWV0
ZXJzKTsKICAgICAgICAgbV9kcmF3aW5nQXJlYS0+c2V0UGFpbnRpbmdFbmFibGVkKGZhbHNlKTsK
ICAgICAgICAgbV9kcmF3aW5nQXJlYS0+c2V0U2hvdWxkU2NhbGVWaWV3VG9GaXREb2N1bWVudChw
YXJhbWV0ZXJzLnNob3VsZFNjYWxlVmlld1RvRml0RG9jdW1lbnQpOwpAQCAtMTE1NSw4ICsxMTYy
LDcgQEAgdm9pZCBXZWJQYWdlOjplbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKEdyYXBo
aWNzTGF5ZXIqIGxheWVyKQogCiB2b2lkIFdlYlBhZ2U6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0
aW5nTW9kZSgpCiB7Ci0gICAgaWYgKG1fZHJhd2luZ0FyZWEpCi0gICAgICAgIG1fZHJhd2luZ0Fy
ZWEtPnNldFJvb3RDb21wb3NpdGluZ0xheWVyKDApOworICAgIG1fZHJhd2luZ0FyZWEtPnNldFJv
b3RDb21wb3NpdGluZ0xheWVyKDApOwogfQogCiB2b2lkIFdlYlBhZ2U6OmNsb3NlKCkKQEAgLTYx
MjgsMTQgKzYxMzQsMTAgQEAgdm9pZCBXZWJQYWdlOjpzZXRJc1N1c3BlbmRlZChib29sIHN1c3Bl
bmRlZCkKIAogICAgIG1faXNTdXNwZW5kZWQgPSBzdXNwZW5kZWQ7CiAKLSAgICBzZXRMYXllclRy
ZWVTdGF0ZUlzRnJvemVuKHRydWUpOwotfQotCi12b2lkIFdlYlBhZ2U6OnRlYXJEb3duRHJhd2lu
Z0FyZWFGb3JTdXNwZW5kKCkKLXsKICAgICBpZiAoIW1faXNTdXNwZW5kZWQpCi0gICAgICAgIHJl
dHVybjsKLSAgICBtX2RyYXdpbmdBcmVhID0gbnVsbHB0cjsKKyAgICAgICAgbV9zaG91bGRSZXNl
dERyYXdpbmdBcmVhID0gdHJ1ZTsKKworICAgIHNldExheWVyVHJlZVN0YXRlSXNGcm96ZW4odHJ1
ZSk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6ZnJhbWVCZWNhbWVSZW1vdGUodWludDY0X3QgZnJhbWVJ
RCwgR2xvYmFsRnJhbWVJZGVudGlmaWVyJiYgcmVtb3RlRnJhbWVJZGVudGlmaWVyLCBHbG9iYWxX
aW5kb3dJZGVudGlmaWVyJiYgcmVtb3RlV2luZG93SWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBiMjU1MWU3NDllMTBjNTg2YjM0NDEw
OWRkNWQ2NWY0OWFjZDE4NDk0Li40MjBlYmRjODI3NTc3NjA2MTkwZjBjMDA3OWFmYWM2ZDU2Mzdk
ZjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0x
NDI0LDcgKzE0MjQsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgdXJsU2NoZW1lVGFza0RpZENvbXBs
ZXRlKHVpbnQ2NF90IGhhbmRsZXJJZGVudGlmaWVyLCB1aW50NjRfdCB0YXNrSWRlbnRpZmllciwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwogCiAgICAgdm9pZCBzZXRJc1N1c3BlbmRl
ZChib29sKTsKLSAgICB2b2lkIHRlYXJEb3duRHJhd2luZ0FyZWFGb3JTdXNwZW5kKCk7CiAKICAg
ICBSZWZQdHI8V2ViSW1hZ2U+IHNuYXBzaG90QXRTaXplKGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
LCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBiaXRtYXBTaXplLCBTbmFwc2hvdE9wdGlvbnMpOwog
ICAgIFJlZlB0cjxXZWJJbWFnZT4gc25hcHNob3ROb2RlKFdlYkNvcmU6Ok5vZGUmLCBTbmFwc2hv
dE9wdGlvbnMsIHVuc2lnbmVkIG1heGltdW1QaXhlbENvdW50ID0gc3RkOjpudW1lcmljX2xpbWl0
czx1bnNpZ25lZD46Om1heCgpKTsKQEAgLTE0NDksNiArMTQ0OCw3IEBAIHByaXZhdGU6CiAKICAg
ICBXZWJDb3JlOjpJbnRTaXplIG1fdmlld1NpemU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPERyYXdp
bmdBcmVhPiBtX2RyYXdpbmdBcmVhOworICAgIGJvb2wgbV9zaG91bGRSZXNldERyYXdpbmdBcmVh
IHsgZmFsc2UgfTsKIAogICAgIEhhc2hTZXQ8UGx1Z2luVmlldyo+IG1fcGx1Z2luVmlld3M7CiAg
ICAgYm9vbCBtX2hhc1NlZW5QbHVnaW4geyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggNmM4NzEwNDli
NDI2ZWQ4OGEzZjkyMmI4M2MxYmZmNDAxYjYyMzQwMS4uMjlmNTZhZmQwYjIwZTIxZDVkYTc2OWMz
YzE2ODRmNjcwNGQ5ZmM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC01MTIsNyArNTEyLDYgQEAgbWVzc2FnZXMg
LT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgVVJMU2NoZW1lVGFza0RpZENvbXBsZXRl
KHVpbnQ2NF90IGhhbmRsZXJJZGVudGlmaWVyLCB1aW50NjRfdCB0YXNrSWRlbnRpZmllciwgV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKIAogICAgIFNldElzU3VzcGVuZGVkKGJvb2wgc3Vz
cGVuZGVkKQotICAgIFRlYXJEb3duRHJhd2luZ0FyZWFGb3JTdXNwZW5kKCk7CiAKICNpZiBFTkFC
TEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQogICAgIFN0b3JhZ2VBY2Nlc3NSZXNwb25zZShi
b29sIHdhc0dyYW50ZWQsIHVpbnQ2NF90IGNvbnRleHRJZCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>