<?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>203051</bug_id>
          
          <creation_ts>2019-10-16 12:37:00 -0700</creation_ts>
          <short_desc>[LFC][IFC] Add Display::Run/LineBox mapping</short_desc>
          <delta_ts>2019-10-17 09:28:52 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</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>1580633</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-10-16 12:37:00 -0700</bug_when>
    <thetext>to be able to paint runs on the baseline -this is temporary only.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580634</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-16 12:37:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/56342487&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580647</commentid>
    <comment_count>2</comment_count>
      <attachid>381099</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-10-16 12:58:43 -0700</bug_when>
    <thetext>Created attachment 381099
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580711</commentid>
    <comment_count>3</comment_count>
      <attachid>381118</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-10-16 15:03:14 -0700</bug_when>
    <thetext>Created attachment 381118
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580989</commentid>
    <comment_count>4</comment_count>
      <attachid>381118</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-17 09:28:50 -0700</bug_when>
    <thetext>Comment on attachment 381118
Patch

Clearing flags on attachment: 381118

Committed r251238: &lt;https://trac.webkit.org/changeset/251238&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580990</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-17 09:28:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381099</attachid>
            <date>2019-10-16 12:58:43 -0700</date>
            <delta_ts>2019-10-16 15:03:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203051-20191016125842.patch</filename>
            <type>text/plain</type>
            <size>17628</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2IzOGRhNWU1MDUwYjJi
