<?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>219262</bug_id>
          
          <creation_ts>2020-11-23 11:22:24 -0800</creation_ts>
          <short_desc>Introduce new display list meta commands in preparation for webkit.org/b/219091</short_desc>
          <delta_ts>2020-11-27 12:09:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>219091</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1709923</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-11-23 11:22:24 -0800</bug_when>
    <thetext>More info in ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709932</commentid>
    <comment_count>1</comment_count>
      <attachid>414811</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-11-23 12:16:34 -0800</bug_when>
    <thetext>Created attachment 414811
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709933</commentid>
    <comment_count>2</comment_count>
      <attachid>414811</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-11-23 12:30:53 -0800</bug_when>
    <thetext>Comment on attachment 414811
Patch

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

&gt; Source/WebCore/ChangeLog:18
&gt; +        `MetaCommandEndOfDisplayList` is used to inform the replayer that it should expect no more display list items;

Why not just MetaCommandEnd. OfDisplayList seems redundant.
Or maybe MetaCommandPause or MetaCommandWait since we can receive more display list items in the future.

&gt; Source/WebCore/ChangeLog:24
&gt; +        by `MetaCommandSwitchToItemBuffer` items; finally, it will conclude with a `MetaCommandEndOfDisplayList` item.

Change we should rename this to MetaCommandChangeItemBuffer to be consistent
although this is really more like MetaCommandContinueInNewItemBuffer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709937</commentid>
    <comment_count>3</comment_count>
      <attachid>414811</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-11-23 12:56:26 -0800</bug_when>
    <thetext>Comment on attachment 414811
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:18
&gt;&gt; +        `MetaCommandEndOfDisplayList` is used to inform the replayer that it should expect no more display list items;
&gt; 
&gt; Why not just MetaCommandEnd. OfDisplayList seems redundant.
&gt; Or maybe MetaCommandPause or MetaCommandWait since we can receive more display list items in the future.

`MetaCommandEnd` sounds good to me — renamed to that.

&gt;&gt; Source/WebCore/ChangeLog:24
&gt;&gt; +        by `MetaCommandSwitchToItemBuffer` items; finally, it will conclude with a `MetaCommandEndOfDisplayList` item.
&gt; 
&gt; Change we should rename this to MetaCommandChangeItemBuffer to be consistent
&gt; although this is really more like MetaCommandContinueInNewItemBuffer.

Makes sense — I&apos;ll rename it to `MetaCommandChangeItemBuffer` in this patch for consistency with `MetaCommandChangeDestinationImageBuffer`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710018</commentid>
    <comment_count>4</comment_count>
      <attachid>414848</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-11-24 12:39:07 -0800</bug_when>
    <thetext>Created attachment 414848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710019</commentid>
    <comment_count>5</comment_count>
      <attachid>414849</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-11-24 12:42:24 -0800</bug_when>
    <thetext>Created attachment 414849
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710363</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-27 12:08:03 -0800</bug_when>
    <thetext>Committed r270203: &lt;https://trac.webkit.org/changeset/270203&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 414849.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710364</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-27 12:09:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/71767392&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414811</attachid>
            <date>2020-11-23 12:16:34 -0800</date>
            <delta_ts>2020-11-26 15:39:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219262-20201123121633.patch</filename>
            <type>text/plain</type>
            <size>20224</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzIzYWI2YjRlNmM0NDFj
