<?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>214720</bug_id>
          
          <creation_ts>2020-07-23 19:47:01 -0700</creation_ts>
          <short_desc>[LFC][IFC] Display::LineBox does not need ascent/descent geometry</short_desc>
          <delta_ts>2020-08-23 06:53:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>215087</blocked>
    
    <blocked>215752</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1674525</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-07-23 19:47:01 -0700</bug_when>
    <thetext>LineBox is just a rectangular area with all the inline boxes on line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674526</commentid>
    <comment_count>1</comment_count>
      <attachid>405120</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-07-23 20:01:12 -0700</bug_when>
    <thetext>Created attachment 405120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676689</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-30 19:47:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/66360687&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1682227</commentid>
    <comment_count>3</comment_count>
      <attachid>407068</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-08-23 06:00:35 -0700</bug_when>
    <thetext>Created attachment 407068
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1682234</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-23 06:53:09 -0700</bug_when>
    <thetext>Committed r266047: &lt;https://trac.webkit.org/changeset/266047&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 407068.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405120</attachid>
            <date>2020-07-23 20:01:12 -0700</date>
            <delta_ts>2020-08-23 06:00:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214720-20200723200111.patch</filename>
            <type>text/plain</type>
            <size>22057</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTkwYzdiNDFmNzNhZDU4
