<?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>164063</bug_id>
          
          <creation_ts>2016-10-27 09:20:17 -0700</creation_ts>
          <short_desc>Merge Element::ShadowRootMode and ShadowRoot::Mode enumerations</short_desc>
          <delta_ts>2016-10-27 13:26:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>164025</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1245144</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-27 09:20:17 -0700</bug_when>
    <thetext>Merge Element::ShadowRootMode and ShadowRoot::Mode enumerations now that we support having IDL string enumerations in their own IDL file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245156</commentid>
    <comment_count>1</comment_count>
      <attachid>293030</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-27 09:59:15 -0700</bug_when>
    <thetext>Created attachment 293030
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245226</commentid>
    <comment_count>2</comment_count>
      <attachid>293030</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-27 13:25:58 -0700</bug_when>
    <thetext>Comment on attachment 293030
Patch

Clearing flags on attachment: 293030

Committed r208001: &lt;http://trac.webkit.org/changeset/208001&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245227</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-27 13:26:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293030</attachid>
            <date>2016-10-27 09:59:15 -0700</date>
            <delta_ts>2016-10-27 13:25:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164063-20161027095526.patch</filename>
            <type>text/plain</type>
            <size>35737</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3OTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQ4N2I0N2NhNjU5ZjM5
NTY4NTcwMjQ4MzhhMDcxM2RlZTJkNjA5MC4uNzBhNThiZGZhZjg1MDJhMjJlNzAyOTkxZmYzM2U3
ZmI1YWRmMzIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDE2LTEwLTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTWVyZ2UgRWxlbWVudDo6U2hh
ZG93Um9vdE1vZGUgYW5kIFNoYWRvd1Jvb3Q6Ok1vZGUgZW51bWVyYXRpb25zCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQwNjMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNZXJnZSBFbGVtZW50OjpTaGFk
b3dSb290TW9kZSBhbmQgU2hhZG93Um9vdDo6TW9kZSBlbnVtZXJhdGlvbnMgbm93CisgICAgICAg
IHRoYXQgd2Ugc3VwcG9ydCBoYXZpbmcgSURMIHN0cmluZyBlbnVtZXJhdGlvbnMgaW4gdGhlaXIg
b3duIElETCBmaWxlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gV2ViLWV4cG9zZWQgYmVo
YXZpb3IgY2hhbmdlLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9FbGVt
ZW50UnVsZUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UnVsZUNvbGxl
Y3Rvcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJ1
bGVDb2xsZWN0b3I6Om1hdGNoQXV0aG9yU2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hpbmdTaGFkb3dQ
c2V1ZG9FbGVtZW50UnVsZXMpOgorICAgICAgICAqIGNzcy9TZWxlY3RvckNoZWNrZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5KToKKyAg
ICAgICAgKiBkb20vQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmVucXVldWVVcGdyYWRlSW5TaGFkb3dJbmNsdWRpbmdUcmVlT3JkZXIpOgorICAgICAgICAqIGRv
bS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmJpbmRpbmdzT2Zmc2V0
UGFyZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmFkZFNoYWRvd1Jvb3QpOgorICAg
ICAgICAoV2ViQ29yZTo6RWxlbWVudDo6YXR0YWNoU2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OnNoYWRvd1Jvb3RGb3JCaW5kaW5ncyk6CisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50Ojp1c2VyQWdlbnRTaGFkb3dSb290KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmVu
c3VyZVVzZXJBZ2VudFNoYWRvd1Jvb3QpOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAg
ICAgICogZG9tL0VsZW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9JbmxpbmVTdHlsZVNoZWV0T3du
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VyQ29udGV4dEZvckVsZW1lbnQpOgorICAg
ICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmlzVW5jbG9zZWRO
b2RlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmFzc2lnbmVkU2xvdEZvckJpbmRpbmdzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKToKKyAgICAg
ICAgKiBkb20vU2hhZG93Um9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpT
aGFkb3dSb290KToKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5oOgorICAgICAgICAqIGRvbS9T
aGFkb3dSb290LmlkbDoKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdE1vZGUuaDogQWRkZWQuCisg
ICAgICAgICogZG9tL1NoYWRvd1Jvb3RNb2RlLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvZG9tL1NoYWRvd1Jvb3QuaWRsLgorICAgICAgICAqIGRvbS9TbG90QXNzaWdubWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTbG90QXNzaWdubWVudDo6ZGlkQ2hhbmdlU2xvdCk6CisgICAg
ICAgICogaHRtbC9IVE1MU3VtbWFyeUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFN1bW1hcnlFbGVtZW50OjpjcmVhdGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaGFkb3dSb290VHlwZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bW92ZU91
dE9mVXNlckFnZW50U2hhZG93VHJlZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6c2VsZWN0aW9uUHNldWRv
U3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpyZW5kZXJlckZvclNjcm9sbGJhcik6CisgICAgICAgICogc3R5bGUvU3R5bGVTY29w
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6U2NvcGU6OnNob3VsZFVzZVNoYXJlZFVz
ZXJBZ2VudFNoYWRvd1RyZWVTdHlsZVJlc29sdmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
OjpTY29wZTo6ZGlkQ2hhbmdlU3R5bGVTaGVldEVudmlyb25tZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50Ojpjb3JyZXNwb25k
aW5nVXNlRWxlbWVudCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzaGFkb3dSb290VHlwZSk6CisKIDIwMTYtMTAtMjcgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjIw
Nzc1My0yMDc3NTUpOiBBU1NFUlRJT04gRkFJTEVEOiBtX3BhcnNlZFN0eWxlU2hlZXRDYWNoZS0+
aXNJbk1lbW9yeUNhY2hlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMmU3NjFjMjkxNGVmZGJm
NmFjNzY4NWFhZWFkNDVlZmVjZTkwYWQxYi4uN2NlZjI4NGYzZjU5ZTQ4ODVhOTE4YWI5OTE2MWNl
MzZmYjZiNWIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ0NSw2ICs0NDUsNyBAQCBzZXQo
V2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGRvbS9SZXF1ZXN0QW5pbWF0aW9uRnJhbWVD
YWxsYmFjay5pZGwKICAgICBkb20vU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5pZGwKICAg
ICBkb20vU2hhZG93Um9vdC5pZGwKKyAgICBkb20vU2hhZG93Um9vdE1vZGUuaWRsCiAgICAgZG9t
L1Nsb3RhYmxlLmlkbAogICAgIGRvbS9TdGF0aWNSYW5nZS5pZGwKICAgICBkb20vU3RyaW5nQ2Fs
bGJhY2suaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggYWYwM2E4NTE4ZTNhOGUy
MDRiMDRiM2Y0ZTQ1ZTFiOGViMjRhYmVlZS4uOTNjNjFlMjljMDJkNjYxYjU0MTU1ZTk1MDYyYjBl
NWQxODg5ZTExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtNTgxLDYgKzU4MSw3
IEBACiAjaW5jbHVkZSAiSlNTVkdab29tQW5kUGFuLmNwcCIKICNpbmNsdWRlICJKU1NWR1pvb21F
dmVudC5jcHAiCiAjaW5jbHVkZSAiSlNTaGFkb3dSb290LmNwcCIKKyNpbmNsdWRlICJKU1NoYWRv
d1Jvb3RNb2RlLmNwcCIKICNpbmNsdWRlICJKU1N0b3JhZ2UuY3BwIgogI2lmIEVOQUJMRShRVU9U
QSkKICNpbmNsdWRlICJKU1N0b3JhZ2VFcnJvckNhbGxiYWNrLmNwcCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCmluZGV4IGYwODI3M2MwZTk4YWZmNzdmNjJkYTk3NGU5OTA4OTY3ZGU4MGZl
MDYuLmEyMzYyNDVmNTI1ODUzZGYxNDkyYzEyMWZmMjAzNzljNjYxNGMwZTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzU2LDYgKzM1Niw3IEBAIEpTX0JJTkRJTkdfSURMUyA9
IFwKICAgICAkKFdlYkNvcmUpL2RvbS9SZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5pZGwg
XAogICAgICQoV2ViQ29yZSkvZG9tL1NlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2RvbS9TaGFkb3dSb290LmlkbCBcCisgICAgJChXZWJDb3JlKS9kb20v
U2hhZG93Um9vdE1vZGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9TbG90YWJsZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvZG9tL1N0YXRpY1JhbmdlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20v
U3RyaW5nQ2FsbGJhY2suaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyYzIwNGM3NDdlZWM5YWIwMTkzYWUwNzMwNTIyNmM4
M2M0NmE4MDA0Li4xNTlhNmViMzYxM2Y5ZGI4MTY0MmQwNWRhNDg3YTllNzE2ZjMwMzExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xNzY1LDYgKzE3NjUsOSBAQAogCQk0NkM4M0VGRTFBOUJCRTI5MDBBNzlBNDEgLyogR2VvTm90
aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2
QzgzRUZDMUE5QkJFMjkwMEE3OUE0MSAvKiBHZW9Ob3RpZmllci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2REI3RDU3MUIyMEZFNDYwMDU2NTFC
MiAvKiBWTm9kZVRyYWNrZXJDb2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NkRCN0Q1NjFCMjBGRTNDMDA1NjUxQjIgLyogVk5vZGVUcmFja2Vy
Q29jb2EuY3BwICovOyB9OwogCQk0NkRCQjY1MDFBQjhDOTZGMDBEOUE4MTMgLyogUG93ZXJPYnNl
cnZlck1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDZEQkI2NEUxQUI4Qzk2RjAwRDlBODEzIC8qIFBvd2VyT2JzZXJ2ZXJNYWMuaCAqLzsgfTsKKwkJ
NDZERkY0OTgxREMyNjAzMTAwQjgwQjQ4IC8qIFNoYWRvd1Jvb3RNb2RlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRGRjQ5NjFEQzI2MDEzMDBCODBC
NDggLyogU2hhZG93Um9vdE1vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQk0NkRGRjQ5QjFEQzI2MjBCMDBCODBCNDggLyogSlNTaGFkb3dSb290
TW9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NkRGRjQ5OTFEQzI2MUY5MDBCODBCNDggLyogSlNTaGFkb3dSb290TW9kZS5jcHAgKi87IH07CisJ
CTQ2REZGNDlDMURDMjYyMEIwMEI4MEI0OCAvKiBKU1NoYWRvd1Jvb3RNb2RlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRGRjQ5QTFEQzI2MUY5MDBC
ODBCNDggLyogSlNTaGFkb3dSb290TW9kZS5oICovOyB9OwogCQk0NkVCRUEwMjFCN0Q0RDY1MDBC
RTQ5NDEgLyogQ29sbGVjdGlvblRyYXZlcnNhbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDZFQkVBMDExQjdENEQ1RDAwQkU0OTQxIC8qIENvbGxlY3Rp
b25UcmF2ZXJzYWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk0NkYzRTNGOTFCMjEwOTAwMDA4N0VEMTMgLyogVk5vZGVUcmFja2VyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2REI3RDU4MUIyMEZF
NTgwMDU2NTFCMiAvKiBWTm9kZVRyYWNrZXIuY3BwICovOyB9OwogCQk0NkYzRTNGQTFCMjEwOTEw
MDA4N0VEMTMgLyogVk5vZGVUcmFja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NkRCN0Q1OTFCMjBGRTU4MDA1NjUxQjIgLyogVk5vZGVUcmFja2Vy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg4
MzUsNiArODgzOCwxMCBAQAogCQk0NkRCN0Q1ODFCMjBGRTU4MDA1NjUxQjIgLyogVk5vZGVUcmFj
a2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZOb2RlVHJhY2tl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2REI3RDU5MUIyMEZFNTgwMDU2
NTFCMiAvKiBWTm9kZVRyYWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Vk5vZGVUcmFja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2REJCNjRFMUFC
OEM5NkYwMEQ5QTgxMyAvKiBQb3dlck9ic2VydmVyTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBvd2VyT2JzZXJ2ZXJNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDZERkY0OTYxREMyNjAxMzAwQjgwQjQ4IC8qIFNoYWRvd1Jvb3RNb2RlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNoYWRvd1Jvb3RNb2RlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQ2REZGNDk3MURDMjYwMTMwMEI4MEI0OCAvKiBTaGFkb3dSb290
TW9kZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2hhZG93Um9vdE1vZGUuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkRGRjQ5OTFEQzI2MUY5MDBCODBCNDggLyogSlNT
aGFkb3dSb290TW9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1NoYWRvd1Jvb3RNb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDZERkY0
OUExREMyNjFGOTAwQjgwQjQ4IC8qIEpTU2hhZG93Um9vdE1vZGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNTaGFkb3dSb290TW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0NkVCRUEwMTFCN0Q0RDVEMDBCRTQ5NDEgLyogQ29sbGVjdGlvblRyYXZlcnNh
bC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb2xsZWN0aW9uVHJhdmVyc2Fs
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2RjI3NjhFMUI4NTI5N0YwMDVDMjU1
NiAvKiBKU0RPTU5hbWVkRmxvd0NvbGxlY3Rpb25DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01OYW1lZEZsb3dDb2xsZWN0aW9uQ3VzdG9tLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDkwNzA3RTQxMjE5QzA0MzAwRDkwRTUxIC8q
IEFOR0xFV2ViS2l0QnJpZGdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEFOR0xFV2ViS2l0QnJpZGdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTIwMTE1LDYgKzIwMTIyLDggQEAKIAkJCQk0OTk4QUVDQzEzRjlENkM5MDA5MEIxQUEgLyogSlNS
ZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oICovLAogCQkJCTlCNkJDOTYwMUI5NzU5NjYw
MDVBRTFGMCAvKiBKU1NoYWRvd1Jvb3QuY3BwICovLAogCQkJCTlCNkJDOTYxMUI5NzU5NjYwMDVB
RTFGMCAvKiBKU1NoYWRvd1Jvb3QuaCAqLywKKwkJCQk0NkRGRjQ5OTFEQzI2MUY5MDBCODBCNDgg
LyogSlNTaGFkb3dSb290TW9kZS5jcHAgKi8sCisJCQkJNDZERkY0OUExREMyNjFGOTAwQjgwQjQ4
IC8qIEpTU2hhZG93Um9vdE1vZGUuaCAqLywKIAkJCQk2NURGMzFFRjA5RDFDQzYwMDAwQkUzMjUg
LyogSlNUZXh0LmNwcCAqLywKIAkJCQk2NURGMzFGMDA5RDFDQzYwMDAwQkUzMjUgLyogSlNUZXh0
LmggKi8sCiAJCQkJRDc2MTNBQzIxNDc1M0U1NjAwREI4NjA2IC8qIEpTV2ViS2l0TmFtZWRGbG93
LmNwcCAqLywKQEAgLTIzODAwLDYgKzIzODA5LDggQEAKIAkJCQlBNkQxNjk2MTEzNDZCNDlCMDAw
RUI3NzAgLyogU2hhZG93Um9vdC5jcHAgKi8sCiAJCQkJQTZEMTY5NjMxMzQ2QjRDMTAwMEVCNzcw
IC8qIFNoYWRvd1Jvb3QuaCAqLywKIAkJCQk5QjE5QjY3RTFCOTY0RTUyMDAzNDg3NDUgLyogU2hh
ZG93Um9vdC5pZGwgKi8sCisJCQkJNDZERkY0OTYxREMyNjAxMzAwQjgwQjQ4IC8qIFNoYWRvd1Jv
b3RNb2RlLmggKi8sCisJCQkJNDZERkY0OTcxREMyNjAxMzAwQjgwQjQ4IC8qIFNoYWRvd1Jvb3RN
b2RlLmlkbCAqLywKIAkJCQk1NzJBN0YyMjFDNkU1QTY2MDA5QzYxNDkgLyogU2ltdWxhdGVkQ2xp
Y2suY3BwICovLAogCQkJCTU3MkE3RjIwMUM2RTU3MTkwMDlDNjE0OSAvKiBTaW11bGF0ZWRDbGlj
ay5oICovLAogCQkJCTMxNzQxQUFCMTY2MzVFNDUwMDhBNUI3RSAvKiBTaW11bGF0ZWRDbGlja09w
dGlvbnMuaCAqLywKQEAgLTI0NzQyLDYgKzI0NzUzLDcgQEAKIAkJCQlCQzIzRUU5MjBEQUVEMkJD
MDA5RkRDOTEgLyogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTM5M0U2MDAxNTFBOTlGMjAwMDY2RjA2IC8qIENTU0ltYWdlU2V0VmFsdWUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4MEU2Q0ZBMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NJbWFnZVZhbHVlLmggaW4g
SGVhZGVycyAqLywKKwkJCQk0NkRGRjQ5ODFEQzI2MDMxMDBCODBCNDggLyogU2hhZG93Um9vdE1v
ZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU2Q0Y2MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NJ
bXBvcnRSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODBFNkQwMTBBMTk4OUNBMDA3RkI4QzUg
LyogQ1NTSW5oZXJpdGVkVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU2RDA4MEExOTg5
Q0EwMDdGQjhDNSAvKiBDU1NJbml0aWFsVmFsdWUuaCBpbiBIZWFkZXJzICovLApAQCAtMjU5NTgs
NiArMjU5NzAsNyBAQAogCQkJCUIyRkEzRDk1MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZFVHVy
YnVsZW5jZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDk3MEFCNzVBNkYwMDBF
NUFDNCAvKiBKU1NWR0ZpbHRlckVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyN0IyODI2
MENFRjBDMDcwMEQzOUQ1NCAvKiBKU1NWR0ZvbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0NkRGRjQ5QzFEQzI2MjBCMDBCODBCNDggLyogSlNTaGFkb3dSb290TW9kZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTgzQjc5MDUwQ0NBRkYxNTAwMEIwODI1IC8qIEpTU1ZHRm9udEZhY2VFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODNCNzkwMDBDQ0FGRjE1MDAwQjA4MjUgLyogSlNT
VkdGb250RmFjZUZvcm1hdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4M0I3OTAyMEND
QUZGMTUwMDBCMDgyNSAvKiBKU1NWR0ZvbnRGYWNlTmFtZUVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LApAQCAtMzA2MTYsNiArMzA2MjksNyBAQAogCQkJCTU4MkNCMDU1MUE3OEEyQjIwMEFGRkNDNCAv
KiBTaW1wbGVMaW5lTGF5b3V0VGV4dEZyYWdtZW50SXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQzVBMUVBN0MxNTJCQ0YwNDAwNEQwMEI2IC8qIFNpbXBsaWZ5TWFya3VwQ29tbWFuZC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzJBN0YyMzFDNkU1QTY2MDA5QzYxNDkgLyogU2ltdWxh
dGVkQ2xpY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDZERkY0OUIxREMyNjIwQjAwQjgwQjQ4
IC8qIEpTU2hhZG93Um9vdE1vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQwMEQ3QTQxNEEz
RjYxOTAwNzM0MDExIC8qIFNpbmNSZXNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEz
MjdENjExMUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5NDQ0Q0JENTFEODYwQzhCMDA3M0EwNzQgLyogU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1
bGVDb2xsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRSdWxlQ29sbGVjdG9y
LmNwcAppbmRleCAyZjFkMWExY2JjY2QzYjZkYjE4ZjRhNGE3NzZkYzI5YWM3YzhmMzJkLi44M2Vh
ZWI4MDA5YWRhYTFhZTIzZTM0ZGRkOWQxNjg3YmMwNGI2M2VmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKQEAgLTE0NCw3ICsxNDQsNyBAQCB2b2lkIEVs
ZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hpbmdSdWxlcyhjb25zdCBNYXRjaFJlcXVl
c3QmIG1hdGNoUmVxdWVzdAogICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIShtX21vZGUgPT0gU2Vs
ZWN0b3JDaGVja2VyOjpNb2RlOjpDb2xsZWN0aW5nUnVsZXNJZ25vcmluZ1ZpcnR1YWxQc2V1ZG9F
bGVtZW50cyAmJiBtX3BzZXVkb1N0eWxlUmVxdWVzdC5wc2V1ZG9JZCAhPSBOT1BTRVVETyksICJX
aGVuIGluIFN0eWxlSW52YWxpZGF0aW9uIG9yIFNoYXJpbmdSdWxlcywgU2VsZWN0b3JDaGVja2Vy
IGRvZXMgbm90IHRyeSB0byBtYXRjaCB0aGUgcHNldWRvIElELiBXaGlsZSBFbGVtZW50UnVsZUNv
bGxlY3RvciBzdXBwb3J0cyBtYXRjaGluZyBhIHBhcnRpY3VsYXIgcHNldWRvSWQgaW4gdGhpcyBj
YXNlLCB0aGlzIHdvdWxkIGluZGljYXRlIGEgZXJyb3IgYXQgdGhlIGNhbGwgc2l0ZSBzaW5jZSBt
YXRjaGluZyBhIHBhcnRpY3VsYXIgZWxlbWVudCBzaG91bGQgYmUgdW5uZWNlc3NhcnkuIik7CiAK
ICAgICBhdXRvKiBzaGFkb3dSb290ID0gbV9lbGVtZW50LmNvbnRhaW5pbmdTaGFkb3dSb290KCk7
Ci0gICAgaWYgKHNoYWRvd1Jvb3QgJiYgc2hhZG93Um9vdC0+bW9kZSgpID09IFNoYWRvd1Jvb3Q6
Ok1vZGU6OlVzZXJBZ2VudCkKKyAgICBpZiAoc2hhZG93Um9vdCAmJiBzaGFkb3dSb290LT5tb2Rl
KCkgPT0gU2hhZG93Um9vdE1vZGU6OlVzZXJBZ2VudCkKICAgICAgICAgY29sbGVjdE1hdGNoaW5n
U2hhZG93UHNldWRvRWxlbWVudFJ1bGVzKG1hdGNoUmVxdWVzdCwgcnVsZVJhbmdlKTsKIAogICAg
IC8vIFdlIG5lZWQgdG8gY29sbGVjdCB0aGUgcnVsZXMgZm9yIGlkLCBjbGFzcywgdGFnLCBhbmQg
ZXZlcnl0aGluZyBlbHNlIGludG8gYSBidWZmZXIgYW5kCkBAIC0yMjgsNyArMjI4LDcgQEAgdm9p
ZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hBdXRob3JTaGFkb3dQc2V1ZG9FbGVtZW50UnVs
ZXMoY29uc3QgTWF0Y2hSZXF1ZXMKIHsKICAgICBBU1NFUlQobV9lbGVtZW50LmlzSW5TaGFkb3dU
cmVlKCkpOwogICAgIGF1dG8mIHNoYWRvd1Jvb3QgPSAqbV9lbGVtZW50LmNvbnRhaW5pbmdTaGFk
b3dSb290KCk7Ci0gICAgaWYgKHNoYWRvd1Jvb3QubW9kZSgpICE9IFNoYWRvd1Jvb3Q6Ok1vZGU6
OlVzZXJBZ2VudCkKKyAgICBpZiAoc2hhZG93Um9vdC5tb2RlKCkgIT0gU2hhZG93Um9vdE1vZGU6
OlVzZXJBZ2VudCkKICAgICAgICAgcmV0dXJuOwogICAgIC8vIExvb2sgdXAgc2hhZG93IHBzZXVk
byBlbGVtZW50cyBhbHNvIGZyb20gdGhlIGhvc3Qgc2NvcGUgYXV0aG9yIHN0eWxlIGFzIHRoZXkg
YXJlIHdlYi1leHBvc2VkLgogICAgIGF1dG8mIGhvc3RBdXRob3JSdWxlcyA9IFN0eWxlOjpTY29w
ZTo6Zm9yTm9kZSgqc2hhZG93Um9vdC5ob3N0KCkpLnJlc29sdmVyKCkucnVsZVNldHMoKS5hdXRo
b3JTdHlsZSgpOwpAQCAtMjk0LDcgKzI5NCw3IEBAIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6
Om1hdGNoU2xvdHRlZFBzZXVkb0VsZW1lbnRSdWxlcyhNYXRjaFJlcXVlc3QmIG1hdGNoUmVxCiB2
b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hpbmdTaGFkb3dQc2V1ZG9FbGVt
ZW50UnVsZXMoY29uc3QgTWF0Y2hSZXF1ZXN0JiBtYXRjaFJlcXVlc3QsIFN0eWxlUmVzb2x2ZXI6
OlJ1bGVSYW5nZSYgcnVsZVJhbmdlKQogewogICAgIEFTU0VSVChtYXRjaFJlcXVlc3QucnVsZVNl
dCk7Ci0gICAgQVNTRVJUKG1fZWxlbWVudC5jb250YWluaW5nU2hhZG93Um9vdCgpLT5tb2RlKCkg
PT0gU2hhZG93Um9vdDo6TW9kZTo6VXNlckFnZW50KTsKKyAgICBBU1NFUlQobV9lbGVtZW50LmNv
bnRhaW5pbmdTaGFkb3dSb290KCktPm1vZGUoKSA9PSBTaGFkb3dSb290TW9kZTo6VXNlckFnZW50
KTsKIAogICAgIGF1dG8mIHJ1bGVzID0gKm1hdGNoUmVxdWVzdC5ydWxlU2V0OwogI2lmIEVOQUJM
RShWSURFT19UUkFDSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNo
ZWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKaW5kZXgg
NTk1MWJhNmE4ZGRhNjBmMTRmOGUxNDJkYWI1ZjZjMjA1NTEwMTFkOC4uMTBhZjVjZDczNzQ0ZDkw
OTQ1OGNjYWMxOGYxYjZlNmVmYWZlOTVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1NlbGVjdG9yQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hl
Y2tlci5jcHAKQEAgLTI5Miw3ICsyOTIsNyBAQCBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoUmVzdWx0
IFNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2hSZWN1cnNpdmVseShDaGVja2luZ0NvbnRleHQmCiAgICAg
ICAgICAgICAgICAgaWYgKGNvbnRleHQuZWxlbWVudC0+c2hhZG93UHNldWRvSWQoKSAhPSBjb250
ZXh0LnNlbGVjdG9yLT52YWx1ZSgpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gTWF0Y2hS
ZXN1bHQ6OmZhaWxzKE1hdGNoOjpTZWxlY3RvckZhaWxzTG9jYWxseSk7CiAKLSAgICAgICAgICAg
ICAgICBpZiAoY29udGV4dC5zZWxlY3Rvci0+aXNXZWJLaXRDdXN0b21Qc2V1ZG9FbGVtZW50KCkg
JiYgcm9vdC0+bW9kZSgpICE9IFNoYWRvd1Jvb3Q6Ok1vZGU6OlVzZXJBZ2VudCkKKyAgICAgICAg
ICAgICAgICBpZiAoY29udGV4dC5zZWxlY3Rvci0+aXNXZWJLaXRDdXN0b21Qc2V1ZG9FbGVtZW50
KCkgJiYgcm9vdC0+bW9kZSgpICE9IFNoYWRvd1Jvb3RNb2RlOjpVc2VyQWdlbnQpCiAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBNYXRjaFJlc3VsdDo6ZmFpbHMoTWF0Y2g6OlNlbGVjdG9yRmFp
bHNMb2NhbGx5KTsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIHJldHVybiBN
YXRjaFJlc3VsdDo6ZmFpbHMoTWF0Y2g6OlNlbGVjdG9yRmFpbHNMb2NhbGx5KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWdpc3RyeS5jcHAKaW5kZXggZjk4NGY5MTZmYWE2
MGM4ZTM0OGJlZjZiN2I4OWZhZTUxM2ZjMTc2Mi4uN2JkODdiODY5ZTk3M2I0ZmJkNDYzYzBhZjRl
YTJjMzU5YmMzMDAzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1l
bnRSZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWdp
c3RyeS5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgc3RhdGljIHZvaWQgZW5xdWV1ZVVwZ3JhZGVJblNo
YWRvd0luY2x1ZGluZ1RyZWVPcmRlcihDb250YWluZXJOb2RlJiBub2RlLCBKU0N1c3QKICAgICAg
ICAgaWYgKGVsZW1lbnQtPmlzQ3VzdG9tRWxlbWVudFVwZ3JhZGVDYW5kaWRhdGUoKSAmJiBlbGVt
ZW50LT50YWdRTmFtZSgpID09IGVsZW1lbnRJbnRlcmZhY2UubmFtZSgpKQogICAgICAgICAgICAg
ZWxlbWVudC0+ZW5xdWV1ZVRvVXBncmFkZShlbGVtZW50SW50ZXJmYWNlKTsKICAgICAgICAgaWYg
KGF1dG8qIHNoYWRvd1Jvb3QgPSBlbGVtZW50LT5zaGFkb3dSb290KCkpIHsKLSAgICAgICAgICAg
IGlmIChzaGFkb3dSb290LT5tb2RlKCkgIT0gU2hhZG93Um9vdDo6TW9kZTo6VXNlckFnZW50KQor
ICAgICAgICAgICAgaWYgKHNoYWRvd1Jvb3QtPm1vZGUoKSAhPSBTaGFkb3dSb290TW9kZTo6VXNl
ckFnZW50KQogICAgICAgICAgICAgICAgIGVucXVldWVVcGdyYWRlSW5TaGFkb3dJbmNsdWRpbmdU
cmVlT3JkZXIoKnNoYWRvd1Jvb3QsIGVsZW1lbnRJbnRlcmZhY2UpOwogICAgICAgICB9CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDg3M2FhM2E2ZjU1OTlmMWMwNWYzMTEzZjg0NDk0
ZmJiZjlhMGRkYzYuLmU3OTIyYWFmMzVhMWY0NGE2ZGJhYzA0MDVlNTE5Nzg2YzNiOTI3MzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTg1Miw3ICs4NTIsNyBAQCBFbGVtZW50KiBFbGVtZW50
OjpiaW5kaW5nc09mZnNldFBhcmVudCgpCiAgICAgRWxlbWVudCogZWxlbWVudCA9IG9mZnNldFBh
cmVudCgpOwogICAgIGlmICghZWxlbWVudCB8fCAhZWxlbWVudC0+aXNJblNoYWRvd1RyZWUoKSkK
ICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmNvbnRhaW5pbmdT
aGFkb3dSb290KCktPm1vZGUoKSA9PSBTaGFkb3dSb290OjpNb2RlOjpVc2VyQWdlbnQgPyBudWxs
cHRyIDogZWxlbWVudDsKKyAgICByZXR1cm4gZWxlbWVudC0+Y29udGFpbmluZ1NoYWRvd1Jvb3Qo
KS0+bW9kZSgpID09IFNoYWRvd1Jvb3RNb2RlOjpVc2VyQWdlbnQgPyBudWxscHRyIDogZWxlbWVu
dDsKIH0KIAogRWxlbWVudCogRWxlbWVudDo6b2Zmc2V0UGFyZW50KCkKQEAgLTE3NzgsNyArMTc3
OCw3IEBAIHZvaWQgRWxlbWVudDo6YWRkU2hhZG93Um9vdChSZWY8U2hhZG93Um9vdD4mJiBuZXdT
aGFkb3dSb290KQogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQdXNoU2hhZG93
Um9vdCgqdGhpcywgc2hhZG93Um9vdCk7CiAKLSAgICBpZiAoc2hhZG93Um9vdC5tb2RlKCkgPT0g
U2hhZG93Um9vdDo6TW9kZTo6VXNlckFnZW50KQorICAgIGlmIChzaGFkb3dSb290Lm1vZGUoKSA9
PSBTaGFkb3dSb290TW9kZTo6VXNlckFnZW50KQogICAgICAgICBkaWRBZGRVc2VyQWdlbnRTaGFk
b3dSb290KCZzaGFkb3dSb290KTsKIH0KIApAQCAtMTg1Nyw3ICsxODU3LDEyIEBAIFJlZlB0cjxT
aGFkb3dSb290PiBFbGVtZW50OjphdHRhY2hTaGFkb3coY29uc3QgU2hhZG93Um9vdEluaXQmIGlu
aXQsIEV4Y2VwdGlvbkNvCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIGF1
dG8gc2hhZG93ID0gU2hhZG93Um9vdDo6Y3JlYXRlKGRvY3VtZW50KCksIGluaXQubW9kZSA9PSBT
aGFkb3dSb290TW9kZTo6T3BlbiA/IFNoYWRvd1Jvb3Q6Ok1vZGU6Ok9wZW4gOiBTaGFkb3dSb290
OjpNb2RlOjpDbG9zZWQpOworICAgIGlmIChpbml0Lm1vZGUgPT0gU2hhZG93Um9vdE1vZGU6OlVz
ZXJBZ2VudCkgeworICAgICAgICBlYyA9IFR5cGVFcnJvcjsKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgfQorCisgICAgYXV0byBzaGFkb3cgPSBTaGFkb3dSb290OjpjcmVhdGUoZG9jdW1l
bnQoKSwgaW5pdC5tb2RlKTsKICAgICBhZGRTaGFkb3dSb290KHNoYWRvdy5jb3B5UmVmKCkpOwog
ICAgIHJldHVybiBXVEZNb3ZlKHNoYWRvdyk7CiB9CkBAIC0xODY4LDcgKzE4NzMsNyBAQCBTaGFk
b3dSb290KiBFbGVtZW50OjpzaGFkb3dSb290Rm9yQmluZGluZ3MoSlNDOjpFeGVjU3RhdGUmIHN0
YXRlKSBjb25zdAogICAgIGlmICghcm9vdCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAg
ICBpZiAocm9vdC0+bW9kZSgpICE9IFNoYWRvd1Jvb3Q6Ok1vZGU6Ok9wZW4pIHsKKyAgICBpZiAo
cm9vdC0+bW9kZSgpICE9IFNoYWRvd1Jvb3RNb2RlOjpPcGVuKSB7CiAgICAgICAgIGlmICghSlND
Ojpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihzdGF0ZS5sZXhpY2FsR2xvYmFsT2JqZWN0KCkp
LT53b3JsZCgpLnNoYWRvd1Jvb3RJc0Fsd2F5c09wZW4oKSkKICAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgIH0KQEAgLTE4NzksNyArMTg4NCw3IEBAIFNoYWRvd1Jvb3QqIEVsZW1lbnQ6
OnNoYWRvd1Jvb3RGb3JCaW5kaW5ncyhKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUpIGNvbnN0CiBTaGFk
b3dSb290KiBFbGVtZW50Ojp1c2VyQWdlbnRTaGFkb3dSb290KCkgY29uc3QKIHsKICAgICBpZiAo
U2hhZG93Um9vdCogc2hhZG93Um9vdCA9IHRoaXMtPnNoYWRvd1Jvb3QoKSkgewotICAgICAgICBB
U1NFUlQoc2hhZG93Um9vdC0+bW9kZSgpID09IFNoYWRvd1Jvb3Q6Ok1vZGU6OlVzZXJBZ2VudCk7
CisgICAgICAgIEFTU0VSVChzaGFkb3dSb290LT5tb2RlKCkgPT0gU2hhZG93Um9vdE1vZGU6OlVz
ZXJBZ2VudCk7CiAgICAgICAgIHJldHVybiBzaGFkb3dSb290OwogICAgIH0KICAgICByZXR1cm4g
bnVsbHB0cjsKQEAgLTE4ODksNyArMTg5NCw3IEBAIFNoYWRvd1Jvb3QmIEVsZW1lbnQ6OmVuc3Vy
ZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKQogewogICAgIFNoYWRvd1Jvb3QqIHNoYWRvd1Jvb3QgPSB1
c2VyQWdlbnRTaGFkb3dSb290KCk7CiAgICAgaWYgKCFzaGFkb3dSb290KSB7Ci0gICAgICAgIGFk
ZFNoYWRvd1Jvb3QoU2hhZG93Um9vdDo6Y3JlYXRlKGRvY3VtZW50KCksIFNoYWRvd1Jvb3Q6Ok1v
ZGU6OlVzZXJBZ2VudCkpOworICAgICAgICBhZGRTaGFkb3dSb290KFNoYWRvd1Jvb3Q6OmNyZWF0
ZShkb2N1bWVudCgpLCBTaGFkb3dSb290TW9kZTo6VXNlckFnZW50KSk7CiAgICAgICAgIHNoYWRv
d1Jvb3QgPSB1c2VyQWdlbnRTaGFkb3dSb290KCk7CiAgICAgfQogICAgIHJldHVybiAqc2hhZG93
Um9vdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IGExYmQzMDE1MTRkN2Y1MjVmZDBiYWNhMzM2MmU3
YzI1N2ZhZTllMGUuLjAzNTdkNzFhNWQ5NTRiODY4MDBkODM4NzdmY2QyNjJiNWQ2MmU3MjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIlJlZ2lvbk92ZXJz
ZXRTdGF0ZS5oIgogI2luY2x1ZGUgIlNjcm9sbFRvT3B0aW9ucy5oIgogI2luY2x1ZGUgIlNjcm9s
bFR5cGVzLmgiCisjaW5jbHVkZSAiU2hhZG93Um9vdE1vZGUuaCIKICNpbmNsdWRlICJTaW11bGF0
ZWRDbGlja09wdGlvbnMuaCIKICNpbmNsdWRlICJTdHlsZUNoYW5nZS5oIgogCkBAIC0yNzAsNyAr
MjcxLDYgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIFNoYWRvd1Jvb3QqIHNoYWRvd1Jv
b3QoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBTaGFkb3dSb290KiBjcmVhdGVTaGFkb3dS
b290KEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgIGVudW0gY2xhc3MgU2hhZG93Um9vdE1vZGUgeyBP
cGVuLCBDbG9zZWQgfTsKICAgICBzdHJ1Y3QgU2hhZG93Um9vdEluaXQgewogICAgICAgICBTaGFk
b3dSb290TW9kZSBtb2RlOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKaW5kZXggZDY2Zjhj
YzMzMjg4NTA5NWU2OWVkYTY1NTRhZmQ3Njk2NzE5NWI1OS4uYmFjZGQ2MzYwMjM5NzVjN2Q5YzQ4
YjY0YTcxYjQxMzdkNTNmYTk2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbApAQCAtMTgwLDggKzE4
MCw2IEBACiAgICAgW05vdEVudW1lcmFibGUsIENvbmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVF0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdHBsYXliYWNrdGFyZ2V0YXZh
aWxhYmlsaXR5Y2hhbmdlZDsKIH07CiAKLWVudW0gU2hhZG93Um9vdE1vZGUgeyAib3BlbiIsICJj
bG9zZWQiIH07Ci0KIGRpY3Rpb25hcnkgU2hhZG93Um9vdEluaXQgewogICAgIHJlcXVpcmVkIFNo
YWRvd1Jvb3RNb2RlIG1vZGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0lu
bGluZVN0eWxlU2hlZXRPd25lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5lU3R5bGVT
aGVldE93bmVyLmNwcAppbmRleCAxYjQwZjM4NzQxMDdhNDAyNWM3OTkzODgzMDY2MzVjN2JlMDEx
YTczLi5kOGIyZGYzMGNlM2RhMThmMTRjYmU2NDg1NjQ0NWMxOTQ1OTNjYTc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5lU3R5bGVTaGVldE93bmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vSW5saW5lU3R5bGVTaGVldE93bmVyLmNwcApAQCAtNDgsMTAgKzQ4LDEw
IEBAIHN0YXRpYyBDU1NQYXJzZXJDb250ZXh0IHBhcnNlckNvbnRleHRGb3JFbGVtZW50KGNvbnN0
IEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgYXV0byogc2hhZG93Um9vdCA9IGVsZW1lbnQuY29u
dGFpbmluZ1NoYWRvd1Jvb3QoKTsKICAgICAvLyBVc2VyIGFnZW50IHNoYWRvdyB0cmVlcyBjYW4n
dCBjb250YWluIGRvY3VtZW50LXJlbGF0aXZlIFVSTHMuIFVzZSBibGFuayBVUkwgYXMgYmFzZSBh
bGxvd2luZyBjcm9zcy1kb2N1bWVudCBzaGFyaW5nLgotICAgIGF1dG8mIGJhc2VVUkwgPSBzaGFk
b3dSb290ICYmIHNoYWRvd1Jvb3QtPm1vZGUoKSA9PSBTaGFkb3dSb290OjpNb2RlOjpVc2VyQWdl
bnQgPyBibGFua1VSTCgpIDogZWxlbWVudC5kb2N1bWVudCgpLmJhc2VVUkwoKTsKKyAgICBhdXRv
JiBiYXNlVVJMID0gc2hhZG93Um9vdCAmJiBzaGFkb3dSb290LT5tb2RlKCkgPT0gU2hhZG93Um9v
dE1vZGU6OlVzZXJBZ2VudCA/IGJsYW5rVVJMKCkgOiBlbGVtZW50LmRvY3VtZW50KCkuYmFzZVVS
TCgpOwogCiAgICAgQ1NTUGFyc2VyQ29udGV4dCByZXN1bHQgPSBDU1NQYXJzZXJDb250ZXh0IHsg
ZWxlbWVudC5kb2N1bWVudCgpLCBiYXNlVVJMLCBlbGVtZW50LmRvY3VtZW50KCkuZW5jb2Rpbmco
KSB9OwotICAgIGlmIChzaGFkb3dSb290ICYmIHNoYWRvd1Jvb3QtPm1vZGUoKSA9PSBTaGFkb3dS
b290OjpNb2RlOjpVc2VyQWdlbnQpCisgICAgaWYgKHNoYWRvd1Jvb3QgJiYgc2hhZG93Um9vdC0+
bW9kZSgpID09IFNoYWRvd1Jvb3RNb2RlOjpVc2VyQWdlbnQpCiAgICAgICAgIHJlc3VsdC5tb2Rl
ID0gVUFTaGVldE1vZGU7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRl
eCAxMzQ1ZWRjZTllNDFkNTdmYWRhNTFjMDljNGQwY2M5NDUxMWI3Y2Q4Li5lZjU1ZGY3Y2UzZWU1
NmQ5ZTVjNzg2ZTQ3NDBlZWQ3MTE1NGJmMTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0xMDg2LDcg
KzEwODYsNyBAQCBib29sIE5vZGU6OmlzVW5jbG9zZWROb2RlKGNvbnN0IE5vZGUmIG90aGVyTm9k
ZSkgY29uc3QKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gdHJlZVNjb3BlVGhhdENh
bkFjY2Vzc090aGVyTm9kZSBpcyBhIHNoYWRvdy1pbmNsdWRpbmcgaW5jbHVzaXZlIGFuY2VzdG9y
IG9mIHRoaXMgbm9kZS4KICAgICAgICAgfQogICAgICAgICBhdXRvJiByb290ID0gdHJlZVNjb3Bl
VGhhdENhbkFjY2Vzc090aGVyTm9kZS0+cm9vdE5vZGUoKTsKLSAgICAgICAgaWYgKGlzPFNoYWRv
d1Jvb3Q+KHJvb3QpICYmIGRvd25jYXN0PFNoYWRvd1Jvb3Q+KHJvb3QpLm1vZGUoKSAhPSBTaGFk
b3dSb290OjpNb2RlOjpPcGVuKQorICAgICAgICBpZiAoaXM8U2hhZG93Um9vdD4ocm9vdCkgJiYg
ZG93bmNhc3Q8U2hhZG93Um9vdD4ocm9vdCkubW9kZSgpICE9IFNoYWRvd1Jvb3RNb2RlOjpPcGVu
KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogCkBAIC0xMTEwLDcgKzExMTAsNyBAQCBIVE1M
U2xvdEVsZW1lbnQqIE5vZGU6OmFzc2lnbmVkU2xvdCgpIGNvbnN0CiBIVE1MU2xvdEVsZW1lbnQq
IE5vZGU6OmFzc2lnbmVkU2xvdEZvckJpbmRpbmdzKCkgY29uc3QKIHsKICAgICBhdXRvKiBzaGFk
b3dSb290ID0gcGFyZW50U2hhZG93Um9vdCgqdGhpcyk7Ci0gICAgaWYgKHNoYWRvd1Jvb3QgJiYg
c2hhZG93Um9vdC0+bW9kZSgpID09IFNoYWRvd1Jvb3Q6Ok1vZGU6Ok9wZW4pCisgICAgaWYgKHNo
YWRvd1Jvb3QgJiYgc2hhZG93Um9vdC0+bW9kZSgpID09IFNoYWRvd1Jvb3RNb2RlOjpPcGVuKQog
ICAgICAgICByZXR1cm4gc2hhZG93Um9vdC0+ZmluZEFzc2lnbmVkU2xvdCgqdGhpcyk7CiAgICAg
cmV0dXJuIG51bGxwdHI7CiB9CkBAIC0xMTI4LDcgKzExMjgsNyBAQCBDb250YWluZXJOb2RlKiBO
b2RlOjpwYXJlbnRJbkNvbXBvc2VkVHJlZSgpIGNvbnN0CiBib29sIE5vZGU6OmlzSW5Vc2VyQWdl
bnRTaGFkb3dUcmVlKCkgY29uc3QKIHsKICAgICBhdXRvKiBzaGFkb3dSb290ID0gY29udGFpbmlu
Z1NoYWRvd1Jvb3QoKTsKLSAgICByZXR1cm4gc2hhZG93Um9vdCAmJiBzaGFkb3dSb290LT5tb2Rl
KCkgPT0gU2hhZG93Um9vdDo6TW9kZTo6VXNlckFnZW50OworICAgIHJldHVybiBzaGFkb3dSb290
ICYmIHNoYWRvd1Jvb3QtPm1vZGUoKSA9PSBTaGFkb3dSb290TW9kZTo6VXNlckFnZW50OwogfQog
CiBOb2RlKiBOb2RlOjpub25Cb3VuZGFyeVNoYWRvd1RyZWVSb290Tm9kZSgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2hhZG93Um9vdC5jcHAKaW5kZXggYzBjNTUxYTlmNmNjYmU4N2FmNzM1N2EwOTFmNzU4YmMxNTNk
YzMyNC4uZGQwM2M2OGFjOTk0MTkzMjkxYTBjOWJjNmU2M2M4MTI0MGZlOWUwMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TaGFkb3dSb290LmNwcApAQCAtNDgsNyArNDgsNyBAQCBzdHJ1Y3QgU2FtZVNpemVBc1No
YWRvd1Jvb3QgOiBwdWJsaWMgRG9jdW1lbnRGcmFnbWVudCwgcHVibGljIFRyZWVTY29wZSB7CiAK
IENPTVBJTEVfQVNTRVJUKHNpemVvZihTaGFkb3dSb290KSA9PSBzaXplb2YoU2FtZVNpemVBc1No
YWRvd1Jvb3QpLCBzaGFkb3dyb290X3Nob3VsZF9zdGF5X3NtYWxsKTsKIAotU2hhZG93Um9vdDo6
U2hhZG93Um9vdChEb2N1bWVudCYgZG9jdW1lbnQsIE1vZGUgdHlwZSkKK1NoYWRvd1Jvb3Q6OlNo
YWRvd1Jvb3QoRG9jdW1lbnQmIGRvY3VtZW50LCBTaGFkb3dSb290TW9kZSB0eXBlKQogICAgIDog
RG9jdW1lbnRGcmFnbWVudChkb2N1bWVudCwgQ3JlYXRlU2hhZG93Um9vdCkKICAgICAsIFRyZWVT
Y29wZSgqdGhpcywgZG9jdW1lbnQpCiAgICAgLCBtX3R5cGUodHlwZSkKQEAgLTYwLDcgKzYwLDcg
QEAgU2hhZG93Um9vdDo6U2hhZG93Um9vdChEb2N1bWVudCYgZG9jdW1lbnQsIE1vZGUgdHlwZSkK
IFNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3QoRG9jdW1lbnQmIGRvY3VtZW50LCBzdGQ6OnVuaXF1ZV9w
dHI8U2xvdEFzc2lnbm1lbnQ+JiYgc2xvdEFzc2lnbm1lbnQpCiAgICAgOiBEb2N1bWVudEZyYWdt
ZW50KGRvY3VtZW50LCBDcmVhdGVTaGFkb3dSb290KQogICAgICwgVHJlZVNjb3BlKCp0aGlzLCBk
b2N1bWVudCkKLSAgICAsIG1fdHlwZShNb2RlOjpVc2VyQWdlbnQpCisgICAgLCBtX3R5cGUoU2hh
ZG93Um9vdE1vZGU6OlVzZXJBZ2VudCkKICAgICAsIG1fc3R5bGVTY29wZShzdGQ6Om1ha2VfdW5p
cXVlPFN0eWxlOjpTY29wZT4oKnRoaXMpKQogICAgICwgbV9zbG90QXNzaWdubWVudChXVEZNb3Zl
KHNsb3RBc3NpZ25tZW50KSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFk
b3dSb290LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCmluZGV4IDJmMDMyOWEy
ZTlmMzhjNWQzM2I0M2RiNTNmYjY3ZTNkN2QwYWE2NDguLmFlMjdmNzMwZDVlZWM2Yzk2M2ExYTYz
NzA5NzJiYzQ5N2RhN2U4ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dS
b290LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaApAQCAtMzIsNiArMzIs
NyBAQAogI2luY2x1ZGUgIkRvY3VtZW50RnJhZ21lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIlNoYWRvd1Jvb3RNb2RlLmgi
CiAjaW5jbHVkZSAiVHJlZVNjb3BlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDEz
ICs0Miw3IEBAIGNsYXNzIFNsb3RBc3NpZ25tZW50OwogCiBjbGFzcyBTaGFkb3dSb290IGZpbmFs
IDogcHVibGljIERvY3VtZW50RnJhZ21lbnQsIHB1YmxpYyBUcmVlU2NvcGUgewogcHVibGljOgot
ICAgIGVudW0gY2xhc3MgTW9kZSA6IHVpbnQ4X3QgewotICAgICAgICBVc2VyQWdlbnQgPSAwLAot
ICAgICAgICBDbG9zZWQsCi0gICAgICAgIE9wZW4sCi0gICAgfTsKLQotICAgIHN0YXRpYyBSZWY8
U2hhZG93Um9vdD4gY3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgTW9kZSB0eXBlKQorICAgIHN0
YXRpYyBSZWY8U2hhZG93Um9vdD4gY3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgU2hhZG93Um9v
dE1vZGUgdHlwZSkKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNoYWRvd1Jv
b3QoZG9jdW1lbnQsIHR5cGUpKTsKICAgICB9CkBAIC03NCw3ICs2OSw3IEBAIHB1YmxpYzoKIAog
ICAgIEVsZW1lbnQqIGFjdGl2ZUVsZW1lbnQoKSBjb25zdDsKIAotICAgIE1vZGUgbW9kZSgpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorICAgIFNoYWRvd1Jvb3RNb2RlIG1vZGUoKSBjb25zdCB7
IHJldHVybiBtX3R5cGU7IH0KIAogICAgIHZvaWQgcmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKSBv
dmVycmlkZTsKIApAQCAtOTIsNyArODcsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgVmVjdG9yPE5v
ZGUqPiogYXNzaWduZWROb2Rlc0ZvclNsb3QoY29uc3QgSFRNTFNsb3RFbGVtZW50Jik7CiAKIHBy
b3RlY3RlZDoKLSAgICBTaGFkb3dSb290KERvY3VtZW50JiwgTW9kZSk7CisgICAgU2hhZG93Um9v
dChEb2N1bWVudCYsIFNoYWRvd1Jvb3RNb2RlKTsKIAogICAgIFNoYWRvd1Jvb3QoRG9jdW1lbnQm
LCBzdGQ6OnVuaXF1ZV9wdHI8U2xvdEFzc2lnbm1lbnQ+JiYpOwogCkBAIC0xMDgsNyArMTAzLDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUmIGluc2VydGlv
blBvaW50KSBvdmVycmlkZTsKIAogICAgIGJvb2wgbV9yZXNldFN0eWxlSW5oZXJpdGFuY2UgeyBm
YWxzZSB9OwotICAgIE1vZGUgbV90eXBlIHsgTW9kZTo6VXNlckFnZW50IH07CisgICAgU2hhZG93
Um9vdE1vZGUgbV90eXBlIHsgU2hhZG93Um9vdE1vZGU6OlVzZXJBZ2VudCB9OwogCiAgICAgRWxl
bWVudCogbV9ob3N0IHsgbnVsbHB0ciB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2hhZG93Um9vdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5pZGwKaW5k
ZXggODNlZmE0NGVlMDVkZWIzZDdhZDQxNjM0NWZjYTcyMzY4ZDY4NWRlZS4uYmI4NzhhMWZmNGU1
Zjk1YmUwZGE3ZGRhYmNiNmQyMjI3ZmI4ZDkwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NoYWRvd1Jvb3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290Lmlk
bApAQCAtMzMsNyArMzMsNCBAQAogICAgIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgU2V0dGVy
TWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIGF0dHJpYnV0ZSBET01TdHJpbmcgaW5uZXJIVE1MOwog
fTsKIAotLy8gInVzZXItYWdlbnQiIGlzIGEgV2ViS2l0IGV4dGVuc2lvbiB0aGF0IGlzIG5vdCBl
eHBvc2VkIHRvIHRoZSBXZWIuCi1lbnVtIFNoYWRvd1Jvb3RNb2RlIHsgInVzZXItYWdlbnQiLCAi
Y2xvc2VkIiwgIm9wZW4iIH07Ci0KIFNoYWRvd1Jvb3QgaW1wbGVtZW50cyBEb2N1bWVudE9yU2hh
ZG93Um9vdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290TW9kZS5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3RNb2RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA0YTk2
ZjYzMTA5YWMxZDFmNDVhMjM5YTBhZTI4OWI1MTE0NGQ0OQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290TW9kZS5oCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNz
IFNoYWRvd1Jvb3RNb2RlIDogdWludDhfdCB7CisgICAgVXNlckFnZW50LAorICAgIENsb3NlZCwK
KyAgICBPcGVuCit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93
Um9vdE1vZGUuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3RNb2RlLmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43ZTM4ZWNhZGY4ZDAzZjIyYTk1OTIwMTFmZDc3MTg5NzVmNDQ4Y2U3Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3RNb2RlLmlkbApAQCAtMCww
ICsxLDMxIEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8vICJ1c2VyLWFnZW50IiBpcyBhIFdl
YktpdCBleHRlbnNpb24gdGhhdCBpcyBub3QgZXhwb3NlZCB0byB0aGUgV2ViLgorZW51bSBTaGFk
b3dSb290TW9kZSB7CisgICAgInVzZXItYWdlbnQiLAorICAgICJjbG9zZWQiLAorICAgICJvcGVu
IgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TbG90QXNzaWdubWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2xvdEFzc2lnbm1lbnQuY3BwCmluZGV4IGRlMGJlNzliZThl
ODZhNDFmYjU4OWE5ZjdhZTA0NWMzMDI3NjI5NzguLjc5MGEwZGQ3ZjEyZDBjOTFjMDk4YTdjYWFj
NWUwMDI1NTBmYjk3ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TbG90QXNzaWdu
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nsb3RBc3NpZ25tZW50LmNwcApAQCAt
MTU4LDcgKzE1OCw3IEBAIHZvaWQgU2xvdEFzc2lnbm1lbnQ6OmRpZENoYW5nZVNsb3QoY29uc3Qg
QXRvbWljU3RyaW5nJiBzbG90QXR0clZhbHVlLCBDaGFuZ2VUeXBlCiAgICAgICAgIG1fc2xvdEFz
c2lnbm1lbnRzSXNWYWxpZCA9IGZhbHNlOwogICAgIH0KIAotICAgIGlmIChzaGFkb3dSb290Lm1v
ZGUoKSA9PSBTaGFkb3dSb290OjpNb2RlOjpVc2VyQWdlbnQpCisgICAgaWYgKHNoYWRvd1Jvb3Qu
bW9kZSgpID09IFNoYWRvd1Jvb3RNb2RlOjpVc2VyQWdlbnQpCiAgICAgICAgIHJldHVybjsKIAog
ICAgIHJlY3Vyc2l2ZWx5RmlyZVNsb3RDaGFuZ2VFdmVudCgqc2xvdEVsZW1lbnQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3VtbWFyeUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MU3VtbWFyeUVsZW1lbnQuY3BwCmluZGV4IDIxZjRhNGE5NDgyMTM4
ZjZlOGNkMmZjZjNlMjYzMTUwMjI1MmVlYmIuLmZmYTRkODA3MzQyYzk2MzZkMmZmYjAyMzkxNmJl
YTgwYTE3MDZiODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdW1tYXJ5RWxlbWVudC5j
cHAKQEAgLTQwLDcgKzQwLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIFJlZjxIVE1M
U3VtbWFyeUVsZW1lbnQ+IEhUTUxTdW1tYXJ5RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICBSZWY8SFRNTFN1bW1h
cnlFbGVtZW50PiBzdW1tYXJ5ID0gYWRvcHRSZWYoKm5ldyBIVE1MU3VtbWFyeUVsZW1lbnQodGFn
TmFtZSwgZG9jdW1lbnQpKTsKLSAgICBzdW1tYXJ5LT5hZGRTaGFkb3dSb290KFNoYWRvd1Jvb3Q6
OmNyZWF0ZShkb2N1bWVudCwgU2hhZG93Um9vdDo6TW9kZTo6VXNlckFnZW50KSk7CisgICAgc3Vt
bWFyeS0+YWRkU2hhZG93Um9vdChTaGFkb3dSb290OjpjcmVhdGUoZG9jdW1lbnQsIFNoYWRvd1Jv
b3RNb2RlOjpVc2VyQWdlbnQpKTsKICAgICByZXR1cm4gc3VtbWFyeTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggY2Y0ZGEzZjRm
YzlkOGMzZDc4ODk2NmJhNjM5NjRlMTlkYzQ3OTlmMy4uNDBkMzRkYzQyYTZjMWU1MjU1MWQ1Yjc5
MTQwYTM3OWJiNGYxYjU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuY3BwCkBAIC0xMjg5LDE0ICsxMjg5LDE0IEBAIHN0YXRpYyBib29sIHBzZXVk
b0VsZW1lbnRUeXBlKFBzZXVkb0lkIHBzZXVkb0lkLCBJbnNwZWN0b3I6OlByb3RvY29sOjpET006
OlBzZXVkCiAgICAgfQogfQogCi1zdGF0aWMgSW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NOjpTaGFk
b3dSb290VHlwZSBzaGFkb3dSb290VHlwZShTaGFkb3dSb290OjpNb2RlIG1vZGUpCitzdGF0aWMg
SW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NOjpTaGFkb3dSb290VHlwZSBzaGFkb3dSb290VHlwZShT
aGFkb3dSb290TW9kZSBtb2RlKQogewogICAgIHN3aXRjaCAobW9kZSkgewotICAgIGNhc2UgU2hh
ZG93Um9vdDo6TW9kZTo6VXNlckFnZW50OgorICAgIGNhc2UgU2hhZG93Um9vdE1vZGU6OlVzZXJB
Z2VudDoKICAgICAgICAgcmV0dXJuIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTTo6U2hhZG93Um9v
dFR5cGU6OlVzZXJBZ2VudDsKLSAgICBjYXNlIFNoYWRvd1Jvb3Q6Ok1vZGU6OkNsb3NlZDoKKyAg
ICBjYXNlIFNoYWRvd1Jvb3RNb2RlOjpDbG9zZWQ6CiAgICAgICAgIHJldHVybiBJbnNwZWN0b3I6
OlByb3RvY29sOjpET006OlNoYWRvd1Jvb3RUeXBlOjpDbG9zZWQ7Ci0gICAgY2FzZSBTaGFkb3dS
b290OjpNb2RlOjpPcGVuOgorICAgIGNhc2UgU2hhZG93Um9vdE1vZGU6Ok9wZW46CiAgICAgICAg
IHJldHVybiBJbnNwZWN0b3I6OlByb3RvY29sOjpET006OlNoYWRvd1Jvb3RUeXBlOjpPcGVuOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1
bHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCmluZGV4
IDhhY2RhNWI1NGIxNDk5Mzk3MGU3ODZiZDUyNWVhYmNjMGVjNmZlY2MuLjgzNmNlZjc0N2EzNjhj
NDZjYTBmN2E3YTFiODdiZjhhOGRlNDYwM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SGl0VGVzdFJlc3VsdC5jcHAKQEAgLTEyNyw3ICsxMjcsNyBAQCBzdGF0aWMgTm9kZSogbW92ZU91
dE9mVXNlckFnZW50U2hhZG93VHJlZShOb2RlJiBub2RlKQogewogICAgIGlmIChub2RlLmlzSW5T
aGFkb3dUcmVlKCkpIHsKICAgICAgICAgaWYgKFNoYWRvd1Jvb3QqIHJvb3QgPSBub2RlLmNvbnRh
aW5pbmdTaGFkb3dSb290KCkpIHsKLSAgICAgICAgICAgIGlmIChyb290LT5tb2RlKCkgPT0gU2hh
ZG93Um9vdDo6TW9kZTo6VXNlckFnZW50KQorICAgICAgICAgICAgaWYgKHJvb3QtPm1vZGUoKSA9
PSBTaGFkb3dSb290TW9kZTo6VXNlckFnZW50KQogICAgICAgICAgICAgICAgIHJldHVybiByb290
LT5ob3N0KCk7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5jcHAKaW5kZXggNjg2OTZiYTY3ZWZlMDUwMGUxMzEzNDA5YjdjOGU1OWVjYjI5
M2QyMC4uNTIxMDhjNTdkMDdjOTJkNTExODI0NzVjMzdmOWEzOGQxYjM0NmFlZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtMTYxOSw3ICsxNjE5LDcg
QEAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBSZW5kZXJFbGVtZW50OjpzZWxlY3Rpb25Q
c2V1ZG9TdHlsZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgaWYgKFNo
YWRvd1Jvb3QqIHJvb3QgPSBlbGVtZW50KCktPmNvbnRhaW5pbmdTaGFkb3dSb290KCkpIHsKLSAg
ICAgICAgaWYgKHJvb3QtPm1vZGUoKSA9PSBTaGFkb3dSb290OjpNb2RlOjpVc2VyQWdlbnQpIHsK
KyAgICAgICAgaWYgKHJvb3QtPm1vZGUoKSA9PSBTaGFkb3dSb290TW9kZTo6VXNlckFnZW50KSB7
CiAgICAgICAgICAgICBpZiAoRWxlbWVudCogc2hhZG93SG9zdCA9IGVsZW1lbnQoKS0+c2hhZG93
SG9zdCgpKQogICAgICAgICAgICAgICAgIHJldHVybiBzaGFkb3dIb3N0LT5yZW5kZXJlcigpLT5n
ZXRVbmNhY2hlZFBzZXVkb1N0eWxlKFBzZXVkb1N0eWxlUmVxdWVzdChTRUxFQ1RJT04pKTsKICAg
ICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggMmMw
NzdhOTliMjkzNDNhY2ViMTAwZmQ5ZTYyNGVmNDg5Yjg3ZmJlYS4uNTg0NDNiZjZmYjJlMjI1Y2Vh
MzE2NGQwMzkyOTdlMTUwNDFiYzZkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwCkBAIC0zMDk3LDcgKzMwOTcsNyBAQCBzdGF0aWMgaW5saW5lIFJlbmRlckVsZW1l
bnQqIHJlbmRlcmVyRm9yU2Nyb2xsYmFyKFJlbmRlckxheWVyTW9kZWxPYmplY3QmIHJlbmRlcgog
ewogICAgIGlmIChFbGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXIuZWxlbWVudCgpKSB7CiAgICAg
ICAgIGlmIChTaGFkb3dSb290KiBzaGFkb3dSb290ID0gZWxlbWVudC0+Y29udGFpbmluZ1NoYWRv
d1Jvb3QoKSkgewotICAgICAgICAgICAgaWYgKHNoYWRvd1Jvb3QtPm1vZGUoKSA9PSBTaGFkb3dS
b290OjpNb2RlOjpVc2VyQWdlbnQpCisgICAgICAgICAgICBpZiAoc2hhZG93Um9vdC0+bW9kZSgp
ID09IFNoYWRvd1Jvb3RNb2RlOjpVc2VyQWdlbnQpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHNo
YWRvd1Jvb3QtPmhvc3QoKS0+cmVuZGVyZXIoKTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVTY29wZS5jcHAKaW5kZXggNGNkODY5MzMxNGM3MTc2ODI0OGQ3MzMxMzUwMDZh
NzYxY2Y4NGFhNC4uOGUxYTIyYWMwNjg5MWYyMjNkZGNkYzFkYThlMmFlMGRiNGJmMWNlZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgYm9vbCBTY29w
ZTo6c2hvdWxkVXNlU2hhcmVkVXNlckFnZW50U2hhZG93VHJlZVN0eWxlUmVzb2x2ZXIoKSBjb25z
dAogewogICAgIGlmICghbV9zaGFkb3dSb290KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
aWYgKG1fc2hhZG93Um9vdC0+bW9kZSgpICE9IFNoYWRvd1Jvb3Q6Ok1vZGU6OlVzZXJBZ2VudCkK
KyAgICBpZiAobV9zaGFkb3dSb290LT5tb2RlKCkgIT0gU2hhZG93Um9vdE1vZGU6OlVzZXJBZ2Vu
dCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIC8vIElmIHdlIGhhdmUgc3R5bGVzaGVldHMg
aW4gdGhlIHVzZXIgYWdlbnQgc2hhZG93IHRyZWUgdXNlIHBlci1zY29wZSByZXNvbHZlci4KICAg
ICBpZiAoIW1fc3R5bGVTaGVldENhbmRpZGF0ZU5vZGVzLmlzRW1wdHkoKSkKQEAgLTUyMCw3ICs1
MjAsNyBAQCB2b2lkIFNjb3BlOjpkaWRDaGFuZ2VTdHlsZVNoZWV0RW52aXJvbm1lbnQoKQogICAg
IGlmICghbV9zaGFkb3dSb290KSB7CiAgICAgICAgIGZvciAoYXV0byogZGVzY2VuZGFudFNoYWRv
d1Jvb3QgOiBtX2RvY3VtZW50LmluRG9jdW1lbnRTaGFkb3dSb290cygpKSB7CiAgICAgICAgICAg
ICAvLyBTdHlsZXNoZWV0cyBpcyBhdXRob3Igc2hhZG93IHJvb3RzIGFyZSBhcmUgcG90ZW50aWFs
bHkgYWZmZWN0ZWQuCi0gICAgICAgICAgICBpZiAoZGVzY2VuZGFudFNoYWRvd1Jvb3QtPm1vZGUo
KSAhPSBTaGFkb3dSb290OjpNb2RlOjpVc2VyQWdlbnQpCisgICAgICAgICAgICBpZiAoZGVzY2Vu
ZGFudFNoYWRvd1Jvb3QtPm1vZGUoKSAhPSBTaGFkb3dSb290TW9kZTo6VXNlckFnZW50KQogICAg
ICAgICAgICAgICAgIGRlc2NlbmRhbnRTaGFkb3dSb290LT5zdHlsZVNjb3BlKCkuc2NoZWR1bGVV
cGRhdGUoVXBkYXRlVHlwZTo6Q29udGVudHNPckludGVycHJldGF0aW9uKTsKICAgICAgICAgfQog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCAzMGQxNDA3OTFjZGZhZGFkN2Jj
MjhjYmY2NThmYWJlOGEwM2Q3YzQyLi5hMjZhZTg0Mzc1OGY4NTExMmRjZTg4YzAxNmY5MjAwNGM5
Mjk1ZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC00MzIsNyArNDMyLDcgQEAg
U1ZHVXNlRWxlbWVudCogU1ZHRWxlbWVudDo6Y29ycmVzcG9uZGluZ1VzZUVsZW1lbnQoKSBjb25z
dAogICAgIGF1dG8qIHJvb3QgPSBjb250YWluaW5nU2hhZG93Um9vdCgpOwogICAgIGlmICghcm9v
dCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgaWYgKHJvb3QtPm1vZGUoKSAhPSBTaGFk
b3dSb290OjpNb2RlOjpVc2VyQWdlbnQpCisgICAgaWYgKHJvb3QtPm1vZGUoKSAhPSBTaGFkb3dS
b290TW9kZTo6VXNlckFnZW50KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBhdXRvKiBo
b3N0ID0gcm9vdC0+aG9zdCgpOwogICAgIGlmICghaXM8U1ZHVXNlRWxlbWVudD4oaG9zdCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggOTQ0MmIyZWYwN2ZmMWQzZDgzNWUx
ZWYxZDgwMDliZWUwNjY1MDRkOC4uOGJjOTFiNTNkOWFmOGQ3ZmEyYWRhMzAyY2ZjNmY3OGExMDlj
Y2Y1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtODE3LDExICs4MTcs
MTEgQEAgRXhjZXB0aW9uT3I8U3RyaW5nPiBJbnRlcm5hbHM6OnNoYWRvd1Jvb3RUeXBlKGNvbnN0
IE5vZGUmIHJvb3QpIGNvbnN0CiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FD
Q0VTU19FUlIgfTsKIAogICAgIHN3aXRjaCAoZG93bmNhc3Q8U2hhZG93Um9vdD4ocm9vdCkubW9k
ZSgpKSB7Ci0gICAgY2FzZSBTaGFkb3dSb290OjpNb2RlOjpVc2VyQWdlbnQ6CisgICAgY2FzZSBT
aGFkb3dSb290TW9kZTo6VXNlckFnZW50OgogICAgICAgICByZXR1cm4gU3RyaW5nKCJVc2VyQWdl
bnRTaGFkb3dSb290Iik7Ci0gICAgY2FzZSBTaGFkb3dSb290OjpNb2RlOjpDbG9zZWQ6CisgICAg
Y2FzZSBTaGFkb3dSb290TW9kZTo6Q2xvc2VkOgogICAgICAgICByZXR1cm4gU3RyaW5nKCJDbG9z
ZWRTaGFkb3dSb290Iik7Ci0gICAgY2FzZSBTaGFkb3dSb290OjpNb2RlOjpPcGVuOgorICAgIGNh
c2UgU2hhZG93Um9vdE1vZGU6Ok9wZW46CiAgICAgICAgIHJldHVybiBTdHJpbmcoIk9wZW5TaGFk
b3dSb290Iik7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>