MDYzZWM1Mzg0YzZmOTA5NDdiZDFhNDY5ZC4uZDdmY2ZkOWVlN2FjYzViNjY0MWIwMzI1MmI0YTIw
ZGY0YjEyOWE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc4IEBACisyMDIwLTExLTIzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVjZSBu
ZXcgZGlzcGxheSBsaXN0IG1ldGEgY29tbWFuZHMgaW4gcHJlcGFyYXRpb24gZm9yIHdlYmtpdC5v
cmcvYi8yMTkwOTEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxOTI2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEludHJvZHVjZXMgdHdvIG5ldyBkaXNwbGF5IGxpc3QgaXRlbXM6IE1ldGFDb21tYW5kQ2hh
bmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlciBhbmQgTWV0YUNvbW1hbmRFbmRPZkRpc3BsYXlMaXN0
LgorICAgICAgICBUaGVzZSBtZXRhIGNvbW1hbmRzIHdpbGwgYmUgdXNlZCBpbiBhIGZ1dHVyZSBw
YXRjaCB0byBzeW5jaHJvbml6ZSBkaXNwbGF5IGxpc3QgZHJhd2luZyBjb21tYW5kcyBiZXR3ZWVu
IG11bHRpcGxlCisgICAgICAgIGRlc3RpbmF0aW9uIGltYWdlIGJ1ZmZlcnMgd2hlbiB1c2luZyB0
aGUgR1BVIHByb2Nlc3MgYnkgYWxsb3dpbmcgYFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRgIHRvIHBy
b2Nlc3MgZGlzcGxheQorICAgICAgICBkYXRhIHRoYXQgY29udGFpbnMgY29tbWFuZHMgdGFyZ2V0
aW5nIG1vcmUgdGhhbiBvbmUgZGVzdGluYXRpb24gaW1hZ2UgYnVmZmVyLgorCisgICAgICAgIGBN
ZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXJgIGlzIHVzZWQgdG8gaW5mb3Jt
IHRoZSByZXBsYXllciB0aGF0IHRoZSBkZXN0aW5hdGlvbiBpbWFnZSBidWZmZXIgKGluCisgICAg
ICAgIHdoaWNoIGNvbW1hbmRzIGFyZSByZXBsYXllZCkgc2hvdWxkIGJlIGNoYW5nZWQgdG8gdGhl
IG5ldyBpbWFnZSBidWZmZXIgaW5kaWNhdGVkIGJ5IHRoZSByZW5kZXJpbmcgcmVzb3VyY2UKKyAg
ICAgICAgaWRlbnRpZmllciBpbiB0aGUgaXRlbS4gV2hlbiByZXBsYXlpbmcsIHdlJ2xsIGJhaWwg
d2l0aCBgU3RvcFJlcGxheVJlYXNvbjo6Q2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcmAgYW5k
IHNldAorICAgICAgICBgbmV4dERlc3RpbmF0aW9uSW1hZ2VCdWZmZXJgIHRvIHRoZSBpZGVudGlm
aWVyIG9mIHRoaXMgbmV4dCBidWZmZXIuCisKKyAgICAgICAgYE1ldGFDb21tYW5kRW5kT2ZEaXNw
bGF5TGlzdGAgaXMgdXNlZCB0byBpbmZvcm0gdGhlIHJlcGxheWVyIHRoYXQgaXQgc2hvdWxkIGV4
cGVjdCBubyBtb3JlIGRpc3BsYXkgbGlzdCBpdGVtczsKKyAgICAgICAgaW4gYSBmdXR1cmUgcGF0
Y2gsIGBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kYCB3aWxsIHRha2UgdGhpcyBhcyBhIGN1ZSB0byBp
bW1lZGlhdGVseSBzdG9wIHdhaXRpbmcgZm9yIG1vcmUgZGlzcGxheQorICAgICAgICBsaXN0IGRh
dGEgYW5kIGdvIHRvIHNsZWVwLgorCisgICAgICAgIEEgc3RyZWFtIG9mIGRpc3BsYXkgbGlzdCBk
YXRhIHdpbGwgZXZlbnR1YWxseSBjb25zaXN0IG9mIGRhdGEgdGFyZ2V0aW5nIG9uZSBvciBtb3Jl
IGRlc3RpbmF0aW9uIGltYWdlIGJ1ZmZlcnMsCisgICAgICAgIHNlcGFyYXRlZCBieSBgTWV0YUNv
bW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyYCBpdGVtcywgYW5kIG1heSBzcGFuIG9u
ZSBvciBtb3JlIGl0ZW0gYnVmZmVycywgc2VwYXJhdGVkCisgICAgICAgIGJ5IGBNZXRhQ29tbWFu
ZFN3aXRjaFRvSXRlbUJ1ZmZlcmAgaXRlbXM7IGZpbmFsbHksIGl0IHdpbGwgY29uY2x1ZGUgd2l0
aCBhIGBNZXRhQ29tbWFuZEVuZE9mRGlzcGxheUxpc3RgIGl0ZW0uCisgICAgICAgIFRoZSBiZWxv
dyBkaWFncmFtIGRlcGljdHMgb25lIHN1Y2ggc3RyZWFtIG9mIGRpc3BsYXkgbGlzdCBkYXRhLCB3
aGVyZSB3ZSBoYXZlIHR3byBkZXN0aW5hdGlvbiBpbWFnZSBidWZmZXJzCisgICAgICAgIChkZW5v
dGVkIGJ5IEEgYW5kIEIpLCBhbmQgZGlzcGxheSBsaXN0IGl0ZW0gZGF0YSBzcGFubmluZyB0d28g
aXRlbSBidWZmZXJzIChkZW5vdGVkIGJ5IDEgYW5kIDIpLgorCisgICAgICAgIFdha2V1cCBtZXNz
YWdlIGluaXRpYXRlcyBkaXNwbGF5IGxpc3QgcHJvY2Vzc2luZyB3aXRoIEltYWdlIEJ1ZmZlciBB
IGFuZCBJdGVtIEJ1ZmZlciAxCisgICAgICAgICAgICArCisgICAgICAgICAgICB8ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXRhQ29tbWFuZFN3aXRjaFRv
SXRlbUJ1ZmZlcigyKQorICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgfCAgICAgTWV0YUNvbW1h
bmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyKEIpICAgICAgICAgfAorICAgICAgICAgICAg
fCAgICAgICAgICAgICAgICAgICAgICAgKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fAorICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgdiAgICAgICAgICAgICAgICAgICAgICAgdiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdgorICAgICAgICAgICAgKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKysKKyAgICAgICAg
ICAgIHwgKy0tLS0tLS0tLS0tLS0tLS0tLS0tKyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tKyB8CisgICAgICAgICAgICB8IHwgRGVzdGluYXRpb24gICAgICAgIHwgfCBEZXN0aW5hdGlv
biAgICAgICAgICAgICAgICAgIHwgfCBJdGVtIEJ1ZmZlciAxCisgICAgICAgICAgICB8IHwgSW1h
Z2UgQnVmZmVyIEEgICAgIHwgfCBJbWFnZSBCdWZmZXIgQiAgICAgICAgICAgICAgIHwgfAorICAg
ICAgICAgICAgfCArLS0tLS0tLS0tLS0tLS0tLS0tLS0rICstLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0rIHwKKyAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKKyAgICAgICAgICAgICstLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICAgICAg
ICB8ICstLS0tLS0tLS0tLS0tLSsgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgICAgICAgICAg
ICAgfAorICAgICAgICAgICAgfCB8IERzdC4gSW1hZ2UgICB8IHwgRGVzdGluYXRpb24gSW1hZ2Ug
ICAgIHwgIFVudXNlZCAgICAgIHwgSXRlbSBCdWZmZXIgMgorICAgICAgICAgICAgfCB8IEJ1ZmZl
ciBCICAgICB8IHwgQnVmZmVyIEEgICAgICAgICAgICAgIHwgIENhcGFjaXR5ICAgIHwKKyAgICAg
ICAgICAgIHwgKy0tLS0tLS0tLS0tLS0tKyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgICAg
ICAgICAgICB8CisgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XiAgICAgICAgICAgICAgICAgICAgICAgICBeCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgICAgICAgICAgICAgICAgICAgIE1ldGFDb21tYW5kRW5kT2ZEaXNwbGF5TGlzdAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgTWV0YUNvbW1hbmRD
aGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyKEEpCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlz
cGxheUxpc3Q6OkRpc3BsYXlMaXN0OjphcHBlbmQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1CdWZmZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1IYW5kbGU6OmFwcGx5KToKKyAgICAgICAgKFdlYkNvcmU6
OkRpc3BsYXlMaXN0OjpJdGVtSGFuZGxlOjpkZXN0cm95KToKKyAgICAgICAgKFdlYkNvcmU6OkRp
c3BsYXlMaXN0OjpJdGVtSGFuZGxlOjpjb3B5VG8gY29uc3QpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1UeXBlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpzaXplT2ZJdGVtSW5CeXRlcyk6CisgICAgICAgIChXZWJD
b3JlOjpEaXNwbGF5TGlzdDo6aXNEcmF3aW5nSXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNw
bGF5TGlzdDo6aXNJbmxpbmVJdGVtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNw
bGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtVHlwZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRpc3BsYXlMaXN0OjpvcGVyYXRvcjw8KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9k
aXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5oOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxh
eUxpc3Q6Ok1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcjo6TWV0YUNvbW1h
bmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3Bs
YXlMaXN0OjpNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXI6OmlkZW50aWZp
ZXIgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNw
bGF5TGlzdFJlcGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZXBs
YXllcjo6cmVwbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMv
RGlzcGxheUxpc3RSZXBsYXllci5oOgorCiAyMDIwLTExLTIyICBBbnR0aSBLb2l2aXN0byAgPGFu
dHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gQ29udmVydCBzb21l
IHJlbWFpbmluZyBJbmxpbmVCb3ggYWNjZXNzIHRvIHVzZSBpbmxpbmUgaXRlcmF0b3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggZTk3NzY5YmViNDBhZmM1ZjhkY2M0N2NiMTQxZjhjNTgwNTAzMzE0Yy4uYzUzZDI0YjJj
Y2VlZDkwMjFjN2E1NGM1MjRjMzg4OGIxMGNkM2IzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBA
QAorMjAyMC0xMS0yMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBJbnRyb2R1Y2UgbmV3IGRpc3BsYXkgbGlzdCBtZXRhIGNvbW1hbmRzIGluIHByZXBh
cmF0aW9uIGZvciB3ZWJraXQub3JnL2IvMjE5MDkxCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTkyNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTZWUgV2ViQ29yZSBDaGFuZ2VMb2cgZm9yIG1vcmUgaW5m
b3JtYXRpb24uCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmlu
Z0JhY2tlbmQuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpk
ZWNvZGVJdGVtKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFn
ZUJ1ZmZlclByb3h5Lmg6CisKIDIwMjAtMTEtMjEgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IGF1ZGlvIGNhcHR1cmUgZm9yIFNwZWVjaFJlY29n
bml0aW9uIG9uIG1hY09TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0LmNwcAppbmRleCA5MjMzNjk5YTBk
ZGIyMzRjYzMwYTMyNzFkZDZiYTA3ZGNiNDYzYzI2Li4yN2M1ZmMwZjFlZjFjZGMxNjE2M2M4ODQ3
YmIzYWZhNWVkY2VhZGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5jcHAKQEAgLTI3OCw2ICsy
NzgsMTAgQEAgdm9pZCBEaXNwbGF5TGlzdDo6YXBwZW5kKEl0ZW1IYW5kbGUgaXRlbSkKICAgICAg
ICAgcmV0dXJuIGFwcGVuZDxGaWxsRWxsaXBzZT4oaXRlbS5nZXQ8RmlsbEVsbGlwc2U+KCkpOwog
ICAgIGNhc2UgSXRlbVR5cGU6OkZsdXNoQ29udGV4dDoKICAgICAgICAgcmV0dXJuIGFwcGVuZDxG
bHVzaENvbnRleHQ+KGl0ZW0uZ2V0PEZsdXNoQ29udGV4dD4oKSk7CisgICAgY2FzZSBJdGVtVHlw
ZTo6TWV0YUNvbW1hbmRFbmRPZkRpc3BsYXlMaXN0OgorICAgICAgICByZXR1cm4gYXBwZW5kPE1l
dGFDb21tYW5kRW5kT2ZEaXNwbGF5TGlzdD4oaXRlbS5nZXQ8TWV0YUNvbW1hbmRFbmRPZkRpc3Bs
YXlMaXN0PigpKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0
aW9uSW1hZ2VCdWZmZXI6CisgICAgICAgIHJldHVybiBhcHBlbmQ8TWV0YUNvbW1hbmRDaGFuZ2VE
ZXN0aW5hdGlvbkltYWdlQnVmZmVyPihpdGVtLmdldDxNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0
aW9uSW1hZ2VCdWZmZXI+KCkpOwogICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kU3dpdGNo
VG9JdGVtQnVmZmVyOgogICAgICAgICByZXR1cm4gYXBwZW5kPE1ldGFDb21tYW5kU3dpdGNoVG9J
dGVtQnVmZmVyPihpdGVtLmdldDxNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcj4oKSk7CiAg
ICAgY2FzZSBJdGVtVHlwZTo6UHV0SW1hZ2VEYXRhOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbUJ1ZmZlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxh
eUxpc3RJdGVtQnVmZmVyLmNwcAppbmRleCBjODc4YWQzNGM4YzQ4NGU0MWM2NWU3YmUxNDUyYmZh
OGFiMzE2ZGMyLi5kNjBmYzc3NmNjZDZjNGYzNjFlZjIwZTQ3NDJlZDhhY2QyOWQ3NmUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3RJdGVtQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtQnVmZmVyLmNwcApAQCAtMjI2LDYgKzIy
Niw4IEBAIHZvaWQgSXRlbUhhbmRsZTo6YXBwbHkoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KQog
ICAgICAgICBnZXQ8Rmx1c2hDb250ZXh0PigpLmFwcGx5KGNvbnRleHQpOwogICAgICAgICByZXR1
cm47CiAgICAgfQorICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kRW5kT2ZEaXNwbGF5TGlz
dDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VC
dWZmZXI6CiAgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXI6
CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIEl0ZW1UeXBlOjpQdXRJbWFnZURhdGE6IHsKQEAg
LTQ1NCw2ICs0NTYsMTQgQEAgdm9pZCBJdGVtSGFuZGxlOjpkZXN0cm95KCkKICAgICAgICAgc3Rh
dGljX2Fzc2VydChzdGQ6OmlzX3RyaXZpYWxseV9kZXN0cnVjdGlibGU8Rmx1c2hDb250ZXh0Pjo6
dmFsdWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQorICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFD
b21tYW5kRW5kT2ZEaXNwbGF5TGlzdDogeworICAgICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNf
dHJpdmlhbGx5X2Rlc3RydWN0aWJsZTxNZXRhQ29tbWFuZEVuZE9mRGlzcGxheUxpc3Q+Ojp2YWx1
ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1h
bmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyOiB7CisgICAgICAgIHN0YXRpY19hc3NlcnQo
c3RkOjppc190cml2aWFsbHlfZGVzdHJ1Y3RpYmxlPE1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRp
b25JbWFnZUJ1ZmZlcj46OnZhbHVlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KICAgICBjYXNl
IEl0ZW1UeXBlOjpNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcjogewogICAgICAgICBzdGF0
aWNfYXNzZXJ0KHN0ZDo6aXNfdHJpdmlhbGx5X2Rlc3RydWN0aWJsZTxNZXRhQ29tbWFuZFN3aXRj
aFRvSXRlbUJ1ZmZlcj46OnZhbHVlKTsKICAgICAgICAgcmV0dXJuOwpAQCAtNzA1LDYgKzcxNSwx
NCBAQCB2b2lkIEl0ZW1IYW5kbGU6OmNvcHlUbyhJdGVtSGFuZGxlIGRlc3RpbmF0aW9uKSBjb25z
dAogICAgICAgICBuZXcgKGl0ZW1PZmZzZXQpIEZsdXNoQ29udGV4dChnZXQ8Rmx1c2hDb250ZXh0
PigpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29t
bWFuZEVuZE9mRGlzcGxheUxpc3Q6IHsKKyAgICAgICAgbmV3IChpdGVtT2Zmc2V0KSBNZXRhQ29t
bWFuZEVuZE9mRGlzcGxheUxpc3QoZ2V0PE1ldGFDb21tYW5kRW5kT2ZEaXNwbGF5TGlzdD4oKSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRD
aGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyOiB7CisgICAgICAgIG5ldyAoaXRlbU9mZnNldCkg
TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyKGdldDxNZXRhQ29tbWFuZENo
YW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXI+KCkpOworICAgICAgICByZXR1cm47CisgICAgfQog
ICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVyOiB7CiAgICAg
ICAgIG5ldyAoaXRlbU9mZnNldCkgTWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXIoZ2V0PE1l
dGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVyPigpKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0SXRlbVR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlz
cGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbVR5cGUuY3BwCmluZGV4IDE2NWQyMjQxMzVkMzRkOTI1
MWZjY2JhOTQ4N2YyYmNjZjg1ZTExZTYuLmRjOWI4MDZiMDVjNzgzN2VlYWQwMmVhMjYyOWVjYjVi
NjcxZGJlYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rp
c3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1UeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtVHlwZS5jcHAKQEAg
LTEyNiw2ICsxMjYsMTAgQEAgc3RhdGljIHNpemVfdCBzaXplT2ZJdGVtSW5CeXRlcyhJdGVtVHlw
ZSB0eXBlKQogICAgICAgICByZXR1cm4gc2l6ZW9mKEZpbGxFbGxpcHNlKTsKICAgICBjYXNlIEl0
ZW1UeXBlOjpGbHVzaENvbnRleHQ6CiAgICAgICAgIHJldHVybiBzaXplb2YoRmx1c2hDb250ZXh0
KTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZEVuZE9mRGlzcGxheUxpc3Q6CisgICAg
ICAgIHJldHVybiBzaXplb2YoTWV0YUNvbW1hbmRFbmRPZkRpc3BsYXlMaXN0KTsKKyAgICBjYXNl
IEl0ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXI6CisgICAg
ICAgIHJldHVybiBzaXplb2YoTWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVy
KTsKICAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcjoKICAg
ICAgICAgcmV0dXJuIHNpemVvZihNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcik7CiAgICAg
Y2FzZSBJdGVtVHlwZTo6UHV0SW1hZ2VEYXRhOgpAQCAtMTgwLDYgKzE4NCw4IEBAIGJvb2wgaXNE
cmF3aW5nSXRlbShJdGVtVHlwZSB0eXBlKQogICAgIGNhc2UgSXRlbVR5cGU6OkNsaXBUb0RyYXdp
bmdDb21tYW5kczoKICAgICBjYXNlIEl0ZW1UeXBlOjpDb25jYXRlbmF0ZUNUTToKICAgICBjYXNl
IEl0ZW1UeXBlOjpGbHVzaENvbnRleHQ6CisgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRF
bmRPZkRpc3BsYXlMaXN0OgorICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlRGVz
dGluYXRpb25JbWFnZUJ1ZmZlcjoKICAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZFN3aXRj
aFRvSXRlbUJ1ZmZlcjoKICAgICBjYXNlIEl0ZW1UeXBlOjpSZXN0b3JlOgogICAgIGNhc2UgSXRl
bVR5cGU6OlJvdGF0ZToKQEAgLTI5MSw2ICsyOTcsOCBAQCBib29sIGlzSW5saW5lSXRlbShJdGVt
VHlwZSB0eXBlKQogI2VuZGlmCiAgICAgY2FzZSBJdGVtVHlwZTo6RmlsbFJlY3Q6CiAgICAgY2Fz
ZSBJdGVtVHlwZTo6Rmx1c2hDb250ZXh0OgorICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5k
RW5kT2ZEaXNwbGF5TGlzdDoKKyAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5nZURl
c3RpbmF0aW9uSW1hZ2VCdWZmZXI6CiAgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRTd2l0
Y2hUb0l0ZW1CdWZmZXI6CiAgICAgY2FzZSBJdGVtVHlwZTo6UGFpbnRGcmFtZUZvck1lZGlhOgog
ICAgIGNhc2UgSXRlbVR5cGU6OlJlc3RvcmU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtVHlwZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRl
bVR5cGUuaAppbmRleCBmYjVkZWZkYjdjNmRjZTQ5OGIyMTlmNGZiZDE3M2QzZjkyYTYyZjVhLi43
OWU2NTAzZGNhZTI0YzcxNzFlNjU1OGY3ZjM1Yjc2ODE0OTQyOWRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVt
VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0
cy9EaXNwbGF5TGlzdEl0ZW1UeXBlLmgKQEAgLTc2LDYgKzc2LDggQEAgZW51bSBjbGFzcyBJdGVt
VHlwZSA6IHVpbnQ4X3QgewogICAgIEZpbGxQYXRoLAogICAgIEZpbGxFbGxpcHNlLAogICAgIEZs
dXNoQ29udGV4dCwKKyAgICBNZXRhQ29tbWFuZEVuZE9mRGlzcGxheUxpc3QsCisgICAgTWV0YUNv
bW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyLAogICAgIE1ldGFDb21tYW5kU3dpdGNo
VG9JdGVtQnVmZmVyLAogICAgIFB1dEltYWdlRGF0YSwKICAgICBQYWludEZyYW1lRm9yTWVkaWEs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlz
dHMvRGlzcGxheUxpc3RJdGVtcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5jcHAKaW5kZXggOGNiZGJjMzc3OTk0YmIx
MDMxZWIwMmY5ZTQ4YWFhZTE2OTY1NWE3NS4uNzQzMzViMzg0NGZjN2Y4YjQ2ZTJhOTA1M2YwNjY2
ZTFmYTRkM2JiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmNwcApAQCAtMTAw
OCw2ICsxMDA4LDE3IEBAIHN0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0m
IHRzLCBjb25zdCBNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlCiAgICAgcmV0dXJuIHRzOwog
fQogCitzdGF0aWMgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3Qg
TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyJiBpdGVtKQoreworICAgIHRz
LmR1bXBQcm9wZXJ0eSgiaWRlbnRpZmllciIsIGl0ZW0uaWRlbnRpZmllcigpKTsKKyAgICByZXR1
cm4gdHM7Cit9CisKK3N0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRz
LCBjb25zdCBNZXRhQ29tbWFuZEVuZE9mRGlzcGxheUxpc3QmKQoreworICAgIHJldHVybiB0czsK
K30KKwogc3RhdGljIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIEl0ZW1U
eXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CkBAIC0xMDU3LDYgKzEwNjgsOCBAQCBz
dGF0aWMgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgSXRlbVR5cGUgdHlw
ZSkKICAgICBjYXNlIEl0ZW1UeXBlOjpGaWxsUGF0aDogdHMgPDwgImZpbGwtcGF0aCI7IGJyZWFr
OwogICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxFbGxpcHNlOiB0cyA8PCAiZmlsbC1lbGxpcHNlIjsg
YnJlYWs7CiAgICAgY2FzZSBJdGVtVHlwZTo6Rmx1c2hDb250ZXh0OiB0cyA8PCAiZmx1c2gtY29u
dGV4dCI7IGJyZWFrOworICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kRW5kT2ZEaXNwbGF5
TGlzdDogdHMgPDwgIm1ldGEtY29tbWFuZC1lbmQtb2YtZGlzcGxheS1saXN0IjsgYnJlYWs7Cisg
ICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVy
OiB0cyA8PCAibWV0YS1jb21tYW5kLXNldC1kZXN0aW5hdGlvbi1pbWFnZS1idWZmZXIiOyBicmVh
azsKICAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcjogdHMg
PDwgIm1ldGEtY29tbWFuZC1zd2l0Y2gtdG8taXRlbS1idWZmZXIiOyBicmVhazsKICAgICBjYXNl
IEl0ZW1UeXBlOjpQdXRJbWFnZURhdGE6IHRzIDw8ICJwdXQtaW1hZ2UtZGF0YSI7IGJyZWFrOwog
ICAgIGNhc2UgSXRlbVR5cGU6OlBhaW50RnJhbWVGb3JNZWRpYTogdHMgPDwgInBhaW50LWZyYW1l
LWZvci1tZWRpYSI7IGJyZWFrOwpAQCAtMTIxMyw2ICsxMjI2LDEyIEBAIFRleHRTdHJlYW0mIG9w
ZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIEl0ZW1IYW5kbGUgaXRlbSkKICAgICBjYXNlIEl0ZW1U
eXBlOjpGbHVzaENvbnRleHQ6CiAgICAgICAgIHRzIDw8IGl0ZW0uZ2V0PEZsdXNoQ29udGV4dD4o
KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRFbmRPZkRp
c3BsYXlMaXN0OgorICAgICAgICB0cyA8PCBpdGVtLmdldDxNZXRhQ29tbWFuZEVuZE9mRGlzcGxh
eUxpc3Q+KCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5k
Q2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcjoKKyAgICAgICAgdHMgPDwgaXRlbS5nZXQ8TWV0
YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyPigpOworICAgICAgICBicmVhazsK
ICAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcjoKICAgICAg
ICAgdHMgPDwgaXRlbS5nZXQ8TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXI+KCk7CiAgICAg
ICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmgKaW5kZXggMTA0OTQ1ZDQ2
NmM4OWJjZTUyMDU4NTNlNmRjOWE0YWY3NDYxZjYxNS4uNWMxZmIyNmM3OWU3MjU4NDgwNzdlMGFl
MjhiYWY2ZWUzOWI3YTA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5oCkBAIC0y
MjMyLDcgKzIyMzIsNyBAQCBwcml2YXRlOgogfTsKIAogLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJl
IHJlZmFjdG9yZWQgc28gdGhhdCB0aGUgY29tbWFuZCB0byAic3dpdGNoIHRvIHRoZSBuZXh0IGl0
ZW0gYnVmZmVyIgotLy8gaXMgbm90IGl0c2VsZiBhIGRyYXdpbmcgaXRlbS4KKy8vIGlzIG5vdCBp
dHNlbGYgYSBkaXNwbGF5IGxpc3QgaXRlbS4KIGNsYXNzIE1ldGFDb21tYW5kU3dpdGNoVG9JdGVt
QnVmZmVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3RleHByIEl0ZW1UeXBlIGl0ZW1UeXBl
ID0gSXRlbVR5cGU6Ok1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVyOwpAQCAtMjI1MCw2ICsy
MjUwLDMwIEBAIHByaXZhdGU6CiAgICAgSXRlbUJ1ZmZlcklkZW50aWZpZXIgbV9pZGVudGlmaWVy
OwogfTsKIAorY2xhc3MgTWV0YUNvbW1hbmRFbmRPZkRpc3BsYXlMaXN0IHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgY29uc3RleHByIEl0ZW1UeXBlIGl0ZW1UeXBlID0gSXRlbVR5cGU6Ok1ldGFDb21t
YW5kRW5kT2ZEaXNwbGF5TGlzdDsKKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgaXNJbmxpbmVJ
dGVtID0gdHJ1ZTsKKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgaXNEcmF3aW5nSXRlbSA9IGZh
bHNlOworfTsKKworY2xhc3MgTWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVy
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3RleHByIEl0ZW1UeXBlIGl0ZW1UeXBlID0gSXRl
bVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcjsKKyAgICBzdGF0
aWMgY29uc3RleHByIGJvb2wgaXNJbmxpbmVJdGVtID0gdHJ1ZTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIGJvb2wgaXNEcmF3aW5nSXRlbSA9IGZhbHNlOworCisgICAgTWV0YUNvbW1hbmRDaGFuZ2VE
ZXN0aW5hdGlvbkltYWdlQnVmZmVyKFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciBpZGVudGlm
aWVyKQorICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgIHsKKyAgICB9CisK
KyAgICBSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0
dXJuIG1faWRlbnRpZmllcjsgfQorCitwcml2YXRlOgorICAgIFJlbmRlcmluZ1Jlc291cmNlSWRl
bnRpZmllciBtX2lkZW50aWZpZXI7Cit9OworCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRT
dHJlYW0mLCBJdGVtSGFuZGxlKTsKIAogfSAvLyBuYW1lc3BhY2UgRGlzcGxheUxpc3QKQEAgLTIz
MDcsNiArMjMzMSw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6RGlz
cGxheUxpc3Q6Okl0ZW1UeXBlPiB7CiAgICAgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBl
OjpGaWxsUGF0aCwKICAgICBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkZpbGxFbGxp
cHNlLAogICAgIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6Rmx1c2hDb250ZXh0LAor
ICAgIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6TWV0YUNvbW1hbmRFbmRPZkRpc3Bs
YXlMaXN0LAorICAgIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6TWV0YUNvbW1hbmRD
aGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyLAogICAgIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJ
dGVtVHlwZTo6TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXIsCiAgICAgV2ViQ29yZTo6RGlz
cGxheUxpc3Q6Okl0ZW1UeXBlOjpQdXRJbWFnZURhdGEsCiAgICAgV2ViQ29yZTo6RGlzcGxheUxp
c3Q6Okl0ZW1UeXBlOjpQYWludEZyYW1lRm9yTWVkaWEsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZXBsYXllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxh
eUxpc3RSZXBsYXllci5jcHAKaW5kZXggY2ExOTg0NWFhZjgwNGUxOTQ4OTlmMDljMmEwNjhiNDYz
ZWQ1NThmZi4uNmE3ZDgyY2E4M2JkYzQwNzM3MjU0NjY1ZGZiMzExNzgzYWIxY2UwNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0UmVwbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlcGxheWVyLmNwcApAQCAtMTA5LDYgKzEwOSwyMCBA
QCBSZXBsYXlSZXN1bHQgUmVwbGF5ZXI6OnJlcGxheShjb25zdCBGbG9hdFJlY3QmIGluaXRpYWxD
bGlwLCBib29sIHRyYWNrUmVwbGF5TGlzdAogICAgICAgICB9CiAKICAgICAgICAgTE9HX1dJVEhf
U1RSRUFNKERpc3BsYXlMaXN0cywgc3RyZWFtIDw8ICJhcHBseWluZyAiIDw8IGkrKyA8PCAiICIg
PDwgaXRlbSk7CisKKyAgICAgICAgaWYgKGl0ZW0uaXM8TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5h
dGlvbkltYWdlQnVmZmVyPigpKSB7CisgICAgICAgICAgICByZXN1bHQubnVtYmVyT2ZCeXRlc1Jl
YWQgKz0gaXRlbVNpemVJbkJ1ZmZlcjsKKyAgICAgICAgICAgIHJlc3VsdC5yZWFzb25Gb3JTdG9w
cGluZyA9IFN0b3BSZXBsYXlSZWFzb246OkNoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXI7Cisg
ICAgICAgICAgICByZXN1bHQubmV4dERlc3RpbmF0aW9uSW1hZ2VCdWZmZXIgPSBpdGVtLmdldDxN
ZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXI+KCkuaWRlbnRpZmllcigpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBpZiAoaXRlbS5pczxNZXRh
Q29tbWFuZEVuZE9mRGlzcGxheUxpc3Q+KCkpIHsKKyAgICAgICAgICAgIHJlc3VsdC5udW1iZXJP
ZkJ5dGVzUmVhZCArPSBpdGVtU2l6ZUluQnVmZmVyOworICAgICAgICAgICAgcmVzdWx0LnJlYXNv
bkZvclN0b3BwaW5nID0gU3RvcFJlcGxheVJlYXNvbjo6RW5kT2ZEaXNwbGF5TGlzdDsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisKICAgICAgICAgaWYgKGF1dG8gcmVhc29uRm9yU3Rv
cHBpbmcgPSBhcHBseUl0ZW0oaXRlbSkpIHsKICAgICAgICAgICAgIHJlc3VsdC5yZWFzb25Gb3JT
dG9wcGluZyA9ICpyZWFzb25Gb3JTdG9wcGluZzsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0UmVwbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdFJlcGxheWVyLmgKaW5kZXggZTY3OGI4NjA2MmNlZGI2MTJhZThi
Y2VkN2MwYjc4ODQ1NjdjMzc2Ni4uYzQ0MjcxZjEwZWVkMGJmMDBhYTFmM2ZiZjcwMmE0MWFkY2Ez
ZDkyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxh
eWxpc3RzL0Rpc3BsYXlMaXN0UmVwbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZXBsYXllci5oCkBAIC00MSwxMiAr
NDEsMTUgQEAgbmFtZXNwYWNlIERpc3BsYXlMaXN0IHsKIGVudW0gY2xhc3MgU3RvcFJlcGxheVJl
YXNvbiA6IHVpbnQ4X3QgewogICAgIFJlcGxheWVkQWxsSXRlbXMsCiAgICAgTWlzc2luZ0NhY2hl
ZFJlc291cmNlLAorICAgIENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXIsCisgICAgRW5kT2ZE
aXNwbGF5TGlzdCwKICAgICBEZWNvZGluZ0ZhaWx1cmUgLy8gRklYTUU6IFByb3BhZ2F0ZSBkZWNv
ZGluZyBlcnJvcnMgdG8gZGlzcGxheSBsaXN0IHJlcGxheSBjbGllbnRzIHRocm91Z2ggdGhpcyBl
bnVtIGFzIHdlbGwuCiB9OwogCiBzdHJ1Y3QgUmVwbGF5UmVzdWx0IHsKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8RGlzcGxheUxpc3Q+IHRyYWNrZWREaXNwbGF5TGlzdDsKICAgICBzaXplX3QgbnVtYmVy
T2ZCeXRlc1JlYWQgeyAwIH07CisgICAgT3B0aW9uYWw8UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlm
aWVyPiBuZXh0RGVzdGluYXRpb25JbWFnZUJ1ZmZlcjsKICAgICBTdG9wUmVwbGF5UmVhc29uIHJl
YXNvbkZvclN0b3BwaW5nIHsgU3RvcFJlcGxheVJlYXNvbjo6UmVwbGF5ZWRBbGxJdGVtcyB9Owog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90
ZVJlbmRlcmluZ0JhY2tlbmQuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCmluZGV4IGY1OWMzODcyNGY4ZjYyZWU3ODAyYjky
MDIzN2Y2ODg0NzNkN2ZiZjkuLmI5MTM0NTIyNjNkNmFmMmVlNGM5NDM2Zjk5NDA5OTM5ODk4ODU2
ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKQEAgLTMxNSw2ICszMTUsOCBAQCBPcHRpb25h
bDxEaXNwbGF5TGlzdDo6SXRlbUhhbmRsZT4gV0FSTl9VTlVTRURfUkVUVVJOIFJlbW90ZVJlbmRl
cmluZ0JhY2tlbmQ6OmRlYwogI2VuZGlmCiAgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6
OkZpbGxSZWN0OgogICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpGbHVzaENvbnRleHQ6
CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6Ok1ldGFDb21tYW5kRW5kT2ZEaXNwbGF5
TGlzdDoKKyAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VE
ZXN0aW5hdGlvbkltYWdlQnVmZmVyOgogICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpN
ZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcjoKICAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVt
VHlwZTo6UGFpbnRGcmFtZUZvck1lZGlhOgogICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBl
OjpSZXN0b3JlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFw
aGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaAppbmRleCAzMWNkMDJkMWIwZjIx
ZWRlNTgyMmJmOTQ1YmFkNDZlZGVmMWViMzdhLi5hMDkxNWM5ZGExNWY2Y2JhN2UxZGFmZTk1NTU4
YjFmOGZiYWQzNDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dy
YXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaApAQCAtMzA1LDYgKzMw
NSw4IEBAIHByb3RlY3RlZDoKICNlbmRpZgogICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlM
aXN0OjpJdGVtVHlwZTo6RmlsbFJlY3Q6CiAgICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxp
c3Q6Okl0ZW1UeXBlOjpGbHVzaENvbnRleHQ6CisgICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxh
eUxpc3Q6Okl0ZW1UeXBlOjpNZXRhQ29tbWFuZEVuZE9mRGlzcGxheUxpc3Q6CisgICAgICAgIGNh
c2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5nZURlc3Rp
bmF0aW9uSW1hZ2VCdWZmZXI6CiAgICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0
ZW1UeXBlOjpNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcjoKICAgICAgICAgY2FzZSBXZWJD
b3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlBhaW50RnJhbWVGb3JNZWRpYToKICAgICAgICAg
Y2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlJlc3RvcmU6Cg==
</data>
<flag name="review"
          id="431805"
          type_id="1"
          status="+"
          setter="rniwa"
    />
    <flag name="commit-queue"
          id="431906"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414848</attachid>
            <date>2020-11-24 12:39:07 -0800</date>
            <delta_ts>2020-11-24 12:41:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219262-20201124123906.patch</filename>
            <type>text/plain</type>
            <size>26262</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzIzYWI2YjRlNmM0NDFj