NTBlN2UzMTIxZTRmYWVjODdlMTcxMTdjMi4uMjY5NGU4OWUxZWQ4ZmU0ODg4Y2FhYmNmNmJmNjRl
NDc3MzM2YjdmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIwLTA3LTIzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBEaXNwbGF5
OjpMaW5lQm94IGRvZXMgbm90IG5lZWQgYXNjZW50L2Rlc2NlbnQgZ2VvbWV0cnkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDcyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZGVjb3Vw
bGVzIHRoZSByb290IGlubGluZSBib3ggYW5kIHRoZSBsaW5lIGJveC4gTGluZSBib3ggaXMganVz
dAorICAgICAgICBhIHJlY3Rhbmd1bGFyIGFyZWEgdGhhdCBjb250YWlucyB0aGUgYm94ZXMgdGhh
dCBmb3JtIGEgc2luZ2xlIGxpbmUuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBhbHNvIGluIHBy
ZXBhcmF0aW9uIGZvciBtb3ZpbmcgY2xvc2VyIHRvIHRoZSBpbmxpbmUtYm94IGRlc2lnbi4KKwor
ICAgICAgICAqIGxheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5TGluZUJveC5oOgorICAgICAgICAo
V2ViQ29yZTo6RGlzcGxheTo6TGluZUJveDo6YmFzZWxpbmUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheTo6TGluZUJveDo6TGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpEaXNw
bGF5OjpMaW5lQm94OjpCYXNlbGluZTo6aGVpZ2h0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkRpc3BsYXk6OkxpbmVCb3g6OkJhc2VsaW5lOjphc2NlbnQgY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheTo6TGluZUJveDo6QmFzZWxpbmU6OmRlc2Nl
bnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheTo6TGluZUJveDo6
YmFzZWxpbmVPZmZzZXQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxh
eTo6TGluZUJveDo6QmFzZWxpbmU6OkJhc2VsaW5lKTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlv
dXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlz
cGxheTo6cGFpbnRJbmxpbmVDb250ZW50KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0OjpzZXREaXNwbGF5Qm94ZXNGb3JMaW5lKToKKyAg
ICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1
aXJrcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250
ZXh0OjpRdWlya3M6OmxpbmVEZXNjZW50TmVlZHNDb2xsYXBzaW5nIGNvbnN0KToKKyAgICAgICAg
KiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjphbGlnbkNvbnRlbnRWZXJ0aWNhbGx5KToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmFkanVzdEJhc2VsaW5lQW5k
TGluZUhlaWdodCk6CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6
TGluZUxheW91dDo6Zmlyc3RMaW5lQmFzZWxpbmUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6Omxhc3RMaW5lQmFzZWxpbmUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OnBhaW50KToK
KyAgICAgICAgKiBsYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHRH
ZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9ybWF0dGluZ0Nv
bnRleHQ6Okdlb21ldHJ5Ojp1c2VkQmFzZWxpbmVGb3JDZWxsKToKKyAgICAgICAgKiBwYWdlL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OmxheW91dEZvcm1hdHRpbmdDb250ZXh0RW5hYmxlZCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpsYXlvdXRGb3JtYXR0aW5nQ29udGV4
dEludGVncmF0aW9uRW5hYmxlZCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxp
bmVCcmVhay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaW5lQnJlYWs6OmJvdW5kaW5n
Qm94Rm9yUmVuZGVyVHJlZUR1bXAgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVM
aW5lTGF5b3V0UmVzb2x2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6
OlJ1blJlc29sdmVyOjpSdW46OmJhc2VsaW5lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNp
bXBsZUxpbmVMYXlvdXQ6OlJ1blJlc29sdmVyOjpSdW46OmJhc2VsaW5lT2Zmc2V0IGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsLmg6
CisgICAgICAgIChXZWJDb3JlOjpMaW5lTGF5b3V0VHJhdmVyc2FsOjpCb3g6OmJhc2VsaW5lIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxpbmVMYXlvdXRUcmF2ZXJzYWw6OkJveDo6YmFzZWxp
bmVPZmZzZXQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9saW5lL0xpbmVM
YXlvdXRUcmF2ZXJzYWxDb21wbGV4UGF0aC5oOgorICAgICAgICAoV2ViQ29yZTo6TGluZUxheW91
dFRyYXZlcnNhbDo6Q29tcGxleFBhdGg6OmJhc2VsaW5lIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkxpbmVMYXlvdXRUcmF2ZXJzYWw6OkNvbXBsZXhQYXRoOjpiYXNlbGluZU9mZnNldCBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL2xpbmUvTGluZUxheW91dFRyYXZlcnNh
bERpc3BsYXlSdW5QYXRoLmg6CisgICAgICAgIChXZWJDb3JlOjpMaW5lTGF5b3V0VHJhdmVyc2Fs
OjpEaXNwbGF5UnVuUGF0aDo6YmFzZWxpbmUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGlu
ZUxheW91dFRyYXZlcnNhbDo6RGlzcGxheVJ1blBhdGg6OmJhc2VsaW5lT2Zmc2V0IGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsU2lt
cGxlUGF0aC5oOgorICAgICAgICAoV2ViQ29yZTo6TGluZUxheW91dFRyYXZlcnNhbDo6U2ltcGxl
UGF0aDo6YmFzZWxpbmUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGluZUxheW91dFRyYXZl
cnNhbDo6U2ltcGxlUGF0aDo6YmFzZWxpbmVPZmZzZXQgY29uc3QpOiBEZWxldGVkLgorCiAyMDIw
LTA3LTE3ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11b
SUZDXSBNb3ZlIGFsbCBsaW5lIGhlaWdodCBhbmQgYmFzZWxpbmUgYWRqdXN0bWVudCBsb2dpYyB0
byBMaW5lQnVpbGRlcjo6YWRqdXN0QmFzZWxpbmVBbmRMaW5lSGVpZ2h0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheUxpbmVCb3guaCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5TGluZUJveC5oCmluZGV4IGRiOTUy
MTdhZjMwM2U0MzM2MmZmZmFiOGJiZTE0NjkwY2UzZTZkOWIuLmNhN2YzOTU4ZGVhOTFjMjYyMWZk
YjhjZWZjNWNlYTMxNGI2YzY5YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9k
aXNwbGF5dHJlZS9EaXNwbGF5TGluZUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9k
aXNwbGF5dHJlZS9EaXNwbGF5TGluZUJveC5oCkBAIC0zNSwxOSArMzUsNyBAQCBuYW1lc3BhY2Ug
RGlzcGxheSB7CiBjbGFzcyBMaW5lQm94IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKLSAgICBzdHJ1Y3QgQmFzZWxpbmUgewotICAgICAgICBCYXNlbGluZShJbmxpbmVM
YXlvdXRVbml0IGFzY2VudCwgSW5saW5lTGF5b3V0VW5pdCBkZXNjZW50KTsKLQotICAgICAgICBJ
bmxpbmVMYXlvdXRVbml0IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGFzY2VudCgpICsgZGVzY2Vu
dCgpOyB9Ci0gICAgICAgIElubGluZUxheW91dFVuaXQgYXNjZW50KCkgY29uc3QgeyByZXR1cm4g
bV9hc2NlbnQ7IH0KLSAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBkZXNjZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9kZXNjZW50OyB9Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBJbmxpbmVMYXlvdXRV
bml0IG1fYXNjZW50IHsgMCB9OwotICAgICAgICBJbmxpbmVMYXlvdXRVbml0IG1fZGVzY2VudCB7
IDAgfTsKLSAgICB9OwotCi0gICAgTGluZUJveChjb25zdCBJbmxpbmVSZWN0JiwgY29uc3QgSW5s
aW5lUmVjdCYgc2Nyb2xsYWJsZU92ZXJmbG93LCBjb25zdCBJbmxpbmVSZWN0JiBpbmtPdmVyZmxv
dywgY29uc3QgQmFzZWxpbmUmLCBJbmxpbmVMYXlvdXRVbml0IGJhc2VsaW5lT2Zmc2V0KTsKKyAg
ICBMaW5lQm94KGNvbnN0IElubGluZVJlY3QmLCBjb25zdCBJbmxpbmVSZWN0JiBzY3JvbGxhYmxl
T3ZlcmZsb3csIGNvbnN0IElubGluZVJlY3QmIGlua092ZXJmbG93LCBJbmxpbmVMYXlvdXRVbml0
IGJhc2VsaW5lKTsKIAogICAgIGNvbnN0IElubGluZVJlY3QmIHJlY3QoKSBjb25zdCB7IHJldHVy
biBtX3JlY3Q7IH0KICAgICBjb25zdCBJbmxpbmVSZWN0JiBzY3JvbGxhYmxlT3ZlcmZsb3coKSBj
b25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVPdmVyZmxvdzsgfQpAQCAtNjMsNDQgKzUxLDIwIEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgbW92ZVZlcnRpY2FsbHkoSW5saW5lTGF5b3V0VW5pdCk7CiAK
LSAgICBjb25zdCBCYXNlbGluZSYgYmFzZWxpbmUoKSBjb25zdCB7IHJldHVybiBtX2Jhc2VsaW5l
OyB9Ci0gICAgLy8gQmFzZWxpbmUgb2Zmc2V0IGZyb20gbGluZSB0b3AuIE5vdGUgdGhhdCBvZmZz
ZXQgZG9lcyBub3QgbmVjZXNzYXJpbHkgZXF1YWwgdG8gYXNjZW50LgotICAgIC8vCi0gICAgLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLSAgICAgICAgbGluZSB0b3AgICAgICAgICAtLS0tLS0tLS0tLS0t
LS0tLS0tICh0b3AgYWxpZ24pCi0gICAgLy8gICAgICAgICAgICAgXiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi0gICAgLy8gICAgICAgICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICAgICAgICB8Ci0gICAgLy8gICBeICAg
ICAgICAgfCBiYXNlbGluZSBvZmZzZXQgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8IGJh
c2VsaW5lIG9mZnNldAotICAgIC8vICAgfCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgICAgICAgICAgfAotICAgIC8vICAgfCBhc2NlbnQgIHwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCBhc2NlbnQgICAgfAotICAgIC8vICAgfCAgICAgICAg
IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdiAgICAgICAgICAgdgotICAgIC8v
ICAgdiAgICAgICAgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0t
LS0tLS0tLSBiYXNlbGluZQotICAgIC8vICAgLS0tLS0tLS0tLS0tLS0tLS0gYmFzZWxpbmUgICAg
ICAgICAgICAgICAgICAgXgotICAgIC8vICAgXiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCBkZXNjZW50Ci0gICAgLy8gICB8IGRlc2NlbnQgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2Ci0gICAgLy8gICB2Ci0gICAgLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLSAgICAgICBsaW5lIGJvdHRvbSAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAg
SW5saW5lTGF5b3V0VW5pdCBiYXNlbGluZU9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFzZWxp
bmVPZmZzZXQ7IH0KKyAgICBJbmxpbmVMYXlvdXRVbml0IGJhc2VsaW5lKCkgY29uc3QgeyByZXR1
cm4gbV9iYXNlbGluZTsgfQogCiBwcml2YXRlOgogICAgIElubGluZVJlY3QgbV9yZWN0OwogICAg
IElubGluZVJlY3QgbV9zY3JvbGxhYmxlT3ZlcmZsb3c7CiAgICAgSW5saW5lUmVjdCBtX2lua092
ZXJmbG93OwotICAgIEJhc2VsaW5lIG1fYmFzZWxpbmU7Ci0gICAgSW5saW5lTGF5b3V0VW5pdCBt
X2Jhc2VsaW5lT2Zmc2V0IHsgMCB9OworICAgIElubGluZUxheW91dFVuaXQgbV9iYXNlbGluZSB7
IDAgfTsKIH07CiAKLWlubGluZSBMaW5lQm94OjpMaW5lQm94KGNvbnN0IElubGluZVJlY3QmIHJl
Y3QsIGNvbnN0IElubGluZVJlY3QmIHNjcm9sbGFibGVPdmVyZmxvdywgY29uc3QgSW5saW5lUmVj
dCYgaW5rT3ZlcmZsb3csIGNvbnN0IEJhc2VsaW5lJiBiYXNlbGluZSwgSW5saW5lTGF5b3V0VW5p
dCBiYXNlbGluZU9mZnNldCkKK2lubGluZSBMaW5lQm94OjpMaW5lQm94KGNvbnN0IElubGluZVJl
Y3QmIHJlY3QsIGNvbnN0IElubGluZVJlY3QmIHNjcm9sbGFibGVPdmVyZmxvdywgY29uc3QgSW5s
aW5lUmVjdCYgaW5rT3ZlcmZsb3csIElubGluZUxheW91dFVuaXQgYmFzZWxpbmUpCiAgICAgOiBt
X3JlY3QocmVjdCkKICAgICAsIG1fc2Nyb2xsYWJsZU92ZXJmbG93KHNjcm9sbGFibGVPdmVyZmxv
dykKICAgICAsIG1faW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3cpCiAgICAgLCBtX2Jhc2VsaW5lKGJh
c2VsaW5lKQotICAgICwgbV9iYXNlbGluZU9mZnNldChiYXNlbGluZU9mZnNldCkKLXsKLX0KLQot
aW5saW5lIExpbmVCb3g6OkJhc2VsaW5lOjpCYXNlbGluZShJbmxpbmVMYXlvdXRVbml0IGFzY2Vu
dCwgSW5saW5lTGF5b3V0VW5pdCBkZXNjZW50KQotICAgIDogbV9hc2NlbnQoYXNjZW50KQotICAg
ICwgbV9kZXNjZW50KGRlc2NlbnQpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UGFpbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwCmluZGV4IDkzNDYyZDFkMGYzOTIz
ODkxMTk4ODQyYmQwMmRlZjRlMjg0Nzk4MjkuLjRiY2ZmZDJhYjE0ZDU1ZjFkODYzODg3YmUyYmIx
ODM1NDIzZmQwYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5dHJl
ZS9EaXNwbGF5UGFpbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0
cmVlL0Rpc3BsYXlQYWludGVyLmNwcApAQCAtMTI5LDcgKzEyOSw3IEBAIHN0YXRpYyB2b2lkIHBh
aW50SW5saW5lQ29udGVudChHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIExheW91dFBvaW50IGFi
c29sdXRlT2ZmCiAgICAgICAgICAgICBhdXRvIGFic29sdXRlTGVmdCA9IGFic29sdXRlT2Zmc2V0
LngoKSArIHJ1bi5sZWZ0KCk7CiAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIG5vbi1iYXNlbGlu
ZSBhbGlnbiBwYWludGluZwogICAgICAgICAgICAgYXV0byYgbGluZUJveCA9IGRpc3BsYXlJbmxp
bmVDb250ZW50LT5saW5lQm94Rm9yUnVuKHJ1bik7Ci0gICAgICAgICAgICBhdXRvIGJhc2VsaW5l
T2Zmc2V0ID0gYWJzb2x1dGVPZmZzZXQueSgpICsgbGluZUJveC50b3AoKSArIGxpbmVCb3guYmFz
ZWxpbmVPZmZzZXQoKTsKKyAgICAgICAgICAgIGF1dG8gYmFzZWxpbmVPZmZzZXQgPSBhYnNvbHV0
ZU9mZnNldC55KCkgKyBsaW5lQm94LnRvcCgpICsgbGluZUJveC5iYXNlbGluZSgpOwogICAgICAg
ICAgICAgYXV0byBleHBhbnNpb24gPSBydW4uZXhwYW5zaW9uKCk7CiAgICAgICAgICAgICBhdXRv
IHRleHRSdW4gPSBUZXh0UnVuIHsgdGV4dENvbnRlbnQtPmNvbnRlbnQoKSwgcnVuLmxlZnQoKSAt
IGxpbmVCb3gubGVmdCgpLCBleHBhbnNpb24uaG9yaXpvbnRhbEV4cGFuc2lvbiwgZXhwYW5zaW9u
LmJlaGF2aW9yIH07CiAgICAgICAgICAgICB0ZXh0UnVuLnNldFRhYlNpemUoIXN0eWxlLmNvbGxh
cHNlV2hpdGVTcGFjZSgpLCBzdHlsZS50YWJTaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwCmluZGV4IGUyNWFlZTk1NDliNjMxNDI1Y2MxNjViYzE3NTJjZmY4M2Y3YjI1
M2UuLmVhNTUyYTYyZDVhZmQ3NDQxNjBiNzJiYzZmMTE3ZDMwOWRkNmMwYmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdD
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTU2OSw4ICs1NjksNyBAQCB2b2lkIElubGlu
ZUZvcm1hdHRpbmdDb250ZXh0OjpzZXREaXNwbGF5Qm94ZXNGb3JMaW5lKGNvbnN0IExpbmVMYXlv
dXRDb250ZXh0OjpMaQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAgICAg
Ly8gRklYTUU6IFRoaXMgaXMgd2hlcmUgdGhlIGxvZ2ljYWwgdG8gcGh5c2ljYWwgdHJhbnNsYXRl
IHNob3VsZCBoYXBwZW4uCi0gICAgYXV0byYgYmFzZWxpbmUgPSBsaW5lQm94LmJhc2VsaW5lKCk7
Ci0gICAgaW5saW5lQ29udGVudC5saW5lQm94ZXMuYXBwZW5kKHsgbGluZUJveC5sb2dpY2FsUmVj
dCgpLCBsaW5lQm94LnNjcm9sbGFibGVPdmVyZmxvdygpLCBsaW5lSW5rT3ZlcmZsb3csIHsgYmFz
ZWxpbmUuYXNjZW50KCksIGJhc2VsaW5lLmRlc2NlbnQoKSB9LCBsaW5lQm94LmJhc2VsaW5lT2Zm
c2V0KCkgfSk7CisgICAgaW5saW5lQ29udGVudC5saW5lQm94ZXMuYXBwZW5kKHsgbGluZUJveC5s
b2dpY2FsUmVjdCgpLCBsaW5lQm94LnNjcm9sbGFibGVPdmVyZmxvdygpLCBsaW5lSW5rT3ZlcmZs
b3csIGxpbmVCb3guYmFzZWxpbmVPZmZzZXQoKSB9KTsKIH0KIAogdm9pZCBJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dDo6aW52YWxpZGF0ZUZvcm1hdHRpbmdTdGF0ZShjb25zdCBJbnZhbGlkYXRpb25T
dGF0ZSYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAKaW5k
ZXggODQ2MmVkZWI5ZGEwYWEzNWVmMTEzZmVmZmI2ODY3YzA0YTk2ODVmMC4uZTBkYTNiYmNmMzQ0
YmI3YTA3YzU3ODE4NjJiYzg5MThhNzU4NmRmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0UXVpcmtzLmNwcApAQCAtNjAsOCArNjAsOCBAQCBib29sIElubGluZUZvcm1h
dHRpbmdDb250ZXh0OjpRdWlya3M6OmxpbmVEZXNjZW50TmVlZHNDb2xsYXBzaW5nKGNvbnN0IExp
bmVCdWlsZAogICAgICAgICBpZiAocnVuLmlzQm94KCkpIHsKICAgICAgICAgICAgIGlmIChsYXlv
dXRCb3guaXNJbmxpbmVCbG9ja0JveCgpICYmIGxheW91dEJveC5lc3RhYmxpc2hlc0lubGluZUZv
cm1hdHRpbmdDb250ZXh0KCkpIHsKICAgICAgICAgICAgICAgICBhdXRvJiBmb3JtYXR0aW5nU3Rh
dGUgPSBsYXlvdXRTdGF0ZS5lc3RhYmxpc2hlZElubGluZUZvcm1hdHRpbmdTdGF0ZShkb3duY2Fz
dDxDb250YWluZXJCb3g+KGxheW91dEJveCkpOwotICAgICAgICAgICAgICAgIGF1dG8gaW5saW5l
QmxvY2tCYXNlbGluZSA9IGZvcm1hdHRpbmdTdGF0ZS5kaXNwbGF5SW5saW5lQ29udGVudCgpLT5s
aW5lQm94ZXMubGFzdCgpLmJhc2VsaW5lKCk7Ci0gICAgICAgICAgICAgICAgaWYgKGlubGluZUJs
b2NrQmFzZWxpbmUuZGVzY2VudCgpKQorICAgICAgICAgICAgICAgIGF1dG8gbGFzdExpbmVCb3gg
PSBmb3JtYXR0aW5nU3RhdGUuZGlzcGxheUlubGluZUNvbnRlbnQoKS0+bGluZUJveGVzLmxhc3Qo
KTsKKyAgICAgICAgICAgICAgICBpZiAobGFzdExpbmVCb3guaGVpZ2h0KCkgPiBsYXN0TGluZUJv
eC5iYXNlbGluZSgpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcAppbmRl
eCBjNzJjZDdkYzU3MDNhNzdhMGMzOWU2ZTk1OWI1YzM3MGQ1ZGQ2YmE4Li5kMjYwYzhhOGVmOWZi
YjhhZTBmYTBiYTA4NWRlMTViYzNkNGQ3MGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuY3BwCkBA
IC0xNTMsNyArMTUzLDcgQEAgdm9pZCBMaW5lQnVpbGRlcjo6YWxpZ25Db250ZW50VmVydGljYWxs
eSgpCiAgICAgICAgICAgICB9IGVsc2UgaWYgKGxheW91dEJveC5pc0lubGluZUJsb2NrQm94KCkg
JiYgbGF5b3V0Qm94LmVzdGFibGlzaGVzSW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKSkgewogICAg
ICAgICAgICAgICAgIGF1dG8mIGZvcm1hdHRpbmdTdGF0ZSA9IGxheW91dFN0YXRlKCkuZXN0YWJs
aXNoZWRJbmxpbmVGb3JtYXR0aW5nU3RhdGUoZG93bmNhc3Q8Q29udGFpbmVyQm94PihsYXlvdXRC
b3gpKTsKICAgICAgICAgICAgICAgICAvLyBTcGVjIG1ha2VzIHVzIGdlbmVyYXRlIGF0IGxlYXN0
IG9uZSBsaW5lIC1ldmVuIGlmIGl0IGlzIGVtcHR5LgotICAgICAgICAgICAgICAgIGF1dG8gaW5s
aW5lQmxvY2tCYXNlbGluZU9mZnNldCA9IGZvcm1hdHRpbmdTdGF0ZS5kaXNwbGF5SW5saW5lQ29u
dGVudCgpLT5saW5lQm94ZXMubGFzdCgpLmJhc2VsaW5lT2Zmc2V0KCk7CisgICAgICAgICAgICAg
ICAgYXV0byBpbmxpbmVCbG9ja0Jhc2VsaW5lID0gZm9ybWF0dGluZ1N0YXRlLmRpc3BsYXlJbmxp
bmVDb250ZW50KCktPmxpbmVCb3hlcy5sYXN0KCkuYmFzZWxpbmUoKTsKICAgICAgICAgICAgICAg
ICAvLyBUaGUgaW5saW5lLWJsb2NrJ3MgYmFzZWxpbmUgb2Zmc2V0IGlzIHJlbGF0aXZlIHRvIGl0
cyBjb250ZW50IGJveC4gTGV0J3MgY29udmVydCBpdCByZWxhdGl2ZSB0byB0aGUgbWFyZ2luIGJv
eC4KICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgX19fX19fX19fX19fX19fIDwtIG1hcmdp
biBib3gKICAgICAgICAgICAgICAgICAvLyAgICAgICAgICB8CkBAIC0xNjcsNyArMTY3LDcgQEAg
dm9pZCBMaW5lQnVpbGRlcjo6YWxpZ25Db250ZW50VmVydGljYWxseSgpCiAgICAgICAgICAgICAg
ICAgLy8gICAgIC0tLS0tfC18LXwtLS0tLS0tLS0tIDwtIGJhc2VsaW5lCiAgICAgICAgICAgICAg
ICAgLy8KICAgICAgICAgICAgICAgICBhdXRvJiBib3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250
ZXh0KCkuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKLSAgICAgICAgICAgICAgICBhdXRvIGJh
c2VsaW5lT2Zmc2V0RnJvbU1hcmdpbkJveCA9IGJveEdlb21ldHJ5Lm1hcmdpbkJlZm9yZSgpICsg
Ym94R2VvbWV0cnkuYm9yZGVyVG9wKCkgKyBib3hHZW9tZXRyeS5wYWRkaW5nVG9wKCkudmFsdWVP
cigwKSArIGlubGluZUJsb2NrQmFzZWxpbmVPZmZzZXQ7CisgICAgICAgICAgICAgICAgYXV0byBi
YXNlbGluZU9mZnNldEZyb21NYXJnaW5Cb3ggPSBib3hHZW9tZXRyeS5tYXJnaW5CZWZvcmUoKSAr
IGJveEdlb21ldHJ5LmJvcmRlclRvcCgpICsgYm94R2VvbWV0cnkucGFkZGluZ1RvcCgpLnZhbHVl
T3IoMCkgKyBpbmxpbmVCbG9ja0Jhc2VsaW5lOwogICAgICAgICAgICAgICAgIGxvZ2ljYWxUb3Ag
PSBiYXNlbGluZU9mZnNldCgpIC0gYmFzZWxpbmVPZmZzZXRGcm9tTWFyZ2luQm94OwogICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBhdXRvJiBib3hHZW9tZXRyeSA9IGZvcm1h
dHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKQEAgLTYxNywxNCArNjE3
LDEwIEBAIHZvaWQgTGluZUJ1aWxkZXI6OmFkanVzdEJhc2VsaW5lQW5kTGluZUhlaWdodCgpCiAg
ICAgICAgICAgICAgICAgaWYgKGxheW91dEJveC5pc0lubGluZUJsb2NrQm94KCkgJiYgbGF5b3V0
Qm94LmVzdGFibGlzaGVzSW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKSkgewogICAgICAgICAgICAg
ICAgICAgICAvLyBJbmxpbmUtYmxvY2tzIHdpdGggaW5saW5lIGNvbnRlbnQgYWx3YXlzIGhhdmUg
YmFzZWxpbmVzLgogICAgICAgICAgICAgICAgICAgICBhdXRvJiBmb3JtYXR0aW5nU3RhdGUgPSBs
YXlvdXRTdGF0ZSgpLmVzdGFibGlzaGVkSW5saW5lRm9ybWF0dGluZ1N0YXRlKGRvd25jYXN0PENv
bnRhaW5lckJveD4obGF5b3V0Qm94KSk7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFNwZWMgbWFr
ZXMgdXMgZ2VuZXJhdGUgYXQgbGVhc3Qgb25lIGxpbmUgLWV2ZW4gaWYgaXQgaXMgZW1wdHkuCisg
ICAgICAgICAgICAgICAgICAgIC8vIFRoZXJlIGhhcyB0byBiZSBhdCBsZWFzdCBvbmUgbGluZSAt
ZXZlbiBpZiBpdCBpcyBlbXB0eS4KICAgICAgICAgICAgICAgICAgICAgYXV0byYgbGFzdExpbmVC
b3ggPSBmb3JtYXR0aW5nU3RhdGUuZGlzcGxheUlubGluZUNvbnRlbnQoKS0+bGluZUJveGVzLmxh
c3QoKTsKLSAgICAgICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCbG9ja0Jhc2VsaW5lID0gbGFz
dExpbmVCb3guYmFzZWxpbmUoKTsKICAgICAgICAgICAgICAgICAgICAgYXV0byBiZWZvcmVIZWln
aHQgPSBib3hHZW9tZXRyeS5tYXJnaW5CZWZvcmUoKSArIGJveEdlb21ldHJ5LmJvcmRlclRvcCgp
ICsgYm94R2VvbWV0cnkucGFkZGluZ1RvcCgpLnZhbHVlT3IoMCk7Ci0KLSAgICAgICAgICAgICAg
ICAgICAgbV9saW5lQm94LnNldEFzY2VudElmR3JlYXRlcihpbmxpbmVCbG9ja0Jhc2VsaW5lLmFz
Y2VudCgpKTsKLSAgICAgICAgICAgICAgICAgICAgbV9saW5lQm94LnNldERlc2NlbnRJZkdyZWF0
ZXIoaW5saW5lQmxvY2tCYXNlbGluZS5kZXNjZW50KCkpOwotICAgICAgICAgICAgICAgICAgICBt
X2xpbmVCb3guc2V0QmFzZWxpbmVPZmZzZXRJZkdyZWF0ZXIoYmVmb3JlSGVpZ2h0ICsgbGFzdExp
bmVCb3guYmFzZWxpbmVPZmZzZXQoKSk7CisgICAgICAgICAgICAgICAgICAgIG1fbGluZUJveC5z
ZXRCYXNlbGluZU9mZnNldElmR3JlYXRlcihiZWZvcmVIZWlnaHQgKyBsYXN0TGluZUJveC5iYXNl
bGluZSgpKTsKICAgICAgICAgICAgICAgICAgICAgbV9saW5lQm94LnNldExvZ2ljYWxIZWlnaHRJ
ZkdyZWF0ZXIobWFyZ2luQm94SGVpZ2h0KTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgICAgICAvLyBOb24gaW5saW5lLWJsb2NrIGJveGVzIHNpdCBvbiB0aGUgYmFz
ZWxpbmUgKGluY2x1ZGluZyB0aGVpciBib3R0b20gbWFyZ2luKS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9u
TGluZUxheW91dC5jcHAKaW5kZXggNTFmYzVlMTRlNjZiMjFmZjY2MjdkYTdhODY3ZGM3ZmFlZmJm
MTVjNC4uM2RlMjBiN2I3NTUxOWY3YjY0YzRjM2M2NWQ4ZDhmNzhkYmE5ZTVlZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGlu
ZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKQEAgLTE3Myw3ICsxNzMsNyBAQCBMYXlvdXRVbml0
IExpbmVMYXlvdXQ6OmZpcnN0TGluZUJhc2VsaW5lKCkgY29uc3QKICAgICB9CiAKICAgICBhdXRv
JiBmaXJzdExpbmVCb3ggPSBpbmxpbmVDb250ZW50LT5saW5lQm94ZXMuZmlyc3QoKTsKLSAgICBy
ZXR1cm4gTGF5b3V0Ojp0b0xheW91dFVuaXQoZmlyc3RMaW5lQm94LnRvcCgpICsgZmlyc3RMaW5l
Qm94LmJhc2VsaW5lT2Zmc2V0KCkpOworICAgIHJldHVybiBMYXlvdXQ6OnRvTGF5b3V0VW5pdChm
aXJzdExpbmVCb3gudG9wKCkgKyBmaXJzdExpbmVCb3guYmFzZWxpbmUoKSk7CiB9CiAKIExheW91
dFVuaXQgTGluZUxheW91dDo6bGFzdExpbmVCYXNlbGluZSgpIGNvbnN0CkBAIC0xODUsNyArMTg1
LDcgQEAgTGF5b3V0VW5pdCBMaW5lTGF5b3V0OjpsYXN0TGluZUJhc2VsaW5lKCkgY29uc3QKICAg
ICB9CiAKICAgICBhdXRvJiBsYXN0TGluZUJveCA9IGlubGluZUNvbnRlbnQtPmxpbmVCb3hlcy5s
YXN0KCk7Ci0gICAgcmV0dXJuIExheW91dDo6dG9MYXlvdXRVbml0KGxhc3RMaW5lQm94LnRvcCgp
ICsgbGFzdExpbmVCb3guYmFzZWxpbmVPZmZzZXQoKSk7CisgICAgcmV0dXJuIExheW91dDo6dG9M
YXlvdXRVbml0KGxhc3RMaW5lQm94LnRvcCgpICsgbGFzdExpbmVCb3guYmFzZWxpbmUoKSk7CiB9
CiAKIHZvaWQgTGluZUxheW91dDo6Y29sbGVjdE92ZXJmbG93KFJlbmRlckJsb2NrRmxvdyYgZmxv
dykKQEAgLTI5NCw3ICsyOTQsNyBAQCB2b2lkIExpbmVMYXlvdXQ6OnBhaW50KFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgICAgIH0KIAog
ICAgICAgICBhdXRvJiBsaW5lQm94ID0gaW5saW5lQ29udGVudC5saW5lQm94Rm9yUnVuKHJ1bik7
Ci0gICAgICAgIGF1dG8gYmFzZWxpbmVPZmZzZXQgPSBwYWludE9mZnNldC55KCkgKyBsaW5lQm94
LnRvcCgpICsgbGluZUJveC5iYXNlbGluZU9mZnNldCgpOworICAgICAgICBhdXRvIGJhc2VsaW5l
T2Zmc2V0ID0gcGFpbnRPZmZzZXQueSgpICsgbGluZUJveC50b3AoKSArIGxpbmVCb3guYmFzZWxp
bmUoKTsKICAgICAgICAgYXV0byBleHBhbnNpb24gPSBydW4uZXhwYW5zaW9uKCk7CiAKICAgICAg
ICAgU3RyaW5nIHRleHRXaXRoSHlwaGVuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250
ZXh0R2VvbWV0cnkuY3BwCmluZGV4IDFkNTI2MDNjZjUzZDM3YWZkZGNkNWE2MjdlNzNjNDVmYTc5
MWQ1Y2QuLmNmZWNkMWYxYmJkNjIzZTVlYTkzMmFmY2U5NjkzYjYzOGFlZGFjMTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVGb3JtYXR0aW5n
Q29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFibGVmb3Jt
YXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAgLTEzMiwxMiArMTMy
LDEyIEBAIElubGluZUxheW91dFVuaXQgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6
OnVzZWRCYXNlbGluZUZvckNlbGwoY29uc3QgQ29uCiAgICAgLy8gb3IgdGhlIGZpcnN0IGluLWZs
b3cgdGFibGUtcm93IGluIHRoZSBjZWxsLCB3aGljaGV2ZXIgY29tZXMgZmlyc3QuCiAgICAgLy8g
SWYgdGhlcmUgaXMgbm8gc3VjaCBsaW5lIGJveCwgdGhlIGJhc2VsaW5lIGlzIHRoZSBib3R0b20g
b2YgY29udGVudCBlZGdlIG9mIHRoZSBjZWxsIGJveC4KICAgICBpZiAoY2VsbEJveC5lc3RhYmxp
c2hlc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCkpCi0gICAgICAgIHJldHVybiBsYXlvdXRTdGF0
ZSgpLmVzdGFibGlzaGVkSW5saW5lRm9ybWF0dGluZ1N0YXRlKGNlbGxCb3gpLmRpc3BsYXlJbmxp
bmVDb250ZW50KCktPmxpbmVCb3hlc1swXS5iYXNlbGluZU9mZnNldCgpOworICAgICAgICByZXR1
cm4gbGF5b3V0U3RhdGUoKS5lc3RhYmxpc2hlZElubGluZUZvcm1hdHRpbmdTdGF0ZShjZWxsQm94
KS5kaXNwbGF5SW5saW5lQ29udGVudCgpLT5saW5lQm94ZXNbMF0uYmFzZWxpbmUoKTsKICAgICBm
b3IgKGF1dG8mIGNlbGxEZXNjZW5kYW50IDogZGVzY2VuZGFudHNPZlR5cGU8Q29udGFpbmVyQm94
PihjZWxsQm94KSkgewogICAgICAgICBpZiAoY2VsbERlc2NlbmRhbnQuZXN0YWJsaXNoZXNJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dCgpKSB7CiAgICAgICAgICAgICBhdXRvKiBkaXNwbGF5SW5saW5l
Q29udGVudCA9IGxheW91dFN0YXRlKCkuZXN0YWJsaXNoZWRJbmxpbmVGb3JtYXR0aW5nU3RhdGUo
Y2VsbERlc2NlbmRhbnQpLmRpc3BsYXlJbmxpbmVDb250ZW50KCk7CiAgICAgICAgICAgICBpZiAo
IWRpc3BsYXlJbmxpbmVDb250ZW50LT5ydW5zLmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gZGlzcGxheUlubGluZUNvbnRlbnQtPmxpbmVCb3hlc1swXS5iYXNlbGluZU9mZnNldCgp
OworICAgICAgICAgICAgICAgIHJldHVybiBkaXNwbGF5SW5saW5lQ29udGVudC0+bGluZUJveGVz
WzBdLmJhc2VsaW5lKCk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGNlbGxEZXNjZW5kYW50LmVz
dGFibGlzaGVzVGFibGVGb3JtYXR0aW5nQ29udGV4dCgpKQogICAgICAgICAgICAgcmV0dXJuIGxh
eW91dFN0YXRlKCkuZXN0YWJsaXNoZWRUYWJsZUZvcm1hdHRpbmdTdGF0ZShjZWxsRGVzY2VuZGFu
dCkudGFibGVHcmlkKCkucm93cygpLmxpc3QoKVswXS5iYXNlbGluZU9mZnNldCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmNwcAppbmRleCA0ZmQ0NzZiYTA2
NTE5ZGE1MWM4YjBkZTU2OTIwM2M4NjM1OTg5OTYzLi5mNTgwNjg4OTRlYjRmMWEzNzRmMTU1ZWYz
NDJjMWVlNTgwYzE5NmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGluZUJyZWFrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlu
ZUJyZWFrLmNwcApAQCAtMTg5LDEwICsxODksMTAgQEAgSW50UmVjdCBSZW5kZXJMaW5lQnJlYWs6
OmJvdW5kaW5nQm94Rm9yUmVuZGVyVHJlZUR1bXAoKSBjb25zdAogICAgIGJvb2wgaW5RdWlya3NN
b2RlID0gIWRvY3VtZW50KCkuaW5Ob1F1aXJrc01vZGUoKTsKICAgICBpZiAoaW5RdWlya3NNb2Rl
ICYmICFpc1dCUigpICYmIGJveC0+dXNlTGluZUJyZWFrQm94UmVuZGVyVHJlZUR1bXBRdWlyaygp
KSB7CiAgICAgICAgIGlmICghYm94LT5pc0hvcml6b250YWwoKSkgewotICAgICAgICAgICAgYXV0
byBiYXNlbGluZSA9IHN0eWxlKCkuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSA/IHJlY3Qu
eCgpICsgYm94LT5iYXNlbGluZU9mZnNldCgpIDogcmVjdC5tYXhYKCkgLSBib3gtPmJhc2VsaW5l
T2Zmc2V0KCk7CisgICAgICAgICAgICBhdXRvIGJhc2VsaW5lID0gc3R5bGUoKS5pc0ZsaXBwZWRC
bG9ja3NXcml0aW5nTW9kZSgpID8gcmVjdC54KCkgKyBib3gtPmJhc2VsaW5lKCkgOiByZWN0Lm1h
eFgoKSAtIGJveC0+YmFzZWxpbmUoKTsKICAgICAgICAgICAgIHJldHVybiBlbmNsb3NpbmdJbnRS
ZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KGJhc2VsaW5lLCByZWN0LnkoKSksIEZsb2F0U2l6ZSgw
LCByZWN0LmhlaWdodCgpKSkpOwogICAgICAgICB9Ci0gICAgICAgIGF1dG8gYmFzZWxpbmUgPSBy
ZWN0LnkoKSArIGJveC0+YmFzZWxpbmVPZmZzZXQoKTsKKyAgICAgICAgYXV0byBiYXNlbGluZSA9
IHJlY3QueSgpICsgYm94LT5iYXNlbGluZSgpOwogICAgICAgICByZXR1cm4gZW5jbG9zaW5nSW50
UmVjdChGbG9hdFJlY3QoRmxvYXRQb2ludChyZWN0LngoKSwgYmFzZWxpbmUpLCBGbG9hdFNpemUo
cmVjdC53aWR0aCgpLCAwKSkpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5oCmluZGV4IGY3NGE4MDNmYWYxMzUwODRl
YmFiYWZmMTVkMzc0NzVlNzExNDJmNTIuLjFjNjAwNDdmNTU3M2JhODA3ZDRjNDEwMzdiMjA3MWUx
OTQ0NDU1M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5l
TGF5b3V0UmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGlu
ZUxheW91dFJlc29sdmVyLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogICAgICAgICBmbG9h
dCBleHBhbnNpb24oKSBjb25zdDsKICAgICAgICAgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9u
QmVoYXZpb3IoKSBjb25zdDsKICAgICAgICAgaW50IGJhc2VsaW5lUG9zaXRpb24oKSBjb25zdDsK
LSAgICAgICAgaW50IGJhc2VsaW5lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9pdGVyYXRvci5y
ZXNvbHZlcigpLm1fYmFzZWxpbmU7IH0KKyAgICAgICAgaW50IGJhc2VsaW5lKCkgY29uc3QgeyBy
ZXR1cm4gbV9pdGVyYXRvci5yZXNvbHZlcigpLm1fYmFzZWxpbmU7IH0KICAgICAgICAgU3RyaW5n
VmlldyB0ZXh0KCkgY29uc3Q7CiAgICAgICAgIFN0cmluZyB0ZXh0V2l0aEh5cGhlbigpIGNvbnN0
OwogICAgICAgICBjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyKCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsLmgKaW5k
ZXggYjk2OGVmNzA4OTAyM2MxYTExODE5YzFlMmFkYzk0NTcwYWZlZWEzNy4uZDczMDQ5NzQxNTNi
NDQ2ZTQ2YzRmYjZmMWE0MmMxOThlMTljZWNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL2xpbmUvTGluZUxheW91dFRyYXZlcnNhbC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9saW5lL0xpbmVMYXlvdXRUcmF2ZXJzYWwuaApAQCAtNTcsNyArNTcsNyBAQCBw
dWJsaWM6CiAKICAgICBGbG9hdFJlY3QgcmVjdCgpIGNvbnN0OwogCi0gICAgZmxvYXQgYmFzZWxp
bmVPZmZzZXQoKSBjb25zdDsKKyAgICBmbG9hdCBiYXNlbGluZSgpIGNvbnN0OwogCiAgICAgYm9v
bCBpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgY29uc3Q7CiAgICAgYm9vbCBpc0hvcml6b250YWwo
KSBjb25zdDsKQEAgLTE2MywxMCArMTYzLDEwIEBAIGlubGluZSBGbG9hdFJlY3QgQm94OjpyZWN0
KCkgY29uc3QKICAgICB9KTsKIH0KIAotaW5saW5lIGZsb2F0IEJveDo6YmFzZWxpbmVPZmZzZXQo
KSBjb25zdAoraW5saW5lIGZsb2F0IEJveDo6YmFzZWxpbmUoKSBjb25zdAogewogICAgIHJldHVy
biBXVEY6OnN3aXRjaE9uKG1fcGF0aFZhcmlhbnQsIFtdKGF1dG8mIHBhdGgpIHsKLSAgICAgICAg
cmV0dXJuIHBhdGguYmFzZWxpbmVPZmZzZXQoKTsKKyAgICAgICAgcmV0dXJuIHBhdGguYmFzZWxp
bmUoKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L2xpbmUvTGluZUxheW91dFRyYXZlcnNhbENvbXBsZXhQYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsQ29tcGxleFBhdGguaAppbmRleCAyZjQy
NGNhOWEyOTljNzExMGRmYzk0NjFkOGUyNjJkMjM1ZDUxYzBiLi5hNjZkYjdmY2I5MjgwYTUzMzdm
MGMxYjhlNjE3ODUyMGExNzUwN2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsQ29tcGxleFBhdGguaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsQ29tcGxleFBhdGguaApAQCAt
NDYsNyArNDYsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0hvcml6b250YWwoKSBjb25zdCB7IHJl
dHVybiBtX2lubGluZUJveC0+aXNIb3Jpem9udGFsKCk7IH0KICAgICBib29sIGRpck92ZXJyaWRl
KCkgY29uc3QgeyByZXR1cm4gbV9pbmxpbmVCb3gtPmRpck92ZXJyaWRlKCk7IH0KICAgICBib29s
IGlzTGluZUJyZWFrKCkgY29uc3QgeyByZXR1cm4gbV9pbmxpbmVCb3gtPmlzTGluZUJyZWFrKCk7
IH0KLSAgICBmbG9hdCBiYXNlbGluZU9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lQm94
LT5iYXNlbGluZVBvc2l0aW9uKEFscGhhYmV0aWNCYXNlbGluZSk7IH0KKyAgICBmbG9hdCBiYXNl
bGluZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lQm94LT5iYXNlbGluZVBvc2l0aW9uKEFscGhh
YmV0aWNCYXNlbGluZSk7IH0KIAogICAgIGJvb2wgdXNlTGluZUJyZWFrQm94UmVuZGVyVHJlZUR1
bXBRdWlyaygpIGNvbnN0CiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL2xpbmUvTGluZUxheW91dFRyYXZlcnNhbERpc3BsYXlSdW5QYXRoLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsRGlzcGxheVJ1blBhdGguaApp
bmRleCAwYzg0OWJmYWI3MTM0YTRkMzgzYTIyZTNmNDY2MzQ1M2ViY2M4MWEyLi45NWIyNzQyODBm
MjNkNmNlZGY2ZmNjNjY1ODRiNGIwM2EyOWI0OGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsRGlzcGxheVJ1blBhdGguaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsRGlzcGxh
eVJ1blBhdGguaApAQCAtNTIsNyArNTIsNyBAQCBwdWJsaWM6CiAKICAgICBGbG9hdFJlY3QgcmVj
dCgpIGNvbnN0OwogCi0gICAgZmxvYXQgYmFzZWxpbmVPZmZzZXQoKSBjb25zdCB7IHJldHVybiBs
aW5lQm94KCkuYmFzZWxpbmVPZmZzZXQoKTsgfQorICAgIGZsb2F0IGJhc2VsaW5lKCkgY29uc3Qg
eyByZXR1cm4gbGluZUJveCgpLmJhc2VsaW5lKCk7IH0KIAogICAgIGJvb2wgaXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIGlzSG9yaXpvbnRh
bCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9saW5lL0xpbmVMYXlvdXRUcmF2ZXJzYWxTaW1wbGVQYXRoLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsU2ltcGxlUGF0aC5oCmluZGV4
IGEwNzQ1M2IzNjUyYzI3MTUwZGY0ZDRjNTdiMjZmMTVmMDc3N2I3YTEuLjBjZDNjMjNmNzA5ODM5
ZjA4MDY5YTNiNTVlZGRmYjE4MGYyNzcwZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9saW5lL0xpbmVMYXlvdXRUcmF2ZXJzYWxTaW1wbGVQYXRoLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZUxheW91dFRyYXZlcnNhbFNpbXBsZVBhdGguaApA
QCAtNDAsNyArNDAsNyBAQCBwdWJsaWM6CiAKICAgICBGbG9hdFJlY3QgcmVjdCgpIGNvbnN0IHsg
cmV0dXJuICgqbV9pdGVyYXRvcikucmVjdCgpOyB9CiAKLSAgICBmbG9hdCBiYXNlbGluZU9mZnNl
dCgpIGNvbnN0IHsgcmV0dXJuICgqbV9pdGVyYXRvcikuYmFzZWxpbmVPZmZzZXQoKTsgfQorICAg
IGZsb2F0IGJhc2VsaW5lKCkgY29uc3QgeyByZXR1cm4gKCptX2l0ZXJhdG9yKS5iYXNlbGluZSgp
OyB9CiAKICAgICBib29sIGlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9CiAgICAgYm9vbCBpc0hvcml6b250YWwoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407068</attachid>
            <date>2020-08-23 06:00:35 -0700</date>
            <delta_ts>2020-08-23 06:53:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214720-20200823060034.patch</filename>
            <type>text/plain</type>
            <size>22037</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDM4NjQ3ZTQzOTZkY2Zk