NjliYTUxYTVmOGQ1ZDI5OTc1ZTdmNTc2NS4uZDllYjU5MTc5NGNlZDBlOTU2MmI5YzQ0OTBlYjBh
NGRhZTYxMmVmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE5LTEwLTE2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBBZGQgRGlz
cGxheTo6UnVuL0xpbmVCb3ggbWFwcGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMDUxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjM0MjQ4
Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYXBw
aW5nIGVuYWJsZXMgdXMgdG8gcGFpbnQgYmFzZWxpbmUgYWxpZ25lZCBydW5zIG9uIHRoZSBjdXJy
ZW50IGxpbmUuIFRoaXMgaXMgdGVtcG9yYXJ5IHVudGlsIGFmdGVyIHdlIGZpZ3VyZSBvdXQgdGhl
IGZpbmFsIHJ1bi9saW5lIHN0cnVjdHVyZS4KKworICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5n
Q29udGV4dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGlu
Z0NvbnRleHQ6Okdlb21ldHJ5Ojpjb250ZW50SGVpZ2h0Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290
IGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvVmVyaWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6b3V0cHV0TWlzbWF0Y2hpbmdTaW1wbGVMaW5lSW5mb3JtYXRpb25JZk5l
ZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om91dHB1dE1pc21hdGNoaW5nQ29tcGxl
eExpbmVJbmZvcm1hdGlvbklmTmVlZGVkKToKKyAgICAgICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0
aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dOb25SZXBs
YWNlZEhlaWdodEFuZE1hcmdpbik6CisgICAgICAgICogbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3Bs
YXlQYWludGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OnBhaW50SW5saW5lQ29u
dGVudCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6c2V0RGlzcGxheUJveGVzRm9yTGluZSk6CisgICAgICAgICogbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpsaW5lRGVz
Y2VudE5lZWRzQ29sbGFwc2luZyBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OklubGluZUZvcm1hdHRpbmdTdGF0ZTo6YWRkTGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZTo6bGluZUJveEZvclJ1biBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZTo6YWRkSW5saW5lUnVu
KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6UnVuOjpSdW4pOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lOjphbGlnbkNvbnRlbnRWZXJ0aWNhbGx5KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6YWRqdXN0QmFzZWxpbmVBbmRMaW5lSGVpZ2h0KToKKyAgICAgICAg
KiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmg6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkxpbmU6OlJ1bjo6ZGlzcGxheVJ1biBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkxpbmU6OlJ1bjo6bG9naWNhbFJlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lOjpSdW46OmFkanVzdExvZ2ljYWxUb3ApOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lOjpSdW46Om1vdmVWZXJ0aWNhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZTo6UnVuOjptb3ZlSG9yaXpvbnRhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZTo6UnVuOjpleHBhbmQpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUxpbmVCb3guaDoKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVMaW5lTGF5b3V0Lmg6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0
VHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpvdXRwdXRJbmxpbmVS
dW5zKToKKwogMjAxOS0xMC0xNiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtMRkNdW0lGQ10gQWRkIHN0eWxlIGFuZCB0ZXh0IGNvbnRlbnQgdG8gRGlzcGxheTo6
UnVuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRH
ZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9t
ZXRyeS5jcHAKaW5kZXggMGQ2MWQwZDM3NmEzZThkY2NmMzYwNGZlMDk5M2UwMDMwMjQ1MTI3YS4u
MTMwNjIwMTkzNWRhY2RkMGJiMDE2ODk5ZjY3NzFlYjkzZGMxZGUyOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtMTM0
LDggKzEzNCw4IEBAIExheW91dFVuaXQgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb250
ZW50SGVpZ2h0Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290KGNvCiAgICAgICAgIGF1dG8mIGxpbmVC
b3hlcyA9IGRvd25jYXN0PElubGluZUZvcm1hdHRpbmdTdGF0ZT4obGF5b3V0U3RhdGUuZXN0YWJs
aXNoZWRGb3JtYXR0aW5nU3RhdGUoZm9ybWF0dGluZ1Jvb3RDb250YWluZXIpKS5saW5lQm94ZXMo
KTsKICAgICAgICAgLy8gRXZlbiBlbXB0eSBjb250YWluZXJzIGdlbmVyYXRlIG9uZSBsaW5lLiAK
ICAgICAgICAgQVNTRVJUKCFsaW5lQm94ZXMuaXNFbXB0eSgpKTsKLSAgICAgICAgdG9wID0gbGlu
ZUJveGVzLmZpcnN0KCkubG9naWNhbFRvcCgpOwotICAgICAgICBib3R0b20gPSBsaW5lQm94ZXMu
bGFzdCgpLmxvZ2ljYWxCb3R0b20oKTsKKyAgICAgICAgdG9wID0gbGluZUJveGVzLmZpcnN0KCkt
PmxvZ2ljYWxUb3AoKTsKKyAgICAgICAgYm90dG9tID0gbGluZUJveGVzLmxhc3QoKS0+bG9naWNh
bEJvdHRvbSgpOwogICAgIH0gZWxzZSBpZiAoZm9ybWF0dGluZ1Jvb3RDb250YWluZXIuZXN0YWJs
aXNoZXNCbG9ja0Zvcm1hdHRpbmdDb250ZXh0KCkgfHwgZm9ybWF0dGluZ1Jvb3RDb250YWluZXIu
ZXN0YWJsaXNoZXNUYWJsZUZvcm1hdHRpbmdDb250ZXh0KCkgfHwgZm9ybWF0dGluZ1Jvb3RDb250
YWluZXIuaXNEb2N1bWVudEJveCgpKSB7CiAgICAgICAgIGlmIChmb3JtYXR0aW5nUm9vdENvbnRh
aW5lci5oYXNJbkZsb3dDaGlsZCgpKSB7CiAgICAgICAgICAgICBhdXRvJiBmaXJzdEJveEdlb21l
dHJ5ID0gZm9ybWF0dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3goKmZvcm1hdHRpbmdSb290Q29u
dGFpbmVyLmZpcnN0SW5GbG93Q2hpbGQoKSwgRXNjYXBlVHlwZTo6QWNjZXNzQ2hpbGRGb3JtYXR0
aW5nQ29udGV4dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvVmVyaWZpY2F0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9WZXJpZmljYXRpb24uY3BwCmluZGV4IDJm
NTZmNjJkYWVhYWIzYTk3ZDE0YmE3NGE1YzcwZjJhNDBjNTRlMzAuLjNlZmMyM2I2OGExNDNjNTg1
ZTI3NmU4M2NjMjNkZTRjMDg2OWEzYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9WZXJpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9WZXJpZmljYXRp
b24uY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHN0YXRpYyBib29sIG91dHB1dE1pc21hdGNoaW5nU2lt
cGxlTGluZUluZm9ybWF0aW9uSWZOZWVkZWQoVGV4dFN0cmVhbSYgc3RyZWFtLCBjCiAgICAgYXV0
byBtaXNtYXRjaGVkID0gZmFsc2U7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxpbmVM
YXlvdXREYXRhLT5ydW5Db3VudCgpOyArK2kpIHsKICAgICAgICAgYXV0byYgc2ltcGxlUnVuID0g
bGluZUxheW91dERhdGEtPnJ1bkF0KGkpOwotICAgICAgICBhdXRvJiBpbmxpbmVSdW4gPSBpbmxp
bmVSdW5MaXN0W2ldOworICAgICAgICBhdXRvJiBpbmxpbmVSdW4gPSAqaW5saW5lUnVuTGlzdFtp
XTsKIAogICAgICAgICBhdXRvIG1hdGNoaW5nUnVucyA9IGFyZUVzc2VudGlhbGx5RXF1YWwoc2lt
cGxlUnVuLmxvZ2ljYWxMZWZ0LCBpbmxpbmVSdW4ubG9naWNhbExlZnQoKSkgJiYgYXJlRXNzZW50
aWFsbHlFcXVhbChzaW1wbGVSdW4ubG9naWNhbFJpZ2h0LCBpbmxpbmVSdW4ubG9naWNhbFJpZ2h0
KCkpOwogICAgICAgICBpZiAobWF0Y2hpbmdSdW5zICYmIGlubGluZVJ1bi50ZXh0Q29udGV4dCgp
KSB7CkBAIC0xNzMsNyArMTczLDcgQEAgc3RhdGljIGJvb2wgb3V0cHV0TWlzbWF0Y2hpbmdDb21w
bGV4TGluZUluZm9ybWF0aW9uSWZOZWVkZWQoVGV4dFN0cmVhbSYgc3RyZWFtLAogICAgIH0KIAog
ICAgIGZvciAodW5zaWduZWQgaW5saW5lQm94SW5kZXggPSAwOyBpbmxpbmVCb3hJbmRleCA8IGlu
bGluZUJveGVzLnNpemUoKSAmJiBydW5JbmRleCA8IGlubGluZVJ1bkxpc3Quc2l6ZSgpOyArK2lu
bGluZUJveEluZGV4KSB7Ci0gICAgICAgIGF1dG8mIGlubGluZVJ1biA9IGlubGluZVJ1bkxpc3Rb
cnVuSW5kZXhdOworICAgICAgICBhdXRvJiBpbmxpbmVSdW4gPSAqaW5saW5lUnVuTGlzdFtydW5J
bmRleF07CiAgICAgICAgIGF1dG8qIGlubGluZUJveCA9IGlubGluZUJveGVzW2lubGluZUJveElu
ZGV4XTsKICAgICAgICAgYXV0byogaW5saW5lVGV4dEJveCA9IGlzPElubGluZVRleHRCb3g+KGlu
bGluZUJveCkgPyBkb3duY2FzdDxJbmxpbmVUZXh0Qm94PihpbmxpbmVCb3gpIDogbnVsbHB0cjsK
ICAgICAgICAgYm9vbCBtYXRjaGluZ1J1bnMgPSBpbmxpbmVUZXh0Qm94ID8gY2hlY2tGb3JNYXRj
aGluZ1RleHRSdW5zKGlubGluZVJ1biwgKmlubGluZVRleHRCb3gpIDogbWF0Y2hpbmdSdW5zID0g
Y2hlY2tGb3JNYXRjaGluZ05vblRleHRSdW5zKGlubGluZVJ1biwgKmlubGluZUJveCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0
dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3Jt
YXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5kZXggZWQ4YTM4NjEx
NjdlODUzNmNkNTE5YmQ4M2QyOWU5ZmUyYTM3NGMyOC4uNTRmN2U2ZjMzZjA0ZTQ1MmU5Y2M5NzY2
OTQ1YjJkZDEwNjJiMDkyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2Nr
Zm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdl
b21ldHJ5LmNwcApAQCAtNzUsNyArNzUsNyBAQCBDb250ZW50SGVpZ2h0QW5kTWFyZ2luIEJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dOb25SZXBsYWNlZEhlaWdodAogICAg
ICAgICAgICAgYXV0byYgbGluZUJveGVzID0gZG93bmNhc3Q8SW5saW5lRm9ybWF0dGluZ1N0YXRl
PihsYXlvdXRTdGF0ZSgpLmVzdGFibGlzaGVkRm9ybWF0dGluZ1N0YXRlKGxheW91dENvbnRhaW5l
cikpLmxpbmVCb3hlcygpOwogICAgICAgICAgICAgLy8gRXZlbiBlbXB0eSBjb250YWluZXJzIGdl
bmVyYXRlIG9uZSBsaW5lLiAKICAgICAgICAgICAgIEFTU0VSVCghbGluZUJveGVzLmlzRW1wdHko
KSk7Ci0gICAgICAgICAgICByZXR1cm4geyBsaW5lQm94ZXMubGFzdCgpLmxvZ2ljYWxCb3R0b20o
KSAtIGJvcmRlckFuZFBhZGRpbmdUb3AsIG5vbkNvbGxhcHNlZE1hcmdpbiB9OworICAgICAgICAg
ICAgcmV0dXJuIHsgbGluZUJveGVzLmxhc3QoKS0+bG9naWNhbEJvdHRvbSgpIC0gYm9yZGVyQW5k
UGFkZGluZ1RvcCwgbm9uQ29sbGFwc2VkTWFyZ2luIH07CiAgICAgICAgIH0KIAogICAgICAgICAv
LyAyLiB0aGUgYm90dG9tIGVkZ2Ugb2YgdGhlIGJvdHRvbSAocG9zc2libHkgY29sbGFwc2VkKSBt
YXJnaW4gb2YgaXRzIGxhc3QgaW4tZmxvdyBjaGlsZCwgaWYgdGhlIGNoaWxkJ3MgYm90dG9tIG1h
cmdpbi4uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rp
c3BsYXlQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5dHJlZS9EaXNw
bGF5UGFpbnRlci5jcHAKaW5kZXggNWYwNTFhMWYzNjVmNDA3YWU5M2ZkNDc0YWNlOTE3NzBlOTgz
MGI1MS4uNGFkOTVjNjZkY2U2YzNhZDQzMTdhMzRmMjUxZDQyMjJkY2EwNDdhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlQYWludGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3Bw
CkBAIC0xMTMsMTEgKzExMywxMSBAQCBzdGF0aWMgdm9pZCBwYWludElubGluZUNvbnRlbnQoR3Jh
cGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBCb3gmIHJvb3RBYnNvbHV0ZQogICAgICAgICAg
ICAgYXV0byYgaW5saW5lVGV4dEl0ZW0gPSBkb3duY2FzdDxMYXlvdXQ6OklubGluZVRleHRJdGVt
PigqaW5saW5lSXRlbSk7CiAgICAgICAgICAgICBhdXRvIGlubGluZUNvbnRlbnQgPSBpbmxpbmVU
ZXh0SXRlbS5sYXlvdXRCb3goKS50ZXh0Q29udGVudCgpOwogICAgICAgICAgICAgd2hpbGUgKHRy
dWUpIHsKLSAgICAgICAgICAgICAgICBhdXRvJiBydW4gPSBpbmxpbmVSdW5zW3J1bkluZGV4Kytd
OworICAgICAgICAgICAgICAgIGF1dG8mIHJ1biA9ICppbmxpbmVSdW5zW3J1bkluZGV4KytdOwog
ICAgICAgICAgICAgICAgIGF1dG8gdGV4dENvbnRleHQgPSBydW4udGV4dENvbnRleHQoKS52YWx1
ZSgpOwogICAgICAgICAgICAgICAgIGF1dG8gcnVuQ29udGVudCA9IGlubGluZUNvbnRlbnQuc3Vi
c3RyaW5nKHRleHRDb250ZXh0LnN0YXJ0KCksIHRleHRDb250ZXh0Lmxlbmd0aCgpKTsKICAgICAg
ICAgICAgICAgICBhdXRvIGxvZ2ljYWxUb3BMZWZ0ID0gcm9vdEFic29sdXRlRGlzcGxheUJveC50
b3BMZWZ0KCkgKyBydW4ubG9naWNhbFRvcExlZnQoKTsKLSAgICAgICAgICAgICAgICBjb250ZXh0
LmRyYXdUZXh0KHN0eWxlLmZvbnRDYXNjYWRlKCksIFRleHRSdW4geyBydW5Db250ZW50IH0sIHsg
bG9naWNhbFRvcExlZnQueCgpLCBsb2dpY2FsVG9wTGVmdC55KCkgKyBmb3JtYXR0aW5nU3RhdGUu
bGluZUJveGVzKClbMF0uYmFzZWxpbmVPZmZzZXQoKSB9KTsKKyAgICAgICAgICAgICAgICBjb250
ZXh0LmRyYXdUZXh0KHN0eWxlLmZvbnRDYXNjYWRlKCksIFRleHRSdW4geyBydW5Db250ZW50IH0s
IHsgbG9naWNhbFRvcExlZnQueCgpLCBsb2dpY2FsVG9wTGVmdC55KCkgKyBmb3JtYXR0aW5nU3Rh
dGUubGluZUJveGVzKClbMF0tPmJhc2VsaW5lT2Zmc2V0KCkgfSk7CiAgICAgICAgICAgICAgICAg
aWYgKGlubGluZVRleHRJdGVtLmVuZCgpID09IHRleHRDb250ZXh0LmVuZCgpKQogICAgICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICBpZiAocnVuSW5kZXggPT0gaW5saW5l
UnVucy5zaXplKCkpCkBAIC0xMjcsNyArMTI3LDcgQEAgc3RhdGljIHZvaWQgcGFpbnRJbmxpbmVD
b250ZW50KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgQm94JiByb290QWJzb2x1dGUK
ICAgICAgICAgfQogCiAgICAgICAgIGlmIChpbmxpbmVJdGVtLT5pc0JveCgpKSB7Ci0gICAgICAg
ICAgICBhdXRvJiBydW4gPSBpbmxpbmVSdW5zW3J1bkluZGV4KytdOworICAgICAgICAgICAgYXV0
byYgcnVuID0gKmlubGluZVJ1bnNbcnVuSW5kZXgrK107CiAgICAgICAgICAgICBhdXRvIGxvZ2lj
YWxUb3BMZWZ0ID0gcm9vdEFic29sdXRlRGlzcGxheUJveC50b3BMZWZ0KCkgKyBydW4ubG9naWNh
bFRvcExlZnQoKTsKICAgICAgICAgICAgIGNvbnRleHQuZmlsbFJlY3QoeyBsb2dpY2FsVG9wTGVm
dCwgRmxvYXRTaXplIHsgcnVuLmxvZ2ljYWxXaWR0aCgpLCBydW4ubG9naWNhbEhlaWdodCgpIH0g
fSk7CiAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0
LmNwcAppbmRleCBkNGQ4OWU4NTc0NjUwZmRlMmE0ODNjZWM0ZGQzNDAzZDZmNGM1ZTczLi4xMmYy
NGIzNWU4OGFkZmIxMGI5OWZjNWE5OTdmY2M2NWY0YTFiY2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQuY3BwCkBAIC00MTgsNiArNDE4LDkgQEAgdm9pZCBJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dDo6c2V0RGlzcGxheUJveGVzRm9yTGluZShjb25zdCBMaW5lTGF5b3V0OjpMaW5l
Q29udGUKICAgICB9CiAKICAgICAvLyBBZGQgZmluYWwgZGlzcGxheSBydW5zIHRvIHN0YXRlLgor
ICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lQm94KGxpbmVDb250ZW50LmxpbmVCb3gpOworICAg
IC8vIEZJWE1FOiBUaGlzIGlzIHRlbXBvYXJ5LgorICAgIGF1dG8mIGN1cnJlbnRMaW5lID0gKmZv
cm1hdHRpbmdTdGF0ZS5saW5lQm94ZXMoKS5sYXN0KCk7CiAgICAgZm9yIChhdXRvJiBsaW5lUnVu
IDogbGluZUNvbnRlbnQucnVuTGlzdCkgewogICAgICAgICAvLyBJbmxpbmUgbGV2ZWwgY29udGFp
bmVycyAoPHNwYW4+KSBkb24ndCBnZW5lcmF0ZSBpbmxpbmUgcnVucy4KICAgICAgICAgaWYgKGxp
bmVSdW4tPmlzQ29udGFpbmVyU3RhcnQoKSB8fCBsaW5lUnVuLT5pc0NvbnRhaW5lckVuZCgpKQpA
QCAtNDI1LDcgKzQyOCw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OnNldERpc3Bs
YXlCb3hlc0ZvckxpbmUoY29uc3QgTGluZUxheW91dDo6TGluZUNvbnRlCiAgICAgICAgIC8vIENv
bGxhcHNlZCBsaW5lIHJ1bnMgZG9uJ3QgZ2VuZXJhdGUgZGlzcGxheSBydW5zLgogICAgICAgICBp
ZiAobGluZVJ1bi0+aXNWaXN1YWxseUVtcHR5KCkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZElubGluZVJ1bihsaW5lUnVuLT5kaXNwbGF5UnVuKCkp
OworICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkSW5saW5lUnVuKGxpbmVSdW4tPmRpc3BsYXlS
dW4oKSwgY3VycmVudExpbmUpOwogICAgIH0KIAogICAgIC8vIENvbXB1dGUgYm94IGZpbmFsIGdl
b21ldHJ5LgpAQCAtNDkxLDcgKzQ5NCw2IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6
OnNldERpc3BsYXlCb3hlc0ZvckxpbmUoY29uc3QgTGluZUxheW91dDo6TGluZUNvbnRlCiAgICAg
ICAgIH0KICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQotICAgIGZvcm1hdHRp
bmdTdGF0ZS5hZGRMaW5lQm94KGxpbmVDb250ZW50LmxpbmVCb3gpOwogfQogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0
aW5nQ29udGV4dFF1aXJrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAKaW5kZXggMzdmNjdmMWU1MWFl
OTNhNjQzZDJmN2U5Y2Y4NjMwOTNiMjhhYTYzYS4uMmY1ZTViYmMyMTExYWMwN2YzNDQ0NTY2ZGFm
NTAwMjdjNjViOGJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0UXVp
cmtzLmNwcApAQCAtNjQsNyArNjQsNyBAQCBib29sIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpR
dWlya3M6OmxpbmVEZXNjZW50TmVlZHNDb2xsYXBzaW5nKGNvbnN0IExpbmU6OlJ1bgogICAgICAg
ICAgICAgaWYgKGxheW91dEJveC5pc0lubGluZUJsb2NrQm94KCkgJiYgbGF5b3V0Qm94LmVzdGFi
bGlzaGVzSW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKSkgewogICAgICAgICAgICAgICAgIGF1dG8m
IGZvcm1hdHRpbmdTdGF0ZSA9IGRvd25jYXN0PElubGluZUZvcm1hdHRpbmdTdGF0ZT4obGF5b3V0
U3RhdGUuZXN0YWJsaXNoZWRGb3JtYXR0aW5nU3RhdGUoZG93bmNhc3Q8Q29udGFpbmVyPihsYXlv
dXRCb3gpKSk7CiAgICAgICAgICAgICAgICAgQVNTRVJUKCFmb3JtYXR0aW5nU3RhdGUubGluZUJv
eGVzKCkuaXNFbXB0eSgpKTsKLSAgICAgICAgICAgICAgICBhdXRvIGlubGluZUJsb2NrQmFzZWxp
bmUgPSBmb3JtYXR0aW5nU3RhdGUubGluZUJveGVzKCkubGFzdCgpLmJhc2VsaW5lKCk7CisgICAg
ICAgICAgICAgICAgYXV0byBpbmxpbmVCbG9ja0Jhc2VsaW5lID0gZm9ybWF0dGluZ1N0YXRlLmxp
bmVCb3hlcygpLmxhc3QoKS0+YmFzZWxpbmUoKTsKICAgICAgICAgICAgICAgICBpZiAoaW5saW5l
QmxvY2tCYXNlbGluZS5kZXNjZW50KCkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKaW5kZXggMzUzNDU4
ODRiNTQ2YzYxZDQ2YTQyZGI3MGY1ODE5NWJmMDNjODFiNS4uMDA2YWU2ZDg5NWQ2MjllODA5NWIw
MzFiYTYyMTVkNzY3ZmVhNzFhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKQEAgLTM5
LDggKzM5LDggQEAgbmFtZXNwYWNlIExheW91dCB7CiAKIC8vIFRlbXAKIHVzaW5nIElubGluZUl0
ZW1zID0gVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxJbmxpbmVJdGVtPj47Ci11c2luZyBJbmxpbmVS
dW5zID0gVmVjdG9yPERpc3BsYXk6OlJ1bj47Ci11c2luZyBMaW5lQm94ZXMgPSBWZWN0b3I8TGlu
ZUJveD47Cit1c2luZyBJbmxpbmVSdW5zID0gVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxEaXNwbGF5
OjpSdW4+PjsKK3VzaW5nIExpbmVCb3hlcyA9IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8TGluZUJv
eD4+OwogLy8gSW5saW5lRm9ybWF0dGluZ1N0YXRlIGhvbGRzIHRoZSBzdGF0ZSBmb3IgYSBwYXJ0
aWN1bGFyIGlubGluZSBmb3JtYXR0aW5nIGNvbnRleHQgdHJlZS4KIGNsYXNzIElubGluZUZvcm1h
dHRpbmdTdGF0ZSA6IHB1YmxpYyBGb3JtYXR0aW5nU3RhdGUgewogICAgIFdURl9NQUtFX0lTT19B
TExPQ0FURUQoSW5saW5lRm9ybWF0dGluZ1N0YXRlKTsKQEAgLTU0LDE4ICs1NCwyOSBAQCBwdWJs
aWM6CiAKICAgICBjb25zdCBJbmxpbmVSdW5zJiBpbmxpbmVSdW5zKCkgY29uc3QgeyByZXR1cm4g
bV9pbmxpbmVSdW5zOyB9CiAgICAgSW5saW5lUnVucyYgaW5saW5lUnVucygpIHsgcmV0dXJuIG1f
aW5saW5lUnVuczsgfQotICAgIHZvaWQgYWRkSW5saW5lUnVuKGNvbnN0IERpc3BsYXk6OlJ1biYg
aW5saW5lUnVuKSB7IG1faW5saW5lUnVucy5hcHBlbmQoaW5saW5lUnVuKTsgfQorICAgIHZvaWQg
YWRkSW5saW5lUnVuKGNvbnN0IERpc3BsYXk6OlJ1biYsIGNvbnN0IExpbmVCb3gmKTsKIAogICAg
IGNvbnN0IExpbmVCb3hlcyYgbGluZUJveGVzKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm94ZXM7
IH0KICAgICBMaW5lQm94ZXMmIGxpbmVCb3hlcygpIHsgcmV0dXJuIG1fbGluZUJveGVzOyB9Ci0g
ICAgdm9pZCBhZGRMaW5lQm94KExpbmVCb3ggbGluZUJveCkgeyBtX2xpbmVCb3hlcy5hcHBlbmQo
bGluZUJveCk7IH0KKyAgICB2b2lkIGFkZExpbmVCb3goY29uc3QgTGluZUJveCYgbGluZUJveCkg
eyBtX2xpbmVCb3hlcy5hcHBlbmQobWFrZVVuaXF1ZTxMaW5lQm94PihsaW5lQm94KSk7IH0KKwor
ICAgIGNvbnN0IExpbmVCb3gmIGxpbmVCb3hGb3JSdW4oY29uc3QgRGlzcGxheTo6UnVuJiBpbmxp
bmVSdW4pIGNvbnN0IHsgcmV0dXJuICptX2lubGluZVJ1blRvTGluZU1hcC5nZXQoJmlubGluZVJ1
bik7IH0KIAogcHJpdmF0ZToKICAgICBJbmxpbmVJdGVtcyBtX2lubGluZUl0ZW1zOwogICAgIElu
bGluZVJ1bnMgbV9pbmxpbmVSdW5zOwogICAgIExpbmVCb3hlcyBtX2xpbmVCb3hlczsKKyAgICAv
LyBUaGlzIGlzIHRlbXBvcmFyeSB1bnRpbCBhZnRlciB3ZSBmaWd1cmUgb3V0IHRoZSBkaXNwbGF5
IHJ1bi9saW5lIHJlbGF0aW9uc2hpcHMuCisgICAgSGFzaE1hcDxjb25zdCBEaXNwbGF5OjpSdW4q
LCBjb25zdCBMaW5lQm94Kj4gbV9pbmxpbmVSdW5Ub0xpbmVNYXA7CiB9OwogCitpbmxpbmUgdm9p
ZCBJbmxpbmVGb3JtYXR0aW5nU3RhdGU6OmFkZElubGluZVJ1bihjb25zdCBEaXNwbGF5OjpSdW4m
IGlubGluZVJ1biwgY29uc3QgTGluZUJveCYgbGluZSkKK3sKKyAgICBhdXRvIHJ1biA9IG1ha2VV
bmlxdWU8RGlzcGxheTo6UnVuPihpbmxpbmVSdW4pOworICAgIG1faW5saW5lUnVuVG9MaW5lTWFw
LnNldChydW4uZ2V0KCksICZsaW5lKTsKKyAgICBtX2lubGluZVJ1bnMuYXBwZW5kKFdURk1vdmUo
cnVuKSk7Cit9CisKIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmNwcAppbmRleCBjMWY3MTUwMTUwMjNmNDJmYTA5NGQ0
YTdiYWIyNTljYWE3Y2E3OTk1Li42MmMzMjdkMmI0Nzk4OTgyNmQ2NzYyNzVlNDU0NmI1NmZhOTdj
NzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVMaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVMaW5lLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIHZvaWQgTGluZTo6YWxpZ25Db250
ZW50VmVydGljYWxseSgpCiAgICAgICAgICAgICAgICAgYXV0byYgZm9ybWF0dGluZ1N0YXRlID0g
ZG93bmNhc3Q8SW5saW5lRm9ybWF0dGluZ1N0YXRlPihsYXlvdXRTdGF0ZS5lc3RhYmxpc2hlZEZv
cm1hdHRpbmdTdGF0ZShkb3duY2FzdDxDb250YWluZXI+KGxheW91dEJveCkpKTsKICAgICAgICAg
ICAgICAgICAvLyBTcGVjIG1ha2VzIHVzIGdlbmVyYXRlIGF0IGxlYXN0IG9uZSBsaW5lIC1ldmVu
IGlmIGl0IGlzIGVtcHR5LgogICAgICAgICAgICAgICAgIEFTU0VSVCghZm9ybWF0dGluZ1N0YXRl
LmxpbmVCb3hlcygpLmlzRW1wdHkoKSk7Ci0gICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCbG9j
a0Jhc2VsaW5lT2Zmc2V0ID0gZm9ybWF0dGluZ1N0YXRlLmxpbmVCb3hlcygpLmxhc3QoKS5iYXNl
bGluZU9mZnNldCgpOworICAgICAgICAgICAgICAgIGF1dG8gaW5saW5lQmxvY2tCYXNlbGluZU9m
ZnNldCA9IGZvcm1hdHRpbmdTdGF0ZS5saW5lQm94ZXMoKS5sYXN0KCktPmJhc2VsaW5lT2Zmc2V0
KCk7CiAgICAgICAgICAgICAgICAgLy8gVGhlIGlubGluZS1ibG9jaydzIGJhc2VsaW5lIG9mZnNl
dCBpcyByZWxhdGl2ZSB0byBpdHMgY29udGVudCBib3guIExldCdzIGNvbnZlcnQgaXQgcmVsYXRp
dmUgdG8gdGhlIG1hcmdpbiBib3guCiAgICAgICAgICAgICAgICAgLy8gICBpbmxpbmUtYmxvY2sK
ICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgXApAQCAtNDU5LDcgKzQ1OSw3IEBAIHZv
aWQgTGluZTo6YWRqdXN0QmFzZWxpbmVBbmRMaW5lSGVpZ2h0KGNvbnN0IElubGluZUl0ZW0mIGlu
bGluZUl0ZW0pCiAgICAgICAgICAgICAgICAgYXV0byYgZm9ybWF0dGluZ1N0YXRlID0gZG93bmNh
c3Q8SW5saW5lRm9ybWF0dGluZ1N0YXRlPihsYXlvdXRTdGF0ZSgpLmVzdGFibGlzaGVkRm9ybWF0
dGluZ1N0YXRlKGRvd25jYXN0PENvbnRhaW5lcj4obGF5b3V0Qm94KSkpOwogICAgICAgICAgICAg
ICAgIC8vIFNwZWMgbWFrZXMgdXMgZ2VuZXJhdGUgYXQgbGVhc3Qgb25lIGxpbmUgLWV2ZW4gaWYg
aXQgaXMgZW1wdHkuCiAgICAgICAgICAgICAgICAgQVNTRVJUKCFmb3JtYXR0aW5nU3RhdGUubGlu
ZUJveGVzKCkuaXNFbXB0eSgpKTsKLSAgICAgICAgICAgICAgICBhdXRvJiBsYXN0TGluZUJveCA9
IGZvcm1hdHRpbmdTdGF0ZS5saW5lQm94ZXMoKS5sYXN0KCk7CisgICAgICAgICAgICAgICAgYXV0
byYgbGFzdExpbmVCb3ggPSAqZm9ybWF0dGluZ1N0YXRlLmxpbmVCb3hlcygpLmxhc3QoKTsKICAg
ICAgICAgICAgICAgICBhdXRvIGlubGluZUJsb2NrQmFzZWxpbmUgPSBsYXN0TGluZUJveC5iYXNl
bGluZSgpOwogICAgICAgICAgICAgICAgIGF1dG8gYmVmb3JlSGVpZ2h0ID0gYm94R2VvbWV0cnku
bWFyZ2luQmVmb3JlKCkgKyBib3hHZW9tZXRyeS5ib3JkZXJUb3AoKSArIGJveEdlb21ldHJ5LnBh
ZGRpbmdUb3AoKS52YWx1ZU9yKDApOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmgKaW5kZXggZDFiZDA1MTIxZmZjYzc2
NGRiMTk3NjY0NjUzMDk1MDhjMjJjZGE4YS4uZGFmNGIwNzkxYmE1MDQxMzZkNmE1NTczZGFmMzQw
OTU4YTY3Nzk5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lTGluZUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUxpbmVCb3guaApAQCAtMzMsNiArMzMsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBuYW1lc3BhY2UgTGF5b3V0IHsKIAogY2xhc3MgTGluZUJveCB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RydWN0IEJhc2VsaW5lIHsKICAgICAg
ICAgQmFzZWxpbmUoTGF5b3V0VW5pdCBhc2NlbnQsIExheW91dFVuaXQgZGVzY2VudCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRl
ci5jcHAKaW5kZXggNzE5MjhhODBmOTlmYzZhY2Q0YWY4MDQxMTczNzFlM2JiOTcwOTQwNC4uZTVi
NTg4YjEwMjBiYjAwZTVjYjg0MjEzNTRkOGM1YTY5NjNhNTY3YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcApAQCAt
Mjc0LDcgKzI3NCw3IEBAIHN0YXRpYyB2b2lkIG91dHB1dElubGluZVJ1bnMoVGV4dFN0cmVhbSYg
c3RyZWFtLCBjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsCiAKICAgICBzdHJlYW0gPDwg
ImxpbmVzIGFyZSAtPiAiOwogICAgIGZvciAoYXV0byYgbGluZUJveCA6IGxpbmVCb3hlcykKLSAg
ICAgICAgc3RyZWFtIDw8ICJbIiA8PCBsaW5lQm94LmxvZ2ljYWxMZWZ0KCkgPDwgIiwiIDw8IGxp
bmVCb3gubG9naWNhbFRvcCgpIDw8ICIgIiA8PCBsaW5lQm94LmxvZ2ljYWxXaWR0aCgpIDw8ICJ4
IiA8PCBsaW5lQm94LmxvZ2ljYWxIZWlnaHQoKSA8PCAiXSAiOworICAgICAgICBzdHJlYW0gPDwg
IlsiIDw8IGxpbmVCb3gtPmxvZ2ljYWxMZWZ0KCkgPDwgIiwiIDw8IGxpbmVCb3gtPmxvZ2ljYWxU
b3AoKSA8PCAiICIgPDwgbGluZUJveC0+bG9naWNhbFdpZHRoKCkgPDwgIngiIDw8IGxpbmVCb3gt
PmxvZ2ljYWxIZWlnaHQoKSA8PCAiXSAiOwogICAgIHN0cmVhbS5uZXh0TGluZSgpOwogCiAgICAg
Zm9yIChhdXRvJiBpbmxpbmVSdW4gOiBpbmxpbmVSdW5zKSB7CkBAIC0yODIsMTMgKzI4MiwxMyBA
QCBzdGF0aWMgdm9pZCBvdXRwdXRJbmxpbmVSdW5zKFRleHRTdHJlYW0mIHN0cmVhbSwgY29uc3Qg
TGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLAogICAgICAgICB3aGlsZSAoKytwcmludGVkQ2hhcmFj
dGVycyA8PSBkZXB0aCAqIDIpCiAgICAgICAgICAgICBzdHJlYW0gPDwgIiAiOwogICAgICAgICBz
dHJlYW0gPDwgIiAgIjsKLSAgICAgICAgaWYgKGlubGluZVJ1bi50ZXh0Q29udGV4dCgpKQorICAg
ICAgICBpZiAoaW5saW5lUnVuLT50ZXh0Q29udGV4dCgpKQogICAgICAgICAgICAgc3RyZWFtIDw8
ICJpbmxpbmUgdGV4dCBib3giOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBzdHJlYW0gPDwg
ImlubGluZSBib3giOwotICAgICAgICBzdHJlYW0gPDwgIiBhdCAoIiA8PCBpbmxpbmVSdW4ubG9n
aWNhbExlZnQoKSA8PCAiLCIgPDwgaW5saW5lUnVuLmxvZ2ljYWxUb3AoKSA8PCAiKSBzaXplICIg
PDwgaW5saW5lUnVuLmxvZ2ljYWxXaWR0aCgpIDw8ICJ4IiA8PCBpbmxpbmVSdW4ubG9naWNhbEhl
aWdodCgpOwotICAgICAgICBpZiAoaW5saW5lUnVuLnRleHRDb250ZXh0KCkpCi0gICAgICAgICAg
ICBzdHJlYW0gPDwgIiBydW4oIiA8PCBpbmxpbmVSdW4udGV4dENvbnRleHQoKS0+c3RhcnQoKSA8
PCAiLCAiIDw8IGlubGluZVJ1bi50ZXh0Q29udGV4dCgpLT5lbmQoKSA8PCAiKSI7CisgICAgICAg
IHN0cmVhbSA8PCAiIGF0ICgiIDw8IGlubGluZVJ1bi0+bG9naWNhbExlZnQoKSA8PCAiLCIgPDwg
aW5saW5lUnVuLT5sb2dpY2FsVG9wKCkgPDwgIikgc2l6ZSAiIDw8IGlubGluZVJ1bi0+bG9naWNh
bFdpZHRoKCkgPDwgIngiIDw8IGlubGluZVJ1bi0+bG9naWNhbEhlaWdodCgpOworICAgICAgICBp
ZiAoaW5saW5lUnVuLT50ZXh0Q29udGV4dCgpKQorICAgICAgICAgICAgc3RyZWFtIDw8ICIgcnVu
KCIgPDwgaW5saW5lUnVuLT50ZXh0Q29udGV4dCgpLT5zdGFydCgpIDw8ICIsICIgPDwgaW5saW5l
UnVuLT50ZXh0Q29udGV4dCgpLT5lbmQoKSA8PCAiKSI7CiAgICAgICAgIHN0cmVhbS5uZXh0TGlu
ZSgpOwogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381118</attachid>
            <date>2019-10-16 15:03:14 -0700</date>
            <delta_ts>2019-10-17 09:28:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203051-20191016150314.patch</filename>
            <type>text/plain</type>
            <size>17628</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmYyNGMyYTg5OTg5N2Vl