MDYzZWM1Mzg0YzZmOTA5NDdiZDFhNDY5ZC4uNGJkNWNlNzM1OWYyMjU4ZDFkZjg4MTNlZDIyYzg0
YTliNzJhMmYxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDIwLTExLTIzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVjZSBu
ZXcgZGlzcGxheSBsaXN0IG1ldGEgY29tbWFuZHMgaW4gcHJlcGFyYXRpb24gZm9yIHdlYmtpdC5v
cmcvYi8yMTkwOTEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxOTI2MgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAg
ICBJbnRyb2R1Y2VzIHR3byBuZXcgZGlzcGxheSBsaXN0IGl0ZW1zOiBgTWV0YUNvbW1hbmRDaGFu
Z2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyYCBhbmQgYE1ldGFDb21tYW5kRW5kYC4gVGhlc2UKKyAg
ICAgICAgbWV0YSBjb21tYW5kcyB3aWxsIGJlIHVzZWQgaW4gYSBmdXR1cmUgcGF0Y2ggdG8gc3lu
Y2hyb25pemUgZGlzcGxheSBsaXN0IGRyYXdpbmcgY29tbWFuZHMgYmV0d2VlbiBtdWx0aXBsZQor
ICAgICAgICBkZXN0aW5hdGlvbiBpbWFnZSBidWZmZXJzIHdoZW4gdXNpbmcgdGhlIEdQVSBwcm9j
ZXNzIGJ5IGFsbG93aW5nIGBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kYCB0byBwcm9jZXNzIGRpc3Bs
YXkKKyAgICAgICAgZGF0YSB0aGF0IGNvbnRhaW5zIGNvbW1hbmRzIHRhcmdldGluZyBtb3JlIHRo
YW4gb25lIGRlc3RpbmF0aW9uIGltYWdlIGJ1ZmZlci4KKworICAgICAgICBgTWV0YUNvbW1hbmRD
aGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyYCBpcyB1c2VkIHRvIGluZm9ybSB0aGUgcmVwbGF5
ZXIgdGhhdCB0aGUgZGVzdGluYXRpb24gaW1hZ2UgYnVmZmVyIChpbgorICAgICAgICB3aGljaCBj
b21tYW5kcyBhcmUgcmVwbGF5ZWQpIHNob3VsZCBiZSBjaGFuZ2VkIHRvIHRoZSBuZXcgaW1hZ2Ug
YnVmZmVyIGluZGljYXRlZCBieSB0aGUgcmVuZGVyaW5nIHJlc291cmNlCisgICAgICAgIGlkZW50
aWZpZXIgaW4gdGhlIGl0ZW0uIFdoZW4gcmVwbGF5aW5nLCB3ZSdsbCBiYWlsIHdpdGggYFN0b3BS
ZXBsYXlSZWFzb246OkNoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXJgIGFuZCBzZXQKKyAgICAg
ICAgYG5leHREZXN0aW5hdGlvbkltYWdlQnVmZmVyYCB0byB0aGUgaWRlbnRpZmllciBvZiB0aGlz
IG5leHQgYnVmZmVyLgorCisgICAgICAgIGBNZXRhQ29tbWFuZEVuZGAgaXMgdXNlZCB0byBpbmZv
cm0gdGhlIHJlcGxheWVyIHRoYXQgaXQgc2hvdWxkIGV4cGVjdCBubyBtb3JlIGRpc3BsYXkgbGlz
dCBpdGVtczsKKyAgICAgICAgaW4gYSBmdXR1cmUgcGF0Y2gsIGBSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kYCB3aWxsIHRha2UgdGhpcyBhcyBhIGN1ZSB0byBpbW1lZGlhdGVseSBzdG9wIHdhaXRpbmcg
Zm9yIG1vcmUgZGlzcGxheQorICAgICAgICBsaXN0IGRhdGEgYW5kIGdvIHRvIHNsZWVwLgorCisg
ICAgICAgIEEgc3RyZWFtIG9mIGRpc3BsYXkgbGlzdCBkYXRhIHdpbGwgZXZlbnR1YWxseSBjb25z
aXN0IG9mIGRhdGEgdGFyZ2V0aW5nIG9uZSBvciBtb3JlIGRlc3RpbmF0aW9uIGltYWdlIGJ1ZmZl
cnMsCisgICAgICAgIHNlcGFyYXRlZCBieSBgTWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbklt
YWdlQnVmZmVyYCBpdGVtcywgYW5kIG1heSBzcGFuIG9uZSBvciBtb3JlIGl0ZW0gYnVmZmVycywg
c2VwYXJhdGVkCisgICAgICAgIGJ5IGBNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcmAgaXRl
bXM7IGZpbmFsbHksIGl0IHdpbGwgY29uY2x1ZGUgd2l0aCBhIGBNZXRhQ29tbWFuZEVuZGAgaXRl
bS4KKyAgICAgICAgVGhlIGJlbG93IGRpYWdyYW0gZGVwaWN0cyBvbmUgc3VjaCBzdHJlYW0gb2Yg
ZGlzcGxheSBsaXN0IGRhdGEsIHdoZXJlIHdlIGhhdmUgdHdvIGRlc3RpbmF0aW9uIGltYWdlIGJ1
ZmZlcnMKKyAgICAgICAgKGRlbm90ZWQgYnkgQSBhbmQgQiksIGFuZCBkaXNwbGF5IGxpc3QgaXRl
bSBkYXRhIHNwYW5uaW5nIHR3byBpdGVtIGJ1ZmZlcnMgKGRlbm90ZWQgYnkgMSBhbmQgMikuCisK
KyAgICAgICAgV2FrZXVwIG1lc3NhZ2UgaW5pdGlhdGVzIGRpc3BsYXkgbGlzdCBwcm9jZXNzaW5n
IHdpdGggSW1hZ2UgQnVmZmVyIEEgYW5kIEl0ZW0gQnVmZmVyIDEKKyAgICAgICAgICAgIHwKKyAg
ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWV0
YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyKDIpCisgICAgICAgICAgICB8ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICB8
ICAgICBNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXIoQikgICAgICAgICB8
CisgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8CisgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICB2ICAgICAgICAgICAg
ICAgICAgICAgICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2CisgICAgICAgICAg
ICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0rKworICAgICAgICAgICAgfCArLS0tLS0tLS0tLS0tLS0tLS0tLS0rICstLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0rIHwKKyAgICAgICAgICAgIHwgfCBEZXN0aW5hdGlvbiAgICAgICAg
fCB8IERlc3RpbmF0aW9uICAgICAgICAgICAgICAgICAgfCB8IEl0ZW0gQnVmZmVyIDEKKyAgICAg
ICAgICAgIHwgfCBJbWFnZSBCdWZmZXIgQSAgICAgfCB8IEltYWdlIEJ1ZmZlciBCICAgICAgICAg
ICAgICAgfCB8CisgICAgICAgICAgICB8ICstLS0tLS0tLS0tLS0tLS0tLS0tLSsgKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgfAorICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKworICAgICAgICAgICAg
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSsKKyAgICAgICAgICAgIHwgKy0tLS0tLS0tLS0tLS0tKyArLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0rICAgICAgICAgICAgICB8CisgICAgICAgICAgICB8IHwgRHN0LiBJbWFnZSAgIHwgfCBEZXN0
aW5hdGlvbiBJbWFnZSAgICAgfCAgVW51c2VkICAgICAgfCBJdGVtIEJ1ZmZlciAyCisgICAgICAg
ICAgICB8IHwgQnVmZmVyIEIgICAgIHwgfCBCdWZmZXIgQSAgICAgICAgICAgICAgfCAgQ2FwYWNp
dHkgICAgfAorICAgICAgICAgICAgfCArLS0tLS0tLS0tLS0tLS0rICstLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSsgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLSst
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBeICAgICAgICAgICAgICAgICAgICAgICAgIF4KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgTWV0YUNvbW1hbmRFbmQK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgIE1ldGFDb21tYW5k
Q2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcihBKQorCisgICAgICAgIEFkZGl0aW9uYWxseSwg
cmVuYW1lIGBNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcmAgdG8gYE1ldGFDb21tYW5kQ2hh
bmdlSXRlbUJ1ZmZlcmAsIHN1Y2ggdGhhdCBpdCBpcworICAgICAgICBjb25zaXN0ZW50IHdpdGgg
dGhlIG5ldyBgTWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyYCBpdGVtLgor
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdDo6YXBwZW5kKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVt
QnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtSGFuZGxlOjph
cHBseSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbUhhbmRsZTo6ZGVzdHJv
eSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbUhhbmRsZTo6Y29weVRvIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtQnVmZmVyOjpzd2FwV3Jp
dGFibGVCdWZmZXJJZk5lZWRlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxh
eWxpc3RzL0Rpc3BsYXlMaXN0SXRlbVR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxh
eUxpc3Q6OnNpemVPZkl0ZW1JbkJ5dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0
Ojppc0RyYXdpbmdJdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0Ojppc0lubGlu
ZUl0ZW0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5
TGlzdEl0ZW1UeXBlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0SXRlbXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Om9w
ZXJhdG9yPDwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNw
bGF5TGlzdEl0ZW1zLmg6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6TWV0YUNvbW1h
bmRDaGFuZ2VJdGVtQnVmZmVyOjpNZXRhQ29tbWFuZENoYW5nZUl0ZW1CdWZmZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Ok1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFn
ZUJ1ZmZlcjo6TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1h
Z2VCdWZmZXI6OmlkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxp
c3Q6Ok1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVyOjpNZXRhQ29tbWFuZFN3aXRjaFRvSXRl
bUJ1ZmZlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6TWV0YUNv
bW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXI6OmlkZW50aWZpZXIgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlcGxheWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZXBsYXllcjo6cmVwbGF5KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZXBs
YXllci5oOgorCiAyMDIwLTExLTIyICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gQ29udmVydCBzb21lIHJlbWFpbmluZyBJbmxp
bmVCb3ggYWNjZXNzIHRvIHVzZSBpbmxpbmUgaXRlcmF0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZTk3NzY5YmVi
NDBhZmM1ZjhkY2M0N2NiMTQxZjhjNTgwNTAzMzE0Yy4uNjA5ZTgwMmI4ZmFlYTNmODYxZDIzZmRm
NTBmZTA0MzFkZGU0Njk0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0xMS0yMyAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1
Y2UgbmV3IGRpc3BsYXkgbGlzdCBtZXRhIGNvbW1hbmRzIGluIHByZXBhcmF0aW9uIGZvciB3ZWJr
aXQub3JnL2IvMjE5MDkxCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTkyNjIKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAg
ICAgICAgU2VlIFdlYkNvcmUgQ2hhbmdlTG9nIGZvciBtb3JlIGluZm9ybWF0aW9uLiBBZGRpdGlv
bmFsbHksIHJlbmFtZSBgTWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXJgIHRvCisgICAgICAg
IGBNZXRhQ29tbWFuZENoYW5nZUl0ZW1CdWZmZXJgLCBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUg
bmV3IGBNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXJgIGl0ZW0uCisKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmg6CisgICAgICAg
ICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6ZGVjb2RlSXRlbSk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oOgorCiAy
MDIwLTExLTIxICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIElt
cGxlbWVudCBhdWRpbyBjYXB0dXJlIGZvciBTcGVlY2hSZWNvZ25pdGlvbiBvbiBtYWNPUwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXls
aXN0cy9EaXNwbGF5TGlzdC5jcHAKaW5kZXggOTIzMzY5OWEwZGRiMjM0Y2MzMGEzMjcxZGQ2YmEw
N2RjYjQ2M2MyNi4uODEyMDRkZjA4N2U2NTU4ZWFlN2U0ZDQwMThjNjU1YjU4ZTJhNThhNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNw
bGF5bGlzdHMvRGlzcGxheUxpc3QuY3BwCkBAIC0yNzgsOCArMjc4LDEyIEBAIHZvaWQgRGlzcGxh
eUxpc3Q6OmFwcGVuZChJdGVtSGFuZGxlIGl0ZW0pCiAgICAgICAgIHJldHVybiBhcHBlbmQ8Rmls
bEVsbGlwc2U+KGl0ZW0uZ2V0PEZpbGxFbGxpcHNlPigpKTsKICAgICBjYXNlIEl0ZW1UeXBlOjpG
bHVzaENvbnRleHQ6CiAgICAgICAgIHJldHVybiBhcHBlbmQ8Rmx1c2hDb250ZXh0PihpdGVtLmdl
dDxGbHVzaENvbnRleHQ+KCkpOwotICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kU3dpdGNo
VG9JdGVtQnVmZmVyOgotICAgICAgICByZXR1cm4gYXBwZW5kPE1ldGFDb21tYW5kU3dpdGNoVG9J
dGVtQnVmZmVyPihpdGVtLmdldDxNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcj4oKSk7Cisg
ICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVy
OgorICAgICAgICByZXR1cm4gYXBwZW5kPE1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFn
ZUJ1ZmZlcj4oaXRlbS5nZXQ8TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVy
PigpKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5nZUl0ZW1CdWZmZXI6Cisg
ICAgICAgIHJldHVybiBhcHBlbmQ8TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyPihpdGVtLmdl
dDxNZXRhQ29tbWFuZENoYW5nZUl0ZW1CdWZmZXI+KCkpOworICAgIGNhc2UgSXRlbVR5cGU6Ok1l
dGFDb21tYW5kRW5kOgorICAgICAgICByZXR1cm4gYXBwZW5kPE1ldGFDb21tYW5kRW5kPihpdGVt
LmdldDxNZXRhQ29tbWFuZEVuZD4oKSk7CiAgICAgY2FzZSBJdGVtVHlwZTo6UHV0SW1hZ2VEYXRh
OgogICAgICAgICByZXR1cm4gYXBwZW5kPFB1dEltYWdlRGF0YT4oaXRlbS5nZXQ8UHV0SW1hZ2VE
YXRhPigpKTsKICAgICBjYXNlIEl0ZW1UeXBlOjpQYWludEZyYW1lRm9yTWVkaWE6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxh
eUxpc3RJdGVtQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rp
c3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1CdWZmZXIuY3BwCmluZGV4IGM4NzhhZDM0YzhjNDg0
ZTQxYzY1ZTdiZTE0NTJiZmE4YWIzMTZkYzIuLmNlNmIwZTliMThiZGM3YWFiMzg0NGQ4NzM2NjM2
ODkyMzk0MGUyMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1CdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1CdWZmZXIu
Y3BwCkBAIC0yMjYsNyArMjI2LDkgQEAgdm9pZCBJdGVtSGFuZGxlOjphcHBseShHcmFwaGljc0Nv
bnRleHQmIGNvbnRleHQpCiAgICAgICAgIGdldDxGbHVzaENvbnRleHQ+KCkuYXBwbHkoY29udGV4
dCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1h
bmRTd2l0Y2hUb0l0ZW1CdWZmZXI6CisgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFu
Z2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyOgorICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5k
Q2hhbmdlSXRlbUJ1ZmZlcjoKKyAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZEVuZDoKICAg
ICAgICAgcmV0dXJuOwogICAgIGNhc2UgSXRlbVR5cGU6OlB1dEltYWdlRGF0YTogewogICAgICAg
ICBnZXQ8UHV0SW1hZ2VEYXRhPigpLmFwcGx5KGNvbnRleHQpOwpAQCAtNDU0LDggKzQ1NiwxNiBA
QCB2b2lkIEl0ZW1IYW5kbGU6OmRlc3Ryb3koKQogICAgICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6
aXNfdHJpdmlhbGx5X2Rlc3RydWN0aWJsZTxGbHVzaENvbnRleHQ+Ojp2YWx1ZSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9Ci0gICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRTd2l0Y2hUb0l0
ZW1CdWZmZXI6IHsKLSAgICAgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3RyaXZpYWxseV9kZXN0
cnVjdGlibGU8TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXI+Ojp2YWx1ZSk7CisgICAgY2Fz
ZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyOiB7Cisg
ICAgICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc190cml2aWFsbHlfZGVzdHJ1Y3RpYmxlPE1ldGFD
b21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcj46OnZhbHVlKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5nZUl0ZW1CdWZm
ZXI6IHsKKyAgICAgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3RyaXZpYWxseV9kZXN0cnVjdGli
bGU8TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyPjo6dmFsdWUpOworICAgICAgICByZXR1cm47
CisgICAgfQorICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kRW5kOiB7CisgICAgICAgIHN0
YXRpY19hc3NlcnQoc3RkOjppc190cml2aWFsbHlfZGVzdHJ1Y3RpYmxlPE1ldGFDb21tYW5kRW5k
Pjo6dmFsdWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGNhc2UgSXRlbVR5cGU6OlBh
aW50RnJhbWVGb3JNZWRpYTogewpAQCAtNzA1LDggKzcxNSwxNiBAQCB2b2lkIEl0ZW1IYW5kbGU6
OmNvcHlUbyhJdGVtSGFuZGxlIGRlc3RpbmF0aW9uKSBjb25zdAogICAgICAgICBuZXcgKGl0ZW1P
ZmZzZXQpIEZsdXNoQ29udGV4dChnZXQ8Rmx1c2hDb250ZXh0PigpKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KLSAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZl
cjogewotICAgICAgICBuZXcgKGl0ZW1PZmZzZXQpIE1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVm
ZmVyKGdldDxNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcj4oKSk7CisgICAgY2FzZSBJdGVt
VHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyOiB7CisgICAgICAg
IG5ldyAoaXRlbU9mZnNldCkgTWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVy
KGdldDxNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXI+KCkpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlSXRl
bUJ1ZmZlcjogeworICAgICAgICBuZXcgKGl0ZW1PZmZzZXQpIE1ldGFDb21tYW5kQ2hhbmdlSXRl
bUJ1ZmZlcihnZXQ8TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyPigpKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZEVuZDogeworICAgICAg
ICBuZXcgKGl0ZW1PZmZzZXQpIE1ldGFDb21tYW5kRW5kKGdldDxNZXRhQ29tbWFuZEVuZD4oKSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgY2FzZSBJdGVtVHlwZTo6UGFpbnRGcmFtZUZv
ck1lZGlhOiB7CkBAIC04NjAsMTQgKzg3OCwxNCBAQCB2b2lkIEl0ZW1CdWZmZXI6OmNsZWFyKCkK
IAogdm9pZCBJdGVtQnVmZmVyOjpzd2FwV3JpdGFibGVCdWZmZXJJZk5lZWRlZChzaXplX3QgbnVt
YmVyT2ZCeXRlcykKIHsKLSAgICBhdXRvIHNpemVGb3JCdWZmZXJTd2l0Y2hJdGVtID0gcGFkZGVk
U2l6ZU9mVHlwZUFuZEl0ZW1JbkJ5dGVzKEl0ZW1UeXBlOjpNZXRhQ29tbWFuZFN3aXRjaFRvSXRl
bUJ1ZmZlcik7CisgICAgYXV0byBzaXplRm9yQnVmZmVyU3dpdGNoSXRlbSA9IHBhZGRlZFNpemVP
ZlR5cGVBbmRJdGVtSW5CeXRlcyhJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVy
KTsKICAgICBpZiAobV93cml0dGVuTnVtYmVyT2ZCeXRlcyArIG51bWJlck9mQnl0ZXMgKyBzaXpl
Rm9yQnVmZmVyU3dpdGNoSXRlbSA8PSBtX3dyaXRhYmxlQnVmZmVyLmNhcGFjaXR5KQogICAgICAg
ICByZXR1cm47CiAKICAgICBhdXRvIG5leHRCdWZmZXIgPSBjcmVhdGVJdGVtQnVmZmVyKG51bWJl
ck9mQnl0ZXMgKyBzaXplRm9yQnVmZmVyU3dpdGNoSXRlbSk7CiAgICAgYm9vbCBoYWRQcmV2aW91
c0J1ZmZlciA9IG1fd3JpdGFibGVCdWZmZXI7CiAgICAgaWYgKGhhZFByZXZpb3VzQnVmZmVyKQot
ICAgICAgICB1bmNoZWNrZWRBcHBlbmQ8TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXI+KG5l
eHRCdWZmZXIuaWRlbnRpZmllcik7CisgICAgICAgIHVuY2hlY2tlZEFwcGVuZDxNZXRhQ29tbWFu
ZENoYW5nZUl0ZW1CdWZmZXI+KG5leHRCdWZmZXIuaWRlbnRpZmllcik7CiAgICAgYXV0byBwcmV2
aW91c0J1ZmZlciA9IHN0ZDo6ZXhjaGFuZ2UobV93cml0YWJsZUJ1ZmZlciwgeyB9KTsKICAgICBw
cmV2aW91c0J1ZmZlci5jYXBhY2l0eSA9IHN0ZDo6ZXhjaGFuZ2UobV93cml0dGVuTnVtYmVyT2ZC
eXRlcywgMCk7CiAgICAgaWYgKGhhZFByZXZpb3VzQnVmZmVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbVR5
cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0SXRlbVR5cGUuY3BwCmluZGV4IDE2NWQyMjQxMzVkMzRkOTI1MWZjY2JhOTQ4N2Yy
YmNjZjg1ZTExZTYuLmYxMWE5ZmVkZDA3YzQwOWYyOTg5OGRlMzljODIzMTAzMWI0MTdlZDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdEl0ZW1UeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtVHlwZS5jcHAKQEAgLTEyNiw4ICsxMjYs
MTIgQEAgc3RhdGljIHNpemVfdCBzaXplT2ZJdGVtSW5CeXRlcyhJdGVtVHlwZSB0eXBlKQogICAg
ICAgICByZXR1cm4gc2l6ZW9mKEZpbGxFbGxpcHNlKTsKICAgICBjYXNlIEl0ZW1UeXBlOjpGbHVz
aENvbnRleHQ6CiAgICAgICAgIHJldHVybiBzaXplb2YoRmx1c2hDb250ZXh0KTsKLSAgICBjYXNl
IEl0ZW1UeXBlOjpNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcjoKLSAgICAgICAgcmV0dXJu
IHNpemVvZihNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcik7CisgICAgY2FzZSBJdGVtVHlw
ZTo6TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyOgorICAgICAgICByZXR1
cm4gc2l6ZW9mKE1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcik7CisgICAg
Y2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyOgorICAgICAgICByZXR1
cm4gc2l6ZW9mKE1ldGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcik7CisgICAgY2FzZSBJdGVtVHlw
ZTo6TWV0YUNvbW1hbmRFbmQ6CisgICAgICAgIHJldHVybiBzaXplb2YoTWV0YUNvbW1hbmRFbmQp
OwogICAgIGNhc2UgSXRlbVR5cGU6OlB1dEltYWdlRGF0YToKICAgICAgICAgcmV0dXJuIHNpemVv
ZihQdXRJbWFnZURhdGEpOwogICAgIGNhc2UgSXRlbVR5cGU6OlBhaW50RnJhbWVGb3JNZWRpYToK
QEAgLTE4MCw3ICsxODQsOSBAQCBib29sIGlzRHJhd2luZ0l0ZW0oSXRlbVR5cGUgdHlwZSkKICAg
ICBjYXNlIEl0ZW1UeXBlOjpDbGlwVG9EcmF3aW5nQ29tbWFuZHM6CiAgICAgY2FzZSBJdGVtVHlw
ZTo6Q29uY2F0ZW5hdGVDVE06CiAgICAgY2FzZSBJdGVtVHlwZTo6Rmx1c2hDb250ZXh0OgotICAg
IGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVyOgorICAgIGNhc2Ug
SXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcjoKKyAgICBj
YXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5nZUl0ZW1CdWZmZXI6CisgICAgY2FzZSBJdGVt
VHlwZTo6TWV0YUNvbW1hbmRFbmQ6CiAgICAgY2FzZSBJdGVtVHlwZTo6UmVzdG9yZToKICAgICBj
YXNlIEl0ZW1UeXBlOjpSb3RhdGU6CiAgICAgY2FzZSBJdGVtVHlwZTo6U2F2ZToKQEAgLTI5MSw3
ICsyOTcsOSBAQCBib29sIGlzSW5saW5lSXRlbShJdGVtVHlwZSB0eXBlKQogI2VuZGlmCiAgICAg
Y2FzZSBJdGVtVHlwZTo6RmlsbFJlY3Q6CiAgICAgY2FzZSBJdGVtVHlwZTo6Rmx1c2hDb250ZXh0
OgotICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVyOgorICAg
IGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcjoK
KyAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5nZUl0ZW1CdWZmZXI6CisgICAgY2Fz
ZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRFbmQ6CiAgICAgY2FzZSBJdGVtVHlwZTo6UGFpbnRGcmFt
ZUZvck1lZGlhOgogICAgIGNhc2UgSXRlbVR5cGU6OlJlc3RvcmU6CiAgICAgY2FzZSBJdGVtVHlw
ZTo6Um90YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbVR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1UeXBlLmgKaW5kZXggZmI1
ZGVmZGI3YzZkY2U0OThiMjE5ZjRmYmQxNzNkM2Y5MmE2MmY1YS4uOWRmZTJiOTkyZDAxYzM1MTky
ZTg1ODU3ZWM4MDdkMGM5OGFmNTNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbVR5cGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVt
VHlwZS5oCkBAIC03Niw3ICs3Niw5IEBAIGVudW0gY2xhc3MgSXRlbVR5cGUgOiB1aW50OF90IHsK
ICAgICBGaWxsUGF0aCwKICAgICBGaWxsRWxsaXBzZSwKICAgICBGbHVzaENvbnRleHQsCi0gICAg
TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXIsCisgICAgTWV0YUNvbW1hbmRFbmQsCisgICAg
TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyLAorICAgIE1ldGFDb21tYW5k
Q2hhbmdlSXRlbUJ1ZmZlciwKICAgICBQdXRJbWFnZURhdGEsCiAgICAgUGFpbnRGcmFtZUZvck1l
ZGlhLAogICAgIFN0cm9rZVJlY3QsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5jcHAK
aW5kZXggOGNiZGJjMzc3OTk0YmIxMDMxZWIwMmY5ZTQ4YWFhZTE2OTY1NWE3NS4uMzMxMTk4MzMw
ZTE0MzlkMjEwMWNhYmEwNTRmYzBhNTk0MzczN2M5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5
TGlzdEl0ZW1zLmNwcApAQCAtMTAwMiwxMiArMTAwMiwyMyBAQCBzdGF0aWMgVGV4dFN0cmVhbSYg
b3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgRmx1c2hDb250ZXh0JiBpdGVtKQogICAg
IHJldHVybiB0czsKIH0KIAotc3RhdGljIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVh
bSYgdHMsIGNvbnN0IE1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVyJiBpdGVtKQorc3RhdGlj
IFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IE1ldGFDb21tYW5k
Q2hhbmdlSXRlbUJ1ZmZlciYgaXRlbSkKIHsKICAgICB0cy5kdW1wUHJvcGVydHkoImlkZW50aWZp
ZXIiLCBpdGVtLmlkZW50aWZpZXIoKSk7CiAgICAgcmV0dXJuIHRzOwogfQogCitzdGF0aWMgVGV4
dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgTWV0YUNvbW1hbmRDaGFu
Z2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyJiBpdGVtKQoreworICAgIHRzLmR1bXBQcm9wZXJ0eSgi
aWRlbnRpZmllciIsIGl0ZW0uaWRlbnRpZmllcigpKTsKKyAgICByZXR1cm4gdHM7Cit9CisKK3N0
YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBNZXRhQ29t
bWFuZEVuZCYpCit7CisgICAgcmV0dXJuIHRzOworfQorCiBzdGF0aWMgVGV4dFN0cmVhbSYgb3Bl
cmF0b3I8PChUZXh0U3RyZWFtJiB0cywgSXRlbVR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5
cGUpIHsKQEAgLTEwNTcsNyArMTA2OCw5IEBAIHN0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8
KFRleHRTdHJlYW0mIHRzLCBJdGVtVHlwZSB0eXBlKQogICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxQ
YXRoOiB0cyA8PCAiZmlsbC1wYXRoIjsgYnJlYWs7CiAgICAgY2FzZSBJdGVtVHlwZTo6RmlsbEVs
bGlwc2U6IHRzIDw8ICJmaWxsLWVsbGlwc2UiOyBicmVhazsKICAgICBjYXNlIEl0ZW1UeXBlOjpG
bHVzaENvbnRleHQ6IHRzIDw8ICJmbHVzaC1jb250ZXh0IjsgYnJlYWs7Ci0gICAgY2FzZSBJdGVt
VHlwZTo6TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXI6IHRzIDw8ICJtZXRhLWNvbW1hbmQt
c3dpdGNoLXRvLWl0ZW0tYnVmZmVyIjsgYnJlYWs7CisgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNv
bW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyOiB0cyA8PCAibWV0YS1jb21tYW5kLWNo
YW5nZS1kZXN0aW5hdGlvbi1pbWFnZS1idWZmZXIiOyBicmVhazsKKyAgICBjYXNlIEl0ZW1UeXBl
OjpNZXRhQ29tbWFuZENoYW5nZUl0ZW1CdWZmZXI6IHRzIDw8ICJtZXRhLWNvbW1hbmQtY2hhbmdl
LWl0ZW0tYnVmZmVyIjsgYnJlYWs7CisgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRFbmQ6
IHRzIDw8ICJtZXRhLWNvbW1hbmQtZW5kIjsgYnJlYWs7CiAgICAgY2FzZSBJdGVtVHlwZTo6UHV0
SW1hZ2VEYXRhOiB0cyA8PCAicHV0LWltYWdlLWRhdGEiOyBicmVhazsKICAgICBjYXNlIEl0ZW1U
eXBlOjpQYWludEZyYW1lRm9yTWVkaWE6IHRzIDw8ICJwYWludC1mcmFtZS1mb3ItbWVkaWEiOyBi
cmVhazsKICAgICBjYXNlIEl0ZW1UeXBlOjpTdHJva2VSZWN0OiB0cyA8PCAic3Ryb2tlLXJlY3Qi
OyBicmVhazsKQEAgLTEyMTMsOCArMTIyNiwxNCBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRl
eHRTdHJlYW0mIHRzLCBJdGVtSGFuZGxlIGl0ZW0pCiAgICAgY2FzZSBJdGVtVHlwZTo6Rmx1c2hD
b250ZXh0OgogICAgICAgICB0cyA8PCBpdGVtLmdldDxGbHVzaENvbnRleHQ+KCk7CiAgICAgICAg
IGJyZWFrOwotICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVy
OgotICAgICAgICB0cyA8PCBpdGVtLmdldDxNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcj4o
KTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VC
dWZmZXI6CisgICAgICAgIHRzIDw8IGl0ZW0uZ2V0PE1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRp
b25JbWFnZUJ1ZmZlcj4oKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJdGVtVHlwZTo6TWV0
YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyOgorICAgICAgICB0cyA8PCBpdGVtLmdldDxNZXRhQ29t
bWFuZENoYW5nZUl0ZW1CdWZmZXI+KCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSXRlbVR5
cGU6Ok1ldGFDb21tYW5kRW5kOgorICAgICAgICB0cyA8PCBpdGVtLmdldDxNZXRhQ29tbWFuZEVu
ZD4oKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBJdGVtVHlwZTo6UHV0SW1hZ2VEYXRhOgog
ICAgICAgICB0cyA8PCBpdGVtLmdldDxQdXRJbWFnZURhdGE+KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVt
cy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0SXRlbXMuaAppbmRleCAxMDQ5NDVkNDY2Yzg5YmNlNTIwNTg1M2U2ZGM5YTRhZjc0NjFm
NjE1Li43MDBjNjg3NDkxNTQ3Zjk5OWI4OTAyZWZjMmU0NWVkMTc2OGI0YzhjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxp
c3RJdGVtcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXls
aXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmgKQEAgLTIyMzIsMTQgKzIyMzIsMTQgQEAgcHJpdmF0ZToK
IH07CiAKIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSByZWZhY3RvcmVkIHNvIHRoYXQgdGhlIGNv
bW1hbmQgdG8gInN3aXRjaCB0byB0aGUgbmV4dCBpdGVtIGJ1ZmZlciIKLS8vIGlzIG5vdCBpdHNl
bGYgYSBkcmF3aW5nIGl0ZW0uCi1jbGFzcyBNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlciB7
CisvLyBpcyBub3QgaXRzZWxmIGEgZGlzcGxheSBsaXN0IGl0ZW0uCitjbGFzcyBNZXRhQ29tbWFu
ZENoYW5nZUl0ZW1CdWZmZXIgewogcHVibGljOgotICAgIHN0YXRpYyBjb25zdGV4cHIgSXRlbVR5
cGUgaXRlbVR5cGUgPSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXI7Cisg
ICAgc3RhdGljIGNvbnN0ZXhwciBJdGVtVHlwZSBpdGVtVHlwZSA9IEl0ZW1UeXBlOjpNZXRhQ29t
bWFuZENoYW5nZUl0ZW1CdWZmZXI7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlzSW5saW5l
SXRlbSA9IHRydWU7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlzRHJhd2luZ0l0ZW0gPSBm
YWxzZTsKIAotICAgIE1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVyKEl0ZW1CdWZmZXJJZGVu
dGlmaWVyIGlkZW50aWZpZXIpCisgICAgTWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyKEl0ZW1C
dWZmZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCiAgICAgICAgIDogbV9pZGVudGlmaWVyKGlkZW50
aWZpZXIpCiAgICAgewogICAgIH0KQEAgLTIyNTAsNiArMjI1MCwzMCBAQCBwcml2YXRlOgogICAg
IEl0ZW1CdWZmZXJJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKIH07CiAKK2NsYXNzIE1ldGFDb21t
YW5kRW5kIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3RleHByIEl0ZW1UeXBlIGl0ZW1UeXBl
ID0gSXRlbVR5cGU6Ok1ldGFDb21tYW5kRW5kOworICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBp
c0lubGluZUl0ZW0gPSB0cnVlOworICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc0RyYXdpbmdJ
dGVtID0gZmFsc2U7Cit9OworCitjbGFzcyBNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1h
Z2VCdWZmZXIgeworcHVibGljOgorICAgIHN0YXRpYyBjb25zdGV4cHIgSXRlbVR5cGUgaXRlbVR5
cGUgPSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc0lubGluZUl0ZW0gPSB0cnVlOworICAgIHN0YXRp
YyBjb25zdGV4cHIgYm9vbCBpc0RyYXdpbmdJdGVtID0gZmFsc2U7CisKKyAgICBNZXRhQ29tbWFu
ZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXIoUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVy
IGlkZW50aWZpZXIpCisgICAgICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgewor
ICAgIH0KKworICAgIFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29u
c3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CisKK3ByaXZhdGU6CisgICAgUmVuZGVyaW5nUmVz
b3VyY2VJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKK307CisKIFRleHRTdHJlYW0mIG9wZXJhdG9y
PDwoVGV4dFN0cmVhbSYsIEl0ZW1IYW5kbGUpOwogCiB9IC8vIG5hbWVzcGFjZSBEaXNwbGF5TGlz
dApAQCAtMjMwNyw3ICsyMzMxLDkgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJD
b3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU+IHsKICAgICBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6
SXRlbVR5cGU6OkZpbGxQYXRoLAogICAgIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6
RmlsbEVsbGlwc2UsCiAgICAgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpGbHVzaENv
bnRleHQsCi0gICAgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpNZXRhQ29tbWFuZFN3
aXRjaFRvSXRlbUJ1ZmZlciwKKyAgICBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6Ok1l
dGFDb21tYW5kRW5kLAorICAgIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6TWV0YUNv
bW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyLAorICAgIFdlYkNvcmU6OkRpc3BsYXlM
aXN0OjpJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyLAogICAgIFdlYkNvcmU6
OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6UHV0SW1hZ2VEYXRhLAogICAgIFdlYkNvcmU6OkRpc3Bs
YXlMaXN0OjpJdGVtVHlwZTo6UGFpbnRGcmFtZUZvck1lZGlhLAogICAgIFdlYkNvcmU6OkRpc3Bs
YXlMaXN0OjpJdGVtVHlwZTo6U3Ryb2tlUmVjdCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlcGxheWVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dFJlcGxheWVyLmNwcAppbmRleCBjYTE5ODQ1YWFmODA0ZTE5NDg5OWYwOWMyYTA2OGI0NjNlZDU1
OGZmLi5kZjQ0YzljMzBhYzZjOGMzYzZmOTAxZjJhODEwNzNkZWI0NWY5NTE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxp
c3RSZXBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlz
cGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVwbGF5ZXIuY3BwCkBAIC0xMDksNiArMTA5LDIwIEBAIFJl
cGxheVJlc3VsdCBSZXBsYXllcjo6cmVwbGF5KGNvbnN0IEZsb2F0UmVjdCYgaW5pdGlhbENsaXAs
IGJvb2wgdHJhY2tSZXBsYXlMaXN0CiAgICAgICAgIH0KIAogICAgICAgICBMT0dfV0lUSF9TVFJF
QU0oRGlzcGxheUxpc3RzLCBzdHJlYW0gPDwgImFwcGx5aW5nICIgPDwgaSsrIDw8ICIgIiA8PCBp
dGVtKTsKKworICAgICAgICBpZiAoaXRlbS5pczxNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9u
SW1hZ2VCdWZmZXI+KCkpIHsKKyAgICAgICAgICAgIHJlc3VsdC5udW1iZXJPZkJ5dGVzUmVhZCAr
PSBpdGVtU2l6ZUluQnVmZmVyOworICAgICAgICAgICAgcmVzdWx0LnJlYXNvbkZvclN0b3BwaW5n
ID0gU3RvcFJlcGxheVJlYXNvbjo6Q2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcjsKKyAgICAg
ICAgICAgIHJlc3VsdC5uZXh0RGVzdGluYXRpb25JbWFnZUJ1ZmZlciA9IGl0ZW0uZ2V0PE1ldGFD
b21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcj4oKS5pZGVudGlmaWVyKCk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChpdGVtLmlzPE1ldGFDb21t
YW5kRW5kPigpKSB7CisgICAgICAgICAgICByZXN1bHQubnVtYmVyT2ZCeXRlc1JlYWQgKz0gaXRl
bVNpemVJbkJ1ZmZlcjsKKyAgICAgICAgICAgIHJlc3VsdC5yZWFzb25Gb3JTdG9wcGluZyA9IFN0
b3BSZXBsYXlSZWFzb246OkVuZE9mRGlzcGxheUxpc3Q7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorCiAgICAgICAgIGlmIChhdXRvIHJlYXNvbkZvclN0b3BwaW5nID0gYXBwbHlJdGVt
KGl0ZW0pKSB7CiAgICAgICAgICAgICByZXN1bHQucmVhc29uRm9yU3RvcHBpbmcgPSAqcmVhc29u
Rm9yU3RvcHBpbmc7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlcGxheWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxp
c3RSZXBsYXllci5oCmluZGV4IGU2NzhiODYwNjJjZWRiNjEyYWU4YmNlZDdjMGI3ODg0NTY3YzM3
NjYuLmM0NDI3MWYxMGVlZDBiZjAwYWExZjNmYmY3MDJhNDFhZGNhM2Q5MjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dFJlcGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxh
eWxpc3RzL0Rpc3BsYXlMaXN0UmVwbGF5ZXIuaApAQCAtNDEsMTIgKzQxLDE1IEBAIG5hbWVzcGFj
ZSBEaXNwbGF5TGlzdCB7CiBlbnVtIGNsYXNzIFN0b3BSZXBsYXlSZWFzb24gOiB1aW50OF90IHsK
ICAgICBSZXBsYXllZEFsbEl0ZW1zLAogICAgIE1pc3NpbmdDYWNoZWRSZXNvdXJjZSwKKyAgICBD
aGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyLAorICAgIEVuZE9mRGlzcGxheUxpc3QsCiAgICAg
RGVjb2RpbmdGYWlsdXJlIC8vIEZJWE1FOiBQcm9wYWdhdGUgZGVjb2RpbmcgZXJyb3JzIHRvIGRp
c3BsYXkgbGlzdCByZXBsYXkgY2xpZW50cyB0aHJvdWdoIHRoaXMgZW51bSBhcyB3ZWxsLgogfTsK
IAogc3RydWN0IFJlcGxheVJlc3VsdCB7CiAgICAgc3RkOjp1bmlxdWVfcHRyPERpc3BsYXlMaXN0
PiB0cmFja2VkRGlzcGxheUxpc3Q7CiAgICAgc2l6ZV90IG51bWJlck9mQnl0ZXNSZWFkIHsgMCB9
OworICAgIE9wdGlvbmFsPFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcj4gbmV4dERlc3RpbmF0
aW9uSW1hZ2VCdWZmZXI7CiAgICAgU3RvcFJlcGxheVJlYXNvbiByZWFzb25Gb3JTdG9wcGluZyB7
IFN0b3BSZXBsYXlSZWFzb246OlJlcGxheWVkQWxsSXRlbXMgfTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmgKaW5k
ZXggNWM3NTQ1YmZlNjY5MjYyMGQwMTNmZGM4ODZkNzVlZjM5YzgxYWZkZC4uNGQ1ZDAyNTNiYWEz
NmU1NDU3ZTQ4MTY0NTM4MjQzN2UzMTlhODU3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmgKQEAgLTkyLDggKzkyLDgg
QEAgcHJpdmF0ZToKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAKLSAgICAg
ICAgaWYgKGl0ZW0uaXM8V2ViQ29yZTo6RGlzcGxheUxpc3Q6Ok1ldGFDb21tYW5kU3dpdGNoVG9J
dGVtQnVmZmVyPigpKSB7Ci0gICAgICAgICAgICBhdXRvIG5leHRCdWZmZXJJZGVudGlmaWVyID0g
aXRlbS5nZXQ8V2ViQ29yZTo6RGlzcGxheUxpc3Q6Ok1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVm
ZmVyPigpLmlkZW50aWZpZXIoKTsKKyAgICAgICAgaWYgKGl0ZW0uaXM8V2ViQ29yZTo6RGlzcGxh
eUxpc3Q6Ok1ldGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcj4oKSkgeworICAgICAgICAgICAgYXV0
byBuZXh0QnVmZmVySWRlbnRpZmllciA9IGl0ZW0uZ2V0PFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpN
ZXRhQ29tbWFuZENoYW5nZUl0ZW1CdWZmZXI+KCkuaWRlbnRpZmllcigpOwogICAgICAgICAgICAg
bV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kLnNldE5leHRJdGVtQnVmZmVyVG9SZWFkKG5leHRCdWZm
ZXJJZGVudGlmaWVyKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5n
QmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZC5jcHAKaW5kZXggZjU5YzM4NzI0ZjhmNjJlZTc4MDJiOTIwMjM3ZjY4ODQ3
M2Q3ZmJmOS4uNmRkZWIwMjc5MjllNTA0ZjgzYjBhMTg2YzdlZWFiOGU1YjlkNjg3MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kLmNwcApAQCAtMzE1LDcgKzMxNSw5IEBAIE9wdGlvbmFsPERpc3BsYXlM
aXN0OjpJdGVtSGFuZGxlPiBXQVJOX1VOVVNFRF9SRVRVUk4gUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZDo6ZGVjCiAjZW5kaWYKICAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6RmlsbFJlY3Q6
CiAgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkZsdXNoQ29udGV4dDoKLSAgICBjYXNl
IERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXI6Cisg
ICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRp
b25JbWFnZUJ1ZmZlcjoKKyAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6TWV0YUNvbW1h
bmRDaGFuZ2VJdGVtQnVmZmVyOgorICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpNZXRh
Q29tbWFuZEVuZDoKICAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6UGFpbnRGcmFtZUZv
ck1lZGlhOgogICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpSZXN0b3JlOgogICAgIGNh
c2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpSb3RhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94
eS5oCmluZGV4IDMxY2QwMmQxYjBmMjFlZGU1ODIyYmY5NDViYWQ0NmVkZWYxZWIzN2EuLjUxYmQ1
NzEyOTU4YWYxMmEyMzE1ZDQxYmEzZDJkNmI5ZWQ1N2YyYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZm
ZXJQcm94eS5oCkBAIC0zMDUsNyArMzA1LDkgQEAgcHJvdGVjdGVkOgogI2VuZGlmCiAgICAgICAg
IGNhc2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpGaWxsUmVjdDoKICAgICAgICAg
Y2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkZsdXNoQ29udGV4dDoKLSAgICAg
ICAgY2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6Ok1ldGFDb21tYW5kU3dpdGNo
VG9JdGVtQnVmZmVyOgorICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlw
ZTo6TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyOgorICAgICAgICBjYXNl
IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVm
ZmVyOgorICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6TWV0YUNv
bW1hbmRFbmQ6CiAgICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpQ
YWludEZyYW1lRm9yTWVkaWE6CiAgICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0
ZW1UeXBlOjpSZXN0b3JlOgogICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVt
VHlwZTo6Um90YXRlOgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IGE2M2JjZDRiYzQ1NGNmNGE1YjNkOTdmOWE1MjcxMGY5YTZhM2RkY2MuLjdhMjdj
YTA5YzVjZjViYTQ2YTAxYzk0MzdmNGNhYjVmZDMyMzllYzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0xMS0y
MyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRy
b2R1Y2UgbmV3IGRpc3BsYXkgbGlzdCBtZXRhIGNvbW1hbmRzIGluIHByZXBhcmF0aW9uIGZvciB3
ZWJraXQub3JnL2IvMjE5MDkxCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTkyNjIKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisK
KyAgICAgICAgUmVuYW1lIGBNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcmAuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRGlzcGxheUxpc3RUZXN0cy5jcHA6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAyMC0xMS0yMSAgSmlld2VuIFRhbiAg
PGppZXdlbl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJBdXRobl0gSW1wbGVtZW50IFNQ
SSBmb3IgQXV0aGVudGljYXRpb25TZXJ2aWNlcy5GcmFtZXdvcmsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9EaXNwbGF5TGlzdFRlc3RzLmNwcCBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9EaXNwbGF5TGlzdFRlc3RzLmNwcAppbmRleCBm
Mzk2N2VhZGQzMTNlZDVhNzM0Y2E0Mzk5NTFjNjg0MGVjOTJjNWIyLi5lYmQ4NmUzMmUwNjJjYWRm
NmE5YjAxYWVkY2M3N2FkOGY2ZTI0NTQzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYkNvcmUvRGlzcGxheUxpc3RUZXN0cy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJDb3JlL0Rpc3BsYXlMaXN0VGVzdHMuY3BwCkBAIC0xMjEsNyArMTIxLDcg
QEAgVEVTVChEaXNwbGF5TGlzdFRlc3RzLCBBcHBlbmRJdGVtcykKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAjZW5kaWYKLSAgICAgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRT
d2l0Y2hUb0l0ZW1CdWZmZXI6CisgICAgICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hh
bmdlSXRlbUJ1ZmZlcjoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OiB7CiAg
ICAgICAgICAgICBvYnNlcnZlZFVuZXhwZWN0ZWRJdGVtID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414849</attachid>
            <date>2020-11-24 12:42:24 -0800</date>
            <delta_ts>2020-11-27 12:08:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219262-20201124124224.patch</filename>
            <type>text/plain</type>
            <size>26260</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzIzYWI2YjRlNmM0NDFj
