<?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>192701</bug_id>
          
          <creation_ts>2018-12-14 09:12:15 -0800</creation_ts>
          <short_desc>[PSON] Stop exposing PolicyAction::Suspend to WebCore</short_desc>
          <delta_ts>2018-12-16 05:40:53 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aperez</cc>
    
    <cc>beidson</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1487929</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-14 09:12:15 -0800</bug_when>
    <thetext>Stop exposing PolicyAction::Suspend to WebCore as this is a WebKit2-layer concept.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487933</commentid>
    <comment_count>1</comment_count>
      <attachid>357319</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-14 09:30:58 -0800</bug_when>
    <thetext>Created attachment 357319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487953</commentid>
    <comment_count>2</comment_count>
      <attachid>357319</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-14 10:24:00 -0800</bug_when>
    <thetext>Comment on attachment 357319
Patch

Clearing flags on attachment: 357319

Committed r239219: &lt;https://trac.webkit.org/changeset/239219&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487954</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-14 10:24:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487958</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-14 10:25:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/46734047&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487993</commentid>
    <comment_count>5</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2018-12-14 12:09:46 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #2)
&gt; Comment on attachment 357319 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 357319
&gt; 
&gt; Committed r239219: &lt;https://trac.webkit.org/changeset/239219&gt;

This broke the build for both the GTK+ and WPE ports, I have
pushed a fix in https://trac.webkit.org/changeset/239225

