<?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>182876</bug_id>
          
          <creation_ts>2018-02-16 09:24:41 -0800</creation_ts>
          <short_desc>[RenderTreeBuilder] Move RenderBlock/RenderInline::addChildIgnoringContinuation() to RenderTreeBuilder</short_desc>
          <delta_ts>2018-02-16 13:42:45 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1399900</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-02-16 09:24:41 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399901</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-16 09:25:02 -0800</bug_when>
    <thetext>&lt;rdar://problem/37607604&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399905</commentid>
    <comment_count>2</comment_count>
      <attachid>334046</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-02-16 09:33:34 -0800</bug_when>
    <thetext>Created attachment 334046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399925</commentid>
    <comment_count>3</comment_count>
      <attachid>334046</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-16 10:29:28 -0800</bug_when>
    <thetext>Comment on attachment 334046
Patch

Rejecting attachment 334046 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 334046, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
rdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 332, in _call_chain
    result = func(*args)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 1170, in https_open
    return self.do_open(conn_factory, req)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 1118, in do_open
    raise URLError(err)
urllib2.URLError: &lt;urlopen error [Errno 60] Operation timed out&gt;

Full output: http://webkit-queues.webkit.org/results/6538597</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399927</commentid>
    <comment_count>4</comment_count>
      <attachid>334051</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-02-16 10:37:29 -0800</bug_when>
    <thetext>Created attachment 334051
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399980</commentid>
    <comment_count>5</comment_count>
      <attachid>334051</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-16 12:39:20 -0800</bug_when>
    <thetext>Comment on attachment 334051
Patch

Rejecting attachment 334051 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 334051, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
 at 525 (offset 2 lines).
patching file Source/WebCore/rendering/updating/RenderTreeBuilder.h
Hunk #2 FAILED at 65.
1 out of 2 hunks FAILED -- saving rejects to file Source/WebCore/rendering/updating/RenderTreeBuilder.h.rej
patching file Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp
patching file Source/WebCore/rendering/updating/RenderTreeBuilderInline.cpp

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/6540701</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400012</commentid>
    <comment_count>6</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-02-16 13:42:45 -0800</bug_when>
    <thetext>Committed r228578: &lt;https://trac.webkit.org/changeset/228578&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334046</attachid>
            <date>2018-02-16 09:33:34 -0800</date>
            <delta_ts>2018-02-16 10:37:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182876-20180216093334.patch</filename>
            <type>text/plain</type>
            <size>16830</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDBjYzI4NDAyMTU1N2Uy