MDYzZWM1Mzg0YzZmOTA5NDdiZDFhNDY5ZC4uNTM1ZmY0ZjY3NTEyY2JmYWVlZWM2ZTM4MTE5ZTc1
OGIxZWU2YTBhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDIwLTExLTIzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVjZSBu
ZXcgZGlzcGxheSBsaXN0IG1ldGEgY29tbWFuZHMgaW4gcHJlcGFyYXRpb24gZm9yIHdlYmtpdC5v
cmcvYi8yMTkwOTEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxOTI2MgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAg
ICBJbnRyb2R1Y2VzIHR3byBuZXcgZGlzcGxheSBsaXN0IGl0ZW1zOiBgTWV0YUNvbW1hbmRDaGFu
Z2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyYCBhbmQgYE1ldGFDb21tYW5kRW5kYC4gVGhlc2UKKyAg
ICAgICAgbWV0YSBjb21tYW5kcyB3aWxsIGJlIHVzZWQgaW4gYSBmdXR1cmUgcGF0Y2ggdG8gc3lu
Y2hyb25pemUgZGlzcGxheSBsaXN0IGRyYXdpbmcgY29tbWFuZHMgYmV0d2VlbiBtdWx0aXBsZQor
ICAgICAgICBkZXN0aW5hdGlvbiBpbWFnZSBidWZmZXJzIHdoZW4gdXNpbmcgdGhlIEdQVSBwcm9j
ZXNzIGJ5IGFsbG93aW5nIGBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kYCB0byBwcm9jZXNzIGRpc3Bs
YXkKKyAgICAgICAgZGF0YSB0aGF0IGNvbnRhaW5zIGNvbW1hbmRzIHRhcmdldGluZyBtb3JlIHRo
YW4gb25lIGRlc3RpbmF0aW9uIGltYWdlIGJ1ZmZlci4KKworICAgICAgICBgTWV0YUNvbW1hbmRD
aGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyYCBpcyB1c2VkIHRvIGluZm9ybSB0aGUgcmVwbGF5
ZXIgdGhhdCB0aGUgZGVzdGluYXRpb24gaW1hZ2UgYnVmZmVyIChpbgorICAgICAgICB3aGljaCBj
b21tYW5kcyBhcmUgcmVwbGF5ZWQpIHNob3VsZCBiZSBjaGFuZ2VkIHRvIHRoZSBuZXcgaW1hZ2Ug
YnVmZmVyIGluZGljYXRlZCBieSB0aGUgcmVuZGVyaW5nIHJlc291cmNlCisgICAgICAgIGlkZW50
aWZpZXIgaW4gdGhlIGl0ZW0uIFdoZW4gcmVwbGF5aW5nLCB3ZSdsbCBiYWlsIHdpdGggYFN0b3BS
ZXBsYXlSZWFzb246OkNoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXJgIGFuZCBzZXQKKyAgICAg
ICAgYG5leHREZXN0aW5hdGlvbkltYWdlQnVmZmVyYCB0byB0aGUgaWRlbnRpZmllciBvZiB0aGlz
IG5leHQgYnVmZmVyLgorCisgICAgICAgIGBNZXRhQ29tbWFuZEVuZGAgaXMgdXNlZCB0byBpbmZv
cm0gdGhlIHJlcGxheWVyIHRoYXQgaXQgc2hvdWxkIGV4cGVjdCBubyBtb3JlIGRpc3BsYXkgbGlz
dCBpdGVtczsgaW4gYSBmdXR1cmUKKyAgICAgICAgcGF0Y2gsIGBSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kYCB3aWxsIHRha2UgdGhpcyBhcyBhIGN1ZSB0byBpbW1lZGlhdGVseSBzdG9wIHdhaXRpbmcg
Zm9yIG1vcmUgZGlzcGxheSBsaXN0IGRhdGEKKyAgICAgICAgYW5kIGdvIHRvIHNsZWVwLgorCisg
ICAgICAgIEEgc3RyZWFtIG9mIGRpc3BsYXkgbGlzdCBkYXRhIHdpbGwgZXZlbnR1YWxseSBjb25z
aXN0IG9mIGRhdGEgdGFyZ2V0aW5nIG9uZSBvciBtb3JlIGRlc3RpbmF0aW9uIGltYWdlIGJ1ZmZl
cnMsCisgICAgICAgIHNlcGFyYXRlZCBieSBgTWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbklt
YWdlQnVmZmVyYCBpdGVtcywgYW5kIG1heSBzcGFuIG9uZSBvciBtb3JlIGl0ZW0gYnVmZmVycywg
c2VwYXJhdGVkCisgICAgICAgIGJ5IGBNZXRhQ29tbWFuZENoYW5nZUl0ZW1CdWZmZXJgIGl0ZW1z
OyBmaW5hbGx5LCBpdCB3aWxsIGNvbmNsdWRlIHdpdGggYSBgTWV0YUNvbW1hbmRFbmRgIGl0ZW0u
CisgICAgICAgIFRoZSBiZWxvdyBkaWFncmFtIGRlcGljdHMgb25lIHN1Y2ggc3RyZWFtIG9mIGRp
c3BsYXkgbGlzdCBkYXRhLCB3aGVyZSB3ZSBoYXZlIHR3byBkZXN0aW5hdGlvbiBpbWFnZSBidWZm
ZXJzCisgICAgICAgIChkZW5vdGVkIGJ5IEEgYW5kIEIpLCBhbmQgZGlzcGxheSBsaXN0IGl0ZW0g
ZGF0YSBzcGFubmluZyB0d28gaXRlbSBidWZmZXJzIChkZW5vdGVkIGJ5IDEgYW5kIDIpLgorCisg
ICAgICAgIFdha2V1cCBtZXNzYWdlIGluaXRpYXRlcyBkaXNwbGF5IGxpc3QgcHJvY2Vzc2luZyB3
aXRoIEltYWdlIEJ1ZmZlciBBIGFuZCBJdGVtIEJ1ZmZlciAxCisgICAgICAgICAgICB8CisgICAg
ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGFD
b21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcigyKQorICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgfCAg
ICAgTWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyKEIpICAgICAgICAgfAor
ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfAorICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgdiAgICAgICAgICAgICAg
ICAgICAgICAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdgorICAgICAgICAgICAg
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
KysKKyAgICAgICAgICAgIHwgKy0tLS0tLS0tLS0tLS0tLS0tLS0tKyArLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tKyB8CisgICAgICAgICAgICB8IHwgRGVzdGluYXRpb24gICAgICAgIHwg
fCBEZXN0aW5hdGlvbiAgICAgICAgICAgICAgICAgIHwgfCBJdGVtIEJ1ZmZlciAxCisgICAgICAg
ICAgICB8IHwgSW1hZ2UgQnVmZmVyIEEgICAgIHwgfCBJbWFnZSBCdWZmZXIgQiAgICAgICAgICAg
ICAgIHwgfAorICAgICAgICAgICAgfCArLS0tLS0tLS0tLS0tLS0tLS0tLS0rICstLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0rIHwKKyAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKKyAgICAgICAgICAgICst
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r
CisgICAgICAgICAgICB8ICstLS0tLS0tLS0tLS0tLSsgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
KyAgICAgICAgICAgICAgfAorICAgICAgICAgICAgfCB8IERzdC4gSW1hZ2UgICB8IHwgRGVzdGlu
YXRpb24gSW1hZ2UgICAgIHwgIFVudXNlZCAgICAgIHwgSXRlbSBCdWZmZXIgMgorICAgICAgICAg
ICAgfCB8IEJ1ZmZlciBCICAgICB8IHwgQnVmZmVyIEEgICAgICAgICAgICAgIHwgIENhcGFjaXR5
ICAgIHwKKyAgICAgICAgICAgIHwgKy0tLS0tLS0tLS0tLS0tKyArLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0rICAgICAgICAgICAgICB8CisgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0rLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXiAgICAgICAgICAgICAgICAgICAgICAgICBeCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIE1ldGFDb21tYW5kRW5kCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICBNZXRhQ29tbWFuZENo
YW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXIoQSkKKworICAgICAgICBBZGRpdGlvbmFsbHksIHJl
bmFtZSBgTWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXJgIHRvIGBNZXRhQ29tbWFuZENoYW5n
ZUl0ZW1CdWZmZXJgLCBzdWNoIHRoYXQgaXQgaXMKKyAgICAgICAgY29uc2lzdGVudCB3aXRoIHRo
ZSBuZXcgYE1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcmAgaXRlbS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxpc3Q6OmFwcGVuZCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbUJ1
ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbUhhbmRsZTo6YXBw
bHkpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1IYW5kbGU6OmRlc3Ryb3kp
OgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1IYW5kbGU6OmNvcHlUbyBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbUJ1ZmZlcjo6c3dhcFdyaXRh
YmxlQnVmZmVySWZOZWVkZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXls
aXN0cy9EaXNwbGF5TGlzdEl0ZW1UeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlM
aXN0OjpzaXplT2ZJdGVtSW5CeXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6
aXNEcmF3aW5nSXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6aXNJbmxpbmVJ
dGVtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxp
c3RJdGVtVHlwZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdEl0ZW1zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpvcGVy
YXRvcjw8KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxh
eUxpc3RJdGVtcy5oOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Ok1ldGFDb21tYW5k
Q2hhbmdlSXRlbUJ1ZmZlcjo6TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VC
dWZmZXI6Ok1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcik6CisgICAgICAg
IChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdl
QnVmZmVyOjppZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0
OjpNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcjo6TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1C
dWZmZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Ok1ldGFDb21t
YW5kU3dpdGNoVG9JdGVtQnVmZmVyOjppZGVudGlmaWVyIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZXBsYXllci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVwbGF5ZXI6OnJlcGxheSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVwbGF5
ZXIuaDoKKwogMjAyMC0xMS0yMiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAK
ICAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25dIENvbnZlcnQgc29tZSByZW1haW5pbmcgSW5saW5l
Qm94IGFjY2VzcyB0byB1c2UgaW5saW5lIGl0ZXJhdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU5Nzc2OWJlYjQw
YWZjNWY4ZGNjNDdjYjE0MWY4YzU4MDUwMzMxNGMuLjYwOWU4MDJiOGZhZWEzZjg2MWQyM2ZkZjUw
ZmUwNDMxZGRlNDY5NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMTEtMjMgIFdl
bnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNl
IG5ldyBkaXNwbGF5IGxpc3QgbWV0YSBjb21tYW5kcyBpbiBwcmVwYXJhdGlvbiBmb3Igd2Via2l0
Lm9yZy9iLzIxOTA5MQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE5MjYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAg
ICAgIFNlZSBXZWJDb3JlIENoYW5nZUxvZyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gQWRkaXRpb25h
bGx5LCByZW5hbWUgYE1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVyYCB0bworICAgICAgICBg
TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyYCwgZm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlIG5l
dyBgTWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyYCBpdGVtLgorCisgICAg
ICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oOgorICAgICAgICAq
IEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmRlY29kZUl0ZW0pOgorICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaDoKKwogMjAy
MC0xMS0yMSAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBs
ZW1lbnQgYXVkaW8gY2FwdHVyZSBmb3IgU3BlZWNoUmVjb2duaXRpb24gb24gbWFjT1MKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNw
bGF5TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlz
dHMvRGlzcGxheUxpc3QuY3BwCmluZGV4IDkyMzM2OTlhMGRkYjIzNGNjMzBhMzI3MWRkNmJhMDdk
Y2I0NjNjMjYuLjgxMjA0ZGYwODdlNjU1OGVhZTdlNGQ0MDE4YzY1NWI1OGUyYTU4YTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNw
bGF5TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxh
eWxpc3RzL0Rpc3BsYXlMaXN0LmNwcApAQCAtMjc4LDggKzI3OCwxMiBAQCB2b2lkIERpc3BsYXlM
aXN0OjphcHBlbmQoSXRlbUhhbmRsZSBpdGVtKQogICAgICAgICByZXR1cm4gYXBwZW5kPEZpbGxF
bGxpcHNlPihpdGVtLmdldDxGaWxsRWxsaXBzZT4oKSk7CiAgICAgY2FzZSBJdGVtVHlwZTo6Rmx1
c2hDb250ZXh0OgogICAgICAgICByZXR1cm4gYXBwZW5kPEZsdXNoQ29udGV4dD4oaXRlbS5nZXQ8
Rmx1c2hDb250ZXh0PigpKTsKLSAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZFN3aXRjaFRv
SXRlbUJ1ZmZlcjoKLSAgICAgICAgcmV0dXJuIGFwcGVuZDxNZXRhQ29tbWFuZFN3aXRjaFRvSXRl
bUJ1ZmZlcj4oaXRlbS5nZXQ8TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXI+KCkpOworICAg
IGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcjoK
KyAgICAgICAgcmV0dXJuIGFwcGVuZDxNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VC
dWZmZXI+KGl0ZW0uZ2V0PE1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcj4o
KSk7CisgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyOgorICAg
ICAgICByZXR1cm4gYXBwZW5kPE1ldGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcj4oaXRlbS5nZXQ8
TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyPigpKTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpNZXRh
Q29tbWFuZEVuZDoKKyAgICAgICAgcmV0dXJuIGFwcGVuZDxNZXRhQ29tbWFuZEVuZD4oaXRlbS5n
ZXQ8TWV0YUNvbW1hbmRFbmQ+KCkpOwogICAgIGNhc2UgSXRlbVR5cGU6OlB1dEltYWdlRGF0YToK
ICAgICAgICAgcmV0dXJuIGFwcGVuZDxQdXRJbWFnZURhdGE+KGl0ZW0uZ2V0PFB1dEltYWdlRGF0
YT4oKSk7CiAgICAgY2FzZSBJdGVtVHlwZTo6UGFpbnRGcmFtZUZvck1lZGlhOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlM
aXN0SXRlbUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNw
bGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtQnVmZmVyLmNwcAppbmRleCBjODc4YWQzNGM4YzQ4NGU0
MWM2NWU3YmUxNDUyYmZhOGFiMzE2ZGMyLi5jZTZiMGU5YjE4YmRjN2FhYjM4NDRkODczNjYzNjg5
MjM5NDBlMjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9k
aXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtQnVmZmVyLmNw
cApAQCAtMjI2LDcgKzIyNiw5IEBAIHZvaWQgSXRlbUhhbmRsZTo6YXBwbHkoR3JhcGhpY3NDb250
ZXh0JiBjb250ZXh0KQogICAgICAgICBnZXQ8Rmx1c2hDb250ZXh0PigpLmFwcGx5KGNvbnRleHQp
OwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5k
U3dpdGNoVG9JdGVtQnVmZmVyOgorICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdl
RGVzdGluYXRpb25JbWFnZUJ1ZmZlcjoKKyAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZENo
YW5nZUl0ZW1CdWZmZXI6CisgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRFbmQ6CiAgICAg
ICAgIHJldHVybjsKICAgICBjYXNlIEl0ZW1UeXBlOjpQdXRJbWFnZURhdGE6IHsKICAgICAgICAg
Z2V0PFB1dEltYWdlRGF0YT4oKS5hcHBseShjb250ZXh0KTsKQEAgLTQ1NCw4ICs0NTYsMTYgQEAg
dm9pZCBJdGVtSGFuZGxlOjpkZXN0cm95KCkKICAgICAgICAgc3RhdGljX2Fzc2VydChzdGQ6Omlz
X3RyaXZpYWxseV9kZXN0cnVjdGlibGU8Rmx1c2hDb250ZXh0Pjo6dmFsdWUpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQotICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kU3dpdGNoVG9JdGVt
QnVmZmVyOiB7Ci0gICAgICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc190cml2aWFsbHlfZGVzdHJ1
Y3RpYmxlPE1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVyPjo6dmFsdWUpOworICAgIGNhc2Ug
SXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcjogeworICAg
ICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfdHJpdmlhbGx5X2Rlc3RydWN0aWJsZTxNZXRhQ29t
bWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXI+Ojp2YWx1ZSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVy
OiB7CisgICAgICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc190cml2aWFsbHlfZGVzdHJ1Y3RpYmxl
PE1ldGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcj46OnZhbHVlKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKyAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZEVuZDogeworICAgICAgICBzdGF0
aWNfYXNzZXJ0KHN0ZDo6aXNfdHJpdmlhbGx5X2Rlc3RydWN0aWJsZTxNZXRhQ29tbWFuZEVuZD46
OnZhbHVlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBjYXNlIEl0ZW1UeXBlOjpQYWlu
dEZyYW1lRm9yTWVkaWE6IHsKQEAgLTcwNSw4ICs3MTUsMTYgQEAgdm9pZCBJdGVtSGFuZGxlOjpj
b3B5VG8oSXRlbUhhbmRsZSBkZXN0aW5hdGlvbikgY29uc3QKICAgICAgICAgbmV3IChpdGVtT2Zm
c2V0KSBGbHVzaENvbnRleHQoZ2V0PEZsdXNoQ29udGV4dD4oKSk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9Ci0gICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXI6
IHsKLSAgICAgICAgbmV3IChpdGVtT2Zmc2V0KSBNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZl
cihnZXQ8TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXI+KCkpOworICAgIGNhc2UgSXRlbVR5
cGU6Ok1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcjogeworICAgICAgICBu
ZXcgKGl0ZW1PZmZzZXQpIE1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcihn
ZXQ8TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyPigpKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5nZUl0ZW1C
dWZmZXI6IHsKKyAgICAgICAgbmV3IChpdGVtT2Zmc2V0KSBNZXRhQ29tbWFuZENoYW5nZUl0ZW1C
dWZmZXIoZ2V0PE1ldGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcj4oKSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRFbmQ6IHsKKyAgICAgICAg
bmV3IChpdGVtT2Zmc2V0KSBNZXRhQ29tbWFuZEVuZChnZXQ8TWV0YUNvbW1hbmRFbmQ+KCkpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGNhc2UgSXRlbVR5cGU6OlBhaW50RnJhbWVGb3JN
ZWRpYTogewpAQCAtODYwLDE0ICs4NzgsMTQgQEAgdm9pZCBJdGVtQnVmZmVyOjpjbGVhcigpCiAK
IHZvaWQgSXRlbUJ1ZmZlcjo6c3dhcFdyaXRhYmxlQnVmZmVySWZOZWVkZWQoc2l6ZV90IG51bWJl
ck9mQnl0ZXMpCiB7Ci0gICAgYXV0byBzaXplRm9yQnVmZmVyU3dpdGNoSXRlbSA9IHBhZGRlZFNp
emVPZlR5cGVBbmRJdGVtSW5CeXRlcyhJdGVtVHlwZTo6TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1C
dWZmZXIpOworICAgIGF1dG8gc2l6ZUZvckJ1ZmZlclN3aXRjaEl0ZW0gPSBwYWRkZWRTaXplT2ZU
eXBlQW5kSXRlbUluQnl0ZXMoSXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcik7
CiAgICAgaWYgKG1fd3JpdHRlbk51bWJlck9mQnl0ZXMgKyBudW1iZXJPZkJ5dGVzICsgc2l6ZUZv
ckJ1ZmZlclN3aXRjaEl0ZW0gPD0gbV93cml0YWJsZUJ1ZmZlci5jYXBhY2l0eSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgYXV0byBuZXh0QnVmZmVyID0gY3JlYXRlSXRlbUJ1ZmZlcihudW1iZXJP
ZkJ5dGVzICsgc2l6ZUZvckJ1ZmZlclN3aXRjaEl0ZW0pOwogICAgIGJvb2wgaGFkUHJldmlvdXNC
dWZmZXIgPSBtX3dyaXRhYmxlQnVmZmVyOwogICAgIGlmIChoYWRQcmV2aW91c0J1ZmZlcikKLSAg
ICAgICAgdW5jaGVja2VkQXBwZW5kPE1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVyPihuZXh0
QnVmZmVyLmlkZW50aWZpZXIpOworICAgICAgICB1bmNoZWNrZWRBcHBlbmQ8TWV0YUNvbW1hbmRD
aGFuZ2VJdGVtQnVmZmVyPihuZXh0QnVmZmVyLmlkZW50aWZpZXIpOwogICAgIGF1dG8gcHJldmlv
dXNCdWZmZXIgPSBzdGQ6OmV4Y2hhbmdlKG1fd3JpdGFibGVCdWZmZXIsIHsgfSk7CiAgICAgcHJl
dmlvdXNCdWZmZXIuY2FwYWNpdHkgPSBzdGQ6OmV4Y2hhbmdlKG1fd3JpdHRlbk51bWJlck9mQnl0
ZXMsIDApOwogICAgIGlmIChoYWRQcmV2aW91c0J1ZmZlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1UeXBl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNw
bGF5TGlzdEl0ZW1UeXBlLmNwcAppbmRleCAxNjVkMjI0MTM1ZDM0ZDkyNTFmY2NiYTk0ODdmMmJj
Y2Y4NWUxMWU2Li5mMTFhOWZlZGQwN2M0MDlmMjk4OThkZTM5YzgyMzEwMzFiNDE3ZWQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3RJdGVtVHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbVR5cGUuY3BwCkBAIC0xMjYsOCArMTI2LDEy
IEBAIHN0YXRpYyBzaXplX3Qgc2l6ZU9mSXRlbUluQnl0ZXMoSXRlbVR5cGUgdHlwZSkKICAgICAg
ICAgcmV0dXJuIHNpemVvZihGaWxsRWxsaXBzZSk7CiAgICAgY2FzZSBJdGVtVHlwZTo6Rmx1c2hD
b250ZXh0OgogICAgICAgICByZXR1cm4gc2l6ZW9mKEZsdXNoQ29udGV4dCk7Ci0gICAgY2FzZSBJ
dGVtVHlwZTo6TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXI6Ci0gICAgICAgIHJldHVybiBz
aXplb2YoTWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXIpOworICAgIGNhc2UgSXRlbVR5cGU6
Ok1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcjoKKyAgICAgICAgcmV0dXJu
IHNpemVvZihNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXIpOworICAgIGNh
c2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcjoKKyAgICAgICAgcmV0dXJu
IHNpemVvZihNZXRhQ29tbWFuZENoYW5nZUl0ZW1CdWZmZXIpOworICAgIGNhc2UgSXRlbVR5cGU6
Ok1ldGFDb21tYW5kRW5kOgorICAgICAgICByZXR1cm4gc2l6ZW9mKE1ldGFDb21tYW5kRW5kKTsK
ICAgICBjYXNlIEl0ZW1UeXBlOjpQdXRJbWFnZURhdGE6CiAgICAgICAgIHJldHVybiBzaXplb2Yo
UHV0SW1hZ2VEYXRhKTsKICAgICBjYXNlIEl0ZW1UeXBlOjpQYWludEZyYW1lRm9yTWVkaWE6CkBA
IC0xODAsNyArMTg0LDkgQEAgYm9vbCBpc0RyYXdpbmdJdGVtKEl0ZW1UeXBlIHR5cGUpCiAgICAg
Y2FzZSBJdGVtVHlwZTo6Q2xpcFRvRHJhd2luZ0NvbW1hbmRzOgogICAgIGNhc2UgSXRlbVR5cGU6
OkNvbmNhdGVuYXRlQ1RNOgogICAgIGNhc2UgSXRlbVR5cGU6OkZsdXNoQ29udGV4dDoKLSAgICBj
YXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcjoKKyAgICBjYXNlIEl0
ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXI6CisgICAgY2Fz
ZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyOgorICAgIGNhc2UgSXRlbVR5
cGU6Ok1ldGFDb21tYW5kRW5kOgogICAgIGNhc2UgSXRlbVR5cGU6OlJlc3RvcmU6CiAgICAgY2Fz
ZSBJdGVtVHlwZTo6Um90YXRlOgogICAgIGNhc2UgSXRlbVR5cGU6OlNhdmU6CkBAIC0yOTEsNyAr
Mjk3LDkgQEAgYm9vbCBpc0lubGluZUl0ZW0oSXRlbVR5cGUgdHlwZSkKICNlbmRpZgogICAgIGNh
c2UgSXRlbVR5cGU6OkZpbGxSZWN0OgogICAgIGNhc2UgSXRlbVR5cGU6OkZsdXNoQ29udGV4dDoK
LSAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcjoKKyAgICBj
YXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXI6Cisg
ICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyOgorICAgIGNhc2Ug
SXRlbVR5cGU6Ok1ldGFDb21tYW5kRW5kOgogICAgIGNhc2UgSXRlbVR5cGU6OlBhaW50RnJhbWVG
b3JNZWRpYToKICAgICBjYXNlIEl0ZW1UeXBlOjpSZXN0b3JlOgogICAgIGNhc2UgSXRlbVR5cGU6
OlJvdGF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rp
c3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1UeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtVHlwZS5oCmluZGV4IGZiNWRl
ZmRiN2M2ZGNlNDk4YjIxOWY0ZmJkMTczZDNmOTJhNjJmNWEuLjlkZmUyYjk5MmQwMWMzNTE5MmU4
NTg1N2VjODA3ZDBjOThhZjUzYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1UeXBlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbVR5
cGUuaApAQCAtNzYsNyArNzYsOSBAQCBlbnVtIGNsYXNzIEl0ZW1UeXBlIDogdWludDhfdCB7CiAg
ICAgRmlsbFBhdGgsCiAgICAgRmlsbEVsbGlwc2UsCiAgICAgRmx1c2hDb250ZXh0LAotICAgIE1l
dGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVyLAorICAgIE1ldGFDb21tYW5kRW5kLAorICAgIE1l
dGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlciwKKyAgICBNZXRhQ29tbWFuZENo
YW5nZUl0ZW1CdWZmZXIsCiAgICAgUHV0SW1hZ2VEYXRhLAogICAgIFBhaW50RnJhbWVGb3JNZWRp
YSwKICAgICBTdHJva2VSZWN0LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuY3BwCmlu
ZGV4IDhjYmRiYzM3Nzk5NGJiMTAzMWViMDJmOWU0OGFhYWUxNjk2NTVhNzUuLjMzMTE5ODMzMGUx
NDM5ZDIxMDFjYWJhMDU0ZmMwYTU5NDM3MzdjOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxp
c3RJdGVtcy5jcHAKQEAgLTEwMDIsMTIgKzEwMDIsMjMgQEAgc3RhdGljIFRleHRTdHJlYW0mIG9w
ZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IEZsdXNoQ29udGV4dCYgaXRlbSkKICAgICBy
ZXR1cm4gdHM7CiB9CiAKLXN0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0m
IHRzLCBjb25zdCBNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlciYgaXRlbSkKK3N0YXRpYyBU
ZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBNZXRhQ29tbWFuZENo
YW5nZUl0ZW1CdWZmZXImIGl0ZW0pCiB7CiAgICAgdHMuZHVtcFByb3BlcnR5KCJpZGVudGlmaWVy
IiwgaXRlbS5pZGVudGlmaWVyKCkpOwogICAgIHJldHVybiB0czsKIH0KIAorc3RhdGljIFRleHRT
dHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IE1ldGFDb21tYW5kQ2hhbmdl
RGVzdGluYXRpb25JbWFnZUJ1ZmZlciYgaXRlbSkKK3sKKyAgICB0cy5kdW1wUHJvcGVydHkoImlk
ZW50aWZpZXIiLCBpdGVtLmlkZW50aWZpZXIoKSk7CisgICAgcmV0dXJuIHRzOworfQorCitzdGF0
aWMgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgTWV0YUNvbW1h
bmRFbmQmKQoreworICAgIHJldHVybiB0czsKK30KKwogc3RhdGljIFRleHRTdHJlYW0mIG9wZXJh
dG9yPDwoVGV4dFN0cmVhbSYgdHMsIEl0ZW1UeXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBl
KSB7CkBAIC0xMDU3LDcgKzEwNjgsOSBAQCBzdGF0aWMgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChU
ZXh0U3RyZWFtJiB0cywgSXRlbVR5cGUgdHlwZSkKICAgICBjYXNlIEl0ZW1UeXBlOjpGaWxsUGF0
aDogdHMgPDwgImZpbGwtcGF0aCI7IGJyZWFrOwogICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxFbGxp
cHNlOiB0cyA8PCAiZmlsbC1lbGxpcHNlIjsgYnJlYWs7CiAgICAgY2FzZSBJdGVtVHlwZTo6Rmx1
c2hDb250ZXh0OiB0cyA8PCAiZmx1c2gtY29udGV4dCI7IGJyZWFrOwotICAgIGNhc2UgSXRlbVR5
cGU6Ok1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVyOiB0cyA8PCAibWV0YS1jb21tYW5kLXN3
aXRjaC10by1pdGVtLWJ1ZmZlciI7IGJyZWFrOworICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21t
YW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcjogdHMgPDwgIm1ldGEtY29tbWFuZC1jaGFu
Z2UtZGVzdGluYXRpb24taW1hZ2UtYnVmZmVyIjsgYnJlYWs7CisgICAgY2FzZSBJdGVtVHlwZTo6
TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyOiB0cyA8PCAibWV0YS1jb21tYW5kLWNoYW5nZS1p
dGVtLWJ1ZmZlciI7IGJyZWFrOworICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kRW5kOiB0
cyA8PCAibWV0YS1jb21tYW5kLWVuZCI7IGJyZWFrOwogICAgIGNhc2UgSXRlbVR5cGU6OlB1dElt
YWdlRGF0YTogdHMgPDwgInB1dC1pbWFnZS1kYXRhIjsgYnJlYWs7CiAgICAgY2FzZSBJdGVtVHlw
ZTo6UGFpbnRGcmFtZUZvck1lZGlhOiB0cyA8PCAicGFpbnQtZnJhbWUtZm9yLW1lZGlhIjsgYnJl
YWs7CiAgICAgY2FzZSBJdGVtVHlwZTo6U3Ryb2tlUmVjdDogdHMgPDwgInN0cm9rZS1yZWN0Ijsg
YnJlYWs7CkBAIC0xMjEzLDggKzEyMjYsMTQgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0
U3RyZWFtJiB0cywgSXRlbUhhbmRsZSBpdGVtKQogICAgIGNhc2UgSXRlbVR5cGU6OkZsdXNoQ29u
dGV4dDoKICAgICAgICAgdHMgPDwgaXRlbS5nZXQ8Rmx1c2hDb250ZXh0PigpOwogICAgICAgICBi
cmVhazsKLSAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcjoK
LSAgICAgICAgdHMgPDwgaXRlbS5nZXQ8TWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXI+KCk7
CisgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVm
ZmVyOgorICAgICAgICB0cyA8PCBpdGVtLmdldDxNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9u
SW1hZ2VCdWZmZXI+KCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFD
b21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcjoKKyAgICAgICAgdHMgPDwgaXRlbS5nZXQ8TWV0YUNvbW1h
bmRDaGFuZ2VJdGVtQnVmZmVyPigpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEl0ZW1UeXBl
OjpNZXRhQ29tbWFuZEVuZDoKKyAgICAgICAgdHMgPDwgaXRlbS5nZXQ8TWV0YUNvbW1hbmRFbmQ+
KCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgSXRlbVR5cGU6OlB1dEltYWdlRGF0YToKICAg
ICAgICAgdHMgPDwgaXRlbS5nZXQ8UHV0SW1hZ2VEYXRhPigpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5
TGlzdEl0ZW1zLmgKaW5kZXggMTA0OTQ1ZDQ2NmM4OWJjZTUyMDU4NTNlNmRjOWE0YWY3NDYxZjYx
NS4uNzAwYzY4NzQ5MTU0N2Y5OTliODkwMmVmYzJlNDVlZDE3NjhiNGM4YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0
SXRlbXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlz
dHMvRGlzcGxheUxpc3RJdGVtcy5oCkBAIC0yMjMyLDE0ICsyMjMyLDE0IEBAIHByaXZhdGU6CiB9
OwogCiAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgcmVmYWN0b3JlZCBzbyB0aGF0IHRoZSBjb21t
YW5kIHRvICJzd2l0Y2ggdG8gdGhlIG5leHQgaXRlbSBidWZmZXIiCi0vLyBpcyBub3QgaXRzZWxm
IGEgZHJhd2luZyBpdGVtLgotY2xhc3MgTWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXIgewor
Ly8gaXMgbm90IGl0c2VsZiBhIGRpc3BsYXkgbGlzdCBpdGVtLgorY2xhc3MgTWV0YUNvbW1hbmRD
aGFuZ2VJdGVtQnVmZmVyIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgY29uc3RleHByIEl0ZW1UeXBl
IGl0ZW1UeXBlID0gSXRlbVR5cGU6Ok1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVyOworICAg
IHN0YXRpYyBjb25zdGV4cHIgSXRlbVR5cGUgaXRlbVR5cGUgPSBJdGVtVHlwZTo6TWV0YUNvbW1h
bmRDaGFuZ2VJdGVtQnVmZmVyOwogICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc0lubGluZUl0
ZW0gPSB0cnVlOwogICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc0RyYXdpbmdJdGVtID0gZmFs
c2U7CiAKLSAgICBNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZlcihJdGVtQnVmZmVySWRlbnRp
ZmllciBpZGVudGlmaWVyKQorICAgIE1ldGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcihJdGVtQnVm
ZmVySWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlm
aWVyKQogICAgIHsKICAgICB9CkBAIC0yMjUwLDYgKzIyNTAsMzAgQEAgcHJpdmF0ZToKICAgICBJ
dGVtQnVmZmVySWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiB9OwogCitjbGFzcyBNZXRhQ29tbWFu
ZEVuZCB7CitwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0ZXhwciBJdGVtVHlwZSBpdGVtVHlwZSA9
IEl0ZW1UeXBlOjpNZXRhQ29tbWFuZEVuZDsKKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgaXNJ
bmxpbmVJdGVtID0gdHJ1ZTsKKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgaXNEcmF3aW5nSXRl
bSA9IGZhbHNlOworfTsKKworY2xhc3MgTWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdl
QnVmZmVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3RleHByIEl0ZW1UeXBlIGl0ZW1UeXBl
ID0gSXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcjsKKyAg
ICBzdGF0aWMgY29uc3RleHByIGJvb2wgaXNJbmxpbmVJdGVtID0gdHJ1ZTsKKyAgICBzdGF0aWMg
Y29uc3RleHByIGJvb2wgaXNEcmF3aW5nSXRlbSA9IGZhbHNlOworCisgICAgTWV0YUNvbW1hbmRD
aGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyKFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciBp
ZGVudGlmaWVyKQorICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgIHsKKyAg
ICB9CisKKyAgICBSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0
IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQorCitwcml2YXRlOgorICAgIFJlbmRlcmluZ1Jlc291
cmNlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7Cit9OworCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8
KFRleHRTdHJlYW0mLCBJdGVtSGFuZGxlKTsKIAogfSAvLyBuYW1lc3BhY2UgRGlzcGxheUxpc3QK
QEAgLTIzMDcsNyArMjMzMSw5IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29y
ZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlPiB7CiAgICAgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0
ZW1UeXBlOjpGaWxsUGF0aCwKICAgICBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkZp
bGxFbGxpcHNlLAogICAgIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6Rmx1c2hDb250
ZXh0LAotICAgIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6TWV0YUNvbW1hbmRTd2l0
Y2hUb0l0ZW1CdWZmZXIsCisgICAgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpNZXRh
Q29tbWFuZEVuZCwKKyAgICBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6Ok1ldGFDb21t
YW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlciwKKyAgICBXZWJDb3JlOjpEaXNwbGF5TGlz
dDo6SXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZlciwKICAgICBXZWJDb3JlOjpE
aXNwbGF5TGlzdDo6SXRlbVR5cGU6OlB1dEltYWdlRGF0YSwKICAgICBXZWJDb3JlOjpEaXNwbGF5
TGlzdDo6SXRlbVR5cGU6OlBhaW50RnJhbWVGb3JNZWRpYSwKICAgICBXZWJDb3JlOjpEaXNwbGF5
TGlzdDo6SXRlbVR5cGU6OlN0cm9rZVJlY3QsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZXBsYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RS
ZXBsYXllci5jcHAKaW5kZXggY2ExOTg0NWFhZjgwNGUxOTQ4OTlmMDljMmEwNjhiNDYzZWQ1NThm
Zi4uZGY0NGM5YzMwYWM2YzhjM2M2ZjkwMWYyYTgxMDczZGViNDVmOTUxNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0
UmVwbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdFJlcGxheWVyLmNwcApAQCAtMTA5LDYgKzEwOSwyMCBAQCBSZXBs
YXlSZXN1bHQgUmVwbGF5ZXI6OnJlcGxheShjb25zdCBGbG9hdFJlY3QmIGluaXRpYWxDbGlwLCBi
b29sIHRyYWNrUmVwbGF5TGlzdAogICAgICAgICB9CiAKICAgICAgICAgTE9HX1dJVEhfU1RSRUFN
KERpc3BsYXlMaXN0cywgc3RyZWFtIDw8ICJhcHBseWluZyAiIDw8IGkrKyA8PCAiICIgPDwgaXRl
bSk7CisKKyAgICAgICAgaWYgKGl0ZW0uaXM8TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbklt
YWdlQnVmZmVyPigpKSB7CisgICAgICAgICAgICByZXN1bHQubnVtYmVyT2ZCeXRlc1JlYWQgKz0g
aXRlbVNpemVJbkJ1ZmZlcjsKKyAgICAgICAgICAgIHJlc3VsdC5yZWFzb25Gb3JTdG9wcGluZyA9
IFN0b3BSZXBsYXlSZWFzb246OkNoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXI7CisgICAgICAg
ICAgICByZXN1bHQubmV4dERlc3RpbmF0aW9uSW1hZ2VCdWZmZXIgPSBpdGVtLmdldDxNZXRhQ29t
bWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXI+KCkuaWRlbnRpZmllcigpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBpZiAoaXRlbS5pczxNZXRhQ29tbWFu
ZEVuZD4oKSkgeworICAgICAgICAgICAgcmVzdWx0Lm51bWJlck9mQnl0ZXNSZWFkICs9IGl0ZW1T
aXplSW5CdWZmZXI7CisgICAgICAgICAgICByZXN1bHQucmVhc29uRm9yU3RvcHBpbmcgPSBTdG9w
UmVwbGF5UmVhc29uOjpFbmRPZkRpc3BsYXlMaXN0OworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKwogICAgICAgICBpZiAoYXV0byByZWFzb25Gb3JTdG9wcGluZyA9IGFwcGx5SXRlbShp
dGVtKSkgewogICAgICAgICAgICAgcmVzdWx0LnJlYXNvbkZvclN0b3BwaW5nID0gKnJlYXNvbkZv
clN0b3BwaW5nOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZXBsYXllci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0
UmVwbGF5ZXIuaAppbmRleCBlNjc4Yjg2MDYyY2VkYjYxMmFlOGJjZWQ3YzBiNzg4NDU2N2MzNzY2
Li5jNDQyNzFmMTBlZWQwYmYwMGFhMWYzZmJmNzAyYTQxYWRjYTNkOTIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RS
ZXBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXls
aXN0cy9EaXNwbGF5TGlzdFJlcGxheWVyLmgKQEAgLTQxLDEyICs0MSwxNSBAQCBuYW1lc3BhY2Ug
RGlzcGxheUxpc3QgewogZW51bSBjbGFzcyBTdG9wUmVwbGF5UmVhc29uIDogdWludDhfdCB7CiAg
ICAgUmVwbGF5ZWRBbGxJdGVtcywKICAgICBNaXNzaW5nQ2FjaGVkUmVzb3VyY2UsCisgICAgQ2hh
bmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlciwKKyAgICBFbmRPZkRpc3BsYXlMaXN0LAogICAgIERl
Y29kaW5nRmFpbHVyZSAvLyBGSVhNRTogUHJvcGFnYXRlIGRlY29kaW5nIGVycm9ycyB0byBkaXNw
bGF5IGxpc3QgcmVwbGF5IGNsaWVudHMgdGhyb3VnaCB0aGlzIGVudW0gYXMgd2VsbC4KIH07CiAK
IHN0cnVjdCBSZXBsYXlSZXN1bHQgewogICAgIHN0ZDo6dW5pcXVlX3B0cjxEaXNwbGF5TGlzdD4g
dHJhY2tlZERpc3BsYXlMaXN0OwogICAgIHNpemVfdCBudW1iZXJPZkJ5dGVzUmVhZCB7IDAgfTsK
KyAgICBPcHRpb25hbDxSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXI+IG5leHREZXN0aW5hdGlv
bkltYWdlQnVmZmVyOwogICAgIFN0b3BSZXBsYXlSZWFzb24gcmVhc29uRm9yU3RvcHBpbmcgeyBT
dG9wUmVwbGF5UmVhc29uOjpSZXBsYXllZEFsbEl0ZW1zIH07CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oCmluZGV4
IDVjNzU0NWJmZTY2OTI2MjBkMDEzZmRjODg2ZDc1ZWYzOWM4MWFmZGQuLjRkNWQwMjUzYmFhMzZl
NTQ1N2U0ODE2NDUzODI0MzdlMzE5YTg1NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oCkBAIC05Miw4ICs5Miw4IEBA
IHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogCi0gICAgICAg
IGlmIChpdGVtLmlzPFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpNZXRhQ29tbWFuZFN3aXRjaFRvSXRl
bUJ1ZmZlcj4oKSkgewotICAgICAgICAgICAgYXV0byBuZXh0QnVmZmVySWRlbnRpZmllciA9IGl0
ZW0uZ2V0PFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpNZXRhQ29tbWFuZFN3aXRjaFRvSXRlbUJ1ZmZl
cj4oKS5pZGVudGlmaWVyKCk7CisgICAgICAgIGlmIChpdGVtLmlzPFdlYkNvcmU6OkRpc3BsYXlM
aXN0OjpNZXRhQ29tbWFuZENoYW5nZUl0ZW1CdWZmZXI+KCkpIHsKKyAgICAgICAgICAgIGF1dG8g
bmV4dEJ1ZmZlcklkZW50aWZpZXIgPSBpdGVtLmdldDxXZWJDb3JlOjpEaXNwbGF5TGlzdDo6TWV0
YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyPigpLmlkZW50aWZpZXIoKTsKICAgICAgICAgICAgIG1f
cmVtb3RlUmVuZGVyaW5nQmFja2VuZC5zZXROZXh0SXRlbUJ1ZmZlclRvUmVhZChuZXh0QnVmZmVy
SWRlbnRpZmllcik7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmQuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRl
cmluZ0JhY2tlbmQuY3BwCmluZGV4IGY1OWMzODcyNGY4ZjYyZWU3ODAyYjkyMDIzN2Y2ODg0NzNk
N2ZiZjkuLjZkZGViMDI3OTI5ZTUwNGY4M2IwYTE4NmM3ZWVhYjhlNWI5ZDY4NzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZC5jcHAKQEAgLTMxNSw3ICszMTUsOSBAQCBPcHRpb25hbDxEaXNwbGF5TGlz
dDo6SXRlbUhhbmRsZT4gV0FSTl9VTlVTRURfUkVUVVJOIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6
OmRlYwogI2VuZGlmCiAgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkZpbGxSZWN0Ogog
ICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpGbHVzaENvbnRleHQ6Ci0gICAgY2FzZSBE
aXNwbGF5TGlzdDo6SXRlbVR5cGU6Ok1ldGFDb21tYW5kU3dpdGNoVG9JdGVtQnVmZmVyOgorICAg
IGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9u
SW1hZ2VCdWZmZXI6CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6Ok1ldGFDb21tYW5k
Q2hhbmdlSXRlbUJ1ZmZlcjoKKyAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6TWV0YUNv
bW1hbmRFbmQ6CiAgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlBhaW50RnJhbWVGb3JN
ZWRpYToKICAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6UmVzdG9yZToKICAgICBjYXNl
IERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6Um90YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHku
aAppbmRleCAzMWNkMDJkMWIwZjIxZWRlNTgyMmJmOTQ1YmFkNDZlZGVmMWViMzdhLi41MWJkNTcx
Mjk1OGFmMTJhMjMxNWQ0MWJhM2QyZDZiOWVkNTdmMmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVy
UHJveHkuaApAQCAtMzA1LDcgKzMwNSw5IEBAIHByb3RlY3RlZDoKICNlbmRpZgogICAgICAgICBj
YXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6RmlsbFJlY3Q6CiAgICAgICAgIGNh
c2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpGbHVzaENvbnRleHQ6Ci0gICAgICAg
IGNhc2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpNZXRhQ29tbWFuZFN3aXRjaFRv
SXRlbUJ1ZmZlcjoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6
Ok1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcjoKKyAgICAgICAgY2FzZSBX
ZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZl
cjoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6Ok1ldGFDb21t
YW5kRW5kOgogICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6UGFp
bnRGcmFtZUZvck1lZGlhOgogICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVt
VHlwZTo6UmVzdG9yZToKICAgICAgICAgY2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5
cGU6OlJvdGF0ZToKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCBhNjNiY2Q0YmM0NTRjZjRhNWIzZDk3ZjlhNTI3MTBmOWE2YTNkZGNjLi43YTI3Y2Ew
OWM1Y2Y1YmE0NmEwMWM5NDM3ZjRjYWI1ZmQzMjM5ZWM4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMTEtMjMg
IFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9k
dWNlIG5ldyBkaXNwbGF5IGxpc3QgbWV0YSBjb21tYW5kcyBpbiBwcmVwYXJhdGlvbiBmb3Igd2Vi
a2l0Lm9yZy9iLzIxOTA5MQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE5MjYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisg
ICAgICAgIFJlbmFtZSBgTWV0YUNvbW1hbmRTd2l0Y2hUb0l0ZW1CdWZmZXJgLgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0Rpc3BsYXlMaXN0VGVzdHMuY3BwOgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMjAtMTEtMjEgIEppZXdlbiBUYW4gIDxq
aWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIEltcGxlbWVudCBTUEkg
Zm9yIEF1dGhlbnRpY2F0aW9uU2VydmljZXMuRnJhbWV3b3JrCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRGlzcGxheUxpc3RUZXN0cy5jcHAgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRGlzcGxheUxpc3RUZXN0cy5jcHAKaW5kZXggZjM5
NjdlYWRkMzEzZWQ1YTczNGNhNDM5OTUxYzY4NDBlYzkyYzViMi4uZWJkODZlMzJlMDYyY2FkZjZh
OWIwMWFlZGNjNzdhZDhmNmUyNDU0MyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL0Rpc3BsYXlMaXN0VGVzdHMuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViQ29yZS9EaXNwbGF5TGlzdFRlc3RzLmNwcApAQCAtMTIxLDcgKzEyMSw3IEBA
IFRFU1QoRGlzcGxheUxpc3RUZXN0cywgQXBwZW5kSXRlbXMpCiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQogI2VuZGlmCi0gICAgICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kU3dp
dGNoVG9JdGVtQnVmZmVyOgorICAgICAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5n
ZUl0ZW1CdWZmZXI6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDogewogICAg
ICAgICAgICAgb2JzZXJ2ZWRVbmV4cGVjdGVkSXRlbSA9IHRydWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>