Please *do* wait for all the EWS bots to run on your patches,
this would have been caught by them. I can spin a couple of
bots more for our ports if needed -- just let me know :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487996</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-14 12:15:03 -0800</bug_when>
    <thetext>(In reply to Adrian Perez from comment #5)
&gt; (In reply to Chris Dumez from comment #2)
&gt; &gt; Comment on attachment 357319 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Clearing flags on attachment: 357319
&gt; &gt; 
&gt; &gt; Committed r239219: &lt;https://trac.webkit.org/changeset/239219&gt;
&gt; 
&gt; This broke the build for both the GTK+ and WPE ports, I have
&gt; pushed a fix in https://trac.webkit.org/changeset/239225
&gt; 
&gt; Please *do* wait for all the EWS bots to run on your patches,
&gt; this would have been caught by them. I can spin a couple of
&gt; bots more for our ports if needed -- just let me know :)

I apologize as I normally try to do that. However:
1. The GTK/WPE EWS was in a bad state and failing to build *without* my change
2. We still have rules in place (AFAIK) allow WK2 changes to break other ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487998</commentid>
    <comment_count>7</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2018-12-14 12:39:14 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #6)
&gt; (In reply to Adrian Perez from comment #5)
&gt; &gt; (In reply to Chris Dumez from comment #2)
&gt; &gt; &gt; Comment on attachment 357319 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; Clearing flags on attachment: 357319
&gt; &gt; &gt; 
&gt; &gt; &gt; Committed r239219: &lt;https://trac.webkit.org/changeset/239219&gt;
&gt; &gt; 
&gt; &gt; This broke the build for both the GTK+ and WPE ports, I have
&gt; &gt; pushed a fix in https://trac.webkit.org/changeset/239225
&gt; &gt; 
&gt; &gt; Please *do* wait for all the EWS bots to run on your patches,
&gt; &gt; this would have been caught by them. I can spin a couple of
&gt; &gt; bots more for our ports if needed -- just let me know :)
&gt; 
&gt; I apologize as I normally try to do that. However:
&gt; 1. The GTK/WPE EWS was in a bad state and failing to build *without* my
&gt; change
&gt; 2. We still have rules in place (AFAIK) allow WK2 changes to break other
&gt; ports.

No problem, it was just a gentle reminder. Thanks a lot for the
heads up about our EWS bots behaving funnily; if they did that
it&apos;s understandable that you went ahead and landed -- I will get
my stethoscope and see if there&apos;s something wrong with the bots :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488003</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-14 12:51:23 -0800</bug_when>
    <thetext>(In reply to Adrian Perez from comment #7)
&gt; (In reply to Chris Dumez from comment #6)
&gt; &gt; (In reply to Adrian Perez from comment #5)
&gt; &gt; &gt; (In reply to Chris Dumez from comment #2)
&gt; &gt; &gt; &gt; Comment on attachment 357319 [details]
&gt; &gt; &gt; &gt; Patch
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Clearing flags on attachment: 357319
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Committed r239219: &lt;https://trac.webkit.org/changeset/239219&gt;
&gt; &gt; &gt; 
&gt; &gt; &gt; This broke the build for both the GTK+ and WPE ports, I have
&gt; &gt; &gt; pushed a fix in https://trac.webkit.org/changeset/239225
&gt; &gt; &gt; 
&gt; &gt; &gt; Please *do* wait for all the EWS bots to run on your patches,
&gt; &gt; &gt; this would have been caught by them. I can spin a couple of
&gt; &gt; &gt; bots more for our ports if needed -- just let me know :)
&gt; &gt; 
&gt; &gt; I apologize as I normally try to do that. However:
&gt; &gt; 1. The GTK/WPE EWS was in a bad state and failing to build *without* my
&gt; &gt; change
&gt; &gt; 2. We still have rules in place (AFAIK) allow WK2 changes to break other
&gt; &gt; ports.
&gt; 
&gt; No problem, it was just a gentle reminder. Thanks a lot for the
&gt; heads up about our EWS bots behaving funnily; if they did that
&gt; it&apos;s understandable that you went ahead and landed -- I will get
&gt; my stethoscope and see if there&apos;s something wrong with the bots :)

If it helps, here is what the output looked like:
https://webkit-queues.webkit.org/results/10398265

No such file or directory at /home/ews/igalia-wpe-ews/WebKit/Tools/Scripts/webkitdirs.pm line 2338.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488356</commentid>
    <comment_count>9</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2018-12-16 05:40:53 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #8)

&gt; If it helps, here is what the output looked like:
&gt; https://webkit-queues.webkit.org/results/10398265
&gt; 
&gt; No such file or directory at
&gt; /home/ews/igalia-wpe-ews/WebKit/Tools/Scripts/webkitdirs.pm line 2338.

Thanks, I have been reanimating our EWS bots yesterday, and after
landing a couple of fixes and cleaning up the build directories
they seem to be working all fine except one to which I don&apos;t have
access right now. I&apos;ll get to it tomorrow when people show up online
at European office hours =)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357319</attachid>
            <date>2018-12-14 09:30:58 -0800</date>
            <delta_ts>2018-12-14 10:24:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192701-20181214093057.patch</filename>
            <type>text/plain</type>
            <size>46084</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2JiMTA5ZjQwMWI5YjQw
ZjZjZGE4OGNkNGRiNjkyZTk0ZDgwODQ4OC4uODg0ZDhlZGE2YzZiMTRlNjM4ZTlkMTZkOWJmOGVj
YmVjMTNiYjJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTEyLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1BTT05dIFN0b3AgZXhwb3Np
bmcgUG9saWN5QWN0aW9uOjpTdXNwZW5kIHRvIFdlYkNvcmUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjcwMQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgUG9saWN5QWN0aW9uOjpTdXNwZW5kIGVu
dW0gdmFsdWUgYW5kIHN0b3AgZGVhbGluZyB3aXRoIGl0IGluIFdlYkNvcmUuCisKKyAgICAgICAg
KiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXI6OmNvbnRpbnVlQWZ0ZXJDb250ZW50UG9saWN5KToKKyAgICAgICAgKiBsb2FkZXIvRnJh
bWVMb2FkZXJUeXBlcy5oOgorICAgICAgICAqIGxvYWRlci9Qb2xpY3lDaGVja2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBvbGljeUNoZWNrZXI6OmNoZWNrTmF2aWdhdGlvblBvbGljeSk6Cisg
ICAgICAgIChXZWJDb3JlOjpQb2xpY3lDaGVja2VyOjpjaGVja05ld1dpbmRvd1BvbGljeSk6CisK
IDIwMTgtMTItMTQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBb
TEZDXVtCRkNdIEludHJvZHVjZSBWZXJ0aWNhbE1hcmdpbiBhbmQgSG9yaXpvbnRhbE1hcmdpbiB0
eXBlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggZDRhMWI0MTIzOTIyYWFjY2ZmZDBjZWZlZTBiYjQ5MTg0OTdhZmFk
Ny4uYzJkMzJmOTlkODA2Yjc0M2VhMTZkZWVmYzYwM2I4ZTZkNWQyNWI5YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw0OSBAQAorMjAxOC0xMi0xNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgorCisgICAgICAgIFtQU09OXSBTdG9wIGV4cG9zaW5nIFBvbGljeUFjdGlvbjo6U3VzcGVuZCB0
byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTI3MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbnRyb2R1Y2UgYSBuZXcgV2ViUG9saWN5QWN0aW9uIGVudW0gdGhhdCBpcyB1c2VkIGF0IFdl
YktpdDIgbGF5ZXIgYW5kIGF1Z21lbnRzCisgICAgICAgIFdlYkNvcmU6OlBvbGljeUFjdGlvbiB3
aXRoIGEgIlN1c3BlbmQiIHZhbHVlLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0RhdGFUYXNrQmxvYi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0Jsb2I6
OmRpc3BhdGNoRGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tOgorICAgICAgICAodG9OU1VSTFNlc3Npb25SZXNw
b25zZURpc3Bvc2l0aW9uKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUG9saWN5QWN0aW9uLmg6IEFk
ZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk6OmRpZFJlY2Vp
dmVTYWZlQnJvd3NpbmdSZXN1bHRzKToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQb2xpY3lM
aXN0ZW5lclByb3h5Ojp1c2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVBvbGljeUxpc3Rl
bmVyUHJveHk6OmRvd25sb2FkKToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5OjppZ25vcmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lUHJveHk6OnNldFVwUG9saWN5TGlzdGVuZXJQcm94eSk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZWNl
aXZlZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6cmVjZWl2ZWRQb2xpY3lEZWNpc2lvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmMpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlv
bik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yUmVzcG9u
c2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRl
ckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JSZXNwb25zZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRp
b25BY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OnRvUG9saWN5QWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJh
bWU6OmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYkZyYW1lLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMTgtMTItMTQgIFBhdHJpY2sg
R3JpZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS11bV1BFXSBGaXgg
Zm9yd2FyZGluZyB3ZWJraXQgc29ja2V0IHRvIGZsYXRwYWsgc2FuZGJveApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggMWVhN2YzNTJhN2IxNTJmNDNjYzUyMzlk
ZjUzOTZhMDU2ZjQyZDgyYi4uMmY1MDhlYmM2M2I3MTcxOGI4MWUzNjI3ZmYyOGNjNDY3MTJjZmJk
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC05MTgsOSAr
OTE4LDYgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6Y29udGludWVBZnRlckNvbnRlbnRQb2xpY3ko
UG9saWN5QWN0aW9uIHBvbGljeSkKICAgICAgICAgICAgIHN0YXRpY19jYXN0PFJlc291cmNlTG9h
ZGVyKj4obWFpblJlc291cmNlTG9hZGVyKCkpLT5kaWRGYWlsKGludGVycnVwdGVkRm9yUG9saWN5
Q2hhbmdlRXJyb3IoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgY2FzZSBQb2xpY3lB
Y3Rpb246OlN1c3BlbmQ6Ci0gICAgICAgIC8vIEl0IGlzIGludmFsaWQgdG8gZ2V0IGEgU3VzcGVu
ZCBwb2xpY3kgYmFzZWQgb24gbmF2aWdhdGlvbiByZXNwb25zZS4KLSAgICAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICBjYXNlIFBvbGljeUFjdGlvbjo6SWdub3JlOgogICAg
ICAgICBpZiAoUmVzb3VyY2VMb2FkZXIqIG1haW5SZXNvdXJjZUxvYWRlciA9IHRoaXMtPm1haW5S
ZXNvdXJjZUxvYWRlcigpKQogICAgICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpj
b250aW51ZVdpdGhQb2xpY3lJZ25vcmUoKm1fZnJhbWUsIG1haW5SZXNvdXJjZUxvYWRlci0+aWRl
bnRpZmllcigpLCAqdGhpcywgbV9yZXNwb25zZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXJUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyVHlwZXMuaAppbmRleCBhM2QwZjI0MmNhZjBkZDc0ODg5N2ZkZWUxYzQ2M2IxZmVlYTFk
M2I4Li4xMjUwMjM5Y2E2MTQ1YWM1ZGY3YmI1YmE0MWM1NTY3OTlkNmI5NjlmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJUeXBlcy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclR5cGVzLmgKQEAgLTQ0LDcgKzQ0LDYgQEAgZW51bSBj
bGFzcyBQb2xpY3lBY3Rpb24gOiB1aW50OF90IHsKICAgICBVc2UsCiAgICAgRG93bmxvYWQsCiAg
ICAgSWdub3JlLAotICAgIFN1c3BlbmQsIC8vIEZJWE1FOiBUaGlzIGlzIG9ubHkgdXNlZCBieSBX
ZWJLaXQyIHNvIHdlIHNob3VsZG4ndCBuZWVkIHRoaXMgaW4gdGhlIFdlYkNvcmUgZW51bS4KIH07
CiAKIGVudW0gY2xhc3MgUmVsb2FkT3B0aW9uIDogdWludDhfdCB7CkBAIC0xNTMsOCArMTUyLDcg
QEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpQb2xpY3lBY3Rpb24+IHsK
ICAgICAgICAgV2ViQ29yZTo6UG9saWN5QWN0aW9uLAogICAgICAgICBXZWJDb3JlOjpQb2xpY3lB
Y3Rpb246OlVzZSwKICAgICAgICAgV2ViQ29yZTo6UG9saWN5QWN0aW9uOjpEb3dubG9hZCwKLSAg
ICAgICAgV2ViQ29yZTo6UG9saWN5QWN0aW9uOjpJZ25vcmUsCi0gICAgICAgIFdlYkNvcmU6OlBv
bGljeUFjdGlvbjo6U3VzcGVuZAorICAgICAgICBXZWJDb3JlOjpQb2xpY3lBY3Rpb246Oklnbm9y
ZQogICAgID47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUG9saWN5
Q2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5jcHAKaW5k
ZXggM2I2ZDEwYTNmOGQzNWU3YzEzOGQ0YTM4MjFjZmM4OGFhODk4ZTI4Ni4uMWY0YmQyNTBhMDBj
OTljMDEyNzY0YzMwMGQ1ZGMyNTYyNjg4ZGQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1BvbGljeUNoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xp
Y3lDaGVja2VyLmNwcApAQCAtMTgyLDggKzE4Miw2IEBAIHZvaWQgUG9saWN5Q2hlY2tlcjo6Y2hl
Y2tOYXZpZ2F0aW9uUG9saWN5KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0IFJlc291
CiAgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgY2FzZSBQb2xpY3lBY3Rpb246Okln
bm9yZToKICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbih7IH0sIG51bGxwdHIsIFNob3VsZENv
bnRpbnVlOjpObyk7Ci0gICAgICAgIGNhc2UgUG9saWN5QWN0aW9uOjpTdXNwZW5kOgotICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgY2FzZSBQb2xpY3lB
Y3Rpb246OlVzZToKICAgICAgICAgICAgIGlmICghbV9mcmFtZS5sb2FkZXIoKS5jbGllbnQoKS5j
YW5IYW5kbGVSZXF1ZXN0KHJlcXVlc3QpKSB7CiAgICAgICAgICAgICAgICAgaGFuZGxlVW5pbXBs
ZW1lbnRhYmxlUG9saWN5KG1fZnJhbWUubG9hZGVyKCkuY2xpZW50KCkuY2Fubm90U2hvd1VSTEVy
cm9yKHJlcXVlc3QpKTsKQEAgLTIxMyw5ICsyMTEsNiBAQCB2b2lkIFBvbGljeUNoZWNrZXI6OmNo
ZWNrTmV3V2luZG93UG9saWN5KE5hdmlnYXRpb25BY3Rpb24mJiBuYXZpZ2F0aW9uQWN0aW9uLCBS
ZQogICAgICAgICBjYXNlIFBvbGljeUFjdGlvbjo6SWdub3JlOgogICAgICAgICAgICAgZnVuY3Rp
b24oeyB9LCBudWxscHRyLCB7IH0sIHsgfSwgU2hvdWxkQ29udGludWU6Ok5vKTsKICAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgY2FzZSBQb2xpY3lBY3Rpb246OlN1c3BlbmQ6Ci0gICAgICAg
ICAgICAvLyBJdCBpcyBpbnZhbGlkIHRvIGdldCBhICJTdXNwZW5kIiBwb2xpY3kgZm9yIG5ldyB3
aW5kb3dzLCBhcyB0aGUgb2xkIGRvY3VtZW50IGlzIG5vdCBnb2luZyBhd2F5LgotICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgY2FzZSBQb2xpY3lBY3Rp
b246OlVzZToKICAgICAgICAgICAgIGZ1bmN0aW9uKHJlcXVlc3QsIG1ha2VXZWFrUHRyKGZvcm1T
dGF0ZS5nZXQoKSksIGZyYW1lTmFtZSwgbmF2aWdhdGlvbkFjdGlvbiwgU2hvdWxkQ29udGludWU6
Olllcyk7CiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFza0Jsb2IuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2tCbG9iLmNwcAppbmRleCAwMzZlYzhlZmU4NWFlMzRm
MWNjMjk4YjQ3ZmE1ZjgzMGQzNWU2OTEwLi5lYWQ5ZDg3YWUwNWM0YzI2YzQ3NjczOWI1ZGIwYjc2
NTM5OWI3NmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtEYXRhVGFza0Jsb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0RhdGFUYXNrQmxvYi5jcHAKQEAgLTMxMSw5ICszMTEsNiBAQCB2b2lkIE5ldHdvcmtEYXRh
VGFza0Jsb2I6OmRpc3BhdGNoRGlkUmVjZWl2ZVJlc3BvbnNlKEVycm9yIGVycm9yQ29kZSkKICAg
ICAgICAgICAgIG1fYnVmZmVyLnJlc2l6ZShidWZmZXJTaXplKTsKICAgICAgICAgICAgIHJlYWQo
KTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFBvbGljeUFjdGlvbjo6U3VzcGVu
ZDoKLSAgICAgICAgICAgIExPR19FUlJPUigiUG9saWN5QWN0aW9uOjpTdXNwZW5kIGVuY291bnRl
cmVkIC0gVHJlYXRpbmcgYXMgUG9saWN5QWN0aW9uOjpJZ25vcmUgZm9yIG5vdyIpOwotICAgICAg
ICAgICAgRkFMTFRIUk9VR0g7CiAgICAgICAgIGNhc2UgUG9saWN5QWN0aW9uOjpJZ25vcmU6CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBQb2xpY3lBY3Rpb246OkRvd25sb2FkOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vz
c2lvbkNvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3Jr
U2Vzc2lvbkNvY29hLm1tCmluZGV4IDJkNGE3ZmRiMGI5YzBiMDI5MjFjYzgxZmY2YTczZmFhODhi
ZjRmNjEuLjY1ZmY3NjExZjA4YTA5YTg5YmM1OWVkZjE0YmVhZjJiMGEyMmIwZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EubW0KQEAgLTU4LDkgKzU4LDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIHN0
YXRpYyBOU1VSTFNlc3Npb25SZXNwb25zZURpc3Bvc2l0aW9uIHRvTlNVUkxTZXNzaW9uUmVzcG9u
c2VEaXNwb3NpdGlvbihXZWJDb3JlOjpQb2xpY3lBY3Rpb24gZGlzcG9zaXRpb24pCiB7CiAgICAg
c3dpdGNoIChkaXNwb3NpdGlvbikgewotICAgIGNhc2UgV2ViQ29yZTo6UG9saWN5QWN0aW9uOjpT
dXNwZW5kOgotICAgICAgICBMT0dfRVJST1IoIlBvbGljeUFjdGlvbjo6U3VzcGVuZCBlbmNvdW50
ZXJlZCAtIFRyZWF0aW5nIGFzIFBvbGljeUFjdGlvbjo6SWdub3JlIGZvciBub3ciKTsKLSAgICAg
ICAgRkFMTFRIUk9VR0g7CiAgICAgY2FzZSBXZWJDb3JlOjpQb2xpY3lBY3Rpb246Oklnbm9yZToK
ICAgICAgICAgcmV0dXJuIE5TVVJMU2Vzc2lvblJlc3BvbnNlQ2FuY2VsOwogICAgIGNhc2UgV2Vi
Q29yZTo6UG9saWN5QWN0aW9uOjpVc2U6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQb2xpY3lBY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBvbGljeUFjdGlv
bi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjE0MmE1MThkZjA5N2U1ZWYyZmExODA0ODRlMDlkMDMzM2MxMDViODEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQb2xpY3lBY3Rpb24u
aApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworZW51bSBjbGFzcyBXZWJQ
b2xpY3lBY3Rpb24gOiB1aW50OF90IHsKKyAgICBVc2UsCisgICAgRG93bmxvYWQsCisgICAgSWdu
b3JlLAorICAgIFN1c3BlbmQKK307CisKK30KKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRl
PD4gc3RydWN0IEVudW1UcmFpdHM8V2ViS2l0OjpXZWJQb2xpY3lBY3Rpb24+IHsKKyAgICB1c2lu
ZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJLaXQ6OldlYlBvbGljeUFjdGlvbiwK
KyAgICAgICAgV2ViS2l0OjpXZWJQb2xpY3lBY3Rpb246OlVzZSwKKyAgICAgICAgV2ViS2l0OjpX
ZWJQb2xpY3lBY3Rpb246OkRvd25sb2FkLAorICAgICAgICBXZWJLaXQ6OldlYlBvbGljeUFjdGlv
bjo6SWdub3JlLAorICAgICAgICBXZWJLaXQ6OldlYlBvbGljeUFjdGlvbjo6U3VzcGVuZAorICAg
ID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5jcHAKaW5kZXggOGUzMWYw
NzAxNTNmYjZlYWNkNGIwZmQyYWMzY2RkMGRmYjQ5ZTljMC4uZDdmY2NkNjk1Yzk3ZDMyZDFjNzlj
ZTdmZGEwMDU5OTQ4Mjg3NDNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuY3BwCkBAIC01MCw3ICs1MCw3IEBAIHZv
aWQgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5OjpkaWRSZWNlaXZlU2FmZUJyb3dzaW5nUmVz
dWx0cyhSZWZQdHI8U2FmZUJyb3dzCiAgICAgQVNTRVJUKCFtX3NhZmVCcm93c2luZ1dhcm5pbmcp
OwogICAgIGlmIChtX3BvbGljeVJlc3VsdCkgewogICAgICAgICBpZiAobV9yZXBseSkKLSAgICAg
ICAgICAgIG1fcmVwbHkoV2ViQ29yZTo6UG9saWN5QWN0aW9uOjpVc2UsIG1fcG9saWN5UmVzdWx0
LT5maXJzdC5nZXQoKSwgbV9wb2xpY3lSZXN1bHQtPnNlY29uZCwgV1RGTW92ZShzYWZlQnJvd3Np
bmdXYXJuaW5nKSk7CisgICAgICAgICAgICBtX3JlcGx5KFdlYlBvbGljeUFjdGlvbjo6VXNlLCBt
X3BvbGljeVJlc3VsdC0+Zmlyc3QuZ2V0KCksIG1fcG9saWN5UmVzdWx0LT5zZWNvbmQsIFdURk1v
dmUoc2FmZUJyb3dzaW5nV2FybmluZykpOwogICAgIH0gZWxzZQogICAgICAgICBtX3NhZmVCcm93
c2luZ1dhcm5pbmcgPSBXVEZNb3ZlKHNhZmVCcm93c2luZ1dhcm5pbmcpOwogfQpAQCAtNTksNyAr
NTksNyBAQCB2b2lkIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6dXNlKEFQSTo6V2Vic2l0
ZVBvbGljaWVzKiBwb2xpY2llcywgUHJvY2Vzc1N3YQogewogICAgIGlmIChtX3NhZmVCcm93c2lu
Z1dhcm5pbmcpIHsKICAgICAgICAgaWYgKG1fcmVwbHkpCi0gICAgICAgICAgICBtX3JlcGx5KFdl
YkNvcmU6OlBvbGljeUFjdGlvbjo6VXNlLCBwb2xpY2llcywgcHJvY2Vzc1N3YXBSZXF1ZXN0ZWRC
eUNsaWVudCwgV1RGTW92ZSgqbV9zYWZlQnJvd3NpbmdXYXJuaW5nKSk7CisgICAgICAgICAgICBt
X3JlcGx5KFdlYlBvbGljeUFjdGlvbjo6VXNlLCBwb2xpY2llcywgcHJvY2Vzc1N3YXBSZXF1ZXN0
ZWRCeUNsaWVudCwgV1RGTW92ZSgqbV9zYWZlQnJvd3NpbmdXYXJuaW5nKSk7CiAgICAgfSBlbHNl
IGlmICghbV9wb2xpY3lSZXN1bHQpCiAgICAgICAgIG1fcG9saWN5UmVzdWx0ID0ge3sgcG9saWNp
ZXMsIHByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQgfX07CiB9CkBAIC02NywxMyArNjcsMTMg
QEAgdm9pZCBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk6OnVzZShBUEk6OldlYnNpdGVQb2xp
Y2llcyogcG9saWNpZXMsIFByb2Nlc3NTd2EKIHZvaWQgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclBy
b3h5Ojpkb3dubG9hZCgpCiB7CiAgICAgaWYgKG1fcmVwbHkpCi0gICAgICAgIG1fcmVwbHkoV2Vi
Q29yZTo6UG9saWN5QWN0aW9uOjpEb3dubG9hZCwgbnVsbHB0ciwgUHJvY2Vzc1N3YXBSZXF1ZXN0
ZWRCeUNsaWVudDo6Tm8sIHsgfSk7CisgICAgICAgIG1fcmVwbHkoV2ViUG9saWN5QWN0aW9uOjpE
b3dubG9hZCwgbnVsbHB0ciwgUHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudDo6Tm8sIHsgfSk7
CiB9CiAKIHZvaWQgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5OjppZ25vcmUoKQogewogICAg
IGlmIChtX3JlcGx5KQotICAgICAgICBtX3JlcGx5KFdlYkNvcmU6OlBvbGljeUFjdGlvbjo6SWdu
b3JlLCBudWxscHRyLCBQcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50OjpObywgeyB9KTsKKyAg
ICAgICAgbV9yZXBseShXZWJQb2xpY3lBY3Rpb246Oklnbm9yZSwgbnVsbHB0ciwgUHJvY2Vzc1N3
YXBSZXF1ZXN0ZWRCeUNsaWVudDo6Tm8sIHsgfSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3Rl
bmVyUHJveHkuaAppbmRleCA5NTk4ZGE3YmQzNTJhNmEyNDBkM2JlZDc1N2IyNjk0N2RhM2M0YTk4
Li4yYWQ5OWY2NTkyZDliNDcwMDIxYWQ2ZTg3MTkxZWQzYWFhOWM0NTBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuaApA
QCAtMjYsNiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIK
KyNpbmNsdWRlICJXZWJQb2xpY3lBY3Rpb24uaCIKICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhh
bmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTMzLDEwICszNCw2IEBAIG5h
bWVzcGFjZSBBUEkgewogY2xhc3MgV2Vic2l0ZVBvbGljaWVzOwogfQogCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci1lbnVtIGNsYXNzIFBvbGljeUFjdGlvbiA6IHVpbnQ4X3Q7Ci19Ci0KIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBjbGFzcyBTYWZlQnJvd3NpbmdXYXJuaW5nOwpAQCAtNDcsNyArNDQsNyBA
QCBlbnVtIGNsYXNzIFNob3VsZEV4cGVjdFNhZmVCcm93c2luZ1Jlc3VsdCB7IE5vLCBZZXMgfTsK
IGNsYXNzIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eSA6IHB1YmxpYyBBUEk6Ok9iamVjdElt
cGw8QVBJOjpPYmplY3Q6OlR5cGU6OkZyYW1lUG9saWN5TGlzdGVuZXI+IHsKIHB1YmxpYzoKIAot
ICAgIHVzaW5nIFJlcGx5ID0gQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQb2xpY3lB
Y3Rpb24sIEFQSTo6V2Vic2l0ZVBvbGljaWVzKiwgUHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVu
dCwgUmVmUHRyPFNhZmVCcm93c2luZ1dhcm5pbmc+JiYpPjsKKyAgICB1c2luZyBSZXBseSA9IENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViUG9saWN5QWN0aW9uLCBBUEk6OldlYnNpdGVQb2xpY2ll
cyosIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQsIFJlZlB0cjxTYWZlQnJvd3NpbmdXYXJu
aW5nPiYmKT47CiAgICAgc3RhdGljIFJlZjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk+IGNy
ZWF0ZShSZXBseSYmIHJlcGx5LCBTaG91bGRFeHBlY3RTYWZlQnJvd3NpbmdSZXN1bHQgZXhwZWN0
KQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5KFdURk1vdmUocmVwbHkpLCBleHBlY3QpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViRnJhbWVQcm94eS5jcHAKaW5kZXggNjkyODg0OTRjNmI2MTkyNjdhYTJjYzBlNTVmOWRm
N2Q2NTI2MWEyNy4uYzc3YTI2Yjc0MjdjMzFjODI4ZTJlYWEyMjFmODA3MGI3N2FkZDI2MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKQEAgLTE3NywxMSArMTc3
LDExIEBAIHZvaWQgV2ViRnJhbWVQcm94eTo6ZGlkQ2hhbmdlVGl0bGUoY29uc3QgU3RyaW5nJiB0
aXRsZSkKICAgICBtX3RpdGxlID0gdGl0bGU7CiB9CiAKLVdlYkZyYW1lUG9saWN5TGlzdGVuZXJQ
cm94eSYgV2ViRnJhbWVQcm94eTo6c2V0VXBQb2xpY3lMaXN0ZW5lclByb3h5KENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoV2ViQ29yZTo6UG9saWN5QWN0aW9uLCBBUEk6OldlYnNpdGVQb2xpY2llcyos
IFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQsIFJlZlB0cjxTYWZlQnJvd3NpbmdXYXJuaW5n
PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlciwgU2hvdWxkRXhwZWN0U2FmZUJyb3dzaW5nUmVzdWx0
IGV4cGVjdCkKK1dlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eSYgV2ViRnJhbWVQcm94eTo6c2V0
VXBQb2xpY3lMaXN0ZW5lclByb3h5KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViUG9saWN5QWN0
aW9uLCBBUEk6OldlYnNpdGVQb2xpY2llcyosIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQs
IFJlZlB0cjxTYWZlQnJvd3NpbmdXYXJuaW5nPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlciwgU2hv
dWxkRXhwZWN0U2FmZUJyb3dzaW5nUmVzdWx0IGV4cGVjdCkKIHsKICAgICBpZiAobV9hY3RpdmVM
aXN0ZW5lcikKICAgICAgICAgbV9hY3RpdmVMaXN0ZW5lci0+aWdub3JlKCk7Ci0gICAgbV9hY3Rp
dmVMaXN0ZW5lciA9IFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6Y3JlYXRlKFt0aGlzLCBw
cm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildIChXZWJDb3JlOjpQb2xpY3lBY3Rpb24gYWN0aW9uLCBBUEk6
OldlYnNpdGVQb2xpY2llcyogcG9saWNpZXMsIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQg
cHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCwgUmVmUHRyPFNhZmVCcm93c2luZ1dhcm5pbmc+
JiYgc2FmZUJyb3dzaW5nV2FybmluZykgbXV0YWJsZSB7CisgICAgbV9hY3RpdmVMaXN0ZW5lciA9
IFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6Y3JlYXRlKFt0aGlzLCBwcm90ZWN0ZWRUaGlz
ID0gbWFrZVJlZigqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcildIChXZWJQb2xpY3lBY3Rpb24gYWN0aW9uLCBBUEk6OldlYnNpdGVQb2xpY2llcyog
cG9saWNpZXMsIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQgcHJvY2Vzc1N3YXBSZXF1ZXN0
ZWRCeUNsaWVudCwgUmVmUHRyPFNhZmVCcm93c2luZ1dhcm5pbmc+JiYgc2FmZUJyb3dzaW5nV2Fy
bmluZykgbXV0YWJsZSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGFjdGlvbiwgcG9saWNp
ZXMsIHByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQsIFdURk1vdmUoc2FmZUJyb3dzaW5nV2Fy
bmluZykpOwogICAgICAgICBtX2FjdGl2ZUxpc3RlbmVyID0gbnVsbHB0cjsKICAgICB9LCBleHBl
Y3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCmluZGV4IDY2MjM4ZDEx
YmM3OTFmZWRkOGVlY2ZlYjdlYzQ1YzdjYjIzNjgzMzAuLjhjZWE3MTM2NmU3NTRkNDgwN2IwNDJh
M2JmYzg2ZTQyOTA5ZGJiZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkZyYW1lUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5
LmgKQEAgLTExNyw3ICsxMTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRTYW1lRG9jdW1lbnRO
YXZpZ2F0aW9uKGNvbnN0IFVSTCYpOyAvLyBlZy4gYW5jaG9yIG5hdmlnYXRpb24sIHNlc3Npb24g
c3RhdGUgY2hhbmdlLgogICAgIHZvaWQgZGlkQ2hhbmdlVGl0bGUoY29uc3QgU3RyaW5nJik7CiAK
LSAgICBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkmIHNldFVwUG9saWN5TGlzdGVuZXJQcm94
eShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBvbGljeUFjdGlvbiwgQVBJOjpXZWJz
aXRlUG9saWNpZXMqLCBQcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50LCBSZWZQdHI8U2FmZUJy
b3dzaW5nV2FybmluZz4mJik+JiYsIFNob3VsZEV4cGVjdFNhZmVCcm93c2luZ1Jlc3VsdCk7Cisg
ICAgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5JiBzZXRVcFBvbGljeUxpc3RlbmVyUHJveHko
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJQb2xpY3lBY3Rpb24sIEFQSTo6V2Vic2l0ZVBvbGlj
aWVzKiwgUHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCwgUmVmUHRyPFNhZmVCcm93c2luZ1dh
cm5pbmc+JiYpPiYmLCBTaG91bGRFeHBlY3RTYWZlQnJvd3NpbmdSZXN1bHQpOwogCiAjaWYgRU5B
QkxFKENPTlRFTlRfRklMVEVSSU5HKQogICAgIHZvaWQgY29udGVudEZpbHRlckRpZEJsb2NrTG9h
ZChXZWJDb3JlOjpDb250ZW50RmlsdGVyVW5ibG9ja0hhbmRsZXIgY29udGVudEZpbHRlclVuYmxv
Y2tIYW5kbGVyKSB7IG1fY29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyID0gV1RGTW92ZShjb250
ZW50RmlsdGVyVW5ibG9ja0hhbmRsZXIpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAppbmRleCAwNGIwMzhlZTJjZjllYmY4MDE2MDQzOTRiY2JjYWFkN2VmMmE4ZjY0
Li5kYWMxNTI5N2E5MjQyZGRiMDg4MjIyZGEzYTRlZWRjNWYzZDkwMDUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTI1OTIsNyArMjU5Miw3IEBAIHZvaWQg
V2ViUGFnZVByb3h5OjpjZW50ZXJTZWxlY3Rpb25JblZpc2libGVBcmVhKCkKIAogY2xhc3MgV2Vi
UGFnZVByb3h5OjpQb2xpY3lEZWNpc2lvblNlbmRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFBvbGlj
eURlY2lzaW9uU2VuZGVyPiB7CiBwdWJsaWM6Ci0gICAgdXNpbmcgU2VuZEZ1bmN0aW9uID0gQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQb2xpY3lBY3Rpb24sIHVpbnQ2NF90IG5ld05h
dmlnYXRpb25JRCwgRG93bmxvYWRJRCwgc3RkOjpvcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRh
Pik+OworICAgIHVzaW5nIFNlbmRGdW5jdGlvbiA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vi
UG9saWN5QWN0aW9uLCB1aW50NjRfdCBuZXdOYXZpZ2F0aW9uSUQsIERvd25sb2FkSUQsIHN0ZDo6
b3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4pPjsKICAgICBzdGF0aWMgUmVmPFBvbGljeURl
Y2lzaW9uU2VuZGVyPiBjcmVhdGUoU2VuZEZ1bmN0aW9uJiYgc2VuZEZ1bmN0aW9uKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUG9saWN5RGVjaXNpb25TZW5kZXIoV1RGTW92
ZShzZW5kRnVuY3Rpb24pKSk7CkBAIC0yNjEwLDcgKzI2MTAsNyBAQCBwcml2YXRlOgogICAgIFNl
bmRGdW5jdGlvbiBtX3NlbmRGdW5jdGlvbjsKIH07CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpyZWNl
aXZlZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbihQb2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uLCBB
UEk6Ok5hdmlnYXRpb24qIG5hdmlnYXRpb24sIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQg
cHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCwgV2ViRnJhbWVQcm94eSYgZnJhbWUsIEFQSTo6
V2Vic2l0ZVBvbGljaWVzKiBwb2xpY2llcywgUmVmPFBvbGljeURlY2lzaW9uU2VuZGVyPiYmIHNl
bmRlcikKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZWNlaXZlZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lv
bihXZWJQb2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uLCBBUEk6Ok5hdmlnYXRpb24qIG5hdmlnYXRp
b24sIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQgcHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNs
aWVudCwgV2ViRnJhbWVQcm94eSYgZnJhbWUsIEFQSTo6V2Vic2l0ZVBvbGljaWVzKiBwb2xpY2ll
cywgUmVmPFBvbGljeURlY2lzaW9uU2VuZGVyPiYmIHNlbmRlcikKIHsKICAgICBzdGQ6Om9wdGlv
bmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+IGRhdGE7CiAgICAgaWYgKHBvbGljaWVzKSB7CkBAIC0y
NjE5LDcgKzI2MTksNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVjZWl2ZWROYXZpZ2F0aW9uUG9s
aWN5RGVjaXNpb24oUG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbiwgQQogICAgICAgICAgICAgY2hh
bmdlV2Vic2l0ZURhdGFTdG9yZShwb2xpY2llcy0+d2Vic2l0ZURhdGFTdG9yZSgpLT53ZWJzaXRl
RGF0YVN0b3JlKCkpOwogICAgIH0KIAotICAgIGlmIChwb2xpY3lBY3Rpb24gIT0gUG9saWN5QWN0
aW9uOjpVc2UgfHwgIWZyYW1lLmlzTWFpbkZyYW1lKCkgfHwgIW5hdmlnYXRpb24pIHsKKyAgICBp
ZiAocG9saWN5QWN0aW9uICE9IFdlYlBvbGljeUFjdGlvbjo6VXNlIHx8ICFmcmFtZS5pc01haW5G
cmFtZSgpIHx8ICFuYXZpZ2F0aW9uKSB7CiAgICAgICAgIHJlY2VpdmVkUG9saWN5RGVjaXNpb24o
cG9saWN5QWN0aW9uLCBuYXZpZ2F0aW9uLCBXVEZNb3ZlKGRhdGEpLCBXVEZNb3ZlKHNlbmRlcikp
OwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMjYzMiw3ICsyNjMyLDcgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OnJlY2VpdmVkTmF2aWdhdGlvblBvbGljeURlY2lzaW9uKFBvbGljeUFjdGlvbiBw
b2xpY3lBY3Rpb24sIEEKICAgICAgICAgfQogCiAgICAgICAgIGlmIChwcm9jZXNzRm9yTmF2aWdh
dGlvbi5wdHIoKSAhPSAmcHJvY2VzcygpKSB7Ci0gICAgICAgICAgICBwb2xpY3lBY3Rpb24gPSBp
c1BhZ2VPcGVuZWRCeURPTVNob3dpbmdJbml0aWFsRW1wdHlEb2N1bWVudCgpID8gUG9saWN5QWN0
aW9uOjpJZ25vcmUgOiBQb2xpY3lBY3Rpb246OlN1c3BlbmQ7CisgICAgICAgICAgICBwb2xpY3lB
Y3Rpb24gPSBpc1BhZ2VPcGVuZWRCeURPTVNob3dpbmdJbml0aWFsRW1wdHlEb2N1bWVudCgpID8g
V2ViUG9saWN5QWN0aW9uOjpJZ25vcmUgOiBXZWJQb2xpY3lBY3Rpb246OlN1c3BlbmQ7CiAgICAg
ICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NTd2FwcGluZywgIiVwIC0gV2Vi
UGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uLCBzd2FwcGluZyBwcm9j
ZXNzICVpIHdpdGggcHJvY2VzcyAlaSBmb3IgbmF2aWdhdGlvbiwgcmVhc29uOiAle3B1YmxpY31z
IiwgdGhpcywgcHJvY2Vzc0lkZW50aWZpZXIoKSwgcHJvY2Vzc0Zvck5hdmlnYXRpb24tPnByb2Nl
c3NJZGVudGlmaWVyKCksIHJlYXNvbi51dGY4KCkuZGF0YSgpKTsKICAgICAgICAgICAgIExPRyhQ
cm9jZXNzU3dhcHBpbmcsICIoUHJvY2Vzc1N3YXBwaW5nKSBTd2l0Y2hpbmcgZnJvbSBwcm9jZXNz
ICVpIHRvIG5ldyBwcm9jZXNzICglaSkgZm9yIG5hdmlnYXRpb24gJSIgUFJJdTY0ICIgJyVzJyIs
IHByb2Nlc3NJZGVudGlmaWVyKCksIHByb2Nlc3NGb3JOYXZpZ2F0aW9uLT5wcm9jZXNzSWRlbnRp
ZmllcigpLCBuYXZpZ2F0aW9uLT5uYXZpZ2F0aW9uSUQoKSwgbmF2aWdhdGlvbi0+bG9nZ2luZ1N0
cmluZygpKTsKICAgICAgICAgfSBlbHNlCkBAIC0yNjQ1LDIzICsyNjQ1LDIzIEBAIHZvaWQgV2Vi
UGFnZVByb3h5OjpyZWNlaXZlZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbihQb2xpY3lBY3Rpb24g
cG9saWN5QWN0aW9uLCBBCiAgICAgfSk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpyZWNlaXZl
ZFBvbGljeURlY2lzaW9uKFBvbGljeUFjdGlvbiBhY3Rpb24sIEFQSTo6TmF2aWdhdGlvbiogbmF2
aWdhdGlvbiwgc3RkOjpvcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmIHdlYnNpdGVQb2xp
Y2llcywgUmVmPFBvbGljeURlY2lzaW9uU2VuZGVyPiYmIHNlbmRlcikKK3ZvaWQgV2ViUGFnZVBy
b3h5OjpyZWNlaXZlZFBvbGljeURlY2lzaW9uKFdlYlBvbGljeUFjdGlvbiBhY3Rpb24sIEFQSTo6
TmF2aWdhdGlvbiogbmF2aWdhdGlvbiwgc3RkOjpvcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRh
PiYmIHdlYnNpdGVQb2xpY2llcywgUmVmPFBvbGljeURlY2lzaW9uU2VuZGVyPiYmIHNlbmRlcikK
IHsKICAgICBpZiAoIWlzVmFsaWQoKSkgewotICAgICAgICBzZW5kZXItPnNlbmQoUG9saWN5QWN0
aW9uOjpJZ25vcmUsIDAsIERvd25sb2FkSUQoKSwgc3RkOjpudWxsb3B0KTsKKyAgICAgICAgc2Vu
ZGVyLT5zZW5kKFdlYlBvbGljeUFjdGlvbjo6SWdub3JlLCAwLCBEb3dubG9hZElEKCksIHN0ZDo6
bnVsbG9wdCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBhdXRvIHRyYW5zYWN0aW9u
ID0gbV9wYWdlTG9hZFN0YXRlLnRyYW5zYWN0aW9uKCk7CiAKLSAgICBpZiAoYWN0aW9uID09IFBv
bGljeUFjdGlvbjo6SWdub3JlKQorICAgIGlmIChhY3Rpb24gPT0gV2ViUG9saWN5QWN0aW9uOjpJ
Z25vcmUpCiAgICAgICAgIG1fcGFnZUxvYWRTdGF0ZS5jbGVhclBlbmRpbmdBUElSZXF1ZXN0VVJM
KHRyYW5zYWN0aW9uKTsKIAotICAgIGlmIChuYXZpZ2F0aW9uICYmIG5hdmlnYXRpb24tPnNob3Vs
ZEZvcmNlRG93bmxvYWQoKSAmJiBhY3Rpb24gPT0gUG9saWN5QWN0aW9uOjpVc2UpCi0gICAgICAg
IGFjdGlvbiA9IFBvbGljeUFjdGlvbjo6RG93bmxvYWQ7CisgICAgaWYgKG5hdmlnYXRpb24gJiYg
bmF2aWdhdGlvbi0+c2hvdWxkRm9yY2VEb3dubG9hZCgpICYmIGFjdGlvbiA9PSBXZWJQb2xpY3lB
Y3Rpb246OlVzZSkKKyAgICAgICAgYWN0aW9uID0gV2ViUG9saWN5QWN0aW9uOjpEb3dubG9hZDsK
IAogICAgIERvd25sb2FkSUQgZG93bmxvYWRJRCA9IHsgfTsKLSAgICBpZiAoYWN0aW9uID09IFBv
bGljeUFjdGlvbjo6RG93bmxvYWQpIHsKKyAgICBpZiAoYWN0aW9uID09IFdlYlBvbGljeUFjdGlv
bjo6RG93bmxvYWQpIHsKICAgICAgICAgLy8gQ3JlYXRlIGEgZG93bmxvYWQgcHJveHkuCiAgICAg
ICAgIGF1dG8qIGRvd25sb2FkID0gbV9wcm9jZXNzLT5wcm9jZXNzUG9vbCgpLmNyZWF0ZURvd25s
b2FkUHJveHkobV9kZWNpZGVQb2xpY3lGb3JSZXNwb25zZVJlcXVlc3QsIHRoaXMpOwogICAgICAg
ICBpZiAobmF2aWdhdGlvbikgewpAQCAtNDMxMSw3ICs0MzExLDcgQEAgdm9pZCBXZWJQYWdlUHJv
eHk6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oV2ViRnJhbWVQcm94eSYgZnJhbWUs
IFdlYkNvcmUKIAogI2lmIEVOQUJMRShDT05URU5UX0ZJTFRFUklORykKICAgICBpZiAoZnJhbWUu
ZGlkSGFuZGxlQ29udGVudEZpbHRlclVuYmxvY2tOYXZpZ2F0aW9uKHJlcXVlc3QpKQotICAgICAg
ICByZXR1cm4gcmVjZWl2ZWRQb2xpY3lEZWNpc2lvbihQb2xpY3lBY3Rpb246Oklnbm9yZSwgbV9u
YXZpZ2F0aW9uU3RhdGUtPm5hdmlnYXRpb24obmV3TmF2aWdhdGlvbklEKSwgc3RkOjpudWxsb3B0
LCBXVEZNb3ZlKHNlbmRlcikpOworICAgICAgICByZXR1cm4gcmVjZWl2ZWRQb2xpY3lEZWNpc2lv
bihXZWJQb2xpY3lBY3Rpb246Oklnbm9yZSwgbV9uYXZpZ2F0aW9uU3RhdGUtPm5hdmlnYXRpb24o
bmV3TmF2aWdhdGlvbklEKSwgc3RkOjpudWxsb3B0LCBXVEZNb3ZlKHNlbmRlcikpOwogI2Vsc2UK
ICAgICBVTlVTRURfUEFSQU0obmV3TmF2aWdhdGlvbklEKTsKICNlbmRpZgpAQCAtNDMyMCw5ICs0
MzIwLDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b24oV2ViRnJhbWVQcm94eSYgZnJhbWUsIFdlYkNvcmUKICAgICBpZiAoIW1fcHJlZmVyZW5jZXMt
PnNhZmVCcm93c2luZ0VuYWJsZWQoKSkKICAgICAgICAgc2hvdWxkRXhwZWN0U2FmZUJyb3dzaW5n
UmVzdWx0ID0gU2hvdWxkRXhwZWN0U2FmZUJyb3dzaW5nUmVzdWx0OjpObzsKIAotICAgIGF1dG8g
bGlzdGVuZXIgPSBtYWtlUmVmKGZyYW1lLnNldFVwUG9saWN5TGlzdGVuZXJQcm94eShbdGhpcywg
cHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBmcmFtZSA9IG1ha2VSZWYoZnJhbWUpLCBz
ZW5kZXIgPSBXVEZNb3ZlKHNlbmRlciksIG5hdmlnYXRpb25dIChXZWJDb3JlOjpQb2xpY3lBY3Rp
b24gcG9saWN5QWN0aW9uLCBBUEk6OldlYnNpdGVQb2xpY2llcyogcG9saWNpZXMsIFByb2Nlc3NT
d2FwUmVxdWVzdGVkQnlDbGllbnQgcHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCwgUmVmUHRy
PFNhZmVCcm93c2luZ1dhcm5pbmc+JiYgc2FmZUJyb3dzaW5nV2FybmluZykgbXV0YWJsZSB7Cisg
ICAgYXV0byBsaXN0ZW5lciA9IG1ha2VSZWYoZnJhbWUuc2V0VXBQb2xpY3lMaXN0ZW5lclByb3h5
KFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGZyYW1lID0gbWFrZVJlZihm
cmFtZSksIHNlbmRlciA9IFdURk1vdmUoc2VuZGVyKSwgbmF2aWdhdGlvbl0gKFdlYlBvbGljeUFj
dGlvbiBwb2xpY3lBY3Rpb24sIEFQSTo6V2Vic2l0ZVBvbGljaWVzKiBwb2xpY2llcywgUHJvY2Vz
c1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCBwcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50LCBSZWZQ
dHI8U2FmZUJyb3dzaW5nV2FybmluZz4mJiBzYWZlQnJvd3NpbmdXYXJuaW5nKSBtdXRhYmxlIHsK
ICAgICAgICAgCi0gICAgICAgIGF1dG8gY29tcGxldGlvbkhhbmRsZXIgPSBbdGhpcywgcHJvdGVj
dGVkVGhpcyA9IHByb3RlY3RlZFRoaXMuY29weVJlZigpLCBmcmFtZSA9IGZyYW1lLmNvcHlSZWYo
KSwgc2VuZGVyID0gV1RGTW92ZShzZW5kZXIpLCBuYXZpZ2F0aW9uID0gV1RGTW92ZShuYXZpZ2F0
aW9uKSwgcHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCwgcG9saWNpZXMgPSBtYWtlUmVmUHRy
KHBvbGljaWVzKV0gKFBvbGljeUFjdGlvbiBwb2xpY3lBY3Rpb24pIG11dGFibGUgeworICAgICAg
ICBhdXRvIGNvbXBsZXRpb25IYW5kbGVyID0gW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBwcm90ZWN0
ZWRUaGlzLmNvcHlSZWYoKSwgZnJhbWUgPSBmcmFtZS5jb3B5UmVmKCksIHNlbmRlciA9IFdURk1v
dmUoc2VuZGVyKSwgbmF2aWdhdGlvbiA9IFdURk1vdmUobmF2aWdhdGlvbiksIHByb2Nlc3NTd2Fw
UmVxdWVzdGVkQnlDbGllbnQsIHBvbGljaWVzID0gbWFrZVJlZlB0cihwb2xpY2llcyldIChXZWJQ
b2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uKSBtdXRhYmxlIHsKICAgICAgICAgICAgIHJlY2VpdmVk
TmF2aWdhdGlvblBvbGljeURlY2lzaW9uKHBvbGljeUFjdGlvbiwgbmF2aWdhdGlvbi5nZXQoKSwg
cHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCwgZnJhbWUsIHBvbGljaWVzLmdldCgpLCBXVEZN
b3ZlKHNlbmRlcikpOwogICAgICAgICB9OwogCkBAIC00MzM0LDEyICs0MzM0LDEyIEBAIHZvaWQg
V2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdlYkZyYW1lUHJv
eHkmIGZyYW1lLCBXZWJDb3JlCiAgICAgICAgIGlmIChzYWZlQnJvd3NpbmdXYXJuaW5nKSB7CiAg
ICAgICAgICAgICBtX3BhZ2VDbGllbnQtPnNob3dTYWZlQnJvd3NpbmdXYXJuaW5nKCpzYWZlQnJv
d3NpbmdXYXJuaW5nLCBbcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIHBvbGljeUFjdGlv
bl0gKGF1dG8mJiByZXN1bHQpIG11dGFibGUgewogICAgICAgICAgICAgICAgIHN3aXRjaE9uKHJl
c3VsdCwgWyZdIChjb25zdCBVUkwmIHVybCkgewotICAgICAgICAgICAgICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcihQb2xpY3lBY3Rpb246Oklnbm9yZSk7CisgICAgICAgICAgICAgICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKFdlYlBvbGljeUFjdGlvbjo6SWdub3JlKTsKICAgICAgICAgICAgICAg
ICAgICAgcHJvdGVjdGVkVGhpcy0+bG9hZFJlcXVlc3QoeyB1cmwgfSk7CiAgICAgICAgICAgICAg
ICAgfSwgWyZdIChDb250aW51ZVVuc2FmZUxvYWQgY29udGludWVVbnNhZmVMb2FkKSB7CiAgICAg
ICAgICAgICAgICAgICAgIHN3aXRjaCAoY29udGludWVVbnNhZmVMb2FkKSB7CiAgICAgICAgICAg
ICAgICAgICAgIGNhc2UgQ29udGludWVVbnNhZmVMb2FkOjpObzoKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFBvbGljeUFjdGlvbjo6SWdub3JlKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdlYlBvbGljeUFjdGlvbjo6SWdub3Jl
KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICBj
YXNlIENvbnRpbnVlVW5zYWZlTG9hZDo6WWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIocG9saWN5QWN0aW9uKTsKQEAgLTQ0MDIsNyArNDQwMiw3IEBAIHZvaWQg
V2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uU3luYyh1aW50NjRf
dCBmcmFtZUlELCBib29sIGlzCiAgICAgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbigq
ZnJhbWUsIFdURk1vdmUoZnJhbWVTZWN1cml0eU9yaWdpbiksIG5hdmlnYXRpb25JRCwgV1RGTW92
ZShuYXZpZ2F0aW9uQWN0aW9uRGF0YSksIFdURk1vdmUoZnJhbWVJbmZvRGF0YSksIG9yaWdpbmF0
aW5nUGFnZUlELCBvcmlnaW5hbFJlcXVlc3QsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUocmVx
dWVzdEJvZHkpLCBXVEZNb3ZlKHJlZGlyZWN0UmVzcG9uc2UpLCB1c2VyRGF0YSwgc2VuZGVyLmNv
cHlSZWYoKSk7CiAKICAgICAvLyBJZiB0aGUgY2xpZW50IGRpZCBub3QgcmVzcG9uZCBzeW5jaHJv
bm91c2x5LCBwcm9jZWVkIHdpdGggdGhlIGxvYWQuCi0gICAgc2VuZGVyLT5zZW5kKFBvbGljeUFj
dGlvbjo6VXNlLCBuYXZpZ2F0aW9uSUQsIERvd25sb2FkSUQoKSwgc3RkOjpudWxsb3B0KTsKKyAg
ICBzZW5kZXItPnNlbmQoV2ViUG9saWN5QWN0aW9uOjpVc2UsIG5hdmlnYXRpb25JRCwgRG93bmxv
YWRJRCgpLCBzdGQ6Om51bGxvcHQpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVjaWRlUG9s
aWN5Rm9yTmV3V2luZG93QWN0aW9uKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFNlY3VyaXR5T3Jp
Z2luRGF0YSYgZnJhbWVTZWN1cml0eU9yaWdpbiwgTmF2aWdhdGlvbkFjdGlvbkRhdGEmJiBuYXZp
Z2F0aW9uQWN0aW9uRGF0YSwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgU3RyaW5n
JiBmcmFtZU5hbWUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0
YSkKQEAgLTQ0MTMsNyArNDQxMyw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lG
b3JOZXdXaW5kb3dBY3Rpb24odWludDY0X3QgZnJhbWVJRCwgY29uc3QgU2VjdXJpCiAgICAgTUVT
U0FHRV9DSEVDSyhmcmFtZSk7CiAgICAgTUVTU0FHRV9DSEVDS19VUkwocmVxdWVzdC51cmwoKSk7
CiAKLSAgICBhdXRvIGxpc3RlbmVyID0gbWFrZVJlZihmcmFtZS0+c2V0VXBQb2xpY3lMaXN0ZW5l
clByb3h5KFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGxpc3RlbmVySUQs
IGZyYW1lSURdIChXZWJDb3JlOjpQb2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uLCBBUEk6OldlYnNp
dGVQb2xpY2llcyosIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQgcHJvY2Vzc1N3YXBSZXF1
ZXN0ZWRCeUNsaWVudCwgUmVmUHRyPFNhZmVCcm93c2luZ1dhcm5pbmc+JiYgc2FmZUJyb3dzaW5n
V2FybmluZykgbXV0YWJsZSB7CisgICAgYXV0byBsaXN0ZW5lciA9IG1ha2VSZWYoZnJhbWUtPnNl
dFVwUG9saWN5TGlzdGVuZXJQcm94eShbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpLCBsaXN0ZW5lcklELCBmcmFtZUlEXSAoV2ViUG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbiwg
QVBJOjpXZWJzaXRlUG9saWNpZXMqLCBQcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50IHByb2Nl
c3NTd2FwUmVxdWVzdGVkQnlDbGllbnQsIFJlZlB0cjxTYWZlQnJvd3NpbmdXYXJuaW5nPiYmIHNh
ZmVCcm93c2luZ1dhcm5pbmcpIG11dGFibGUgewogICAgICAgICAvLyBGSVhNRTogQXNzZXJ0IHRo
ZSBBUEk6OldlYnNpdGVQb2xpY2llcyogaXMgbnVsbHB0ciBoZXJlIG9uY2UgY2xpZW50cyBvZiBX
S0ZyYW1lUG9saWN5TGlzdGVuZXJVc2VXaXRoUG9saWNpZXMgZ28gYXdheS4KICAgICAgICAgUkVM
RUFTRV9BU1NFUlQocHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCA9PSBQcm9jZXNzU3dhcFJl
cXVlc3RlZEJ5Q2xpZW50OjpObyk7CiAgICAgICAgIEFTU0VSVF9VTlVTRUQoc2FmZUJyb3dzaW5n
V2FybmluZywgIXNhZmVCcm93c2luZ1dhcm5pbmcpOwpAQCAtNDQ1MSw3ICs0NDUxLDcgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvclJlc3BvbnNlKHVpbnQ2NF90IGZyYW1lSUQs
IGNvbnN0IFNlY3VyaXR5T3JpZ2kKICAgICBNRVNTQUdFX0NIRUNLX1VSTChyZXNwb25zZS51cmwo
KSk7CiAKICAgICBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBuYXZpZ2F0aW9uID0gbmF2aWdhdGlv
bklEID8gbV9uYXZpZ2F0aW9uU3RhdGUtPm5hdmlnYXRpb24obmF2aWdhdGlvbklEKSA6IG51bGxw
dHI7Ci0gICAgYXV0byBsaXN0ZW5lciA9IG1ha2VSZWYoZnJhbWUtPnNldFVwUG9saWN5TGlzdGVu
ZXJQcm94eShbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBmcmFtZUlELCBs
aXN0ZW5lcklELCBuYXZpZ2F0aW9uID0gV1RGTW92ZShuYXZpZ2F0aW9uKV0gKFdlYkNvcmU6OlBv
bGljeUFjdGlvbiBwb2xpY3lBY3Rpb24sIEFQSTo6V2Vic2l0ZVBvbGljaWVzKiwgUHJvY2Vzc1N3
YXBSZXF1ZXN0ZWRCeUNsaWVudCBwcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50LCBSZWZQdHI8
U2FmZUJyb3dzaW5nV2FybmluZz4mJiBzYWZlQnJvd3NpbmdXYXJuaW5nKSBtdXRhYmxlIHsKKyAg
ICBhdXRvIGxpc3RlbmVyID0gbWFrZVJlZihmcmFtZS0+c2V0VXBQb2xpY3lMaXN0ZW5lclByb3h5
KFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGZyYW1lSUQsIGxpc3RlbmVy
SUQsIG5hdmlnYXRpb24gPSBXVEZNb3ZlKG5hdmlnYXRpb24pXSAoV2ViUG9saWN5QWN0aW9uIHBv
bGljeUFjdGlvbiwgQVBJOjpXZWJzaXRlUG9saWNpZXMqLCBQcm9jZXNzU3dhcFJlcXVlc3RlZEJ5
Q2xpZW50IHByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQsIFJlZlB0cjxTYWZlQnJvd3NpbmdX
YXJuaW5nPiYmIHNhZmVCcm93c2luZ1dhcm5pbmcpIG11dGFibGUgewogICAgICAgICAvLyBGSVhN
RTogQXNzZXJ0IHRoZSBBUEk6OldlYnNpdGVQb2xpY2llcyogaXMgbnVsbHB0ciBoZXJlIG9uY2Ug
Y2xpZW50cyBvZiBXS0ZyYW1lUG9saWN5TGlzdGVuZXJVc2VXaXRoUG9saWNpZXMgZ28gYXdheS4K
ICAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCA9PSBQ
cm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50OjpObyk7CiAgICAgICAgIEFTU0VSVF9VTlVTRUQo
c2FmZUJyb3dzaW5nV2FybmluZywgIXNhZmVCcm93c2luZ1dhcm5pbmcpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBkOTY0NzNlODkzMmY3ZjQzZWMzZWJhOGI2MjZj
ZGFhOTdmYWIxYjE4Li45MzM0ZWYyMjVhNWE1MDRjNWUxNzQxYjc1ZmU5MzQ2YzJjZDEyNWEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtOTYyLDggKzk2Miw4IEBA
IHB1YmxpYzoKICNlbmRpZgogCiAgICAgY2xhc3MgUG9saWN5RGVjaXNpb25TZW5kZXI7Ci0gICAg
dm9pZCByZWNlaXZlZFBvbGljeURlY2lzaW9uKFdlYkNvcmU6OlBvbGljeUFjdGlvbiwgQVBJOjpO
YXZpZ2F0aW9uKiwgc3RkOjpvcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmLCBSZWY8UG9s
aWN5RGVjaXNpb25TZW5kZXI+JiYpOwotICAgIHZvaWQgcmVjZWl2ZWROYXZpZ2F0aW9uUG9saWN5
RGVjaXNpb24oV2ViQ29yZTo6UG9saWN5QWN0aW9uLCBBUEk6Ok5hdmlnYXRpb24qLCBQcm9jZXNz
U3dhcFJlcXVlc3RlZEJ5Q2xpZW50LCBXZWJGcmFtZVByb3h5JiwgQVBJOjpXZWJzaXRlUG9saWNp
ZXMqLCBSZWY8UG9saWN5RGVjaXNpb25TZW5kZXI+JiYpOworICAgIHZvaWQgcmVjZWl2ZWRQb2xp
Y3lEZWNpc2lvbihXZWJQb2xpY3lBY3Rpb24sIEFQSTo6TmF2aWdhdGlvbiosIHN0ZDo6b3B0aW9u
YWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiwgUmVmPFBvbGljeURlY2lzaW9uU2VuZGVyPiYmKTsK
KyAgICB2b2lkIHJlY2VpdmVkTmF2aWdhdGlvblBvbGljeURlY2lzaW9uKFdlYlBvbGljeUFjdGlv
biwgQVBJOjpOYXZpZ2F0aW9uKiwgUHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCwgV2ViRnJh
bWVQcm94eSYsIEFQSTo6V2Vic2l0ZVBvbGljaWVzKiwgUmVmPFBvbGljeURlY2lzaW9uU2VuZGVy
PiYmKTsKIAogICAgIHZvaWQgYmFja0ZvcndhcmRSZW1vdmVkSXRlbShjb25zdCBXZWJDb3JlOjpC
YWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBlNmU5NGZlOWEzOGJiMDRiYTNiMmU1
Y2E1N2VkMWU2NmM3MTVjZTY0Li4xMjhlNmU5NTA3M2ExMTE5ZmQ5MWY3NzlkOWY5N2FlODJlODBj
ZmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCkBAIC0xMDcsNyArMTA3LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAg
ICAjIFBvbGljeSBtZXNzYWdlcwogICAgIERlY2lkZVBvbGljeUZvclJlc3BvbnNlKHVpbnQ2NF90
IGZyYW1lSUQsIHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgZnJhbWVTZWN1cml0
eU9yaWdpbiwgdWludDY0X3QgbmF2aWdhdGlvbklELCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
IHJlc3BvbnNlLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgYm9vbCBjYW5TaG93
TUlNRVR5cGUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFdlYktpdDo6VXNlckRhdGEgdXNlckRhdGEp
CiAgICAgRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbkFzeW5jKHVpbnQ2NF90IGZyYW1l
SUQsIHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgZnJhbWVTZWN1cml0eU9yaWdp
biwgdWludDY0X3QgbmF2aWdhdGlvbklELCBzdHJ1Y3QgV2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9u
RGF0YSBuYXZpZ2F0aW9uQWN0aW9uRGF0YSwgc3RydWN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSBv
cmlnaW5hdGluZ0ZyYW1lSW5mb0RhdGEsIHVpbnQ2NF90IG9yaWdpbmF0aW5nUGFnZUlELCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3Qgb3JpZ2luYWxSZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QgcmVxdWVzdCwgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSByZXF1ZXN0Qm9keSwgV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSByZWRpcmVjdFJlc3BvbnNlLCBXZWJLaXQ6OlVzZXJEYXRhIHVz
ZXJEYXRhLCB1aW50NjRfdCBsaXN0ZW5lcklEKQotICAgIERlY2lkZVBvbGljeUZvck5hdmlnYXRp
b25BY3Rpb25TeW5jKHVpbnQ2NF90IGZyYW1lSUQsIGJvb2wgaXNNYWluRnJhbWUsIHN0cnVjdCBX
ZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgZnJhbWVTZWN1cml0eU9yaWdpbiwgdWludDY0X3Qg
bmF2aWdhdGlvbklELCBzdHJ1Y3QgV2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uRGF0YSBuYXZpZ2F0
aW9uQWN0aW9uRGF0YSwgc3RydWN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSBvcmlnaW5hdGluZ0Zy
YW1lSW5mb0RhdGEsIHVpbnQ2NF90IG9yaWdpbmF0aW5nUGFnZUlELCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3Qgb3JpZ2luYWxSZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVz
dCwgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSByZXF1ZXN0Qm9keSwgV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSByZWRpcmVjdFJlc3BvbnNlLCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKSAtPiAo
ZW51bTp1aW50OF90IFdlYkNvcmU6OlBvbGljeUFjdGlvbiBwb2xpY3lBY3Rpb24sIHVpbnQ2NF90
IG5ld05hdmlnYXRpb25JRCwgV2ViS2l0OjpEb3dubG9hZElEIGRvd25sb2FkSUQsIHN0ZDo6b3B0
aW9uYWw8V2ViS2l0OjpXZWJzaXRlUG9saWNpZXNEYXRhPiB3ZWJzaXRlUG9saWNpZXMpIERlbGF5
ZWQKKyAgICBEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uU3luYyh1aW50NjRfdCBmcmFt
ZUlELCBib29sIGlzTWFpbkZyYW1lLCBzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRh
IGZyYW1lU2VjdXJpdHlPcmlnaW4sIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgc3RydWN0IFdlYktp
dDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIHN0cnVjdCBXZWJL
aXQ6OkZyYW1lSW5mb0RhdGEgb3JpZ2luYXRpbmdGcmFtZUluZm9EYXRhLCB1aW50NjRfdCBvcmln
aW5hdGluZ1BhZ2VJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IG9yaWdpbmFsUmVxdWVzdCwg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIElQQzo6Rm9ybURhdGFSZWZlcmVuY2Ug
cmVxdWVzdEJvZHksIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSwg
V2ViS2l0OjpVc2VyRGF0YSB1c2VyRGF0YSkgLT4gKGVudW06dWludDhfdCBXZWJLaXQ6OldlYlBv
bGljeUFjdGlvbiBwb2xpY3lBY3Rpb24sIHVpbnQ2NF90IG5ld05hdmlnYXRpb25JRCwgV2ViS2l0
OjpEb3dubG9hZElEIGRvd25sb2FkSUQsIHN0ZDo6b3B0aW9uYWw8V2ViS2l0OjpXZWJzaXRlUG9s
aWNpZXNEYXRhPiB3ZWJzaXRlUG9saWNpZXMpIERlbGF5ZWQKICAgICBEZWNpZGVQb2xpY3lGb3JO
ZXdXaW5kb3dBY3Rpb24odWludDY0X3QgZnJhbWVJRCwgc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YSBmcmFtZVNlY3VyaXR5T3JpZ2luLCBzdHJ1Y3QgV2ViS2l0OjpOYXZpZ2F0aW9u
QWN0aW9uRGF0YSBuYXZpZ2F0aW9uQWN0aW9uRGF0YSwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3QsIFN0cmluZyBmcmFtZU5hbWUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFdlYktpdDo6
VXNlckRhdGEgdXNlckRhdGEpCiAgICAgVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3kodWludDY0X3Qg
ZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwgV2ViS2l0OjpVc2VyRGF0YSB1
c2VyRGF0YSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggNmIxODkwMDg0NTMwOTViNGM0ZGI3ZTUwZWUzMjkzNmExYjZjZjkzYy4uYWRi
NmRiYWI2ZDZiYzFhMDk1MjRiZGNjNzlkY2I3NmM1NmZlMDRlMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04OTMsNiArODkzLDcgQEAK
IAkJNDY2QkMwM0MxRkEyNjZEQTAwMkZBOUMxIC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjZC
QzAzOTFGQTI2NkM5MDAyRkE5QzEgLyogV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaCAq
LzsgfTsKIAkJNDZBMkI2MDkxRTU2NzZBNjAwQzNERURBIC8qIEJhY2tncm91bmRQcm9jZXNzUmVz
cG9uc2l2ZW5lc3NUaW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDZBMkI2MDcxRTU2NzVBMjAwQzNERURBIC8qIEJhY2tncm91bmRQcm9jZXNzUmVz
cG9uc2l2ZW5lc3NUaW1lci5oICovOyB9OwogCQk0NkRGMDYzQzFGMzkwNUY4MDAxOTgwQkIgLyog
TmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRGMDYzQTFGMzkwNUU1MDAxOTgwQkIgLyogTmV0d29ya0NP
UlNQcmVmbGlnaHRDaGVja2VyLmggKi87IH07CisJCTQ2RjYzNkQwMjFDNDFBMUQwMDQxMzAxMCAv
KiBXZWJQb2xpY3lBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ2RjYzNkNGMjFDNDFBMUQwMDQxMzAxMCAvKiBXZWJQb2xpY3lBY3Rpb24uaCAq
LzsgfTsKIAkJNEEzQ0MxOEIxOUIwNjQwRjAwRDE0QUVGIC8qIFVzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0QTQxMEYzQTE5QUY3QjA0MDAyRUJBQjUgLyogVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkuaCAqLzsgfTsKIAkJNEEzQ0MxOEQxOUIwNjQxOTAwRDE0QUVG
IC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBNDEwRjNDMTlBRjdCMDQwMDJFQkFCNSAvKiBV
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmggKi87IH07CiAJCTRBM0NDMThGMTlCMDdC
OEEwMEQxNEFFRiAvKiBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QTQxMEYzNjE5QUY3QUMzMDAyRUJB
QjUgLyogV0tVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zMDk1LDYgKzMwOTYsNyBAQAogCQk0NkEy
QjYwNzFFNTY3NUEyMDBDM0RFREEgLyogQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1Rp
bWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJhY2tncm91bmRQcm9jZXNz
UmVzcG9uc2l2ZW5lc3NUaW1lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkRG
MDYzOTFGMzkwNUU1MDAxOTgwQkIgLyogTmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtDT1JTUHJlZmxpZ2h0
Q2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2REYwNjNBMUYzOTA1
RTUwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2RjYzNkNGMjFDNDFBMUQwMDQxMzAxMCAvKiBXZWJQ
b2xpY3lBY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUG9saWN5QWN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRBNDEwRjM1MTlBRjdBQzMwMDJFQkFCNSAvKiBXS1VzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0QTQxMEYzNjE5QUY3QUMzMDAyRUJBQjUgLyogV0tVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1VzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRB
NDEwRjM5MTlBRjdCMDQwMDJFQkFCNSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXJQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC01MTI2LDYgKzUxMjgsNyBAQAogCQkJCUJDN0I2MjUxMTJBNDNDOTYwMEQxNzRB
NCAvKiBXZWJQYWdlR3JvdXBEYXRhLmNwcCAqLywKIAkJCQlCQzdCNjI1MDEyQTQzQzk2MDBEMTc0
QTQgLyogV2ViUGFnZUdyb3VwRGF0YS5oICovLAogCQkJCUMwMzM3RERDMTI3QTUyMUMwMDhGRjRG
NCAvKiBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQuY3BwICovLAorCQkJCTQ2RjYzNkNGMjFDNDFBMUQw
MDQxMzAxMCAvKiBXZWJQb2xpY3lBY3Rpb24uaCAqLywKIAkJCQlCQzU3NDRFRDEyNjM4RkIzMDA2
RjBGMTIgLyogV2ViUG9wdXBJdGVtLmNwcCAqLywKIAkJCQlCQzU3NDRFRTEyNjM4RkIzMDA2RjBG
MTIgLyogV2ViUG9wdXBJdGVtLmggKi8sCiAJCQkJN0NERTczOUYxRjlEQTM3QTAwMzkwMzEyIC8q
IFdlYlByZWZlcmVuY2VzLnlhbWwgKi8sCkBAIC05NDU0LDYgKzk0NTcsNyBAQAogCQkJCTBGODUw
RkU3MUVEN0MzOUYwMEZCNzdBNyAvKiBXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBM0U3MzYxMTFDQzI2NTkwMDdCRDUzOSAvKiBXZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxRDU5MjlGMTY2RTA2MDAwMEU2QkYwMiAv
KiBXZWJQbHVnSW5DbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ2RjYzNkQwMjFDNDFBMUQw
MDQxMzAxMCAvKiBXZWJQb2xpY3lBY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNTc0NEYw
MTI2MzhGQjMwMDZGMEYxMiAvKiBXZWJQb3B1cEl0ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUQz
Qjk0ODQ3MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDNTc0RTYzMTI2N0QwODAwMDZGMEYxMiAvKiBXZWJQb3B1cE1lbnVQcm94eS5oIGluIEhl
YWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCAzZmRmMWU0ZjVi
MDZkMmJjY2RhYWI0MGU5OTJiNzFlMmRkZDQ4NmU3Li41MjdlYTE5MTQ3NzQxMGIyN2JlNGQzYjAy
ODZiYjBhZWY1MzdhZjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTc1
Myw3ICs3NTMsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBv
bGljeUZvclJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9ucwogICAgIFJlZjxXZWJGcmFtZT4g
cHJvdGVjdG9yKCptX2ZyYW1lKTsKICAgICB1aW50NjRfdCBsaXN0ZW5lcklEID0gbV9mcmFtZS0+
c2V0VXBQb2xpY3lMaXN0ZW5lcihXVEZNb3ZlKGZ1bmN0aW9uKSwgV2ViRnJhbWU6OkZvck5hdmln
YXRpb25BY3Rpb246Ok5vKTsKICAgICBpZiAoIXdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UobV9mcmFtZS0+ZnJhbWVJRCgpLCBTZWN1
cml0eU9yaWdpbkRhdGE6OmZyb21GcmFtZShjb3JlRnJhbWUpLCBuYXZpZ2F0aW9uSUQsIHJlc3Bv
bnNlLCByZXF1ZXN0LCBjYW5TaG93UmVzcG9uc2UsIGxpc3RlbmVySUQsIFVzZXJEYXRhKFdlYlBy
b2Nlc3M6OnNpbmdsZXRvbigpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRhdGEuZ2V0
KCkpLmdldCgpKSkpKQotICAgICAgICBtX2ZyYW1lLT5kaWRSZWNlaXZlUG9saWN5RGVjaXNpb24o
bGlzdGVuZXJJRCwgUG9saWN5QWN0aW9uOjpJZ25vcmUsIDAsIHsgfSwgeyB9KTsKKyAgICAgICAg
bV9mcmFtZS0+ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKGxpc3RlbmVySUQsIFdlYlBvbGljeUFj
dGlvbjo6SWdub3JlLCAwLCB7IH0sIHsgfSk7CiB9CiAKIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGll
bnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKGNvbnN0IE5hdmlnYXRp
b25BY3Rpb24mIG5hdmlnYXRpb25BY3Rpb24sIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgRm9ybVN0YXRlKiBmb3JtU3RhdGUsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBGcmFtZVBv
bGljeUZ1bmN0aW9uJiYgZnVuY3Rpb24pCkBAIC04OTAsMTIgKzg5MCwxMiBAQCB2b2lkIFdlYkZy
YW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24o
Y29uc3QgTmF2aWdhdAogCiAgICAgaWYgKHBvbGljeURlY2lzaW9uTW9kZSA9PSBQb2xpY3lEZWNp
c2lvbk1vZGU6OlN5bmNocm9ub3VzKSB7CiAgICAgICAgIHVpbnQ2NF90IG5ld05hdmlnYXRpb25J
RDsKLSAgICAgICAgUG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbjsKKyAgICAgICAgV2ViUG9saWN5
QWN0aW9uIHBvbGljeUFjdGlvbjsKICAgICAgICAgRG93bmxvYWRJRCBkb3dubG9hZElEOwogICAg
ICAgICBzdGQ6Om9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+IHdlYnNpdGVQb2xpY2llczsK
IAogICAgICAgICBpZiAoIXdlYlBhZ2UtPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OkRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25TeW5jKG1fZnJhbWUtPmZyYW1lSUQoKSwg
bV9mcmFtZS0+aXNNYWluRnJhbWUoKSwgU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tRnJhbWUoY29y
ZUZyYW1lKSwgZG9jdW1lbnRMb2FkZXItPm5hdmlnYXRpb25JRCgpLCBuYXZpZ2F0aW9uQWN0aW9u
RGF0YSwgb3JpZ2luYXRpbmdGcmFtZUluZm9EYXRhLCBvcmlnaW5hdGluZ1BhZ2VJRCwgbmF2aWdh
dGlvbkFjdGlvbi5yZXNvdXJjZVJlcXVlc3QoKSwgcmVxdWVzdCwgSVBDOjpGb3JtRGF0YVJlZmVy
ZW5jZSB7IHJlcXVlc3QuaHR0cEJvZHkoKSB9LCByZWRpcmVjdFJlc3BvbnNlLCBVc2VyRGF0YShX
ZWJQcm9jZXNzOjpzaW5nbGV0b24oKS50cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVzZXJEYXRh
LmdldCgpKS5nZXQoKSkpLCBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEZWNpZGVQb2xpY3lGb3JO
YXZpZ2F0aW9uQWN0aW9uU3luYzo6UmVwbHkocG9saWN5QWN0aW9uLCBuZXdOYXZpZ2F0aW9uSUQs
IGRvd25sb2FkSUQsIHdlYnNpdGVQb2xpY2llcykpKSB7Ci0gICAgICAgICAgICBtX2ZyYW1lLT5k
aWRSZWNlaXZlUG9saWN5RGVjaXNpb24obGlzdGVuZXJJRCwgUG9saWN5QWN0aW9uOjpJZ25vcmUs
IDAsIHsgfSwgeyB9KTsKKyAgICAgICAgICAgIG1fZnJhbWUtPmRpZFJlY2VpdmVQb2xpY3lEZWNp
c2lvbihsaXN0ZW5lcklELCBXZWJQb2xpY3lBY3Rpb246Oklnbm9yZSwgMCwgeyB9LCB7IH0pOwog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTkwNSw3ICs5MDUsNyBAQCB2b2lk
IFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25B
Y3Rpb24oY29uc3QgTmF2aWdhdAogCiAgICAgQVNTRVJUKHBvbGljeURlY2lzaW9uTW9kZSA9PSBQ
b2xpY3lEZWNpc2lvbk1vZGU6OkFzeW5jaHJvbm91cyk7CiAgICAgaWYgKCF3ZWJQYWdlLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25B
c3luYyhtX2ZyYW1lLT5mcmFtZUlEKCksIFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbUZyYW1lKGNv
cmVGcmFtZSksIGRvY3VtZW50TG9hZGVyLT5uYXZpZ2F0aW9uSUQoKSwgbmF2aWdhdGlvbkFjdGlv
bkRhdGEsIG9yaWdpbmF0aW5nRnJhbWVJbmZvRGF0YSwgb3JpZ2luYXRpbmdQYWdlSUQsIG5hdmln
YXRpb25BY3Rpb24ucmVzb3VyY2VSZXF1ZXN0KCksIHJlcXVlc3QsIElQQzo6Rm9ybURhdGFSZWZl
cmVuY2UgeyByZXF1ZXN0Lmh0dHBCb2R5KCkgfSwgcmVkaXJlY3RSZXNwb25zZSwgVXNlckRhdGEo
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkudHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyh1c2VyRGF0
YS5nZXQoKSkuZ2V0KCkpLCBsaXN0ZW5lcklEKSkpCi0gICAgICAgIG1fZnJhbWUtPmRpZFJlY2Vp
dmVQb2xpY3lEZWNpc2lvbihsaXN0ZW5lcklELCBQb2xpY3lBY3Rpb246Oklnbm9yZSwgMCwgeyB9
LCB7IH0pOworICAgICAgICBtX2ZyYW1lLT5kaWRSZWNlaXZlUG9saWN5RGVjaXNpb24obGlzdGVu
ZXJJRCwgV2ViUG9saWN5QWN0aW9uOjpJZ25vcmUsIDAsIHsgfSwgeyB9KTsKIH0KIAogdm9pZCBX
ZWJGcmFtZUxvYWRlckNsaWVudDo6Y2FuY2VsUG9saWN5Q2hlY2soKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCmluZGV4IDM5NTc1MzUxMDU2N2E5NWEx
MTFhYTRiMDdmYTEwZTYzMTM4ZDQxMDguLjE4OWQxYTE4OGIyNGI2NDQ2ZDA1MjdkZjg2NTBmMGEx
YTM4NjgxMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YkZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFt
ZS5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJXZWJEb2N1bWVudExvYWRlci5oIgog
I2luY2x1ZGUgIldlYlBhZ2UuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgor
I2luY2x1ZGUgIldlYlBvbGljeUFjdGlvbi5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNp
bmNsdWRlICJXZWJzaXRlUG9saWNpZXNEYXRhLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
QVBJQ2FzdC5oPgpAQCAtMjUzLDEwICsyNTQsMjYgQEAgdm9pZCBXZWJGcmFtZTo6aW52YWxpZGF0
ZVBvbGljeUxpc3RlbmVyKCkKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKIH0KIAotdm9p
ZCBXZWJGcmFtZTo6ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKHVpbnQ2NF90IGxpc3RlbmVySUQs
IFBvbGljeUFjdGlvbiBhY3Rpb24sIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgRG93bmxvYWRJRCBk
b3dubG9hZElELCBzdGQ6Om9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgd2Vic2l0ZVBv
bGljaWVzKQorc3RhdGljIFdlYkNvcmU6OlBvbGljeUFjdGlvbiB0b1BvbGljeUFjdGlvbihXZWJQ
b2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uKQoreworICAgIHN3aXRjaCAocG9saWN5QWN0aW9uKSB7
CisgICAgY2FzZSBXZWJQb2xpY3lBY3Rpb246OlVzZToKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6
OlBvbGljeUFjdGlvbjo6VXNlOworICAgIGNhc2UgV2ViUG9saWN5QWN0aW9uOjpJZ25vcmU6Cisg
ICAgICAgIHJldHVybiBXZWJDb3JlOjpQb2xpY3lBY3Rpb246Oklnbm9yZTsKKyAgICBjYXNlIFdl
YlBvbGljeUFjdGlvbjo6RG93bmxvYWQ6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpQb2xpY3lB
Y3Rpb246OkRvd25sb2FkOworICAgIGNhc2UgV2ViUG9saWN5QWN0aW9uOjpTdXNwZW5kOgorICAg
ICAgICBicmVhazsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJu
IFdlYkNvcmU6OlBvbGljeUFjdGlvbjo6SWdub3JlOworfQorCit2b2lkIFdlYkZyYW1lOjpkaWRS
ZWNlaXZlUG9saWN5RGVjaXNpb24odWludDY0X3QgbGlzdGVuZXJJRCwgV2ViUG9saWN5QWN0aW9u
IGFjdGlvbiwgdWludDY0X3QgbmF2aWdhdGlvbklELCBEb3dubG9hZElEIGRvd25sb2FkSUQsIHN0
ZDo6b3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiB3ZWJzaXRlUG9saWNpZXMpCiB7CiAg
ICAgaWYgKCFtX2NvcmVGcmFtZSB8fCAhbV9wb2xpY3lMaXN0ZW5lcklEIHx8IGxpc3RlbmVySUQg
IT0gbV9wb2xpY3lMaXN0ZW5lcklEIHx8ICFtX3BvbGljeUZ1bmN0aW9uKSB7Ci0gICAgICAgIGlm
IChhY3Rpb24gPT0gUG9saWN5QWN0aW9uOjpTdXNwZW5kKQorICAgICAgICBpZiAoYWN0aW9uID09
IFdlYlBvbGljeUFjdGlvbjo6U3VzcGVuZCkKICAgICAgICAgICAgIHBhZ2UoKS0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpEaWRGYWlsVG9TdXNwZW5kQWZ0ZXJQcm9jZXNzU3dhcCgpKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTI3NiwxMiArMjkzLDEyIEBAIHZvaWQgV2ViRnJh
bWU6OmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbih1aW50NjRfdCBsaXN0ZW5lcklELCBQb2xpY3lB
Y3Rpb24gYWN0aW9uCiAgICAgfQogCiAgICAgYm9vbCBzaG91bGRTdXNwZW5kID0gZmFsc2U7Ci0g
ICAgaWYgKGFjdGlvbiA9PSBQb2xpY3lBY3Rpb246OlN1c3BlbmQpIHsKKyAgICBpZiAoYWN0aW9u
ID09IFdlYlBvbGljeUFjdGlvbjo6U3VzcGVuZCkgewogICAgICAgICBzaG91bGRTdXNwZW5kID0g
dHJ1ZTsKLSAgICAgICAgYWN0aW9uID0gUG9saWN5QWN0aW9uOjpJZ25vcmU7CisgICAgICAgIGFj
dGlvbiA9IFdlYlBvbGljeUFjdGlvbjo6SWdub3JlOwogICAgIH0KIAotICAgIGZ1bmN0aW9uKGFj
dGlvbik7CisgICAgZnVuY3Rpb24odG9Qb2xpY3lBY3Rpb24oYWN0aW9uKSk7CiAKICAgICBpZiAo
c2hvdWxkU3VzcGVuZCkKICAgICAgICAgcGFnZSgpLT5zdXNwZW5kRm9yUHJvY2Vzc1N3YXAoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5oCmluZGV4IDYxN2Ix
OGYyNzMzM2UzYjIwYjY4Y2E0MzdjMmUyZDA1MjgxMzEwMTMuLjgyYmNiNmQ4NzlkZDI0ZTlmYWE1
MmZhMzU2NmI3ZDViNjZhMmZmZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYkZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViRnJhbWUuaApAQCAtNjUsNiArNjUsOCBAQCBjbGFzcyBXZWJQYWdlOwogc3RydWN0IEZy
YW1lSW5mb0RhdGE7CiBzdHJ1Y3QgV2Vic2l0ZVBvbGljaWVzRGF0YTsKIAorZW51bSBjbGFzcyBX
ZWJQb2xpY3lBY3Rpb24gOiB1aW50OF90OworCiBjbGFzcyBXZWJGcmFtZSA6IHB1YmxpYyBBUEk6
Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRsZUZyYW1lPiB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxXZWJGcmFtZT4gY3JlYXRlV2l0aENvcmVNYWluRnJhbWUoV2ViUGFnZSos
IFdlYkNvcmU6OkZyYW1lKik7CkBAIC04NSw3ICs4Nyw3IEBAIHB1YmxpYzoKICAgICBlbnVtIGNs
YXNzIEZvck5hdmlnYXRpb25BY3Rpb24geyBObywgWWVzIH07CiAgICAgdWludDY0X3Qgc2V0VXBQ
b2xpY3lMaXN0ZW5lcihXZWJDb3JlOjpGcmFtZVBvbGljeUZ1bmN0aW9uJiYsIEZvck5hdmlnYXRp
b25BY3Rpb24pOwogICAgIHZvaWQgaW52YWxpZGF0ZVBvbGljeUxpc3RlbmVyKCk7Ci0gICAgdm9p
ZCBkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24odWludDY0X3QgbGlzdGVuZXJJRCwgV2ViQ29yZTo6
UG9saWN5QWN0aW9uLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIERvd25sb2FkSUQsIHN0ZDo6b3B0
aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJik7CisgICAgdm9pZCBkaWRSZWNlaXZlUG9saWN5
RGVjaXNpb24odWludDY0X3QgbGlzdGVuZXJJRCwgV2ViUG9saWN5QWN0aW9uLCB1aW50NjRfdCBu
YXZpZ2F0aW9uSUQsIERvd25sb2FkSUQsIHN0ZDo6b3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0
YT4mJik7CiAKICAgICB1aW50NjRfdCBzZXRVcFdpbGxTdWJtaXRGb3JtTGlzdGVuZXIoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIGNvbnRpbnVlV2lsbFN1Ym1pdEZvcm0o
dWludDY0X3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAppbmRleCBiMjhmMDQwZTFiMjVjMzgxM2FlNWEwYWQ2YWVjNWFkZTg1ZWIzN2JlLi5iZmNlYTgy
YTAwYzhmNzVlMDY4NDU4N2ZhM2Y4ZjgxMTIyYWFjMjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTEyLDYgKzExMiw3IEBACiAjaW5jbHVk
ZSAiV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViUGx1Z0luQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiV2ViUGx1Z2luSW5mb1Byb3ZpZGVyLmgiCisjaW5jbHVkZSAiV2Vi
UG9saWN5QWN0aW9uLmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51LmgiCiAjaW5jbHVkZSAiV2Vi
UHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzS2V5cy5o
IgpAQCAtMzAyMiwxMiArMzAyMywxMiBAQCB2b2lkIFdlYlBhZ2U6OnNldFNlc3Npb25JRChQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQpCiAgICAgbV9wYWdlLT5zZXRTZXNzaW9uSUQoc2Vzc2lvbklE
KTsKIH0KIAotdm9pZCBXZWJQYWdlOjpkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24odWludDY0X3Qg
ZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCwgUG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbiwg
dWludDY0X3QgbmF2aWdhdGlvbklELCBjb25zdCBEb3dubG9hZElEJiBkb3dubG9hZElELCBzdGQ6
Om9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgd2Vic2l0ZVBvbGljaWVzKQordm9pZCBX
ZWJQYWdlOjpkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24odWludDY0X3QgZnJhbWVJRCwgdWludDY0
X3QgbGlzdGVuZXJJRCwgV2ViUG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbiwgdWludDY0X3QgbmF2
aWdhdGlvbklELCBjb25zdCBEb3dubG9hZElEJiBkb3dubG9hZElELCBzdGQ6Om9wdGlvbmFsPFdl
YnNpdGVQb2xpY2llc0RhdGE+JiYgd2Vic2l0ZVBvbGljaWVzKQogewogICAgIFdlYkZyYW1lKiBm
cmFtZSA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKGZyYW1lSUQpOwogICAgIGlm
ICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAocG9saWN5QWN0aW9uID09IFBvbGlj
eUFjdGlvbjo6U3VzcGVuZCkgeworICAgIGlmIChwb2xpY3lBY3Rpb24gPT0gV2ViUG9saWN5QWN0
aW9uOjpTdXNwZW5kKSB7CiAgICAgICAgIEFTU0VSVChmcmFtZSA9PSBtX21haW5GcmFtZSk7CiAg
ICAgICAgIHNldElzU3VzcGVuZGVkKHRydWUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggMDk5YjJjNWZhMDlkNjQyZWQ0YWU0YzUyMDFmYzQ3YTFh
MWRhOTEyZi4uNWZmYzhlMzAwOTYyZWUyYjE5OTYxMjYxYjllNWZhZGQwNjc2N2YzNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMjM3LDYgKzIzNyw3
IEBAIGNsYXNzIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOwogCiBlbnVtIEZpbmRPcHRpb25z
IDogdWludDE2X3Q7CiBlbnVtIGNsYXNzIERyYWdDb250cm9sbGVyQWN0aW9uIDogdWludDhfdDsK
K2VudW0gY2xhc3MgV2ViUG9saWN5QWN0aW9uIDogdWludDhfdDsKIAogc3RydWN0IEFzc2lzdGVk
Tm9kZUluZm9ybWF0aW9uOwogc3RydWN0IEF0dHJpYnV0ZWRTdHJpbmc7CkBAIC0xMjkyLDcgKzEy
OTMsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgcGFyZW50UHJvY2Vzc0hhc1NlcnZpY2VXb3JrZXJF
bnRpdGxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICNlbmRpZgogCi0gICAgdm9pZCBk
aWRSZWNlaXZlUG9saWN5RGVjaXNpb24odWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVu
ZXJJRCwgV2ViQ29yZTo6UG9saWN5QWN0aW9uLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGNvbnN0
IERvd25sb2FkSUQmLCBzdGQ6Om9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYpOworICAg
IHZvaWQgZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90
IGxpc3RlbmVySUQsIFdlYlBvbGljeUFjdGlvbiwgdWludDY0X3QgbmF2aWdhdGlvbklELCBjb25z
dCBEb3dubG9hZElEJiwgc3RkOjpvcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmKTsKICAg
ICB2b2lkIGNvbnRpbnVlV2lsbFN1Ym1pdEZvcm0odWludDY0X3QgZnJhbWVJRCwgdWludDY0X3Qg
bGlzdGVuZXJJRCk7CiAgICAgdm9pZCBzZXRVc2VyQWdlbnQoY29uc3QgU3RyaW5nJik7CiAgICAg
dm9pZCBzZXRDdXN0b21UZXh0RW5jb2RpbmdOYW1lKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5k
ZXggNmY5MTdiYzhiMmNlNjc2ODYzNThlYjlmMmQ1Y2E3MDViYTYyYjE2Ni4uZTlmYmUxNjRlYzA5
Yzg1YzkwNmQ5ZTNiOGU1YTliNTAyNDk3YmIzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0xNjcsNyArMTY3LDcg
QEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGlkUmVtb3ZlQmFj
a0ZvcndhcmRJdGVtKHN0cnVjdCBXZWJDb3JlOjpCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyIGJh
Y2tGb3J3YXJkSXRlbUlEKQogCiAgICAgVXBkYXRlV2Vic2l0ZVBvbGljaWVzKHN0cnVjdCBXZWJL
aXQ6OldlYnNpdGVQb2xpY2llc0RhdGEgd2Vic2l0ZVBvbGljaWVzKQotICAgIERpZFJlY2VpdmVQ
b2xpY3lEZWNpc2lvbih1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBsaXN0ZW5lcklELCBlbnVt
OnVpbnQ4X3QgV2ViQ29yZTo6UG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbiwgdWludDY0X3QgbmF2
aWdhdGlvbklELCBXZWJLaXQ6OkRvd25sb2FkSUQgZG93bmxvYWRJRCwgc3RkOjpvcHRpb25hbDxX
ZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE+IHdlYnNpdGVQb2xpY2llcykKKyAgICBEaWRSZWNl
aXZlUG9saWN5RGVjaXNpb24odWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCwg
ZW51bTp1aW50OF90IFdlYktpdDo6V2ViUG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbiwgdWludDY0
X3QgbmF2aWdhdGlvbklELCBXZWJLaXQ6OkRvd25sb2FkSUQgZG93bmxvYWRJRCwgc3RkOjpvcHRp
b25hbDxXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE+IHdlYnNpdGVQb2xpY2llcykKICAgICBD
b250aW51ZVdpbGxTdWJtaXRGb3JtKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVy
SUQpCiAKICAgICBDbGVhclNlbGVjdGlvbigpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>