YWJiMWM1ZTYwNzViMjBjN2Q0NThjOGJkYS4uYmRhNzA0MDQ4NzFiYWY4NjU5M2NmYzIwNmYzYjIx
OTlmMjYyMWI1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE4LTAyLTE2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIFJlbmRlckJsb2NrL1JlbmRlcklubGluZTo6YWRkQ2hpbGRJZ25vcmluZ0NvbnRpbnVh
dGlvbigpIHRvIFJlbmRlclRyZWVCdWlsZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4NzYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM3NjA3
NjA0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5v
IGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjphZGRDaGlsZElnbm9yaW5n
Q29udGludWF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2su
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJFbGVtZW50OjphZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKTogRGVsZXRl
ZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJJbmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjph
ZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVySW5saW5lLmg6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRy
ZWVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjppbnNl
cnRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRy
ZWVCdWlsZGVyOjppbnNlcnRDaGlsZFRvUmVuZGVyQmxvY2tJZ25vcmluZ0NvbnRpbnVhdGlvbik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6aW5zZXJ0Q2hp
bGRUb1JlbmRlcklubGluZUlnbm9yaW5nQ29udGludWF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAg
KiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6QmxvY2s6Omluc2VydENoaWxkVG9Db250aW51YXRpb24p
OgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6SW5saW5lOjppbnNlcnRD
aGlsZFRvQ29udGludWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVy
OjpJbmxpbmU6OnNwbGl0SW5saW5lcyk6CisKIDIwMTgtMDItMTYgIFphbGFuIEJ1anRhcyAgPHph
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbUmVuZGVyVHJlZUJ1aWxkZXJdIE1vdmUgUmVuZGVy
QmxvY2svUmVuZGVyQmxvY2tGbG93OjphZGRDaGlsZCgpIHRvIFJlbmRlclRyZWVCdWlsZGVyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCAwMDk1NDc2ZTlkZWQx
ZjA1NzI2NTY0NGM4YWUzM2Q1MWIxYzM1OGNkLi4xYjNiNDY5OTI4OWEwOTA2OTJkYzhlOWNkYzAx
M2QzYTg0OWIxMmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAK
QEAgLTQ2NiwxMSArNDY2LDYgQEAgUmVuZGVyUHRyPFJlbmRlckJsb2NrPiBSZW5kZXJCbG9jazo6
Y2xvbmUoKSBjb25zdAogICAgIHJldHVybiBjbG9uZUJsb2NrOwogfQogCi12b2lkIFJlbmRlckJs
b2NrOjphZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKFJlbmRlclRyZWVCdWlsZGVyJiBidWls
ZGVyLCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZv
cmVDaGlsZCkKLXsKLSAgICBidWlsZGVyLmluc2VydENoaWxkVG9SZW5kZXJCbG9ja0lnbm9yaW5n
Q29udGludWF0aW9uKCp0aGlzLCBXVEZNb3ZlKG5ld0NoaWxkKSwgYmVmb3JlQ2hpbGQpOwotfQot
CiB2b2lkIFJlbmRlckJsb2NrOjpkZWxldGVMaW5lcygpCiB7CiAgICAgaWYgKEFYT2JqZWN0Q2Fj
aGUqIGNhY2hlID0gZG9jdW1lbnQoKS5leGlzdGluZ0FYT2JqZWN0Q2FjaGUoKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggNTMzMjkzNzQxNjk5MWE5MGY4NzVhMGJm
MDJiNDY2NjFlNGRkOWQxMC4uN2RlMWQ5OTY0Yjk0Y2JiODg1ZjJiNDJlZmE2ZmI2YWEwYTEyZDBj
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTM5MSw3ICszOTEs
NiBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBhZGp1c3RCb3JkZXJCb3hSZWN0Rm9yUGFpbnRp
bmcoTGF5b3V0UmVjdCYpIG92ZXJyaWRlOwogICAgIExheW91dFJlY3QgcGFpbnRSZWN0VG9DbGlw
T3V0RnJvbUJvcmRlcihjb25zdCBMYXlvdXRSZWN0Jikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBhZGRD
aGlsZElnbm9yaW5nQ29udGludWF0aW9uKFJlbmRlclRyZWVCdWlsZGVyJiwgUmVuZGVyUHRyPFJl
bmRlck9iamVjdD4gbmV3Q2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpIG92ZXJyaWRl
OwogICAgIGJvb2wgaXNJbmxpbmVCbG9ja09ySW5saW5lVGFibGUoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBpc0lubGluZSgpICYmIGlzUmVwbGFjZWQoKTsgfQogICAgIC8vIEZJWE1FLUJMT0NLRkxP
VzogUmVtb3ZlIHZpcnR1YWxpemFpb24gd2hlbiBhbGwgY2FsbGVycyBoYXZlIG1vdmVkIHRvIFJl
bmRlckJsb2NrRmxvdwogICAgIHZpcnR1YWwgdm9pZCBtb3ZlQWxsQ2hpbGRyZW5JbmNsdWRpbmdG
bG9hdHNUbyhSZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyQmxvY2smIHRvQmxvY2ss
IFJlbmRlckJveE1vZGVsT2JqZWN0OjpOb3JtYWxpemVBZnRlckluc2VydGlvbiBub3JtYWxpemVB
ZnRlckluc2VydGlvbikgeyBtb3ZlQWxsQ2hpbGRyZW5UbyhidWlsZGVyLCAmdG9CbG9jaywgbm9y
bWFsaXplQWZ0ZXJJbnNlcnRpb24pOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5jcHAKaW5kZXggZDFkMzgzNWYyZGYwMzhkMWRlMDZjOWFjMzM5NzNmNmI5ZWU2MDNj
Ni4uNTI5NTMzYmEyZTg0MjhlM2Q4ZGNhOTA0ZDJhN2E1MzUxZDRmN2RhOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtNDc2LDExICs0NzYsNiBAQCB2
b2lkIFJlbmRlckVsZW1lbnQ6OmFkZENoaWxkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyLCBS
ZW5kZXJQdHI8UmVuZGVyT2JqZWN0PgogICAgIFNWR1JlbmRlclN1cHBvcnQ6OmNoaWxkQWRkZWQo
KnRoaXMsIGNoaWxkKTsKIH0KIAotdm9pZCBSZW5kZXJFbGVtZW50OjphZGRDaGlsZElnbm9yaW5n
Q29udGludWF0aW9uKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyLCBSZW5kZXJQdHI8UmVuZGVy
T2JqZWN0PiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKLXsKLSAgICBidWls
ZGVyLmluc2VydENoaWxkKCp0aGlzLCBXVEZNb3ZlKG5ld0NoaWxkKSwgYmVmb3JlQ2hpbGQpOwot
fQotCiB2b2lkIFJlbmRlckVsZW1lbnQ6OnJlbW92ZUFuZERlc3Ryb3lDaGlsZChSZW5kZXJUcmVl
QnVpbGRlciYgYnVpbGRlciwgUmVuZGVyT2JqZWN0JiBvbGRDaGlsZCkKIHsKICAgICBpZiAoaXM8
UmVuZGVyRWxlbWVudD4ob2xkQ2hpbGQpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuaAppbmRleCBjYjhjNThiNjNmOTY1ZWQ5MzJhZWUxMWNhOTYzOTA1ZmZkNTUxMzEy
Li43MmNlZjlhNmNjZTg0NWI5YTc0MmM0MjkxYmUwNDg3M2VmMTljZGFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTg4LDcgKzg4LDYgQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCBib29sIGlzQ2hpbGRBbGxvd2VkKGNvbnN0IFJlbmRlck9iamVjdCYsIGNv
bnN0IFJlbmRlclN0eWxlJikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9p
ZCBhZGRDaGlsZChSZW5kZXJUcmVlQnVpbGRlciYsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBS
ZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKTsKLSAgICB2aXJ0dWFsIHZvaWQgYWRkQ2hpbGRJZ25v
cmluZ0NvbnRpbnVhdGlvbihSZW5kZXJUcmVlQnVpbGRlciYsIFJlbmRlclB0cjxSZW5kZXJPYmpl
Y3Q+IG5ld0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gbnVsbHB0cik7CiAgICAg
dm9pZCByZW1vdmVBbmREZXN0cm95Q2hpbGQoUmVuZGVyVHJlZUJ1aWxkZXImLCBSZW5kZXJPYmpl
Y3QmKTsKIAogICAgIC8vIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGFyZSB1c2VkIHdoZW4gdGhl
IHJlbmRlciB0cmVlIGhpZXJhcmNoeSBjaGFuZ2VzIHRvIG1ha2Ugc3VyZSBsYXllcnMgZ2V0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCmluZGV4IGE0YTE1MmVlY2Q0
YTM4ZDNhOWM4NDE1OGMxYzE1YWQyZWQ0MzAwZjMuLjI1NGE4ZTg0ZTA4MjIzMmFlNWZlNDEwZGVi
NDQ4NTk4NmIzNmUxYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUu
Y3BwCkBAIC0yNTUsMTEgKzI1NSw2IEBAIExheW91dFJlY3QgUmVuZGVySW5saW5lOjpsb2NhbENh
cmV0UmVjdChJbmxpbmVCb3gqIGlubGluZUJveCwgdW5zaWduZWQsIExheW91dFVuCiAgICAgcmV0
dXJuIGNhcmV0UmVjdDsKIH0KIAotdm9pZCBSZW5kZXJJbmxpbmU6OmFkZENoaWxkSWdub3JpbmdD
b250aW51YXRpb24oUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIsIFJlbmRlclB0cjxSZW5kZXJP
YmplY3Q+IG5ld0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKQotewotICAgIGJ1aWxk
ZXIuaW5zZXJ0Q2hpbGRUb1JlbmRlcklubGluZUlnbm9yaW5nQ29udGludWF0aW9uKCp0aGlzLCBX
VEZNb3ZlKG5ld0NoaWxkKSwgYmVmb3JlQ2hpbGQpOwotfQotCiB2b2lkIFJlbmRlcklubGluZTo6
cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNl
dCkKIHsKICAgICBtX2xpbmVCb3hlcy5wYWludCh0aGlzLCBwYWludEluZm8sIHBhaW50T2Zmc2V0
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaAppbmRleCA1OGRiOTYzN2Ux
NGRjNmIzNzkwNTgwNzMwMTNjZmEyZDIzZDNiZDU1Li5hMzMyMzQwZjkzYmY0NTZhYjZkMzljZWVl
MzU4NzQ5OTFmZWY5MThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW5saW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5o
CkBAIC05Miw4ICs5Miw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaGl0VGVzdEN1bGxlZElubGlu
ZShjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9j
YXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRl
ZE9mZnNldCk7CiAKLSAgICB2b2lkIGFkZENoaWxkSWdub3JpbmdDb250aW51YXRpb24oUmVuZGVy
VHJlZUJ1aWxkZXImLCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBuZXdDaGlsZCwgUmVuZGVyT2Jq
ZWN0KiBiZWZvcmVDaGlsZCA9IG51bGxwdHIpIGZpbmFsOwotCiBwcm90ZWN0ZWQ6CiAgICAgdm9p
ZCB3aWxsQmVEZXN0cm95ZWQoUmVuZGVyVHJlZUJ1aWxkZXImKSBvdmVycmlkZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRl
ci5jcHAKaW5kZXggNjUzYzY2NWFiMjY3MWY5MGJjYmM0Zjk2ZDc0MDZjMWFmNDMzZWZhOC4uOWY2
MzdlZDg5NGNmYzNlM2I3MjQ4MGU2NWJlYTlhYTg3ZjY0NWEzZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCkBA
IC0yNTgsNiArMjU4LDIxIEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkKFJl
bmRlckVsZW1lbnQmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjCiAgICAgcGFyZW50LmFk
ZENoaWxkKCp0aGlzLCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOwogfQogCit2b2lkIFJl
bmRlclRyZWVCdWlsZGVyOjppbnNlcnRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKFJlbmRlckVs
ZW1lbnQmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQsIFJlbmRlck9iamVj
dCogYmVmb3JlQ2hpbGQpCit7CisgICAgaWYgKGlzPFJlbmRlcklubGluZT4ocGFyZW50KSkgewor
ICAgICAgICBpbmxpbmVCdWlsZGVyKCkuaW5zZXJ0Q2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihk
b3duY2FzdDxSZW5kZXJJbmxpbmU+KHBhcmVudCksIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGls
ZCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoaXM8UmVuZGVyQmxvY2s+KHBh
cmVudCkpIHsKKyAgICAgICAgYmxvY2tCdWlsZGVyKCkuaW5zZXJ0Q2hpbGRJZ25vcmluZ0NvbnRp
bnVhdGlvbihkb3duY2FzdDxSZW5kZXJCbG9jaz4ocGFyZW50KSwgV1RGTW92ZShjaGlsZCksIGJl
Zm9yZUNoaWxkKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGluc2VydENoaWxkKHBh
cmVudCwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKK30KKwogUmVuZGVyUHRyPFJlbmRl
ck9iamVjdD4gUmVuZGVyVHJlZUJ1aWxkZXI6OnRha2VDaGlsZChSZW5kZXJFbGVtZW50JiBwYXJl
bnQsIFJlbmRlck9iamVjdCYgY2hpbGQpCiB7CiAgICAgaWYgKGlzPFJlbmRlclJ1YnlBc0lubGlu
ZT4ocGFyZW50KSkKQEAgLTMyMywxMSArMzM4LDYgQEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6
aW5zZXJ0Q2hpbGRUb1JlbmRlckVsZW1lbnQoUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5kZXIK
ICAgICBwYXJlbnQuUmVuZGVyRWxlbWVudDo6aW5zZXJ0Q2hpbGRJbnRlcm5hbChXVEZNb3ZlKGNo
aWxkKSwgYmVmb3JlQ2hpbGQpOwogfQogCi12b2lkIFJlbmRlclRyZWVCdWlsZGVyOjppbnNlcnRD
aGlsZFRvUmVuZGVyQmxvY2tJZ25vcmluZ0NvbnRpbnVhdGlvbihSZW5kZXJCbG9jayYgcGFyZW50
LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGls
ZCkKLXsKLSAgICBibG9ja0J1aWxkZXIoKS5pbnNlcnRDaGlsZElnbm9yaW5nQ29udGludWF0aW9u
KHBhcmVudCwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKLX0KLQogdm9pZCBSZW5kZXJU
cmVlQnVpbGRlcjo6bWFrZUNoaWxkcmVuTm9uSW5saW5lKFJlbmRlckJsb2NrJiBwYXJlbnQsIFJl
bmRlck9iamVjdCogaW5zZXJ0aW9uUG9pbnQpCiB7CiAgICAgLy8gbWFrZUNoaWxkcmVuTm9uSW5s
aW5lIHRha2VzIGEgYmxvY2sgd2hvc2UgY2hpbGRyZW4gYXJlICphbGwqIGlubGluZSBhbmQgaXQK
QEAgLTUxMywxMSArNTIzLDYgQEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6cmVtb3ZlRnJvbVBh
cmVudEFuZERlc3Ryb3lDbGVhbmluZ1VwQW5vbnltb3VzV3JhcHBlcnMoUmUKICAgICAvLyBXQVJO
SU5HOiBjaGlsZCBpcyBkZWxldGVkIGhlcmUuCiB9CiAKLXZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6
Omluc2VydENoaWxkVG9SZW5kZXJJbmxpbmVJZ25vcmluZ0NvbnRpbnVhdGlvbihSZW5kZXJJbmxp
bmUmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQsIFJlbmRlck9iamVjdCog
YmVmb3JlQ2hpbGQpCi17Ci0gICAgaW5saW5lQnVpbGRlcigpLmluc2VydENoaWxkSWdub3JpbmdD
b250aW51YXRpb24ocGFyZW50LCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOwotfQotCiB2
b2lkIFJlbmRlclRyZWVCdWlsZGVyOjp1cGRhdGVBZnRlckRlc2NlbmRhbnRzKFJlbmRlckVsZW1l
bnQmIHJlbmRlcmVyKQogewogICAgIGlmIChpczxSZW5kZXJCbG9jaz4ocmVuZGVyZXIpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWls
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxk
ZXIuaAppbmRleCAyNTYyYWI3NmQzN2ExZjNlYWNiODgyMmU0Y2VmZGI0YzllZmY3OTA0Li5hMjUz
YWJhZjZjM2UzYjc2ODU5ZjlkMmFkN2I5MDNhMzdkM2UzNmRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaApAQCAtNTEs
OCArNTEsOSBAQCBwdWJsaWM6CiAgICAgUmVuZGVyVHJlZUJ1aWxkZXIoUmVuZGVyVmlldyYpOwog
ICAgIH5SZW5kZXJUcmVlQnVpbGRlcigpOwogCi0gICAgdm9pZCBpbnNlcnRDaGlsZChSZW5kZXJF
bGVtZW50JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5kZXJPYmplY3QqIGJl
Zm9yZUNoaWxkID0gbnVsbHB0cik7CiAgICAgdm9pZCBpbnNlcnRDaGlsZChSZW5kZXJUcmVlUG9z
aXRpb24mLCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0Pik7CisgICAgdm9pZCBpbnNlcnRDaGlsZChS
ZW5kZXJFbGVtZW50JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5kZXJPYmpl
Y3QqIGJlZm9yZUNoaWxkID0gbnVsbHB0cik7CisgICAgdm9pZCBpbnNlcnRDaGlsZElnbm9yaW5n
Q29udGludWF0aW9uKFJlbmRlckVsZW1lbnQmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVj
dD4sIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQgPSBudWxscHRyKTsKIAogICAgIFJlbmRlclB0
cjxSZW5kZXJPYmplY3Q+IHRha2VDaGlsZChSZW5kZXJFbGVtZW50JiwgUmVuZGVyT2JqZWN0Jikg
V0FSTl9VTlVTRURfUkVUVVJOOwogCkBAIC02NCw4ICs2NSw2IEBAIHB1YmxpYzoKIAogICAgIC8v
IFRoZXNlIGZ1bmN0aW9ucyBhcmUgdGVtcG9yYXJ5IHVudGlsIGFmdGVyIGFsbCBibG9jay9pbmxp
bmUvY29udGludWF0aW9uIGNvZGUgaXMgbW92ZWQgb3Zlci4KICAgICB2b2lkIGluc2VydENoaWxk
VG9SZW5kZXJFbGVtZW50KFJlbmRlckVsZW1lbnQmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9i
amVjdD4gY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQgPSBudWxscHRyKTsKLSAgICB2
b2lkIGluc2VydENoaWxkVG9SZW5kZXJCbG9ja0lnbm9yaW5nQ29udGludWF0aW9uKFJlbmRlckJs
b2NrJiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5kZXJPYmplY3QqIGJlZm9y
ZUNoaWxkID0gbnVsbHB0cik7Ci0gICAgdm9pZCBpbnNlcnRDaGlsZFRvUmVuZGVySW5saW5lSWdu
b3JpbmdDb250aW51YXRpb24oUmVuZGVySW5saW5lJiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJP
YmplY3Q+LCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gbnVsbHB0cik7CiAKICAgICBSZW5k
ZXJQdHI8UmVuZGVyT2JqZWN0PiB0YWtlQ2hpbGRGcm9tUmVuZGVyRWxlbWVudChSZW5kZXJFbGVt
ZW50JiBwYXJlbnQsIFJlbmRlck9iamVjdCYgY2hpbGQpIFdBUk5fVU5VU0VEX1JFVFVSTjsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVC
dWlsZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVyQmxvY2suY3BwCmluZGV4IDQzZTU3MDY0MDE4ZWRhM2NhMTcwMThjMThmOGYw
M2NiYmEzM2NhNTQuLjE5ZDVhODEwZjEyN2Q5MGFiN2RiMGVjMDlkZTdmYTA4MzA1NDNhYTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVp
bGRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXJCbG9jay5jcHAKQEAgLTEyNCw3ICsxMjQsNyBAQCB2b2lkIFJlbmRlclRy
ZWVCdWlsZGVyOjpCbG9jazo6aW5zZXJ0Q2hpbGRUb0NvbnRpbnVhdGlvbihSZW5kZXJCbG9jayYg
cGFyZW50LCBSZQogICAgIH0KIAogICAgIGlmIChjaGlsZC0+aXNGbG9hdGluZ09yT3V0T2ZGbG93
UG9zaXRpb25lZCgpKSB7Ci0gICAgICAgIGJlZm9yZUNoaWxkUGFyZW50LT5hZGRDaGlsZElnbm9y
aW5nQ29udGludWF0aW9uKG1fYnVpbGRlciwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsK
KyAgICAgICAgbV9idWlsZGVyLmluc2VydENoaWxkSWdub3JpbmdDb250aW51YXRpb24oKmJlZm9y
ZUNoaWxkUGFyZW50LCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCkBAIC0xMzMsMjEgKzEzMywyMSBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVy
OjpCbG9jazo6aW5zZXJ0Q2hpbGRUb0NvbnRpbnVhdGlvbihSZW5kZXJCbG9jayYgcGFyZW50LCBS
ZQogICAgIGJvb2wgZmxvd0lzTm9ybWFsID0gZmxvdy0+aXNJbmxpbmUoKSB8fCAhZmxvdy0+c3R5
bGUoKS5jb2x1bW5TcGFuKCk7CiAKICAgICBpZiAoZmxvdyA9PSBiZWZvcmVDaGlsZFBhcmVudCkg
ewotICAgICAgICBmbG93LT5hZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKG1fYnVpbGRlciwg
V1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKKyAgICAgICAgbV9idWlsZGVyLmluc2VydENo
aWxkSWdub3JpbmdDb250aW51YXRpb24oKmZsb3csIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGls
ZCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBUaGUgZ29hbCBoZXJlIGlzIHRv
IG1hdGNoIHVwIGlmIHdlIGNhbiwgc28gdGhhdCB3ZSBjYW4gY29hbGVzY2UgYW5kIGNyZWF0ZSB0
aGUKICAgICAvLyBtaW5pbWFsICMgb2YgY29udGludWF0aW9ucyBuZWVkZWQgZm9yIHRoZSBpbmxp
bmUuCiAgICAgaWYgKGNoaWxkSXNOb3JtYWwgPT0gYmNwSXNOb3JtYWwpIHsKLSAgICAgICAgYmVm
b3JlQ2hpbGRQYXJlbnQtPmFkZENoaWxkSWdub3JpbmdDb250aW51YXRpb24obV9idWlsZGVyLCBX
VEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOworICAgICAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hp
bGRJZ25vcmluZ0NvbnRpbnVhdGlvbigqYmVmb3JlQ2hpbGRQYXJlbnQsIFdURk1vdmUoY2hpbGQp
LCBiZWZvcmVDaGlsZCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKGZsb3dJc05v
cm1hbCA9PSBjaGlsZElzTm9ybWFsKSB7Ci0gICAgICAgIGZsb3ctPmFkZENoaWxkSWdub3JpbmdD
b250aW51YXRpb24obV9idWlsZGVyLCBXVEZNb3ZlKGNoaWxkKSwgbnVsbHB0cik7IC8vIEp1c3Qg
dHJlYXQgbGlrZSBhbiBhcHBlbmQuCisgICAgICAgIG1fYnVpbGRlci5pbnNlcnRDaGlsZElnbm9y
aW5nQ29udGludWF0aW9uKCpmbG93LCBXVEZNb3ZlKGNoaWxkKSk7IC8vIEp1c3QgdHJlYXQgbGlr
ZSBhbiBhcHBlbmQuCiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgYmVmb3JlQ2hpbGRQYXJl
bnQtPmFkZENoaWxkSWdub3JpbmdDb250aW51YXRpb24obV9idWlsZGVyLCBXVEZNb3ZlKGNoaWxk
KSwgYmVmb3JlQ2hpbGQpOworICAgIG1fYnVpbGRlci5pbnNlcnRDaGlsZElnbm9yaW5nQ29udGlu
dWF0aW9uKCpiZWZvcmVDaGlsZFBhcmVudCwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsK
IH0KIAogdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6QmxvY2s6Omluc2VydENoaWxkSWdub3JpbmdD
b250aW51YXRpb24oUmVuZGVyQmxvY2smIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4g
Y2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNw
cAppbmRleCA5MDRiY2RlZDcxMTM5YTc3YjI0NjBmY2E0ZDIyMTM5NTlkZTMxMjUyLi4xOThhODVh
NmE2NTU4M2JkODdiNjBiOGExZWM3NGIzN2M4Y2I1ZjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGlu
ZS5jcHAKQEAgLTEzOSwyMCArMTM5LDIwIEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6OklubGlu
ZTo6aW5zZXJ0Q2hpbGRUb0NvbnRpbnVhdGlvbihSZW5kZXJJbmxpbmUmIHBhcmVudCwKICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKICAgICBpZiAoY2hpbGQtPmlzRmxvYXRpbmdPck91
dE9mRmxvd1Bvc2l0aW9uZWQoKSkKLSAgICAgICAgcmV0dXJuIGJlZm9yZUNoaWxkQW5jZXN0b3It
PmFkZENoaWxkSWdub3JpbmdDb250aW51YXRpb24obV9idWlsZGVyLCBXVEZNb3ZlKGNoaWxkKSwg
YmVmb3JlQ2hpbGQpOworICAgICAgICByZXR1cm4gbV9idWlsZGVyLmluc2VydENoaWxkSWdub3Jp
bmdDb250aW51YXRpb24oKmJlZm9yZUNoaWxkQW5jZXN0b3IsIFdURk1vdmUoY2hpbGQpLCBiZWZv
cmVDaGlsZCk7CiAKICAgICBpZiAoZmxvdyA9PSBiZWZvcmVDaGlsZEFuY2VzdG9yKQotICAgICAg
ICByZXR1cm4gZmxvdy0+YWRkQ2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihtX2J1aWxkZXIsIFdU
Rk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CisgICAgICAgIHJldHVybiBtX2J1aWxkZXIuaW5z
ZXJ0Q2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbigqZmxvdywgV1RGTW92ZShjaGlsZCksIGJlZm9y
ZUNoaWxkKTsKICAgICAvLyBBIGNvbnRpbnVhdGlvbiBhbHdheXMgY29uc2lzdHMgb2YgdHdvIHBv
dGVudGlhbCBjYW5kaWRhdGVzOiBhbiBpbmxpbmUgb3IgYW4gYW5vbnltb3VzCiAgICAgLy8gYmxv
Y2sgYm94IGhvbGRpbmcgYmxvY2sgY2hpbGRyZW4uCiAgICAgYm9vbCBjaGlsZElubGluZSA9IG5l
d0NoaWxkSXNJbmxpbmUocGFyZW50LCAqY2hpbGQpOwogICAgIC8vIFRoZSBnb2FsIGhlcmUgaXMg
dG8gbWF0Y2ggdXAgaWYgd2UgY2FuLCBzbyB0aGF0IHdlIGNhbiBjb2FsZXNjZSBhbmQgY3JlYXRl
IHRoZQogICAgIC8vIG1pbmltYWwgIyBvZiBjb250aW51YXRpb25zIG5lZWRlZCBmb3IgdGhlIGlu
bGluZS4KICAgICBpZiAoY2hpbGRJbmxpbmUgPT0gYmVmb3JlQ2hpbGRBbmNlc3Rvci0+aXNJbmxp
bmUoKSkKLSAgICAgICAgcmV0dXJuIGJlZm9yZUNoaWxkQW5jZXN0b3ItPmFkZENoaWxkSWdub3Jp
bmdDb250aW51YXRpb24obV9idWlsZGVyLCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOwor
ICAgICAgICByZXR1cm4gbV9idWlsZGVyLmluc2VydENoaWxkSWdub3JpbmdDb250aW51YXRpb24o
KmJlZm9yZUNoaWxkQW5jZXN0b3IsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CiAgICAg
aWYgKGZsb3ctPmlzSW5saW5lKCkgPT0gY2hpbGRJbmxpbmUpCi0gICAgICAgIHJldHVybiBmbG93
LT5hZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKG1fYnVpbGRlciwgV1RGTW92ZShjaGlsZCkp
OyAvLyBKdXN0IHRyZWF0IGxpa2UgYW4gYXBwZW5kLgotICAgIHJldHVybiBiZWZvcmVDaGlsZEFu
Y2VzdG9yLT5hZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKG1fYnVpbGRlciwgV1RGTW92ZShj
aGlsZCksIGJlZm9yZUNoaWxkKTsKKyAgICAgICAgcmV0dXJuIG1fYnVpbGRlci5pbnNlcnRDaGls
ZElnbm9yaW5nQ29udGludWF0aW9uKCpmbG93LCBXVEZNb3ZlKGNoaWxkKSk7IC8vIEp1c3QgdHJl
YXQgbGlrZSBhbiBhcHBlbmQuCisgICAgcmV0dXJuIG1fYnVpbGRlci5pbnNlcnRDaGlsZElnbm9y
aW5nQ29udGludWF0aW9uKCpiZWZvcmVDaGlsZEFuY2VzdG9yLCBXVEZNb3ZlKGNoaWxkKSwgYmVm
b3JlQ2hpbGQpOwogfQogCiB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpJbmxpbmU6Omluc2VydENo
aWxkSWdub3JpbmdDb250aW51YXRpb24oUmVuZGVySW5saW5lJiBwYXJlbnQsIFJlbmRlclB0cjxS
ZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKQpAQCAtMzA2LDcg
KzMwNiw3IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6OklubGluZTo6c3BsaXRJbmxpbmVzKFJl
bmRlcklubGluZSYgcGFyZW50LCBSZW5kZXJCbG9jayoKICAgICAgICAgICAgIC8vIGV2ZXJ5IHRp
bWUsIHdoaWNoIGlzIGEgYml0IHdhc3RlZnVsLgogICAgICAgICB9CiAgICAgICAgIGF1dG8gY2hp
bGRUb01vdmUgPSBtX2J1aWxkZXIudGFrZUNoaWxkRnJvbVJlbmRlckVsZW1lbnQoKnJlbmRlcmVy
VG9Nb3ZlLT5wYXJlbnQoKSwgKnJlbmRlcmVyVG9Nb3ZlKTsKLSAgICAgICAgY2xvbmVJbmxpbmUt
PmFkZENoaWxkSWdub3JpbmdDb250aW51YXRpb24obV9idWlsZGVyLCBXVEZNb3ZlKGNoaWxkVG9N
b3ZlKSk7CisgICAgICAgIG1fYnVpbGRlci5pbnNlcnRDaGlsZElnbm9yaW5nQ29udGludWF0aW9u
KCpjbG9uZUlubGluZSwgV1RGTW92ZShjaGlsZFRvTW92ZSkpOwogICAgICAgICByZW5kZXJlclRv
TW92ZS0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CiAgICAgICAgIHJlbmRl
cmVyVG9Nb3ZlID0gbmV4dFNpYmxpbmc7CiAgICAgfQpAQCAtMzM0LDcgKzMzNCw3IEBAIHZvaWQg
UmVuZGVyVHJlZUJ1aWxkZXI6OklubGluZTo6c3BsaXRJbmxpbmVzKFJlbmRlcklubGluZSYgcGFy
ZW50LCBSZW5kZXJCbG9jayoKICAgICAgICAgICAgIGNsb25lSW5saW5lID0gY2xvbmVBc0NvbnRp
bnVhdGlvbihkb3duY2FzdDxSZW5kZXJJbmxpbmU+KCpjdXJyZW50KSk7CiAKICAgICAgICAgICAg
IC8vIEluc2VydCBvdXIgY2hpbGQgY2xvbmUgYXMgdGhlIGZpcnN0IGNoaWxkLgotICAgICAgICAg
ICAgY2xvbmVJbmxpbmUtPmFkZENoaWxkSWdub3JpbmdDb250aW51YXRpb24obV9idWlsZGVyLCBX
VEZNb3ZlKGNsb25lQ2hpbGQpKTsKKyAgICAgICAgICAgIG1fYnVpbGRlci5pbnNlcnRDaGlsZEln
bm9yaW5nQ29udGludWF0aW9uKCpjbG9uZUlubGluZSwgV1RGTW92ZShjbG9uZUNoaWxkKSk7CiAK
ICAgICAgICAgICAgIC8vIEhvb2sgdGhlIGNsb25lIHVwIGFzIGEgY29udGludWF0aW9uIG9mIHxj
dXJyfC4KICAgICAgICAgICAgIGNsb25lSW5saW5lLT5pbnNlcnRJbnRvQ29udGludWF0aW9uQ2hh
aW5BZnRlcigqY3VycmVudCk7CkBAIC0zNDQsNyArMzQ0LDcgQEAgdm9pZCBSZW5kZXJUcmVlQnVp
bGRlcjo6SW5saW5lOjpzcGxpdElubGluZXMoUmVuZGVySW5saW5lJiBwYXJlbnQsIFJlbmRlckJs
b2NrKgogICAgICAgICAgICAgZm9yIChhdXRvKiBzaWJsaW5nID0gY3VycmVudENoaWxkLT5uZXh0
U2libGluZygpOyBzaWJsaW5nOykgewogICAgICAgICAgICAgICAgIGF1dG8qIG5leHQgPSBzaWJs
aW5nLT5uZXh0U2libGluZygpOwogICAgICAgICAgICAgICAgIGF1dG8gY2hpbGRUb01vdmUgPSBt
X2J1aWxkZXIudGFrZUNoaWxkRnJvbVJlbmRlckVsZW1lbnQoKmN1cnJlbnQsICpzaWJsaW5nKTsK
LSAgICAgICAgICAgICAgICBjbG9uZUlubGluZS0+YWRkQ2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlv
bihtX2J1aWxkZXIsIFdURk1vdmUoY2hpbGRUb01vdmUpKTsKKyAgICAgICAgICAgICAgICBtX2J1
aWxkZXIuaW5zZXJ0Q2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbigqY2xvbmVJbmxpbmUsIFdURk1v
dmUoY2hpbGRUb01vdmUpKTsKICAgICAgICAgICAgICAgICBzaWJsaW5nLT5zZXROZWVkc0xheW91
dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKICAgICAgICAgICAgICAgICBzaWJsaW5nID0gbmV4dDsK
ICAgICAgICAgICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334051</attachid>
            <date>2018-02-16 10:37:29 -0800</date>
            <delta_ts>2018-02-16 12:39:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182876-20180216103728.patch</filename>
            <type>text/plain</type>
            <size>16816</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzU5YmQ1OTI3MWIzYTIz