MjhiMjg2OTY3NzA1YWM2Y2I0Nzg3NDFkMC4uY2Y2OTNkNmNjZTJmY2M0OGIyMWM3M2I2MGNkNjIz
YWE1YjJjNDdlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE5LTEwLTE2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBBZGQgRGlz
cGxheTo6UnVuL0xpbmVCb3ggbWFwcGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMDUxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjM0MjQ4
Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYXBw
aW5nIGVuYWJsZXMgdXMgdG8gcGFpbnQgYmFzZWxpbmUgYWxpZ25lZCBydW5zIG9uIHRoZSBjdXJy
ZW50IGxpbmUuIFRoaXMgaXMgdGVtcG9yYXJ5IHVudGlsIGFmdGVyIHdlIGZpZ3VyZSBvdXQgdGhl
IGZpbmFsIHJ1bi9saW5lIHN0cnVjdHVyZS4KKworICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5n
Q29udGV4dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGlu
Z0NvbnRleHQ6Okdlb21ldHJ5Ojpjb250ZW50SGVpZ2h0Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290
IGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvVmVyaWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6b3V0cHV0TWlzbWF0Y2hpbmdTaW1wbGVMaW5lSW5mb3JtYXRpb25JZk5l
ZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om91dHB1dE1pc21hdGNoaW5nQ29tcGxl
eExpbmVJbmZvcm1hdGlvbklmTmVlZGVkKToKKyAgICAgICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0
aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dOb25SZXBs
YWNlZEhlaWdodEFuZE1hcmdpbik6CisgICAgICAgICogbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3Bs
YXlQYWludGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OnBhaW50SW5saW5lQ29u
dGVudCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6c2V0RGlzcGxheUJveGVzRm9yTGluZSk6CisgICAgICAgICogbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpsaW5lRGVz
Y2VudE5lZWRzQ29sbGFwc2luZyBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OklubGluZUZvcm1hdHRpbmdTdGF0ZTo6YWRkTGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZTo6bGluZUJveEZvclJ1biBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdTdGF0ZTo6YWRkSW5saW5lUnVu
KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6UnVuOjpSdW4pOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lOjphbGlnbkNvbnRlbnRWZXJ0aWNhbGx5KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6YWRqdXN0QmFzZWxpbmVBbmRMaW5lSGVpZ2h0KToKKyAgICAgICAg
KiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmg6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkxpbmU6OlJ1bjo6ZGlzcGxheVJ1biBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkxpbmU6OlJ1bjo6bG9naWNhbFJlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lOjpSdW46OmFkanVzdExvZ2ljYWxUb3ApOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lOjpSdW46Om1vdmVWZXJ0aWNhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZTo6UnVuOjptb3ZlSG9yaXpvbnRhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZTo6UnVuOjpleHBhbmQpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUxpbmVCb3guaDoKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVMaW5lTGF5b3V0Lmg6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0
VHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpvdXRwdXRJbmxpbmVS
dW5zKToKKwogMjAxOS0xMC0xNiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtMRkNdW0lGQ10gQWRkIHN0eWxlIGFuZCB0ZXh0IGNvbnRlbnQgdG8gRGlzcGxheTo6
UnVuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRH
ZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9t
ZXRyeS5jcHAKaW5kZXggMGQ2MWQwZDM3NmEzZThkY2NmMzYwNGZlMDk5M2UwMDMwMjQ1MTI3YS4u
MTMwNjIwMTkzNWRhY2RkMGJiMDE2ODk5ZjY3NzFlYjkzZGMxZGUyOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtMTM0
LDggKzEzNCw4IEBAIExheW91dFVuaXQgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb250
ZW50SGVpZ2h0Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290KGNvCiAgICAgICAgIGF1dG8mIGxpbmVC
b3hlcyA9IGRvd25jYXN0PElubGluZUZvcm1hdHRpbmdTdGF0ZT4obGF5b3V0U3RhdGUuZXN0YWJs
aXNoZWRGb3JtYXR0aW5nU3RhdGUoZm9ybWF0dGluZ1Jvb3RDb250YWluZXIpKS5saW5lQm94ZXMo
KTsKICAgICAgICAgLy8gRXZlbiBlbXB0eSBjb250YWluZXJzIGdlbmVyYXRlIG9uZSBsaW5lLiAK
ICAgICAgICAgQVNTRVJUKCFsaW5lQm94ZXMuaXNFbXB0eSgpKTsKLSAgICAgICAgdG9wID0gbGlu
ZUJveGVzLmZpcnN0KCkubG9naWNhbFRvcCgpOwotICAgICAgICBib3R0b20gPSBsaW5lQm94ZXMu
bGFzdCgpLmxvZ2ljYWxCb3R0b20oKTsKKyAgICAgICAgdG9wID0gbGluZUJveGVzLmZpcnN0KCkt
PmxvZ2ljYWxUb3AoKTsKKyAgICAgICAgYm90dG9tID0gbGluZUJveGVzLmxhc3QoKS0+bG9naWNh
bEJvdHRvbSgpOwogICAgIH0gZWxzZSBpZiAoZm9ybWF0dGluZ1Jvb3RDb250YWluZXIuZXN0YWJs
aXNoZXNCbG9ja0Zvcm1hdHRpbmdDb250ZXh0KCkgfHwgZm9ybWF0dGluZ1Jvb3RDb250YWluZXIu
ZXN0YWJsaXNoZXNUYWJsZUZvcm1hdHRpbmdDb250ZXh0KCkgfHwgZm9ybWF0dGluZ1Jvb3RDb250
YWluZXIuaXNEb2N1bWVudEJveCgpKSB7CiAgICAgICAgIGlmIChmb3JtYXR0aW5nUm9vdENvbnRh
aW5lci5oYXNJbkZsb3dDaGlsZCgpKSB7CiAgICAgICAgICAgICBhdXRvJiBmaXJzdEJveEdlb21l
dHJ5ID0gZm9ybWF0dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3goKmZvcm1hdHRpbmdSb290Q29u
dGFpbmVyLmZpcnN0SW5GbG93Q2hpbGQoKSwgRXNjYXBlVHlwZTo6QWNjZXNzQ2hpbGRGb3JtYXR0
aW5nQ29udGV4dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvVmVyaWZpY2F0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9WZXJpZmljYXRpb24uY3BwCmluZGV4IDJm
NTZmNjJkYWVhYWIzYTk3ZDE0YmE3NGE1YzcwZjJhNDBjNTRlMzAuLjNlZmMyM2I2OGExNDNjNTg1
ZTI3NmU4M2NjMjNkZTRjMDg2OWEzYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9WZXJpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9WZXJpZmljYXRp
b24uY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHN0YXRpYyBib29sIG91dHB1dE1pc21hdGNoaW5nU2lt
cGxlTGluZUluZm9ybWF0aW9uSWZOZWVkZWQoVGV4dFN0cmVhbSYgc3RyZWFtLCBjCiAgICAgYXV0
byBtaXNtYXRjaGVkID0gZmFsc2U7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxpbmVM
YXlvdXREYXRhLT5ydW5Db3VudCgpOyArK2kpIHsKICAgICAgICAgYXV0byYgc2ltcGxlUnVuID0g
bGluZUxheW91dERhdGEtPnJ1bkF0KGkpOwotICAgICAgICBhdXRvJiBpbmxpbmVSdW4gPSBpbmxp
bmVSdW5MaXN0W2ldOworICAgICAgICBhdXRvJiBpbmxpbmVSdW4gPSAqaW5saW5lUnVuTGlzdFtp
XTsKIAogICAgICAgICBhdXRvIG1hdGNoaW5nUnVucyA9IGFyZUVzc2VudGlhbGx5RXF1YWwoc2lt
cGxlUnVuLmxvZ2ljYWxMZWZ0LCBpbmxpbmVSdW4ubG9naWNhbExlZnQoKSkgJiYgYXJlRXNzZW50
aWFsbHlFcXVhbChzaW1wbGVSdW4ubG9naWNhbFJpZ2h0LCBpbmxpbmVSdW4ubG9naWNhbFJpZ2h0
KCkpOwogICAgICAgICBpZiAobWF0Y2hpbmdSdW5zICYmIGlubGluZVJ1bi50ZXh0Q29udGV4dCgp
KSB7CkBAIC0xNzMsNyArMTczLDcgQEAgc3RhdGljIGJvb2wgb3V0cHV0TWlzbWF0Y2hpbmdDb21w
bGV4TGluZUluZm9ybWF0aW9uSWZOZWVkZWQoVGV4dFN0cmVhbSYgc3RyZWFtLAogICAgIH0KIAog
ICAgIGZvciAodW5zaWduZWQgaW5saW5lQm94SW5kZXggPSAwOyBpbmxpbmVCb3hJbmRleCA8IGlu
bGluZUJveGVzLnNpemUoKSAmJiBydW5JbmRleCA8IGlubGluZVJ1bkxpc3Quc2l6ZSgpOyArK2lu
bGluZUJveEluZGV4KSB7Ci0gICAgICAgIGF1dG8mIGlubGluZVJ1biA9IGlubGluZVJ1bkxpc3Rb
cnVuSW5kZXhdOworICAgICAgICBhdXRvJiBpbmxpbmVSdW4gPSAqaW5saW5lUnVuTGlzdFtydW5J
bmRleF07CiAgICAgICAgIGF1dG8qIGlubGluZUJveCA9IGlubGluZUJveGVzW2lubGluZUJveElu
ZGV4XTsKICAgICAgICAgYXV0byogaW5saW5lVGV4dEJveCA9IGlzPElubGluZVRleHRCb3g+KGlu
bGluZUJveCkgPyBkb3duY2FzdDxJbmxpbmVUZXh0Qm94PihpbmxpbmVCb3gpIDogbnVsbHB0cjsK
ICAgICAgICAgYm9vbCBtYXRjaGluZ1J1bnMgPSBpbmxpbmVUZXh0Qm94ID8gY2hlY2tGb3JNYXRj
aGluZ1RleHRSdW5zKGlubGluZVJ1biwgKmlubGluZVRleHRCb3gpIDogbWF0Y2hpbmdSdW5zID0g
Y2hlY2tGb3JNYXRjaGluZ05vblRleHRSdW5zKGlubGluZVJ1biwgKmlubGluZUJveCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0
dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3Jt
YXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5kZXggZWQ4YTM4NjEx
NjdlODUzNmNkNTE5YmQ4M2QyOWU5ZmUyYTM3NGMyOC4uNTRmN2U2ZjMzZjA0ZTQ1MmU5Y2M5NzY2
OTQ1YjJkZDEwNjJiMDkyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2Nr
Zm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdl
b21ldHJ5LmNwcApAQCAtNzUsNyArNzUsNyBAQCBDb250ZW50SGVpZ2h0QW5kTWFyZ2luIEJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dOb25SZXBsYWNlZEhlaWdodAogICAg
ICAgICAgICAgYXV0byYgbGluZUJveGVzID0gZG93bmNhc3Q8SW5saW5lRm9ybWF0dGluZ1N0YXRl
PihsYXlvdXRTdGF0ZSgpLmVzdGFibGlzaGVkRm9ybWF0dGluZ1N0YXRlKGxheW91dENvbnRhaW5l
cikpLmxpbmVCb3hlcygpOwogICAgICAgICAgICAgLy8gRXZlbiBlbXB0eSBjb250YWluZXJzIGdl
bmVyYXRlIG9uZSBsaW5lLiAKICAgICAgICAgICAgIEFTU0VSVCghbGluZUJveGVzLmlzRW1wdHko
KSk7Ci0gICAgICAgICAgICByZXR1cm4geyBsaW5lQm94ZXMubGFzdCgpLmxvZ2ljYWxCb3R0b20o
KSAtIGJvcmRlckFuZFBhZGRpbmdUb3AsIG5vbkNvbGxhcHNlZE1hcmdpbiB9OworICAgICAgICAg
ICAgcmV0dXJuIHsgbGluZUJveGVzLmxhc3QoKS0+bG9naWNhbEJvdHRvbSgpIC0gYm9yZGVyQW5k
UGFkZGluZ1RvcCwgbm9uQ29sbGFwc2VkTWFyZ2luIH07CiAgICAgICAgIH0KIAogICAgICAgICAv
LyAyLiB0aGUgYm90dG9tIGVkZ2Ugb2YgdGhlIGJvdHRvbSAocG9zc2libHkgY29sbGFwc2VkKSBt
YXJnaW4gb2YgaXRzIGxhc3QgaW4tZmxvdyBjaGlsZCwgaWYgdGhlIGNoaWxkJ3MgYm90dG9tIG1h
cmdpbi4uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rp
c3BsYXlQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5dHJlZS9EaXNw
bGF5UGFpbnRlci5jcHAKaW5kZXggNWYwNTFhMWYzNjVmNDA3YWU5M2ZkNDc0YWNlOTE3NzBlOTgz
MGI1MS4uNGFkOTVjNjZkY2U2YzNhZDQzMTdhMzRmMjUxZDQyMjJkY2EwNDdhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlQYWludGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3Bw
CkBAIC0xMTMsMTEgKzExMywxMSBAQCBzdGF0aWMgdm9pZCBwYWludElubGluZUNvbnRlbnQoR3Jh
cGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBCb3gmIHJvb3RBYnNvbHV0ZQogICAgICAgICAg
ICAgYXV0byYgaW5saW5lVGV4dEl0ZW0gPSBkb3duY2FzdDxMYXlvdXQ6OklubGluZVRleHRJdGVt
PigqaW5saW5lSXRlbSk7CiAgICAgICAgICAgICBhdXRvIGlubGluZUNvbnRlbnQgPSBpbmxpbmVU
ZXh0SXRlbS5sYXlvdXRCb3goKS50ZXh0Q29udGVudCgpOwogICAgICAgICAgICAgd2hpbGUgKHRy
dWUpIHsKLSAgICAgICAgICAgICAgICBhdXRvJiBydW4gPSBpbmxpbmVSdW5zW3J1bkluZGV4Kytd
OworICAgICAgICAgICAgICAgIGF1dG8mIHJ1biA9ICppbmxpbmVSdW5zW3J1bkluZGV4KytdOwog
ICAgICAgICAgICAgICAgIGF1dG8gdGV4dENvbnRleHQgPSBydW4udGV4dENvbnRleHQoKS52YWx1
ZSgpOwogICAgICAgICAgICAgICAgIGF1dG8gcnVuQ29udGVudCA9IGlubGluZUNvbnRlbnQuc3Vi
c3RyaW5nKHRleHRDb250ZXh0LnN0YXJ0KCksIHRleHRDb250ZXh0Lmxlbmd0aCgpKTsKICAgICAg
ICAgICAgICAgICBhdXRvIGxvZ2ljYWxUb3BMZWZ0ID0gcm9vdEFic29sdXRlRGlzcGxheUJveC50
b3BMZWZ0KCkgKyBydW4ubG9naWNhbFRvcExlZnQoKTsKLSAgICAgICAgICAgICAgICBjb250ZXh0
LmRyYXdUZXh0KHN0eWxlLmZvbnRDYXNjYWRlKCksIFRleHRSdW4geyBydW5Db250ZW50IH0sIHsg
bG9naWNhbFRvcExlZnQueCgpLCBsb2dpY2FsVG9wTGVmdC55KCkgKyBmb3JtYXR0aW5nU3RhdGUu
bGluZUJveGVzKClbMF0uYmFzZWxpbmVPZmZzZXQoKSB9KTsKKyAgICAgICAgICAgICAgICBjb250
ZXh0LmRyYXdUZXh0KHN0eWxlLmZvbnRDYXNjYWRlKCksIFRleHRSdW4geyBydW5Db250ZW50IH0s
IHsgbG9naWNhbFRvcExlZnQueCgpLCBsb2dpY2FsVG9wTGVmdC55KCkgKyBmb3JtYXR0aW5nU3Rh
dGUubGluZUJveGVzKClbMF0tPmJhc2VsaW5lT2Zmc2V0KCkgfSk7CiAgICAgICAgICAgICAgICAg
aWYgKGlubGluZVRleHRJdGVtLmVuZCgpID09IHRleHRDb250ZXh0LmVuZCgpKQogICAgICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICBpZiAocnVuSW5kZXggPT0gaW5saW5l
UnVucy5zaXplKCkpCkBAIC0xMjcsNyArMTI3LDcgQEAgc3RhdGljIHZvaWQgcGFpbnRJbmxpbmVD
b250ZW50KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgQm94JiByb290QWJzb2x1dGUK
ICAgICAgICAgfQogCiAgICAgICAgIGlmIChpbmxpbmVJdGVtLT5pc0JveCgpKSB7Ci0gICAgICAg
ICAgICBhdXRvJiBydW4gPSBpbmxpbmVSdW5zW3J1bkluZGV4KytdOworICAgICAgICAgICAgYXV0
byYgcnVuID0gKmlubGluZVJ1bnNbcnVuSW5kZXgrK107CiAgICAgICAgICAgICBhdXRvIGxvZ2lj
YWxUb3BMZWZ0ID0gcm9vdEFic29sdXRlRGlzcGxheUJveC50b3BMZWZ0KCkgKyBydW4ubG9naWNh
bFRvcExlZnQoKTsKICAgICAgICAgICAgIGNvbnRleHQuZmlsbFJlY3QoeyBsb2dpY2FsVG9wTGVm
dCwgRmxvYXRTaXplIHsgcnVuLmxvZ2ljYWxXaWR0aCgpLCBydW4ubG9naWNhbEhlaWdodCgpIH0g
fSk7CiAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0
LmNwcAppbmRleCBkNGQ4OWU4NTc0NjUwZmRlMmE0ODNjZWM0ZGQzNDAzZDZmNGM1ZTczLi4xMmYy
NGIzNWU4OGFkZmIxMGI5OWZjNWE5OTdmY2M2NWY0YTFiY2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQuY3BwCkBAIC00MTgsNiArNDE4LDkgQEAgdm9pZCBJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dDo6c2V0RGlzcGxheUJveGVzRm9yTGluZShjb25zdCBMaW5lTGF5b3V0OjpMaW5l
Q29udGUKICAgICB9CiAKICAgICAvLyBBZGQgZmluYWwgZGlzcGxheSBydW5zIHRvIHN0YXRlLgor
ICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lQm94KGxpbmVDb250ZW50LmxpbmVCb3gpOworICAg
IC8vIEZJWE1FOiBUaGlzIGlzIHRlbXBvYXJ5LgorICAgIGF1dG8mIGN1cnJlbnRMaW5lID0gKmZv
cm1hdHRpbmdTdGF0ZS5saW5lQm94ZXMoKS5sYXN0KCk7CiAgICAgZm9yIChhdXRvJiBsaW5lUnVu
IDogbGluZUNvbnRlbnQucnVuTGlzdCkgewogICAgICAgICAvLyBJbmxpbmUgbGV2ZWwgY29udGFp
bmVycyAoPHNwYW4+KSBkb24ndCBnZW5lcmF0ZSBpbmxpbmUgcnVucy4KICAgICAgICAgaWYgKGxp
bmVSdW4tPmlzQ29udGFpbmVyU3RhcnQoKSB8fCBsaW5lUnVuLT5pc0NvbnRhaW5lckVuZCgpKQpA
QCAtNDI1LDcgKzQyOCw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OnNldERpc3Bs
YXlCb3hlc0ZvckxpbmUoY29uc3QgTGluZUxheW91dDo6TGluZUNvbnRlCiAgICAgICAgIC8vIENv
bGxhcHNlZCBsaW5lIHJ1bnMgZG9uJ3QgZ2VuZXJhdGUgZGlzcGxheSBydW5zLgogICAgICAgICBp
ZiAobGluZVJ1bi0+aXNWaXN1YWxseUVtcHR5KCkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZElubGluZVJ1bihsaW5lUnVuLT5kaXNwbGF5UnVuKCkp
OworICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkSW5saW5lUnVuKGxpbmVSdW4tPmRpc3BsYXlS
dW4oKSwgY3VycmVudExpbmUpOwogICAgIH0KIAogICAgIC8vIENvbXB1dGUgYm94IGZpbmFsIGdl
b21ldHJ5LgpAQCAtNDkxLDcgKzQ5NCw2IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6
OnNldERpc3BsYXlCb3hlc0ZvckxpbmUoY29uc3QgTGluZUxheW91dDo6TGluZUNvbnRlCiAgICAg
ICAgIH0KICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQotICAgIGZvcm1hdHRp
bmdTdGF0ZS5hZGRMaW5lQm94KGxpbmVDb250ZW50LmxpbmVCb3gpOwogfQogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0
aW5nQ29udGV4dFF1aXJrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAKaW5kZXggMzdmNjdmMWU1MWFl
OTNhNjQzZDJmN2U5Y2Y4NjMwOTNiMjhhYTYzYS4uMmY1ZTViYmMyMTExYWMwN2YzNDQ0NTY2ZGFm
NTAwMjdjNjViOGJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0UXVp
cmtzLmNwcApAQCAtNjQsNyArNjQsNyBAQCBib29sIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpR
dWlya3M6OmxpbmVEZXNjZW50TmVlZHNDb2xsYXBzaW5nKGNvbnN0IExpbmU6OlJ1bgogICAgICAg
ICAgICAgaWYgKGxheW91dEJveC5pc0lubGluZUJsb2NrQm94KCkgJiYgbGF5b3V0Qm94LmVzdGFi
bGlzaGVzSW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKSkgewogICAgICAgICAgICAgICAgIGF1dG8m
IGZvcm1hdHRpbmdTdGF0ZSA9IGRvd25jYXN0PElubGluZUZvcm1hdHRpbmdTdGF0ZT4obGF5b3V0
U3RhdGUuZXN0YWJsaXNoZWRGb3JtYXR0aW5nU3RhdGUoZG93bmNhc3Q8Q29udGFpbmVyPihsYXlv
dXRCb3gpKSk7CiAgICAgICAgICAgICAgICAgQVNTRVJUKCFmb3JtYXR0aW5nU3RhdGUubGluZUJv
eGVzKCkuaXNFbXB0eSgpKTsKLSAgICAgICAgICAgICAgICBhdXRvIGlubGluZUJsb2NrQmFzZWxp
bmUgPSBmb3JtYXR0aW5nU3RhdGUubGluZUJveGVzKCkubGFzdCgpLmJhc2VsaW5lKCk7CisgICAg
ICAgICAgICAgICAgYXV0byBpbmxpbmVCbG9ja0Jhc2VsaW5lID0gZm9ybWF0dGluZ1N0YXRlLmxp
bmVCb3hlcygpLmxhc3QoKS0+YmFzZWxpbmUoKTsKICAgICAgICAgICAgICAgICBpZiAoaW5saW5l
QmxvY2tCYXNlbGluZS5kZXNjZW50KCkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKaW5kZXggMzUzNDU4
ODRiNTQ2YzYxZDQ2YTQyZGI3MGY1ODE5NWJmMDNjODFiNS4uMDA2YWU2ZDg5NWQ2MjllODA5NWIw
MzFiYTYyMTVkNzY3ZmVhNzFhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgKQEAgLTM5
LDggKzM5LDggQEAgbmFtZXNwYWNlIExheW91dCB7CiAKIC8vIFRlbXAKIHVzaW5nIElubGluZUl0
ZW1zID0gVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxJbmxpbmVJdGVtPj47Ci11c2luZyBJbmxpbmVS
dW5zID0gVmVjdG9yPERpc3BsYXk6OlJ1bj47Ci11c2luZyBMaW5lQm94ZXMgPSBWZWN0b3I8TGlu
ZUJveD47Cit1c2luZyBJbmxpbmVSdW5zID0gVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxEaXNwbGF5
OjpSdW4+PjsKK3VzaW5nIExpbmVCb3hlcyA9IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8TGluZUJv
eD4+OwogLy8gSW5saW5lRm9ybWF0dGluZ1N0YXRlIGhvbGRzIHRoZSBzdGF0ZSBmb3IgYSBwYXJ0
aWN1bGFyIGlubGluZSBmb3JtYXR0aW5nIGNvbnRleHQgdHJlZS4KIGNsYXNzIElubGluZUZvcm1h
dHRpbmdTdGF0ZSA6IHB1YmxpYyBGb3JtYXR0aW5nU3RhdGUgewogICAgIFdURl9NQUtFX0lTT19B
TExPQ0FURUQoSW5saW5lRm9ybWF0dGluZ1N0YXRlKTsKQEAgLTU0LDE4ICs1NCwyOSBAQCBwdWJs
aWM6CiAKICAgICBjb25zdCBJbmxpbmVSdW5zJiBpbmxpbmVSdW5zKCkgY29uc3QgeyByZXR1cm4g
bV9pbmxpbmVSdW5zOyB9CiAgICAgSW5saW5lUnVucyYgaW5saW5lUnVucygpIHsgcmV0dXJuIG1f
aW5saW5lUnVuczsgfQotICAgIHZvaWQgYWRkSW5saW5lUnVuKGNvbnN0IERpc3BsYXk6OlJ1biYg
aW5saW5lUnVuKSB7IG1faW5saW5lUnVucy5hcHBlbmQoaW5saW5lUnVuKTsgfQorICAgIHZvaWQg
YWRkSW5saW5lUnVuKGNvbnN0IERpc3BsYXk6OlJ1biYsIGNvbnN0IExpbmVCb3gmKTsKIAogICAg
IGNvbnN0IExpbmVCb3hlcyYgbGluZUJveGVzKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm94ZXM7
IH0KICAgICBMaW5lQm94ZXMmIGxpbmVCb3hlcygpIHsgcmV0dXJuIG1fbGluZUJveGVzOyB9Ci0g
ICAgdm9pZCBhZGRMaW5lQm94KExpbmVCb3ggbGluZUJveCkgeyBtX2xpbmVCb3hlcy5hcHBlbmQo
bGluZUJveCk7IH0KKyAgICB2b2lkIGFkZExpbmVCb3goY29uc3QgTGluZUJveCYgbGluZUJveCkg
eyBtX2xpbmVCb3hlcy5hcHBlbmQobWFrZVVuaXF1ZTxMaW5lQm94PihsaW5lQm94KSk7IH0KKwor
ICAgIGNvbnN0IExpbmVCb3gmIGxpbmVCb3hGb3JSdW4oY29uc3QgRGlzcGxheTo6UnVuJiBpbmxp
bmVSdW4pIGNvbnN0IHsgcmV0dXJuICptX2lubGluZVJ1blRvTGluZU1hcC5nZXQoJmlubGluZVJ1
bik7IH0KIAogcHJpdmF0ZToKICAgICBJbmxpbmVJdGVtcyBtX2lubGluZUl0ZW1zOwogICAgIElu
bGluZVJ1bnMgbV9pbmxpbmVSdW5zOwogICAgIExpbmVCb3hlcyBtX2xpbmVCb3hlczsKKyAgICAv
LyBUaGlzIGlzIHRlbXBvcmFyeSB1bnRpbCBhZnRlciB3ZSBmaWd1cmUgb3V0IHRoZSBkaXNwbGF5
IHJ1bi9saW5lIHJlbGF0aW9uc2hpcHMuCisgICAgSGFzaE1hcDxjb25zdCBEaXNwbGF5OjpSdW4q
LCBjb25zdCBMaW5lQm94Kj4gbV9pbmxpbmVSdW5Ub0xpbmVNYXA7CiB9OwogCitpbmxpbmUgdm9p
ZCBJbmxpbmVGb3JtYXR0aW5nU3RhdGU6OmFkZElubGluZVJ1bihjb25zdCBEaXNwbGF5OjpSdW4m
IGlubGluZVJ1biwgY29uc3QgTGluZUJveCYgbGluZSkKK3sKKyAgICBhdXRvIHJ1biA9IG1ha2VV
bmlxdWU8RGlzcGxheTo6UnVuPihpbmxpbmVSdW4pOworICAgIG1faW5saW5lUnVuVG9MaW5lTWFw
LnNldChydW4uZ2V0KCksICZsaW5lKTsKKyAgICBtX2lubGluZVJ1bnMuYXBwZW5kKFdURk1vdmUo
cnVuKSk7Cit9CisKIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmNwcAppbmRleCBjMWY3MTUwMTUwMjNmNDJmYTA5NGQ0
YTdiYWIyNTljYWE3Y2E3OTk1Li42MmMzMjdkMmI0Nzk4OTgyNmQ2NzYyNzVlNDU0NmI1NmZhOTdj
NzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVMaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVMaW5lLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIHZvaWQgTGluZTo6YWxpZ25Db250
ZW50VmVydGljYWxseSgpCiAgICAgICAgICAgICAgICAgYXV0byYgZm9ybWF0dGluZ1N0YXRlID0g
ZG93bmNhc3Q8SW5saW5lRm9ybWF0dGluZ1N0YXRlPihsYXlvdXRTdGF0ZS5lc3RhYmxpc2hlZEZv
cm1hdHRpbmdTdGF0ZShkb3duY2FzdDxDb250YWluZXI+KGxheW91dEJveCkpKTsKICAgICAgICAg
ICAgICAgICAvLyBTcGVjIG1ha2VzIHVzIGdlbmVyYXRlIGF0IGxlYXN0IG9uZSBsaW5lIC1ldmVu
IGlmIGl0IGlzIGVtcHR5LgogICAgICAgICAgICAgICAgIEFTU0VSVCghZm9ybWF0dGluZ1N0YXRl
LmxpbmVCb3hlcygpLmlzRW1wdHkoKSk7Ci0gICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCbG9j
a0Jhc2VsaW5lT2Zmc2V0ID0gZm9ybWF0dGluZ1N0YXRlLmxpbmVCb3hlcygpLmxhc3QoKS5iYXNl
bGluZU9mZnNldCgpOworICAgICAgICAgICAgICAgIGF1dG8gaW5saW5lQmxvY2tCYXNlbGluZU9m
ZnNldCA9IGZvcm1hdHRpbmdTdGF0ZS5saW5lQm94ZXMoKS5sYXN0KCktPmJhc2VsaW5lT2Zmc2V0
KCk7CiAgICAgICAgICAgICAgICAgLy8gVGhlIGlubGluZS1ibG9jaydzIGJhc2VsaW5lIG9mZnNl
dCBpcyByZWxhdGl2ZSB0byBpdHMgY29udGVudCBib3guIExldCdzIGNvbnZlcnQgaXQgcmVsYXRp
dmUgdG8gdGhlIG1hcmdpbiBib3guCiAgICAgICAgICAgICAgICAgLy8gICBpbmxpbmUtYmxvY2sK
ICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgXApAQCAtNDU5LDcgKzQ1OSw3IEBAIHZv
aWQgTGluZTo6YWRqdXN0QmFzZWxpbmVBbmRMaW5lSGVpZ2h0KGNvbnN0IElubGluZUl0ZW0mIGlu
bGluZUl0ZW0pCiAgICAgICAgICAgICAgICAgYXV0byYgZm9ybWF0dGluZ1N0YXRlID0gZG93bmNh
c3Q8SW5saW5lRm9ybWF0dGluZ1N0YXRlPihsYXlvdXRTdGF0ZSgpLmVzdGFibGlzaGVkRm9ybWF0
dGluZ1N0YXRlKGRvd25jYXN0PENvbnRhaW5lcj4obGF5b3V0Qm94KSkpOwogICAgICAgICAgICAg
ICAgIC8vIFNwZWMgbWFrZXMgdXMgZ2VuZXJhdGUgYXQgbGVhc3Qgb25lIGxpbmUgLWV2ZW4gaWYg
aXQgaXMgZW1wdHkuCiAgICAgICAgICAgICAgICAgQVNTRVJUKCFmb3JtYXR0aW5nU3RhdGUubGlu
ZUJveGVzKCkuaXNFbXB0eSgpKTsKLSAgICAgICAgICAgICAgICBhdXRvJiBsYXN0TGluZUJveCA9
IGZvcm1hdHRpbmdTdGF0ZS5saW5lQm94ZXMoKS5sYXN0KCk7CisgICAgICAgICAgICAgICAgYXV0
byYgbGFzdExpbmVCb3ggPSAqZm9ybWF0dGluZ1N0YXRlLmxpbmVCb3hlcygpLmxhc3QoKTsKICAg
ICAgICAgICAgICAgICBhdXRvIGlubGluZUJsb2NrQmFzZWxpbmUgPSBsYXN0TGluZUJveC5iYXNl
bGluZSgpOwogICAgICAgICAgICAgICAgIGF1dG8gYmVmb3JlSGVpZ2h0ID0gYm94R2VvbWV0cnku
bWFyZ2luQmVmb3JlKCkgKyBib3hHZW9tZXRyeS5ib3JkZXJUb3AoKSArIGJveEdlb21ldHJ5LnBh
ZGRpbmdUb3AoKS52YWx1ZU9yKDApOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmgKaW5kZXggZDFiZDA1MTIxZmZjYzc2
NGRiMTk3NjY0NjUzMDk1MDhjMjJjZGE4YS4uZGFmNGIwNzkxYmE1MDQxMzZkNmE1NTczZGFmMzQw
OTU4YTY3Nzk5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lTGluZUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUxpbmVCb3guaApAQCAtMzMsNiArMzMsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBuYW1lc3BhY2UgTGF5b3V0IHsKIAogY2xhc3MgTGluZUJveCB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RydWN0IEJhc2VsaW5lIHsKICAgICAg
ICAgQmFzZWxpbmUoTGF5b3V0VW5pdCBhc2NlbnQsIExheW91dFVuaXQgZGVzY2VudCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRl
ci5jcHAKaW5kZXggNzE5MjhhODBmOTlmYzZhY2Q0YWY4MDQxMTczNzFlM2JiOTcwOTQwNC4uZTVi
NTg4YjEwMjBiYjAwZTVjYjg0MjEzNTRkOGM1YTY5NjNhNTY3YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcApAQCAt
Mjc0LDcgKzI3NCw3IEBAIHN0YXRpYyB2b2lkIG91dHB1dElubGluZVJ1bnMoVGV4dFN0cmVhbSYg
c3RyZWFtLCBjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsCiAKICAgICBzdHJlYW0gPDwg
ImxpbmVzIGFyZSAtPiAiOwogICAgIGZvciAoYXV0byYgbGluZUJveCA6IGxpbmVCb3hlcykKLSAg
ICAgICAgc3RyZWFtIDw8ICJbIiA8PCBsaW5lQm94LmxvZ2ljYWxMZWZ0KCkgPDwgIiwiIDw8IGxp
bmVCb3gubG9naWNhbFRvcCgpIDw8ICIgIiA8PCBsaW5lQm94LmxvZ2ljYWxXaWR0aCgpIDw8ICJ4
IiA8PCBsaW5lQm94LmxvZ2ljYWxIZWlnaHQoKSA8PCAiXSAiOworICAgICAgICBzdHJlYW0gPDwg
IlsiIDw8IGxpbmVCb3gtPmxvZ2ljYWxMZWZ0KCkgPDwgIiwiIDw8IGxpbmVCb3gtPmxvZ2ljYWxU
b3AoKSA8PCAiICIgPDwgbGluZUJveC0+bG9naWNhbFdpZHRoKCkgPDwgIngiIDw8IGxpbmVCb3gt
PmxvZ2ljYWxIZWlnaHQoKSA8PCAiXSAiOwogICAgIHN0cmVhbS5uZXh0TGluZSgpOwogCiAgICAg
Zm9yIChhdXRvJiBpbmxpbmVSdW4gOiBpbmxpbmVSdW5zKSB7CkBAIC0yODIsMTMgKzI4MiwxMyBA
QCBzdGF0aWMgdm9pZCBvdXRwdXRJbmxpbmVSdW5zKFRleHRTdHJlYW0mIHN0cmVhbSwgY29uc3Qg
TGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLAogICAgICAgICB3aGlsZSAoKytwcmludGVkQ2hhcmFj
dGVycyA8PSBkZXB0aCAqIDIpCiAgICAgICAgICAgICBzdHJlYW0gPDwgIiAiOwogICAgICAgICBz
dHJlYW0gPDwgIiAgIjsKLSAgICAgICAgaWYgKGlubGluZVJ1bi50ZXh0Q29udGV4dCgpKQorICAg
ICAgICBpZiAoaW5saW5lUnVuLT50ZXh0Q29udGV4dCgpKQogICAgICAgICAgICAgc3RyZWFtIDw8
ICJpbmxpbmUgdGV4dCBib3giOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBzdHJlYW0gPDwg
ImlubGluZSBib3giOwotICAgICAgICBzdHJlYW0gPDwgIiBhdCAoIiA8PCBpbmxpbmVSdW4ubG9n
aWNhbExlZnQoKSA8PCAiLCIgPDwgaW5saW5lUnVuLmxvZ2ljYWxUb3AoKSA8PCAiKSBzaXplICIg
PDwgaW5saW5lUnVuLmxvZ2ljYWxXaWR0aCgpIDw8ICJ4IiA8PCBpbmxpbmVSdW4ubG9naWNhbEhl
aWdodCgpOwotICAgICAgICBpZiAoaW5saW5lUnVuLnRleHRDb250ZXh0KCkpCi0gICAgICAgICAg
ICBzdHJlYW0gPDwgIiBydW4oIiA8PCBpbmxpbmVSdW4udGV4dENvbnRleHQoKS0+c3RhcnQoKSA8
PCAiLCAiIDw8IGlubGluZVJ1bi50ZXh0Q29udGV4dCgpLT5lbmQoKSA8PCAiKSI7CisgICAgICAg
IHN0cmVhbSA8PCAiIGF0ICgiIDw8IGlubGluZVJ1bi0+bG9naWNhbExlZnQoKSA8PCAiLCIgPDwg
aW5saW5lUnVuLT5sb2dpY2FsVG9wKCkgPDwgIikgc2l6ZSAiIDw8IGlubGluZVJ1bi0+bG9naWNh
bFdpZHRoKCkgPDwgIngiIDw8IGlubGluZVJ1bi0+bG9naWNhbEhlaWdodCgpOworICAgICAgICBp
ZiAoaW5saW5lUnVuLT50ZXh0Q29udGV4dCgpKQorICAgICAgICAgICAgc3RyZWFtIDw8ICIgcnVu
KCIgPDwgaW5saW5lUnVuLT50ZXh0Q29udGV4dCgpLT5zdGFydCgpIDw8ICIsICIgPDwgaW5saW5l
UnVuLT50ZXh0Q29udGV4dCgpLT5lbmQoKSA8PCAiKSI7CiAgICAgICAgIHN0cmVhbS5uZXh0TGlu
ZSgpOwogICAgIH0KIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>