MDFkYTUxY2MyNGEyYWU2OTlhOTE1M2Y1Yi4uNjc0NmZkOTExNTc5NjM3OWIxYmNlMmU0NTU3ZmE2
ZWFkMjVlZjhkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDIwLTA4LTIzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBEaXNwbGF5
OjpMaW5lQm94IGRvZXMgbm90IG5lZWQgYXNjZW50L2Rlc2NlbnQgZ2VvbWV0cnkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDcyMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExpbmUgYm94IGlzIGp1c3Qg
YSByZWN0YW5ndWxhciBhcmVhIHRoYXQgY29udGFpbnMgYWxsIHRoZSBpbmxpbmUgYm94ZXMgdGhh
dCBmb3JtIGEgc2luZ2xlIGxpbmUuCisgICAgICAgIEl0IGdlbmVyYWxseSBoYXMgYSBub24temVy
byBiYXNlbGluZSAodGhlIHJvb3QgaW5saW5lIGJveCdzIGJhc2VsaW5lKSwgYnV0IGl0IGRvZXMg
bm90IGhhdmUgYXNjZW50L2Rlc2NlbnQgZ2VvbWV0cnkuCisKKyAgICAgICAgKiBsYXlvdXQvZGlz
cGxheXRyZWUvRGlzcGxheUxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6Okxp
bmVCb3g6OmJhc2VsaW5lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OkxpbmVC
b3g6OkxpbmVCb3gpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheTo6TGluZUJveDo6QmFzZWxp
bmU6OmhlaWdodCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpM
aW5lQm94OjpCYXNlbGluZTo6YXNjZW50IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkRpc3BsYXk6OkxpbmVCb3g6OkJhc2VsaW5lOjpkZXNjZW50IGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OkxpbmVCb3g6OmJhc2VsaW5lT2Zmc2V0IGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OkxpbmVCb3g6OkJhc2VsaW5l
OjpCYXNlbGluZSk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3Bs
YXlQYWludGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OnBhaW50SW5saW5lQ29u
dGVudCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6c2V0RGlzcGxheUJveGVzRm9yTGluZSk6CisgICAgICAgICogbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpsaW5lRGVz
Y2VudE5lZWRzQ29sbGFwc2luZyBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpM
aW5lQnVpbGRlcjo6YWxpZ25Db250ZW50VmVydGljYWxseSk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmVCdWlsZGVyOjphZGp1c3RCYXNlbGluZUFuZExpbmVIZWlnaHQpOgorICAgICAg
ICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmZpcnN0TGlu
ZUJhc2VsaW5lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpM
aW5lTGF5b3V0OjpsYXN0TGluZUJhc2VsaW5lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0OjpwYWludCk6CisgICAgICAgICogbGF5b3V0L3Rh
YmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6dXNl
ZEJhc2VsaW5lRm9yQ2VsbCk6CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
Lmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpsYXlvdXRGb3Jt
YXR0aW5nQ29udGV4dEVuYWJsZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVu
YWJsZWRGZWF0dXJlczo6bGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQg
Y29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGluZUJyZWFrOjpib3VuZGluZ0JveEZvclJlbmRlclRyZWVEdW1w
IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpSdW5SZXNvbHZlcjo6UnVuOjpi
YXNlbGluZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpSdW5S
ZXNvbHZlcjo6UnVuOjpiYXNlbGluZU9mZnNldCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
cmVuZGVyaW5nL2xpbmUvTGluZUxheW91dFRyYXZlcnNhbC5oOgorICAgICAgICAoV2ViQ29yZTo6
TGluZUxheW91dFRyYXZlcnNhbDo6Qm94OjpiYXNlbGluZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMaW5lTGF5b3V0VHJhdmVyc2FsOjpCb3g6OmJhc2VsaW5lT2Zmc2V0IGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0VHJhdmVyc2FsQ29tcGxl
eFBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmVMYXlvdXRUcmF2ZXJzYWw6OkNvbXBsZXhQ
YXRoOjpiYXNlbGluZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMaW5lTGF5b3V0VHJhdmVy
c2FsOjpDb21wbGV4UGF0aDo6YmFzZWxpbmVPZmZzZXQgY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAqIHJlbmRlcmluZy9saW5lL0xpbmVMYXlvdXRUcmF2ZXJzYWxEaXNwbGF5UnVuUGF0aC5oOgor
ICAgICAgICAoV2ViQ29yZTo6TGluZUxheW91dFRyYXZlcnNhbDo6RGlzcGxheVJ1blBhdGg6OmJh
c2VsaW5lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxpbmVMYXlvdXRUcmF2ZXJzYWw6OkRp
c3BsYXlSdW5QYXRoOjpiYXNlbGluZU9mZnNldCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
cmVuZGVyaW5nL2xpbmUvTGluZUxheW91dFRyYXZlcnNhbFNpbXBsZVBhdGguaDoKKyAgICAgICAg
KFdlYkNvcmU6OkxpbmVMYXlvdXRUcmF2ZXJzYWw6OlNpbXBsZVBhdGg6OmJhc2VsaW5lIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkxpbmVMYXlvdXRUcmF2ZXJzYWw6OlNpbXBsZVBhdGg6OmJh
c2VsaW5lT2Zmc2V0IGNvbnN0KTogRGVsZXRlZC4KKwogMjAyMC0wOC0yMyAgWmFsYW4gQnVqdGFz
ICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gTW92ZSBhbGwgbGluZSBo
ZWlnaHQgYW5kIGJhc2VsaW5lIGFkanVzdG1lbnQgbG9naWMgdG8gTGluZUJ1aWxkZXI6OmFkanVz
dEJhc2VsaW5lQW5kTGluZUhlaWdodApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Rpc3BsYXl0cmVlL0Rpc3BsYXlMaW5lQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlz
cGxheXRyZWUvRGlzcGxheUxpbmVCb3guaAppbmRleCBkYjk1MjE3YWYzMDNlNDMzNjJmZmZhYjhi
YmUxNDY5MGNlM2U2ZDliLi5jYTdmMzk1OGRlYTkxYzI2MjFmZGI4Y2VmYzVjZWEzMTRiNmM2OWJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheUxp
bmVCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheUxp
bmVCb3guaApAQCAtMzUsMTkgKzM1LDcgQEAgbmFtZXNwYWNlIERpc3BsYXkgewogY2xhc3MgTGlu
ZUJveCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RydWN0
IEJhc2VsaW5lIHsKLSAgICAgICAgQmFzZWxpbmUoSW5saW5lTGF5b3V0VW5pdCBhc2NlbnQsIElu
bGluZUxheW91dFVuaXQgZGVzY2VudCk7Ci0KLSAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBoZWln
aHQoKSBjb25zdCB7IHJldHVybiBhc2NlbnQoKSArIGRlc2NlbnQoKTsgfQotICAgICAgICBJbmxp
bmVMYXlvdXRVbml0IGFzY2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fYXNjZW50OyB9Ci0gICAgICAg
IElubGluZUxheW91dFVuaXQgZGVzY2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzY2VudDsgfQot
Ci0gICAgcHJpdmF0ZToKLSAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBtX2FzY2VudCB7IDAgfTsK
LSAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBtX2Rlc2NlbnQgeyAwIH07Ci0gICAgfTsKLQotICAg
IExpbmVCb3goY29uc3QgSW5saW5lUmVjdCYsIGNvbnN0IElubGluZVJlY3QmIHNjcm9sbGFibGVP
dmVyZmxvdywgY29uc3QgSW5saW5lUmVjdCYgaW5rT3ZlcmZsb3csIGNvbnN0IEJhc2VsaW5lJiwg
SW5saW5lTGF5b3V0VW5pdCBiYXNlbGluZU9mZnNldCk7CisgICAgTGluZUJveChjb25zdCBJbmxp
bmVSZWN0JiwgY29uc3QgSW5saW5lUmVjdCYgc2Nyb2xsYWJsZU92ZXJmbG93LCBjb25zdCBJbmxp
bmVSZWN0JiBpbmtPdmVyZmxvdywgSW5saW5lTGF5b3V0VW5pdCBiYXNlbGluZSk7CiAKICAgICBj
b25zdCBJbmxpbmVSZWN0JiByZWN0KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0OyB9CiAgICAgY29u
c3QgSW5saW5lUmVjdCYgc2Nyb2xsYWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9zY3Jv
bGxhYmxlT3ZlcmZsb3c7IH0KQEAgLTYzLDQ0ICs1MSwyMCBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IG1vdmVWZXJ0aWNhbGx5KElubGluZUxheW91dFVuaXQpOwogCi0gICAgY29uc3QgQmFzZWxpbmUm
IGJhc2VsaW5lKCkgY29uc3QgeyByZXR1cm4gbV9iYXNlbGluZTsgfQotICAgIC8vIEJhc2VsaW5l
IG9mZnNldCBmcm9tIGxpbmUgdG9wLiBOb3RlIHRoYXQgb2Zmc2V0IGRvZXMgbm90IG5lY2Vzc2Fy
aWx5IGVxdWFsIHRvIGFzY2VudC4KLSAgICAvLwotICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0g
ICAgICAgIGxpbmUgdG9wICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLSAodG9wIGFsaWduKQot
ICAgIC8vICAgICAgICAgICAgIF4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXgotICAgIC8vICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXiAgICAgICAgICAgfAotICAgIC8vICAgXiAgICAgICAgIHwgYmFzZWxpbmUgb2Zm
c2V0ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgfCBiYXNlbGluZSBvZmZzZXQKLSAgICAv
LyAgIHwgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAg
ICAgIHwKLSAgICAvLyAgIHwgYXNjZW50ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgYXNjZW50ICAgIHwKLSAgICAvLyAgIHwgICAgICAgICB8ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHYgICAgICAgICAgIHYKLSAgICAvLyAgIHYgICAgICAgICB2ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0gYmFzZWxpbmUKLSAg
ICAvLyAgIC0tLS0tLS0tLS0tLS0tLS0tIGJhc2VsaW5lICAgICAgICAgICAgICAgICAgIF4KLSAg
ICAvLyAgIF4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZGVz
Y2VudAotICAgIC8vICAgfCBkZXNjZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdgotICAgIC8vICAgdgotICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0gICAgICAgbGluZSBi
b3R0b20gICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgIElubGluZUxheW91dFVuaXQgYmFz
ZWxpbmVPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2Jhc2VsaW5lT2Zmc2V0OyB9CisgICAgSW5s
aW5lTGF5b3V0VW5pdCBiYXNlbGluZSgpIGNvbnN0IHsgcmV0dXJuIG1fYmFzZWxpbmU7IH0KIAog
cHJpdmF0ZToKICAgICBJbmxpbmVSZWN0IG1fcmVjdDsKICAgICBJbmxpbmVSZWN0IG1fc2Nyb2xs
YWJsZU92ZXJmbG93OwogICAgIElubGluZVJlY3QgbV9pbmtPdmVyZmxvdzsKLSAgICBCYXNlbGlu
ZSBtX2Jhc2VsaW5lOwotICAgIElubGluZUxheW91dFVuaXQgbV9iYXNlbGluZU9mZnNldCB7IDAg
fTsKKyAgICBJbmxpbmVMYXlvdXRVbml0IG1fYmFzZWxpbmUgeyAwIH07CiB9OwogCi1pbmxpbmUg
TGluZUJveDo6TGluZUJveChjb25zdCBJbmxpbmVSZWN0JiByZWN0LCBjb25zdCBJbmxpbmVSZWN0
JiBzY3JvbGxhYmxlT3ZlcmZsb3csIGNvbnN0IElubGluZVJlY3QmIGlua092ZXJmbG93LCBjb25z
dCBCYXNlbGluZSYgYmFzZWxpbmUsIElubGluZUxheW91dFVuaXQgYmFzZWxpbmVPZmZzZXQpCitp
bmxpbmUgTGluZUJveDo6TGluZUJveChjb25zdCBJbmxpbmVSZWN0JiByZWN0LCBjb25zdCBJbmxp
bmVSZWN0JiBzY3JvbGxhYmxlT3ZlcmZsb3csIGNvbnN0IElubGluZVJlY3QmIGlua092ZXJmbG93
LCBJbmxpbmVMYXlvdXRVbml0IGJhc2VsaW5lKQogICAgIDogbV9yZWN0KHJlY3QpCiAgICAgLCBt
X3Njcm9sbGFibGVPdmVyZmxvdyhzY3JvbGxhYmxlT3ZlcmZsb3cpCiAgICAgLCBtX2lua092ZXJm
bG93KGlua092ZXJmbG93KQogICAgICwgbV9iYXNlbGluZShiYXNlbGluZSkKLSAgICAsIG1fYmFz
ZWxpbmVPZmZzZXQoYmFzZWxpbmVPZmZzZXQpCi17Ci19Ci0KLWlubGluZSBMaW5lQm94OjpCYXNl
bGluZTo6QmFzZWxpbmUoSW5saW5lTGF5b3V0VW5pdCBhc2NlbnQsIElubGluZUxheW91dFVuaXQg
ZGVzY2VudCkKLSAgICA6IG1fYXNjZW50KGFzY2VudCkKLSAgICAsIG1fZGVzY2VudChkZXNjZW50
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUv
RGlzcGxheVBhaW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rp
c3BsYXlQYWludGVyLmNwcAppbmRleCA3MDUxMjNmMWU1ZWE2MTQyNWQwN2ZjYzFjMDM0MmI2YmQ2
ZDFlMzFjLi5kZDI2NDFiYmUwMjdhNDFlYTAxYmIyYTIzMDU5ZTdiNzVkNmQzNjYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UGFpbnRlci5j
cHAKQEAgLTEyOSw3ICsxMjksNyBAQCBzdGF0aWMgdm9pZCBwYWludElubGluZUNvbnRlbnQoR3Jh
cGhpY3NDb250ZXh0JiBjb250ZXh0LCBMYXlvdXRQb2ludCBhYnNvbHV0ZU9mZgogICAgICAgICAg
ICAgYXV0byBhYnNvbHV0ZUxlZnQgPSBhYnNvbHV0ZU9mZnNldC54KCkgKyBydW4ubGVmdCgpOwog
ICAgICAgICAgICAgLy8gRklYTUU6IEFkZCBub24tYmFzZWxpbmUgYWxpZ24gcGFpbnRpbmcKICAg
ICAgICAgICAgIGF1dG8mIGxpbmVCb3ggPSBkaXNwbGF5SW5saW5lQ29udGVudC0+bGluZUJveEZv
clJ1bihydW4pOwotICAgICAgICAgICAgYXV0byBiYXNlbGluZU9mZnNldCA9IGFic29sdXRlT2Zm
c2V0LnkoKSArIGxpbmVCb3gudG9wKCkgKyBsaW5lQm94LmJhc2VsaW5lT2Zmc2V0KCk7CisgICAg
ICAgICAgICBhdXRvIGJhc2VsaW5lT2Zmc2V0ID0gYWJzb2x1dGVPZmZzZXQueSgpICsgbGluZUJv
eC50b3AoKSArIGxpbmVCb3guYmFzZWxpbmUoKTsKICAgICAgICAgICAgIGF1dG8gZXhwYW5zaW9u
ID0gcnVuLmV4cGFuc2lvbigpOwogICAgICAgICAgICAgYXV0byB0ZXh0UnVuID0gVGV4dFJ1biB7
IHRleHRDb250ZW50LT5jb250ZW50KCksIHJ1bi5sZWZ0KCkgLSBsaW5lQm94LmxlZnQoKSwgZXhw
YW5zaW9uLmhvcml6b250YWxFeHBhbnNpb24sIGV4cGFuc2lvbi5iZWhhdmlvciB9OwogICAgICAg
ICAgICAgdGV4dFJ1bi5zZXRUYWJTaXplKCFzdHlsZS5jb2xsYXBzZVdoaXRlU3BhY2UoKSwgc3R5
bGUudGFiU2l6ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCBj
NzU1NmY0MzE1NWY2ZjY0NWMyNjdlMTdlOTEyODEwMjk0MGY0NDAzLi5jY2M0YjQyMjFkNTgzNmFk
ZWFmNmI5ZGY3YTgyNjk4OTMxZGE1MGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCkBAIC01NjksOCArNTY5LDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6
c2V0RGlzcGxheUJveGVzRm9yTGluZShjb25zdCBMaW5lTGF5b3V0Q29udGV4dDo6TGkKICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQogICAgIC8vIEZJWE1FOiBUaGlzIGlzIHdo
ZXJlIHRoZSBsb2dpY2FsIHRvIHBoeXNpY2FsIHRyYW5zbGF0ZSBzaG91bGQgaGFwcGVuLgotICAg
IGF1dG8mIGJhc2VsaW5lID0gbGluZUJveC5iYXNlbGluZSgpOwotICAgIGlubGluZUNvbnRlbnQu
bGluZUJveGVzLmFwcGVuZCh7IGxpbmVCb3gubG9naWNhbFJlY3QoKSwgbGluZUJveC5zY3JvbGxh
YmxlT3ZlcmZsb3coKSwgbGluZUlua092ZXJmbG93LCB7IGJhc2VsaW5lLmFzY2VudCgpLCBiYXNl
bGluZS5kZXNjZW50KCkgfSwgbGluZUJveC5iYXNlbGluZU9mZnNldCgpIH0pOworICAgIGlubGlu
ZUNvbnRlbnQubGluZUJveGVzLmFwcGVuZCh7IGxpbmVCb3gubG9naWNhbFJlY3QoKSwgbGluZUJv
eC5zY3JvbGxhYmxlT3ZlcmZsb3coKSwgbGluZUlua092ZXJmbG93LCBsaW5lQm94LmJhc2VsaW5l
T2Zmc2V0KCkgfSk7CiB9CiAKIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmludmFsaWRh
dGVGb3JtYXR0aW5nU3RhdGUoY29uc3QgSW52YWxpZGF0aW9uU3RhdGUmKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHRRdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCmluZGV4IGYxY2U1ZTQ2NTY5YTU4Njk4
MTVjOTY3ZDA1ZTMxNjE5NjJlOWEzZTEuLmM2NjYwNjgzNTUyY2FhYzA5MDg2MjdjNGJiZjhjOWVh
NTMzYWZmM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5j
cHAKQEAgLTYwLDggKzYwLDggQEAgYm9vbCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtz
OjpsaW5lRGVzY2VudE5lZWRzQ29sbGFwc2luZyhjb25zdCBMaW5lQnVpbGQKICAgICAgICAgaWYg
KHJ1bi5pc0JveCgpKSB7CiAgICAgICAgICAgICBpZiAobGF5b3V0Qm94LmlzSW5saW5lQmxvY2tC
b3goKSAmJiBsYXlvdXRCb3guZXN0YWJsaXNoZXNJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCgpKSB7
CiAgICAgICAgICAgICAgICAgYXV0byYgZm9ybWF0dGluZ1N0YXRlID0gbGF5b3V0U3RhdGUuZXN0
YWJsaXNoZWRJbmxpbmVGb3JtYXR0aW5nU3RhdGUoZG93bmNhc3Q8Q29udGFpbmVyQm94PihsYXlv
dXRCb3gpKTsKLSAgICAgICAgICAgICAgICBhdXRvIGlubGluZUJsb2NrQmFzZWxpbmUgPSBmb3Jt
YXR0aW5nU3RhdGUuZGlzcGxheUlubGluZUNvbnRlbnQoKS0+bGluZUJveGVzLmxhc3QoKS5iYXNl
bGluZSgpOwotICAgICAgICAgICAgICAgIGlmIChpbmxpbmVCbG9ja0Jhc2VsaW5lLmRlc2NlbnQo
KSkKKyAgICAgICAgICAgICAgICBhdXRvIGxhc3RMaW5lQm94ID0gZm9ybWF0dGluZ1N0YXRlLmRp
c3BsYXlJbmxpbmVDb250ZW50KCktPmxpbmVCb3hlcy5sYXN0KCk7CisgICAgICAgICAgICAgICAg
aWYgKGxhc3RMaW5lQm94LmhlaWdodCgpID4gbGFzdExpbmVCb3guYmFzZWxpbmUoKSkKICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAg
Y29udGludWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHAKaW5kZXggMmNmYzFhNzc1NTBmMDIwZDY2
ZjI0MzBiNjI5MGVlNjIwNGM1YzE1Zi4uYWQ4MzYyN2VmZTkyYWViMjQ1ZTRmODc3ZWExOTM3OWRk
NGVkOTRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lTGluZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcApAQCAtMTUzLDcgKzE1Myw3IEBAIHZv
aWQgTGluZUJ1aWxkZXI6OmFsaWduQ29udGVudFZlcnRpY2FsbHkoKQogICAgICAgICAgICAgfSBl
bHNlIGlmIChsYXlvdXRCb3guaXNJbmxpbmVCbG9ja0JveCgpICYmIGxheW91dEJveC5lc3RhYmxp
c2hlc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCkpIHsKICAgICAgICAgICAgICAgICBhdXRvJiBm
b3JtYXR0aW5nU3RhdGUgPSBsYXlvdXRTdGF0ZSgpLmVzdGFibGlzaGVkSW5saW5lRm9ybWF0dGlu
Z1N0YXRlKGRvd25jYXN0PENvbnRhaW5lckJveD4obGF5b3V0Qm94KSk7CiAgICAgICAgICAgICAg
ICAgLy8gU3BlYyBtYWtlcyB1cyBnZW5lcmF0ZSBhdCBsZWFzdCBvbmUgbGluZSAtZXZlbiBpZiBp
dCBpcyBlbXB0eS4KLSAgICAgICAgICAgICAgICBhdXRvIGlubGluZUJsb2NrQmFzZWxpbmVPZmZz
ZXQgPSBmb3JtYXR0aW5nU3RhdGUuZGlzcGxheUlubGluZUNvbnRlbnQoKS0+bGluZUJveGVzLmxh
c3QoKS5iYXNlbGluZU9mZnNldCgpOworICAgICAgICAgICAgICAgIGF1dG8gaW5saW5lQmxvY2tC
YXNlbGluZSA9IGZvcm1hdHRpbmdTdGF0ZS5kaXNwbGF5SW5saW5lQ29udGVudCgpLT5saW5lQm94
ZXMubGFzdCgpLmJhc2VsaW5lKCk7CiAgICAgICAgICAgICAgICAgLy8gVGhlIGlubGluZS1ibG9j
aydzIGJhc2VsaW5lIG9mZnNldCBpcyByZWxhdGl2ZSB0byBpdHMgY29udGVudCBib3guIExldCdz
IGNvbnZlcnQgaXQgcmVsYXRpdmUgdG8gdGhlIG1hcmdpbiBib3guCiAgICAgICAgICAgICAgICAg
Ly8gICAgICAgICAgIF9fX19fX19fX19fX19fXyA8LSBtYXJnaW4gYm94CiAgICAgICAgICAgICAg
ICAgLy8gICAgICAgICAgfApAQCAtMTY3LDcgKzE2Nyw3IEBAIHZvaWQgTGluZUJ1aWxkZXI6OmFs
aWduQ29udGVudFZlcnRpY2FsbHkoKQogICAgICAgICAgICAgICAgIC8vICAgICAtLS0tLXwtfC18
LS0tLS0tLS0tLSA8LSBiYXNlbGluZQogICAgICAgICAgICAgICAgIC8vCiAgICAgICAgICAgICAg
ICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nQ29udGV4dCgpLmdlb21ldHJ5Rm9yQm94
KGxheW91dEJveCk7Ci0gICAgICAgICAgICAgICAgYXV0byBiYXNlbGluZU9mZnNldEZyb21NYXJn
aW5Cb3ggPSBib3hHZW9tZXRyeS5tYXJnaW5CZWZvcmUoKSArIGJveEdlb21ldHJ5LmJvcmRlclRv
cCgpICsgYm94R2VvbWV0cnkucGFkZGluZ1RvcCgpLnZhbHVlT3IoMCkgKyBpbmxpbmVCbG9ja0Jh
c2VsaW5lT2Zmc2V0OworICAgICAgICAgICAgICAgIGF1dG8gYmFzZWxpbmVPZmZzZXRGcm9tTWFy
Z2luQm94ID0gYm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkgKyBib3hHZW9tZXRyeS5ib3JkZXJU
b3AoKSArIGJveEdlb21ldHJ5LnBhZGRpbmdUb3AoKS52YWx1ZU9yKDApICsgaW5saW5lQmxvY2tC
YXNlbGluZTsKICAgICAgICAgICAgICAgICBsb2dpY2FsVG9wID0gYmFzZWxpbmVPZmZzZXQoKSAt
IGJhc2VsaW5lT2Zmc2V0RnJvbU1hcmdpbkJveDsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nQ29udGV4dCgpLmdlb21l
dHJ5Rm9yQm94KGxheW91dEJveCk7CkBAIC02MTcsMTQgKzYxNywxMCBAQCB2b2lkIExpbmVCdWls
ZGVyOjphZGp1c3RCYXNlbGluZUFuZExpbmVIZWlnaHQoKQogICAgICAgICAgICAgICAgIGlmIChs
YXlvdXRCb3guaXNJbmxpbmVCbG9ja0JveCgpICYmIGxheW91dEJveC5lc3RhYmxpc2hlc0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gSW5saW5lLWJs
b2NrcyB3aXRoIGlubGluZSBjb250ZW50IGFsd2F5cyBoYXZlIGJhc2VsaW5lcy4KICAgICAgICAg
ICAgICAgICAgICAgYXV0byYgZm9ybWF0dGluZ1N0YXRlID0gbGF5b3V0U3RhdGUoKS5lc3RhYmxp
c2hlZElubGluZUZvcm1hdHRpbmdTdGF0ZShkb3duY2FzdDxDb250YWluZXJCb3g+KGxheW91dEJv
eCkpOwotICAgICAgICAgICAgICAgICAgICAvLyBTcGVjIG1ha2VzIHVzIGdlbmVyYXRlIGF0IGxl
YXN0IG9uZSBsaW5lIC1ldmVuIGlmIGl0IGlzIGVtcHR5LgorICAgICAgICAgICAgICAgICAgICAv
LyBUaGVyZSBoYXMgdG8gYmUgYXQgbGVhc3Qgb25lIGxpbmUgLWV2ZW4gaWYgaXQgaXMgZW1wdHku
CiAgICAgICAgICAgICAgICAgICAgIGF1dG8mIGxhc3RMaW5lQm94ID0gZm9ybWF0dGluZ1N0YXRl
LmRpc3BsYXlJbmxpbmVDb250ZW50KCktPmxpbmVCb3hlcy5sYXN0KCk7Ci0gICAgICAgICAgICAg
ICAgICAgIGF1dG8gaW5saW5lQmxvY2tCYXNlbGluZSA9IGxhc3RMaW5lQm94LmJhc2VsaW5lKCk7
CiAgICAgICAgICAgICAgICAgICAgIGF1dG8gYmVmb3JlSGVpZ2h0ID0gYm94R2VvbWV0cnkubWFy
Z2luQmVmb3JlKCkgKyBib3hHZW9tZXRyeS5ib3JkZXJUb3AoKSArIGJveEdlb21ldHJ5LnBhZGRp
bmdUb3AoKS52YWx1ZU9yKDApOwotCi0gICAgICAgICAgICAgICAgICAgIG1fbGluZUJveC5zZXRB
c2NlbnRJZkdyZWF0ZXIoaW5saW5lQmxvY2tCYXNlbGluZS5hc2NlbnQoKSk7Ci0gICAgICAgICAg
ICAgICAgICAgIG1fbGluZUJveC5zZXREZXNjZW50SWZHcmVhdGVyKGlubGluZUJsb2NrQmFzZWxp
bmUuZGVzY2VudCgpKTsKLSAgICAgICAgICAgICAgICAgICAgbV9saW5lQm94LnNldEJhc2VsaW5l
T2Zmc2V0SWZHcmVhdGVyKGJlZm9yZUhlaWdodCArIGxhc3RMaW5lQm94LmJhc2VsaW5lT2Zmc2V0
KCkpOworICAgICAgICAgICAgICAgICAgICBtX2xpbmVCb3guc2V0QmFzZWxpbmVPZmZzZXRJZkdy
ZWF0ZXIoYmVmb3JlSGVpZ2h0ICsgbGFzdExpbmVCb3guYmFzZWxpbmUoKSk7CiAgICAgICAgICAg
ICAgICAgICAgIG1fbGluZUJveC5zZXRMb2dpY2FsSGVpZ2h0SWZHcmVhdGVyKG1hcmdpbkJveEhl
aWdodCk7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgLy8g
Tm9uIGlubGluZS1ibG9jayBib3hlcyBzaXQgb24gdGhlIGJhc2VsaW5lIChpbmNsdWRpbmcgdGhl
aXIgYm90dG9tIG1hcmdpbikuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCmluZGV4
IGQ0YjQ1MTJjOGY2MjBjZjU4NTIzMDIxMTliZjNhMTcxMWQ0MjRkMDkuLjdmMjM2NTlmYjVjMGFi
MzQ2NGMzYzM2MDM5NWNlZjRhNjcxMmY2YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlv
dXQuY3BwCkBAIC0xNzMsNyArMTczLDcgQEAgTGF5b3V0VW5pdCBMaW5lTGF5b3V0OjpmaXJzdExp
bmVCYXNlbGluZSgpIGNvbnN0CiAgICAgfQogCiAgICAgYXV0byYgZmlyc3RMaW5lQm94ID0gaW5s
aW5lQ29udGVudC0+bGluZUJveGVzLmZpcnN0KCk7Ci0gICAgcmV0dXJuIExheW91dDo6dG9MYXlv
dXRVbml0KGZpcnN0TGluZUJveC50b3AoKSArIGZpcnN0TGluZUJveC5iYXNlbGluZU9mZnNldCgp
KTsKKyAgICByZXR1cm4gTGF5b3V0Ojp0b0xheW91dFVuaXQoZmlyc3RMaW5lQm94LnRvcCgpICsg
Zmlyc3RMaW5lQm94LmJhc2VsaW5lKCkpOwogfQogCiBMYXlvdXRVbml0IExpbmVMYXlvdXQ6Omxh
c3RMaW5lQmFzZWxpbmUoKSBjb25zdApAQCAtMTg1LDcgKzE4NSw3IEBAIExheW91dFVuaXQgTGlu
ZUxheW91dDo6bGFzdExpbmVCYXNlbGluZSgpIGNvbnN0CiAgICAgfQogCiAgICAgYXV0byYgbGFz
dExpbmVCb3ggPSBpbmxpbmVDb250ZW50LT5saW5lQm94ZXMubGFzdCgpOwotICAgIHJldHVybiBM
YXlvdXQ6OnRvTGF5b3V0VW5pdChsYXN0TGluZUJveC50b3AoKSArIGxhc3RMaW5lQm94LmJhc2Vs
aW5lT2Zmc2V0KCkpOworICAgIHJldHVybiBMYXlvdXQ6OnRvTGF5b3V0VW5pdChsYXN0TGluZUJv
eC50b3AoKSArIGxhc3RMaW5lQm94LmJhc2VsaW5lKCkpOwogfQogCiB2b2lkIExpbmVMYXlvdXQ6
OmNvbGxlY3RPdmVyZmxvdyhSZW5kZXJCbG9ja0Zsb3cmIGZsb3cpCkBAIC0yOTQsNyArMjk0LDcg
QEAgdm9pZCBMaW5lTGF5b3V0OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5
b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAgICAgICB9CiAKICAgICAgICAgYXV0byYgbGluZUJv
eCA9IGlubGluZUNvbnRlbnQubGluZUJveEZvclJ1bihydW4pOwotICAgICAgICBhdXRvIGJhc2Vs
aW5lT2Zmc2V0ID0gcGFpbnRPZmZzZXQueSgpICsgbGluZUJveC50b3AoKSArIGxpbmVCb3guYmFz
ZWxpbmVPZmZzZXQoKTsKKyAgICAgICAgYXV0byBiYXNlbGluZU9mZnNldCA9IHBhaW50T2Zmc2V0
LnkoKSArIGxpbmVCb3gudG9wKCkgKyBsaW5lQm94LmJhc2VsaW5lKCk7CiAgICAgICAgIGF1dG8g
ZXhwYW5zaW9uID0gcnVuLmV4cGFuc2lvbigpOwogCiAgICAgICAgIFN0cmluZyB0ZXh0V2l0aEh5
cGhlbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcv
VGFibGVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC90YWJsZWZvcm1hdHRpbmcvVGFibGVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAppbmRl
eCBkZWExZjE2NzZiMzgzMTM2MmFmNmVjZWVhNjQ0NDdkOWQzYzg5NDUwLi5jMzFiZTUzM2YyM2Nk
ZGQwNWFlOWZiZjhlYzhhNWNkNjdiYjJjMGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRp
bmdDb250ZXh0R2VvbWV0cnkuY3BwCkBAIC0xNDYsMTIgKzE0NiwxMiBAQCBJbmxpbmVMYXlvdXRV
bml0IFRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojp1c2VkQmFzZWxpbmVGb3JDZWxs
KGNvbnN0IENvbgogICAgIC8vIG9yIHRoZSBmaXJzdCBpbi1mbG93IHRhYmxlLXJvdyBpbiB0aGUg
Y2VsbCwgd2hpY2hldmVyIGNvbWVzIGZpcnN0LgogICAgIC8vIElmIHRoZXJlIGlzIG5vIHN1Y2gg
bGluZSBib3gsIHRoZSBiYXNlbGluZSBpcyB0aGUgYm90dG9tIG9mIGNvbnRlbnQgZWRnZSBvZiB0
aGUgY2VsbCBib3guCiAgICAgaWYgKGNlbGxCb3guZXN0YWJsaXNoZXNJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dCgpKQotICAgICAgICByZXR1cm4gbGF5b3V0U3RhdGUoKS5lc3RhYmxpc2hlZElubGlu
ZUZvcm1hdHRpbmdTdGF0ZShjZWxsQm94KS5kaXNwbGF5SW5saW5lQ29udGVudCgpLT5saW5lQm94
ZXNbMF0uYmFzZWxpbmVPZmZzZXQoKTsKKyAgICAgICAgcmV0dXJuIGxheW91dFN0YXRlKCkuZXN0
YWJsaXNoZWRJbmxpbmVGb3JtYXR0aW5nU3RhdGUoY2VsbEJveCkuZGlzcGxheUlubGluZUNvbnRl
bnQoKS0+bGluZUJveGVzWzBdLmJhc2VsaW5lKCk7CiAgICAgZm9yIChhdXRvJiBjZWxsRGVzY2Vu
ZGFudCA6IGRlc2NlbmRhbnRzT2ZUeXBlPENvbnRhaW5lckJveD4oY2VsbEJveCkpIHsKICAgICAg
ICAgaWYgKGNlbGxEZXNjZW5kYW50LmVzdGFibGlzaGVzSW5saW5lRm9ybWF0dGluZ0NvbnRleHQo
KSkgewogICAgICAgICAgICAgYXV0byogZGlzcGxheUlubGluZUNvbnRlbnQgPSBsYXlvdXRTdGF0
ZSgpLmVzdGFibGlzaGVkSW5saW5lRm9ybWF0dGluZ1N0YXRlKGNlbGxEZXNjZW5kYW50KS5kaXNw
bGF5SW5saW5lQ29udGVudCgpOwogICAgICAgICAgICAgaWYgKCFkaXNwbGF5SW5saW5lQ29udGVu
dC0+cnVucy5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGRpc3BsYXlJbmxpbmVD
b250ZW50LT5saW5lQm94ZXNbMF0uYmFzZWxpbmVPZmZzZXQoKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZGlzcGxheUlubGluZUNvbnRlbnQtPmxpbmVCb3hlc1swXS5iYXNlbGluZSgpOwogICAg
ICAgICB9CiAgICAgICAgIGlmIChjZWxsRGVzY2VuZGFudC5lc3RhYmxpc2hlc1RhYmxlRm9ybWF0
dGluZ0NvbnRleHQoKSkKICAgICAgICAgICAgIHJldHVybiBsYXlvdXRTdGF0ZSgpLmVzdGFibGlz
aGVkVGFibGVGb3JtYXR0aW5nU3RhdGUoY2VsbERlc2NlbmRhbnQpLnRhYmxlR3JpZCgpLnJvd3Mo
KS5saXN0KClbMF0uYmFzZWxpbmVPZmZzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpbmVCcmVhay5jcHAKaW5kZXggNGZkNDc2YmEwNjUxOWRhNTFjOGIwZGU1NjkyMDNj
ODYzNTk4OTk2My4uZjU4MDY4ODk0ZWI0ZjFhMzc0ZjE1NWVmMzQyYzFlZTU4MGMxOTZmYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5jcHAKQEAgLTE4OSwx
MCArMTg5LDEwIEBAIEludFJlY3QgUmVuZGVyTGluZUJyZWFrOjpib3VuZGluZ0JveEZvclJlbmRl
clRyZWVEdW1wKCkgY29uc3QKICAgICBib29sIGluUXVpcmtzTW9kZSA9ICFkb2N1bWVudCgpLmlu
Tm9RdWlya3NNb2RlKCk7CiAgICAgaWYgKGluUXVpcmtzTW9kZSAmJiAhaXNXQlIoKSAmJiBib3gt
PnVzZUxpbmVCcmVha0JveFJlbmRlclRyZWVEdW1wUXVpcmsoKSkgewogICAgICAgICBpZiAoIWJv
eC0+aXNIb3Jpem9udGFsKCkpIHsKLSAgICAgICAgICAgIGF1dG8gYmFzZWxpbmUgPSBzdHlsZSgp
LmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkgPyByZWN0LngoKSArIGJveC0+YmFzZWxpbmVP
ZmZzZXQoKSA6IHJlY3QubWF4WCgpIC0gYm94LT5iYXNlbGluZU9mZnNldCgpOworICAgICAgICAg
ICAgYXV0byBiYXNlbGluZSA9IHN0eWxlKCkuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSA/
IHJlY3QueCgpICsgYm94LT5iYXNlbGluZSgpIDogcmVjdC5tYXhYKCkgLSBib3gtPmJhc2VsaW5l
KCk7CiAgICAgICAgICAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChGbG9hdFJlY3QoRmxvYXRQ
b2ludChiYXNlbGluZSwgcmVjdC55KCkpLCBGbG9hdFNpemUoMCwgcmVjdC5oZWlnaHQoKSkpKTsK
ICAgICAgICAgfQotICAgICAgICBhdXRvIGJhc2VsaW5lID0gcmVjdC55KCkgKyBib3gtPmJhc2Vs
aW5lT2Zmc2V0KCk7CisgICAgICAgIGF1dG8gYmFzZWxpbmUgPSByZWN0LnkoKSArIGJveC0+YmFz
ZWxpbmUoKTsKICAgICAgICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3QoRmxvYXRSZWN0KEZsb2F0
UG9pbnQocmVjdC54KCksIGJhc2VsaW5lKSwgRmxvYXRTaXplKHJlY3Qud2lkdGgoKSwgMCkpKTsK
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5l
TGF5b3V0UmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5
b3V0UmVzb2x2ZXIuaAppbmRleCBmNzRhODAzZmFmMTM1MDg0ZWJhYmFmZjE1ZDM3NDc1ZTcxMTQy
ZjUyLi4xYzYwMDQ3ZjU1NzNiYTgwN2Q0YzQxMDM3YjIwNzFlMTk0NDQ1NTNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5oCkBA
IC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKICAgICAgICAgZmxvYXQgZXhwYW5zaW9uKCkgY29uc3Q7
CiAgICAgICAgIEV4cGFuc2lvbkJlaGF2aW9yIGV4cGFuc2lvbkJlaGF2aW9yKCkgY29uc3Q7CiAg
ICAgICAgIGludCBiYXNlbGluZVBvc2l0aW9uKCkgY29uc3Q7Ci0gICAgICAgIGludCBiYXNlbGlu
ZU9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1faXRlcmF0b3IucmVzb2x2ZXIoKS5tX2Jhc2VsaW5l
OyB9CisgICAgICAgIGludCBiYXNlbGluZSgpIGNvbnN0IHsgcmV0dXJuIG1faXRlcmF0b3IucmVz
b2x2ZXIoKS5tX2Jhc2VsaW5lOyB9CiAgICAgICAgIFN0cmluZ1ZpZXcgdGV4dCgpIGNvbnN0Owog
ICAgICAgICBTdHJpbmcgdGV4dFdpdGhIeXBoZW4oKSBjb25zdDsKICAgICAgICAgY29uc3QgUmVu
ZGVyT2JqZWN0JiByZW5kZXJlcigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL2xpbmUvTGluZUxheW91dFRyYXZlcnNhbC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL2xpbmUvTGluZUxheW91dFRyYXZlcnNhbC5oCmluZGV4IGI5NjhlZjcwODkwMjNjMWEx
MTgxOWMxZTJhZGM5NDU3MGFmZWVhMzcuLmQ3MzA0OTc0MTUzYjQ0NmU0NmM0ZmI2ZjFhNDJjMTk4
ZTE5Y2VjZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVM
YXlvdXRUcmF2ZXJzYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5l
TGF5b3V0VHJhdmVyc2FsLmgKQEAgLTU3LDcgKzU3LDcgQEAgcHVibGljOgogCiAgICAgRmxvYXRS
ZWN0IHJlY3QoKSBjb25zdDsKIAotICAgIGZsb2F0IGJhc2VsaW5lT2Zmc2V0KCkgY29uc3Q7Cisg
ICAgZmxvYXQgYmFzZWxpbmUoKSBjb25zdDsKIAogICAgIGJvb2wgaXNMZWZ0VG9SaWdodERpcmVj
dGlvbigpIGNvbnN0OwogICAgIGJvb2wgaXNIb3Jpem9udGFsKCkgY29uc3Q7CkBAIC0xNjMsMTAg
KzE2MywxMCBAQCBpbmxpbmUgRmxvYXRSZWN0IEJveDo6cmVjdCgpIGNvbnN0CiAgICAgfSk7CiB9
CiAKLWlubGluZSBmbG9hdCBCb3g6OmJhc2VsaW5lT2Zmc2V0KCkgY29uc3QKK2lubGluZSBmbG9h
dCBCb3g6OmJhc2VsaW5lKCkgY29uc3QKIHsKICAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbihtX3Bh
dGhWYXJpYW50LCBbXShhdXRvJiBwYXRoKSB7Ci0gICAgICAgIHJldHVybiBwYXRoLmJhc2VsaW5l
T2Zmc2V0KCk7CisgICAgICAgIHJldHVybiBwYXRoLmJhc2VsaW5lKCk7CiAgICAgfSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVMYXlvdXRUcmF2
ZXJzYWxDb21wbGV4UGF0aC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZUxh
eW91dFRyYXZlcnNhbENvbXBsZXhQYXRoLmgKaW5kZXggMmY0MjRjYTlhMjk5YzcxMTBkZmM5NDYx
ZDhlMjYyZDIzNWQ1MWMwYi4uYTY2ZGI3ZmNiOTI4MGE1MzM3ZjBjMWI4ZTYxNzg1MjBhMTc1MDdi
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZUxheW91dFRy
YXZlcnNhbENvbXBsZXhQYXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUv
TGluZUxheW91dFRyYXZlcnNhbENvbXBsZXhQYXRoLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNIb3Jpem9udGFsKCkgY29uc3QgeyByZXR1cm4gbV9pbmxpbmVCb3gtPmlz
SG9yaXpvbnRhbCgpOyB9CiAgICAgYm9vbCBkaXJPdmVycmlkZSgpIGNvbnN0IHsgcmV0dXJuIG1f
aW5saW5lQm94LT5kaXJPdmVycmlkZSgpOyB9CiAgICAgYm9vbCBpc0xpbmVCcmVhaygpIGNvbnN0
IHsgcmV0dXJuIG1faW5saW5lQm94LT5pc0xpbmVCcmVhaygpOyB9Ci0gICAgZmxvYXQgYmFzZWxp
bmVPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2lubGluZUJveC0+YmFzZWxpbmVQb3NpdGlvbihB
bHBoYWJldGljQmFzZWxpbmUpOyB9CisgICAgZmxvYXQgYmFzZWxpbmUoKSBjb25zdCB7IHJldHVy
biBtX2lubGluZUJveC0+YmFzZWxpbmVQb3NpdGlvbihBbHBoYWJldGljQmFzZWxpbmUpOyB9CiAK
ICAgICBib29sIHVzZUxpbmVCcmVha0JveFJlbmRlclRyZWVEdW1wUXVpcmsoKSBjb25zdAogICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVMYXlvdXRU
cmF2ZXJzYWxEaXNwbGF5UnVuUGF0aC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUv
TGluZUxheW91dFRyYXZlcnNhbERpc3BsYXlSdW5QYXRoLmgKaW5kZXggMGM4NDliZmFiNzEzNGE0
ZDM4M2EyMmUzZjQ2NjM0NTNlYmNjODFhMi4uOTViMjc0MjgwZjIzZDZjZWRmNmZjYzY2NTg0YjRi
MDNhMjliNDhmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGlu
ZUxheW91dFRyYXZlcnNhbERpc3BsYXlSdW5QYXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL2xpbmUvTGluZUxheW91dFRyYXZlcnNhbERpc3BsYXlSdW5QYXRoLmgKQEAgLTUyLDcg
KzUyLDcgQEAgcHVibGljOgogCiAgICAgRmxvYXRSZWN0IHJlY3QoKSBjb25zdDsKIAotICAgIGZs
b2F0IGJhc2VsaW5lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbGluZUJveCgpLmJhc2VsaW5lT2Zm
c2V0KCk7IH0KKyAgICBmbG9hdCBiYXNlbGluZSgpIGNvbnN0IHsgcmV0dXJuIGxpbmVCb3goKS5i
YXNlbGluZSgpOyB9CiAKICAgICBib29sIGlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBpc0hvcml6b250YWwoKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lTGF5
b3V0VHJhdmVyc2FsU2ltcGxlUGF0aC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUv
TGluZUxheW91dFRyYXZlcnNhbFNpbXBsZVBhdGguaAppbmRleCBhMDc0NTNiMzY1MmMyNzE1MGRm
NGQ0YzU3YjI2ZjE1ZjA3NzdiN2ExLi4wY2QzYzIzZjcwOTgzOWYwODA2OWEzYjU1ZWRkZmIxODBm
Mjc3MGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lTGF5
b3V0VHJhdmVyc2FsU2ltcGxlUGF0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9s
aW5lL0xpbmVMYXlvdXRUcmF2ZXJzYWxTaW1wbGVQYXRoLmgKQEAgLTQwLDcgKzQwLDcgQEAgcHVi
bGljOgogCiAgICAgRmxvYXRSZWN0IHJlY3QoKSBjb25zdCB7IHJldHVybiAoKm1faXRlcmF0b3Ip
LnJlY3QoKTsgfQogCi0gICAgZmxvYXQgYmFzZWxpbmVPZmZzZXQoKSBjb25zdCB7IHJldHVybiAo
Km1faXRlcmF0b3IpLmJhc2VsaW5lT2Zmc2V0KCk7IH0KKyAgICBmbG9hdCBiYXNlbGluZSgpIGNv
bnN0IHsgcmV0dXJuICgqbV9pdGVyYXRvcikuYmFzZWxpbmUoKTsgfQogCiAgICAgYm9vbCBpc0xl
ZnRUb1JpZ2h0RGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgaXNI
b3Jpem9udGFsKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>