NTAzODNhYmJhYjBiNTViYjdiY2YxM2FlZC4uNmRiYWQyZDRhOGI4NzRiYzY0YjNmMDM3YmU1ZGJm
M2FlMDMzZmM3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE4LTAyLTE2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIFJlbmRlckJsb2NrL1JlbmRlcklubGluZTo6YWRkQ2hpbGRJZ25vcmluZ0NvbnRpbnVh
dGlvbigpIHRvIFJlbmRlclRyZWVCdWlsZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4NzYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM3NjA3
NjA0PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIE5v
IGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjphZGRDaGlsZElnbm9yaW5n
Q29udGludWF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2su
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJFbGVtZW50OjphZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKTogRGVsZXRl
ZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJJbmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjph
ZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVySW5saW5lLmg6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRy
ZWVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjppbnNl
cnRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRy
ZWVCdWlsZGVyOjppbnNlcnRDaGlsZFRvUmVuZGVyQmxvY2tJZ25vcmluZ0NvbnRpbnVhdGlvbik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6aW5zZXJ0Q2hp
bGRUb1JlbmRlcklubGluZUlnbm9yaW5nQ29udGludWF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAg
KiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6QmxvY2s6Omluc2VydENoaWxkVG9Db250aW51YXRpb24p
OgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6SW5saW5lOjppbnNlcnRD
aGlsZFRvQ29udGludWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVy
OjpJbmxpbmU6OnNwbGl0SW5saW5lcyk6CisKIDIwMTgtMDItMTYgIEZ1amlpIEhpcm9ub3JpICA8
SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgSW5kZXhlZERCOiBTZXZlcmFsIHRl
c3QgY3Jhc2ggaW4gd2hlbiBkZXN0cm95aW5nIGEgSURCS2V5RGF0YQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggMDA5NTQ3NmU5ZGVkMWYwNTcyNjU2NDRjOGFl
MzNkNTFiMWMzNThjZC4uMWIzYjQ2OTkyODlhMDkwNjkyZGM4ZTljZGMwMTNkM2E4NDliMTJiYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC00NjYsMTEgKzQ2
Niw2IEBAIFJlbmRlclB0cjxSZW5kZXJCbG9jaz4gUmVuZGVyQmxvY2s6OmNsb25lKCkgY29uc3QK
ICAgICByZXR1cm4gY2xvbmVCbG9jazsKIH0KIAotdm9pZCBSZW5kZXJCbG9jazo6YWRkQ2hpbGRJ
Z25vcmluZ0NvbnRpbnVhdGlvbihSZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyUHRy
PFJlbmRlck9iamVjdD4gbmV3Q2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCi17Ci0g
ICAgYnVpbGRlci5pbnNlcnRDaGlsZFRvUmVuZGVyQmxvY2tJZ25vcmluZ0NvbnRpbnVhdGlvbigq
dGhpcywgV1RGTW92ZShuZXdDaGlsZCksIGJlZm9yZUNoaWxkKTsKLX0KLQogdm9pZCBSZW5kZXJC
bG9jazo6ZGVsZXRlTGluZXMoKQogewogICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9IGRv
Y3VtZW50KCkuZXhpc3RpbmdBWE9iamVjdENhY2hlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5oCmluZGV4IDUzMzI5Mzc0MTY5OTFhOTBmODc1YTBiZjAyYjQ2NjYxZTRkZDlk
MTAuLjdkZTFkOTk2NGI5NGNiYjg4NWYyYjQyZWZhNmZiNmFhMGExMmQwY2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC0zOTEsNyArMzkxLDYgQEAgcHVibGljOgog
ICAgIAogICAgIHZvaWQgYWRqdXN0Qm9yZGVyQm94UmVjdEZvclBhaW50aW5nKExheW91dFJlY3Qm
KSBvdmVycmlkZTsKICAgICBMYXlvdXRSZWN0IHBhaW50UmVjdFRvQ2xpcE91dEZyb21Cb3JkZXIo
Y29uc3QgTGF5b3V0UmVjdCYpIG92ZXJyaWRlOwotICAgIHZvaWQgYWRkQ2hpbGRJZ25vcmluZ0Nv
bnRpbnVhdGlvbihSZW5kZXJUcmVlQnVpbGRlciYsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IG5l
d0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKSBvdmVycmlkZTsKICAgICBib29sIGlz
SW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gaXNJbmxpbmUo
KSAmJiBpc1JlcGxhY2VkKCk7IH0KICAgICAvLyBGSVhNRS1CTE9DS0ZMT1c6IFJlbW92ZSB2aXJ0
dWFsaXphaW9uIHdoZW4gYWxsIGNhbGxlcnMgaGF2ZSBtb3ZlZCB0byBSZW5kZXJCbG9ja0Zsb3cK
ICAgICB2aXJ0dWFsIHZvaWQgbW92ZUFsbENoaWxkcmVuSW5jbHVkaW5nRmxvYXRzVG8oUmVuZGVy
VHJlZUJ1aWxkZXImIGJ1aWxkZXIsIFJlbmRlckJsb2NrJiB0b0Jsb2NrLCBSZW5kZXJCb3hNb2Rl
bE9iamVjdDo6Tm9ybWFsaXplQWZ0ZXJJbnNlcnRpb24gbm9ybWFsaXplQWZ0ZXJJbnNlcnRpb24p
IHsgbW92ZUFsbENoaWxkcmVuVG8oYnVpbGRlciwgJnRvQmxvY2ssIG5vcm1hbGl6ZUFmdGVySW5z
ZXJ0aW9uKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmlu
ZGV4IGQxZDM4MzVmMmRmMDM4ZDFkZTA2YzlhYzMzOTczZjZiOWVlNjAzYzYuLjUyOTUzM2JhMmU4
NDI4ZTNkOGRjYTkwNGQyYTdhNTM1MWQ0ZjdkYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTQ3NiwxMSArNDc2LDYgQEAgdm9pZCBSZW5kZXJFbGVt
ZW50OjphZGRDaGlsZChSZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyUHRyPFJlbmRl
ck9iamVjdD4KICAgICBTVkdSZW5kZXJTdXBwb3J0OjpjaGlsZEFkZGVkKCp0aGlzLCBjaGlsZCk7
CiB9CiAKLXZvaWQgUmVuZGVyRWxlbWVudDo6YWRkQ2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihS
ZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gbmV3Q2hp
bGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCi17Ci0gICAgYnVpbGRlci5pbnNlcnRDaGls
ZCgqdGhpcywgV1RGTW92ZShuZXdDaGlsZCksIGJlZm9yZUNoaWxkKTsKLX0KLQogdm9pZCBSZW5k
ZXJFbGVtZW50OjpyZW1vdmVBbmREZXN0cm95Q2hpbGQoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxk
ZXIsIFJlbmRlck9iamVjdCYgb2xkQ2hpbGQpCiB7CiAgICAgaWYgKGlzPFJlbmRlckVsZW1lbnQ+
KG9sZENoaWxkKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5k
ZXggY2I4YzU4YjYzZjk2NWVkOTMyYWVlMTFjYTk2MzkwNWZmZDU1MTMxMi4uNzJjZWY5YTZjY2U4
NDViOWE3NDJjNDI5MWJlMDQ4NzNlZjE5Y2RhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5oCkBAIC04OCw3ICs4OCw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwg
Ym9vbCBpc0NoaWxkQWxsb3dlZChjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBSZW5kZXJTdHls
ZSYpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgYWRkQ2hpbGQoUmVu
ZGVyVHJlZUJ1aWxkZXImLCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiwgUmVuZGVyT2JqZWN0KiBi
ZWZvcmVDaGlsZCk7Ci0gICAgdmlydHVhbCB2b2lkIGFkZENoaWxkSWdub3JpbmdDb250aW51YXRp
b24oUmVuZGVyVHJlZUJ1aWxkZXImLCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBuZXdDaGlsZCwg
UmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IG51bGxwdHIpOwogICAgIHZvaWQgcmVtb3ZlQW5k
RGVzdHJveUNoaWxkKFJlbmRlclRyZWVCdWlsZGVyJiwgUmVuZGVyT2JqZWN0Jik7CiAKICAgICAv
LyBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhcmUgdXNlZCB3aGVuIHRoZSByZW5kZXIgdHJlZSBo
aWVyYXJjaHkgY2hhbmdlcyB0byBtYWtlIHN1cmUgbGF5ZXJzIGdldApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAppbmRleCBhNGExNTJlZWNkNGEzOGQzYTljODQxNThj
MWMxNWFkMmVkNDMwMGYzLi4yNTRhOGU4NGUwODIyMzJhZTVmZTQxMGRlYjQ0ODU5ODZiMzZlMWE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcApAQCAtMjU1LDEx
ICsyNTUsNiBAQCBMYXlvdXRSZWN0IFJlbmRlcklubGluZTo6bG9jYWxDYXJldFJlY3QoSW5saW5l
Qm94KiBpbmxpbmVCb3gsIHVuc2lnbmVkLCBMYXlvdXRVbgogICAgIHJldHVybiBjYXJldFJlY3Q7
CiB9CiAKLXZvaWQgUmVuZGVySW5saW5lOjphZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKFJl
bmRlclRyZWVCdWlsZGVyJiBidWlsZGVyLCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBuZXdDaGls
ZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKLXsKLSAgICBidWlsZGVyLmluc2VydENoaWxk
VG9SZW5kZXJJbmxpbmVJZ25vcmluZ0NvbnRpbnVhdGlvbigqdGhpcywgV1RGTW92ZShuZXdDaGls
ZCksIGJlZm9yZUNoaWxkKTsKLX0KLQogdm9pZCBSZW5kZXJJbmxpbmU6OnBhaW50KFBhaW50SW5m
byYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiB7CiAgICAgbV9s
aW5lQm94ZXMucGFpbnQodGhpcywgcGFpbnRJbmZvLCBwYWludE9mZnNldCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgKaW5kZXggNThkYjk2MzdlMTRkYzZiMzc5MDU4MDcz
MDEzY2ZhMmQyM2QzYmQ1NS4uYTMzMjM0MGY5M2JmNDU2YWI2ZDM5Y2VlZTM1ODc0OTkxZmVmOTE4
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaApAQCAtOTIsOCArOTIs
NiBAQCBwdWJsaWM6CiAKICAgICBib29sIGhpdFRlc3RDdWxsZWRJbmxpbmUoY29uc3QgSGl0VGVz
dFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlv
bkluQ29udGFpbmVyLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpOwogCi0g
ICAgdm9pZCBhZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKFJlbmRlclRyZWVCdWlsZGVyJiwg
UmVuZGVyUHRyPFJlbmRlck9iamVjdD4gbmV3Q2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hp
bGQgPSBudWxscHRyKSBmaW5hbDsKLQogcHJvdGVjdGVkOgogICAgIHZvaWQgd2lsbEJlRGVzdHJv
eWVkKFJlbmRlclRyZWVCdWlsZGVyJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCmluZGV4IDY1
M2M2NjVhYjI2NzFmOTBiY2JjNGY5NmQ3NDA2YzFhZjQzM2VmYTguLjlmNjM3ZWQ4OTRjZmMzZTNi
NzI0ODBlNjViZWE5YWE4N2Y2NDVhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcApAQCAtMjU4LDYgKzI1OCwy
MSBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjppbnNlcnRDaGlsZChSZW5kZXJFbGVtZW50JiBw
YXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplYwogICAgIHBhcmVudC5hZGRDaGlsZCgqdGhpcywg
V1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKIH0KIAordm9pZCBSZW5kZXJUcmVlQnVpbGRl
cjo6aW5zZXJ0Q2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihSZW5kZXJFbGVtZW50JiBwYXJlbnQs
IFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxk
KQoreworICAgIGlmIChpczxSZW5kZXJJbmxpbmU+KHBhcmVudCkpIHsKKyAgICAgICAgaW5saW5l
QnVpbGRlcigpLmluc2VydENoaWxkSWdub3JpbmdDb250aW51YXRpb24oZG93bmNhc3Q8UmVuZGVy
SW5saW5lPihwYXJlbnQpLCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgaWYgKGlzPFJlbmRlckJsb2NrPihwYXJlbnQpKSB7CisgICAg
ICAgIGJsb2NrQnVpbGRlcigpLmluc2VydENoaWxkSWdub3JpbmdDb250aW51YXRpb24oZG93bmNh
c3Q8UmVuZGVyQmxvY2s+KHBhcmVudCksIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpbnNlcnRDaGlsZChwYXJlbnQsIFdURk1vdmUo
Y2hpbGQpLCBiZWZvcmVDaGlsZCk7Cit9CisKIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IFJlbmRl
clRyZWVCdWlsZGVyOjp0YWtlQ2hpbGQoUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5kZXJPYmpl
Y3QmIGNoaWxkKQogewogICAgIGlmIChpczxSZW5kZXJSdWJ5QXNJbmxpbmU+KHBhcmVudCkpCkBA
IC0zMjMsMTEgKzMzOCw2IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkVG9S
ZW5kZXJFbGVtZW50KFJlbmRlckVsZW1lbnQmIHBhcmVudCwgUmVuZGVyCiAgICAgcGFyZW50LlJl
bmRlckVsZW1lbnQ6Omluc2VydENoaWxkSW50ZXJuYWwoV1RGTW92ZShjaGlsZCksIGJlZm9yZUNo
aWxkKTsKIH0KIAotdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6aW5zZXJ0Q2hpbGRUb1JlbmRlckJs
b2NrSWdub3JpbmdDb250aW51YXRpb24oUmVuZGVyQmxvY2smIHBhcmVudCwgUmVuZGVyUHRyPFJl
bmRlck9iamVjdD4gY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCi17Ci0gICAgYmxv
Y2tCdWlsZGVyKCkuaW5zZXJ0Q2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihwYXJlbnQsIFdURk1v
dmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7Ci19Ci0KIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Om1h
a2VDaGlsZHJlbk5vbklubGluZShSZW5kZXJCbG9jayYgcGFyZW50LCBSZW5kZXJPYmplY3QqIGlu
c2VydGlvblBvaW50KQogewogICAgIC8vIG1ha2VDaGlsZHJlbk5vbklubGluZSB0YWtlcyBhIGJs
b2NrIHdob3NlIGNoaWxkcmVuIGFyZSAqYWxsKiBpbmxpbmUgYW5kIGl0CkBAIC01MTMsMTEgKzUy
Myw2IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6OnJlbW92ZUZyb21QYXJlbnRBbmREZXN0cm95
Q2xlYW5pbmdVcEFub255bW91c1dyYXBwZXJzKFJlCiAgICAgLy8gV0FSTklORzogY2hpbGQgaXMg
ZGVsZXRlZCBoZXJlLgogfQogCi12b2lkIFJlbmRlclRyZWVCdWlsZGVyOjppbnNlcnRDaGlsZFRv
UmVuZGVySW5saW5lSWdub3JpbmdDb250aW51YXRpb24oUmVuZGVySW5saW5lJiBwYXJlbnQsIFJl
bmRlclB0cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKQot
ewotICAgIGlubGluZUJ1aWxkZXIoKS5pbnNlcnRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKHBh
cmVudCwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKLX0KLQogdm9pZCBSZW5kZXJUcmVl
QnVpbGRlcjo6dXBkYXRlQWZ0ZXJEZXNjZW5kYW50cyhSZW5kZXJFbGVtZW50JiByZW5kZXJlcikK
IHsKICAgICBpZiAoaXM8UmVuZGVyQmxvY2s+KHJlbmRlcmVyKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmgKaW5kZXggMjU2
MmFiNzZkMzdhMWYzZWFjYjg4MjJlNGNlZmRiNGM5ZWZmNzkwNC4uYTI1M2FiYWY2YzNlM2I3Njg1
OWY5ZDJhZDdiOTAzYTM3ZDNlMzZkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmgKQEAgLTUxLDggKzUxLDkgQEAgcHVi
bGljOgogICAgIFJlbmRlclRyZWVCdWlsZGVyKFJlbmRlclZpZXcmKTsKICAgICB+UmVuZGVyVHJl
ZUJ1aWxkZXIoKTsKIAotICAgIHZvaWQgaW5zZXJ0Q2hpbGQoUmVuZGVyRWxlbWVudCYgcGFyZW50
LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IG51
bGxwdHIpOwogICAgIHZvaWQgaW5zZXJ0Q2hpbGQoUmVuZGVyVHJlZVBvc2l0aW9uJiwgUmVuZGVy
UHRyPFJlbmRlck9iamVjdD4pOworICAgIHZvaWQgaW5zZXJ0Q2hpbGQoUmVuZGVyRWxlbWVudCYg
cGFyZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGls
ZCA9IG51bGxwdHIpOworICAgIHZvaWQgaW5zZXJ0Q2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihS
ZW5kZXJFbGVtZW50JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5kZXJPYmpl
Y3QqIGJlZm9yZUNoaWxkID0gbnVsbHB0cik7CiAKICAgICBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0
PiB0YWtlQ2hpbGQoUmVuZGVyRWxlbWVudCYsIFJlbmRlck9iamVjdCYpIFdBUk5fVU5VU0VEX1JF
VFVSTjsKIApAQCAtNjQsOCArNjUsNiBAQCBwdWJsaWM6CiAKICAgICAvLyBUaGVzZSBmdW5jdGlv
bnMgYXJlIHRlbXBvcmFyeSB1bnRpbCBhZnRlciBhbGwgYmxvY2svaW5saW5lL2NvbnRpbnVhdGlv
biBjb2RlIGlzIG1vdmVkIG92ZXIuCiAgICAgdm9pZCBpbnNlcnRDaGlsZFRvUmVuZGVyRWxlbWVu
dChSZW5kZXJFbGVtZW50JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBS
ZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gbnVsbHB0cik7Ci0gICAgdm9pZCBpbnNlcnRDaGls
ZFRvUmVuZGVyQmxvY2tJZ25vcmluZ0NvbnRpbnVhdGlvbihSZW5kZXJCbG9jayYgcGFyZW50LCBS
ZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IG51bGxw
dHIpOwotICAgIHZvaWQgaW5zZXJ0Q2hpbGRUb1JlbmRlcklubGluZUlnbm9yaW5nQ29udGludWF0
aW9uKFJlbmRlcklubGluZSYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiwgUmVuZGVy
T2JqZWN0KiBiZWZvcmVDaGlsZCA9IG51bGxwdHIpOwogCiAgICAgUmVuZGVyUHRyPFJlbmRlck9i
amVjdD4gdGFrZUNoaWxkRnJvbVJlbmRlckVsZW1lbnQoUmVuZGVyRWxlbWVudCYgcGFyZW50LCBS
ZW5kZXJPYmplY3QmIGNoaWxkKSBXQVJOX1VOVVNFRF9SRVRVUk47CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJs
b2NrLmNwcAppbmRleCA0M2U1NzA2NDAxOGVkYTNjYTE3MDE4YzE4ZjhmMDNjYmJhMzNjYTU0Li4x
OWQ1YTgxMGYxMjdkOTBhYjdkYjBlYzA5ZGU3ZmEwODMwNTQzYWEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVy
QmxvY2suY3BwCkBAIC0xMjQsNyArMTI0LDcgQEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6Qmxv
Y2s6Omluc2VydENoaWxkVG9Db250aW51YXRpb24oUmVuZGVyQmxvY2smIHBhcmVudCwgUmUKICAg
ICB9CiAKICAgICBpZiAoY2hpbGQtPmlzRmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKSkg
ewotICAgICAgICBiZWZvcmVDaGlsZFBhcmVudC0+YWRkQ2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlv
bihtX2J1aWxkZXIsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CisgICAgICAgIG1fYnVp
bGRlci5pbnNlcnRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKCpiZWZvcmVDaGlsZFBhcmVudCwg
V1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApA
QCAtMTMzLDIxICsxMzMsMjEgQEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6QmxvY2s6Omluc2Vy
dENoaWxkVG9Db250aW51YXRpb24oUmVuZGVyQmxvY2smIHBhcmVudCwgUmUKICAgICBib29sIGZs
b3dJc05vcm1hbCA9IGZsb3ctPmlzSW5saW5lKCkgfHwgIWZsb3ctPnN0eWxlKCkuY29sdW1uU3Bh
bigpOwogCiAgICAgaWYgKGZsb3cgPT0gYmVmb3JlQ2hpbGRQYXJlbnQpIHsKLSAgICAgICAgZmxv
dy0+YWRkQ2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihtX2J1aWxkZXIsIFdURk1vdmUoY2hpbGQp
LCBiZWZvcmVDaGlsZCk7CisgICAgICAgIG1fYnVpbGRlci5pbnNlcnRDaGlsZElnbm9yaW5nQ29u
dGludWF0aW9uKCpmbG93LCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCiAgICAgLy8gVGhlIGdvYWwgaGVyZSBpcyB0byBtYXRjaCB1cCBpZiB3
ZSBjYW4sIHNvIHRoYXQgd2UgY2FuIGNvYWxlc2NlIGFuZCBjcmVhdGUgdGhlCiAgICAgLy8gbWlu
aW1hbCAjIG9mIGNvbnRpbnVhdGlvbnMgbmVlZGVkIGZvciB0aGUgaW5saW5lLgogICAgIGlmIChj
aGlsZElzTm9ybWFsID09IGJjcElzTm9ybWFsKSB7Ci0gICAgICAgIGJlZm9yZUNoaWxkUGFyZW50
LT5hZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKG1fYnVpbGRlciwgV1RGTW92ZShjaGlsZCks
IGJlZm9yZUNoaWxkKTsKKyAgICAgICAgbV9idWlsZGVyLmluc2VydENoaWxkSWdub3JpbmdDb250
aW51YXRpb24oKmJlZm9yZUNoaWxkUGFyZW50LCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmIChmbG93SXNOb3JtYWwgPT0gY2hpbGRJ
c05vcm1hbCkgewotICAgICAgICBmbG93LT5hZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKG1f
YnVpbGRlciwgV1RGTW92ZShjaGlsZCksIG51bGxwdHIpOyAvLyBKdXN0IHRyZWF0IGxpa2UgYW4g
YXBwZW5kLgorICAgICAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlv
bigqZmxvdywgV1RGTW92ZShjaGlsZCkpOyAvLyBKdXN0IHRyZWF0IGxpa2UgYW4gYXBwZW5kLgog
ICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGJlZm9yZUNoaWxkUGFyZW50LT5hZGRDaGlsZEln
bm9yaW5nQ29udGludWF0aW9uKG1fYnVpbGRlciwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxk
KTsKKyAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbigqYmVmb3Jl
Q2hpbGRQYXJlbnQsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CiB9CiAKIHZvaWQgUmVu
ZGVyVHJlZUJ1aWxkZXI6OkJsb2NrOjppbnNlcnRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKFJl
bmRlckJsb2NrJiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJP
YmplY3QqIGJlZm9yZUNoaWxkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKaW5kZXggOTA0YmNk
ZWQ3MTEzOWE3N2IyNDYwZmNhNGQyMjEzOTU5ZGUzMTI1Mi4uMTk4YTg1YTZhNjU1ODNiZDg3YjYw
YjhhMWVjNzRiMzdjOGNiNWYxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCkBAIC0xMzks
MjAgKzEzOSwyMCBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpJbmxpbmU6Omluc2VydENoaWxk
VG9Db250aW51YXRpb24oUmVuZGVySW5saW5lJiBwYXJlbnQsCiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogCiAgICAgaWYgKGNoaWxkLT5pc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlv
bmVkKCkpCi0gICAgICAgIHJldHVybiBiZWZvcmVDaGlsZEFuY2VzdG9yLT5hZGRDaGlsZElnbm9y
aW5nQ29udGludWF0aW9uKG1fYnVpbGRlciwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsK
KyAgICAgICAgcmV0dXJuIG1fYnVpbGRlci5pbnNlcnRDaGlsZElnbm9yaW5nQ29udGludWF0aW9u
KCpiZWZvcmVDaGlsZEFuY2VzdG9yLCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOwogCiAg
ICAgaWYgKGZsb3cgPT0gYmVmb3JlQ2hpbGRBbmNlc3RvcikKLSAgICAgICAgcmV0dXJuIGZsb3ct
PmFkZENoaWxkSWdub3JpbmdDb250aW51YXRpb24obV9idWlsZGVyLCBXVEZNb3ZlKGNoaWxkKSwg
YmVmb3JlQ2hpbGQpOworICAgICAgICByZXR1cm4gbV9idWlsZGVyLmluc2VydENoaWxkSWdub3Jp
bmdDb250aW51YXRpb24oKmZsb3csIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CiAgICAg
Ly8gQSBjb250aW51YXRpb24gYWx3YXlzIGNvbnNpc3RzIG9mIHR3byBwb3RlbnRpYWwgY2FuZGlk
YXRlczogYW4gaW5saW5lIG9yIGFuIGFub255bW91cwogICAgIC8vIGJsb2NrIGJveCBob2xkaW5n
IGJsb2NrIGNoaWxkcmVuLgogICAgIGJvb2wgY2hpbGRJbmxpbmUgPSBuZXdDaGlsZElzSW5saW5l
KHBhcmVudCwgKmNoaWxkKTsKICAgICAvLyBUaGUgZ29hbCBoZXJlIGlzIHRvIG1hdGNoIHVwIGlm
IHdlIGNhbiwgc28gdGhhdCB3ZSBjYW4gY29hbGVzY2UgYW5kIGNyZWF0ZSB0aGUKICAgICAvLyBt
aW5pbWFsICMgb2YgY29udGludWF0aW9ucyBuZWVkZWQgZm9yIHRoZSBpbmxpbmUuCiAgICAgaWYg
KGNoaWxkSW5saW5lID09IGJlZm9yZUNoaWxkQW5jZXN0b3ItPmlzSW5saW5lKCkpCi0gICAgICAg
IHJldHVybiBiZWZvcmVDaGlsZEFuY2VzdG9yLT5hZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9u
KG1fYnVpbGRlciwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKKyAgICAgICAgcmV0dXJu
IG1fYnVpbGRlci5pbnNlcnRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKCpiZWZvcmVDaGlsZEFu
Y2VzdG9yLCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOwogICAgIGlmIChmbG93LT5pc0lu
bGluZSgpID09IGNoaWxkSW5saW5lKQotICAgICAgICByZXR1cm4gZmxvdy0+YWRkQ2hpbGRJZ25v
cmluZ0NvbnRpbnVhdGlvbihtX2J1aWxkZXIsIFdURk1vdmUoY2hpbGQpKTsgLy8gSnVzdCB0cmVh
dCBsaWtlIGFuIGFwcGVuZC4KLSAgICByZXR1cm4gYmVmb3JlQ2hpbGRBbmNlc3Rvci0+YWRkQ2hp
bGRJZ25vcmluZ0NvbnRpbnVhdGlvbihtX2J1aWxkZXIsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVD
aGlsZCk7CisgICAgICAgIHJldHVybiBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGRJZ25vcmluZ0NvbnRp
bnVhdGlvbigqZmxvdywgV1RGTW92ZShjaGlsZCkpOyAvLyBKdXN0IHRyZWF0IGxpa2UgYW4gYXBw
ZW5kLgorICAgIHJldHVybiBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlv
bigqYmVmb3JlQ2hpbGRBbmNlc3RvciwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKIH0K
IAogdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6SW5saW5lOjppbnNlcnRDaGlsZElnbm9yaW5nQ29u
dGludWF0aW9uKFJlbmRlcklubGluZSYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBj
aGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKQEAgLTMwNiw3ICszMDYsNyBAQCB2b2lk
IFJlbmRlclRyZWVCdWlsZGVyOjpJbmxpbmU6OnNwbGl0SW5saW5lcyhSZW5kZXJJbmxpbmUmIHBh
cmVudCwgUmVuZGVyQmxvY2sqCiAgICAgICAgICAgICAvLyBldmVyeSB0aW1lLCB3aGljaCBpcyBh
IGJpdCB3YXN0ZWZ1bC4KICAgICAgICAgfQogICAgICAgICBhdXRvIGNoaWxkVG9Nb3ZlID0gbV9i
dWlsZGVyLnRha2VDaGlsZEZyb21SZW5kZXJFbGVtZW50KCpyZW5kZXJlclRvTW92ZS0+cGFyZW50
KCksICpyZW5kZXJlclRvTW92ZSk7Ci0gICAgICAgIGNsb25lSW5saW5lLT5hZGRDaGlsZElnbm9y
aW5nQ29udGludWF0aW9uKG1fYnVpbGRlciwgV1RGTW92ZShjaGlsZFRvTW92ZSkpOworICAgICAg
ICBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbigqY2xvbmVJbmxpbmUs
IFdURk1vdmUoY2hpbGRUb01vdmUpKTsKICAgICAgICAgcmVuZGVyZXJUb01vdmUtPnNldE5lZWRz
TGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOwogICAgICAgICByZW5kZXJlclRvTW92ZSA9IG5l
eHRTaWJsaW5nOwogICAgIH0KQEAgLTMzNCw3ICszMzQsNyBAQCB2b2lkIFJlbmRlclRyZWVCdWls
ZGVyOjpJbmxpbmU6OnNwbGl0SW5saW5lcyhSZW5kZXJJbmxpbmUmIHBhcmVudCwgUmVuZGVyQmxv
Y2sqCiAgICAgICAgICAgICBjbG9uZUlubGluZSA9IGNsb25lQXNDb250aW51YXRpb24oZG93bmNh
c3Q8UmVuZGVySW5saW5lPigqY3VycmVudCkpOwogCiAgICAgICAgICAgICAvLyBJbnNlcnQgb3Vy
IGNoaWxkIGNsb25lIGFzIHRoZSBmaXJzdCBjaGlsZC4KLSAgICAgICAgICAgIGNsb25lSW5saW5l
LT5hZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKG1fYnVpbGRlciwgV1RGTW92ZShjbG9uZUNo
aWxkKSk7CisgICAgICAgICAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGRJZ25vcmluZ0NvbnRpbnVh
dGlvbigqY2xvbmVJbmxpbmUsIFdURk1vdmUoY2xvbmVDaGlsZCkpOwogCiAgICAgICAgICAgICAv
LyBIb29rIHRoZSBjbG9uZSB1cCBhcyBhIGNvbnRpbnVhdGlvbiBvZiB8Y3VycnwuCiAgICAgICAg
ICAgICBjbG9uZUlubGluZS0+aW5zZXJ0SW50b0NvbnRpbnVhdGlvbkNoYWluQWZ0ZXIoKmN1cnJl
bnQpOwpAQCAtMzQ0LDcgKzM0NCw3IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6OklubGluZTo6
c3BsaXRJbmxpbmVzKFJlbmRlcklubGluZSYgcGFyZW50LCBSZW5kZXJCbG9jayoKICAgICAgICAg
ICAgIGZvciAoYXV0byogc2libGluZyA9IGN1cnJlbnRDaGlsZC0+bmV4dFNpYmxpbmcoKTsgc2li
bGluZzspIHsKICAgICAgICAgICAgICAgICBhdXRvKiBuZXh0ID0gc2libGluZy0+bmV4dFNpYmxp
bmcoKTsKICAgICAgICAgICAgICAgICBhdXRvIGNoaWxkVG9Nb3ZlID0gbV9idWlsZGVyLnRha2VD
aGlsZEZyb21SZW5kZXJFbGVtZW50KCpjdXJyZW50LCAqc2libGluZyk7Ci0gICAgICAgICAgICAg
ICAgY2xvbmVJbmxpbmUtPmFkZENoaWxkSWdub3JpbmdDb250aW51YXRpb24obV9idWlsZGVyLCBX
VEZNb3ZlKGNoaWxkVG9Nb3ZlKSk7CisgICAgICAgICAgICAgICAgbV9idWlsZGVyLmluc2VydENo
aWxkSWdub3JpbmdDb250aW51YXRpb24oKmNsb25lSW5saW5lLCBXVEZNb3ZlKGNoaWxkVG9Nb3Zl
KSk7CiAgICAgICAgICAgICAgICAgc2libGluZy0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhz
UmVjYWxjKCk7CiAgICAgICAgICAgICAgICAgc2libGluZyA9IG5leHQ7CiAgICAgICAgICAgICB9
Cg==
</data>
<flag name="commit-queue"
          id="352845"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>