<?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>174427</bug_id>
          
          <creation_ts>2017-07-12 10:06:14 -0700</creation_ts>
          <short_desc>Rename NavigationInitiatedByMainFrame to InitiatedByMainFrame</short_desc>
          <delta_ts>2017-07-12 10:12:16 -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>WebCore Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>beidson</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1328091</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-07-12 10:06:14 -0700</bug_when>
    <thetext>Following up from bug #174386, comment 4, rename NavigationInitiatedByMainFrame to InitiatedByMainFrame as it s clear from its usage that this enum is talking about that a load/navigation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328093</commentid>
    <comment_count>1</comment_count>
      <attachid>315252</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-07-12 10:07:12 -0700</bug_when>
    <thetext>Created attachment 315252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328094</commentid>
    <comment_count>2</comment_count>
      <attachid>315252</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-12 10:08:26 -0700</bug_when>
    <thetext>Comment on attachment 315252
Patch

Looks like just a mechanical rename, rs=me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328096</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-07-12 10:12:16 -0700</bug_when>
    <thetext>Committed r219404: &lt;http://trac.webkit.org/changeset/219404&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315252</attachid>
            <date>2017-07-12 10:07:12 -0700</date>
            <delta_ts>2017-07-12 10:08:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174427-20170712100721.patch</filename>
            <type>text/plain</type>
            <size>52774</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5NDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzYyMDI2ZWEwYjc3YTVm
