<?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>248396</bug_id>
          
          <creation_ts>2022-11-28 07:33:54 -0800</creation_ts>
          <short_desc>[MQ4] Disallow negative values</short_desc>
          <delta_ts>2022-11-28 23:51:01 -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>CSS</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>248391</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ntim</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youssefdevelops</cc>
    
    <cc>y_soliman</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1914968</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-11-28 07:33:54 -0800</bug_when>
    <thetext>Disallow negative values for now even though they are allowed by the spec (https://www.w3.org/TR/mediaqueries-4/#false-in-the-negative-range). The current WPTs don&apos;t yet follow this behavior and no other engine implements it. It is better enabled separately.

Also other parsing and evaluation fixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1914973</commentid>
    <comment_count>1</comment_count>
      <attachid>463761</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-11-28 07:43:58 -0800</bug_when>
    <thetext>Created attachment 463761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1914982</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-11-28 08:17:48 -0800</bug_when>
    <thetext>(Fwiw I think the main reason they&apos;re allowed is for calc())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1915015</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-11-28 10:14:07 -0800</bug_when>
    <thetext>(In reply to Tim Nguyen (:ntim) from comment #2)
&gt; (Fwiw I think the main reason they&apos;re allowed is for calc())

They are still allowed for calc() (matching others).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1915016</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-11-28 10:16:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/102723342&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1915018</commentid>
    <comment_count>5</comment_count>
      <attachid>463764</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-11-28 10:18:06 -0800</bug_when>
    <thetext>Created attachment 463764
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1915020</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-11-28 10:22:48 -0800</bug_when>
    <thetext>Not sure I feel about using { } instead of std::nullopt for std::optional return values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1915032</commentid>
    <comment_count>7</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-11-28 10:53:35 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Not sure I feel about using { } instead of std::nullopt for std::optional
&gt; return values.

It is a pretty common pattern in WebKit. I don&apos;t see the benefits of being more verbose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1915051</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-11-28 11:24:34 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #7)
&gt; It is a pretty common pattern in WebKit. I don&apos;t see the benefits of being
&gt; more verbose.

OK, agreed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1915232</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-11-28 23:50:58 -0800</bug_when>
    <thetext>Committed 257105@main (aacea0b8da7d): &lt;https://commits.webkit.org/257105@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 463764.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463761</attachid>
            <date>2022-11-28 07:43:58 -0800</date>
            <delta_ts>2022-11-28 10:18:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-248396-20221128174357.patch</filename>
            <type>text/plain</type>
            <size>34284</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSBiNGIzY2E3MDUwMjI1Y2FjNzk1Y2Q4OWYxZjk2MTczN2VkMjhjYmY4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBNb24sIDI4IE5vdiAyMDIyIDE3OjM0OjMwICswMjAwClN1YmplY3Q6IFtQQVRDSF0gW01RNF0g
RGlzYWxsb3cgbmVnYXRpdmUgdmFsdWVzCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjQ4Mzk2IEluY2x1ZGUgYSBSYWRhciBsaW5rIChPT1BTISkuCgpEaXNhbGxvdyBu
ZWdhdGl2ZSB2YWx1ZXMgZm9yIG5vdyBldmVuIHRob3VnaCB0aGV5IGFyZSBhbGxvd2VkIGJ5IHRo
ZSBzcGVjIChodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI2ZhbHNlLWluLXRo
ZS1uZWdhdGl2ZS1yYW5nZSkuClRoZSBjdXJyZW50IFdQVHMgZG9uJ3QgeWV0IGZvbGxvdyB0aGlz
IGJlaGF2aW9yIGFuZCBubyBvdGhlciBlbmdpbmUgaW1wbGVtZW50cyBpdC4gSXQgaXMgYmV0dGVy
IGVuYWJsZWQgc2VwYXJhdGVseS4KCkFsc28gb3RoZXIgcGFyc2luZyBhbmQgZXZhbHVhdGlvbiBm
aXhlcy4KCiogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFn
ZS1zaXplcy13M2MtMS1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElt
YWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtMi1leHBlY3RlZC50eHQ6CiogTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtMy1l
eHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXpl
cy9pbWFnZS1zaXplcy13M2MtNC1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbmVyLXF1ZXJpZXMv
YXQtY29udGFpbmVyLXN0eWxlLXNlcmlhbGl6YXRpb24tZXhwZWN0ZWQudHh0OgoqIExheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNp
emVzLXczYy0xLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9k
b20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtMi1leHBlY3RlZC50eHQ6
CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6
ZXMvaW1hZ2Utc2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0OgoqIExheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy00LWV4
cGVjdGVkLnR4dDoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuaDoK
KFdlYkNvcmU6OkNvbnRhaW5lclF1ZXJ5UGFyc2VyOjpyZWplY3RJbnZhbGlkRmVhdHVyZXMpOiBE
ZWxldGVkLgoKVGhpcyBpcyBub3QgbmVlZGVkLCB3ZSBjYW4gYWx3YXlzIHR1cm4gaW52YWxpZCBm
ZWF0dXJlcyBpbnRvICdnZW5lcmFsIGVuY2xvc2VkJyBwcm9kdWN0aW9uLgoKKiBTb3VyY2UvV2Vi
Q29yZS9jc3MvcXVlcnkvQ29udGFpbmVyUXVlcnlGZWF0dXJlcy5jcHA6CihXZWJDb3JlOjpDUTo6
RmVhdHVyZXM6OmFzcGVjdFJhdGlvKToKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJp
Y01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwOgooV2ViQ29yZTo6TVE6OmV2YWx1YXRlUmF0aW9Db21w
YXJpc29uKToKKFdlYkNvcmU6Ok1ROjpldmFsdWF0ZVJhdGlvRmVhdHVyZSk6CgpFdmFsdWF0ZSBy
YXRpb3MgYnkgbXVsdGlwbGljYXRpb24gd2l0aCBudW1lcmF0b3IgYW5kIGRlbm9taW5hdG9yIHRv
IGF2b2lkIGFjY3VyYWN5IGlzc3Vlcy4KCiogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVy
aWNNZWRpYVF1ZXJ5RXZhbHVhdG9yLmg6CiogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVy
aWNNZWRpYVF1ZXJ5UGFyc2VyLmNwcDoKKFdlYkNvcmU6Ok1ROjpjb25zdW1lUmF0aW9XaXRoU2xh
c2gpOgooV2ViQ29yZTo6TVE6OkdlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyQmFzZTo6Y29uc3VtZVZh
bHVlKToKClRyeSBwYXJzZSBhcyByYXRpby13aXRoLXNsYXNoIGZpcnN0LgoKKFdlYkNvcmU6Ok1R
OjpHZW5lcmljTWVkaWFRdWVyeVBhcnNlckJhc2U6OnZhbGlkYXRlRmVhdHVyZUFnYWluc3RTY2hl
bWEpOgoKRGlzYWxsb3cgbmVnYXRpdmUgdmFsdWVzLgoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVl
cnkvR2VuZXJpY01lZGlhUXVlcnlQYXJzZXIuaDoKKFdlYkNvcmU6Ok1ROjpHZW5lcmljTWVkaWFR
dWVyeVBhcnNlcjxDb25jcmV0ZVBhcnNlcj46OmNvbnN1bWVRdWVyeUluUGFyZW5zKToKKFdlYkNv
cmU6Ok1ROjpHZW5lcmljTWVkaWFRdWVyeVBhcnNlcjxDb25jcmV0ZVBhcnNlcj46OmNvbnN1bWVG
ZWF0dXJlKToKKFdlYkNvcmU6Ok1ROjpHZW5lcmljTWVkaWFRdWVyeVBhcnNlcjxDb25jcmV0ZVBh
cnNlcj46OnZhbGlkYXRlRmVhdHVyZSk6CiogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlh
UXVlcnlFdmFsdWF0b3IuY3BwOgooV2ViQ29yZTo6TVE6Ok1lZGlhUXVlcnlFdmFsdWF0b3I6Ok1l
ZGlhUXVlcnlFdmFsdWF0b3IpOgooV2ViQ29yZTo6TVE6Ok1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2
YWx1YXRlIGNvbnN0KToKClN1cHBvcnQgc3RhdGljIGV2YWx1YXRpb24gd2hlcmUgZmVhdHVyZSBl
dmFsdWF0aW9uIGlzIGFsd2F5cyB0cnVlIG9yIGZhbHNlLgoKKFdlYkNvcmU6Ok1ROjpNZWRpYVF1
ZXJ5RXZhbHVhdG9yOjppc1ByaW50TWVkaWEgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9x
dWVyeS9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmg6CiogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01l
ZGlhUXVlcnlGZWF0dXJlcy5jcHA6CihXZWJDb3JlOjpNUTo6RmVhdHVyZXM6OmFzcGVjdFJhdGlv
KToKKFdlYkNvcmU6Ok1ROjpGZWF0dXJlczo6ZGV2aWNlQXNwZWN0UmF0aW8pOgooV2ViQ29yZTo6
TVE6OkZlYXR1cmVzOjpoZWlnaHQpOgoKQWRqdXN0IGZvciB6b29tLgoKKFdlYkNvcmU6Ok1ROjpG
ZWF0dXJlczo6c2Nhbik6CgpOZXZlciBtYXRoY2VzLgoKKFdlYkNvcmU6Ok1ROjpGZWF0dXJlczo6
dHJhbnNmb3JtM2QpOgoKVHlwbyBmaXguCgooV2ViQ29yZTo6TVE6OkZlYXR1cmVzOjp3aWR0aCk6
CgpBZGp1c3QgZm9yIHpvb20uCgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5
UGFyc2VyLmNwcDoKKFdlYkNvcmU6Ok1ROjpNZWRpYVF1ZXJ5UGFyc2VyOjpwYXJzZSk6CihXZWJD
b3JlOjpNUTo6TWVkaWFRdWVyeVBhcnNlcjo6Y29uc3VtZU1lZGlhUXVlcnkpOgooV2ViQ29yZTo6
TVE6Ok1lZGlhUXVlcnlQYXJzZXI6OnNjaGVtYUZvckZlYXR1cmVOYW1lIGNvbnN0KToKCkRpc2Fs
bG93IHByZWZlcnMtZGFyay1pbnRlcmZhY2UgcGFyc2luZyB3aGVuIHVzZVN5c3RlbUFwcGVhcmFu
YyBpcyBmYWxzZSAodG8ga2VlcCB3aXRoIGV4aXN0aW5nIGJlaGF2aW9yKS4KCihXZWJDb3JlOjpN
UTo6c2VyaWFsaXplKToKCkRvbid0IHdyaXRlIG91ciAnYWxsJyB3aGVuIG5vdCBuZWVkZWQuCgoq
IFNvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmg6CihXZWJDb3JlOjpN
UTo6TWVkaWFRdWVyeVBhcnNlcjo6cmVqZWN0SW52YWxpZEZlYXR1cmVzKTogRGVsZXRlZC4KLS0t
CiBTb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuaCAgICAgfCAgMSAtCiAu
Li4vY3NzL3F1ZXJ5L0NvbnRhaW5lclF1ZXJ5RmVhdHVyZXMuY3BwICAgICAgfCAgMyArLQogLi4u
L2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAgIHwgMjEgKysrKy0tCiAu
Li4vY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5RXZhbHVhdG9yLmggICAgfCAgMiArLQogLi4u
L2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVBhcnNlci5jcHAgICAgIHwgNzMgKysrKysrKysr
KysrKy0tLS0tLQogLi4uL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVBhcnNlci5oICAgICAg
IHwgIDcgKy0KIC4uLi9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCB8
IDI0ICsrKystLQogLi4uL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlFdmFsdWF0b3IuaCAg
IHwgMTAgKystCiAuLi4vV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVzLmNwcCAg
fCAyMCArKystLQogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3Bw
IHwgMjYgKysrKysrLQogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIu
aCAgIHwgIDMgKy0KIC4uLi9zaXplcy9pbWFnZS1zaXplcy13M2MtMS1leHBlY3RlZC50eHQgICAg
ICB8ICAyICstCiAuLi4vc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTItZXhwZWN0ZWQudHh0ICAgICAg
fCAgMiArLQogLi4uL3NpemVzL2ltYWdlLXNpemVzLXczYy0zLWV4cGVjdGVkLnR4dCAgICAgIHwg
IDIgKy0KIC4uLi9zaXplcy9pbWFnZS1zaXplcy13M2MtNC1leHBlY3RlZC50eHQgICAgICB8ICAy
ICstCiAuLi5jb250YWluZXItc3R5bGUtc2VyaWFsaXphdGlvbi1leHBlY3RlZC50eHQgfCAgMiAr
LQogLi4uL3NpemVzL2ltYWdlLXNpemVzLXczYy0xLWV4cGVjdGVkLnR4dCAgICAgIHwgIDIgKy0K
IC4uLi9zaXplcy9pbWFnZS1zaXplcy13M2MtMi1leHBlY3RlZC50eHQgICAgICB8ICAyICstCiAu
Li4vc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0ICAgICAgfCAgMiArLQogLi4u
L3NpemVzL2ltYWdlLXNpemVzLXczYy00LWV4cGVjdGVkLnR4dCAgICAgIHwgIDIgKy0KIDIwIGZp
bGVzIGNoYW5nZWQsIDE0MSBpbnNlcnRpb25zKCspLCA2NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeVBhcnNlci5oCmluZGV4IGE4NjcwY2JlODE2Mi4uMTJm
NDk3YTJkMTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnlQ
YXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuaApA
QCAtMzgsNyArMzgsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8Q1E6OkNv
bnRhaW5lclF1ZXJ5PiBjb25zdW1lQ29udGFpbmVyUXVlcnkoQ1NTUGFyc2VyVG9rZW5SYW5nZSYs
IGNvbnN0IE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0Jik7CiAKICAgICBzdGF0aWMgVmVjdG9yPGNv
bnN0IE1ROjpGZWF0dXJlU2NoZW1hKj4gZmVhdHVyZVNjaGVtYXMoKTsKLSAgICBzdGF0aWMgYm9v
bCByZWplY3RJbnZhbGlkRmVhdHVyZXMoKSB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgc3RkOjpv
cHRpb25hbDxDUTo6Q29udGFpbmVyUXVlcnk+IGNvbnN1bWVDb250YWluZXJRdWVyeShDU1NQYXJz
ZXJUb2tlblJhbmdlJik7CiAgICAgc3RkOjpvcHRpb25hbDxNUTo6RmVhdHVyZT4gY29uc3VtZUZl
YXR1cmUoQ1NTUGFyc2VyVG9rZW5SYW5nZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3F1ZXJ5L0NvbnRhaW5lclF1ZXJ5RmVhdHVyZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3F1ZXJ5L0NvbnRhaW5lclF1ZXJ5RmVhdHVyZXMuY3BwCmluZGV4IGIzM2Y5Mzg5YjdhMS4uYjM2
MDZkODNhNzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvQ29udGFpbmVy
UXVlcnlGZWF0dXJlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0NvbnRhaW5l
clF1ZXJ5RmVhdHVyZXMuY3BwCkBAIC0xNDksOCArMTQ5LDcgQEAgY29uc3QgRmVhdHVyZVNjaGVt
YSYgYXNwZWN0UmF0aW8oKQogCiAgICAgICAgIEV2YWx1YXRpb25SZXN1bHQgZXZhbHVhdGUoY29u
c3QgTVE6OkZlYXR1cmUmIGZlYXR1cmUsIGNvbnN0IFJlbmRlckJveCYgcmVuZGVyZXIsIGNvbnN0
IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmKSBjb25zdCBvdmVycmlkZQogICAgICAgICB7Ci0g
ICAgICAgICAgICBhdXRvIGJveFJhdGlvID0gcmVuZGVyZXIuY29udGVudFdpZHRoKCkudG9Eb3Vi
bGUoKSAvIHJlbmRlcmVyLmNvbnRlbnRIZWlnaHQoKS50b0RvdWJsZSgpOwotICAgICAgICAgICAg
cmV0dXJuIGV2YWx1YXRlUmF0aW9GZWF0dXJlKGZlYXR1cmUsIGJveFJhdGlvKTsKKyAgICAgICAg
ICAgIHJldHVybiBldmFsdWF0ZVJhdGlvRmVhdHVyZShmZWF0dXJlLCByZW5kZXJlci5jb250ZW50
U2l6ZSgpKTsKICAgICAgICAgfQogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCmluZGV4IDkxZmEwZGQ2
MGJlOS4uNTdlNDJlMDFiMThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
R2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9x
dWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKQEAgLTEzNCw3ICsxMzQsNyBAQCBF
dmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlTGVuZ3RoRmVhdHVyZShjb25zdCBGZWF0dXJlJiBmZWF0
dXJlLCBMYXlvdXRVbml0IGxlbmd0aAogICAgIHJldHVybiBsZWZ0UmVzdWx0ICYgcmlnaHRSZXN1
bHQ7CiB9OwogCi1zdGF0aWMgRXZhbHVhdGlvblJlc3VsdCBldmFsdWF0ZVJhdGlvQ29tcGFyaXNv
bihkb3VibGUgcmF0aW8sIGNvbnN0IHN0ZDo6b3B0aW9uYWw8Q29tcGFyaXNvbj4mIGNvbXBhcmlz
b24sIFNpZGUgc2lkZSkKK3N0YXRpYyBFdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlUmF0aW9Db21w
YXJpc29uKEZsb2F0U2l6ZSBzaXplLCBjb25zdCBzdGQ6Om9wdGlvbmFsPENvbXBhcmlzb24+JiBj
b21wYXJpc29uLCBTaWRlIHNpZGUpCiB7CiAgICAgaWYgKCFjb21wYXJpc29uKQogICAgICAgICBy
ZXR1cm4gRXZhbHVhdGlvblJlc3VsdDo6VHJ1ZTsKQEAgLTE0MywyMSArMTQzLDI2IEBAIHN0YXRp
YyBFdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlUmF0aW9Db21wYXJpc29uKGRvdWJsZSByYXRpbywg
Y29uc3Qgc3RkOjpvcHRpb25hCiAgICAgICAgIHJldHVybiBFdmFsdWF0aW9uUmVzdWx0OjpVbmtu
b3duOwogCiAgICAgYXV0byYgcmF0aW9WYWx1ZSA9IGRvd25jYXN0PENTU0FzcGVjdFJhdGlvVmFs
dWU+KCpjb21wYXJpc29uLT52YWx1ZSk7Ci0gICAgYXV0byBleHByZXNzaW9uUmF0aW8gPSByYXRp
b1ZhbHVlLm51bWVyYXRvclZhbHVlKCkgLyByYXRpb1ZhbHVlLmRlbm9taW5hdG9yVmFsdWUoKTsK
IAotICAgIGF1dG8gbGVmdCA9IHNpZGUgPT0gU2lkZTo6TGVmdCA/IGV4cHJlc3Npb25SYXRpbyA6
IHJhdGlvOwotICAgIGF1dG8gcmlnaHQgPSBzaWRlID09IFNpZGU6OkxlZnQgPyByYXRpbyA6IGV4
cHJlc3Npb25SYXRpbzsKKyAgICAvLyBSYXRpbyB3aXRoIHplcm8gZGVub21pbmF0b3IgaXMgaW5m
aW5pdGUgYW5kIGNvbXBhcmVzIGdyZWF0ZXIgdG8gYW55IHZhbHVlLgorICAgIGF1dG8gZGVub21p
bmF0b3IgPSByYXRpb1ZhbHVlLmRlbm9taW5hdG9yVmFsdWUoKTsKKworICAgIGF1dG8gY29tcGFy
aXNvbkEgPSBkZW5vbWluYXRvciA/IHNpemUuaGVpZ2h0KCkgKiByYXRpb1ZhbHVlLm51bWVyYXRv
clZhbHVlKCkgOiAxLmY7CisgICAgYXV0byBjb21wYXJpc29uQiA9IGRlbm9taW5hdG9yID8gc2l6
ZS53aWR0aCgpICogZGVub21pbmF0b3IgOiAwLmY7CisKKyAgICBhdXRvIGxlZnQgPSBzaWRlID09
IFNpZGU6OkxlZnQgPyBjb21wYXJpc29uQSA6IGNvbXBhcmlzb25COworICAgIGF1dG8gcmlnaHQg
PSBzaWRlID09IFNpZGU6OkxlZnQgPyBjb21wYXJpc29uQiA6IGNvbXBhcmlzb25BOwogCiAgICAg
cmV0dXJuIHRvRXZhbHVhdGlvblJlc3VsdChjb21wYXJlKGNvbXBhcmlzb24tPm9wLCBsZWZ0LCBy
aWdodCkpOwogfTsKIAotRXZhbHVhdGlvblJlc3VsdCBldmFsdWF0ZVJhdGlvRmVhdHVyZShjb25z
dCBGZWF0dXJlJiBmZWF0dXJlLCBkb3VibGUgcmF0aW8pCitFdmFsdWF0aW9uUmVzdWx0IGV2YWx1
YXRlUmF0aW9GZWF0dXJlKGNvbnN0IEZlYXR1cmUmIGZlYXR1cmUsIEZsb2F0U2l6ZSBzaXplKQog
ewogICAgIGlmICghZmVhdHVyZS5sZWZ0Q29tcGFyaXNvbiAmJiAhZmVhdHVyZS5yaWdodENvbXBh
cmlzb24pCi0gICAgICAgIHJldHVybiB0b0V2YWx1YXRpb25SZXN1bHQoISFyYXRpbyk7CisgICAg
ICAgIHJldHVybiB0b0V2YWx1YXRpb25SZXN1bHQoc2l6ZS53aWR0aCgpKTsKIAotICAgIGF1dG8g
bGVmdFJlc3VsdCA9IGV2YWx1YXRlUmF0aW9Db21wYXJpc29uKHJhdGlvLCBmZWF0dXJlLmxlZnRD
b21wYXJpc29uLCBTaWRlOjpMZWZ0KTsKLSAgICBhdXRvIHJpZ2h0UmVzdWx0ID0gZXZhbHVhdGVS
YXRpb0NvbXBhcmlzb24ocmF0aW8sIGZlYXR1cmUucmlnaHRDb21wYXJpc29uLCBTaWRlOjpSaWdo
dCk7CisgICAgYXV0byBsZWZ0UmVzdWx0ID0gZXZhbHVhdGVSYXRpb0NvbXBhcmlzb24oc2l6ZSwg
ZmVhdHVyZS5sZWZ0Q29tcGFyaXNvbiwgU2lkZTo6TGVmdCk7CisgICAgYXV0byByaWdodFJlc3Vs
dCA9IGV2YWx1YXRlUmF0aW9Db21wYXJpc29uKHNpemUsIGZlYXR1cmUucmlnaHRDb21wYXJpc29u
LCBTaWRlOjpSaWdodCk7CiAKICAgICByZXR1cm4gbGVmdFJlc3VsdCAmIHJpZ2h0UmVzdWx0Owog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5
RXZhbHVhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlF
dmFsdWF0b3IuaAppbmRleCBlYjM3YjdmMWUwNzYuLmMxYWQyMGYyMDIyNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgK
QEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgUmVuZGVyRWxlbWVudDsKIG5hbWVzcGFjZSBNUSB7CiAK
IEV2YWx1YXRpb25SZXN1bHQgZXZhbHVhdGVMZW5ndGhGZWF0dXJlKGNvbnN0IEZlYXR1cmUmLCBM
YXlvdXRVbml0LCBjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJik7Ci1FdmFsdWF0aW9u
UmVzdWx0IGV2YWx1YXRlUmF0aW9GZWF0dXJlKGNvbnN0IEZlYXR1cmUmLCBkb3VibGUpOworRXZh
bHVhdGlvblJlc3VsdCBldmFsdWF0ZVJhdGlvRmVhdHVyZShjb25zdCBGZWF0dXJlJiwgRmxvYXRT
aXplKTsKIEV2YWx1YXRpb25SZXN1bHQgZXZhbHVhdGVCb29sZWFuRmVhdHVyZShjb25zdCBGZWF0
dXJlJiwgYm9vbCk7CiBFdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlSW50ZWdlckZlYXR1cmUoY29u
c3QgRmVhdHVyZSYsIGludCk7CiBFdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlTnVtYmVyRmVhdHVy
ZShjb25zdCBGZWF0dXJlJiwgZG91YmxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cXVlcnkvR2VuZXJpY01lZGlhUXVlcnlQYXJzZXIuY3BwCmluZGV4IDVhZTIxNjdhNzVhNS4uZTYy
ODIwN2IyZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01l
ZGlhUXVlcnlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmlj
TWVkaWFRdWVyeVBhcnNlci5jcHAKQEAgLTE5MCw3MCArMTkwLDk1IEBAIHN0ZDo6b3B0aW9uYWw8
RmVhdHVyZT4gR2VuZXJpY01lZGlhUXVlcnlQYXJzZXJCYXNlOjpjb25zdW1lUmFuZ2VGZWF0dXJl
KENTU1BhcnNlCiAgICAgcmV0dXJuIEZlYXR1cmUgeyBXVEZNb3ZlKGZlYXR1cmVOYW1lKSwgU3lu
dGF4OjpSYW5nZSwgV1RGTW92ZShsZWZ0Q29tcGFyaXNvbiksIFdURk1vdmUocmlnaHRDb21wYXJp
c29uKSB9OwogfQogCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lUmF0aW9XaXRoU2xh
c2goQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAgYXV0byBsZWZ0VmFsdWUgPSBD
U1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVOdW1iZXIocmFuZ2UsIFZhbHVlUmFuZ2U6
Ok5vbk5lZ2F0aXZlKTsKKyAgICBpZiAoIWxlZnRWYWx1ZSkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICBpZiAoIUNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZVNsYXNoSW5j
bHVkaW5nV2hpdGVzcGFjZShyYW5nZSkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAg
YXV0byByaWdodFZhbHVlID0gQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lTnVtYmVy
KHJhbmdlLCBWYWx1ZVJhbmdlOjpOb25OZWdhdGl2ZSk7CisgICAgaWYgKCFyaWdodFZhbHVlKQor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiBDU1NBc3BlY3RSYXRpb1ZhbHVl
OjpjcmVhdGUobGVmdFZhbHVlLT5mbG9hdFZhbHVlKCksIHJpZ2h0VmFsdWUtPmZsb2F0VmFsdWUo
KSk7Cit9CisKIFJlZlB0cjxDU1NWYWx1ZT4gR2VuZXJpY01lZGlhUXVlcnlQYXJzZXJCYXNlOjpj
b25zdW1lVmFsdWUoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiB7CiAgICAgaWYgKHJhbmdl
LmF0RW5kKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOworCiAgICAgaWYgKGF1dG8gdmFsdWUg
PSBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVJZGVudChyYW5nZSkpCiAgICAgICAg
IHJldHVybiB2YWx1ZTsKKwogICAgIGF1dG8gcmFuZ2VDb3B5ID0gcmFuZ2U7Ci0gICAgaWYgKGF1
dG8gdmFsdWUgPSBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVJbnRlZ2VyKHJhbmdl
KSkgewotICAgICAgICBpZiAocmFuZ2UuYXRFbmQoKSkKLSAgICAgICAgICAgIHJldHVybiB2YWx1
ZTsKLSAgICAgICAgcmFuZ2UgPSByYW5nZUNvcHk7Ci0gICAgfQotICAgIGlmIChhdXRvIHZhbHVl
ID0gQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lTGVuZ3RoKHJhbmdlLCBIVE1MU3Rh
bmRhcmRNb2RlLCBWYWx1ZVJhbmdlOjpBbGwpKQotICAgICAgICByZXR1cm4gdmFsdWU7Ci0gICAg
aWYgKGF1dG8gdmFsdWUgPSBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVBc3BlY3RS
YXRpb1ZhbHVlKHJhbmdlKSkKKyAgICBpZiAoYXV0byB2YWx1ZSA9IGNvbnN1bWVSYXRpb1dpdGhT
bGFzaChyYW5nZSkpCiAgICAgICAgIHJldHVybiB2YWx1ZTsKLSAgICBpZiAoYXV0byB2YWx1ZSA9
IENTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZVJlc29sdXRpb24ocmFuZ2UpKQorICAg
IHJhbmdlID0gcmFuZ2VDb3B5OworCisgICAgaWYgKGF1dG8gdmFsdWUgPSBDU1NQcm9wZXJ0eVBh
cnNlckhlbHBlcnM6OmNvbnN1bWVJbnRlZ2VyKHJhbmdlKSkKICAgICAgICAgcmV0dXJuIHZhbHVl
OwogICAgIGlmIChhdXRvIHZhbHVlID0gQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1l
TnVtYmVyKHJhbmdlLCBWYWx1ZVJhbmdlOjpBbGwpKQogICAgICAgICByZXR1cm4gdmFsdWU7Cisg
ICAgaWYgKGF1dG8gdmFsdWUgPSBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVMZW5n
dGgocmFuZ2UsIEhUTUxTdGFuZGFyZE1vZGUsIFZhbHVlUmFuZ2U6OkFsbCkpCisgICAgICAgIHJl
dHVybiB2YWx1ZTsKKyAgICBpZiAoYXV0byB2YWx1ZSA9IENTU1Byb3BlcnR5UGFyc2VySGVscGVy
czo6Y29uc3VtZVJlc29sdXRpb24ocmFuZ2UpKQorICAgICAgICByZXR1cm4gdmFsdWU7CiAKICAg
ICByZXR1cm4gbnVsbHB0cjsKIH0KIAogYm9vbCBHZW5lcmljTWVkaWFRdWVyeVBhcnNlckJhc2U6
OnZhbGlkYXRlRmVhdHVyZUFnYWluc3RTY2hlbWEoRmVhdHVyZSYgZmVhdHVyZSwgY29uc3QgRmVh
dHVyZVNjaGVtYSYgc2NoZW1hKQogeworICAgIGF1dG8gaXNOZWdhdGl2ZSA9IFsmXShhdXRvJiB2
YWx1ZSkgeworICAgICAgICAvLyBDYWxjIGlzIHN1cHBvc2VkIHRvIGNsYW1wIGJ1dCBsZXQncyBq
dXN0IGxldCB0aGUgdmFsdWUgdGhyb3VnaCBhcyB3ZSBkZWFsIHdpdGggbmVnYXRpdmUgdmFsdWVz
IGp1c3QgZmluZS4KKyAgICAgICAgaWYgKHZhbHVlLmlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICAvLyBGSVhNRTogVGhlIHNwZWMgYWxsb3dzIG5lZ2F0
aXZlIHZhbHVlcyBmb3Igc29tZSBmZWF0dXJlcyBidXQgd2UgdXNlIHRoZSBsZWdhY3kgYmVoYXZp
b3IgZm9yIG5vdy4KKyAgICAgICAgcmV0dXJuIHZhbHVlLmRvdWJsZVZhbHVlKCkgPCAwOworICAg
IH07CisKICAgICBhdXRvIHZhbGlkYXRlVmFsdWUgPSBbJl0oYXV0byYgdmFsdWUpIHsKICAgICAg
ICAgYXV0byogcHJpbWl0aXZlVmFsdWUgPSBkeW5hbWljRG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFs
dWU+KHZhbHVlLmdldCgpKTsKICAgICAgICAgc3dpdGNoIChzY2hlbWEudmFsdWVUeXBlKSB7CiAg
ICAgICAgIGNhc2UgRmVhdHVyZVNjaGVtYTo6VmFsdWVUeXBlOjpJbnRlZ2VyOgotICAgICAgICAg
ICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlICYmIHByaW1pdGl2ZVZhbHVlLT5pc0ludGVnZXIoKTsK
KyAgICAgICAgICAgIGlmICghcHJpbWl0aXZlVmFsdWUgfHwgIXByaW1pdGl2ZVZhbHVlLT5pc0lu
dGVnZXIoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1
cm4gIWlzTmVnYXRpdmUoKnByaW1pdGl2ZVZhbHVlKTsKIAogICAgICAgICBjYXNlIEZlYXR1cmVT
Y2hlbWE6OlZhbHVlVHlwZTo6TnVtYmVyOgotICAgICAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZh
bHVlICYmIHByaW1pdGl2ZVZhbHVlLT5pc051bWJlck9ySW50ZWdlcigpOworICAgICAgICAgICAg
aWYgKCFwcmltaXRpdmVWYWx1ZSB8fCAhcHJpbWl0aXZlVmFsdWUtPmlzTnVtYmVyT3JJbnRlZ2Vy
KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgcmV0dXJuICFp
c05lZ2F0aXZlKCpwcmltaXRpdmVWYWx1ZSk7CiAKICAgICAgICAgY2FzZSBGZWF0dXJlU2NoZW1h
OjpWYWx1ZVR5cGU6Okxlbmd0aDoKICAgICAgICAgICAgIGlmICghcHJpbWl0aXZlVmFsdWUpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgaWYgKHByaW1pdGl2ZVZh
bHVlLT5pc0ludGVnZXIoKSAmJiAhcHJpbWl0aXZlVmFsdWUtPmludFZhbHVlKCkpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWUt
PmlzTGVuZ3RoKCk7CisgICAgICAgICAgICBpZiAoIXByaW1pdGl2ZVZhbHVlLT5pc0xlbmd0aCgp
KQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybiAhaXNO
ZWdhdGl2ZSgqcHJpbWl0aXZlVmFsdWUpOwogCiAgICAgICAgIGNhc2UgRmVhdHVyZVNjaGVtYTo6
VmFsdWVUeXBlOjpSZXNvbHV0aW9uOgotICAgICAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVl
ICYmIHByaW1pdGl2ZVZhbHVlLT5pc1Jlc29sdXRpb24oKTsKKyAgICAgICAgICAgIGlmICghcHJp
bWl0aXZlVmFsdWUgfHwgIXByaW1pdGl2ZVZhbHVlLT5pc1Jlc29sdXRpb24oKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWUt
PmRvdWJsZVZhbHVlKCkgPiAwOwogCiAgICAgICAgIGNhc2UgRmVhdHVyZVNjaGVtYTo6VmFsdWVU
eXBlOjpJZGVudGlmaWVyOgogICAgICAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlICYmIHBy
aW1pdGl2ZVZhbHVlLT5pc1ZhbHVlSUQoKSAmJiBzY2hlbWEudmFsdWVJZGVudGlmaWVycy5jb250
YWlucyhwcmltaXRpdmVWYWx1ZS0+dmFsdWVJRCgpKTsKIAogICAgICAgICBjYXNlIEZlYXR1cmVT
Y2hlbWE6OlZhbHVlVHlwZTo6UmF0aW86CiAgICAgICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUg
JiYgcHJpbWl0aXZlVmFsdWUtPmlzTnVtYmVyT3JJbnRlZ2VyKCkpIHsKKyAgICAgICAgICAgICAg
ICBpZiAocHJpbWl0aXZlVmFsdWUtPmZsb2F0VmFsdWUoKSA8IDApCisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IENTU0FzcGVjdFJhdGlv
VmFsdWU6OmNyZWF0ZShwcmltaXRpdmVWYWx1ZS0+ZmxvYXRWYWx1ZSgpLCAxKTsKICAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChhdXRv
KiBsaXN0ID0gZHluYW1pY0Rvd25jYXN0PENTU1ZhbHVlTGlzdD4odmFsdWUuZ2V0KCkpKSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKGxpc3QtPmxlbmd0aCgpICE9IDIgfHwgbGlzdC0+c2VwYXJhdG9y
KCkgIT0gQ1NTVmFsdWU6OlNsYXNoU2VwYXJhdG9yKQotICAgICAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgYXV0byBmaXJzdCA9IGR5bmFtaWNEb3duY2FzdDxD
U1NQcmltaXRpdmVWYWx1ZT4obGlzdC0+aXRlbSgwKSk7Ci0gICAgICAgICAgICAgICAgYXV0byBz
ZWNvbmQgPSBkeW5hbWljRG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KGxpc3QtPml0ZW0oMSkp
OwotICAgICAgICAgICAgICAgIGlmIChmaXJzdCAmJiBzZWNvbmQgJiYgZmlyc3QtPmlzTnVtYmVy
T3JJbnRlZ2VyKCkgJiYgc2Vjb25kLT5pc051bWJlck9ySW50ZWdlcigpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHZhbHVlID0gQ1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3JlYXRlKGZpcnN0LT5mbG9h
dFZhbHVlKCksIHNlY29uZC0+ZmxvYXRWYWx1ZSgpKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICAgICAgcmV0dXJuIGlzPENTU0FzcGVjdFJhdGlvVmFsdWU+
KHZhbHVlLmdldCgpKTsKICAgICAgICAgfQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1
ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
R2VuZXJpY01lZGlhUXVlcnlQYXJzZXIuaAppbmRleCA1ZDliYjExNDU2ZjIuLjRiMGQzYzk0YzJi
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5
UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5
UGFyc2VyLmgKQEAgLTE0NCw3ICsxNDQsOCBAQCBzdGQ6Om9wdGlvbmFsPFF1ZXJ5SW5QYXJlbnM+
IEdlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyPENvbmNyZXRlUGFyc2VyPjo6Y29uc3VtZVF1ZQogICAg
ICAgICBpZiAoYXV0byBjb25kaXRpb24gPSBjb25zdW1lQ29uZGl0aW9uKGNvbmRpdGlvblJhbmdl
KSkKICAgICAgICAgICAgIHJldHVybiB7IGNvbmRpdGlvbiB9OwogCi0gICAgICAgIGlmIChhdXRv
IGZlYXR1cmUgPSBjb25jcmV0ZVBhcnNlcigpLmNvbnN1bWVGZWF0dXJlKGJsb2NrUmFuZ2UpKQor
ICAgICAgICBhdXRvIGZlYXR1cmVSYW5nZSA9IGJsb2NrUmFuZ2U7CisgICAgICAgIGlmIChhdXRv
IGZlYXR1cmUgPSBjb25jcmV0ZVBhcnNlcigpLmNvbnN1bWVGZWF0dXJlKGZlYXR1cmVSYW5nZSkp
CiAgICAgICAgICAgICByZXR1cm4geyAqZmVhdHVyZSB9OwogCiAgICAgICAgIHJldHVybiBHZW5l
cmFsRW5jbG9zZWQgeyB7IH0sIGJsb2NrUmFuZ2Uuc2VyaWFsaXplKCkgfTsKQEAgLTE2MCw3ICsx
NjEsNyBAQCBzdGQ6Om9wdGlvbmFsPEZlYXR1cmU+IEdlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyPENv
bmNyZXRlUGFyc2VyPjo6Y29uc3VtZUZlYXR1cmUoQwogICAgIGlmICghZmVhdHVyZSkKICAgICAg
ICAgcmV0dXJuIHsgfTsKIAotICAgIGlmICghdmFsaWRhdGVGZWF0dXJlKCpmZWF0dXJlKSAmJiBD
b25jcmV0ZVBhcnNlcjo6cmVqZWN0SW52YWxpZEZlYXR1cmVzKCkpCisgICAgaWYgKCF2YWxpZGF0
ZUZlYXR1cmUoKmZlYXR1cmUpKQogICAgICAgICByZXR1cm4geyB9OwogCiAgICAgcmV0dXJuIGZl
YXR1cmU7CkBAIC0xNjksNyArMTcwLDcgQEAgc3RkOjpvcHRpb25hbDxGZWF0dXJlPiBHZW5lcmlj
TWVkaWFRdWVyeVBhcnNlcjxDb25jcmV0ZVBhcnNlcj46OmNvbnN1bWVGZWF0dXJlKEMKIHRlbXBs
YXRlPHR5cGVuYW1lIENvbmNyZXRlUGFyc2VyPgogYm9vbCBHZW5lcmljTWVkaWFRdWVyeVBhcnNl
cjxDb25jcmV0ZVBhcnNlcj46OnZhbGlkYXRlRmVhdHVyZShGZWF0dXJlJiBmZWF0dXJlKQogewot
ICAgIGF1dG8qIHNjaGVtYSA9IHNjaGVtYUZvckZlYXR1cmVOYW1lKGZlYXR1cmUubmFtZSk7Cisg
ICAgYXV0byogc2NoZW1hID0gY29uY3JldGVQYXJzZXIoKS5zY2hlbWFGb3JGZWF0dXJlTmFtZShm
ZWF0dXJlLm5hbWUpOwogICAgIGlmICghc2NoZW1hKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgcmV0dXJuIHZhbGlkYXRlRmVhdHVyZUFnYWluc3RTY2hlbWEoZmVhdHVyZSwgKnNjaGVtYSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAK
aW5kZXggNDY4OTg3YzhmNzZhLi5jYTQ2N2NkMzY5MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKQEAgLTM4LDExICszOCwxOCBAQCBu
YW1lc3BhY2UgTVEgewogTWVkaWFRdWVyeUV2YWx1YXRvcjo6TWVkaWFRdWVyeUV2YWx1YXRvcihj
b25zdCBBdG9tU3RyaW5nJiBtZWRpYVR5cGUsIGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCwgY29u
c3QgUmVuZGVyU3R5bGUqIHJvb3RFbGVtZW50U3R5bGUpCiAgICAgOiBHZW5lcmljTWVkaWFRdWVy
eUV2YWx1YXRvcigpCiAgICAgLCBtX21lZGlhVHlwZShtZWRpYVR5cGUpCi0gICAgLCBtX2RvY3Vt
ZW50KGRvY3VtZW50KQorICAgICwgbV9kb2N1bWVudCgmZG9jdW1lbnQpCiAgICAgLCBtX3Jvb3RF
bGVtZW50U3R5bGUocm9vdEVsZW1lbnRTdHlsZSkKIHsKIH0KIAorTWVkaWFRdWVyeUV2YWx1YXRv
cjo6TWVkaWFRdWVyeUV2YWx1YXRvcihjb25zdCBBdG9tU3RyaW5nJiBtZWRpYVR5cGUsIEV2YWx1
YXRpb25SZXN1bHQgbWVkaWFDb25kaXRpb25SZXN1bHQpCisgICAgOiBHZW5lcmljTWVkaWFRdWVy
eUV2YWx1YXRvcigpCisgICAgLCBtX21lZGlhVHlwZShtZWRpYVR5cGUpCisgICAgLCBtX3N0YXRp
Y01lZGlhQ29uZGl0aW9uUmVzdWx0KG1lZGlhQ29uZGl0aW9uUmVzdWx0KQoreworfQorCiBib29s
IE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlMaXN0JiBsaXN0
KSBjb25zdAogewogICAgIGlmIChsaXN0LmlzRW1wdHkoKSkKQEAgLTY2LDIxICs3MywyMSBAQCBi
b29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnkmIHF1ZXJ5
KSBjb25zdAogICAgICAgICBpZiAoIXF1ZXJ5LmNvbmRpdGlvbikKICAgICAgICAgICAgIHJldHVy
biBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlOwogCi0gICAgICAgIGlmICghbV9kb2N1bWVudC52aWV3
KCkpCi0gICAgICAgICAgICByZXR1cm4gRXZhbHVhdGlvblJlc3VsdDo6VW5rbm93bjsKKyAgICAg
ICAgaWYgKCFtX2RvY3VtZW50IHx8ICFtX3Jvb3RFbGVtZW50U3R5bGUpCisgICAgICAgICAgICBy
ZXR1cm4gbV9zdGF0aWNNZWRpYUNvbmRpdGlvblJlc3VsdDsKIAotICAgICAgICBpZiAoIW1fZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50KCkpCisgICAgICAgIGlmICghbV9kb2N1bWVudC0+dmlldygp
IHx8ICFtX2RvY3VtZW50LT5kb2N1bWVudEVsZW1lbnQoKSkKICAgICAgICAgICAgIHJldHVybiBF
dmFsdWF0aW9uUmVzdWx0OjpVbmtub3duOwogCiAgICAgICAgIGF1dG8gZGVmYXVsdFN0eWxlID0g
UmVuZGVyU3R5bGU6OmNyZWF0ZSgpOwogICAgICAgICBhdXRvIGZvbnREZXNjcmlwdGlvbiA9IGRl
ZmF1bHRTdHlsZS5mb250RGVzY3JpcHRpb24oKTsKLSAgICAgICAgYXV0byBzaXplID0gU3R5bGU6
OmZvbnRTaXplRm9yS2V5d29yZChDU1NWYWx1ZU1lZGl1bSwgZmFsc2UsIG1fZG9jdW1lbnQpOwor
ICAgICAgICBhdXRvIHNpemUgPSBTdHlsZTo6Zm9udFNpemVGb3JLZXl3b3JkKENTU1ZhbHVlTWVk
aXVtLCBmYWxzZSwgKm1fZG9jdW1lbnQpOwogICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0Q29t
cHV0ZWRTaXplKHNpemUpOwogICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0U3BlY2lmaWVkU2l6
ZShzaXplKTsKICAgICAgICAgZGVmYXVsdFN0eWxlLnNldEZvbnREZXNjcmlwdGlvbihXVEZNb3Zl
KGZvbnREZXNjcmlwdGlvbikpOwogICAgICAgICBkZWZhdWx0U3R5bGUuZm9udENhc2NhZGUoKS51
cGRhdGUoKTsKIAotICAgICAgICBGZWF0dXJlRXZhbHVhdGlvbkNvbnRleHQgY29udGV4dCB7IG1f
ZG9jdW1lbnQsIHsgKm1fcm9vdEVsZW1lbnRTdHlsZSwgJmRlZmF1bHRTdHlsZSwgbnVsbHB0ciwg
bV9kb2N1bWVudC5yZW5kZXJWaWV3KCkgfSwgbnVsbHB0ciB9OworICAgICAgICBGZWF0dXJlRXZh
bHVhdGlvbkNvbnRleHQgY29udGV4dCB7ICptX2RvY3VtZW50LCB7ICptX3Jvb3RFbGVtZW50U3R5
bGUsICZkZWZhdWx0U3R5bGUsIG51bGxwdHIsIG1fZG9jdW1lbnQtPnJlbmRlclZpZXcoKSB9LCBu
dWxscHRyIH07CiAgICAgICAgIHJldHVybiBldmFsdWF0ZUNvbmRpdGlvbigqcXVlcnkuY29uZGl0
aW9uLCBjb250ZXh0KTsKICAgICB9KCk7CiAKQEAgLTEzMyw1ICsxNDAsMTAgQEAgT3B0aW9uU2V0
PE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeT4gTWVkaWFRdWVyeUV2YWx1YXRvcjo6Y29sbGVj
dER5bmFtaWNEZXBlbmQKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitib29sIE1lZGlhUXVlcnlF
dmFsdWF0b3I6OmlzUHJpbnRNZWRpYSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGVxdWFsSWdub3Jp
bmdBU0NJSUNhc2UobV9tZWRpYVR5cGUsICJwcmludCJfcyk7Cit9CisKIH0KIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRvci5oCmluZGV4IDlkMDI5NDRk
NDZiZC4uNTRmYjcwMTU1YzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
TWVkaWFRdWVyeUV2YWx1YXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRp
YVF1ZXJ5RXZhbHVhdG9yLmgKQEAgLTM2LDYgKzM2LDcgQEAgbmFtZXNwYWNlIE1RIHsKIGNsYXNz
IE1lZGlhUXVlcnlFdmFsdWF0b3IgOiBwdWJsaWMgR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3I8
TWVkaWFRdWVyeUV2YWx1YXRvcj4gewogcHVibGljOgogICAgIE1lZGlhUXVlcnlFdmFsdWF0b3Io
Y29uc3QgQXRvbVN0cmluZyYgbWVkaWFUeXBlLCBjb25zdCBEb2N1bWVudCYsIGNvbnN0IFJlbmRl
clN0eWxlKiByb290RWxlbWVudFN0eWxlKTsKKyAgICBNZWRpYVF1ZXJ5RXZhbHVhdG9yKGNvbnN0
IEF0b21TdHJpbmcmIG1lZGlhVHlwZSA9IG51bGxBdG9tKCksIEV2YWx1YXRpb25SZXN1bHQgbWVk
aWFDb25kaXRpb25SZXN1bHQgPSBFdmFsdWF0aW9uUmVzdWx0OjpGYWxzZSk7CiAKICAgICBib29s
IGV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlMaXN0JikgY29uc3Q7CiAgICAgYm9vbCBldmFsdWF0
ZShjb25zdCBNZWRpYVF1ZXJ5JikgY29uc3Q7CkBAIC00NSwxMCArNDYsMTMgQEAgcHVibGljOgog
ICAgIE9wdGlvblNldDxNZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY3k+IGNvbGxlY3REeW5hbWlj
RGVwZW5kZW5jaWVzKGNvbnN0IE1lZGlhUXVlcnlMaXN0JikgY29uc3Q7CiAgICAgT3B0aW9uU2V0
PE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeT4gY29sbGVjdER5bmFtaWNEZXBlbmRlbmNpZXMo
Y29uc3QgTWVkaWFRdWVyeSYpIGNvbnN0OwogCisgICAgYm9vbCBpc1ByaW50TWVkaWEoKSBjb25z
dDsKKwogcHJpdmF0ZToKLSAgICBjb25zdCBBdG9tU3RyaW5nIG1fbWVkaWFUeXBlOwotICAgIGNv
bnN0IERvY3VtZW50JiBtX2RvY3VtZW50OwotICAgIGNvbnN0IFJlbmRlclN0eWxlKiBtX3Jvb3RF
bGVtZW50U3R5bGU7CisgICAgQXRvbVN0cmluZyBtX21lZGlhVHlwZTsKKyAgICBjb25zdCBEb2N1
bWVudCogbV9kb2N1bWVudCB7IG51bGxwdHIgfTsKKyAgICBjb25zdCBSZW5kZXJTdHlsZSogbV9y
b290RWxlbWVudFN0eWxlIHsgbnVsbHB0ciB9OworICAgIEV2YWx1YXRpb25SZXN1bHQgbV9zdGF0
aWNNZWRpYUNvbmRpdGlvblJlc3VsdCB7IEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd24gfTsKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RmVh
dHVyZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlGZWF0dXJlcy5j
cHAKaW5kZXggMTU5NzBlYjcxMTg4Li5kMjFjMGM1ZmU5Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RmVhdHVyZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RmVhdHVyZXMuY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAg
cHJpdmF0ZToKIH07CiAKIHN0cnVjdCBSYXRpb1NjaGVtYSA6IHB1YmxpYyBGZWF0dXJlU2NoZW1h
IHsKLSAgICB1c2luZyBWYWx1ZUZ1bmN0aW9uID0gRnVuY3Rpb248ZG91YmxlKGNvbnN0IEZlYXR1
cmVFdmFsdWF0aW9uQ29udGV4dCYpPjsKKyAgICB1c2luZyBWYWx1ZUZ1bmN0aW9uID0gRnVuY3Rp
b248RmxvYXRTaXplKGNvbnN0IEZlYXR1cmVFdmFsdWF0aW9uQ29udGV4dCYpPjsKIAogICAgIFJh
dGlvU2NoZW1hKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIFZhbHVlRnVuY3Rpb24mJiB2YWx1ZUZ1
bmN0aW9uKQogICAgICAgICA6IEZlYXR1cmVTY2hlbWEobmFtZSwgRmVhdHVyZVNjaGVtYTo6VHlw
ZTo6UmFuZ2UsIEZlYXR1cmVTY2hlbWE6OlZhbHVlVHlwZTo6UmF0aW8pCkBAIC0yMzcsNyArMjM3
LDcgQEAgY29uc3QgRmVhdHVyZVNjaGVtYSYgYXNwZWN0UmF0aW8oKQogICAgICAgICAiYXNwZWN0
LXJhdGlvIl9zLAogICAgICAgICBbXShhdXRvJiBjb250ZXh0KSB7CiAgICAgICAgICAgICBhdXRv
JiB2aWV3ID0gKmNvbnRleHQuZG9jdW1lbnQudmlldygpOwotICAgICAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGRvdWJsZT4odmlldy5sYXlvdXRXaWR0aCgpKSAvIHZpZXcubGF5b3V0SGVpZ2h0
KCk7CisgICAgICAgICAgICByZXR1cm4gRmxvYXRTaXplKHZpZXcubGF5b3V0V2lkdGgoKSwgdmll
dy5sYXlvdXRIZWlnaHQoKSk7CiAgICAgICAgIH0KICAgICB9OwogICAgIHJldHVybiBzY2hlbWE7
CkBAIC0yODcsNyArMjg3LDcgQEAgY29uc3QgRmVhdHVyZVNjaGVtYSYgZGV2aWNlQXNwZWN0UmF0
aW8oKQogICAgICAgICAiZGV2aWNlLWFzcGVjdC1yYXRpbyJfcywKICAgICAgICAgW10oYXV0byYg
Y29udGV4dCkgewogICAgICAgICAgICAgYXV0byBzY3JlZW5TaXplID0gY29udGV4dC5kb2N1bWVu
dC5mcmFtZSgpLT5tYWluRnJhbWUoKS5zY3JlZW5TaXplKCk7Ci0gICAgICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8ZG91YmxlPihzY3JlZW5TaXplLndpZHRoKCkpIC8gc2NyZWVuU2l6ZS5oZWln
aHQoKTsKKyAgICAgICAgICAgIHJldHVybiBGbG9hdFNpemUgeyBzY3JlZW5TaXplLndpZHRoKCks
IHNjcmVlblNpemUuaGVpZ2h0KCkgfTsKICAgICAgICAgfQogICAgIH07CiAgICAgcmV0dXJuIHNj
aGVtYTsKQEAgLTM3OCw3ICszNzgsMTAgQEAgY29uc3QgRmVhdHVyZVNjaGVtYSYgaGVpZ2h0KCkK
ICAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPExlbmd0aFNjaGVtYT4gc2NoZW1h
IHsKICAgICAgICAgImhlaWdodCJfcywKICAgICAgICAgW10oYXV0byYgY29udGV4dCkgewotICAg
ICAgICAgICAgcmV0dXJuIGNvbnRleHQuZG9jdW1lbnQudmlldygpLT5sYXlvdXRIZWlnaHQoKTsK
KyAgICAgICAgICAgIGF1dG8gaGVpZ2h0ID0gY29udGV4dC5kb2N1bWVudC52aWV3KCktPmxheW91
dEhlaWdodCgpOworICAgICAgICAgICAgaWYgKGF1dG8qIHJlbmRlclZpZXcgPSBjb250ZXh0LmRv
Y3VtZW50LnJlbmRlclZpZXcoKSkKKyAgICAgICAgICAgICAgICBoZWlnaHQgPSBhZGp1c3RGb3JB
YnNvbHV0ZVpvb20oaGVpZ2h0LCAqcmVuZGVyVmlldyk7CisgICAgICAgICAgICByZXR1cm4gaGVp
Z2h0OwogICAgICAgICB9CiAgICAgfTsKICAgICByZXR1cm4gc2NoZW1hOwpAQCAtNTcyLDcgKzU3
NSw3IEBAIGNvbnN0IEZlYXR1cmVTY2hlbWEmIHNjYW4oKQogICAgICAgICAic2NhbiJfcywKICAg
ICAgICAgVmVjdG9yIHsgQ1NTVmFsdWVJbnRlcmxhY2UsIENTU1ZhbHVlUHJvZ3Jlc3NpdmUgfSwK
ICAgICAgICAgW10oYXV0byYpIHsKLSAgICAgICAgICAgIHJldHVybiBNYXRjaGluZ0lkZW50aWZp
ZXJzIHsgQ1NTVmFsdWVQcm9ncmVzc2l2ZSB9OworICAgICAgICAgICAgcmV0dXJuIE1hdGNoaW5n
SWRlbnRpZmllcnMgeyB9OwogICAgICAgICB9CiAgICAgfTsKICAgICByZXR1cm4gc2NoZW1hOwpA
QCAtNTkwLDcgKzU5Myw3IEBAIGNvbnN0IEZlYXR1cmVTY2hlbWEmIHRyYW5zZm9ybTJkKCkKIGNv
bnN0IEZlYXR1cmVTY2hlbWEmIHRyYW5zZm9ybTNkKCkKIHsKICAgICBzdGF0aWMgTWFpblRocmVh
ZE5ldmVyRGVzdHJveWVkPEJvb2xlYW5TY2hlbWE+IHNjaGVtYSB7Ci0gICAgICAgICItd2Via2l0
LXRyYW5zZm9ybS0yZCJfcywKKyAgICAgICAgIi13ZWJraXQtdHJhbnNmb3JtLTNkIl9zLAogICAg
ICAgICBbXShhdXRvJiBjb250ZXh0KSB7CiAjaWYgRU5BQkxFKDNEX1RSQU5TRk9STVMpCiAgICAg
ICAgICAgICBhdXRvKiB2aWV3ID0gY29udGV4dC5kb2N1bWVudC5yZW5kZXJWaWV3KCk7CkBAIC02
MjksNyArNjMyLDEwIEBAIGNvbnN0IEZlYXR1cmVTY2hlbWEmIHdpZHRoKCkKICAgICBzdGF0aWMg
TWFpblRocmVhZE5ldmVyRGVzdHJveWVkPExlbmd0aFNjaGVtYT4gc2NoZW1hIHsKICAgICAgICAg
IndpZHRoIl9zLAogICAgICAgICBbXShhdXRvJiBjb250ZXh0KSB7Ci0gICAgICAgICAgICByZXR1
cm4gY29udGV4dC5kb2N1bWVudC52aWV3KCktPmxheW91dFdpZHRoKCk7CisgICAgICAgICAgICBh
dXRvIHdpZHRoID0gY29udGV4dC5kb2N1bWVudC52aWV3KCktPmxheW91dFdpZHRoKCk7CisgICAg
ICAgICAgICBpZiAoYXV0byogcmVuZGVyVmlldyA9IGNvbnRleHQuZG9jdW1lbnQucmVuZGVyVmll
dygpKQorICAgICAgICAgICAgICAgIHdpZHRoID0gYWRqdXN0Rm9yQWJzb2x1dGVab29tKHdpZHRo
LCAqcmVuZGVyVmlldyk7CisgICAgICAgICAgICByZXR1cm4gd2lkdGg7CiAgICAgICAgIH0KICAg
ICB9OwogICAgIHJldHVybiBzY2hlbWE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cXVlcnkvTWVkaWFRdWVyeVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVk
aWFRdWVyeVBhcnNlci5jcHAKaW5kZXggMGQwMDQyMzhkYTMzLi43ODA0ZGJhZjBkMDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5jcHAKQEAgLTUxLDcg
KzUxLDExIEBAIE1lZGlhUXVlcnlMaXN0IE1lZGlhUXVlcnlQYXJzZXI6OnBhcnNlKGNvbnN0IFN0
cmluZyYgc3RyaW5nLCBjb25zdCBNZWRpYVF1ZXJ5UGFyCiAgICAgICAgIHJldHVybiB7IH07CiAK
ICAgICBhdXRvIHJhbmdlID0gdG9rZW5pemVyLT50b2tlblJhbmdlKCk7CisgICAgcmV0dXJuIHBh
cnNlKHJhbmdlLCBjb250ZXh0KTsKK30KIAorTWVkaWFRdWVyeUxpc3QgTWVkaWFRdWVyeVBhcnNl
cjo6cGFyc2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwgY29uc3QgTWVkaWFRdWVyeVBhcnNl
ckNvbnRleHQmIGNvbnRleHQpCit7CiAgICAgTWVkaWFRdWVyeVBhcnNlciBwYXJzZXIgeyBjb250
ZXh0IH07CiAgICAgcmV0dXJuIHBhcnNlci5jb25zdW1lTWVkaWFRdWVyeUxpc3QocmFuZ2UpOwog
fQpAQCAtMTA0LDggKzEwOCwxMSBAQCBzdGQ6Om9wdGlvbmFsPE1lZGlhUXVlcnk+IE1lZGlhUXVl
cnlQYXJzZXI6OmNvbnN1bWVNZWRpYVF1ZXJ5KENTU1BhcnNlclRva2VuUmFuZwogICAgIC8vIDxt
ZWRpYS1jb25kaXRpb24+CiAKICAgICBhdXRvIHJhbmdlQ29weSA9IHJhbmdlOwotICAgIGlmIChh
dXRvIGNvbmRpdGlvbiA9IGNvbnN1bWVDb25kaXRpb24ocmFuZ2UpKQorICAgIGlmIChhdXRvIGNv
bmRpdGlvbiA9IGNvbnN1bWVDb25kaXRpb24ocmFuZ2UpKSB7CisgICAgICAgIGlmICghcmFuZ2Uu
YXRFbmQoKSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CiAgICAgICAgIHJldHVybiBNZWRpYVF1
ZXJ5IHsgeyB9LCB7IH0sIGNvbmRpdGlvbiB9OworICAgIH0KIAogICAgIHJhbmdlID0gcmFuZ2VD
b3B5OwogCkBAIC0xNTYsMTIgKzE2MywyNyBAQCBzdGQ6Om9wdGlvbmFsPE1lZGlhUXVlcnk+IE1l
ZGlhUXVlcnlQYXJzZXI6OmNvbnN1bWVNZWRpYVF1ZXJ5KENTU1BhcnNlclRva2VuUmFuZwogICAg
IGlmICghY29uZGl0aW9uKQogICAgICAgICByZXR1cm4geyB9OwogCisgICAgaWYgKCFyYW5nZS5h
dEVuZCgpKQorICAgICAgICByZXR1cm4geyB9OworCiAgICAgaWYgKGNvbmRpdGlvbi0+bG9naWNh
bE9wZXJhdG9yID09IExvZ2ljYWxPcGVyYXRvcjo6T3IpCiAgICAgICAgIHJldHVybiB7IH07CiAK
ICAgICByZXR1cm4gTWVkaWFRdWVyeSB7IHByZWZpeCwgbWVkaWFUeXBlLCBjb25kaXRpb24gfTsK
IH0KIAorY29uc3QgRmVhdHVyZVNjaGVtYSogTWVkaWFRdWVyeVBhcnNlcjo6c2NoZW1hRm9yRmVh
dHVyZU5hbWUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSkgY29uc3QKK3sKKyAgICBhdXRvKiBzY2hl
bWEgPSBHZW5lcmljTWVkaWFRdWVyeVBhcnNlcjxNZWRpYVF1ZXJ5UGFyc2VyPjo6c2NoZW1hRm9y
RmVhdHVyZU5hbWUobmFtZSk7CisKKyAgICBpZiAoc2NoZW1hID09ICZGZWF0dXJlczo6cHJlZmVy
c0RhcmtJbnRlcmZhY2UoKSkgeworICAgICAgICBpZiAoIW1fY29udGV4dC51c2VTeXN0ZW1BcHBl
YXJhbmNlICYmICFpc1VBU2hlZXRCZWhhdmlvcihtX2NvbnRleHQubW9kZSkpCisgICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIHNjaGVtYTsKK30KKwog
dm9pZCBzZXJpYWxpemUoU3RyaW5nQnVpbGRlciYgYnVpbGRlciwgY29uc3QgTWVkaWFRdWVyeUxp
c3QmIGxpc3QpCiB7CiAgICAgZm9yIChhdXRvJiBxdWVyeSA6IGxpc3QpIHsKQEAgLTE4NCw3ICsy
MDYsNyBAQCB2b2lkIHNlcmlhbGl6ZShTdHJpbmdCdWlsZGVyJiBidWlsZGVyLCBjb25zdCBNZWRp
YVF1ZXJ5JiBxdWVyeSkKICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICghcXVlcnkubWVkaWFU
eXBlLmlzRW1wdHkoKSkgeworICAgIGlmICghcXVlcnkubWVkaWFUeXBlLmlzRW1wdHkoKSAmJiAo
IXF1ZXJ5LmNvbmRpdGlvbiB8fCBxdWVyeS5wcmVmaXggfHwgcXVlcnkubWVkaWFUeXBlICE9ICJh
bGwiX3MpKSB7CiAgICAgICAgIHNlcmlhbGl6ZUlkZW50aWZpZXIocXVlcnkubWVkaWFUeXBlLCBi
dWlsZGVyKTsKICAgICAgICAgaWYgKHF1ZXJ5LmNvbmRpdGlvbikKICAgICAgICAgICAgIGJ1aWxk
ZXIuYXBwZW5kKCIgYW5kICIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5
L01lZGlhUXVlcnlQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5
UGFyc2VyLmgKaW5kZXggNmZiNTQxOGZkOWE1Li5lZjQ4NTUzMTE2NDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuaApAQCAtMzUsMTMgKzM1LDE0IEBAIHB1
YmxpYzoKICAgICBNZWRpYVF1ZXJ5UGFyc2VyKGNvbnN0IE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0
Jik7CiAKICAgICBzdGF0aWMgTWVkaWFRdWVyeUxpc3QgcGFyc2UoY29uc3QgU3RyaW5nJiwgY29u
c3QgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQmKTsKKyAgICBzdGF0aWMgTWVkaWFRdWVyeUxpc3Qg
cGFyc2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSwgY29uc3QgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQm
KTsKICAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxNZWRpYVF1ZXJ5PiBwYXJzZUNvbmRpdGlvbihD
U1NQYXJzZXJUb2tlblJhbmdlLCBjb25zdCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dCYpOwogCiAg
ICAgTWVkaWFRdWVyeUxpc3QgY29uc3VtZU1lZGlhUXVlcnlMaXN0KENTU1BhcnNlclRva2VuUmFu
Z2UmKTsKICAgICBzdGQ6Om9wdGlvbmFsPE1lZGlhUXVlcnk+IGNvbnN1bWVNZWRpYVF1ZXJ5KENT
U1BhcnNlclRva2VuUmFuZ2UmKTsKKyAgICBjb25zdCBGZWF0dXJlU2NoZW1hKiBzY2hlbWFGb3JG
ZWF0dXJlTmFtZShjb25zdCBBdG9tU3RyaW5nJikgY29uc3Q7CiAKICAgICBzdGF0aWMgVmVjdG9y
PGNvbnN0IEZlYXR1cmVTY2hlbWEqPiBmZWF0dXJlU2NoZW1hcygpOwotICAgIHN0YXRpYyBib29s
IHJlamVjdEludmFsaWRGZWF0dXJlcygpIHsgcmV0dXJuIHRydWU7IH0KIH07CiAKIHZvaWQgc2Vy
aWFsaXplKFN0cmluZ0J1aWxkZXImLCBjb25zdCBNZWRpYVF1ZXJ5TGlzdCYpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXpl
cy13M2MtMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVt
ZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0xLWV4cGVjdGVkLnR4dAppbmRleCAzOTg5NzY2YWJh
MzIuLjk0Y2VjY2NjYmZiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElt
YWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtMS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2Mt
MS1leHBlY3RlZC50eHQKQEAgLTQ1LDcgKzQ1LDcgQEAgUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMg
ImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIK
IFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgx
LnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCi1GQUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBi
ZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgorUEFTUyAiZ3JlZW4tMXgxLnBu
ZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgx
LnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3Jl
ZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0yLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Ut
c2l6ZXMtdzNjLTItZXhwZWN0ZWQudHh0CmluZGV4IDM5ODk3NjZhYmEzMi4uOTRjZWNjY2NiZmJk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVz
L2ltYWdlLXNpemVzLXczYy0yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0yLWV4cGVjdGVkLnR4dApA
QCAtNDUsNyArNDUsNyBAQCBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIK
IFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgx
LnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4t
MXgxLnBuZyIKLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcu
IFdhcyBncmVlbi0xNngxNi5wbmcuCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgx
LnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3Jl
ZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAi
Z3JlZW4tMXgxLnBuZyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFn
ZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtMy1leHBl
Y3RlZC50eHQKaW5kZXggNjkzYmFmNzRjOTM2Li42ZTJkMTkxYjRlNjUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNj
LTMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1l
bnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0CkBAIC00NSw3ICs0NSw3IEBA
IFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgx
LnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4t
MXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgotRkFJTCAi
Z3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2
LnBuZy4KK1BBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3Jl
ZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAi
Z3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9p
bWFnZS1zaXplcy13M2MtNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
SW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy00LWV4cGVjdGVkLnR4dAppbmRleCAz
OTg5NzY2YWJhMzIuLjk0Y2VjY2NjYmZiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtNC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1z
aXplcy13M2MtNC1leHBlY3RlZC50eHQKQEAgLTQ1LDcgKzQ1LDcgQEAgUEFTUyAiZ3JlZW4tMXgx
LnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4t
MXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAi
Z3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCi1GQUlMICJncmVlbi0xNngxNi5wbmci
IHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgorUEFTUyAiZ3Jl
ZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAi
Z3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgog
UEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluZXItcXVlcmllcy9hdC1jb250YWluZXItc3R5bGUtc2VyaWFsaXphdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9hdC1jb250YWluZXItc3R5bGUtc2VyaWFsaXph
dGlvbi1leHBlY3RlZC50eHQKaW5kZXggN2JmMGNkZDkyNTk1Li42MWE1NzkzOGUzOWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW5lci1xdWVyaWVzL2F0LWNvbnRhaW5lci1zdHlsZS1zZXJpYWxpemF0
aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9hdC1jb250YWluZXIt
c3R5bGUtc2VyaWFsaXphdGlvbi1leHBlY3RlZC50eHQKQEAgLTQsNSArNCw1IEBAIEZBSUwgRW1w
dHkgZGVjbGFyYXRpb24gdmFsdWUgLSBzcGFjZXMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN0
eWxlKC0tZm9vOiApIiBiCiBGQUlMIEVtcHR5IGRlY2xhcmF0aW9uIHZhbHVlIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJzdHlsZSgtLWZvbzogKSIgYnV0IGdvdCAiU1R5bGUoLS1mb286KSIKIFBB
U1MgTWlzc2luZyBkZWNsYXJhdGlvbiB2YWx1ZQogRkFJTCBVbmtub3duIENTUyBwcm9wZXJ0eSBh
ZnRlciAnb3InIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdHlsZSgoLS1GT086IEJBUikgb3Ig
KCBwcm9wOiB2YWwgKSkiIGJ1dCBnb3QgInN0eWxlKCAoIC0tRk9POiBCQVIpIE9SICggcHJvcDog
dmFsICkgKSIKLUZBSUwgTm90IGEgc3R5bGUgZnVuY3Rpb24gd2l0aCBzcGFjZSBiZWZvcmUgJygn
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIoLS1mb286IGJhcikiIGJ1dCBnb3QgIigtLWZvbzog
KSIKK1BBU1MgTm90IGEgc3R5bGUgZnVuY3Rpb24gd2l0aCBzcGFjZSBiZWZvcmUgJygnCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVt
ZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXcz
Yy0xLWV4cGVjdGVkLnR4dAppbmRleCA4OTYyOTJjNTBmZmIuLmEzZWZhZGY4NzgyYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQv
c2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXcz
Yy0xLWV4cGVjdGVkLnR4dApAQCAtNDUsNyArNDUsNyBAQCBQQVNTICJncmVlbi0xeDEucG5nIiBp
cyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5n
IgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0x
eDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxk
IGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCitQQVNTICJncmVlbi0xeDEu
cG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0x
eDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJn
cmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVz
LXczYy0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9I
VE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0yLWV4cGVjdGVkLnR4dAppbmRl
eCA4OTYyOTJjNTBmZmIuLmEzZWZhZGY4NzgyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNj
LTItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9I
VE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0yLWV4cGVjdGVkLnR4dApAQCAt
NDUsNyArNDUsNyBAQCBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBB
U1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBu
ZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgx
LnBuZyIKLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdh
cyBncmVlbi0xNngxNi5wbmcuCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBu
ZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4t
MXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3Jl
ZW4tMXgxLnBuZyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0zLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVz
L2ltYWdlLXNpemVzLXczYy0zLWV4cGVjdGVkLnR4dAppbmRleCA1NTRiNWQ1NGQyNzIuLmMyNjI3
OWYwMzBiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvZG9tL0hU
TUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVz
L2ltYWdlLXNpemVzLXczYy0zLWV4cGVjdGVkLnR4dApAQCAtNDUsNyArNDUsNyBAQCBQQVNTICJn
cmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlz
ICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmci
CiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKLUZBSUwgImdyZWVuLTE2
eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCitQ
QVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5w
bmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4
MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3Np
emVzL2ltYWdlLXNpemVzLXczYy00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy00LWV4
cGVjdGVkLnR4dAppbmRleCA4OTYyOTJjNTBmZmIuLmEzZWZhZGY4NzgyYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMv
aW1hZ2Utc2l6ZXMtdzNjLTQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy00LWV4
cGVjdGVkLnR4dApAQCAtNDUsNyArNDUsNyBAQCBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3Jl
ZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFT
UyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5n
IiBpcyAiZ3JlZW4tMXgxLnBuZyIKLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdy
ZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCitQQVNTICJncmVlbi0xeDEucG5nIiBp
cyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5n
IgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0x
eDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463764</attachid>
            <date>2022-11-28 10:18:06 -0800</date>
            <delta_ts>2022-11-28 23:50:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-248396-20221128201805.patch</filename>
            <type>text/plain</type>
            <size>35118</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSAyODRlYmY4NzIyNmU5NzJlNWM0MzAyYTIzNGY2YjVlNDFhNmFjNmI5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBNb24sIDI4IE5vdiAyMDIyIDE3OjM0OjMwICswMjAwClN1YmplY3Q6IFtQQVRDSF0gW01RNF0g
RGlzYWxsb3cgbmVnYXRpdmUgdmFsdWVzCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjQ4Mzk2IDxyZGFyOi8vcHJvYmxlbS8xMDI3MjMzNDI+CgpSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KCkRpc2FsbG93IG5lZ2F0aXZlIHZhbHVlcyBmb3Igbm93IGV2ZW4gdGhv
dWdoIHRoZXkgYXJlIGFsbG93ZWQgYnkgdGhlIHNwZWMgKGh0dHBzOi8vd3d3LnczLm9yZy9UUi9t
ZWRpYXF1ZXJpZXMtNC8jZmFsc2UtaW4tdGhlLW5lZ2F0aXZlLXJhbmdlKS4KVGhlIGN1cnJlbnQg
V1BUcyBkb24ndCB5ZXQgZm9sbG93IHRoaXMgYmVoYXZpb3IgYW5kIG5vIG90aGVyIGVuZ2luZSBp
bXBsZW1lbnRzIGl0LiBJdCBpcyBiZXR0ZXIgZW5hYmxlZCBzZXBhcmF0ZWx5LgoKQWxzbyBvdGhl
ciBwYXJzaW5nIGFuZCBldmFsdWF0aW9uIGZpeGVzLgoKKiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0xLWV4cGVjdGVkLnR4dDoKKiBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXcz
Yy0yLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50
L3NpemVzL2ltYWdlLXNpemVzLXczYy0zLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy00LWV4cGVjdGVkLnR4
dDoKKiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluZXItcXVlcmllcy9hdC1jb250YWluZXItc3R5bGUtc2VyaWFsaXphdGlv
bi1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvZG9tL0hUTUxJ
bWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTEtZXhwZWN0ZWQudHh0OgoqIExheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdl
LXNpemVzLXczYy0yLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFz
dC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtMy1leHBlY3RlZC50
eHQ6CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQv
c2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTQtZXhwZWN0ZWQudHh0OgoqIFNvdXJjZS9XZWJDb3JlL2Nz
cy9Db250YWluZXJRdWVyeVBhcnNlci5oOgooV2ViQ29yZTo6Q29udGFpbmVyUXVlcnlQYXJzZXI6
OnJlamVjdEludmFsaWRGZWF0dXJlcyk6IERlbGV0ZWQuCgpUaGlzIGlzIG5vdCBuZWVkZWQsIHdl
IGNhbiBhbHdheXMgdHVybiBpbnZhbGlkIGZlYXR1cmVzIGludG8gJ2dlbmVyYWwgZW5jbG9zZWQn
IHByb2R1Y3Rpb24uCgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9Db250YWluZXJRdWVyeUZl
YXR1cmVzLmNwcDoKKFdlYkNvcmU6OkNROjpGZWF0dXJlczo6YXNwZWN0UmF0aW8pOgoqIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvci5jcHA6CihXZWJD
b3JlOjpNUTo6ZXZhbHVhdGVSYXRpb0NvbXBhcmlzb24pOgooV2ViQ29yZTo6TVE6OmV2YWx1YXRl
UmF0aW9GZWF0dXJlKToKCkV2YWx1YXRlIHJhdGlvcyBieSBtdWx0aXBsaWNhdGlvbiB3aXRoIG51
bWVyYXRvciBhbmQgZGVub21pbmF0b3IgdG8gYXZvaWQgYWNjdXJhY3kgaXNzdWVzLgoKKiBTb3Vy
Y2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3IuaDoKKiBTb3Vy
Y2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlQYXJzZXIuY3BwOgooV2ViQ29y
ZTo6TVE6OmNvbnN1bWVSYXRpb1dpdGhTbGFzaCk6CihXZWJDb3JlOjpNUTo6R2VuZXJpY01lZGlh
UXVlcnlQYXJzZXJCYXNlOjpjb25zdW1lVmFsdWUpOgoKVHJ5IHBhcnNlIGFzIHJhdGlvLXdpdGgt
c2xhc2ggZmlyc3QuCgooV2ViQ29yZTo6TVE6OkdlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyQmFzZTo6
dmFsaWRhdGVGZWF0dXJlQWdhaW5zdFNjaGVtYSk6CgpEaXNhbGxvdyBuZWdhdGl2ZSB2YWx1ZXMu
CgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVBhcnNlci5oOgoo
V2ViQ29yZTo6TVE6OkdlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyPENvbmNyZXRlUGFyc2VyPjo6Y29u
c3VtZVF1ZXJ5SW5QYXJlbnMpOgooV2ViQ29yZTo6TVE6OkdlbmVyaWNNZWRpYVF1ZXJ5UGFyc2Vy
PENvbmNyZXRlUGFyc2VyPjo6Y29uc3VtZUZlYXR1cmUpOgooV2ViQ29yZTo6TVE6OkdlbmVyaWNN
ZWRpYVF1ZXJ5UGFyc2VyPENvbmNyZXRlUGFyc2VyPjo6dmFsaWRhdGVGZWF0dXJlKToKKiBTb3Vy
Y2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHA6CihXZWJDb3JlOjpN
UTo6TWVkaWFRdWVyeUV2YWx1YXRvcjo6TWVkaWFRdWVyeUV2YWx1YXRvcik6CihXZWJDb3JlOjpN
UTo6TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGUgY29uc3QpOgoKU3VwcG9ydCBzdGF0aWMg
ZXZhbHVhdGlvbiB3aGVyZSBmZWF0dXJlIGV2YWx1YXRpb24gaXMgYWx3YXlzIHRydWUgb3IgZmFs
c2UuCgooV2ViQ29yZTo6TVE6Ok1lZGlhUXVlcnlFdmFsdWF0b3I6OmlzUHJpbnRNZWRpYSBjb25z
dCk6CiogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlFdmFsdWF0b3IuaDoKKiBT
b3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVzLmNwcDoKKFdlYkNvcmU6
Ok1ROjpGZWF0dXJlczo6YXNwZWN0UmF0aW8pOgooV2ViQ29yZTo6TVE6OkZlYXR1cmVzOjpkZXZp
Y2VBc3BlY3RSYXRpbyk6CihXZWJDb3JlOjpNUTo6RmVhdHVyZXM6OmhlaWdodCk6CgpBZGp1c3Qg
Zm9yIHpvb20uCgooV2ViQ29yZTo6TVE6OkZlYXR1cmVzOjpzY2FuKToKCk5ldmVyIG1hdGhjZXMu
CgooV2ViQ29yZTo6TVE6OkZlYXR1cmVzOjp0cmFuc2Zvcm0zZCk6CgpUeXBvIGZpeC4KCihXZWJD
b3JlOjpNUTo6RmVhdHVyZXM6OndpZHRoKToKCkFkanVzdCBmb3Igem9vbS4KCiogU291cmNlL1dl
YkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3BwOgooV2ViQ29yZTo6TVE6Ok1lZGlh
UXVlcnlQYXJzZXI6OnBhcnNlKToKKFdlYkNvcmU6Ok1ROjpNZWRpYVF1ZXJ5UGFyc2VyOjpjb25z
dW1lTWVkaWFRdWVyeSk6CihXZWJDb3JlOjpNUTo6TWVkaWFRdWVyeVBhcnNlcjo6c2NoZW1hRm9y
RmVhdHVyZU5hbWUgY29uc3QpOgoKRGlzYWxsb3cgcHJlZmVycy1kYXJrLWludGVyZmFjZSBwYXJz
aW5nIHdoZW4gdXNlU3lzdGVtQXBwZWFyYW5jIGlzIGZhbHNlICh0byBrZWVwIHdpdGggZXhpc3Rp
bmcgYmVoYXZpb3IpLgoKKFdlYkNvcmU6Ok1ROjpzZXJpYWxpemUpOgoKRG9uJ3Qgd3JpdGUgb3Vy
ICdhbGwnIHdoZW4gbm90IG5lZWRlZC4KCiogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlh
UXVlcnlQYXJzZXIuaDoKKFdlYkNvcmU6Ok1ROjpNZWRpYVF1ZXJ5UGFyc2VyOjpyZWplY3RJbnZh
bGlkRmVhdHVyZXMpOiBEZWxldGVkLgotLS0KIFNvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJR
dWVyeVBhcnNlci5oICAgICB8ICAxIC0KIC4uLi9jc3MvcXVlcnkvQ29udGFpbmVyUXVlcnlGZWF0
dXJlcy5jcHAgICAgICB8ICAzICstCiAuLi4vY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5RXZh
bHVhdG9yLmNwcCAgfCAyMSArKysrLS0KIC4uLi9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlF
dmFsdWF0b3IuaCAgICB8ICAyICstCiAuLi4vY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5UGFy
c2VyLmNwcCAgICAgfCA3MyArKysrKysrKysrKysrLS0tLS0tCiAuLi4vY3NzL3F1ZXJ5L0dlbmVy
aWNNZWRpYVF1ZXJ5UGFyc2VyLmggICAgICAgfCAgNyArLQogLi4uL1dlYkNvcmUvY3NzL3F1ZXJ5
L01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwIHwgMjQgKysrKy0tCiAuLi4vV2ViQ29yZS9jc3MvcXVl
cnkvTWVkaWFRdWVyeUV2YWx1YXRvci5oICAgfCAxMCArKy0KIC4uLi9XZWJDb3JlL2Nzcy9xdWVy
eS9NZWRpYVF1ZXJ5RmVhdHVyZXMuY3BwICB8IDI0ICsrKystLQogU291cmNlL1dlYkNvcmUvY3Nz
L3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3BwIHwgMjYgKysrKysrLQogU291cmNlL1dlYkNvcmUv
Y3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuaCAgIHwgIDMgKy0KIC4uLi9zaXplcy9pbWFnZS1z
aXplcy13M2MtMS1leHBlY3RlZC50eHQgICAgICB8ICAyICstCiAuLi4vc2l6ZXMvaW1hZ2Utc2l6
ZXMtdzNjLTItZXhwZWN0ZWQudHh0ICAgICAgfCAgMiArLQogLi4uL3NpemVzL2ltYWdlLXNpemVz
LXczYy0zLWV4cGVjdGVkLnR4dCAgICAgIHwgIDIgKy0KIC4uLi9zaXplcy9pbWFnZS1zaXplcy13
M2MtNC1leHBlY3RlZC50eHQgICAgICB8ICAyICstCiAuLi5jb250YWluZXItc3R5bGUtc2VyaWFs
aXphdGlvbi1leHBlY3RlZC50eHQgfCAgMiArLQogLi4uL3NpemVzL2ltYWdlLXNpemVzLXczYy0x
LWV4cGVjdGVkLnR4dCAgICAgIHwgIDIgKy0KIC4uLi9zaXplcy9pbWFnZS1zaXplcy13M2MtMi1l
eHBlY3RlZC50eHQgICAgICB8ICAyICstCiAuLi4vc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTMtZXhw
ZWN0ZWQudHh0ICAgICAgfCAgMiArLQogLi4uL3NpemVzL2ltYWdlLXNpemVzLXczYy00LWV4cGVj
dGVkLnR4dCAgICAgIHwgIDIgKy0KIDIwIGZpbGVzIGNoYW5nZWQsIDE0NCBpbnNlcnRpb25zKCsp
LCA2OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFp
bmVyUXVlcnlQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeVBhcnNl
ci5oCmluZGV4IGE4NjcwY2JlODE2Mi4uMTJmNDk3YTJkMTZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuaApAQCAtMzgsNyArMzgsNiBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIHN0ZDo6b3B0aW9uYWw8Q1E6OkNvbnRhaW5lclF1ZXJ5PiBjb25zdW1lQ29udGFpbmVy
UXVlcnkoQ1NTUGFyc2VyVG9rZW5SYW5nZSYsIGNvbnN0IE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0
Jik7CiAKICAgICBzdGF0aWMgVmVjdG9yPGNvbnN0IE1ROjpGZWF0dXJlU2NoZW1hKj4gZmVhdHVy
ZVNjaGVtYXMoKTsKLSAgICBzdGF0aWMgYm9vbCByZWplY3RJbnZhbGlkRmVhdHVyZXMoKSB7IHJl
dHVybiBmYWxzZTsgfQogCiAgICAgc3RkOjpvcHRpb25hbDxDUTo6Q29udGFpbmVyUXVlcnk+IGNv
bnN1bWVDb250YWluZXJRdWVyeShDU1NQYXJzZXJUb2tlblJhbmdlJik7CiAgICAgc3RkOjpvcHRp
b25hbDxNUTo6RmVhdHVyZT4gY29uc3VtZUZlYXR1cmUoQ1NTUGFyc2VyVG9rZW5SYW5nZSYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0NvbnRhaW5lclF1ZXJ5RmVhdHVy
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0NvbnRhaW5lclF1ZXJ5RmVhdHVyZXMu
Y3BwCmluZGV4IGIzM2Y5Mzg5YjdhMS4uYjM2MDZkODNhNzUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcXVlcnkvQ29udGFpbmVyUXVlcnlGZWF0dXJlcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL3F1ZXJ5L0NvbnRhaW5lclF1ZXJ5RmVhdHVyZXMuY3BwCkBAIC0xNDksOCAr
MTQ5LDcgQEAgY29uc3QgRmVhdHVyZVNjaGVtYSYgYXNwZWN0UmF0aW8oKQogCiAgICAgICAgIEV2
YWx1YXRpb25SZXN1bHQgZXZhbHVhdGUoY29uc3QgTVE6OkZlYXR1cmUmIGZlYXR1cmUsIGNvbnN0
IFJlbmRlckJveCYgcmVuZGVyZXIsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmKSBj
b25zdCBvdmVycmlkZQogICAgICAgICB7Ci0gICAgICAgICAgICBhdXRvIGJveFJhdGlvID0gcmVu
ZGVyZXIuY29udGVudFdpZHRoKCkudG9Eb3VibGUoKSAvIHJlbmRlcmVyLmNvbnRlbnRIZWlnaHQo
KS50b0RvdWJsZSgpOwotICAgICAgICAgICAgcmV0dXJuIGV2YWx1YXRlUmF0aW9GZWF0dXJlKGZl
YXR1cmUsIGJveFJhdGlvKTsKKyAgICAgICAgICAgIHJldHVybiBldmFsdWF0ZVJhdGlvRmVhdHVy
ZShmZWF0dXJlLCByZW5kZXJlci5jb250ZW50U2l6ZSgpKTsKICAgICAgICAgfQogICAgIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2
YWx1YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlF
dmFsdWF0b3IuY3BwCmluZGV4IDkxZmEwZGQ2MGJlOS4uNTdlNDJlMDFiMThjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRv
ci5jcHAKQEAgLTEzNCw3ICsxMzQsNyBAQCBFdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlTGVuZ3Ro
RmVhdHVyZShjb25zdCBGZWF0dXJlJiBmZWF0dXJlLCBMYXlvdXRVbml0IGxlbmd0aAogICAgIHJl
dHVybiBsZWZ0UmVzdWx0ICYgcmlnaHRSZXN1bHQ7CiB9OwogCi1zdGF0aWMgRXZhbHVhdGlvblJl
c3VsdCBldmFsdWF0ZVJhdGlvQ29tcGFyaXNvbihkb3VibGUgcmF0aW8sIGNvbnN0IHN0ZDo6b3B0
aW9uYWw8Q29tcGFyaXNvbj4mIGNvbXBhcmlzb24sIFNpZGUgc2lkZSkKK3N0YXRpYyBFdmFsdWF0
aW9uUmVzdWx0IGV2YWx1YXRlUmF0aW9Db21wYXJpc29uKEZsb2F0U2l6ZSBzaXplLCBjb25zdCBz
dGQ6Om9wdGlvbmFsPENvbXBhcmlzb24+JiBjb21wYXJpc29uLCBTaWRlIHNpZGUpCiB7CiAgICAg
aWYgKCFjb21wYXJpc29uKQogICAgICAgICByZXR1cm4gRXZhbHVhdGlvblJlc3VsdDo6VHJ1ZTsK
QEAgLTE0MywyMSArMTQzLDI2IEBAIHN0YXRpYyBFdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlUmF0
aW9Db21wYXJpc29uKGRvdWJsZSByYXRpbywgY29uc3Qgc3RkOjpvcHRpb25hCiAgICAgICAgIHJl
dHVybiBFdmFsdWF0aW9uUmVzdWx0OjpVbmtub3duOwogCiAgICAgYXV0byYgcmF0aW9WYWx1ZSA9
IGRvd25jYXN0PENTU0FzcGVjdFJhdGlvVmFsdWU+KCpjb21wYXJpc29uLT52YWx1ZSk7Ci0gICAg
YXV0byBleHByZXNzaW9uUmF0aW8gPSByYXRpb1ZhbHVlLm51bWVyYXRvclZhbHVlKCkgLyByYXRp
b1ZhbHVlLmRlbm9taW5hdG9yVmFsdWUoKTsKIAotICAgIGF1dG8gbGVmdCA9IHNpZGUgPT0gU2lk
ZTo6TGVmdCA/IGV4cHJlc3Npb25SYXRpbyA6IHJhdGlvOwotICAgIGF1dG8gcmlnaHQgPSBzaWRl
ID09IFNpZGU6OkxlZnQgPyByYXRpbyA6IGV4cHJlc3Npb25SYXRpbzsKKyAgICAvLyBSYXRpbyB3
aXRoIHplcm8gZGVub21pbmF0b3IgaXMgaW5maW5pdGUgYW5kIGNvbXBhcmVzIGdyZWF0ZXIgdG8g
YW55IHZhbHVlLgorICAgIGF1dG8gZGVub21pbmF0b3IgPSByYXRpb1ZhbHVlLmRlbm9taW5hdG9y
VmFsdWUoKTsKKworICAgIGF1dG8gY29tcGFyaXNvbkEgPSBkZW5vbWluYXRvciA/IHNpemUuaGVp
Z2h0KCkgKiByYXRpb1ZhbHVlLm51bWVyYXRvclZhbHVlKCkgOiAxLmY7CisgICAgYXV0byBjb21w
YXJpc29uQiA9IGRlbm9taW5hdG9yID8gc2l6ZS53aWR0aCgpICogZGVub21pbmF0b3IgOiAwLmY7
CisKKyAgICBhdXRvIGxlZnQgPSBzaWRlID09IFNpZGU6OkxlZnQgPyBjb21wYXJpc29uQSA6IGNv
bXBhcmlzb25COworICAgIGF1dG8gcmlnaHQgPSBzaWRlID09IFNpZGU6OkxlZnQgPyBjb21wYXJp
c29uQiA6IGNvbXBhcmlzb25BOwogCiAgICAgcmV0dXJuIHRvRXZhbHVhdGlvblJlc3VsdChjb21w
YXJlKGNvbXBhcmlzb24tPm9wLCBsZWZ0LCByaWdodCkpOwogfTsKIAotRXZhbHVhdGlvblJlc3Vs
dCBldmFsdWF0ZVJhdGlvRmVhdHVyZShjb25zdCBGZWF0dXJlJiBmZWF0dXJlLCBkb3VibGUgcmF0
aW8pCitFdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlUmF0aW9GZWF0dXJlKGNvbnN0IEZlYXR1cmUm
IGZlYXR1cmUsIEZsb2F0U2l6ZSBzaXplKQogewogICAgIGlmICghZmVhdHVyZS5sZWZ0Q29tcGFy
aXNvbiAmJiAhZmVhdHVyZS5yaWdodENvbXBhcmlzb24pCi0gICAgICAgIHJldHVybiB0b0V2YWx1
YXRpb25SZXN1bHQoISFyYXRpbyk7CisgICAgICAgIHJldHVybiB0b0V2YWx1YXRpb25SZXN1bHQo
c2l6ZS53aWR0aCgpKTsKIAotICAgIGF1dG8gbGVmdFJlc3VsdCA9IGV2YWx1YXRlUmF0aW9Db21w
YXJpc29uKHJhdGlvLCBmZWF0dXJlLmxlZnRDb21wYXJpc29uLCBTaWRlOjpMZWZ0KTsKLSAgICBh
dXRvIHJpZ2h0UmVzdWx0ID0gZXZhbHVhdGVSYXRpb0NvbXBhcmlzb24ocmF0aW8sIGZlYXR1cmUu
cmlnaHRDb21wYXJpc29uLCBTaWRlOjpSaWdodCk7CisgICAgYXV0byBsZWZ0UmVzdWx0ID0gZXZh
bHVhdGVSYXRpb0NvbXBhcmlzb24oc2l6ZSwgZmVhdHVyZS5sZWZ0Q29tcGFyaXNvbiwgU2lkZTo6
TGVmdCk7CisgICAgYXV0byByaWdodFJlc3VsdCA9IGV2YWx1YXRlUmF0aW9Db21wYXJpc29uKHNp
emUsIGZlYXR1cmUucmlnaHRDb21wYXJpc29uLCBTaWRlOjpSaWdodCk7CiAKICAgICByZXR1cm4g
bGVmdFJlc3VsdCAmIHJpZ2h0UmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5RXZhbHVhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3IuaAppbmRleCBlYjM3YjdmMWUwNzYu
LmMxYWQyMGYyMDIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVy
aWNNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dl
bmVyaWNNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgUmVuZGVy
RWxlbWVudDsKIG5hbWVzcGFjZSBNUSB7CiAKIEV2YWx1YXRpb25SZXN1bHQgZXZhbHVhdGVMZW5n
dGhGZWF0dXJlKGNvbnN0IEZlYXR1cmUmLCBMYXlvdXRVbml0LCBjb25zdCBDU1NUb0xlbmd0aENv
bnZlcnNpb25EYXRhJik7Ci1FdmFsdWF0aW9uUmVzdWx0IGV2YWx1YXRlUmF0aW9GZWF0dXJlKGNv
bnN0IEZlYXR1cmUmLCBkb3VibGUpOworRXZhbHVhdGlvblJlc3VsdCBldmFsdWF0ZVJhdGlvRmVh
dHVyZShjb25zdCBGZWF0dXJlJiwgRmxvYXRTaXplKTsKIEV2YWx1YXRpb25SZXN1bHQgZXZhbHVh
dGVCb29sZWFuRmVhdHVyZShjb25zdCBGZWF0dXJlJiwgYm9vbCk7CiBFdmFsdWF0aW9uUmVzdWx0
IGV2YWx1YXRlSW50ZWdlckZlYXR1cmUoY29uc3QgRmVhdHVyZSYsIGludCk7CiBFdmFsdWF0aW9u
UmVzdWx0IGV2YWx1YXRlTnVtYmVyRmVhdHVyZShjb25zdCBGZWF0dXJlJiwgZG91YmxlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVBhcnNl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlQYXJzZXIu
Y3BwCmluZGV4IDVhZTIxNjdhNzVhNS4uZTYyODIwN2IyZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlQYXJzZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVBhcnNlci5jcHAKQEAgLTE5MCw3
MCArMTkwLDk1IEBAIHN0ZDo6b3B0aW9uYWw8RmVhdHVyZT4gR2VuZXJpY01lZGlhUXVlcnlQYXJz
ZXJCYXNlOjpjb25zdW1lUmFuZ2VGZWF0dXJlKENTU1BhcnNlCiAgICAgcmV0dXJuIEZlYXR1cmUg
eyBXVEZNb3ZlKGZlYXR1cmVOYW1lKSwgU3ludGF4OjpSYW5nZSwgV1RGTW92ZShsZWZ0Q29tcGFy
aXNvbiksIFdURk1vdmUocmlnaHRDb21wYXJpc29uKSB9OwogfQogCitzdGF0aWMgUmVmUHRyPENT
U1ZhbHVlPiBjb25zdW1lUmF0aW9XaXRoU2xhc2goQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2Up
Cit7CisgICAgYXV0byBsZWZ0VmFsdWUgPSBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1
bWVOdW1iZXIocmFuZ2UsIFZhbHVlUmFuZ2U6Ok5vbk5lZ2F0aXZlKTsKKyAgICBpZiAoIWxlZnRW
YWx1ZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBpZiAoIUNTU1Byb3BlcnR5UGFy
c2VySGVscGVyczo6Y29uc3VtZVNsYXNoSW5jbHVkaW5nV2hpdGVzcGFjZShyYW5nZSkpCisgICAg
ICAgIHJldHVybiBudWxscHRyOworCisgICAgYXV0byByaWdodFZhbHVlID0gQ1NTUHJvcGVydHlQ
YXJzZXJIZWxwZXJzOjpjb25zdW1lTnVtYmVyKHJhbmdlLCBWYWx1ZVJhbmdlOjpOb25OZWdhdGl2
ZSk7CisgICAgaWYgKCFyaWdodFZhbHVlKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAg
IHJldHVybiBDU1NBc3BlY3RSYXRpb1ZhbHVlOjpjcmVhdGUobGVmdFZhbHVlLT5mbG9hdFZhbHVl
KCksIHJpZ2h0VmFsdWUtPmZsb2F0VmFsdWUoKSk7Cit9CisKIFJlZlB0cjxDU1NWYWx1ZT4gR2Vu
ZXJpY01lZGlhUXVlcnlQYXJzZXJCYXNlOjpjb25zdW1lVmFsdWUoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSYgcmFuZ2UpCiB7CiAgICAgaWYgKHJhbmdlLmF0RW5kKCkpCiAgICAgICAgIHJldHVybiBudWxs
cHRyOworCiAgICAgaWYgKGF1dG8gdmFsdWUgPSBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNv
bnN1bWVJZGVudChyYW5nZSkpCiAgICAgICAgIHJldHVybiB2YWx1ZTsKKwogICAgIGF1dG8gcmFu
Z2VDb3B5ID0gcmFuZ2U7Ci0gICAgaWYgKGF1dG8gdmFsdWUgPSBDU1NQcm9wZXJ0eVBhcnNlckhl
bHBlcnM6OmNvbnN1bWVJbnRlZ2VyKHJhbmdlKSkgewotICAgICAgICBpZiAocmFuZ2UuYXRFbmQo
KSkKLSAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKLSAgICAgICAgcmFuZ2UgPSByYW5nZUNvcHk7
Ci0gICAgfQotICAgIGlmIChhdXRvIHZhbHVlID0gQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpj
b25zdW1lTGVuZ3RoKHJhbmdlLCBIVE1MU3RhbmRhcmRNb2RlLCBWYWx1ZVJhbmdlOjpBbGwpKQot
ICAgICAgICByZXR1cm4gdmFsdWU7Ci0gICAgaWYgKGF1dG8gdmFsdWUgPSBDU1NQcm9wZXJ0eVBh
cnNlckhlbHBlcnM6OmNvbnN1bWVBc3BlY3RSYXRpb1ZhbHVlKHJhbmdlKSkKKyAgICBpZiAoYXV0
byB2YWx1ZSA9IGNvbnN1bWVSYXRpb1dpdGhTbGFzaChyYW5nZSkpCiAgICAgICAgIHJldHVybiB2
YWx1ZTsKLSAgICBpZiAoYXV0byB2YWx1ZSA9IENTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29u
c3VtZVJlc29sdXRpb24ocmFuZ2UpKQorICAgIHJhbmdlID0gcmFuZ2VDb3B5OworCisgICAgaWYg
KGF1dG8gdmFsdWUgPSBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVJbnRlZ2VyKHJh
bmdlKSkKICAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgIGlmIChhdXRvIHZhbHVlID0gQ1NTUHJv
cGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lTnVtYmVyKHJhbmdlLCBWYWx1ZVJhbmdlOjpBbGwp
KQogICAgICAgICByZXR1cm4gdmFsdWU7CisgICAgaWYgKGF1dG8gdmFsdWUgPSBDU1NQcm9wZXJ0
eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVMZW5ndGgocmFuZ2UsIEhUTUxTdGFuZGFyZE1vZGUsIFZh
bHVlUmFuZ2U6OkFsbCkpCisgICAgICAgIHJldHVybiB2YWx1ZTsKKyAgICBpZiAoYXV0byB2YWx1
ZSA9IENTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZVJlc29sdXRpb24ocmFuZ2UpKQor
ICAgICAgICByZXR1cm4gdmFsdWU7CiAKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogYm9vbCBH
ZW5lcmljTWVkaWFRdWVyeVBhcnNlckJhc2U6OnZhbGlkYXRlRmVhdHVyZUFnYWluc3RTY2hlbWEo
RmVhdHVyZSYgZmVhdHVyZSwgY29uc3QgRmVhdHVyZVNjaGVtYSYgc2NoZW1hKQogeworICAgIGF1
dG8gaXNOZWdhdGl2ZSA9IFsmXShhdXRvJiB2YWx1ZSkgeworICAgICAgICAvLyBDYWxjIGlzIHN1
cHBvc2VkIHRvIGNsYW1wIGJ1dCBsZXQncyBqdXN0IGxldCB0aGUgdmFsdWUgdGhyb3VnaCBhcyB3
ZSBkZWFsIHdpdGggbmVnYXRpdmUgdmFsdWVzIGp1c3QgZmluZS4KKyAgICAgICAgaWYgKHZhbHVl
LmlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAvLyBG
SVhNRTogVGhlIHNwZWMgYWxsb3dzIG5lZ2F0aXZlIHZhbHVlcyBmb3Igc29tZSBmZWF0dXJlcyBi
dXQgd2UgdXNlIHRoZSBsZWdhY3kgYmVoYXZpb3IgZm9yIG5vdy4KKyAgICAgICAgcmV0dXJuIHZh
bHVlLmRvdWJsZVZhbHVlKCkgPCAwOworICAgIH07CisKICAgICBhdXRvIHZhbGlkYXRlVmFsdWUg
PSBbJl0oYXV0byYgdmFsdWUpIHsKICAgICAgICAgYXV0byogcHJpbWl0aXZlVmFsdWUgPSBkeW5h
bWljRG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlLmdldCgpKTsKICAgICAgICAgc3dp
dGNoIChzY2hlbWEudmFsdWVUeXBlKSB7CiAgICAgICAgIGNhc2UgRmVhdHVyZVNjaGVtYTo6VmFs
dWVUeXBlOjpJbnRlZ2VyOgotICAgICAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlICYmIHBy
aW1pdGl2ZVZhbHVlLT5pc0ludGVnZXIoKTsKKyAgICAgICAgICAgIGlmICghcHJpbWl0aXZlVmFs
dWUgfHwgIXByaW1pdGl2ZVZhbHVlLT5pc0ludGVnZXIoKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gIWlzTmVnYXRpdmUoKnByaW1pdGl2ZVZhbHVl
KTsKIAogICAgICAgICBjYXNlIEZlYXR1cmVTY2hlbWE6OlZhbHVlVHlwZTo6TnVtYmVyOgotICAg
ICAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlICYmIHByaW1pdGl2ZVZhbHVlLT5pc051bWJl
ck9ySW50ZWdlcigpOworICAgICAgICAgICAgaWYgKCFwcmltaXRpdmVWYWx1ZSB8fCAhcHJpbWl0
aXZlVmFsdWUtPmlzTnVtYmVyT3JJbnRlZ2VyKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAgICAgcmV0dXJuICFpc05lZ2F0aXZlKCpwcmltaXRpdmVWYWx1ZSk7CiAK
ICAgICAgICAgY2FzZSBGZWF0dXJlU2NoZW1hOjpWYWx1ZVR5cGU6Okxlbmd0aDoKICAgICAgICAg
ICAgIGlmICghcHJpbWl0aXZlVmFsdWUpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLT5pc0ludGVnZXIoKSAmJiAhcHJpbWl0aXZl
VmFsdWUtPmludFZhbHVlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAg
ICAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWUtPmlzTGVuZ3RoKCk7CisgICAgICAgICAgICBpZiAo
IXByaW1pdGl2ZVZhbHVlLT5pc0xlbmd0aCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgICAgIHJldHVybiAhaXNOZWdhdGl2ZSgqcHJpbWl0aXZlVmFsdWUpOwogCiAg
ICAgICAgIGNhc2UgRmVhdHVyZVNjaGVtYTo6VmFsdWVUeXBlOjpSZXNvbHV0aW9uOgotICAgICAg
ICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlICYmIHByaW1pdGl2ZVZhbHVlLT5pc1Jlc29sdXRp
b24oKTsKKyAgICAgICAgICAgIGlmICghcHJpbWl0aXZlVmFsdWUgfHwgIXByaW1pdGl2ZVZhbHVl
LT5pc1Jlc29sdXRpb24oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
ICAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWUtPmRvdWJsZVZhbHVlKCkgPiAwOwogCiAgICAgICAg
IGNhc2UgRmVhdHVyZVNjaGVtYTo6VmFsdWVUeXBlOjpJZGVudGlmaWVyOgogICAgICAgICAgICAg
cmV0dXJuIHByaW1pdGl2ZVZhbHVlICYmIHByaW1pdGl2ZVZhbHVlLT5pc1ZhbHVlSUQoKSAmJiBz
Y2hlbWEudmFsdWVJZGVudGlmaWVycy5jb250YWlucyhwcmltaXRpdmVWYWx1ZS0+dmFsdWVJRCgp
KTsKIAogICAgICAgICBjYXNlIEZlYXR1cmVTY2hlbWE6OlZhbHVlVHlwZTo6UmF0aW86CiAgICAg
ICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUgJiYgcHJpbWl0aXZlVmFsdWUtPmlzTnVtYmVyT3JJ
bnRlZ2VyKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUtPmZsb2F0VmFs
dWUoKSA8IDApCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAg
ICAgICB2YWx1ZSA9IENTU0FzcGVjdFJhdGlvVmFsdWU6OmNyZWF0ZShwcmltaXRpdmVWYWx1ZS0+
ZmxvYXRWYWx1ZSgpLCAxKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGlmIChhdXRvKiBsaXN0ID0gZHluYW1pY0Rvd25jYXN0PENTU1Zh
bHVlTGlzdD4odmFsdWUuZ2V0KCkpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGxpc3QtPmxlbmd0
aCgpICE9IDIgfHwgbGlzdC0+c2VwYXJhdG9yKCkgIT0gQ1NTVmFsdWU6OlNsYXNoU2VwYXJhdG9y
KQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgYXV0
byBmaXJzdCA9IGR5bmFtaWNEb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4obGlzdC0+aXRlbSgw
KSk7Ci0gICAgICAgICAgICAgICAgYXV0byBzZWNvbmQgPSBkeW5hbWljRG93bmNhc3Q8Q1NTUHJp
bWl0aXZlVmFsdWU+KGxpc3QtPml0ZW0oMSkpOwotICAgICAgICAgICAgICAgIGlmIChmaXJzdCAm
JiBzZWNvbmQgJiYgZmlyc3QtPmlzTnVtYmVyT3JJbnRlZ2VyKCkgJiYgc2Vjb25kLT5pc051bWJl
ck9ySW50ZWdlcigpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gQ1NTQXNwZWN0UmF0
aW9WYWx1ZTo6Y3JlYXRlKGZpcnN0LT5mbG9hdFZhbHVlKCksIHNlY29uZC0+ZmxvYXRWYWx1ZSgp
KTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgcmV0
dXJuIGlzPENTU0FzcGVjdFJhdGlvVmFsdWU+KHZhbHVlLmdldCgpKTsKICAgICAgICAgfQogICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlQYXJzZXIuaAppbmRl
eCA1ZDliYjExNDU2ZjIuLjRiMGQzYzk0YzJiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyLmgKQEAgLTE0NCw3ICsxNDQsOCBAQCBz
dGQ6Om9wdGlvbmFsPFF1ZXJ5SW5QYXJlbnM+IEdlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyPENvbmNy
ZXRlUGFyc2VyPjo6Y29uc3VtZVF1ZQogICAgICAgICBpZiAoYXV0byBjb25kaXRpb24gPSBjb25z
dW1lQ29uZGl0aW9uKGNvbmRpdGlvblJhbmdlKSkKICAgICAgICAgICAgIHJldHVybiB7IGNvbmRp
dGlvbiB9OwogCi0gICAgICAgIGlmIChhdXRvIGZlYXR1cmUgPSBjb25jcmV0ZVBhcnNlcigpLmNv
bnN1bWVGZWF0dXJlKGJsb2NrUmFuZ2UpKQorICAgICAgICBhdXRvIGZlYXR1cmVSYW5nZSA9IGJs
b2NrUmFuZ2U7CisgICAgICAgIGlmIChhdXRvIGZlYXR1cmUgPSBjb25jcmV0ZVBhcnNlcigpLmNv
bnN1bWVGZWF0dXJlKGZlYXR1cmVSYW5nZSkpCiAgICAgICAgICAgICByZXR1cm4geyAqZmVhdHVy
ZSB9OwogCiAgICAgICAgIHJldHVybiBHZW5lcmFsRW5jbG9zZWQgeyB7IH0sIGJsb2NrUmFuZ2Uu
c2VyaWFsaXplKCkgfTsKQEAgLTE2MCw3ICsxNjEsNyBAQCBzdGQ6Om9wdGlvbmFsPEZlYXR1cmU+
IEdlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyPENvbmNyZXRlUGFyc2VyPjo6Y29uc3VtZUZlYXR1cmUo
QwogICAgIGlmICghZmVhdHVyZSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGlmICghdmFs
aWRhdGVGZWF0dXJlKCpmZWF0dXJlKSAmJiBDb25jcmV0ZVBhcnNlcjo6cmVqZWN0SW52YWxpZEZl
YXR1cmVzKCkpCisgICAgaWYgKCF2YWxpZGF0ZUZlYXR1cmUoKmZlYXR1cmUpKQogICAgICAgICBy
ZXR1cm4geyB9OwogCiAgICAgcmV0dXJuIGZlYXR1cmU7CkBAIC0xNjksNyArMTcwLDcgQEAgc3Rk
OjpvcHRpb25hbDxGZWF0dXJlPiBHZW5lcmljTWVkaWFRdWVyeVBhcnNlcjxDb25jcmV0ZVBhcnNl
cj46OmNvbnN1bWVGZWF0dXJlKEMKIHRlbXBsYXRlPHR5cGVuYW1lIENvbmNyZXRlUGFyc2VyPgog
Ym9vbCBHZW5lcmljTWVkaWFRdWVyeVBhcnNlcjxDb25jcmV0ZVBhcnNlcj46OnZhbGlkYXRlRmVh
dHVyZShGZWF0dXJlJiBmZWF0dXJlKQogewotICAgIGF1dG8qIHNjaGVtYSA9IHNjaGVtYUZvckZl
YXR1cmVOYW1lKGZlYXR1cmUubmFtZSk7CisgICAgYXV0byogc2NoZW1hID0gY29uY3JldGVQYXJz
ZXIoKS5zY2hlbWFGb3JGZWF0dXJlTmFtZShmZWF0dXJlLm5hbWUpOwogICAgIGlmICghc2NoZW1h
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHZhbGlkYXRlRmVhdHVyZUFnYWlu
c3RTY2hlbWEoZmVhdHVyZSwgKnNjaGVtYSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVl
cnkvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKaW5kZXggNDY4OTg3YzhmNzZhLi5jYTQ2N2NkMzY5
MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RXZhbHVh
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRv
ci5jcHAKQEAgLTM4LDExICszOCwxOCBAQCBuYW1lc3BhY2UgTVEgewogTWVkaWFRdWVyeUV2YWx1
YXRvcjo6TWVkaWFRdWVyeUV2YWx1YXRvcihjb25zdCBBdG9tU3RyaW5nJiBtZWRpYVR5cGUsIGNv
bnN0IERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgUmVuZGVyU3R5bGUqIHJvb3RFbGVtZW50U3R5
bGUpCiAgICAgOiBHZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvcigpCiAgICAgLCBtX21lZGlhVHlw
ZShtZWRpYVR5cGUpCi0gICAgLCBtX2RvY3VtZW50KGRvY3VtZW50KQorICAgICwgbV9kb2N1bWVu
dCgmZG9jdW1lbnQpCiAgICAgLCBtX3Jvb3RFbGVtZW50U3R5bGUocm9vdEVsZW1lbnRTdHlsZSkK
IHsKIH0KIAorTWVkaWFRdWVyeUV2YWx1YXRvcjo6TWVkaWFRdWVyeUV2YWx1YXRvcihjb25zdCBB
dG9tU3RyaW5nJiBtZWRpYVR5cGUsIEV2YWx1YXRpb25SZXN1bHQgbWVkaWFDb25kaXRpb25SZXN1
bHQpCisgICAgOiBHZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvcigpCisgICAgLCBtX21lZGlhVHlw
ZShtZWRpYVR5cGUpCisgICAgLCBtX3N0YXRpY01lZGlhQ29uZGl0aW9uUmVzdWx0KG1lZGlhQ29u
ZGl0aW9uUmVzdWx0KQoreworfQorCiBib29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRl
KGNvbnN0IE1lZGlhUXVlcnlMaXN0JiBsaXN0KSBjb25zdAogewogICAgIGlmIChsaXN0LmlzRW1w
dHkoKSkKQEAgLTY2LDIxICs3MywyMSBAQCBib29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1
YXRlKGNvbnN0IE1lZGlhUXVlcnkmIHF1ZXJ5KSBjb25zdAogICAgICAgICBpZiAoIXF1ZXJ5LmNv
bmRpdGlvbikKICAgICAgICAgICAgIHJldHVybiBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlOwogCi0g
ICAgICAgIGlmICghbV9kb2N1bWVudC52aWV3KCkpCi0gICAgICAgICAgICByZXR1cm4gRXZhbHVh
dGlvblJlc3VsdDo6VW5rbm93bjsKKyAgICAgICAgaWYgKCFtX2RvY3VtZW50IHx8ICFtX3Jvb3RF
bGVtZW50U3R5bGUpCisgICAgICAgICAgICByZXR1cm4gbV9zdGF0aWNNZWRpYUNvbmRpdGlvblJl
c3VsdDsKIAotICAgICAgICBpZiAoIW1fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KCkpCisgICAg
ICAgIGlmICghbV9kb2N1bWVudC0+dmlldygpIHx8ICFtX2RvY3VtZW50LT5kb2N1bWVudEVsZW1l
bnQoKSkKICAgICAgICAgICAgIHJldHVybiBFdmFsdWF0aW9uUmVzdWx0OjpVbmtub3duOwogCiAg
ICAgICAgIGF1dG8gZGVmYXVsdFN0eWxlID0gUmVuZGVyU3R5bGU6OmNyZWF0ZSgpOwogICAgICAg
ICBhdXRvIGZvbnREZXNjcmlwdGlvbiA9IGRlZmF1bHRTdHlsZS5mb250RGVzY3JpcHRpb24oKTsK
LSAgICAgICAgYXV0byBzaXplID0gU3R5bGU6OmZvbnRTaXplRm9yS2V5d29yZChDU1NWYWx1ZU1l
ZGl1bSwgZmFsc2UsIG1fZG9jdW1lbnQpOworICAgICAgICBhdXRvIHNpemUgPSBTdHlsZTo6Zm9u
dFNpemVGb3JLZXl3b3JkKENTU1ZhbHVlTWVkaXVtLCBmYWxzZSwgKm1fZG9jdW1lbnQpOwogICAg
ICAgICBmb250RGVzY3JpcHRpb24uc2V0Q29tcHV0ZWRTaXplKHNpemUpOwogICAgICAgICBmb250
RGVzY3JpcHRpb24uc2V0U3BlY2lmaWVkU2l6ZShzaXplKTsKICAgICAgICAgZGVmYXVsdFN0eWxl
LnNldEZvbnREZXNjcmlwdGlvbihXVEZNb3ZlKGZvbnREZXNjcmlwdGlvbikpOwogICAgICAgICBk
ZWZhdWx0U3R5bGUuZm9udENhc2NhZGUoKS51cGRhdGUoKTsKIAotICAgICAgICBGZWF0dXJlRXZh
bHVhdGlvbkNvbnRleHQgY29udGV4dCB7IG1fZG9jdW1lbnQsIHsgKm1fcm9vdEVsZW1lbnRTdHls
ZSwgJmRlZmF1bHRTdHlsZSwgbnVsbHB0ciwgbV9kb2N1bWVudC5yZW5kZXJWaWV3KCkgfSwgbnVs
bHB0ciB9OworICAgICAgICBGZWF0dXJlRXZhbHVhdGlvbkNvbnRleHQgY29udGV4dCB7ICptX2Rv
Y3VtZW50LCB7ICptX3Jvb3RFbGVtZW50U3R5bGUsICZkZWZhdWx0U3R5bGUsIG51bGxwdHIsIG1f
ZG9jdW1lbnQtPnJlbmRlclZpZXcoKSB9LCBudWxscHRyIH07CiAgICAgICAgIHJldHVybiBldmFs
dWF0ZUNvbmRpdGlvbigqcXVlcnkuY29uZGl0aW9uLCBjb250ZXh0KTsKICAgICB9KCk7CiAKQEAg
LTEzMyw1ICsxNDAsMTAgQEAgT3B0aW9uU2V0PE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeT4g
TWVkaWFRdWVyeUV2YWx1YXRvcjo6Y29sbGVjdER5bmFtaWNEZXBlbmQKICAgICByZXR1cm4gcmVz
dWx0OwogfQogCitib29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6OmlzUHJpbnRNZWRpYSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIGVxdWFsSWdub3JpbmdBU0NJSUNhc2UobV9tZWRpYVR5cGUsICJwcmlu
dCJfcyk7Cit9CisKIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9N
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVy
eUV2YWx1YXRvci5oCmluZGV4IDlkMDI5NDRkNDZiZC4uNTRmYjcwMTU1YzQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKQEAgLTM2LDYgKzM2
LDcgQEAgbmFtZXNwYWNlIE1RIHsKIGNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgOiBwdWJsaWMg
R2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3I8TWVkaWFRdWVyeUV2YWx1YXRvcj4gewogcHVibGlj
OgogICAgIE1lZGlhUXVlcnlFdmFsdWF0b3IoY29uc3QgQXRvbVN0cmluZyYgbWVkaWFUeXBlLCBj
b25zdCBEb2N1bWVudCYsIGNvbnN0IFJlbmRlclN0eWxlKiByb290RWxlbWVudFN0eWxlKTsKKyAg
ICBNZWRpYVF1ZXJ5RXZhbHVhdG9yKGNvbnN0IEF0b21TdHJpbmcmIG1lZGlhVHlwZSA9IG51bGxB
dG9tKCksIEV2YWx1YXRpb25SZXN1bHQgbWVkaWFDb25kaXRpb25SZXN1bHQgPSBFdmFsdWF0aW9u
UmVzdWx0OjpGYWxzZSk7CiAKICAgICBib29sIGV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlMaXN0
JikgY29uc3Q7CiAgICAgYm9vbCBldmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5JikgY29uc3Q7CkBA
IC00NSwxMCArNDYsMTMgQEAgcHVibGljOgogICAgIE9wdGlvblNldDxNZWRpYVF1ZXJ5RHluYW1p
Y0RlcGVuZGVuY3k+IGNvbGxlY3REeW5hbWljRGVwZW5kZW5jaWVzKGNvbnN0IE1lZGlhUXVlcnlM
aXN0JikgY29uc3Q7CiAgICAgT3B0aW9uU2V0PE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeT4g
Y29sbGVjdER5bmFtaWNEZXBlbmRlbmNpZXMoY29uc3QgTWVkaWFRdWVyeSYpIGNvbnN0OwogCisg
ICAgYm9vbCBpc1ByaW50TWVkaWEoKSBjb25zdDsKKwogcHJpdmF0ZToKLSAgICBjb25zdCBBdG9t
U3RyaW5nIG1fbWVkaWFUeXBlOwotICAgIGNvbnN0IERvY3VtZW50JiBtX2RvY3VtZW50OwotICAg
IGNvbnN0IFJlbmRlclN0eWxlKiBtX3Jvb3RFbGVtZW50U3R5bGU7CisgICAgQXRvbVN0cmluZyBt
X21lZGlhVHlwZTsKKyAgICBjb25zdCBEb2N1bWVudCogbV9kb2N1bWVudCB7IG51bGxwdHIgfTsK
KyAgICBjb25zdCBSZW5kZXJTdHlsZSogbV9yb290RWxlbWVudFN0eWxlIHsgbnVsbHB0ciB9Owor
ICAgIEV2YWx1YXRpb25SZXN1bHQgbV9zdGF0aWNNZWRpYUNvbmRpdGlvblJlc3VsdCB7IEV2YWx1
YXRpb25SZXN1bHQ6OlVua25vd24gfTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RmVhdHVyZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3F1ZXJ5L01lZGlhUXVlcnlGZWF0dXJlcy5jcHAKaW5kZXggMTU5NzBlYjcxMTg4Li4wZGIyNzFk
Y2M5N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RmVh
dHVyZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RmVhdHVy
ZXMuY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgcHJpdmF0ZToKIH07CiAKIHN0cnVjdCBSYXRpb1Nj
aGVtYSA6IHB1YmxpYyBGZWF0dXJlU2NoZW1hIHsKLSAgICB1c2luZyBWYWx1ZUZ1bmN0aW9uID0g
RnVuY3Rpb248ZG91YmxlKGNvbnN0IEZlYXR1cmVFdmFsdWF0aW9uQ29udGV4dCYpPjsKKyAgICB1
c2luZyBWYWx1ZUZ1bmN0aW9uID0gRnVuY3Rpb248RmxvYXRTaXplKGNvbnN0IEZlYXR1cmVFdmFs
dWF0aW9uQ29udGV4dCYpPjsKIAogICAgIFJhdGlvU2NoZW1hKGNvbnN0IEF0b21TdHJpbmcmIG5h
bWUsIFZhbHVlRnVuY3Rpb24mJiB2YWx1ZUZ1bmN0aW9uKQogICAgICAgICA6IEZlYXR1cmVTY2hl
bWEobmFtZSwgRmVhdHVyZVNjaGVtYTo6VHlwZTo6UmFuZ2UsIEZlYXR1cmVTY2hlbWE6OlZhbHVl
VHlwZTo6UmF0aW8pCkBAIC0yMzcsNyArMjM3LDcgQEAgY29uc3QgRmVhdHVyZVNjaGVtYSYgYXNw
ZWN0UmF0aW8oKQogICAgICAgICAiYXNwZWN0LXJhdGlvIl9zLAogICAgICAgICBbXShhdXRvJiBj
b250ZXh0KSB7CiAgICAgICAgICAgICBhdXRvJiB2aWV3ID0gKmNvbnRleHQuZG9jdW1lbnQudmll
dygpOwotICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGRvdWJsZT4odmlldy5sYXlvdXRX
aWR0aCgpKSAvIHZpZXcubGF5b3V0SGVpZ2h0KCk7CisgICAgICAgICAgICByZXR1cm4gRmxvYXRT
aXplKHZpZXcubGF5b3V0V2lkdGgoKSwgdmlldy5sYXlvdXRIZWlnaHQoKSk7CiAgICAgICAgIH0K
ICAgICB9OwogICAgIHJldHVybiBzY2hlbWE7CkBAIC0yODcsNyArMjg3LDcgQEAgY29uc3QgRmVh
dHVyZVNjaGVtYSYgZGV2aWNlQXNwZWN0UmF0aW8oKQogICAgICAgICAiZGV2aWNlLWFzcGVjdC1y
YXRpbyJfcywKICAgICAgICAgW10oYXV0byYgY29udGV4dCkgewogICAgICAgICAgICAgYXV0byBz
Y3JlZW5TaXplID0gY29udGV4dC5kb2N1bWVudC5mcmFtZSgpLT5tYWluRnJhbWUoKS5zY3JlZW5T
aXplKCk7Ci0gICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8ZG91YmxlPihzY3JlZW5TaXpl
LndpZHRoKCkpIC8gc2NyZWVuU2l6ZS5oZWlnaHQoKTsKKyAgICAgICAgICAgIHJldHVybiBGbG9h
dFNpemUgeyBzY3JlZW5TaXplLndpZHRoKCksIHNjcmVlblNpemUuaGVpZ2h0KCkgfTsKICAgICAg
ICAgfQogICAgIH07CiAgICAgcmV0dXJuIHNjaGVtYTsKQEAgLTM3OCw3ICszNzgsMTAgQEAgY29u
c3QgRmVhdHVyZVNjaGVtYSYgaGVpZ2h0KCkKICAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVz
dHJveWVkPExlbmd0aFNjaGVtYT4gc2NoZW1hIHsKICAgICAgICAgImhlaWdodCJfcywKICAgICAg
ICAgW10oYXV0byYgY29udGV4dCkgewotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuZG9jdW1l
bnQudmlldygpLT5sYXlvdXRIZWlnaHQoKTsKKyAgICAgICAgICAgIGF1dG8gaGVpZ2h0ID0gY29u
dGV4dC5kb2N1bWVudC52aWV3KCktPmxheW91dEhlaWdodCgpOworICAgICAgICAgICAgaWYgKGF1
dG8qIHJlbmRlclZpZXcgPSBjb250ZXh0LmRvY3VtZW50LnJlbmRlclZpZXcoKSkKKyAgICAgICAg
ICAgICAgICBoZWlnaHQgPSBhZGp1c3RGb3JBYnNvbHV0ZVpvb20oaGVpZ2h0LCAqcmVuZGVyVmll
dyk7CisgICAgICAgICAgICByZXR1cm4gaGVpZ2h0OwogICAgICAgICB9CiAgICAgfTsKICAgICBy
ZXR1cm4gc2NoZW1hOwpAQCAtNTcyLDcgKzU3NSw3IEBAIGNvbnN0IEZlYXR1cmVTY2hlbWEmIHNj
YW4oKQogICAgICAgICAic2NhbiJfcywKICAgICAgICAgVmVjdG9yIHsgQ1NTVmFsdWVJbnRlcmxh
Y2UsIENTU1ZhbHVlUHJvZ3Jlc3NpdmUgfSwKICAgICAgICAgW10oYXV0byYpIHsKLSAgICAgICAg
ICAgIHJldHVybiBNYXRjaGluZ0lkZW50aWZpZXJzIHsgQ1NTVmFsdWVQcm9ncmVzc2l2ZSB9Owor
ICAgICAgICAgICAgcmV0dXJuIE1hdGNoaW5nSWRlbnRpZmllcnMgeyB9OwogICAgICAgICB9CiAg
ICAgfTsKICAgICByZXR1cm4gc2NoZW1hOwpAQCAtNTkwLDcgKzU5Myw3IEBAIGNvbnN0IEZlYXR1
cmVTY2hlbWEmIHRyYW5zZm9ybTJkKCkKIGNvbnN0IEZlYXR1cmVTY2hlbWEmIHRyYW5zZm9ybTNk
KCkKIHsKICAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPEJvb2xlYW5TY2hlbWE+
IHNjaGVtYSB7Ci0gICAgICAgICItd2Via2l0LXRyYW5zZm9ybS0yZCJfcywKKyAgICAgICAgIi13
ZWJraXQtdHJhbnNmb3JtLTNkIl9zLAogICAgICAgICBbXShhdXRvJiBjb250ZXh0KSB7CiAjaWYg
RU5BQkxFKDNEX1RSQU5TRk9STVMpCiAgICAgICAgICAgICBhdXRvKiB2aWV3ID0gY29udGV4dC5k
b2N1bWVudC5yZW5kZXJWaWV3KCk7CkBAIC02MjksNyArNjMyLDEwIEBAIGNvbnN0IEZlYXR1cmVT
Y2hlbWEmIHdpZHRoKCkKICAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPExlbmd0
aFNjaGVtYT4gc2NoZW1hIHsKICAgICAgICAgIndpZHRoIl9zLAogICAgICAgICBbXShhdXRvJiBj
b250ZXh0KSB7Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5kb2N1bWVudC52aWV3KCktPmxh
eW91dFdpZHRoKCk7CisgICAgICAgICAgICBhdXRvIHdpZHRoID0gY29udGV4dC5kb2N1bWVudC52
aWV3KCktPmxheW91dFdpZHRoKCk7CisgICAgICAgICAgICBpZiAoYXV0byogcmVuZGVyVmlldyA9
IGNvbnRleHQuZG9jdW1lbnQucmVuZGVyVmlldygpKQorICAgICAgICAgICAgICAgIHdpZHRoID0g
YWRqdXN0Rm9yQWJzb2x1dGVab29tKHdpZHRoLCAqcmVuZGVyVmlldyk7CisgICAgICAgICAgICBy
ZXR1cm4gd2lkdGg7CiAgICAgICAgIH0KICAgICB9OwogICAgIHJldHVybiBzY2hlbWE7CkBAIC02
NDIsNyArNjQ4LDcgQEAgY29uc3QgRmVhdHVyZVNjaGVtYSYgZGlzcGxheU1vZGUoKQogICAgICAg
ICAiZGlzcGxheS1tb2RlIl9zLAogICAgICAgICBWZWN0b3IgeyBDU1NWYWx1ZUZ1bGxzY3JlZW4s
IENTU1ZhbHVlU3RhbmRhbG9uZSwgQ1NTVmFsdWVNaW5pbWFsVWksIENTU1ZhbHVlQnJvd3NlciB9
LAogICAgICAgICBbXShhdXRvJiBjb250ZXh0KSB7Ci0gICAgICAgICAgICBib29sIGlkZW50aWZp
ZXIgPSBbJl0geworICAgICAgICAgICAgYXV0byBpZGVudGlmaWVyID0gWyZdIHsKICAgICAgICAg
ICAgICAgICBhdXRvJiBmcmFtZSA9ICpjb250ZXh0LmRvY3VtZW50LmZyYW1lKCk7CiAgICAgICAg
ICAgICAgICAgYXV0byBtYW5pZmVzdCA9IGZyYW1lLnBhZ2UoKSA/IGZyYW1lLnBhZ2UoKS0+YXBw
bGljYXRpb25NYW5pZmVzdCgpIDogc3RkOjpudWxsb3B0OwogICAgICAgICAgICAgICAgIGlmICgh
bWFuaWZlc3QpCkBAIC02NTgsNiArNjY0LDggQEAgY29uc3QgRmVhdHVyZVNjaGVtYSYgZGlzcGxh
eU1vZGUoKQogICAgICAgICAgICAgICAgIGNhc2UgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxh
eTo6QnJvd3NlcjoKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIENTU1ZhbHVlQnJvd3NlcjsK
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgICAgICAgICAgcmV0dXJuIENTU1ZhbHVlQnJvd3NlcjsKICAgICAgICAgICAgIH0o
KTsKIAogICAgICAgICAgICAgcmV0dXJuIE1hdGNoaW5nSWRlbnRpZmllcnMgeyBpZGVudGlmaWVy
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5jcHAKaW5k
ZXggMGQwMDQyMzhkYTMzLi43ODA0ZGJhZjBkMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cXVlcnkvTWVkaWFRdWVyeVBhcnNlci5jcHAKQEAgLTUxLDcgKzUxLDExIEBAIE1lZGlhUXVlcnlM
aXN0IE1lZGlhUXVlcnlQYXJzZXI6OnBhcnNlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBN
ZWRpYVF1ZXJ5UGFyCiAgICAgICAgIHJldHVybiB7IH07CiAKICAgICBhdXRvIHJhbmdlID0gdG9r
ZW5pemVyLT50b2tlblJhbmdlKCk7CisgICAgcmV0dXJuIHBhcnNlKHJhbmdlLCBjb250ZXh0KTsK
K30KIAorTWVkaWFRdWVyeUxpc3QgTWVkaWFRdWVyeVBhcnNlcjo6cGFyc2UoQ1NTUGFyc2VyVG9r
ZW5SYW5nZSByYW5nZSwgY29uc3QgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQmIGNvbnRleHQpCit7
CiAgICAgTWVkaWFRdWVyeVBhcnNlciBwYXJzZXIgeyBjb250ZXh0IH07CiAgICAgcmV0dXJuIHBh
cnNlci5jb25zdW1lTWVkaWFRdWVyeUxpc3QocmFuZ2UpOwogfQpAQCAtMTA0LDggKzEwOCwxMSBA
QCBzdGQ6Om9wdGlvbmFsPE1lZGlhUXVlcnk+IE1lZGlhUXVlcnlQYXJzZXI6OmNvbnN1bWVNZWRp
YVF1ZXJ5KENTU1BhcnNlclRva2VuUmFuZwogICAgIC8vIDxtZWRpYS1jb25kaXRpb24+CiAKICAg
ICBhdXRvIHJhbmdlQ29weSA9IHJhbmdlOwotICAgIGlmIChhdXRvIGNvbmRpdGlvbiA9IGNvbnN1
bWVDb25kaXRpb24ocmFuZ2UpKQorICAgIGlmIChhdXRvIGNvbmRpdGlvbiA9IGNvbnN1bWVDb25k
aXRpb24ocmFuZ2UpKSB7CisgICAgICAgIGlmICghcmFuZ2UuYXRFbmQoKSkKKyAgICAgICAgICAg
IHJldHVybiB7IH07CiAgICAgICAgIHJldHVybiBNZWRpYVF1ZXJ5IHsgeyB9LCB7IH0sIGNvbmRp
dGlvbiB9OworICAgIH0KIAogICAgIHJhbmdlID0gcmFuZ2VDb3B5OwogCkBAIC0xNTYsMTIgKzE2
MywyNyBAQCBzdGQ6Om9wdGlvbmFsPE1lZGlhUXVlcnk+IE1lZGlhUXVlcnlQYXJzZXI6OmNvbnN1
bWVNZWRpYVF1ZXJ5KENTU1BhcnNlclRva2VuUmFuZwogICAgIGlmICghY29uZGl0aW9uKQogICAg
ICAgICByZXR1cm4geyB9OwogCisgICAgaWYgKCFyYW5nZS5hdEVuZCgpKQorICAgICAgICByZXR1
cm4geyB9OworCiAgICAgaWYgKGNvbmRpdGlvbi0+bG9naWNhbE9wZXJhdG9yID09IExvZ2ljYWxP
cGVyYXRvcjo6T3IpCiAgICAgICAgIHJldHVybiB7IH07CiAKICAgICByZXR1cm4gTWVkaWFRdWVy
eSB7IHByZWZpeCwgbWVkaWFUeXBlLCBjb25kaXRpb24gfTsKIH0KIAorY29uc3QgRmVhdHVyZVNj
aGVtYSogTWVkaWFRdWVyeVBhcnNlcjo6c2NoZW1hRm9yRmVhdHVyZU5hbWUoY29uc3QgQXRvbVN0
cmluZyYgbmFtZSkgY29uc3QKK3sKKyAgICBhdXRvKiBzY2hlbWEgPSBHZW5lcmljTWVkaWFRdWVy
eVBhcnNlcjxNZWRpYVF1ZXJ5UGFyc2VyPjo6c2NoZW1hRm9yRmVhdHVyZU5hbWUobmFtZSk7CisK
KyAgICBpZiAoc2NoZW1hID09ICZGZWF0dXJlczo6cHJlZmVyc0RhcmtJbnRlcmZhY2UoKSkgewor
ICAgICAgICBpZiAoIW1fY29udGV4dC51c2VTeXN0ZW1BcHBlYXJhbmNlICYmICFpc1VBU2hlZXRC
ZWhhdmlvcihtX2NvbnRleHQubW9kZSkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICB9CisgICAgCisgICAgcmV0dXJuIHNjaGVtYTsKK30KKwogdm9pZCBzZXJpYWxpemUoU3RyaW5n
QnVpbGRlciYgYnVpbGRlciwgY29uc3QgTWVkaWFRdWVyeUxpc3QmIGxpc3QpCiB7CiAgICAgZm9y
IChhdXRvJiBxdWVyeSA6IGxpc3QpIHsKQEAgLTE4NCw3ICsyMDYsNyBAQCB2b2lkIHNlcmlhbGl6
ZShTdHJpbmdCdWlsZGVyJiBidWlsZGVyLCBjb25zdCBNZWRpYVF1ZXJ5JiBxdWVyeSkKICAgICAg
ICAgfQogICAgIH0KIAotICAgIGlmICghcXVlcnkubWVkaWFUeXBlLmlzRW1wdHkoKSkgeworICAg
IGlmICghcXVlcnkubWVkaWFUeXBlLmlzRW1wdHkoKSAmJiAoIXF1ZXJ5LmNvbmRpdGlvbiB8fCBx
dWVyeS5wcmVmaXggfHwgcXVlcnkubWVkaWFUeXBlICE9ICJhbGwiX3MpKSB7CiAgICAgICAgIHNl
cmlhbGl6ZUlkZW50aWZpZXIocXVlcnkubWVkaWFUeXBlLCBidWlsZGVyKTsKICAgICAgICAgaWYg
KHF1ZXJ5LmNvbmRpdGlvbikKICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCIgYW5kICIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmgKaW5kZXggNmZiNTQx
OGZkOWE1Li5lZjQ4NTUzMTE2NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVy
eS9NZWRpYVF1ZXJ5UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlh
UXVlcnlQYXJzZXIuaApAQCAtMzUsMTMgKzM1LDE0IEBAIHB1YmxpYzoKICAgICBNZWRpYVF1ZXJ5
UGFyc2VyKGNvbnN0IE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0Jik7CiAKICAgICBzdGF0aWMgTWVk
aWFRdWVyeUxpc3QgcGFyc2UoY29uc3QgU3RyaW5nJiwgY29uc3QgTWVkaWFRdWVyeVBhcnNlckNv
bnRleHQmKTsKKyAgICBzdGF0aWMgTWVkaWFRdWVyeUxpc3QgcGFyc2UoQ1NTUGFyc2VyVG9rZW5S
YW5nZSwgY29uc3QgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQmKTsKICAgICBzdGF0aWMgc3RkOjpv
cHRpb25hbDxNZWRpYVF1ZXJ5PiBwYXJzZUNvbmRpdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlLCBj
b25zdCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dCYpOwogCiAgICAgTWVkaWFRdWVyeUxpc3QgY29u
c3VtZU1lZGlhUXVlcnlMaXN0KENTU1BhcnNlclRva2VuUmFuZ2UmKTsKICAgICBzdGQ6Om9wdGlv
bmFsPE1lZGlhUXVlcnk+IGNvbnN1bWVNZWRpYVF1ZXJ5KENTU1BhcnNlclRva2VuUmFuZ2UmKTsK
KyAgICBjb25zdCBGZWF0dXJlU2NoZW1hKiBzY2hlbWFGb3JGZWF0dXJlTmFtZShjb25zdCBBdG9t
U3RyaW5nJikgY29uc3Q7CiAKICAgICBzdGF0aWMgVmVjdG9yPGNvbnN0IEZlYXR1cmVTY2hlbWEq
PiBmZWF0dXJlU2NoZW1hcygpOwotICAgIHN0YXRpYyBib29sIHJlamVjdEludmFsaWRGZWF0dXJl
cygpIHsgcmV0dXJuIHRydWU7IH0KIH07CiAKIHZvaWQgc2VyaWFsaXplKFN0cmluZ0J1aWxkZXIm
LCBjb25zdCBNZWRpYVF1ZXJ5TGlzdCYpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVz
LXczYy0xLWV4cGVjdGVkLnR4dAppbmRleCAzOTg5NzY2YWJhMzIuLjk0Y2VjY2NjYmZiZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFn
ZS1zaXplcy13M2MtMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtMS1leHBlY3RlZC50eHQKQEAgLTQ1
LDcgKzQ1LDcgQEAgUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNT
ICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmci
IGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5w
bmciCi1GQUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMg
Z3JlZW4tMTZ4MTYucG5nLgorUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmci
CiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4
MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVu
LTF4MS5wbmciCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVt
ZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTItZXhwZWN0ZWQu
dHh0CmluZGV4IDM5ODk3NjZhYmEzMi4uOTRjZWNjY2NiZmJkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0yLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3Np
emVzL2ltYWdlLXNpemVzLXczYy0yLWV4cGVjdGVkLnR4dApAQCAtNDUsNyArNDUsNyBAQCBQQVNT
ICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmci
IGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5w
bmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKLUZBSUwgImdyZWVu
LTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcu
CitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4
MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVu
LTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Ut
c2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdl
RWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtMy1leHBlY3RlZC50eHQKaW5kZXggNjkzYmFm
NzRjOTM2Li42ZTJkMTkxYjRlNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMt
dzNjLTMtZXhwZWN0ZWQudHh0CkBAIC00NSw3ICs0NSw3IEBAIFBBU1MgImdyZWVuLTF4MS5wbmci
IGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5w
bmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVu
LTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91
bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KK1BBU1MgImdyZWVuLTF4
MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVu
LTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1Mg
ImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtNC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2lt
YWdlLXNpemVzLXczYy00LWV4cGVjdGVkLnR4dAppbmRleCAzOTg5NzY2YWJhMzIuLjk0Y2VjY2Nj
YmZiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9z
aXplcy9pbWFnZS1zaXplcy13M2MtNC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtNC1leHBlY3RlZC50
eHQKQEAgLTQ1LDcgKzQ1LDcgQEAgUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5w
bmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVu
LTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdy
ZWVuLTF4MS5wbmciCi1GQUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEu
cG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgorUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVu
LTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1Mg
ImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIg
aXMgImdyZWVuLTF4MS5wbmciCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXItcXVlcmllcy9hdC1j
b250YWluZXItc3R5bGUtc2VyaWFsaXphdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluZXIt
cXVlcmllcy9hdC1jb250YWluZXItc3R5bGUtc2VyaWFsaXphdGlvbi1leHBlY3RlZC50eHQKaW5k
ZXggN2JmMGNkZDkyNTk1Li42MWE1NzkzOGUzOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW5lci1x
dWVyaWVzL2F0LWNvbnRhaW5lci1zdHlsZS1zZXJpYWxpemF0aW9uLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluZXItcXVlcmllcy9hdC1jb250YWluZXItc3R5bGUtc2VyaWFsaXphdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTQsNSArNCw1IEBAIEZBSUwgRW1wdHkgZGVjbGFyYXRpb24gdmFsdWUg
LSBzcGFjZXMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN0eWxlKC0tZm9vOiApIiBiCiBGQUlM
IEVtcHR5IGRlY2xhcmF0aW9uIHZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdHlsZSgt
LWZvbzogKSIgYnV0IGdvdCAiU1R5bGUoLS1mb286KSIKIFBBU1MgTWlzc2luZyBkZWNsYXJhdGlv
biB2YWx1ZQogRkFJTCBVbmtub3duIENTUyBwcm9wZXJ0eSBhZnRlciAnb3InIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJzdHlsZSgoLS1GT086IEJBUikgb3IgKCBwcm9wOiB2YWwgKSkiIGJ1dCBn
b3QgInN0eWxlKCAoIC0tRk9POiBCQVIpIE9SICggcHJvcDogdmFsICkgKSIKLUZBSUwgTm90IGEg
c3R5bGUgZnVuY3Rpb24gd2l0aCBzcGFjZSBiZWZvcmUgJygnIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICIoLS1mb286IGJhcikiIGJ1dCBnb3QgIigtLWZvbzogKSIKK1BBU1MgTm90IGEgc3R5bGUg
ZnVuY3Rpb24gd2l0aCBzcGFjZSBiZWZvcmUgJygnCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVz
LXczYy0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9I
VE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0xLWV4cGVjdGVkLnR4dAppbmRl
eCA4OTYyOTJjNTBmZmIuLmEzZWZhZGY4NzgyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNj
LTEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9I
VE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0xLWV4cGVjdGVkLnR4dApAQCAt
NDUsNyArNDUsNyBAQCBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBB
U1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBu
ZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgx
LnBuZyIKLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdh
cyBncmVlbi0xNngxNi5wbmcuCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBu
ZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4t
MXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3Jl
ZW4tMXgxLnBuZyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0yLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVz
L2ltYWdlLXNpemVzLXczYy0yLWV4cGVjdGVkLnR4dAppbmRleCA4OTYyOTJjNTBmZmIuLmEzZWZh
ZGY4NzgyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvZG9tL0hU
TUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVz
L2ltYWdlLXNpemVzLXczYy0yLWV4cGVjdGVkLnR4dApAQCAtNDUsNyArNDUsNyBAQCBQQVNTICJn
cmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlz
ICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmci
CiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKLUZBSUwgImdyZWVuLTE2
eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCitQ
QVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5w
bmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4
MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3Np
emVzL2ltYWdlLXNpemVzLXczYy0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0zLWV4
cGVjdGVkLnR4dAppbmRleCA1NTRiNWQ1NGQyNzIuLmMyNjI3OWYwMzBiZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMv
aW1hZ2Utc2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0zLWV4
cGVjdGVkLnR4dApAQCAtNDUsNyArNDUsNyBAQCBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3Jl
ZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFT
UyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5n
IiBpcyAiZ3JlZW4tMXgxLnBuZyIKLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdy
ZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCitQQVNTICJncmVlbi0xeDEucG5nIiBp
cyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5n
IgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0x
eDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy00
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1h
Z2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy00LWV4cGVjdGVkLnR4dAppbmRleCA4OTYy
OTJjNTBmZmIuLmEzZWZhZGY4NzgyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTQtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1h
Z2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy00LWV4cGVjdGVkLnR4dApAQCAtNDUsNyAr
NDUsNyBAQCBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdy
ZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMg
ImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIK
LUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVl
bi0xNngxNi5wbmcuCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBB
U1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBu
ZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgx
LnBuZyIK
</data>

          </attachment>
      

    </bug>

</bugzilla>