Zjc1ZGY2NzZiMWY4OTQ0MzAxNDc5M2I1NS4uYTQzMDY1YTJkMzYxYzY4MDdhMWM4YmMwZDU1ZjQ4
YTI2ZDI0ZDc1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE3LTA3LTEyICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgTmF2aWdhdGlv
bkluaXRpYXRlZEJ5TWFpbkZyYW1lIHRvIEluaXRpYXRlZEJ5TWFpbkZyYW1lCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQ0MjcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWw6Om9wZW5Jbk5ld1RhYik6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvclBhZ2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdl
bnQ6Om5hdmlnYXRlKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRSZXF1ZXN0KToKKyAg
ICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVMb2FkUmVxdWVzdDo6RnJhbWVMb2FkUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZUxvYWRSZXF1ZXN0Ojppbml0aWF0ZWRCeU1haW5GcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZUxvYWRSZXF1ZXN0OjpuYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUpOiBEZWxldGVk
LgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZUxvYWRlcjo6dXJsU2VsZWN0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6
OmxvYWRVUkxJbnRvQ2hpbGRGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRPcGVuRXh0
ZXJuYWxVUkxzUG9saWN5VG9BcHBseSk6CisgICAgICAgIChXZWJDb3JlOjphcHBseVNob3VsZE9w
ZW5FeHRlcm5hbFVSTHNQb2xpY3lUb05ld0RvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lTG9hZGVyOjpsb2FkVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVy
Ojpsb2FkV2l0aE5hdmlnYXRpb25BY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2Fk
ZXI6OnJlbG9hZFdpdGhPdmVycmlkZUVuY29kaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
TG9hZGVyOjpyZWxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRQb3N0
UmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0
ZXJOZXdXaW5kb3dQb2xpY3kpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRE
aWZmZXJlbnREb2N1bWVudEl0ZW0pOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgor
ICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlclR5cGVzLmg6CisgICAgICAgICogbG9hZGVyL05h
dmlnYXRpb25BY3Rpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRpb25BY3Rpb246Omlu
aXRpYXRlZEJ5TWFpbkZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRpb25BY3Rpb246
Om5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZSk6IERlbGV0ZWQuCisgICAgICAgICogbG9h
ZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NoZWR1bGVk
TmF2aWdhdGlvbjo6U2NoZWR1bGVkTmF2aWdhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTY2hl
ZHVsZWROYXZpZ2F0aW9uOjppbml0aWF0ZWRCeU1haW5GcmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpOYXZpZ2F0aW9uU2NoZWR1bGVyOjpzY2hlZHVsZUxvY2F0aW9uQ2hhbmdlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjaGVkdWxlZE5hdmlnYXRpb246Om5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5G
cmFtZSk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6b3Blbk5ld1dpbmRvdyk6CisgICAgICAgIChXZWJDb3JlOjpD
b250ZXh0TWVudUNvbnRyb2xsZXI6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKToKKyAgICAgICAg
KiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmNyZWF0
ZVdpbmRvdyk6CisKIDIwMTctMDctMTIgIE1hdHQgTGV3aXMgIDxqbGV3aXMzQGFwcGxlLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjE5Mzc5LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9pb3MvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9pb3MvQ2hhbmdlTG9n
CmluZGV4IDVmODhmMzA5ODU1YjQwYmU4MTYzMTQ3ODUwMWM0NWY3NTgwZjc2OGQuLjlkZjE5MjAw
MGMxYzM4ODBhOGI4OWZlZmNiZDc3NGU0MjE3YjlkM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvaW9zL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2lvcy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNy0wNy0xMiAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+
CisKKyAgICAgICAgUmVuYW1lIE5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZSB0byBJbml0
aWF0ZWRCeU1haW5GcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc0NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJWaWV3L1dlYlBERlZpZXdQbGFjZWhvbGRlci5tbToKKyAgICAgICAgKC1b
V2ViUERGVmlld1BsYWNlaG9sZGVyIHNpbXVsYXRlQ2xpY2tPbkxpbmtUb1VSTDpdKToKKwogMjAx
Ny0wNy0wOSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIHNvbWUgb2Jzb2xldGUgV2ViS2l0VmVyc2lvbkNoZWNrcy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRl
eCBhMWJmZjIxNjg4OGY3MTg3OTIwYTU0MDQ0YTNjOGIxMDE4NjUwYzZjLi45ZWUzZjY4NzJiZmZk
OGZjMWUzNDhjNDBlYmE3YThlNWY2ZTE5MzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTctMDctMTIgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlbmFtZSBOYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUgdG8gSW5pdGlhdGVk
QnlNYWluRnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3NDQyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViVmlldy9XZWJQREZWaWV3Lm1tOgorICAgICAgICAoLVtXZWJQREZWaWV3IFBERlZp
ZXdXaWxsQ2xpY2tPbkxpbms6d2l0aFVSTDpdKToKKwogMjAxNy0wNy0xMiAgTWF0dCBMZXdpcyAg
PGpsZXdpczNAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIy
MTkzNzkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggZTlhMjZhNmU0NTE4MTAxZmJkYjdkNzg4MzgwNzE0
YjdkN2QwOTMyMy4uZDVjMzk5OGNiMzYwMzhmYWU2NjU5N2M1YTRkNGY3NDhkY2QzMmU3MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA3LTEyICBEYW5pZWwgQmF0ZXMg
IDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgTmF2aWdhdGlvbkluaXRpYXRl
ZEJ5TWFpbkZyYW1lIHRvIEluaXRpYXRlZEJ5TWFpbkZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQ0MjcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlldy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQ
bHVnaW5WaWV3OjpnZXRVUkxOb3RpZnkpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6
Z2V0VVJMKToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OmhhbmRsZVBvc3QpOgorCiAy
MDE3LTA3LTA1ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAgICAg
ICAgW1dURl0gTW92ZSBTb2Z0TGlua2luZy5oIGludG8gV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjcyNDVh
ODQwYTVmZjMwMTk5MzNmNjI4MTQ5NmNkYjc0YjY3NDU1Yy4uODcyZWE0YWFkNDY4Y2I4YmIwZmNm
MjIxMjFkMDg4NzYyMjdmZDE0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5IEBACiAyMDE3LTA3
LTEyICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW5hbWUg
TmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lIHRvIEluaXRpYXRlZEJ5TWFpbkZyYW1lCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQ0MjcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmlldzo6
bG9hZFVSTCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50Ojpk
aXNwYXRjaENyZWF0ZVBhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNw
ZWN0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3I6Om9wZW5Jbk5ld1RhYik6
CisKKzIwMTctMDctMTIgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCiAgICAg
ICAgIFVwZGF0ZSBkZXNjcmlwdGlvbiBvZiBTZWN1cmUgQ29udGV4dHMgZXhwZXJpbWVudGFsIGZs
YWcKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDQw
MQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbC5jcHAKaW5kZXggYzg3NzcwNmFhOTNmNjJlYTFkOWNlNGMxNThlZDY4
OWNmNWQwM2M2Mi4uYjEwOGMxMGQwMGQ1MWQyZTY1Njc2ZjE2Njk1MmQ3YzM2NTkyMjVkYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50
TG9jYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZENsaWVudExvY2FsLmNwcApAQCAtMjI3LDcgKzIyNyw3IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbDo6b3BlbkluTmV3VGFiKGNvbnN0IFN0cmluZyYgdXJsKQogewogICAgIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yIGluZGljYXRvciB7IFByb2Nlc3NpbmdVc2VyR2VzdHVyZSB9Owog
ICAgIEZyYW1lJiBtYWluRnJhbWUgPSBtX2luc3BlY3RlZFBhZ2VDb250cm9sbGVyLT5pbnNwZWN0
ZWRQYWdlKCkubWFpbkZyYW1lKCk7Ci0gICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZUxvYWRSZXF1
ZXN0IHsgKm1haW5GcmFtZS5kb2N1bWVudCgpLCBtYWluRnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJp
dHlPcmlnaW4oKSwgeyB9LCBBU0NJSUxpdGVyYWwoIl9ibGFuayIpLCBMb2NrSGlzdG9yeTo6Tm8s
IExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBNYXliZVNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0
aW9uVG9JbnZhbGlkVVJMOjpZZXMsIE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdywgU2hvdWxk
T3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIE5hdmlnYXRpb25Jbml0aWF0
ZWRCeU1haW5GcmFtZTo6VW5rbm93biB9OworICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2Fk
UmVxdWVzdCB7ICptYWluRnJhbWUuZG9jdW1lbnQoKSwgbWFpbkZyYW1lLmRvY3VtZW50KCktPnNl
Y3VyaXR5T3JpZ2luKCksIHsgfSwgQVNDSUlMaXRlcmFsKCJfYmxhbmsiKSwgTG9ja0hpc3Rvcnk6
Ok5vLCBMb2NrQmFja0ZvcndhcmRMaXN0OjpObywgTWF5YmVTZW5kUmVmZXJyZXIsIEFsbG93TmF2
aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzLCBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3csIFNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCBJbml0aWF0ZWRCeU1h
aW5GcmFtZTo6VW5rbm93biB9OwogCiAgICAgYm9vbCBjcmVhdGVkOwogICAgIFJlZlB0cjxGcmFt
ZT4gZnJhbWUgPSBXZWJDb3JlOjpjcmVhdGVXaW5kb3cobWFpbkZyYW1lLCBtYWluRnJhbWUsIFdU
Rk1vdmUoZnJhbWVMb2FkUmVxdWVzdCksIHsgfSwgY3JlYXRlZCk7CkBAIC0yMzksNyArMjM5LDcg
QEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpvcGVuSW5OZXdUYWIoY29uc3Qg
U3RyaW5nJiB1cmwpCiAKICAgICAvLyBGSVhNRTogV2h5IGRvIHdlIGNvbXB1dGUgdGhlIGFic29s
dXRlIFVSTCB3aXRoIHJlc3BlY3QgdG8gfGZyYW1lfCBpbnN0ZWFkIG9mIHxtYWluRnJhbWV8Pwog
ICAgIFJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJlcXVlc3QgeyBmcmFtZS0+ZG9jdW1lbnQoKS0+
Y29tcGxldGVVUkwodXJsKSB9OwotICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVz
dDIgeyAqbWFpbkZyYW1lLmRvY3VtZW50KCksIG1haW5GcmFtZS5kb2N1bWVudCgpLT5zZWN1cml0
eU9yaWdpbigpLCByZXNvdXJjZVJlcXVlc3QsIEFTQ0lJTGl0ZXJhbCgiX3NlbGYiKSwgTG9ja0hp
c3Rvcnk6Ok5vLCBMb2NrQmFja0ZvcndhcmRMaXN0OjpObywgTWF5YmVTZW5kUmVmZXJyZXIsIEFs
bG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzLCBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxs
b3csIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCBOYXZpZ2F0
aW9uSW5pdGlhdGVkQnlNYWluRnJhbWU6OlVua25vd24gfTsKKyAgICBGcmFtZUxvYWRSZXF1ZXN0
IGZyYW1lTG9hZFJlcXVlc3QyIHsgKm1haW5GcmFtZS5kb2N1bWVudCgpLCBtYWluRnJhbWUuZG9j
dW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgcmVzb3VyY2VSZXF1ZXN0LCBBU0NJSUxpdGVyYWwo
Il9zZWxmIiksIExvY2tIaXN0b3J5OjpObywgTG9ja0JhY2tGb3J3YXJkTGlzdDo6Tm8sIE1heWJl
U2VuZFJlZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcywgTmV3RnJhbWVP
cGVuZXJQb2xpY3k6OkFsbG93LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGRO
b3RBbGxvdywgSW5pdGlhdGVkQnlNYWluRnJhbWU6OlVua25vd24gfTsKICAgICBmcmFtZS0+bG9h
ZGVyKCkuY2hhbmdlTG9jYXRpb24oV1RGTW92ZShmcmFtZUxvYWRSZXF1ZXN0MikpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4
IGNmMjUxZjViNTFmOWQ5MjlhNzNkYjFlMTIzNjA2ODkzNThkMWNhMTYuLmFmOTI5NmVjNGYxN2Y2
NWE5ZjU1MTJlMTk5ZTlkMDhjOGJmNDliMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCkBAIC00MjMsNyArNDIzLDcgQEAgdm9pZCBJbnNw
ZWN0b3JQYWdlQWdlbnQ6Om5hdmlnYXRlKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiB1cmwp
CiAgICAgRnJhbWUmIGZyYW1lID0gbV9wYWdlLm1haW5GcmFtZSgpOwogCiAgICAgUmVzb3VyY2VS
ZXF1ZXN0IHJlc291cmNlUmVxdWVzdCB7IGZyYW1lLmRvY3VtZW50KCktPmNvbXBsZXRlVVJMKHVy
bCkgfTsKLSAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyAqZnJhbWUuZG9j
dW1lbnQoKSwgZnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgcmVzb3VyY2VSZXF1
ZXN0LCBBU0NJSUxpdGVyYWwoIl9zZWxmIiksIExvY2tIaXN0b3J5OjpObywgTG9ja0JhY2tGb3J3
YXJkTGlzdDo6Tm8sIE1heWJlU2VuZFJlZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRV
Ukw6Ok5vLCBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3csIFNob3VsZE9wZW5FeHRlcm5hbFVS
THNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCBOYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWU6
OlVua25vd24gfTsKKyAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyAqZnJh
bWUuZG9jdW1lbnQoKSwgZnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgcmVzb3Vy
Y2VSZXF1ZXN0LCBBU0NJSUxpdGVyYWwoIl9zZWxmIiksIExvY2tIaXN0b3J5OjpObywgTG9ja0Jh
Y2tGb3J3YXJkTGlzdDo6Tm8sIE1heWJlU2VuZFJlZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0lu
dmFsaWRVUkw6Ok5vLCBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3csIFNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCBJbml0aWF0ZWRCeU1haW5GcmFtZTo6VW5r
bm93biB9OwogICAgIGZyYW1lLmxvYWRlcigpLmNoYW5nZUxvY2F0aW9uKFdURk1vdmUoZnJhbWVM
b2FkUmVxdWVzdCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkUmVxdWVz
dC5jcHAKaW5kZXggYTU1M2Y1YjdiNjdkNWI3NTBkODRhNzAwYjRkNWZjODBkOTNkNjVkZi4uMDIz
ODJmMzdiM2Q3NTJmOGI2NGE5MmIwMTZhYTYyZTQ4OThiOWFiZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmNwcApAQCAtMzcsNyArMzcsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLUZyYW1lTG9hZFJlcXVlc3Q6OkZyYW1lTG9hZFJlcXVlc3QoRG9jdW1l
bnQmIHJlcXVlc3RlciwgU2VjdXJpdHlPcmlnaW4mIHJlcXVlc3RlclNlY3VyaXR5T3JpZ2luLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCwgY29uc3QgU3RyaW5nJiBmcmFt
ZU5hbWUsIExvY2tIaXN0b3J5IGxvY2tIaXN0b3J5LCBMb2NrQmFja0ZvcndhcmRMaXN0IGxvY2tC
YWNrRm9yd2FyZExpc3QsIFNob3VsZFNlbmRSZWZlcnJlciBzaG91bGRTZW5kUmVmZXJyZXIsIEFs
bG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwsIE5l
d0ZyYW1lT3BlbmVyUG9saWN5IG5ld0ZyYW1lT3BlbmVyUG9saWN5LCBTaG91bGRPcGVuRXh0ZXJu
YWxVUkxzUG9saWN5IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3ksIE5hdmlnYXRpb25Jbml0
aWF0ZWRCeU1haW5GcmFtZSBuYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUsIFNob3VsZFJl
cGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCBzaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFT
Y3JpcHRVUkwsIGNvbnN0IEF0b21pY1N0cmluZyYgZG93bmxvYWRBdHRyaWJ1dGUpCitGcmFtZUxv
YWRSZXF1ZXN0OjpGcmFtZUxvYWRSZXF1ZXN0KERvY3VtZW50JiByZXF1ZXN0ZXIsIFNlY3VyaXR5
T3JpZ2luJiByZXF1ZXN0ZXJTZWN1cml0eU9yaWdpbiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXNvdXJjZVJlcXVlc3QsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBMb2NrSGlzdG9yeSBsb2Nr
SGlzdG9yeSwgTG9ja0JhY2tGb3J3YXJkTGlzdCBsb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRT
ZW5kUmVmZXJyZXIgc2hvdWxkU2VuZFJlZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRV
UkwgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMLCBOZXdGcmFtZU9wZW5lclBvbGljeSBuZXdG
cmFtZU9wZW5lclBvbGljeSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5LCBJbml0aWF0ZWRCeU1haW5GcmFtZSBpbml0aWF0ZWRCeU1haW5G
cmFtZSwgU2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMIHNob3VsZFJlcGxhY2VE
b2N1bWVudElmSmF2YVNjcmlwdFVSTCwgY29uc3QgQXRvbWljU3RyaW5nJiBkb3dubG9hZEF0dHJp
YnV0ZSkKICAgICA6IG1fcmVxdWVzdGVyIHsgbWFrZVJlZihyZXF1ZXN0ZXIpIH0KICAgICAsIG1f
cmVxdWVzdGVyU2VjdXJpdHlPcmlnaW4geyBtYWtlUmVmKHJlcXVlc3RlclNlY3VyaXR5T3JpZ2lu
KSB9CiAgICAgLCBtX3Jlc291cmNlUmVxdWVzdCB7IHJlc291cmNlUmVxdWVzdCB9CkBAIC01MCw3
ICs1MCw3IEBAIEZyYW1lTG9hZFJlcXVlc3Q6OkZyYW1lTG9hZFJlcXVlc3QoRG9jdW1lbnQmIHJl
cXVlc3RlciwgU2VjdXJpdHlPcmlnaW4mIHJlcXVlc3RlCiAgICAgLCBtX3Nob3VsZFJlcGxhY2VE
b2N1bWVudElmSmF2YVNjcmlwdFVSTCB7IHNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlw
dFVSTCB9CiAgICAgLCBtX3Nob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgeyBzaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5IH0KICAgICAsIG1fZG93bmxvYWRBdHRyaWJ1dGUgeyBkb3dubG9h
ZEF0dHJpYnV0ZSB9Ci0gICAgLCBtX25hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZSB7IG5h
dmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZSB9CisgICAgLCBtX2luaXRpYXRlZEJ5TWFpbkZy
YW1lIHsgaW5pdGlhdGVkQnlNYWluRnJhbWUgfQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZFJlcXVlc3QuaAppbmRleCA5YTA1MzAzMWI4NWY2OTEyOTk0MTNjYjNkZmJiZTNj
NGRkYzUxZDExLi44NTdiMDM1NTkxNDlhZWY3ZGVlN2Q5OTQ4YjhjNzQ0MmY0MTE0NDRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmgKQEAgLTM4LDcgKzM4LDcgQEAg
Y2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKIGNsYXNzIEZyYW1lTG9hZFJlcXVlc3QgewogcHVibGlj
OgotICAgIFdFQkNPUkVfRVhQT1JUIEZyYW1lTG9hZFJlcXVlc3QoRG9jdW1lbnQmLCBTZWN1cml0
eU9yaWdpbiYsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1l
LCBMb2NrSGlzdG9yeSwgTG9ja0JhY2tGb3J3YXJkTGlzdCwgU2hvdWxkU2VuZFJlZmVycmVyLCBB
bGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwsIE5ld0ZyYW1lT3BlbmVyUG9saWN5LCBTaG91bGRP
cGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBOYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUsIFNo
b3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCA9IFJlcGxhY2VEb2N1bWVudElmSmF2
YVNjcmlwdFVSTCwgY29uc3QgQXRvbWljU3RyaW5nJiBkb3dubG9hZEF0dHJpYnV0ZSA9IHsgfSk7
CisgICAgV0VCQ09SRV9FWFBPUlQgRnJhbWVMb2FkUmVxdWVzdChEb2N1bWVudCYsIFNlY3VyaXR5
T3JpZ2luJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBmcmFtZU5hbWUs
IExvY2tIaXN0b3J5LCBMb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIsIEFs
bG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCwgTmV3RnJhbWVPcGVuZXJQb2xpY3ksIFNob3VsZE9w
ZW5FeHRlcm5hbFVSTHNQb2xpY3ksIEluaXRpYXRlZEJ5TWFpbkZyYW1lLCBTaG91bGRSZXBsYWNl
RG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgPSBSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkws
IGNvbnN0IEF0b21pY1N0cmluZyYgZG93bmxvYWRBdHRyaWJ1dGUgPSB7IH0pOwogICAgIFdFQkNP
UkVfRVhQT1JUIEZyYW1lTG9hZFJlcXVlc3QoRnJhbWUmLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBjb25zdCBTdWJzdGl0dXRlRGF0YSYgPSBT
dWJzdGl0dXRlRGF0YSgpKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIH5GcmFtZUxvYWRSZXF1ZXN0
KCk7CkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IEF0b21pY1N0cmluZyYg
ZG93bmxvYWRBdHRyaWJ1dGUoKSBjb25zdCB7IHJldHVybiBtX2Rvd25sb2FkQXR0cmlidXRlOyB9
CiAKLSAgICBOYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUgbmF2aWdhdGlvbkluaXRpYXRl
ZEJ5TWFpbkZyYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWlu
RnJhbWU7IH0KKyAgICBJbml0aWF0ZWRCeU1haW5GcmFtZSBpbml0aWF0ZWRCeU1haW5GcmFtZSgp
IGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhdGVkQnlNYWluRnJhbWU7IH0KIAogcHJpdmF0ZToKICAg
ICBSZWY8RG9jdW1lbnQ+IG1fcmVxdWVzdGVyOwpAQCAtOTcsNyArOTcsNyBAQCBwcml2YXRlOgog
ICAgIFNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCBtX3Nob3VsZFJlcGxhY2VE
b2N1bWVudElmSmF2YVNjcmlwdFVSTDsKICAgICBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5
IG1fc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSB7IFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3k6OlNob3VsZE5vdEFsbG93IH07CiAgICAgQXRvbWljU3RyaW5nIG1fZG93bmxvYWRBdHRy
aWJ1dGU7Ci0gICAgTmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lIG1fbmF2aWdhdGlvbklu
aXRpYXRlZEJ5TWFpbkZyYW1lIHsgTmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtu
b3duIH07CisgICAgSW5pdGlhdGVkQnlNYWluRnJhbWUgbV9pbml0aWF0ZWRCeU1haW5GcmFtZSB7
IEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCA1MGQ0MmJkYmJh
NmQ5ZDNkYzgwZjdhZWMzZWM0OTYyZTlmZWI1NTVlLi44OWVlYjhkZWE4N2VmYTYwMTU1N2MwOTcw
OGI4M2VjMDU5NWI0YmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAg
LTM2NSwxMCArMzY1LDEwIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNoYW5nZUxvY2F0aW9uKEZyYW1l
TG9hZFJlcXVlc3QmJiByZXF1ZXN0KQogdm9pZCBGcmFtZUxvYWRlcjo6dXJsU2VsZWN0ZWQoY29u
c3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcGFzc2VkVGFyZ2V0LCBFdmVudCogdHJpZ2dlcmlu
Z0V2ZW50LCBMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgTG9ja0JhY2tGb3J3YXJkTGlzdCBsb2Nr
QmFja0ZvcndhcmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIgc2hvdWxkU2VuZFJlZmVycmVyLCBT
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3ks
IHN0ZDo6b3B0aW9uYWw8TmV3RnJhbWVPcGVuZXJQb2xpY3k+IG9wZW5lclBvbGljeSwgY29uc3Qg
QXRvbWljU3RyaW5nJiBkb3dubG9hZEF0dHJpYnV0ZSkKIHsKICAgICBhdXRvKiBmcmFtZSA9IGxl
eGljYWxGcmFtZUZyb21Db21tb25WTSgpOwotICAgIGF1dG8gbmF2aWdhdGlvbkluaXRpYXRlZEJ5
TWFpbkZyYW1lID0gZnJhbWUgJiYgZnJhbWUtPmlzTWFpbkZyYW1lKCkgPyBOYXZpZ2F0aW9uSW5p
dGlhdGVkQnlNYWluRnJhbWU6OlllcyA6IE5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZTo6
VW5rbm93bjsKKyAgICBhdXRvIGluaXRpYXRlZEJ5TWFpbkZyYW1lID0gZnJhbWUgJiYgZnJhbWUt
PmlzTWFpbkZyYW1lKCkgPyBJbml0aWF0ZWRCeU1haW5GcmFtZTo6WWVzIDogSW5pdGlhdGVkQnlN
YWluRnJhbWU6OlVua25vd247CiAKICAgICBOZXdGcmFtZU9wZW5lclBvbGljeSBuZXdGcmFtZU9w
ZW5lclBvbGljeSA9IG9wZW5lclBvbGljeS52YWx1ZV9vcihzaG91bGRTZW5kUmVmZXJyZXIgPT0g
TmV2ZXJTZW5kUmVmZXJyZXIgPyBOZXdGcmFtZU9wZW5lclBvbGljeTo6U3VwcHJlc3MgOiBOZXdG
cmFtZU9wZW5lclBvbGljeTo6QWxsb3cpOwotICAgIHVybFNlbGVjdGVkKEZyYW1lTG9hZFJlcXVl
c3QoKm1fZnJhbWUuZG9jdW1lbnQoKSwgbV9mcmFtZS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdp
bigpLCB7IHVybCB9LCBwYXNzZWRUYXJnZXQsIGxvY2tIaXN0b3J5LCBsb2NrQmFja0ZvcndhcmRM
aXN0LCBzaG91bGRTZW5kUmVmZXJyZXIsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVz
LCBuZXdGcmFtZU9wZW5lclBvbGljeSwgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgbmF2
aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lLCBEb05vdFJlcGxhY2VEb2N1bWVudElmSmF2YVNj
cmlwdFVSTCwgZG93bmxvYWRBdHRyaWJ1dGUpLCB0cmlnZ2VyaW5nRXZlbnQpOworICAgIHVybFNl
bGVjdGVkKEZyYW1lTG9hZFJlcXVlc3QoKm1fZnJhbWUuZG9jdW1lbnQoKSwgbV9mcmFtZS5kb2N1
bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCB7IHVybCB9LCBwYXNzZWRUYXJnZXQsIGxvY2tIaXN0
b3J5LCBsb2NrQmFja0ZvcndhcmRMaXN0LCBzaG91bGRTZW5kUmVmZXJyZXIsIEFsbG93TmF2aWdh
dGlvblRvSW52YWxpZFVSTDo6WWVzLCBuZXdGcmFtZU9wZW5lclBvbGljeSwgc2hvdWxkT3BlbkV4
dGVybmFsVVJMc1BvbGljeSwgaW5pdGlhdGVkQnlNYWluRnJhbWUsIERvTm90UmVwbGFjZURvY3Vt
ZW50SWZKYXZhU2NyaXB0VVJMLCBkb3dubG9hZEF0dHJpYnV0ZSksIHRyaWdnZXJpbmdFdmVudCk7
CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6OnVybFNlbGVjdGVkKEZyYW1lTG9hZFJlcXVlc3QmJiBm
cmFtZVJlcXVlc3QsIEV2ZW50KiB0cmlnZ2VyaW5nRXZlbnQpCkBAIC05MjksOSArOTI5LDkgQEAg
dm9pZCBGcmFtZUxvYWRlcjo6bG9hZFVSTEludG9DaGlsZEZyYW1lKGNvbnN0IFVSTCYgdXJsLCBj
b25zdCBTdHJpbmcmIHJlZmVyZXIsIEYKICAgICB9CiAKICAgICBhdXRvKiBsZXhpY2FsRnJhbWUg
PSBsZXhpY2FsRnJhbWVGcm9tQ29tbW9uVk0oKTsKLSAgICBhdXRvIG5hdmlnYXRpb25Jbml0aWF0
ZWRCeU1haW5GcmFtZSA9IGxleGljYWxGcmFtZSAmJiBsZXhpY2FsRnJhbWUtPmlzTWFpbkZyYW1l
KCkgPyBOYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWU6OlllcyA6IE5hdmlnYXRpb25Jbml0
aWF0ZWRCeU1haW5GcmFtZTo6VW5rbm93bjsKKyAgICBhdXRvIGluaXRpYXRlZEJ5TWFpbkZyYW1l
ID0gbGV4aWNhbEZyYW1lICYmIGxleGljYWxGcmFtZS0+aXNNYWluRnJhbWUoKSA/IEluaXRpYXRl
ZEJ5TWFpbkZyYW1lOjpZZXMgOiBJbml0aWF0ZWRCeU1haW5GcmFtZTo6VW5rbm93bjsKIAotICAg
IEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7ICptX2ZyYW1lLmRvY3VtZW50KCks
IG1fZnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgeyB1cmwgfSwgQVNDSUlMaXRl
cmFsKCJfc2VsZiIpLCBMb2NrSGlzdG9yeTo6Tm8sIExvY2tCYWNrRm9yd2FyZExpc3Q6Olllcywg
U2hvdWxkU2VuZFJlZmVycmVyOjpNYXliZVNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9J
bnZhbGlkVVJMOjpZZXMsIE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpTdXBwcmVzcywgU2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIG5hdmlnYXRpb25Jbml0aWF0ZWRC
eU1haW5GcmFtZSB9OworICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7ICpt
X2ZyYW1lLmRvY3VtZW50KCksIG1fZnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwg
eyB1cmwgfSwgQVNDSUlMaXRlcmFsKCJfc2VsZiIpLCBMb2NrSGlzdG9yeTo6Tm8sIExvY2tCYWNr
Rm9yd2FyZExpc3Q6OlllcywgU2hvdWxkU2VuZFJlZmVycmVyOjpNYXliZVNlbmRSZWZlcnJlciwg
QWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMsIE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpT
dXBwcmVzcywgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIGlu
aXRpYXRlZEJ5TWFpbkZyYW1lIH07CiAgICAgY2hpbGRGcmFtZS0+bG9hZGVyKCkubG9hZFVSTChX
VEZNb3ZlKGZyYW1lTG9hZFJlcXVlc3QpLCByZWZlcmVyLCBGcmFtZUxvYWRUeXBlOjpSZWRpcmVj
dFdpdGhMb2NrZWRCYWNrRm9yd2FyZExpc3QsIG51bGxwdHIsIG51bGxwdHIpOwogfQogCkBAIC0x
MjE1LDEyICsxMjE1LDEyIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRGcmFtZVJlcXVlc3QoRnJh
bWVMb2FkUmVxdWVzdCYmIHJlcXVlc3QsIEV2ZW50KiBldmVudCwgRm9yCiAgICAgfQogfQogCi1z
dGF0aWMgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxz
UG9saWN5VG9BcHBseShGcmFtZSYgY3VycmVudEZyYW1lLCBOYXZpZ2F0aW9uSW5pdGlhdGVkQnlN
YWluRnJhbWUgbmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lLCBTaG91bGRPcGVuRXh0ZXJu
YWxVUkxzUG9saWN5IHByb3BhZ2F0ZWRQb2xpY3kpCitzdGF0aWMgU2hvdWxkT3BlbkV4dGVybmFs
VVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9BcHBseShGcmFtZSYgY3Vy
cmVudEZyYW1lLCBJbml0aWF0ZWRCeU1haW5GcmFtZSBpbml0aWF0ZWRCeU1haW5GcmFtZSwgU2hv
dWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBwcm9wYWdhdGVkUG9saWN5KQogewogICAgIGlmIChT
Y3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkKICAgICAgICAgcmV0dXJu
IFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZEFsbG93OwogCi0gICAgaWYgKG5h
dmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZSA9PSBOYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWlu
RnJhbWU6OlllcykKKyAgICBpZiAoaW5pdGlhdGVkQnlNYWluRnJhbWUgPT0gSW5pdGlhdGVkQnlN
YWluRnJhbWU6OlllcykKICAgICAgICAgcmV0dXJuIHByb3BhZ2F0ZWRQb2xpY3k7CiAKICAgICBp
ZiAoIWN1cnJlbnRGcmFtZS5pc01haW5GcmFtZSgpKQpAQCAtMTIzMSwxMiArMTIzMSwxMiBAQCBz
dGF0aWMgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxz
UG9saWN5VG9BcHBseShGcmFtZSYgYwogCiBzdGF0aWMgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9BcHBseShGcmFtZSYgY3VycmVudEZy
YW1lLCBjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiBmcmFtZUxvYWRSZXF1ZXN0KQogewotICAgIHJl
dHVybiBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9BcHBseShjdXJyZW50RnJhbWUsIGZy
YW1lTG9hZFJlcXVlc3QubmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lKCksIGZyYW1lTG9h
ZFJlcXVlc3Quc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSgpKTsKKyAgICByZXR1cm4gc2hv
dWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeVRvQXBwbHkoY3VycmVudEZyYW1lLCBmcmFtZUxvYWRS
ZXF1ZXN0LmluaXRpYXRlZEJ5TWFpbkZyYW1lKCksIGZyYW1lTG9hZFJlcXVlc3Quc2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeSgpKTsKIH0KIAotc3RhdGljIHZvaWQgYXBwbHlTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5VG9OZXdEb2N1bWVudExvYWRlcihGcmFtZSYgZnJhbWUsIERvY3Vt
ZW50TG9hZGVyJiBkb2N1bWVudExvYWRlciwgTmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1l
IG5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeSBwcm9wYWdhdGVkUG9saWN5KQorc3RhdGljIHZvaWQgYXBwbHlTaG91bGRPcGVuRXh0ZXJu
YWxVUkxzUG9saWN5VG9OZXdEb2N1bWVudExvYWRlcihGcmFtZSYgZnJhbWUsIERvY3VtZW50TG9h
ZGVyJiBkb2N1bWVudExvYWRlciwgSW5pdGlhdGVkQnlNYWluRnJhbWUgaW5pdGlhdGVkQnlNYWlu
RnJhbWUsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgcHJvcGFnYXRlZFBvbGljeSkKIHsK
LSAgICBkb2N1bWVudExvYWRlci5zZXRTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KHNob3Vs
ZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3lUb0FwcGx5KGZyYW1lLCBuYXZpZ2F0aW9uSW5pdGlhdGVk
QnlNYWluRnJhbWUsIHByb3BhZ2F0ZWRQb2xpY3kpKTsKKyAgICBkb2N1bWVudExvYWRlci5zZXRT
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3lU
b0FwcGx5KGZyYW1lLCBpbml0aWF0ZWRCeU1haW5GcmFtZSwgcHJvcGFnYXRlZFBvbGljeSkpOwog
fQogCiBzdGF0aWMgdm9pZCBhcHBseVNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3lUb05ld0Rv
Y3VtZW50TG9hZGVyKEZyYW1lJiBmcmFtZSwgRG9jdW1lbnRMb2FkZXImIGRvY3VtZW50TG9hZGVy
LCBjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiBmcmFtZUxvYWRSZXF1ZXN0KQpAQCAtMTMyMCw3ICsx
MzIwLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZFVSTChGcmFtZUxvYWRSZXF1ZXN0JiYgZnJh
bWVMb2FkUmVxdWVzdCwgY29uc3QgU3RyaW5nJiByZWYKIAogICAgIC8vIG11c3QgZ3JhYiB0aGlz
IG5vdywgc2luY2UgdGhpcyBsb2FkIG1heSBzdG9wIHRoZSBwcmV2aW91cyBsb2FkIGFuZCBjbGVh
ciB0aGlzIGZsYWcKICAgICBib29sIGlzUmVkaXJlY3QgPSBtX3F1aWNrUmVkaXJlY3RDb21pbmc7
Ci0gICAgbG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKHJlcXVlc3QsIGFjdGlvbiwgbG9ja0hpc3Rv
cnksIG5ld0xvYWRUeXBlLCBmb3JtU3RhdGUsIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCwg
ZnJhbWVMb2FkUmVxdWVzdC5uYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUoKSk7CisgICAg
bG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKHJlcXVlc3QsIGFjdGlvbiwgbG9ja0hpc3RvcnksIG5l
d0xvYWRUeXBlLCBmb3JtU3RhdGUsIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCwgZnJhbWVM
b2FkUmVxdWVzdC5pbml0aWF0ZWRCeU1haW5GcmFtZSgpKTsKICAgICBpZiAoaXNSZWRpcmVjdCkg
ewogICAgICAgICBtX3F1aWNrUmVkaXJlY3RDb21pbmcgPSBmYWxzZTsKICAgICAgICAgaWYgKG1f
cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcikKQEAgLTEzNzksMTAgKzEzNzksMTAgQEAgdm9pZCBG
cmFtZUxvYWRlcjo6bG9hZChGcmFtZUxvYWRSZXF1ZXN0JiYgcmVxdWVzdCkKICAgICBsb2FkKGxv
YWRlci5wdHIoKSk7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6OmxvYWRXaXRoTmF2aWdhdGlvbkFj
dGlvbihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IE5hdmlnYXRpb25BY3Rp
b24mIGFjdGlvbiwgTG9ja0hpc3RvcnkgbG9ja0hpc3RvcnksIEZyYW1lTG9hZFR5cGUgdHlwZSwg
Rm9ybVN0YXRlKiBmb3JtU3RhdGUsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCBhbGxvd05h
dmlnYXRpb25Ub0ludmFsaWRVUkwsIE5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZSBuYXZp
Z2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUpCit2b2lkIEZyYW1lTG9hZGVyOjpsb2FkV2l0aE5h
dmlnYXRpb25BY3Rpb24oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBOYXZp
Z2F0aW9uQWN0aW9uJiBhY3Rpb24sIExvY2tIaXN0b3J5IGxvY2tIaXN0b3J5LCBGcmFtZUxvYWRU
eXBlIHR5cGUsIEZvcm1TdGF0ZSogZm9ybVN0YXRlLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRV
UkwgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMLCBJbml0aWF0ZWRCeU1haW5GcmFtZSBpbml0
aWF0ZWRCeU1haW5GcmFtZSkKIHsKICAgICBSZWY8RG9jdW1lbnRMb2FkZXI+IGxvYWRlciA9IG1f
Y2xpZW50LmNyZWF0ZURvY3VtZW50TG9hZGVyKHJlcXVlc3QsIGRlZmF1bHRTdWJzdGl0dXRlRGF0
YUZvclVSTChyZXF1ZXN0LnVybCgpKSk7Ci0gICAgYXBwbHlTaG91bGRPcGVuRXh0ZXJuYWxVUkxz
UG9saWN5VG9OZXdEb2N1bWVudExvYWRlcihtX2ZyYW1lLCBsb2FkZXIsIG5hdmlnYXRpb25Jbml0
aWF0ZWRCeU1haW5GcmFtZSwgYWN0aW9uLnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3koKSk7
CisgICAgYXBwbHlTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9OZXdEb2N1bWVudExvYWRl
cihtX2ZyYW1lLCBsb2FkZXIsIGluaXRpYXRlZEJ5TWFpbkZyYW1lLCBhY3Rpb24uc2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeSgpKTsKIAogICAgIGlmIChsb2NrSGlzdG9yeSA9PSBMb2NrSGlz
dG9yeTo6WWVzICYmIG1fZG9jdW1lbnRMb2FkZXIpCiAgICAgICAgIGxvYWRlci0+c2V0Q2xpZW50
UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KG1fZG9jdW1lbnRMb2FkZXItPmRpZENyZWF0ZUdsb2Jh
bEhpc3RvcnlFbnRyeSgpID8gbV9kb2N1bWVudExvYWRlci0+dXJsRm9ySGlzdG9yeSgpLnN0cmlu
ZygpIDogbV9kb2N1bWVudExvYWRlci0+Y2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCkp
OwpAQCAtMTU4NCw3ICsxNTg0LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6cmVsb2FkV2l0aE92ZXJy
aWRlRW5jb2RpbmcoY29uc3QgU3RyaW5nJiBlbmNvZGluZykKICAgICByZXF1ZXN0LnNldENhY2hl
UG9saWN5KFJldHVybkNhY2hlRGF0YUVsc2VMb2FkKTsKIAogICAgIFJlZjxEb2N1bWVudExvYWRl
cj4gbG9hZGVyID0gbV9jbGllbnQuY3JlYXRlRG9jdW1lbnRMb2FkZXIocmVxdWVzdCwgZGVmYXVs
dFN1YnN0aXR1dGVEYXRhRm9yVVJMKHJlcXVlc3QudXJsKCkpKTsKLSAgICBhcHBseVNob3VsZE9w
ZW5FeHRlcm5hbFVSTHNQb2xpY3lUb05ld0RvY3VtZW50TG9hZGVyKG1fZnJhbWUsIGxvYWRlciwg
TmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duLCBtX2RvY3VtZW50TG9hZGVy
LT5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9Qcm9wYWdhdGUoKSk7CisgICAgYXBwbHlT
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9OZXdEb2N1bWVudExvYWRlcihtX2ZyYW1lLCBs
b2FkZXIsIEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duLCBtX2RvY3VtZW50TG9hZGVyLT5z
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9Qcm9wYWdhdGUoKSk7CiAKICAgICBzZXRQb2xp
Y3lEb2N1bWVudExvYWRlcihsb2FkZXIucHRyKCkpOwogCkBAIC0xNjEyLDcgKzE2MTIsNyBAQCB2
b2lkIEZyYW1lTG9hZGVyOjpyZWxvYWQoT3B0aW9uU2V0PFJlbG9hZE9wdGlvbj4gb3B0aW9ucykK
ICAgICAvLyBDcmVhdGUgYSBuZXcgZG9jdW1lbnQgbG9hZGVyIGZvciB0aGUgcmVsb2FkLCB0aGlz
IHdpbGwgYmVjb21lIG1fZG9jdW1lbnRMb2FkZXIgZXZlbnR1YWxseSwKICAgICAvLyBidXQgZmly
c3QgaXQgaGFzIHRvIGJlIHRoZSAicG9saWN5IiBkb2N1bWVudCBsb2FkZXIsIGFuZCB0aGVuIHRo
ZSAicHJvdmlzaW9uYWwiIGRvY3VtZW50IGxvYWRlci4KICAgICBSZWY8RG9jdW1lbnRMb2FkZXI+
IGxvYWRlciA9IG1fY2xpZW50LmNyZWF0ZURvY3VtZW50TG9hZGVyKGluaXRpYWxSZXF1ZXN0LCBk
ZWZhdWx0U3Vic3RpdHV0ZURhdGFGb3JVUkwoaW5pdGlhbFJlcXVlc3QudXJsKCkpKTsKLSAgICBh
cHBseVNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3lUb05ld0RvY3VtZW50TG9hZGVyKG1fZnJh
bWUsIGxvYWRlciwgTmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duLCBtX2Rv
Y3VtZW50TG9hZGVyLT5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9Qcm9wYWdhdGUoKSk7
CisgICAgYXBwbHlTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9OZXdEb2N1bWVudExvYWRl
cihtX2ZyYW1lLCBsb2FkZXIsIEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duLCBtX2RvY3Vt
ZW50TG9hZGVyLT5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9Qcm9wYWdhdGUoKSk7CiAK
ICAgICBsb2FkZXItPnNldFVzZXJDb250ZW50RXh0ZW5zaW9uc0VuYWJsZWQoIW9wdGlvbnMuY29u
dGFpbnMoUmVsb2FkT3B0aW9uOjpEaXNhYmxlQ29udGVudEJsb2NrZXJzKSk7CiAgICAgCkBAIC0y
NzUyLDcgKzI3NTIsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkUG9zdFJlcXVlc3QoRnJhbWVM
b2FkUmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgcmVmZQogICAgIGlmICghZnJhbWVO
YW1lLmlzRW1wdHkoKSkgewogICAgICAgICAvLyBUaGUgc2VhcmNoIGZvciBhIHRhcmdldCBmcmFt
ZSBpcyBkb25lIGVhcmxpZXIgaW4gdGhlIGNhc2Ugb2YgZm9ybSBzdWJtaXNzaW9uLgogICAgICAg
ICBpZiAoRnJhbWUqIHRhcmdldEZyYW1lID0gZm9ybVN0YXRlID8gMCA6IGZpbmRGcmFtZUZvck5h
dmlnYXRpb24oZnJhbWVOYW1lKSkgewotICAgICAgICAgICAgdGFyZ2V0RnJhbWUtPmxvYWRlcigp
LmxvYWRXaXRoTmF2aWdhdGlvbkFjdGlvbih3b3JraW5nUmVzb3VyY2VSZXF1ZXN0LCBhY3Rpb24s
IGxvY2tIaXN0b3J5LCBsb2FkVHlwZSwgV1RGTW92ZShmb3JtU3RhdGUpLCBhbGxvd05hdmlnYXRp
b25Ub0ludmFsaWRVUkwsIHJlcXVlc3QubmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lKCkp
OworICAgICAgICAgICAgdGFyZ2V0RnJhbWUtPmxvYWRlcigpLmxvYWRXaXRoTmF2aWdhdGlvbkFj
dGlvbih3b3JraW5nUmVzb3VyY2VSZXF1ZXN0LCBhY3Rpb24sIGxvY2tIaXN0b3J5LCBsb2FkVHlw
ZSwgV1RGTW92ZShmb3JtU3RhdGUpLCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwsIHJlcXVl
c3QuaW5pdGlhdGVkQnlNYWluRnJhbWUoKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KIApAQCAtMjc2NCw3ICsyNzY0LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZFBvc3RSZXF1
ZXN0KEZyYW1lTG9hZFJlcXVlc3QmJiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIHJlZmUKIAogICAg
IC8vIG11c3QgZ3JhYiB0aGlzIG5vdywgc2luY2UgdGhpcyBsb2FkIG1heSBzdG9wIHRoZSBwcmV2
aW91cyBsb2FkIGFuZCBjbGVhciB0aGlzIGZsYWcKICAgICBib29sIGlzUmVkaXJlY3QgPSBtX3F1
aWNrUmVkaXJlY3RDb21pbmc7Ci0gICAgbG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKHdvcmtpbmdS
ZXNvdXJjZVJlcXVlc3QsIGFjdGlvbiwgbG9ja0hpc3RvcnksIGxvYWRUeXBlLCBXVEZNb3ZlKGZv
cm1TdGF0ZSksIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCwgcmVxdWVzdC5uYXZpZ2F0aW9u
SW5pdGlhdGVkQnlNYWluRnJhbWUoKSk7CisgICAgbG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKHdv
cmtpbmdSZXNvdXJjZVJlcXVlc3QsIGFjdGlvbiwgbG9ja0hpc3RvcnksIGxvYWRUeXBlLCBXVEZN
b3ZlKGZvcm1TdGF0ZSksIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCwgcmVxdWVzdC5pbml0
aWF0ZWRCeU1haW5GcmFtZSgpKTsKICAgICBpZiAoaXNSZWRpcmVjdCkgewogICAgICAgICBtX3F1
aWNrUmVkaXJlY3RDb21pbmcgPSBmYWxzZTsKICAgICAgICAgaWYgKG1fcHJvdmlzaW9uYWxEb2N1
bWVudExvYWRlcikKQEAgLTMyMDQsNyArMzIwNCw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNvbnRp
bnVlTG9hZEFmdGVyTmV3V2luZG93UG9saWN5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
CiAgICAgfQogCiAgICAgTmF2aWdhdGlvbkFjdGlvbiBuZXdBY3Rpb24geyAqZnJhbWUtPmRvY3Vt
ZW50KCksIHJlcXVlc3QsIE5hdmlnYXRpb25UeXBlOjpPdGhlciwgYWN0aW9uLnNob3VsZE9wZW5F
eHRlcm5hbFVSTHNQb2xpY3koKSB9OwotICAgIG1haW5GcmFtZS0+bG9hZGVyKCkubG9hZFdpdGhO
YXZpZ2F0aW9uQWN0aW9uKHJlcXVlc3QsIG5ld0FjdGlvbiwgTG9ja0hpc3Rvcnk6Ok5vLCBGcmFt
ZUxvYWRUeXBlOjpTdGFuZGFyZCwgZm9ybVN0YXRlLCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRV
UkwsIE5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZTo6VW5rbm93bik7CisgICAgbWFpbkZy
YW1lLT5sb2FkZXIoKS5sb2FkV2l0aE5hdmlnYXRpb25BY3Rpb24ocmVxdWVzdCwgbmV3QWN0aW9u
LCBMb2NrSGlzdG9yeTo6Tm8sIEZyYW1lTG9hZFR5cGU6OlN0YW5kYXJkLCBmb3JtU3RhdGUsIGFs
bG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCwgSW5pdGlhdGVkQnlNYWluRnJhbWU6OlVua25vd24p
OwogfQogCiB2b2lkIEZyYW1lTG9hZGVyOjpyZXF1ZXN0RnJvbURlbGVnYXRlKFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgdW5zaWduZWQgbG9uZyYgaWRlbnRpZmllciwgUmVzb3VyY2VFcnJvciYg
ZXJyb3IpCkBAIC0zNDA3LDcgKzM0MDcsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkRGlmZmVy
ZW50RG9jdW1lbnRJdGVtKEhpc3RvcnlJdGVtJiBpdGVtLCBGcmFtZUxvYWRUeXBlIGxvYQogICAg
IGlmICghaXRlbS5yZWZlcnJlcigpLmlzTnVsbCgpKQogICAgICAgICByZXF1ZXN0LnNldEhUVFBS
ZWZlcnJlcihpdGVtLnJlZmVycmVyKCkpOwogCi0gICAgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5ID0gc2hvdWxkT3BlbkV4dGVybmFsVVJM
c1BvbGljeVRvQXBwbHkobV9mcmFtZSwgTmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lOjpV
bmtub3duLCBpdGVtLnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3koKSk7CisgICAgU2hvdWxk
T3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5ID0gc2hv
dWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeVRvQXBwbHkobV9mcmFtZSwgSW5pdGlhdGVkQnlNYWlu
RnJhbWU6OlVua25vd24sIGl0ZW0uc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSgpKTsKICAg
ICBib29sIGlzRm9ybVN1Ym1pc3Npb24gPSBmYWxzZTsKICAgICBFdmVudCogZXZlbnQgPSBudWxs
cHRyOwogCkBAIC0zNDc3LDcgKzM0NzcsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkRGlmZmVy
ZW50RG9jdW1lbnRJdGVtKEhpc3RvcnlJdGVtJiBpdGVtLCBGcmFtZUxvYWRUeXBlIGxvYQogICAg
ICAgICBhY3Rpb24gPSB7ICptX2ZyYW1lLmRvY3VtZW50KCksIHJlcXVlc3RGb3JPcmlnaW5hbFVS
TCwgbG9hZFR5cGUsIGlzRm9ybVN1Ym1pc3Npb24sIGV2ZW50LCBzaG91bGRPcGVuRXh0ZXJuYWxV
UkxzUG9saWN5IH07CiAgICAgfQogCi0gICAgbG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKHJlcXVl
c3QsIGFjdGlvbiwgTG9ja0hpc3Rvcnk6Ok5vLCBsb2FkVHlwZSwgMCwgQWxsb3dOYXZpZ2F0aW9u
VG9JbnZhbGlkVVJMOjpZZXMsIE5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZTo6VW5rbm93
bik7CisgICAgbG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKHJlcXVlc3QsIGFjdGlvbiwgTG9ja0hp
c3Rvcnk6Ok5vLCBsb2FkVHlwZSwgMCwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMs
IEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duKTsKIH0KIAogLy8gTG9hZHMgY29udGVudCBp
bnRvIHRoaXMgZnJhbWUsIGFzIHNwZWNpZmllZCBieSBoaXN0b3J5IGl0ZW0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggZTkzZjk2ZWU3MzgyMjEzMDY3ZDZiNzg5YzE4NGFkZjk5
NGNlNDNiNi4uOTE5ZjI3ZDQ0NzkyMTVkYTA2OGFhOTFkMjRkNTc2ZjE5YWFjZmQ5ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTM1OCw3ICszNTgsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgbG9hZFdpdGhEb2N1bWVudExvYWRlcihEb2N1bWVudExvYWRlciosIEZyYW1lTG9h
ZFR5cGUsIEZvcm1TdGF0ZSosIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCk7IC8vIENhbGxz
IGNvbnRpbnVlTG9hZEFmdGVyTmF2aWdhdGlvblBvbGljeQogICAgIHZvaWQgbG9hZChEb2N1bWVu
dExvYWRlciopOyAvLyBDYWxscyBsb2FkV2l0aERvY3VtZW50TG9hZGVyCiAKLSAgICB2b2lkIGxv
YWRXaXRoTmF2aWdhdGlvbkFjdGlvbihjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBOYXZp
Z2F0aW9uQWN0aW9uJiwgTG9ja0hpc3RvcnksIEZyYW1lTG9hZFR5cGUsIEZvcm1TdGF0ZSosIEFs
bG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCwgTmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1l
KTsgLy8gQ2FsbHMgbG9hZFdpdGhEb2N1bWVudExvYWRlcgorICAgIHZvaWQgbG9hZFdpdGhOYXZp
Z2F0aW9uQWN0aW9uKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IE5hdmlnYXRpb25BY3Rp
b24mLCBMb2NrSGlzdG9yeSwgRnJhbWVMb2FkVHlwZSwgRm9ybVN0YXRlKiwgQWxsb3dOYXZpZ2F0
aW9uVG9JbnZhbGlkVVJMLCBJbml0aWF0ZWRCeU1haW5GcmFtZSk7IC8vIENhbGxzIGxvYWRXaXRo
RG9jdW1lbnRMb2FkZXIKIAogICAgIHZvaWQgbG9hZFBvc3RSZXF1ZXN0KEZyYW1lTG9hZFJlcXVl
c3QmJiwgY29uc3QgU3RyaW5nJiByZWZlcnJlciwgRnJhbWVMb2FkVHlwZSwgRXZlbnQqLCBGb3Jt
U3RhdGUqKTsKICAgICB2b2lkIGxvYWRVUkwoRnJhbWVMb2FkUmVxdWVzdCYmLCBjb25zdCBTdHJp
bmcmIHJlZmVycmVyLCBGcmFtZUxvYWRUeXBlLCBFdmVudCosIEZvcm1TdGF0ZSopOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclR5cGVzLmgKaW5kZXggNzlkNDZkNTk5NmE3ZDJjN2Nj
M2Q0ZGFlNTgwYzMyYmI0YjE2MTRmNS4uOGRkMTAwZGY3MmNiMjVlYmVmZDdiYWRiMzZkZDdmZDMx
MmU5ZDJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyVHlw
ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJUeXBlcy5oCkBAIC04
Myw3ICs4Myw3IEBAIGVudW0gY2xhc3MgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSB7CiAg
ICAgU2hvdWxkQWxsb3csCiB9OwogCi1lbnVtIGNsYXNzIE5hdmlnYXRpb25Jbml0aWF0ZWRCeU1h
aW5GcmFtZSB7CitlbnVtIGNsYXNzIEluaXRpYXRlZEJ5TWFpbkZyYW1lIHsKICAgICBZZXMsCiAg
ICAgVW5rbm93biwKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdh
dGlvbkFjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaApp
bmRleCBhNTM5OTdhMDYwNjEzZWMzOTg4MDBmNTc2MDBkN2ZjNzM5MDg1MDlhLi4wYmFiNTZhNmZh
NmFmNWY1M2U0Y2JhY2I3NGUzZTg3ZmQ4NjZhMjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9O
YXZpZ2F0aW9uQWN0aW9uLmgKQEAgLTY4LDcgKzY4LDcgQEAgcHVibGljOgogICAgIFJlZlB0cjxV
c2VyR2VzdHVyZVRva2VuPiB1c2VyR2VzdHVyZVRva2VuKCkgY29uc3QgeyByZXR1cm4gbV91c2Vy
R2VzdHVyZVRva2VuOyB9CiAKICAgICBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHNob3Vs
ZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3k7IH0KLSAgICBOYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUgbmF2
aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYXZpZ2F0aW9u
SW5pdGlhdGVkQnlNYWluRnJhbWU7IH0KKyAgICBJbml0aWF0ZWRCeU1haW5GcmFtZSBpbml0aWF0
ZWRCeU1haW5GcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhdGVkQnlNYWluRnJhbWU7IH0K
IAogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZG93bmxvYWRBdHRyaWJ1dGUoKSBjb25zdCB7IHJl
dHVybiBtX2Rvd25sb2FkQXR0cmlidXRlOyB9CiAKQEAgLTc3LDcgKzc3LDcgQEAgcHJpdmF0ZToK
ICAgICBSZXNvdXJjZVJlcXVlc3QgbV9yZXNvdXJjZVJlcXVlc3Q7CiAgICAgTmF2aWdhdGlvblR5
cGUgbV90eXBlOwogICAgIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgbV9zaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5OwotICAgIE5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZSBt
X25hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZTsKKyAgICBJbml0aWF0ZWRCeU1haW5GcmFt
ZSBtX2luaXRpYXRlZEJ5TWFpbkZyYW1lOwogICAgIFJlZlB0cjxFdmVudD4gbV9ldmVudDsKICAg
ICBSZWZQdHI8VXNlckdlc3R1cmVUb2tlbj4gbV91c2VyR2VzdHVyZVRva2VuIHsgVXNlckdlc3R1
cmVJbmRpY2F0b3I6OmN1cnJlbnRVc2VyR2VzdHVyZSgpIH07CiAgICAgQXRvbWljU3RyaW5nIG1f
ZG93bmxvYWRBdHRyaWJ1dGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNj
aGVkdWxlci5jcHAKaW5kZXggM2JjYjFhNWVhZGMwOTRiZjA3ZjA3YmZhMTY1MDgwYmUxNjQ5OTUx
NC4uNTdiNzViZTBlNjM3N2IwNTg1NTk1NzVlZmFiMDcxZjU5YzVhMTg3NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApAQCAtODIsNyArODIsNyBA
QCBwdWJsaWM6CiAgICAgewogICAgICAgICBpZiAoYXV0byogZnJhbWUgPSBsZXhpY2FsRnJhbWVG
cm9tQ29tbW9uVk0oKSkgewogICAgICAgICAgICAgaWYgKGZyYW1lLT5pc01haW5GcmFtZSgpKQot
ICAgICAgICAgICAgICAgIG1fbmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lID0gTmF2aWdh
dGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lOjpZZXM7CisgICAgICAgICAgICAgICAgbV9pbml0aWF0
ZWRCeU1haW5GcmFtZSA9IEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpZZXM7CiAgICAgICAgIH0KICAg
ICB9CiAgICAgdmlydHVhbCB+U2NoZWR1bGVkTmF2aWdhdGlvbigpIHsgfQpAQCAtMTAzLDcgKzEw
Myw3IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICB2b2lkIGNsZWFyVXNlckdlc3R1cmUoKSB7
IG1fdXNlckdlc3R1cmVUb0ZvcndhcmQgPSBudWxscHRyOyB9CiAgICAgU2hvdWxkT3BlbkV4dGVy
bmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzKCkgY29uc3QgeyByZXR1cm4gbV9z
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OyB9Ci0gICAgTmF2aWdhdGlvbkluaXRpYXRlZEJ5
TWFpbkZyYW1lIG5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lOyB9OworICAgIEluaXRpYXRlZEJ5TWFp
bkZyYW1lIGluaXRpYXRlZEJ5TWFpbkZyYW1lKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWF0ZWRC
eU1haW5GcmFtZTsgfTsKIAogcHJpdmF0ZToKICAgICBkb3VibGUgbV9kZWxheTsKQEAgLTExMyw3
ICsxMTMsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0xvY2F0aW9uQ2hhbmdlOwogICAgIFJl
ZlB0cjxVc2VyR2VzdHVyZVRva2VuPiBtX3VzZXJHZXN0dXJlVG9Gb3J3YXJkOwogICAgIFNob3Vs
ZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgbV9zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHsg
U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3cgfTsKLSAgICBOYXZp
Z2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUgbV9uYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJh
bWUgeyBOYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWU6OlVua25vd24gfTsKKyAgICBJbml0
aWF0ZWRCeU1haW5GcmFtZSBtX2luaXRpYXRlZEJ5TWFpbkZyYW1lIHsgSW5pdGlhdGVkQnlNYWlu
RnJhbWU6OlVua25vd24gfTsKIH07CiAKIGNsYXNzIFNjaGVkdWxlZFVSTE5hdmlnYXRpb24gOiBw
dWJsaWMgU2NoZWR1bGVkTmF2aWdhdGlvbiB7CkBAIC0xMzIsNyArMTMyLDcgQEAgcHJvdGVjdGVk
OgogICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yIHsgdXNlckdl
c3R1cmVUb0ZvcndhcmQoKSB9OwogCiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJl
cXVlc3QgeyBtX3VybCwgbV9yZWZlcnJlciwgVXNlUHJvdG9jb2xDYWNoZVBvbGljeSB9OwotICAg
ICAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyBtX2luaXRpYXRpbmdEb2N1
bWVudC5nZXQoKSwgKm1fc2VjdXJpdHlPcmlnaW4sIHJlc291cmNlUmVxdWVzdCwgIl9zZWxmIiwg
bG9ja0hpc3RvcnkoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpLCBNYXliZVNlbmRSZWZlcnJlciwg
QWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMsIE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpB
bGxvdywgc2hvdWxkT3BlbkV4dGVybmFsVVJMcygpLCBuYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWlu
RnJhbWUoKSB9OworICAgICAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyBt
X2luaXRpYXRpbmdEb2N1bWVudC5nZXQoKSwgKm1fc2VjdXJpdHlPcmlnaW4sIHJlc291cmNlUmVx
dWVzdCwgIl9zZWxmIiwgbG9ja0hpc3RvcnkoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpLCBNYXli
ZVNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMsIE5ld0ZyYW1l
T3BlbmVyUG9saWN5OjpBbGxvdywgc2hvdWxkT3BlbkV4dGVybmFsVVJMcygpLCBpbml0aWF0ZWRC
eU1haW5GcmFtZSgpIH07CiAKICAgICAgICAgZnJhbWUubG9hZGVyKCkuY2hhbmdlTG9jYXRpb24o
V1RGTW92ZShmcmFtZUxvYWRSZXF1ZXN0KSk7CiAgICAgfQpAQCAtMTkzLDcgKzE5Myw3IEBAIHB1
YmxpYzoKIAogICAgICAgICBib29sIHJlZnJlc2ggPSBlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVu
dGlmaWVyKGZyYW1lLmRvY3VtZW50KCktPnVybCgpLCB1cmwoKSk7CiAgICAgICAgIFJlc291cmNl
UmVxdWVzdCByZXNvdXJjZVJlcXVlc3QgeyB1cmwoKSwgcmVmZXJyZXIoKSwgcmVmcmVzaCA/IFJl
bG9hZElnbm9yaW5nQ2FjaGVEYXRhIDogVXNlUHJvdG9jb2xDYWNoZVBvbGljeSB9OwotICAgICAg
ICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyBpbml0aWF0aW5nRG9jdW1lbnQo
KSwgKnNlY3VyaXR5T3JpZ2luKCksIHJlc291cmNlUmVxdWVzdCwgIl9zZWxmIiwgbG9ja0hpc3Rv
cnkoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpLCBNYXliZVNlbmRSZWZlcnJlciwgQWxsb3dOYXZp
Z2F0aW9uVG9JbnZhbGlkVVJMOjpObywgTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93LCBzaG91
bGRPcGVuRXh0ZXJuYWxVUkxzKCksIG5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZSgpIH07
CisgICAgICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7IGluaXRpYXRpbmdE
b2N1bWVudCgpLCAqc2VjdXJpdHlPcmlnaW4oKSwgcmVzb3VyY2VSZXF1ZXN0LCAiX3NlbGYiLCBs
b2NrSGlzdG9yeSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCksIE1heWJlU2VuZFJlZmVycmVyLCBB
bGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6Ok5vLCBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxs
b3csIHNob3VsZE9wZW5FeHRlcm5hbFVSTHMoKSwgaW5pdGlhdGVkQnlNYWluRnJhbWUoKSB9Owog
CiAgICAgICAgIGZyYW1lLmxvYWRlcigpLmNoYW5nZUxvY2F0aW9uKFdURk1vdmUoZnJhbWVMb2Fk
UmVxdWVzdCkpOwogICAgIH0KQEAgLTIwOSw3ICsyMDksNyBAQCBwdWJsaWM6CiAgICAgICAgIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IgeyB1c2VyR2VzdHVyZVRvRm9yd2Fy
ZCgpIH07CiAKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlc291cmNlUmVxdWVzdCB7IHVybCgp
LCByZWZlcnJlcigpLCBVc2VQcm90b2NvbENhY2hlUG9saWN5IH07Ci0gICAgICAgIEZyYW1lTG9h
ZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7IGluaXRpYXRpbmdEb2N1bWVudCgpLCAqc2VjdXJp
dHlPcmlnaW4oKSwgcmVzb3VyY2VSZXF1ZXN0LCAiX3NlbGYiLCBsb2NrSGlzdG9yeSgpLCBsb2Nr
QmFja0ZvcndhcmRMaXN0KCksIE1heWJlU2VuZFJlZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0lu
dmFsaWRVUkw6Ok5vLCBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3csIHNob3VsZE9wZW5FeHRl
cm5hbFVSTHMoKSwgbmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lKCkgfTsKKyAgICAgICAg
RnJhbWVMb2FkUmVxdWVzdCBmcmFtZUxvYWRSZXF1ZXN0IHsgaW5pdGlhdGluZ0RvY3VtZW50KCks
ICpzZWN1cml0eU9yaWdpbigpLCByZXNvdXJjZVJlcXVlc3QsICJfc2VsZiIsIGxvY2tIaXN0b3J5
KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSwgTWF5YmVTZW5kUmVmZXJyZXIsIEFsbG93TmF2aWdh
dGlvblRvSW52YWxpZFVSTDo6Tm8sIE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdywgc2hvdWxk
T3BlbkV4dGVybmFsVVJMcygpLCBpbml0aWF0ZWRCeU1haW5GcmFtZSgpIH07CiAKICAgICAgICAg
ZnJhbWUubG9hZGVyKCkuY2hhbmdlTG9jYXRpb24oV1RGTW92ZShmcmFtZUxvYWRSZXF1ZXN0KSk7
CiAgICAgfQpAQCAtMjI3LDcgKzIyNyw3IEBAIHB1YmxpYzoKICAgICAgICAgVXNlckdlc3R1cmVJ
bmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvciB7IHVzZXJHZXN0dXJlVG9Gb3J3YXJkKCkgfTsKIAog
ICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVzb3VyY2VSZXF1ZXN0IHsgdXJsKCksIHJlZmVycmVy
KCksIFJlbG9hZElnbm9yaW5nQ2FjaGVEYXRhIH07Ci0gICAgICAgIEZyYW1lTG9hZFJlcXVlc3Qg
ZnJhbWVMb2FkUmVxdWVzdCB7IGluaXRpYXRpbmdEb2N1bWVudCgpLCAqc2VjdXJpdHlPcmlnaW4o
KSwgcmVzb3VyY2VSZXF1ZXN0LCAiX3NlbGYiLCBsb2NrSGlzdG9yeSgpLCBsb2NrQmFja0Zvcndh
cmRMaXN0KCksIE1heWJlU2VuZFJlZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6
OlllcywgTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93LCBzaG91bGRPcGVuRXh0ZXJuYWxVUkxz
KCksIG5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZSgpIH07CisgICAgICAgIEZyYW1lTG9h
ZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7IGluaXRpYXRpbmdEb2N1bWVudCgpLCAqc2VjdXJp
dHlPcmlnaW4oKSwgcmVzb3VyY2VSZXF1ZXN0LCAiX3NlbGYiLCBsb2NrSGlzdG9yeSgpLCBsb2Nr
QmFja0ZvcndhcmRMaXN0KCksIE1heWJlU2VuZFJlZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0lu
dmFsaWRVUkw6OlllcywgTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93LCBzaG91bGRPcGVuRXh0
ZXJuYWxVUkxzKCksIGluaXRpYXRlZEJ5TWFpbkZyYW1lKCkgfTsKIAogICAgICAgICBmcmFtZS5s
b2FkZXIoKS5jaGFuZ2VMb2NhdGlvbihXVEZNb3ZlKGZyYW1lTG9hZFJlcXVlc3QpKTsKICAgICB9
CkBAIC0yODAsNyArMjgwLDcgQEAgcHVibGljOgogICAgICAgICBhdXRvJiByZXF1ZXN0aW5nRG9j
dW1lbnQgPSBtX3N1Ym1pc3Npb24tPnN0YXRlKCkuc291cmNlRG9jdW1lbnQoKTsKICAgICAgICAg
aWYgKCFyZXF1ZXN0aW5nRG9jdW1lbnQuY2FuTmF2aWdhdGUoJmZyYW1lKSkKICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZUxvYWRSZXF1ZXN0IHsgcmVx
dWVzdGluZ0RvY3VtZW50LCByZXF1ZXN0aW5nRG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4oKSwgeyB9
LCB7IH0sIGxvY2tIaXN0b3J5KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSwgTWF5YmVTZW5kUmVm
ZXJyZXIsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzLCBOZXdGcmFtZU9wZW5lclBv
bGljeTo6QWxsb3csIHNob3VsZE9wZW5FeHRlcm5hbFVSTHMoKSwgbmF2aWdhdGlvbkluaXRpYXRl
ZEJ5TWFpbkZyYW1lKCkgfTsKKyAgICAgICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZUxvYWRSZXF1
ZXN0IHsgcmVxdWVzdGluZ0RvY3VtZW50LCByZXF1ZXN0aW5nRG9jdW1lbnQuc2VjdXJpdHlPcmln
aW4oKSwgeyB9LCB7IH0sIGxvY2tIaXN0b3J5KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSwgTWF5
YmVTZW5kUmVmZXJyZXIsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzLCBOZXdGcmFt
ZU9wZW5lclBvbGljeTo6QWxsb3csIHNob3VsZE9wZW5FeHRlcm5hbFVSTHMoKSwgaW5pdGlhdGVk
QnlNYWluRnJhbWUoKSB9OwogICAgICAgICBtX3N1Ym1pc3Npb24tPnBvcHVsYXRlRnJhbWVMb2Fk
UmVxdWVzdChmcmFtZUxvYWRSZXF1ZXN0KTsKICAgICAgICAgZnJhbWUubG9hZGVyKCkubG9hZEZy
YW1lUmVxdWVzdChXVEZNb3ZlKGZyYW1lTG9hZFJlcXVlc3QpLCBtX3N1Ym1pc3Npb24tPmV2ZW50
KCksICZtX3N1Ym1pc3Npb24tPnN0YXRlKCkpOwogICAgIH0KQEAgLTMzMCw3ICszMzAsNyBAQCBw
dWJsaWM6CiAgICAgICAgIFN1YnN0aXR1dGVEYXRhIHJlcGxhY2VtZW50RGF0YSB7IFNoYXJlZEJ1
ZmZlcjo6Y3JlYXRlKCksIG1fb3JpZ2luRG9jdW1lbnQudXJsKCksIHJlcGxhY2VtZW50UmVzcG9u
c2UsIFN1YnN0aXR1dGVEYXRhOjpTZXNzaW9uSGlzdG9yeVZpc2liaWxpdHk6OkhpZGRlbiB9Owog
CiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJlcXVlc3QgeyBtX29yaWdpbkRvY3Vt
ZW50LnVybCgpLCBlbXB0eVN0cmluZygpLCBSZWxvYWRJZ25vcmluZ0NhY2hlRGF0YSB9OwotICAg
ICAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyBtX29yaWdpbkRvY3VtZW50
LCBtX29yaWdpbkRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCksIHJlc291cmNlUmVxdWVzdCwgeyB9
LCBsb2NrSGlzdG9yeSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCksIE1heWJlU2VuZFJlZmVycmVy
LCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcywgTmV3RnJhbWVPcGVuZXJQb2xpY3k6
OkFsbG93LCBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzKCksIG5hdmlnYXRpb25Jbml0aWF0ZWRCeU1h
aW5GcmFtZSgpIH07CisgICAgICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7
IG1fb3JpZ2luRG9jdW1lbnQsIG1fb3JpZ2luRG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4oKSwgcmVz
b3VyY2VSZXF1ZXN0LCB7IH0sIGxvY2tIaXN0b3J5KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSwg
TWF5YmVTZW5kUmVmZXJyZXIsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzLCBOZXdG
cmFtZU9wZW5lclBvbGljeTo6QWxsb3csIHNob3VsZE9wZW5FeHRlcm5hbFVSTHMoKSwgaW5pdGlh
dGVkQnlNYWluRnJhbWUoKSB9OwogICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnNldFN1YnN0aXR1
dGVEYXRhKHJlcGxhY2VtZW50RGF0YSk7CiAgICAgICAgIGZyYW1lLmxvYWRlcigpLmxvYWQoV1RG
TW92ZShmcmFtZUxvYWRSZXF1ZXN0KSk7CiAgICAgfQpAQCAtNDMwLDkgKzQzMCw5IEBAIHZvaWQg
TmF2aWdhdGlvblNjaGVkdWxlcjo6c2NoZWR1bGVMb2NhdGlvbkNoYW5nZShEb2N1bWVudCYgaW5p
dGlhdGluZ0RvY3VtZW50LCBTCiAgICAgaWYgKHVybC5oYXNGcmFnbWVudElkZW50aWZpZXIoKSAm
JiBlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVudGlmaWVyKG1fZnJhbWUuZG9jdW1lbnQoKS0+dXJs
KCksIHVybCkpIHsKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlc291cmNlUmVxdWVzdCB7IG1f
ZnJhbWUuZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwodXJsKSwgcmVmZXJyZXIsIFVzZVByb3RvY29s
Q2FjaGVQb2xpY3kgfTsKICAgICAgICAgYXV0byogZnJhbWUgPSBsZXhpY2FsRnJhbWVGcm9tQ29t
bW9uVk0oKTsKLSAgICAgICAgYXV0byBuYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWUgPSBm
cmFtZSAmJiBmcmFtZS0+aXNNYWluRnJhbWUoKSA/IE5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5G
cmFtZTo6WWVzIDogTmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duOworICAg
ICAgICBhdXRvIGluaXRpYXRlZEJ5TWFpbkZyYW1lID0gZnJhbWUgJiYgZnJhbWUtPmlzTWFpbkZy
YW1lKCkgPyBJbml0aWF0ZWRCeU1haW5GcmFtZTo6WWVzIDogSW5pdGlhdGVkQnlNYWluRnJhbWU6
OlVua25vd247CiAgICAgICAgIAotICAgICAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJl
cXVlc3QgeyBpbml0aWF0aW5nRG9jdW1lbnQsIHNlY3VyaXR5T3JpZ2luLCByZXNvdXJjZVJlcXVl
c3QsIEFTQ0lJTGl0ZXJhbCgiX3NlbGYiKSwgbG9ja0hpc3RvcnksIGxvY2tCYWNrRm9yd2FyZExp
c3QsIE1heWJlU2VuZFJlZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6Ok5vLCBO
ZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3csIGluaXRpYXRpbmdEb2N1bWVudC5zaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5VG9Qcm9wYWdhdGUoKSwgbmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFp
bkZyYW1lIH07CisgICAgICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7IGlu
aXRpYXRpbmdEb2N1bWVudCwgc2VjdXJpdHlPcmlnaW4sIHJlc291cmNlUmVxdWVzdCwgQVNDSUlM
aXRlcmFsKCJfc2VsZiIpLCBsb2NrSGlzdG9yeSwgbG9ja0JhY2tGb3J3YXJkTGlzdCwgTWF5YmVT
ZW5kUmVmZXJyZXIsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6Tm8sIE5ld0ZyYW1lT3Bl
bmVyUG9saWN5OjpBbGxvdywgaW5pdGlhdGluZ0RvY3VtZW50LnNob3VsZE9wZW5FeHRlcm5hbFVS
THNQb2xpY3lUb1Byb3BhZ2F0ZSgpLCBpbml0aWF0ZWRCeU1haW5GcmFtZSB9OwogICAgICAgICBs
b2FkZXIuY2hhbmdlTG9jYXRpb24oV1RGTW92ZShmcmFtZUxvYWRSZXF1ZXN0KSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRN
ZW51Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJv
bGxlci5jcHAKaW5kZXggYWM4ODc1M2U0Yzc2OWE4MzdlMTg4ZjZkMTEyNDdkMjdkODYxNWU1MC4u
OTg4NGEyMmQ2ZTdkM2IyOTMwZDdlOTgzNzEyODJkNGQyYzFkZWVhYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcApAQCAtMTg5LDcgKzE4OSw3IEBA
IHN0YXRpYyB2b2lkIG9wZW5OZXdXaW5kb3coY29uc3QgVVJMJiB1cmxUb0xvYWQsIEZyYW1lJiBm
cmFtZSwgU2hvdWxkT3BlbkV4dGVybmFsCiAgICAgaWYgKCFvbGRQYWdlKQogICAgICAgICByZXR1
cm47CiAKLSAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyAqZnJhbWUuZG9j
dW1lbnQoKSwgZnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgUmVzb3VyY2VSZXF1
ZXN0KHVybFRvTG9hZCwgZnJhbWUubG9hZGVyKCkub3V0Z29pbmdSZWZlcnJlcigpKSwgeyB9LCBM
b2NrSGlzdG9yeTo6Tm8sIExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBNYXliZVNlbmRSZWZlcnJl
ciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMsIE5ld0ZyYW1lT3BlbmVyUG9saWN5
OjpTdXBwcmVzcywgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgTmF2aWdhdGlvbkluaXRp
YXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duIH07CisgICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZUxv
YWRSZXF1ZXN0IHsgKmZyYW1lLmRvY3VtZW50KCksIGZyYW1lLmRvY3VtZW50KCktPnNlY3VyaXR5
T3JpZ2luKCksIFJlc291cmNlUmVxdWVzdCh1cmxUb0xvYWQsIGZyYW1lLmxvYWRlcigpLm91dGdv
aW5nUmVmZXJyZXIoKSksIHsgfSwgTG9ja0hpc3Rvcnk6Ok5vLCBMb2NrQmFja0ZvcndhcmRMaXN0
OjpObywgTWF5YmVTZW5kUmVmZXJyZXIsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVz
LCBOZXdGcmFtZU9wZW5lclBvbGljeTo6U3VwcHJlc3MsIHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3ksIEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duIH07CiAKICAgICBQYWdlKiBuZXdQ
YWdlID0gb2xkUGFnZS0+Y2hyb21lKCkuY3JlYXRlV2luZG93KGZyYW1lLCBmcmFtZUxvYWRSZXF1
ZXN0LCB7IH0sIHsgKmZyYW1lLmRvY3VtZW50KCksIGZyYW1lTG9hZFJlcXVlc3QucmVzb3VyY2VS
ZXF1ZXN0KCkgfSk7CiAgICAgaWYgKCFuZXdQYWdlKQpAQCAtMzk1LDcgKzM5NSw3IEBAIHZvaWQg
Q29udGV4dE1lbnVDb250cm9sbGVyOjpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChDb250ZXh0TWVu
dUFjdGlvbiBhY3Rpb24sIGNvCiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluazoK
ICAgICAgICAgaWYgKEZyYW1lKiB0YXJnZXRGcmFtZSA9IG1fY29udGV4dC5oaXRUZXN0UmVzdWx0
KCkudGFyZ2V0RnJhbWUoKSkgewogICAgICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlc291cmNl
UmVxdWVzdCB7IG1fY29udGV4dC5oaXRUZXN0UmVzdWx0KCkuYWJzb2x1dGVMaW5rVVJMKCksIGZy
YW1lLT5sb2FkZXIoKS5vdXRnb2luZ1JlZmVycmVyKCkgfTsKLSAgICAgICAgICAgIEZyYW1lTG9h
ZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7ICpmcmFtZS0+ZG9jdW1lbnQoKSwgZnJhbWUtPmRv
Y3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIHJlc291cmNlUmVxdWVzdCwgeyB9LCBMb2NrSGlz
dG9yeTo6Tm8sIExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBNYXliZVNlbmRSZWZlcnJlciwgQWxs
b3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMsIE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpTdXBw
cmVzcywgdGFyZ2V0RnJhbWUtPmlzTWFpbkZyYW1lKCkgPyBTaG91bGRPcGVuRXh0ZXJuYWxVUkxz
UG9saWN5OjpTaG91bGRBbGxvdyA6IFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3Vs
ZE5vdEFsbG93LCBOYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWU6OlVua25vd24gfTsKKyAg
ICAgICAgICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7ICpmcmFtZS0+ZG9j
dW1lbnQoKSwgZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIHJlc291cmNlUmVx
dWVzdCwgeyB9LCBMb2NrSGlzdG9yeTo6Tm8sIExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBNYXli
ZVNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMsIE5ld0ZyYW1l
T3BlbmVyUG9saWN5OjpTdXBwcmVzcywgdGFyZ2V0RnJhbWUtPmlzTWFpbkZyYW1lKCkgPyBTaG91
bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGRBbGxvdyA6IFNob3VsZE9wZW5FeHRlcm5h
bFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCBJbml0aWF0ZWRCeU1haW5GcmFtZTo6VW5rbm93
biB9OwogICAgICAgICAgICAgdGFyZ2V0RnJhbWUtPmxvYWRlcigpLmxvYWRGcmFtZVJlcXVlc3Qo
V1RGTW92ZShmcmFtZUxvYWRSZXF1ZXN0KSwgbnVsbHB0ciwgbnVsbHB0cik7CiAgICAgICAgIH0g
ZWxzZQogICAgICAgICAgICAgb3Blbk5ld1dpbmRvdyhtX2NvbnRleHQuaGl0VGVzdFJlc3VsdCgp
LmFic29sdXRlTGlua1VSTCgpLCAqZnJhbWUsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6
OlNob3VsZEFsbG93KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCAzNWM4MjJmMmZl
ZDUxNzA5MmI2MDI3ZTQ2OGVhMzY2YjBlMTI5Mzc0Li4yZDM4NmUyY2Q3NGU3Zjg1YTU1NTk3NzYw
NTdmY2U5NDUwNGQwZTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0yMTk3LDcg
KzIxOTcsNyBAQCBSZWZQdHI8RnJhbWU+IERPTVdpbmRvdzo6Y3JlYXRlV2luZG93KGNvbnN0IFN0
cmluZyYgdXJsU3RyaW5nLCBjb25zdCBBdG9taWNTdHJpbgogCiAgICAgLy8gRm9yIHdoYXRldmVy
IHJlYXNvbiwgRmlyZWZveCB1c2VzIHRoZSBmaXJzdCBmcmFtZSB0byBkZXRlcm1pbmUgdGhlIG91
dGdvaW5nUmVmZXJyZXIuIFdlIHJlcGxpY2F0ZSB0aGF0IGJlaGF2aW9yIGhlcmUuCiAgICAgU3Ry
aW5nIHJlZmVycmVyID0gU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlUmVmZXJyZXJIZWFkZXIoZmly
c3RGcmFtZS5kb2N1bWVudCgpLT5yZWZlcnJlclBvbGljeSgpLCBjb21wbGV0ZWRVUkwsIGZpcnN0
RnJhbWUubG9hZGVyKCkub3V0Z29pbmdSZWZlcnJlcigpKTsKLSAgICBhdXRvIGluaXRpYXRlZEJ5
TWFpbkZyYW1lID0gYWN0aXZlRnJhbWUtPmlzTWFpbkZyYW1lKCkgPyBOYXZpZ2F0aW9uSW5pdGlh
dGVkQnlNYWluRnJhbWU6OlllcyA6IE5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZTo6VW5r
bm93bjsKKyAgICBhdXRvIGluaXRpYXRlZEJ5TWFpbkZyYW1lID0gYWN0aXZlRnJhbWUtPmlzTWFp
bkZyYW1lKCkgPyBJbml0aWF0ZWRCeU1haW5GcmFtZTo6WWVzIDogSW5pdGlhdGVkQnlNYWluRnJh
bWU6OlVua25vd247CiAKICAgICBSZXNvdXJjZVJlcXVlc3QgcmVzb3VyY2VSZXF1ZXN0IHsgY29t
cGxldGVkVVJMLCByZWZlcnJlciB9OwogICAgIEZyYW1lTG9hZGVyOjphZGRIVFRQT3JpZ2luSWZO
ZWVkZWQocmVzb3VyY2VSZXF1ZXN0LCBmaXJzdEZyYW1lLmxvYWRlcigpLm91dGdvaW5nT3JpZ2lu
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9pb3MvV2ViVmlldy9XZWJQREZWaWV3UGxh
Y2Vob2xkZXIubW0gYi9Tb3VyY2UvV2ViS2l0L2lvcy9XZWJWaWV3L1dlYlBERlZpZXdQbGFjZWhv
bGRlci5tbQppbmRleCA3YTYyMjBmMjdlNWI4MzQ0MzlkMGJjMWVlNzM1OGM1YjQ0ZmJlYTc5Li40
OGFlOWY3OWNiOTI0NDA1MjRhN2ZmZjQ5ZGIwNWM2YTllMTQzM2Y2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2lvcy9XZWJWaWV3L1dlYlBERlZpZXdQbGFjZWhvbGRlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2lvcy9XZWJWaWV3L1dlYlBERlZpZXdQbGFjZWhvbGRlci5tbQpAQCAtNDg3LDcg
KzQ4Nyw3IEBAIC0gKHZvaWQpc2ltdWxhdGVDbGlja09uTGlua1RvVVJMOihOU1VSTCAqKVVSTAog
CiAgICAgLy8gQ2FsbCB0byB0aGUgZnJhbWUgbG9hZGVyIGJlY2F1c2UgdGhpcyBpcyB3aGVyZSBv
dXIgc2VjdXJpdHkgY2hlY2tzIGFyZSBtYWRlLgogICAgIEZyYW1lKiBmcmFtZSA9IGNvcmUoW19k
YXRhU291cmNlIHdlYkZyYW1lXSk7Ci0gICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZUxvYWRSZXF1
ZXN0IHsgKmZyYW1lLT5kb2N1bWVudCgpLCBmcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmln
aW4oKSwgeyBVUkwgfSwgeyB9LCBMb2NrSGlzdG9yeTo6Tm8sIExvY2tCYWNrRm9yd2FyZExpc3Q6
Ok5vLCBNYXliZVNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMs
IE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdywgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGlj
eTo6U2hvdWxkTm90QWxsb3csICBOYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWU6OlVua25v
d24gfTsKKyAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyAqZnJhbWUtPmRv
Y3VtZW50KCksIGZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCB7IFVSTCB9LCB7
IH0sIExvY2tIaXN0b3J5OjpObywgTG9ja0JhY2tGb3J3YXJkTGlzdDo6Tm8sIE1heWJlU2VuZFJl
ZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcywgTmV3RnJhbWVPcGVuZXJQ
b2xpY3k6OkFsbG93LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxv
dywgIEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duIH07CiAgICAgZnJhbWUtPmxvYWRlcigp
LmxvYWRGcmFtZVJlcXVlc3QoV1RGTW92ZShmcmFtZUxvYWRSZXF1ZXN0KSwgZXZlbnQuZ2V0KCks
IG51bGxwdHIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlBERlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBERlZpZXcubW0KaW5k
ZXggOTc5YzNiNTk5YmU0ZjZiNGIxYjgwMjcxNGU1OWZiMTY4NzZjNWFmZS4uZWM1N2M4OGE2Y2Fk
MWJkMmI0YzljMjJhOGNmMDEzYTAxMDdlMDI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQREZWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUERGVmlldy5tbQpAQCAtMTAzOCw3ICsxMDM4LDcgQEAgLSAodm9pZClQREZWaWV3V2lsbENs
aWNrT25MaW5rOihQREZWaWV3ICopc2VuZGVyIHdpdGhVUkw6KE5TVVJMICopVVJMCiAKICAgICAv
LyBDYWxsIHRvIHRoZSBmcmFtZSBsb2FkZXIgYmVjYXVzZSB0aGlzIGlzIHdoZXJlIG91ciBzZWN1
cml0eSBjaGVja3MgYXJlIG1hZGUuCiAgICAgRnJhbWUqIGZyYW1lID0gY29yZShbZGF0YVNvdXJj
ZSB3ZWJGcmFtZV0pOwotICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7ICpm
cmFtZS0+ZG9jdW1lbnQoKSwgZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIHsg
VVJMIH0sIHsgfSwgTG9ja0hpc3Rvcnk6Ok5vLCBMb2NrQmFja0ZvcndhcmRMaXN0OjpObywgTWF5
YmVTZW5kUmVmZXJyZXIsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzLCBOZXdGcmFt
ZU9wZW5lclBvbGljeTo6QWxsb3csIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3Vs
ZE5vdEFsbG93LCBOYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWluRnJhbWU6OlVua25vd24gfTsKKyAg
ICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyAqZnJhbWUtPmRvY3VtZW50KCks
IGZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCB7IFVSTCB9LCB7IH0sIExvY2tI
aXN0b3J5OjpObywgTG9ja0JhY2tGb3J3YXJkTGlzdDo6Tm8sIE1heWJlU2VuZFJlZmVycmVyLCBB
bGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcywgTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFs
bG93LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdywgSW5pdGlh
dGVkQnlNYWluRnJhbWU6OlVua25vd24gfTsKICAgICBmcmFtZS0+bG9hZGVyKCkubG9hZEZyYW1l
UmVxdWVzdChXVEZNb3ZlKGZyYW1lTG9hZFJlcXVlc3QpLCBldmVudC5nZXQoKSwgbnVsbHB0cik7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4IDc3Y2Zj
ZmRmYmFhODkyYWY5OTY2NjBhNDQ3NzQ2ZDZkMDA4YzU1MmUuLmVmODBkYzdmM2E1ZjhiZDM1YmI3
MzkzZGUzMzcwZWYwYThiMDVlOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdp
bnMvUGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5W
aWV3LmNwcApAQCAtMjU1LDcgKzI1NSw3IEBAIGJvb2wgUGx1Z2luVmlldzo6c3RhcnQoKQogICAg
IG1faXNTdGFydGVkID0gdHJ1ZTsKIAogICAgIGlmICghbV91cmwuaXNFbXB0eSgpICYmICFtX2xv
YWRNYW51YWxseSkgewotICAgICAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3Qg
eyAqbV9wYXJlbnRGcmFtZS0+ZG9jdW1lbnQoKSwgbV9wYXJlbnRGcmFtZS0+ZG9jdW1lbnQoKS0+
c2VjdXJpdHlPcmlnaW4oKSwgeyB9LCB7IH0sIExvY2tIaXN0b3J5OjpObywgTG9ja0JhY2tGb3J3
YXJkTGlzdDo6Tm8sIFNob3VsZFNlbmRSZWZlcnJlcjo6TWF5YmVTZW5kUmVmZXJyZXIsIEFsbG93
TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzLCBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3cs
IFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCBOYXZpZ2F0aW9u
SW5pdGlhdGVkQnlNYWluRnJhbWU6OlVua25vd24gfTsKKyAgICAgICAgRnJhbWVMb2FkUmVxdWVz
dCBmcmFtZUxvYWRSZXF1ZXN0IHsgKm1fcGFyZW50RnJhbWUtPmRvY3VtZW50KCksIG1fcGFyZW50
RnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIHsgfSwgeyB9LCBMb2NrSGlzdG9y
eTo6Tm8sIExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBTaG91bGRTZW5kUmVmZXJyZXI6Ok1heWJl
U2VuZFJlZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcywgTmV3RnJhbWVP
cGVuZXJQb2xpY3k6OkFsbG93LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGRO
b3RBbGxvdywgSW5pdGlhdGVkQnlNYWluRnJhbWU6OlVua25vd24gfTsKICAgICAgICAgZnJhbWVM
b2FkUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5zZXRIVFRQTWV0aG9kKCJHRVQiKTsKICAgICAg
ICAgZnJhbWVMb2FkUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5zZXRVUkwobV91cmwpOwogICAg
ICAgICBsb2FkKFdURk1vdmUoZnJhbWVMb2FkUmVxdWVzdCksIGZhbHNlLCBudWxscHRyKTsKQEAg
LTUzNCw3ICs1MzQsNyBAQCBzdGF0aWMgVVJMIG1ha2VVUkwoY29uc3QgVVJMJiBiYXNlVVJMLCBj
b25zdCBjaGFyKiByZWxhdGl2ZVVSTFN0cmluZykKIAogTlBFcnJvciBQbHVnaW5WaWV3OjpnZXRV
UkxOb3RpZnkoY29uc3QgY2hhciogdXJsLCBjb25zdCBjaGFyKiB0YXJnZXQsIHZvaWQqIG5vdGlm
eURhdGEpCiB7Ci0gICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZUxvYWRSZXF1ZXN0IHsgKm1fcGFy
ZW50RnJhbWUtPmRvY3VtZW50KCksIG1fcGFyZW50RnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5
T3JpZ2luKCksIHsgfSwgdGFyZ2V0LCBMb2NrSGlzdG9yeTo6Tm8sIExvY2tCYWNrRm9yd2FyZExp
c3Q6Ok5vLCBTaG91bGRTZW5kUmVmZXJyZXI6Ok1heWJlU2VuZFJlZmVycmVyLCBBbGxvd05hdmln
YXRpb25Ub0ludmFsaWRVUkw6OlllcywgTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93LCBTaG91
bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdywgTmF2aWdhdGlvbkluaXRp
YXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duIH07CisgICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZUxv
YWRSZXF1ZXN0IHsgKm1fcGFyZW50RnJhbWUtPmRvY3VtZW50KCksIG1fcGFyZW50RnJhbWUtPmRv
Y3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIHsgfSwgdGFyZ2V0LCBMb2NrSGlzdG9yeTo6Tm8s
IExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBTaG91bGRTZW5kUmVmZXJyZXI6Ok1heWJlU2VuZFJl
ZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcywgTmV3RnJhbWVPcGVuZXJQ
b2xpY3k6OkFsbG93LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxv
dywgSW5pdGlhdGVkQnlNYWluRnJhbWU6OlVua25vd24gfTsKIAogICAgIGZyYW1lTG9hZFJlcXVl
c3QucmVzb3VyY2VSZXF1ZXN0KCkuc2V0SFRUUE1ldGhvZCgiR0VUIik7CiAgICAgZnJhbWVMb2Fk
UmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5zZXRVUkwobWFrZVVSTChtX3BhcmVudEZyYW1lLT5k
b2N1bWVudCgpLT5iYXNlVVJMKCksIHVybCkpOwpAQCAtNTQ0LDcgKzU0NCw3IEBAIE5QRXJyb3Ig
UGx1Z2luVmlldzo6Z2V0VVJMTm90aWZ5KGNvbnN0IGNoYXIqIHVybCwgY29uc3QgY2hhciogdGFy
Z2V0LCB2b2lkKiBub3RpCiAKIE5QRXJyb3IgUGx1Z2luVmlldzo6Z2V0VVJMKGNvbnN0IGNoYXIq
IHVybCwgY29uc3QgY2hhciogdGFyZ2V0KQogewotICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVM
b2FkUmVxdWVzdCB7ICptX3BhcmVudEZyYW1lLT5kb2N1bWVudCgpLCBtX3BhcmVudEZyYW1lLT5k
b2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCB7IH0sIHRhcmdldCwgTG9ja0hpc3Rvcnk6Ok5v
LCBMb2NrQmFja0ZvcndhcmRMaXN0OjpObywgU2hvdWxkU2VuZFJlZmVycmVyOjpNYXliZVNlbmRS
ZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMsIE5ld0ZyYW1lT3BlbmVy
UG9saWN5OjpBbGxvdywgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxs
b3csIE5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZTo6VW5rbm93biB9OworICAgIEZyYW1l
TG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7ICptX3BhcmVudEZyYW1lLT5kb2N1bWVudCgp
LCBtX3BhcmVudEZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCB7IH0sIHRhcmdl
dCwgTG9ja0hpc3Rvcnk6Ok5vLCBMb2NrQmFja0ZvcndhcmRMaXN0OjpObywgU2hvdWxkU2VuZFJl
ZmVycmVyOjpNYXliZVNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZ
ZXMsIE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdywgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeTo6U2hvdWxkTm90QWxsb3csIEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duIH07CiAK
ICAgICBmcmFtZUxvYWRSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnNldEhUVFBNZXRob2QoIkdF
VCIpOwogICAgIGZyYW1lTG9hZFJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkuc2V0VVJMKG1ha2VV
UkwobV9wYXJlbnRGcmFtZS0+ZG9jdW1lbnQoKS0+YmFzZVVSTCgpLCB1cmwpKTsKQEAgLTEwODcs
NyArMTA4Nyw3IEBAIE5QRXJyb3IgUGx1Z2luVmlldzo6aGFuZGxlUG9zdChjb25zdCBjaGFyKiB1
cmwsIGNvbnN0IGNoYXIqIHRhcmdldCwgdWludDMyX3QgbGVuCiAgICAgICAgIH0KICAgICB9CiAK
LSAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyAqbV9wYXJlbnRGcmFtZS0+
ZG9jdW1lbnQoKSwgbV9wYXJlbnRGcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwg
eyB9LCB0YXJnZXQsIExvY2tIaXN0b3J5OjpObywgTG9ja0JhY2tGb3J3YXJkTGlzdDo6Tm8sIFNo
b3VsZFNlbmRSZWZlcnJlcjo6TWF5YmVTZW5kUmVmZXJyZXIsIEFsbG93TmF2aWdhdGlvblRvSW52
YWxpZFVSTDo6WWVzLCBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3csIFNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCBOYXZpZ2F0aW9uSW5pdGlhdGVkQnlNYWlu
RnJhbWU6OlVua25vd24gfTsKKyAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3Qg
eyAqbV9wYXJlbnRGcmFtZS0+ZG9jdW1lbnQoKSwgbV9wYXJlbnRGcmFtZS0+ZG9jdW1lbnQoKS0+
c2VjdXJpdHlPcmlnaW4oKSwgeyB9LCB0YXJnZXQsIExvY2tIaXN0b3J5OjpObywgTG9ja0JhY2tG
b3J3YXJkTGlzdDo6Tm8sIFNob3VsZFNlbmRSZWZlcnJlcjo6TWF5YmVTZW5kUmVmZXJyZXIsIEFs
bG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzLCBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxs
b3csIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCBJbml0aWF0
ZWRCeU1haW5GcmFtZTo6VW5rbm93biB9OwogICAgIGZyYW1lTG9hZFJlcXVlc3QucmVzb3VyY2VS
ZXF1ZXN0KCkuc2V0SFRUUE1ldGhvZCgiUE9TVCIpOwogICAgIGZyYW1lTG9hZFJlcXVlc3QucmVz
b3VyY2VSZXF1ZXN0KCkuc2V0VVJMKG1ha2VVUkwobV9wYXJlbnRGcmFtZS0+ZG9jdW1lbnQoKS0+
YmFzZVVSTCgpLCB1cmwpKTsKICAgICBmcmFtZUxvYWRSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgp
LnNldEhUVFBIZWFkZXJGaWVsZHMoV1RGTW92ZShoZWFkZXJGaWVsZHMpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCBmOTFlZmJj
ZWU3MTZhYTczYTlhZGZmODVlYTZlZmJkMWFmYmI2ZmE5Li4yMTBiZGE5YzJmZmVjZWQ0YmEwMDEx
MGI5YTJkNTE3MjE5M2JkODg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC0xMzg4LDcgKzEzODgsNyBAQCBTdHJpbmcgUGx1Z2lu
Vmlldzo6dXNlckFnZW50KCkKIAogdm9pZCBQbHVnaW5WaWV3Ojpsb2FkVVJMKHVpbnQ2NF90IHJl
cXVlc3RJRCwgY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBj
b25zdCBTdHJpbmcmIHRhcmdldCwgY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVyRmllbGRzLCBj
b25zdCBWZWN0b3I8dWludDhfdD4mIGh0dHBCb2R5LCBib29sIGFsbG93UG9wdXBzKQogewotICAg
IEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7IG1fcGx1Z2luRWxlbWVudC0+ZG9j
dW1lbnQoKSwgbV9wbHVnaW5FbGVtZW50LT5kb2N1bWVudCgpLnNlY3VyaXR5T3JpZ2luKCksIHsg
fSwgdGFyZ2V0LCBMb2NrSGlzdG9yeTo6Tm8sIExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBNYXli
ZVNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMsIE5ld0ZyYW1l
T3BlbmVyUG9saWN5OjpBbGxvdywgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxk
Tm90QWxsb3csIE5hdmlnYXRpb25Jbml0aWF0ZWRCeU1haW5GcmFtZTo6VW5rbm93biB9OworICAg
IEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7IG1fcGx1Z2luRWxlbWVudC0+ZG9j
dW1lbnQoKSwgbV9wbHVnaW5FbGVtZW50LT5kb2N1bWVudCgpLnNlY3VyaXR5T3JpZ2luKCksIHsg
fSwgdGFyZ2V0LCBMb2NrSGlzdG9yeTo6Tm8sIExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBNYXli
ZVNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMsIE5ld0ZyYW1l
T3BlbmVyUG9saWN5OjpBbGxvdywgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxk
Tm90QWxsb3csIEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duIH07CiAgICAgZnJhbWVMb2Fk
UmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5zZXRIVFRQTWV0aG9kKG1ldGhvZCk7CiAgICAgZnJh
bWVMb2FkUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5zZXRVUkwobV9wbHVnaW5FbGVtZW50LT5k
b2N1bWVudCgpLmNvbXBsZXRlVVJMKHVybFN0cmluZykpOwogICAgIGZyYW1lTG9hZFJlcXVlc3Qu
cmVzb3VyY2VSZXF1ZXN0KCkuc2V0SFRUUEhlYWRlckZpZWxkcyhoZWFkZXJGaWVsZHMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCA5ZDM4ODFkZjFhNGNhNjA4OGMzOGNh
ZTMyNTNhZWJhNTExMjUxYWMwLi40N2U4ZjM2ZGMyM2JmYzViYTNhNmY2ZjRhZDIwZDlmMDdmNGFl
MDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtNjUzLDcgKzY1Myw3
IEBAIEZyYW1lKiBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hDcmVhdGVQYWdlKGNvbnN0
IE5hdmlnYXRpb25BY3Rpb24mIG5hdmlnYXRpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAg
ICAgLy8gSnVzdCBjYWxsIHRocm91Z2ggdG8gdGhlIGNocm9tZSBjbGllbnQuCi0gICAgRnJhbWVM
b2FkUmVxdWVzdCBmcmFtZUxvYWRSZXF1ZXN0IHsgKm1fZnJhbWUtPmNvcmVGcmFtZSgpLT5kb2N1
bWVudCgpLCBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4o
KSwgbmF2aWdhdGlvbkFjdGlvbi5yZXNvdXJjZVJlcXVlc3QoKSwgeyB9LCBMb2NrSGlzdG9yeTo6
Tm8sIExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBNYXliZVNlbmRSZWZlcnJlciwgQWxsb3dOYXZp
Z2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMsIE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdywgbmF2
aWdhdGlvbkFjdGlvbi5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KCksIE5hdmlnYXRpb25J
bml0aWF0ZWRCeU1haW5GcmFtZTo6VW5rbm93biB9OworICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJh
bWVMb2FkUmVxdWVzdCB7ICptX2ZyYW1lLT5jb3JlRnJhbWUoKS0+ZG9jdW1lbnQoKSwgbV9mcmFt
ZS0+Y29yZUZyYW1lKCktPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIG5hdmlnYXRpb25B
Y3Rpb24ucmVzb3VyY2VSZXF1ZXN0KCksIHsgfSwgTG9ja0hpc3Rvcnk6Ok5vLCBMb2NrQmFja0Zv
cndhcmRMaXN0OjpObywgTWF5YmVTZW5kUmVmZXJyZXIsIEFsbG93TmF2aWdhdGlvblRvSW52YWxp
ZFVSTDo6WWVzLCBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3csIG5hdmlnYXRpb25BY3Rpb24u
c2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSgpLCBJbml0aWF0ZWRCeU1haW5GcmFtZTo6VW5r
bm93biB9OwogICAgIFBhZ2UqIG5ld1BhZ2UgPSB3ZWJQYWdlLT5jb3JlUGFnZSgpLT5jaHJvbWUo
KS5jcmVhdGVXaW5kb3coKm1fZnJhbWUtPmNvcmVGcmFtZSgpLCBmcmFtZUxvYWRSZXF1ZXN0LCB7
IH0sIG5hdmlnYXRpb25BY3Rpb24pOwogICAgIGlmICghbmV3UGFnZSkKICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViSW5zcGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJ
bnNwZWN0b3IuY3BwCmluZGV4IDNhNjBmNmQzYWJhNWYwYjBmOTM2YWFkNGUwZTY2MTg0MzY4Yzli
MDQuLjJhMjNkZDJiNTM3M2YxODUwOTBlYzAxMGIzMDYyMGRjZjQxNGVmYzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuY3BwCkBAIC0x
NDcsNyArMTQ3LDcgQEAgdm9pZCBXZWJJbnNwZWN0b3I6Om9wZW5Jbk5ld1RhYihjb25zdCBTdHJp
bmcmIHVybFN0cmluZykKICAgICAgICAgcmV0dXJuOwogCiAgICAgRnJhbWUmIGluc3BlY3RlZE1h
aW5GcmFtZSA9IGluc3BlY3RlZFBhZ2UtPm1haW5GcmFtZSgpOwotICAgIEZyYW1lTG9hZFJlcXVl
c3QgZnJhbWVMb2FkUmVxdWVzdCB7ICppbnNwZWN0ZWRNYWluRnJhbWUuZG9jdW1lbnQoKSwgaW5z
cGVjdGVkTWFpbkZyYW1lLmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIHsgdXJsU3RyaW5n
IH0sIEFTQ0lJTGl0ZXJhbCgiX2JsYW5rIiksIExvY2tIaXN0b3J5OjpObywgTG9ja0JhY2tGb3J3
YXJkTGlzdDo6Tm8sIE1heWJlU2VuZFJlZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRV
Ukw6OlllcywgTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93LCBTaG91bGRPcGVuRXh0ZXJuYWxV
UkxzUG9saWN5OjpTaG91bGROb3RBbGxvdywgTmF2aWdhdGlvbkluaXRpYXRlZEJ5TWFpbkZyYW1l
OjpVbmtub3duIH07CisgICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZUxvYWRSZXF1ZXN0IHsgKmlu
c3BlY3RlZE1haW5GcmFtZS5kb2N1bWVudCgpLCBpbnNwZWN0ZWRNYWluRnJhbWUuZG9jdW1lbnQo
KS0+c2VjdXJpdHlPcmlnaW4oKSwgeyB1cmxTdHJpbmcgfSwgQVNDSUlMaXRlcmFsKCJfYmxhbmsi
KSwgTG9ja0hpc3Rvcnk6Ok5vLCBMb2NrQmFja0ZvcndhcmRMaXN0OjpObywgTWF5YmVTZW5kUmVm
ZXJyZXIsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzLCBOZXdGcmFtZU9wZW5lclBv
bGljeTo6QWxsb3csIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93
LCBJbml0aWF0ZWRCeU1haW5GcmFtZTo6VW5rbm93biB9OwogCiAgICAgTmF2aWdhdGlvbkFjdGlv
biBhY3Rpb24geyAqaW5zcGVjdGVkTWFpbkZyYW1lLmRvY3VtZW50KCksIGZyYW1lTG9hZFJlcXVl
c3QucmVzb3VyY2VSZXF1ZXN0KCksIE5hdmlnYXRpb25UeXBlOjpMaW5rQ2xpY2tlZCB9OwogICAg
IFBhZ2UqIG5ld1BhZ2UgPSBpbnNwZWN0ZWRQYWdlLT5jaHJvbWUoKS5jcmVhdGVXaW5kb3coaW5z
cGVjdGVkTWFpbkZyYW1lLCBmcmFtZUxvYWRSZXF1ZXN0LCB7IH0sIGFjdGlvbik7Cg==
</data>
<flag name="review"
          id="336105"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>