<?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>284104</bug_id>
          
          <creation_ts>2024-12-05 05:23:57 -0800</creation_ts>
          <short_desc>[line-clamp] Number of contentful lines does not always match the number of lines with inline content</short_desc>
          <delta_ts>2024-12-05 16:06:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2079380</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2024-12-05 05:23:57 -0800</bug_when>
    <thetext>.e.g &lt;br&gt;&lt;span&gt;&lt;/span&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2079384</commentid>
    <comment_count>1</comment_count>
      <attachid>473467</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-12-05 05:39:03 -0800</bug_when>
    <thetext>Created attachment 473467
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2079392</commentid>
    <comment_count>2</comment_count>
      <attachid>473468</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-12-05 06:17:03 -0800</bug_when>
    <thetext>Created attachment 473468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2079420</commentid>
    <comment_count>3</comment_count>
      <attachid>473469</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-12-05 09:10:07 -0800</bug_when>
    <thetext>Created attachment 473469
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2079430</commentid>
    <comment_count>4</comment_count>
      <attachid>473470</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-12-05 10:15:47 -0800</bug_when>
    <thetext>Created attachment 473470
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2079444</commentid>
    <comment_count>5</comment_count>
      <attachid>473471</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-12-05 12:02:16 -0800</bug_when>
    <thetext>Created attachment 473471
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2079508</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-12-05 16:05:24 -0800</bug_when>
    <thetext>Committed 287416@main (33bd862c8092): &lt;https://commits.webkit.org/287416@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 473471.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2079509</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-12-05 16:06:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/141012519&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473467</attachid>
            <date>2024-12-05 05:39:03 -0800</date>
            <delta_ts>2024-12-05 06:17:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-284104-20241205053902.patch</filename>
            <type>text/plain</type>
            <size>16428</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAyMTcyZTMxNjcwNDZmNjVjMWVlYzYyOTkxODMxOTJlODc2ODI5NTgxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFRodSwgNSBEZWMgMjAyNCAwNTozMzoyMiAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFtsaW5lLWNs
YW1wXSBOdW1iZXIgb2YgY29udGVudGZ1bCBsaW5lcyBkb2VzIG5vdCBhbHdheXMgbWF0Y2gKIHRo
ZSBudW1iZXIgb2YgbGluZXMgd2l0aCBpbmxpbmUgY29udGVudAogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI4NDEwNAoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CgpMZXQncyB0cmFjayB0aGUgbnVtYmVyIG9mIF9jb250ZW50ZnVsXyBsaW5lcyBmb3IgbGluZSBj
bGFtcGluZy4KCkluIHNvbWUgY2FzZXMgKHRyYWlsaW5nIG91dC1vZi1mbG93IGJveGVzIG9yIG5v
bi1jb250ZW50ZnVsIGlubGluZSBjb250ZW50IGFmdGVyIHRoZSBmaW5hbCA8YnI+KSB3ZSBlbmQg
dXAgY3JlYXRpbmcKYSBkaXNwbGF5IGxpbmUgd2l0aCBubyBkaXNwbGF5IGJveCBvdGhlciB0aGFu
IHRoZSByb290IGlubGluZSBkaXNwbGF5IGJveC4gU3VjaCAiZW1wdHkiIGxpbmVzIHNob3VsZCBu
b3QgYmUKdGFrZW4gaW50byBhY2NvdW50IHdoZW4gY291bnRpbmcgdGhlIGxpbmVzIGZvciBsaW5l
LWNsYW1wLgoKZXhhbXBsZXM6CjxkaXY+dGhpcyBsaW5lIGlzIGNvbnRlbnRmdWw8YnI+PGRpdiBz
dHlsZT0icG9zaXRpb246IGFic29sdXRlIj48L2Rpdj4gPC0gb3V0IG9mIGZsb3cgYm94IGFmdGVy
IGxhc3QgY29udGVudGZ1bCBsaW5lCjxkaXY+dGhpcyBsaW5lIGlzIGNvbnRlbmZ1bDxicj48c3Bh
bj48L3NwYW4+PC9kaXY+IDwtIG5vbi1jb250ZW50ZnVsIHRyYWlsaW5nIGlubGluZSBjb250ZW50
CgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmxpbmVMYXlvdXQpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KToKKFdlYkNvcmU6
OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9y
TGluZUZyb21DYWNoZWRDb250ZW50KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9yRW1wdHlJbmxpbmVDb250ZW50KToKKiBT
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5oOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5jcHA6CihXZWJDb3JlOjpMYXlvdXQ6Oklu
bGluZUZvcm1hdHRpbmdVdGlsczo6bGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kpOgoqIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRp
bmdVdGlscy5oOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmNwcDoKKFdlYkNvcmU6OkxheW91
dDo6bW92ZURpc3BsYXlCb3hUb0NsYW1wZWRMaW5lKToKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIu
Y3BwOgooV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWlsZGVyOjph
ZGp1c3REaXNwbGF5TGluZXMgY29uc3QpOgotLS0KIC4uLi9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwICAgICAgICB8IDI3ICsrKysrKysrKysrLS0tLS0tLS0KIC4uLi9pbmxpbmUv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaCAgICAgICAgICB8ICAyICstCiAuLi4vaW5saW5lL0lu
bGluZUZvcm1hdHRpbmdVdGlscy5jcHAgICAgICAgICAgfCAgNiArKy0tLQogLi4uL2lubGluZS9J
bmxpbmVGb3JtYXR0aW5nVXRpbHMuaCAgICAgICAgICAgIHwgIDIgKy0KIC4uLi9kaXNwbGF5L0lu
bGluZURpc3BsYXlMaW5lQnVpbGRlci5jcHAgICAgICB8ICA0ICsrKwogLi4uL0xheW91dEludGVn
cmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwIHwgIDIgKy0KIDYgZmlsZXMgY2hhbmdlZCwg
MjYgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGNhNDQzMGYxMzk2Zi4uYWUyMzY2
YmQ4ODQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCkBAIC0yOTQsNyArMjk0LDcgQEAgSW5saW5lTGF5b3V0UmVzdWx0IElubGluZUZvcm1h
dHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0KEFic3RyYWN0TGluZUJ1aWxkZXImIGxpbmUKICAgICBh
dXRvIHByZXZpb3VzTGluZUVuZCA9IHN0ZDo6b3B0aW9uYWw8SW5saW5lSXRlbVBvc2l0aW9uPiB7
IH07CiAgICAgYXV0byBsZWFkaW5nSW5saW5lSXRlbVBvc2l0aW9uID0gbmVlZHNMYXlvdXRSYW5n
ZS5zdGFydDsKICAgICBhdXRvIHBhcnRpYWxMYXlvdXRTdGFydEluZGV4ID0gcHJldmlvdXNMaW5l
ID8gc3RkOjptYWtlX29wdGlvbmFsKHByZXZpb3VzTGluZS0+bGluZUluZGV4KSA6IHN0ZDo6bnVs
bG9wdDsKLSAgICBzaXplX3QgbnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50ID0gMDsKKyAg
ICBzaXplX3QgbnVtYmVyT2ZDb250ZW50ZnVsTGluZXMgPSBwYXJ0aWFsTGF5b3V0U3RhcnRJbmRl
eC52YWx1ZV9vcigwbHUpOwogICAgIHdoaWxlICh0cnVlKSB7CiAKICAgICAgICAgYXV0byBsaW5l
SW5pdGlhbFJlY3QgPSBJbmxpbmVSZWN0IHsgbGluZUxvZ2ljYWxUb3AsIGNvbnN0cmFpbnRzLmhv
cml6b250YWwoKS5sb2dpY2FsTGVmdCwgY29uc3RyYWludHMuaG9yaXpvbnRhbCgpLmxvZ2ljYWxX
aWR0aCwgZm9ybWF0dGluZ1V0aWxzKCkuaW5pdGlhbExpbmVIZWlnaHQoIXByZXZpb3VzTGluZS5o
YXNfdmFsdWUoKSkgfTsKQEAgLTMwMyw3ICszMDMsNyBAQCBJbmxpbmVMYXlvdXRSZXN1bHQgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxpbmVMYXlvdXQoQWJzdHJhY3RMaW5lQnVpbGRlciYgbGlu
ZQogCiAgICAgICAgIGF1dG8gbGluZUxheW91dFJlc3VsdCA9IGxpbmVCdWlsZGVyLmxheW91dElu
bGluZUNvbnRlbnQobGluZUlucHV0LCBwcmV2aW91c0xpbmUpOwogICAgICAgICBhdXRvIGxpbmVC
b3ggPSBMaW5lQm94QnVpbGRlciB7ICp0aGlzLCBsaW5lTGF5b3V0UmVzdWx0IH0uYnVpbGQobGlu
ZUluZGV4KTsKLSAgICAgICAgYXV0byBsaW5lTG9naWNhbFJlY3QgPSBjcmVhdGVEaXNwbGF5Q29u
dGVudEZvcklubGluZUNvbnRlbnQobGluZUJveCwgbGluZUxheW91dFJlc3VsdCwgY29uc3RyYWlu
dHMsIGxheW91dFJlc3VsdC5kaXNwbGF5Q29udGVudCwgbnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVD
b250ZW50KTsKKyAgICAgICAgYXV0byBsaW5lTG9naWNhbFJlY3QgPSBjcmVhdGVEaXNwbGF5Q29u
dGVudEZvcklubGluZUNvbnRlbnQobGluZUJveCwgbGluZUxheW91dFJlc3VsdCwgY29uc3RyYWlu
dHMsIGxheW91dFJlc3VsdC5kaXNwbGF5Q29udGVudCwgbnVtYmVyT2ZDb250ZW50ZnVsTGluZXMp
OwogICAgICAgICB1cGRhdGVCb3hHZW9tZXRyeUZvclBsYWNlZEZsb2F0cyhsaW5lTGF5b3V0UmVz
dWx0LmZsb2F0Q29udGVudC5wbGFjZWRGbG9hdHMpOwogICAgICAgICB1cGRhdGVJbmxpbmVMYXlv
dXRTdGF0ZVdpdGhMaW5lTGF5b3V0UmVzdWx0KGxpbmVMYXlvdXRSZXN1bHQsIGxpbmVMb2dpY2Fs
UmVjdCwgZmxvYXRpbmdDb250ZXh0KTsKIApAQCAtMzIwLDE0ICszMjAsMTMgQEAgSW5saW5lTGF5
b3V0UmVzdWx0IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0KEFic3RyYWN0TGlu
ZUJ1aWxkZXImIGxpbmUKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKLSAgICAgICAg
YXV0byBsaW5lSGFzSW5saW5lQ29udGVudCA9ICFsaW5lTGF5b3V0UmVzdWx0LmlubGluZUNvbnRl
bnQuaXNFbXB0eSgpOwotICAgICAgICBudW1iZXJPZkxpbmVzV2l0aElubGluZUNvbnRlbnQgKz0g
bGluZUhhc0lubGluZUNvbnRlbnQgPyAxIDogMDsKLSAgICAgICAgaWYgKGZvcm1hdHRpbmdVdGls
cygpLnNob3VsZERpc2NhcmRSZW1haW5pbmdDb250ZW50SW5CbG9ja0RpcmVjdGlvbihwYXJ0aWFs
TGF5b3V0U3RhcnRJbmRleC52YWx1ZV9vcigwKSArIG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29u
dGVudCkpIHsKKyAgICAgICAgaWYgKGZvcm1hdHRpbmdVdGlscygpLnNob3VsZERpc2NhcmRSZW1h
aW5pbmdDb250ZW50SW5CbG9ja0RpcmVjdGlvbihudW1iZXJPZkNvbnRlbnRmdWxMaW5lcykpIHsK
ICAgICAgICAgICAgIHJlc2V0Qm94R2VvbWV0cmllc0ZvckRpc2NhcmRlZENvbnRlbnQoeyBsZWFk
aW5nSW5saW5lSXRlbVBvc2l0aW9uLCBuZWVkc0xheW91dFJhbmdlLmVuZCB9LCBsaW5lTGF5b3V0
UmVzdWx0LmZsb2F0Q29udGVudC5zdXNwZW5kZWRGbG9hdHMpOwogICAgICAgICAgICAgbGF5b3V0
UmVzdWx0LnJhbmdlID0gIWlzUGFydGlhbExheW91dCA/IElubGluZUxheW91dFJlc3VsdDo6UmFu
Z2U6OkZ1bGwgOiBJbmxpbmVMYXlvdXRSZXN1bHQ6OlJhbmdlOjpGdWxsRnJvbURhbWFnZTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKKyAgICAgICAgYXV0byBsaW5lSGFzSW5saW5l
Q29udGVudCA9ICFsaW5lTGF5b3V0UmVzdWx0LmlubGluZUNvbnRlbnQuaXNFbXB0eSgpOwogICAg
ICAgICBhdXRvIGhhc0V2ZXJTZWVuSW5saW5lQ29udGVudCA9IGxpbmVIYXNJbmxpbmVDb250ZW50
IHx8IChwcmV2aW91c0xpbmUgJiYgcHJldmlvdXNMaW5lLT5oYXNJbmxpbmVDb250ZW50KTsKICAg
ICAgICAgcHJldmlvdXNMaW5lID0gUHJldmlvdXNMaW5lIHsgbGluZUluZGV4LCBsaW5lTGF5b3V0
UmVzdWx0LmNvbnRlbnRHZW9tZXRyeS50cmFpbGluZ092ZXJmbG93aW5nQ29udGVudFdpZHRoLCBs
aW5lSGFzSW5saW5lQ29udGVudCAmJiBsaW5lTGF5b3V0UmVzdWx0LmlubGluZUNvbnRlbnQubGFz
dCgpLmlzTGluZUJyZWFrKCksIGhhc0V2ZXJTZWVuSW5saW5lQ29udGVudCwgbGluZUxheW91dFJl
c3VsdC5kaXJlY3Rpb25hbGl0eS5pbmxpbmVCYXNlRGlyZWN0aW9uLCBXVEZNb3ZlKGxpbmVMYXlv
dXRSZXN1bHQuZmxvYXRDb250ZW50LnN1c3BlbmRlZEZsb2F0cykgfTsKICAgICAgICAgcHJldmlv
dXNMaW5lRW5kID0gbGluZUNvbnRlbnRFbmQ7CkBAIC0zOTgsMTggKzM5NywyMiBAQCB2b2lkIElu
bGluZUZvcm1hdHRpbmdDb250ZXh0Ojp1cGRhdGVCb3hHZW9tZXRyeUZvclBsYWNlZEZsb2F0cyhj
b25zdCBMaW5lTGF5b3V0UgogICAgIH0KIH0KIAotSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KGNvbnN0IExpbmVC
b3gmIGxpbmVCb3gsIGNvbnN0IExpbmVMYXlvdXRSZXN1bHQmIGxpbmVMYXlvdXRSZXN1bHQsIGNv
bnN0IENvbnN0cmFpbnRzRm9ySW5saW5lQ29udGVudCYgY29uc3RyYWludHMsIElubGluZURpc3Bs
YXk6OkNvbnRlbnQmIGRpc3BsYXlDb250ZW50LCBzaXplX3QgbnVtYmVyT2ZQcmV2aW91c0xpbmVz
V2l0aElubGluZUNvbnRlbnQpCitJbmxpbmVSZWN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpj
cmVhdGVEaXNwbGF5Q29udGVudEZvcklubGluZUNvbnRlbnQoY29uc3QgTGluZUJveCYgbGluZUJv
eCwgY29uc3QgTGluZUxheW91dFJlc3VsdCYgbGluZUxheW91dFJlc3VsdCwgY29uc3QgQ29uc3Ry
YWludHNGb3JJbmxpbmVDb250ZW50JiBjb25zdHJhaW50cywgSW5saW5lRGlzcGxheTo6Q29udGVu
dCYgZGlzcGxheUNvbnRlbnQsIHNpemVfdCYgbnVtYmVyT2ZQcmV2aW91c0xDb250ZW50ZnVsTGlu
ZXMpCiB7CiAgICAgYXV0byBsaW5lQ2xhbXAgPSBsYXlvdXRTdGF0ZSgpLnBhcmVudEJsb2NrTGF5
b3V0U3RhdGUoKS5saW5lQ2xhbXAoKTsKICAgICBhdXRvIGlzTGVnYWN5TGluZUNsYW1wID0gbGlu
ZUNsYW1wICYmIGxpbmVDbGFtcC0+aXNMZWdhY3k7CiAgICAgYXV0byBudW1iZXJPZlZpc2libGVM
aW5lc0FsbG93ZWQgPSBsaW5lQ2xhbXAgPyBzdGQ6Om1ha2Vfb3B0aW9uYWwobGluZUNsYW1wLT5t
YXhpbXVtTGluZXMpIDogc3RkOjpudWxsb3B0OwogCi0gICAgYXV0byBudW1iZXJPZkxpbmVzV2l0
aElubGluZUNvbnRlbnQgPSBudW1iZXJPZlByZXZpb3VzTGluZXNXaXRoSW5saW5lQ29udGVudCAr
ICghbGluZUxheW91dFJlc3VsdC5pbmxpbmVDb250ZW50LmlzRW1wdHkoKSA/IDEgOiAwKTsKLSAg
ICBhdXRvIGxpbmVJc0Z1bGx5VHJ1bmNhdGVkSW5CbG9ja0RpcmVjdGlvbiA9IG51bWJlck9mVmlz
aWJsZUxpbmVzQWxsb3dlZCAmJiBudW1iZXJPZkxpbmVzV2l0aElubGluZUNvbnRlbnQgPiAqbnVt
YmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkOworICAgIGF1dG8gbnVtYmVyT2ZMaW5lc1dpdGhJbmxp
bmVDb250ZW50ID0gbnVtYmVyT2ZQcmV2aW91c0xDb250ZW50ZnVsTGluZXMgKyAoIWxpbmVMYXlv
dXRSZXN1bHQuaW5saW5lQ29udGVudC5pc0VtcHR5KCkgPyAxIDogMCk7CisgICAgYXV0byBsaW5l
SXNGdWxseVRydW5jYXRlZEluQmxvY2tEaXJlY3Rpb24gPSBudW1iZXJPZkxpbmVzV2l0aElubGlu
ZUNvbnRlbnQgPiBudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQudmFsdWVfb3IobnVtYmVyT2ZM
aW5lc1dpdGhJbmxpbmVDb250ZW50KTsKICAgICBhdXRvIGRpc3BsYXlMaW5lID0gSW5saW5lRGlz
cGxheUxpbmVCdWlsZGVyIHsgKnRoaXMsIGNvbnN0cmFpbnRzIH0uYnVpbGQobGluZUxheW91dFJl
c3VsdCwgbGluZUJveCwgbGluZUlzRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uKTsKICAg
ICBhdXRvIGJveGVzID0gSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyIHsgKnRoaXMsIGNvbnN0
cmFpbnRzLCBsaW5lQm94LCBkaXNwbGF5TGluZSB9LmJ1aWxkKGxpbmVMYXlvdXRSZXN1bHQpOwor
ICAgIGRpc3BsYXlMaW5lLnNldEJveENvdW50KGJveGVzLnNpemUoKSk7CiAKLSAgICBhdXRvIHRy
dW5jYXRpb25Qb2xpY3kgPSBJbmxpbmVGb3JtYXR0aW5nVXRpbHM6OmxpbmVFbmRpbmdUcnVuY2F0
aW9uUG9saWN5KHJvb3QoKS5zdHlsZSgpLCBudW1iZXJPZkxpbmVzV2l0aElubGluZUNvbnRlbnQs
IG51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCwgIWxpbmVMYXlvdXRSZXN1bHQuaW5saW5lQ29u
dGVudC5pc0VtcHR5KCkpOworICAgIC8vIE5vbi1jb250ZW50ZnVsIGxpbmVzIGFyZSBwcm9kdWNl
ZCBieSBjZXJ0YWluIHRyYWlsaW5nIGNvbnRlbnQgbGlrZSA8ZGl2PmNvbnRlbnRmdWwgbGluZTxi
cj48c3Bhbj48L3NwYW4+PC9kaXY+IHdoZXJlIDxzcGFuPjwvc3Bhbj4gY3JlYXRlcyBhIGRpc3Bs
YXkgbGluZSB3aXRoIG5vdGhpbmcgYnV0IHRoZSByb290IGlubGluZSBib3guCisgICAgYXV0byBp
c0N1cnJlbnRMaW5lQ29udGVudGZ1bCA9IGJveGVzLnNpemUoKSA+IDE7CisgICAgbnVtYmVyT2ZQ
cmV2aW91c0xDb250ZW50ZnVsTGluZXMgKz0gKGlzQ3VycmVudExpbmVDb250ZW50ZnVsID8gMSA6
IDApOworICAgIGF1dG8gdHJ1bmNhdGlvblBvbGljeSA9IElubGluZUZvcm1hdHRpbmdVdGlsczo6
bGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kocm9vdCgpLnN0eWxlKCksIG51bWJlck9mUHJldmlv
dXNMQ29udGVudGZ1bExpbmVzLCBudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQsIGlzQ3VycmVu
dExpbmVDb250ZW50ZnVsKTsKICAgICBJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXI6OmFwcGx5RWxs
aXBzaXNJZk5lZWRlZCh0cnVuY2F0aW9uUG9saWN5LCBkaXNwbGF5TGluZSwgYm94ZXMsIGxpbmVM
YXlvdXRSZXN1bHQuaXNGaXJzdExhc3QuaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50LCBpc0xl
Z2FjeUxpbmVDbGFtcCk7CiAgICAgYXV0byBsaW5lSGFzTGVnYWN5TGluZUNsYW1wID0gaXNMZWdh
Y3lMaW5lQ2xhbXAgJiYgZGlzcGxheUxpbmUuaGFzRWxsaXBzaXMoKSAmJiB0cnVuY2F0aW9uUG9s
aWN5ID09IExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5OjpXaGVuQ29udGVudE92ZXJmbG93c0lu
QmxvY2tEaXJlY3Rpb247CiAgICAgaWYgKGxpbmVIYXNMZWdhY3lMaW5lQ2xhbXApCkBAIC00ODIs
NyArNDg1LDggQEAgYm9vbCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y3JlYXRlRGlzcGxheUNv
bnRlbnRGb3JMaW5lRnJvbUNhY2hlZENvbnRlbnQoY29uc3QKICAgICBsaW5lQ29udGVudC5saW5l
R2VvbWV0cnkubG9naWNhbFdpZHRoID0gY29uc3RyYWludHMuaG9yaXpvbnRhbCgpLmxvZ2ljYWxX
aWR0aDsKICAgICBsaW5lQ29udGVudC5jb250ZW50R2VvbWV0cnkubG9naWNhbExlZnQgPSBJbmxp
bmVGb3JtYXR0aW5nVXRpbHM6Omhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQocm9vdCgpLnN0eWxl
KCksIGxpbmVDb250ZW50LmNvbnRlbnRHZW9tZXRyeS5sb2dpY2FsV2lkdGgsIGxpbmVDb250ZW50
LmxpbmVHZW9tZXRyeS5sb2dpY2FsV2lkdGgsIGxpbmVDb250ZW50LmhhbmdpbmdDb250ZW50Lmxv
Z2ljYWxXaWR0aCwgbGluZUNvbnRlbnQuaW5saW5lQ29udGVudCwgdHJ1ZSk7CiAgICAgYXV0byBs
aW5lQm94ID0gTGluZUJveEJ1aWxkZXIgeyAqdGhpcywgbGluZUNvbnRlbnQgfS5idWlsZCh7IH0p
OwotICAgIGNyZWF0ZURpc3BsYXlDb250ZW50Rm9ySW5saW5lQ29udGVudChsaW5lQm94LCBsaW5l
Q29udGVudCwgY29uc3RyYWludHMsIGxheW91dFJlc3VsdC5kaXNwbGF5Q29udGVudCk7CisgICAg
c2l6ZV90IG51bWJlck9mQ29udGVudGZ1bExpbmVzID0gMDsKKyAgICBjcmVhdGVEaXNwbGF5Q29u
dGVudEZvcklubGluZUNvbnRlbnQobGluZUJveCwgbGluZUNvbnRlbnQsIGNvbnN0cmFpbnRzLCBs
YXlvdXRSZXN1bHQuZGlzcGxheUNvbnRlbnQsIG51bWJlck9mQ29udGVudGZ1bExpbmVzKTsKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtNDkxLDcgKzQ5NSw4IEBAIHZvaWQgSW5saW5lRm9ybWF0
dGluZ0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9yRW1wdHlJbmxpbmVDb250ZW50KGNv
bnN0IENvCiAgICAgYXV0byBlbXB0eUxpbmVCcmVha2luZ1Jlc3VsdCA9ICBMaW5lTGF5b3V0UmVz
dWx0IHsgfTsKICAgICBlbXB0eUxpbmVCcmVha2luZ1Jlc3VsdC5saW5lR2VvbWV0cnkgPSB7IHsg
Y29uc3RyYWludHMuaG9yaXpvbnRhbCgpLmxvZ2ljYWxMZWZ0LCBjb25zdHJhaW50cy5sb2dpY2Fs
VG9wKCkgfSwgeyBjb25zdHJhaW50cy5ob3Jpem9udGFsKCkubG9naWNhbFdpZHRoIH0gfTsKICAg
ICBhdXRvIGxpbmVCb3ggPSBMaW5lQm94QnVpbGRlciB7ICp0aGlzLCBlbXB0eUxpbmVCcmVha2lu
Z1Jlc3VsdCB9LmJ1aWxkKHsgfSk7Ci0gICAgY3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVD
b250ZW50KGxpbmVCb3gsIGVtcHR5TGluZUJyZWFraW5nUmVzdWx0LCBjb25zdHJhaW50cywgbGF5
b3V0UmVzdWx0LmRpc3BsYXlDb250ZW50KTsKKyAgICBzaXplX3QgbnVtYmVyT2ZDb250ZW50ZnVs
TGluZXMgPSAwOworICAgIGNyZWF0ZURpc3BsYXlDb250ZW50Rm9ySW5saW5lQ29udGVudChsaW5l
Qm94LCBlbXB0eUxpbmVCcmVha2luZ1Jlc3VsdCwgY29uc3RyYWludHMsIGxheW91dFJlc3VsdC5k
aXNwbGF5Q29udGVudCwgbnVtYmVyT2ZDb250ZW50ZnVsTGluZXMpOwogfQogCiB2b2lkIElubGlu
ZUZvcm1hdHRpbmdDb250ZXh0Ojppbml0aWFsaXplSW5saW5lTGF5b3V0U3RhdGUoY29uc3QgTGF5
b3V0U3RhdGUmIGdsb2JhbExheW91dFN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
aCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmgKaW5kZXggZmI5ZjEzMzJiMDBhLi5lMzUwMGI0OTlkNmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtODUs
NyArODUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbGF5b3V0RmxvYXRDb250ZW50T25seShjb25z
dCBDb25zdHJhaW50c0ZvcklubGluZUNvbnRlbnQmKTsKIAogICAgIHZvaWQgY29sbGVjdENvbnRl
bnRJZk5lZWRlZCgpOwotICAgIElubGluZVJlY3QgY3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxp
bmVDb250ZW50KGNvbnN0IExpbmVCb3gmLCBjb25zdCBMaW5lTGF5b3V0UmVzdWx0JiwgY29uc3Qg
Q29uc3RyYWludHNGb3JJbmxpbmVDb250ZW50JiwgSW5saW5lRGlzcGxheTo6Q29udGVudCYsIHNp
emVfdCBudW1iZXJPZlByZXZpb3VzTGluZXNXaXRoSW5saW5lQ29udGVudCA9IDApOworICAgIElu
bGluZVJlY3QgY3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KGNvbnN0IExpbmVC
b3gmLCBjb25zdCBMaW5lTGF5b3V0UmVzdWx0JiwgY29uc3QgQ29uc3RyYWludHNGb3JJbmxpbmVD
b250ZW50JiwgSW5saW5lRGlzcGxheTo6Q29udGVudCYsIHNpemVfdCYgbnVtYmVyT2ZQcmV2aW91
c0xDb250ZW50ZnVsTGluZXMpOwogICAgIHZvaWQgdXBkYXRlSW5saW5lTGF5b3V0U3RhdGVXaXRo
TGluZUxheW91dFJlc3VsdChjb25zdCBMaW5lTGF5b3V0UmVzdWx0JiwgY29uc3QgSW5saW5lUmVj
dCYgbGluZUxvZ2ljYWxSZWN0LCBjb25zdCBGbG9hdGluZ0NvbnRleHQmKTsKICAgICB2b2lkIHVw
ZGF0ZUJveEdlb21ldHJ5Rm9yUGxhY2VkRmxvYXRzKGNvbnN0IExpbmVMYXlvdXRSZXN1bHQ6OlBs
YWNlZEZsb2F0TGlzdCYpOwogICAgIHZvaWQgcmVzZXRCb3hHZW9tZXRyaWVzRm9yRGlzY2FyZGVk
Q29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIGRpc2NhcmRlZFJhbmdlLCBjb25zdCBMaW5l
TGF5b3V0UmVzdWx0OjpTdXNwZW5kZWRGbG9hdExpc3QmIHN1c3BlbmRlZEZsb2F0cyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVGb3JtYXR0aW5nVXRpbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmNwcAppbmRleCBhMmEwMjUz
MDVmYzcuLjIwMjIwYzdkZTU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3Jt
YXR0aW5nVXRpbHMuY3BwCkBAIC01OTEsMTUgKzU5MSwxNSBAQCBzdGQ6OnBhaXI8SW5saW5lTGF5
b3V0VW5pdCwgSW5saW5lTGF5b3V0VW5pdD4gSW5saW5lRm9ybWF0dGluZ1V0aWxzOjp0ZXh0RW1w
aGFzaQogICAgIHJldHVybiB7IGhhc0Fib3ZlVGV4dEVtcGhhc2lzID8gYW5ub3RhdGlvblNpemUg
OiAwLmYsIGhhc0Fib3ZlVGV4dEVtcGhhc2lzID8gMC5mIDogYW5ub3RhdGlvblNpemUgfTsKIH0K
IAotTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kgSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpsaW5l
RW5kaW5nVHJ1bmNhdGlvblBvbGljeShjb25zdCBSZW5kZXJTdHlsZSYgcm9vdFN0eWxlLCBzaXpl
X3QgbnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50LCBzdGQ6Om9wdGlvbmFsPHNpemVfdD4g
bnVtYmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkLCBib29sIGN1cnJlbnRMaW5lSGFzSW5saW5lQ29u
dGVudCkKK0xpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5IElubGluZUZvcm1hdHRpbmdVdGlsczo6
bGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3koY29uc3QgUmVuZGVyU3R5bGUmIHJvb3RTdHlsZSwg
c2l6ZV90IG51bWJlck9mQ29udGVudGZ1bExpbmVzLCBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gbnVt
YmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkLCBib29sIGN1cnJlbnRMaW5lSXNDb250ZW50ZnVsKQog
ewogICAgIGlmIChudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQpIHsKICAgICAgICAgLy8gdGV4
dC1vdmVyZmxvdzogZWxsaXBzaXMgc2hvdWxkIG5vdCBhcHBseSBpbnNpZGUgY2xhbXBpbmcgY29u
dGVudC4KLSAgICAgICAgaWYgKCFjdXJyZW50TGluZUhhc0lubGluZUNvbnRlbnQpIHsKKyAgICAg
ICAgaWYgKCFjdXJyZW50TGluZUlzQ29udGVudGZ1bCkgewogICAgICAgICAgICAgLy8gQ29udGVu
dCB3aXRoIG5vIGlubGluZSBzaG91bGQgbmV2ZXIgZXZlciByZWNlaXZlIGVsbGlwc2lzLgogICAg
ICAgICAgICAgcmV0dXJuIExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5OjpOb1RydW5jYXRpb247
CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuICpudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQg
PT0gbnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50ID8gTGluZUVuZGluZ1RydW5jYXRpb25Q
b2xpY3k6OldoZW5Db250ZW50T3ZlcmZsb3dzSW5CbG9ja0RpcmVjdGlvbiA6IExpbmVFbmRpbmdU
cnVuY2F0aW9uUG9saWN5OjpOb1RydW5jYXRpb247CisgICAgICAgIHJldHVybiAqbnVtYmVyT2ZW
aXNpYmxlTGluZXNBbGxvd2VkID09IG51bWJlck9mQ29udGVudGZ1bExpbmVzID8gTGluZUVuZGlu
Z1RydW5jYXRpb25Qb2xpY3k6OldoZW5Db250ZW50T3ZlcmZsb3dzSW5CbG9ja0RpcmVjdGlvbiA6
IExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5OjpOb1RydW5jYXRpb247CiAgICAgfQogCiAgICAg
Ly8gVHJ1bmNhdGlvbiBpcyBpbiBlZmZlY3Qgd2hlbiB0aGUgYmxvY2sgY29udGFpbmVyIGhhcyBv
dmVyZmxvdyBvdGhlciB0aGFuIHZpc2libGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRpbHMuaCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZv
cm1hdHRpbmdVdGlscy5oCmluZGV4IGVmYTJlZGJmZDRjYi4uYzE5ZDVmOGQ1NTc3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVGb3JtYXR0aW5nVXRpbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRpbHMuaApAQCAtNjYsNyArNjYsNyBA
QCBwdWJsaWM6CiAKICAgICBzdGF0aWMgc3RkOjpwYWlyPElubGluZUxheW91dFVuaXQsIElubGlu
ZUxheW91dFVuaXQ+IHRleHRFbXBoYXNpc0ZvcklubGluZUJveChjb25zdCBCb3gmLCBjb25zdCBF
bGVtZW50Qm94JiByb290Qm94KTsKIAotICAgIHN0YXRpYyBMaW5lRW5kaW5nVHJ1bmNhdGlvblBv
bGljeSBsaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeShjb25zdCBSZW5kZXJTdHlsZSYgcm9vdFN0
eWxlLCBzaXplX3QgbnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50LCBzdGQ6Om9wdGlvbmFs
PHNpemVfdD4gbnVtYmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkLCBib29sIGN1cnJlbnRMaW5lSGFz
SW5saW5lQ29udGVudCk7CisgICAgc3RhdGljIExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5IGxp
bmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5KGNvbnN0IFJlbmRlclN0eWxlJiByb290U3R5bGUsIHNp
emVfdCBudW1iZXJPZkNvbnRlbnRmdWxMaW5lcywgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG51bWJl
ck9mVmlzaWJsZUxpbmVzQWxsb3dlZCwgYm9vbCBjdXJyZW50TGluZUlzQ29udGVudGZ1bCk7CiAK
ICAgICBib29sIHNob3VsZERpc2NhcmRSZW1haW5pbmdDb250ZW50SW5CbG9ja0RpcmVjdGlvbihz
aXplX3QgbnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50KSBjb25zdDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxh
eS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIu
Y3BwCmluZGV4IDBkOTgwZmExODBkNi4uMWEwOWY0YmIwMmNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURp
c3BsYXlMaW5lQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwCkBA
IC0zODUsNyArMzg1LDExIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBtb3ZlRGlzcGxheUJveFRvQ2xh
bXBlZExpbmUoYXV0byYgZGlzcGxheUxpbmVzLCBhdXRvIGNsYW1wZWRMCiAgICAgZGlzcGxheUJv
eC5zZXRMZWZ0KGNsYW1wZWRMaW5lLmVsbGlwc2lzKCktPnZpc3VhbFJlY3QubWF4WCgpICsgaG9y
aXpvbnRhbE9mZnNldCArIGxlZ2FjeU1hdGNoaW5nTGlua0JveE9mZnNldCk7CiAgICAgLy8gQXNz
dW1lIGJhc2VsaW5lIGFsaWdubWVudCBoZXJlLgogICAgIGRpc3BsYXlCb3gubW92ZVZlcnRpY2Fs
bHkoKGNsYW1wZWRMaW5lLnRvcCgpICsgY2xhbXBlZExpbmUuYmFzZWxpbmUoKSkgLSAoZGlzcGxh
eUxpbmVzLmxhc3QoKS50b3AoKSArIGRpc3BsYXlMaW5lcy5sYXN0KCkuYmFzZWxpbmUoKSkpOwor
CisgICAgYXV0byYgb3JpZ2luYWxMaW5lID0gZGlzcGxheUxpbmVzW2Rpc3BsYXlCb3gubGluZUlu
ZGV4KCldOworICAgIG9yaWdpbmFsTGluZS5zZXRCb3hDb3VudChvcmlnaW5hbExpbmUuYm94Q291
bnQoKSAtIDEpOwogICAgIGRpc3BsYXlCb3gubW92ZVRvTGluZShjbGFtcGVkTGluZUluZGV4KTsK
KyAgICBjbGFtcGVkTGluZS5zZXRCb3hDb3VudChjbGFtcGVkTGluZS5ib3hDb3VudCgpICsgMSk7
CiB9CiAKIHZvaWQgSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyOjphZGRMZWdhY3lMaW5lQ2xhbXBU
cmFpbGluZ0xpbmtCb3hJZkFwcGxpY2FibGUoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQm
IGlubGluZUZvcm1hdHRpbmdDb250ZXh0LCBjb25zdCBJbmxpbmVMYXlvdXRTdGF0ZSYgaW5saW5l
TGF5b3V0U3RhdGUsIElubGluZURpc3BsYXk6OkNvbnRlbnQmIGRpc3BsYXlDb250ZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJ
bnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRl
ci5jcHAKaW5kZXggZjJjMzVjMzZjMWIyLi4xYWYxOTAzMmI4ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25Jbmxp
bmVDb250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcApAQCAt
MzA4LDcgKzMwOCw3IEBAIHZvaWQgSW5saW5lQ29udGVudEJ1aWxkZXI6OmFkanVzdERpc3BsYXlM
aW5lcyhJbmxpbmVDb250ZW50JiBpbmxpbmVDb250ZW50LCBzaXplCiAgICAgICAgIGxpbmUuc2V0
U2Nyb2xsYWJsZU92ZXJmbG93KHNjcm9sbGFibGVPdmVyZmxvd1JlY3QpOwogICAgICAgICBsaW5l
LnNldElua092ZXJmbG93KGlua092ZXJmbG93UmVjdCk7CiAgICAgICAgIGxpbmUuc2V0Rmlyc3RC
b3hJbmRleChmaXJzdEJveEluZGV4KTsKLSAgICAgICAgbGluZS5zZXRCb3hDb3VudChib3hJbmRl
eCAtIGZpcnN0Qm94SW5kZXgpOworICAgICAgICBBU1NFUlQobGluZS5ib3hDb3VudCgpID09IGJv
eEluZGV4IC0gZmlyc3RCb3hJbmRleCk7CiAKICAgICAgICAgaWYgKGxpbmVJbmRleCkgewogICAg
ICAgICAgICAgYXV0byYgbGFzdElua092ZXJmbG93ID0gbGluZXNbbGluZUluZGV4IC0gMV0uaW5r
T3ZlcmZsb3coKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473468</attachid>
            <date>2024-12-05 06:17:03 -0800</date>
            <delta_ts>2024-12-05 09:19:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-284104-20241205061703.patch</filename>
            <type>text/plain</type>
            <size>19716</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA0MmQ1OTNmYTI0MWE5OTVmZGYyYTQyMzVmMWRjZDA5OTE0OGY0ZjNiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFRodSwgNSBEZWMgMjAyNCAwNTozMzoyMiAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFtsaW5lLWNs
YW1wXSBOdW1iZXIgb2YgY29udGVudGZ1bCBsaW5lcyBkb2VzIG5vdCBhbHdheXMgbWF0Y2gKIHRo
ZSBudW1iZXIgb2YgbGluZXMgd2l0aCBpbmxpbmUgY29udGVudAogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI4NDEwNAoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CgpMZXQncyB0cmFjayB0aGUgbnVtYmVyIG9mIF9jb250ZW50ZnVsXyBsaW5lcyBmb3IgbGluZSBj
bGFtcGluZy4KCkluIHNvbWUgY2FzZXMgKHRyYWlsaW5nIG91dC1vZi1mbG93IGJveGVzIG9yIG5v
bi1jb250ZW50ZnVsIGlubGluZSBjb250ZW50IGFmdGVyIHRoZSBmaW5hbCA8YnI+KSB3ZSBlbmQg
dXAgY3JlYXRpbmcKYSBkaXNwbGF5IGxpbmUgd2l0aCBubyBkaXNwbGF5IGJveCBvdGhlciB0aGFu
IHRoZSByb290IGlubGluZSBkaXNwbGF5IGJveC4gU3VjaCAiZW1wdHkiIGxpbmVzIHNob3VsZCBu
b3QgYmUKdGFrZW4gaW50byBhY2NvdW50IHdoZW4gY291bnRpbmcgdGhlIGxpbmVzIGZvciBsaW5l
LWNsYW1wLgoKZXhhbXBsZXM6CjxkaXY+dGhpcyBsaW5lIGlzIGNvbnRlbnRmdWw8YnI+PGRpdiBz
dHlsZT0icG9zaXRpb246IGFic29sdXRlIj48L2Rpdj4gPC0gb3V0IG9mIGZsb3cgYm94IGFmdGVy
IGxhc3QgY29udGVudGZ1bCBsaW5lCjxkaXY+dGhpcyBsaW5lIGlzIGNvbnRlbmZ1bDxicj48c3Bh
bj48L3NwYW4+PC9kaXY+IDwtIG5vbi1jb250ZW50ZnVsIHRyYWlsaW5nIGlubGluZSBjb250ZW50
CgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmxpbmVMYXlvdXQpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KToKKFdlYkNvcmU6
OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9y
TGluZUZyb21DYWNoZWRDb250ZW50KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9yRW1wdHlJbmxpbmVDb250ZW50KToKKiBT
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5oOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5jcHA6CihXZWJDb3JlOjpMYXlvdXQ6Oklu
bGluZUZvcm1hdHRpbmdVdGlsczo6bGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kpOgoqIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRp
bmdVdGlscy5oOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmNwcDoKKFdlYkNvcmU6OkxheW91
dDo6bW92ZURpc3BsYXlCb3hUb0NsYW1wZWRMaW5lKToKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIu
Y3BwOgooV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWlsZGVyOjph
ZGp1c3REaXNwbGF5TGluZXMgY29uc3QpOgotLS0KIC4uLi9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwICAgICAgICB8IDI3ICsrKysrKysrKysrLS0tLS0tLS0KIC4uLi9pbmxpbmUv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaCAgICAgICAgICB8ICAyICstCiAuLi4vaW5saW5lL0lu
bGluZUZvcm1hdHRpbmdVdGlscy5jcHAgICAgICAgICAgfCAgNiArKy0tLQogLi4uL2lubGluZS9J
bmxpbmVGb3JtYXR0aW5nVXRpbHMuaCAgICAgICAgICAgIHwgIDIgKy0KIC4uLi9kaXNwbGF5L0lu
bGluZURpc3BsYXlMaW5lQnVpbGRlci5jcHAgICAgICB8ICA0ICsrKwogLi4uL0xheW91dEludGVn
cmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwIHwgIDIgKy0KIC4uLi9pbmxpbmUvTGF5b3V0
SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCAgICB8ICA2ICsrKystCiAuLi5yYWlsaW5nLW5vbi1j
b250ZW50ZnVsLWJveGVzLWV4cGVjdGVkLmh0bWwgfCAxNyArKysrKysrKysrKysKIC4uLm1wLXdp
dGgtdHJhaWxpbmctbm9uLWNvbnRlbnRmdWwtYm94ZXMuaHRtbCB8IDIwICsrKysrKysrKysrKysr
CiA5IGZpbGVzIGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQogY3Jl
YXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cvbGluZS1jbGFtcC13aXRo
LXRyYWlsaW5nLW5vbi1jb250ZW50ZnVsLWJveGVzLWV4cGVjdGVkLmh0bWwKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L292ZXJmbG93L2xpbmUtY2xhbXAtd2l0aC10cmFpbGlu
Zy1ub24tY29udGVudGZ1bC1ib3hlcy5odG1sCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGNhNDQzMGYxMzk2Zi4uYWUyMzY2YmQ4ODQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3Bw
CkBAIC0yOTQsNyArMjk0LDcgQEAgSW5saW5lTGF5b3V0UmVzdWx0IElubGluZUZvcm1hdHRpbmdD
b250ZXh0OjpsaW5lTGF5b3V0KEFic3RyYWN0TGluZUJ1aWxkZXImIGxpbmUKICAgICBhdXRvIHBy
ZXZpb3VzTGluZUVuZCA9IHN0ZDo6b3B0aW9uYWw8SW5saW5lSXRlbVBvc2l0aW9uPiB7IH07CiAg
ICAgYXV0byBsZWFkaW5nSW5saW5lSXRlbVBvc2l0aW9uID0gbmVlZHNMYXlvdXRSYW5nZS5zdGFy
dDsKICAgICBhdXRvIHBhcnRpYWxMYXlvdXRTdGFydEluZGV4ID0gcHJldmlvdXNMaW5lID8gc3Rk
OjptYWtlX29wdGlvbmFsKHByZXZpb3VzTGluZS0+bGluZUluZGV4KSA6IHN0ZDo6bnVsbG9wdDsK
LSAgICBzaXplX3QgbnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50ID0gMDsKKyAgICBzaXpl
X3QgbnVtYmVyT2ZDb250ZW50ZnVsTGluZXMgPSBwYXJ0aWFsTGF5b3V0U3RhcnRJbmRleC52YWx1
ZV9vcigwbHUpOwogICAgIHdoaWxlICh0cnVlKSB7CiAKICAgICAgICAgYXV0byBsaW5lSW5pdGlh
bFJlY3QgPSBJbmxpbmVSZWN0IHsgbGluZUxvZ2ljYWxUb3AsIGNvbnN0cmFpbnRzLmhvcml6b250
YWwoKS5sb2dpY2FsTGVmdCwgY29uc3RyYWludHMuaG9yaXpvbnRhbCgpLmxvZ2ljYWxXaWR0aCwg
Zm9ybWF0dGluZ1V0aWxzKCkuaW5pdGlhbExpbmVIZWlnaHQoIXByZXZpb3VzTGluZS5oYXNfdmFs
dWUoKSkgfTsKQEAgLTMwMyw3ICszMDMsNyBAQCBJbmxpbmVMYXlvdXRSZXN1bHQgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OmxpbmVMYXlvdXQoQWJzdHJhY3RMaW5lQnVpbGRlciYgbGluZQogCiAg
ICAgICAgIGF1dG8gbGluZUxheW91dFJlc3VsdCA9IGxpbmVCdWlsZGVyLmxheW91dElubGluZUNv
bnRlbnQobGluZUlucHV0LCBwcmV2aW91c0xpbmUpOwogICAgICAgICBhdXRvIGxpbmVCb3ggPSBM
aW5lQm94QnVpbGRlciB7ICp0aGlzLCBsaW5lTGF5b3V0UmVzdWx0IH0uYnVpbGQobGluZUluZGV4
KTsKLSAgICAgICAgYXV0byBsaW5lTG9naWNhbFJlY3QgPSBjcmVhdGVEaXNwbGF5Q29udGVudEZv
cklubGluZUNvbnRlbnQobGluZUJveCwgbGluZUxheW91dFJlc3VsdCwgY29uc3RyYWludHMsIGxh
eW91dFJlc3VsdC5kaXNwbGF5Q29udGVudCwgbnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50
KTsKKyAgICAgICAgYXV0byBsaW5lTG9naWNhbFJlY3QgPSBjcmVhdGVEaXNwbGF5Q29udGVudEZv
cklubGluZUNvbnRlbnQobGluZUJveCwgbGluZUxheW91dFJlc3VsdCwgY29uc3RyYWludHMsIGxh
eW91dFJlc3VsdC5kaXNwbGF5Q29udGVudCwgbnVtYmVyT2ZDb250ZW50ZnVsTGluZXMpOwogICAg
ICAgICB1cGRhdGVCb3hHZW9tZXRyeUZvclBsYWNlZEZsb2F0cyhsaW5lTGF5b3V0UmVzdWx0LmZs
b2F0Q29udGVudC5wbGFjZWRGbG9hdHMpOwogICAgICAgICB1cGRhdGVJbmxpbmVMYXlvdXRTdGF0
ZVdpdGhMaW5lTGF5b3V0UmVzdWx0KGxpbmVMYXlvdXRSZXN1bHQsIGxpbmVMb2dpY2FsUmVjdCwg
ZmxvYXRpbmdDb250ZXh0KTsKIApAQCAtMzIwLDE0ICszMjAsMTMgQEAgSW5saW5lTGF5b3V0UmVz
dWx0IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0KEFic3RyYWN0TGluZUJ1aWxk
ZXImIGxpbmUKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKLSAgICAgICAgYXV0byBs
aW5lSGFzSW5saW5lQ29udGVudCA9ICFsaW5lTGF5b3V0UmVzdWx0LmlubGluZUNvbnRlbnQuaXNF
bXB0eSgpOwotICAgICAgICBudW1iZXJPZkxpbmVzV2l0aElubGluZUNvbnRlbnQgKz0gbGluZUhh
c0lubGluZUNvbnRlbnQgPyAxIDogMDsKLSAgICAgICAgaWYgKGZvcm1hdHRpbmdVdGlscygpLnNo
b3VsZERpc2NhcmRSZW1haW5pbmdDb250ZW50SW5CbG9ja0RpcmVjdGlvbihwYXJ0aWFsTGF5b3V0
U3RhcnRJbmRleC52YWx1ZV9vcigwKSArIG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29udGVudCkp
IHsKKyAgICAgICAgaWYgKGZvcm1hdHRpbmdVdGlscygpLnNob3VsZERpc2NhcmRSZW1haW5pbmdD
b250ZW50SW5CbG9ja0RpcmVjdGlvbihudW1iZXJPZkNvbnRlbnRmdWxMaW5lcykpIHsKICAgICAg
ICAgICAgIHJlc2V0Qm94R2VvbWV0cmllc0ZvckRpc2NhcmRlZENvbnRlbnQoeyBsZWFkaW5nSW5s
aW5lSXRlbVBvc2l0aW9uLCBuZWVkc0xheW91dFJhbmdlLmVuZCB9LCBsaW5lTGF5b3V0UmVzdWx0
LmZsb2F0Q29udGVudC5zdXNwZW5kZWRGbG9hdHMpOwogICAgICAgICAgICAgbGF5b3V0UmVzdWx0
LnJhbmdlID0gIWlzUGFydGlhbExheW91dCA/IElubGluZUxheW91dFJlc3VsdDo6UmFuZ2U6OkZ1
bGwgOiBJbmxpbmVMYXlvdXRSZXN1bHQ6OlJhbmdlOjpGdWxsRnJvbURhbWFnZTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICB9CiAKKyAgICAgICAgYXV0byBsaW5lSGFzSW5saW5lQ29udGVu
dCA9ICFsaW5lTGF5b3V0UmVzdWx0LmlubGluZUNvbnRlbnQuaXNFbXB0eSgpOwogICAgICAgICBh
dXRvIGhhc0V2ZXJTZWVuSW5saW5lQ29udGVudCA9IGxpbmVIYXNJbmxpbmVDb250ZW50IHx8IChw
cmV2aW91c0xpbmUgJiYgcHJldmlvdXNMaW5lLT5oYXNJbmxpbmVDb250ZW50KTsKICAgICAgICAg
cHJldmlvdXNMaW5lID0gUHJldmlvdXNMaW5lIHsgbGluZUluZGV4LCBsaW5lTGF5b3V0UmVzdWx0
LmNvbnRlbnRHZW9tZXRyeS50cmFpbGluZ092ZXJmbG93aW5nQ29udGVudFdpZHRoLCBsaW5lSGFz
SW5saW5lQ29udGVudCAmJiBsaW5lTGF5b3V0UmVzdWx0LmlubGluZUNvbnRlbnQubGFzdCgpLmlz
TGluZUJyZWFrKCksIGhhc0V2ZXJTZWVuSW5saW5lQ29udGVudCwgbGluZUxheW91dFJlc3VsdC5k
aXJlY3Rpb25hbGl0eS5pbmxpbmVCYXNlRGlyZWN0aW9uLCBXVEZNb3ZlKGxpbmVMYXlvdXRSZXN1
bHQuZmxvYXRDb250ZW50LnN1c3BlbmRlZEZsb2F0cykgfTsKICAgICAgICAgcHJldmlvdXNMaW5l
RW5kID0gbGluZUNvbnRlbnRFbmQ7CkBAIC0zOTgsMTggKzM5NywyMiBAQCB2b2lkIElubGluZUZv
cm1hdHRpbmdDb250ZXh0Ojp1cGRhdGVCb3hHZW9tZXRyeUZvclBsYWNlZEZsb2F0cyhjb25zdCBM
aW5lTGF5b3V0UgogICAgIH0KIH0KIAotSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4
dDo6Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KGNvbnN0IExpbmVCb3gmIGxp
bmVCb3gsIGNvbnN0IExpbmVMYXlvdXRSZXN1bHQmIGxpbmVMYXlvdXRSZXN1bHQsIGNvbnN0IENv
bnN0cmFpbnRzRm9ySW5saW5lQ29udGVudCYgY29uc3RyYWludHMsIElubGluZURpc3BsYXk6OkNv
bnRlbnQmIGRpc3BsYXlDb250ZW50LCBzaXplX3QgbnVtYmVyT2ZQcmV2aW91c0xpbmVzV2l0aElu
bGluZUNvbnRlbnQpCitJbmxpbmVSZWN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpjcmVhdGVE
aXNwbGF5Q29udGVudEZvcklubGluZUNvbnRlbnQoY29uc3QgTGluZUJveCYgbGluZUJveCwgY29u
c3QgTGluZUxheW91dFJlc3VsdCYgbGluZUxheW91dFJlc3VsdCwgY29uc3QgQ29uc3RyYWludHNG
b3JJbmxpbmVDb250ZW50JiBjb25zdHJhaW50cywgSW5saW5lRGlzcGxheTo6Q29udGVudCYgZGlz
cGxheUNvbnRlbnQsIHNpemVfdCYgbnVtYmVyT2ZQcmV2aW91c0xDb250ZW50ZnVsTGluZXMpCiB7
CiAgICAgYXV0byBsaW5lQ2xhbXAgPSBsYXlvdXRTdGF0ZSgpLnBhcmVudEJsb2NrTGF5b3V0U3Rh
dGUoKS5saW5lQ2xhbXAoKTsKICAgICBhdXRvIGlzTGVnYWN5TGluZUNsYW1wID0gbGluZUNsYW1w
ICYmIGxpbmVDbGFtcC0+aXNMZWdhY3k7CiAgICAgYXV0byBudW1iZXJPZlZpc2libGVMaW5lc0Fs
bG93ZWQgPSBsaW5lQ2xhbXAgPyBzdGQ6Om1ha2Vfb3B0aW9uYWwobGluZUNsYW1wLT5tYXhpbXVt
TGluZXMpIDogc3RkOjpudWxsb3B0OwogCi0gICAgYXV0byBudW1iZXJPZkxpbmVzV2l0aElubGlu
ZUNvbnRlbnQgPSBudW1iZXJPZlByZXZpb3VzTGluZXNXaXRoSW5saW5lQ29udGVudCArICghbGlu
ZUxheW91dFJlc3VsdC5pbmxpbmVDb250ZW50LmlzRW1wdHkoKSA/IDEgOiAwKTsKLSAgICBhdXRv
IGxpbmVJc0Z1bGx5VHJ1bmNhdGVkSW5CbG9ja0RpcmVjdGlvbiA9IG51bWJlck9mVmlzaWJsZUxp
bmVzQWxsb3dlZCAmJiBudW1iZXJPZkxpbmVzV2l0aElubGluZUNvbnRlbnQgPiAqbnVtYmVyT2ZW
aXNpYmxlTGluZXNBbGxvd2VkOworICAgIGF1dG8gbnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250
ZW50ID0gbnVtYmVyT2ZQcmV2aW91c0xDb250ZW50ZnVsTGluZXMgKyAoIWxpbmVMYXlvdXRSZXN1
bHQuaW5saW5lQ29udGVudC5pc0VtcHR5KCkgPyAxIDogMCk7CisgICAgYXV0byBsaW5lSXNGdWxs
eVRydW5jYXRlZEluQmxvY2tEaXJlY3Rpb24gPSBudW1iZXJPZkxpbmVzV2l0aElubGluZUNvbnRl
bnQgPiBudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQudmFsdWVfb3IobnVtYmVyT2ZMaW5lc1dp
dGhJbmxpbmVDb250ZW50KTsKICAgICBhdXRvIGRpc3BsYXlMaW5lID0gSW5saW5lRGlzcGxheUxp
bmVCdWlsZGVyIHsgKnRoaXMsIGNvbnN0cmFpbnRzIH0uYnVpbGQobGluZUxheW91dFJlc3VsdCwg
bGluZUJveCwgbGluZUlzRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uKTsKICAgICBhdXRv
IGJveGVzID0gSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyIHsgKnRoaXMsIGNvbnN0cmFpbnRz
LCBsaW5lQm94LCBkaXNwbGF5TGluZSB9LmJ1aWxkKGxpbmVMYXlvdXRSZXN1bHQpOworICAgIGRp
c3BsYXlMaW5lLnNldEJveENvdW50KGJveGVzLnNpemUoKSk7CiAKLSAgICBhdXRvIHRydW5jYXRp
b25Qb2xpY3kgPSBJbmxpbmVGb3JtYXR0aW5nVXRpbHM6OmxpbmVFbmRpbmdUcnVuY2F0aW9uUG9s
aWN5KHJvb3QoKS5zdHlsZSgpLCBudW1iZXJPZkxpbmVzV2l0aElubGluZUNvbnRlbnQsIG51bWJl
ck9mVmlzaWJsZUxpbmVzQWxsb3dlZCwgIWxpbmVMYXlvdXRSZXN1bHQuaW5saW5lQ29udGVudC5p
c0VtcHR5KCkpOworICAgIC8vIE5vbi1jb250ZW50ZnVsIGxpbmVzIGFyZSBwcm9kdWNlZCBieSBj
ZXJ0YWluIHRyYWlsaW5nIGNvbnRlbnQgbGlrZSA8ZGl2PmNvbnRlbnRmdWwgbGluZTxicj48c3Bh
bj48L3NwYW4+PC9kaXY+IHdoZXJlIDxzcGFuPjwvc3Bhbj4gY3JlYXRlcyBhIGRpc3BsYXkgbGlu
ZSB3aXRoIG5vdGhpbmcgYnV0IHRoZSByb290IGlubGluZSBib3guCisgICAgYXV0byBpc0N1cnJl
bnRMaW5lQ29udGVudGZ1bCA9IGJveGVzLnNpemUoKSA+IDE7CisgICAgbnVtYmVyT2ZQcmV2aW91
c0xDb250ZW50ZnVsTGluZXMgKz0gKGlzQ3VycmVudExpbmVDb250ZW50ZnVsID8gMSA6IDApOwor
ICAgIGF1dG8gdHJ1bmNhdGlvblBvbGljeSA9IElubGluZUZvcm1hdHRpbmdVdGlsczo6bGluZUVu
ZGluZ1RydW5jYXRpb25Qb2xpY3kocm9vdCgpLnN0eWxlKCksIG51bWJlck9mUHJldmlvdXNMQ29u
dGVudGZ1bExpbmVzLCBudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQsIGlzQ3VycmVudExpbmVD
b250ZW50ZnVsKTsKICAgICBJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXI6OmFwcGx5RWxsaXBzaXNJ
Zk5lZWRlZCh0cnVuY2F0aW9uUG9saWN5LCBkaXNwbGF5TGluZSwgYm94ZXMsIGxpbmVMYXlvdXRS
ZXN1bHQuaXNGaXJzdExhc3QuaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50LCBpc0xlZ2FjeUxp
bmVDbGFtcCk7CiAgICAgYXV0byBsaW5lSGFzTGVnYWN5TGluZUNsYW1wID0gaXNMZWdhY3lMaW5l
Q2xhbXAgJiYgZGlzcGxheUxpbmUuaGFzRWxsaXBzaXMoKSAmJiB0cnVuY2F0aW9uUG9saWN5ID09
IExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5OjpXaGVuQ29udGVudE92ZXJmbG93c0luQmxvY2tE
aXJlY3Rpb247CiAgICAgaWYgKGxpbmVIYXNMZWdhY3lMaW5lQ2xhbXApCkBAIC00ODIsNyArNDg1
LDggQEAgYm9vbCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y3JlYXRlRGlzcGxheUNvbnRlbnRG
b3JMaW5lRnJvbUNhY2hlZENvbnRlbnQoY29uc3QKICAgICBsaW5lQ29udGVudC5saW5lR2VvbWV0
cnkubG9naWNhbFdpZHRoID0gY29uc3RyYWludHMuaG9yaXpvbnRhbCgpLmxvZ2ljYWxXaWR0aDsK
ICAgICBsaW5lQ29udGVudC5jb250ZW50R2VvbWV0cnkubG9naWNhbExlZnQgPSBJbmxpbmVGb3Jt
YXR0aW5nVXRpbHM6Omhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQocm9vdCgpLnN0eWxlKCksIGxp
bmVDb250ZW50LmNvbnRlbnRHZW9tZXRyeS5sb2dpY2FsV2lkdGgsIGxpbmVDb250ZW50LmxpbmVH
ZW9tZXRyeS5sb2dpY2FsV2lkdGgsIGxpbmVDb250ZW50LmhhbmdpbmdDb250ZW50LmxvZ2ljYWxX
aWR0aCwgbGluZUNvbnRlbnQuaW5saW5lQ29udGVudCwgdHJ1ZSk7CiAgICAgYXV0byBsaW5lQm94
ID0gTGluZUJveEJ1aWxkZXIgeyAqdGhpcywgbGluZUNvbnRlbnQgfS5idWlsZCh7IH0pOwotICAg
IGNyZWF0ZURpc3BsYXlDb250ZW50Rm9ySW5saW5lQ29udGVudChsaW5lQm94LCBsaW5lQ29udGVu
dCwgY29uc3RyYWludHMsIGxheW91dFJlc3VsdC5kaXNwbGF5Q29udGVudCk7CisgICAgc2l6ZV90
IG51bWJlck9mQ29udGVudGZ1bExpbmVzID0gMDsKKyAgICBjcmVhdGVEaXNwbGF5Q29udGVudEZv
cklubGluZUNvbnRlbnQobGluZUJveCwgbGluZUNvbnRlbnQsIGNvbnN0cmFpbnRzLCBsYXlvdXRS
ZXN1bHQuZGlzcGxheUNvbnRlbnQsIG51bWJlck9mQ29udGVudGZ1bExpbmVzKTsKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIApAQCAtNDkxLDcgKzQ5NSw4IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9yRW1wdHlJbmxpbmVDb250ZW50KGNvbnN0IENv
CiAgICAgYXV0byBlbXB0eUxpbmVCcmVha2luZ1Jlc3VsdCA9ICBMaW5lTGF5b3V0UmVzdWx0IHsg
fTsKICAgICBlbXB0eUxpbmVCcmVha2luZ1Jlc3VsdC5saW5lR2VvbWV0cnkgPSB7IHsgY29uc3Ry
YWludHMuaG9yaXpvbnRhbCgpLmxvZ2ljYWxMZWZ0LCBjb25zdHJhaW50cy5sb2dpY2FsVG9wKCkg
fSwgeyBjb25zdHJhaW50cy5ob3Jpem9udGFsKCkubG9naWNhbFdpZHRoIH0gfTsKICAgICBhdXRv
IGxpbmVCb3ggPSBMaW5lQm94QnVpbGRlciB7ICp0aGlzLCBlbXB0eUxpbmVCcmVha2luZ1Jlc3Vs
dCB9LmJ1aWxkKHsgfSk7Ci0gICAgY3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50
KGxpbmVCb3gsIGVtcHR5TGluZUJyZWFraW5nUmVzdWx0LCBjb25zdHJhaW50cywgbGF5b3V0UmVz
dWx0LmRpc3BsYXlDb250ZW50KTsKKyAgICBzaXplX3QgbnVtYmVyT2ZDb250ZW50ZnVsTGluZXMg
PSAwOworICAgIGNyZWF0ZURpc3BsYXlDb250ZW50Rm9ySW5saW5lQ29udGVudChsaW5lQm94LCBl
bXB0eUxpbmVCcmVha2luZ1Jlc3VsdCwgY29uc3RyYWludHMsIGxheW91dFJlc3VsdC5kaXNwbGF5
Q29udGVudCwgbnVtYmVyT2ZDb250ZW50ZnVsTGluZXMpOwogfQogCiB2b2lkIElubGluZUZvcm1h
dHRpbmdDb250ZXh0Ojppbml0aWFsaXplSW5saW5lTGF5b3V0U3RhdGUoY29uc3QgTGF5b3V0U3Rh
dGUmIGdsb2JhbExheW91dFN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0LmgKaW5kZXggZmI5ZjEzMzJiMDBhLi5lMzUwMGI0OTlkNmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtODUsNyArODUs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgbGF5b3V0RmxvYXRDb250ZW50T25seShjb25zdCBDb25z
dHJhaW50c0ZvcklubGluZUNvbnRlbnQmKTsKIAogICAgIHZvaWQgY29sbGVjdENvbnRlbnRJZk5l
ZWRlZCgpOwotICAgIElubGluZVJlY3QgY3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250
ZW50KGNvbnN0IExpbmVCb3gmLCBjb25zdCBMaW5lTGF5b3V0UmVzdWx0JiwgY29uc3QgQ29uc3Ry
YWludHNGb3JJbmxpbmVDb250ZW50JiwgSW5saW5lRGlzcGxheTo6Q29udGVudCYsIHNpemVfdCBu
dW1iZXJPZlByZXZpb3VzTGluZXNXaXRoSW5saW5lQ29udGVudCA9IDApOworICAgIElubGluZVJl
Y3QgY3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KGNvbnN0IExpbmVCb3gmLCBj
b25zdCBMaW5lTGF5b3V0UmVzdWx0JiwgY29uc3QgQ29uc3RyYWludHNGb3JJbmxpbmVDb250ZW50
JiwgSW5saW5lRGlzcGxheTo6Q29udGVudCYsIHNpemVfdCYgbnVtYmVyT2ZQcmV2aW91c0xDb250
ZW50ZnVsTGluZXMpOwogICAgIHZvaWQgdXBkYXRlSW5saW5lTGF5b3V0U3RhdGVXaXRoTGluZUxh
eW91dFJlc3VsdChjb25zdCBMaW5lTGF5b3V0UmVzdWx0JiwgY29uc3QgSW5saW5lUmVjdCYgbGlu
ZUxvZ2ljYWxSZWN0LCBjb25zdCBGbG9hdGluZ0NvbnRleHQmKTsKICAgICB2b2lkIHVwZGF0ZUJv
eEdlb21ldHJ5Rm9yUGxhY2VkRmxvYXRzKGNvbnN0IExpbmVMYXlvdXRSZXN1bHQ6OlBsYWNlZEZs
b2F0TGlzdCYpOwogICAgIHZvaWQgcmVzZXRCb3hHZW9tZXRyaWVzRm9yRGlzY2FyZGVkQ29udGVu
dChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIGRpc2NhcmRlZFJhbmdlLCBjb25zdCBMaW5lTGF5b3V0
UmVzdWx0OjpTdXNwZW5kZWRGbG9hdExpc3QmIHN1c3BlbmRlZEZsb2F0cyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVG
b3JtYXR0aW5nVXRpbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmNwcAppbmRleCBhMmEwMjUzMDVmYzcu
LjIwMjIwYzdkZTU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5n
VXRpbHMuY3BwCkBAIC01OTEsMTUgKzU5MSwxNSBAQCBzdGQ6OnBhaXI8SW5saW5lTGF5b3V0VW5p
dCwgSW5saW5lTGF5b3V0VW5pdD4gSW5saW5lRm9ybWF0dGluZ1V0aWxzOjp0ZXh0RW1waGFzaQog
ICAgIHJldHVybiB7IGhhc0Fib3ZlVGV4dEVtcGhhc2lzID8gYW5ub3RhdGlvblNpemUgOiAwLmYs
IGhhc0Fib3ZlVGV4dEVtcGhhc2lzID8gMC5mIDogYW5ub3RhdGlvblNpemUgfTsKIH0KIAotTGlu
ZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kgSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpsaW5lRW5kaW5n
VHJ1bmNhdGlvblBvbGljeShjb25zdCBSZW5kZXJTdHlsZSYgcm9vdFN0eWxlLCBzaXplX3QgbnVt
YmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50LCBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gbnVtYmVy
T2ZWaXNpYmxlTGluZXNBbGxvd2VkLCBib29sIGN1cnJlbnRMaW5lSGFzSW5saW5lQ29udGVudCkK
K0xpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5IElubGluZUZvcm1hdHRpbmdVdGlsczo6bGluZUVu
ZGluZ1RydW5jYXRpb25Qb2xpY3koY29uc3QgUmVuZGVyU3R5bGUmIHJvb3RTdHlsZSwgc2l6ZV90
IG51bWJlck9mQ29udGVudGZ1bExpbmVzLCBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gbnVtYmVyT2ZW
aXNpYmxlTGluZXNBbGxvd2VkLCBib29sIGN1cnJlbnRMaW5lSXNDb250ZW50ZnVsKQogewogICAg
IGlmIChudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQpIHsKICAgICAgICAgLy8gdGV4dC1vdmVy
ZmxvdzogZWxsaXBzaXMgc2hvdWxkIG5vdCBhcHBseSBpbnNpZGUgY2xhbXBpbmcgY29udGVudC4K
LSAgICAgICAgaWYgKCFjdXJyZW50TGluZUhhc0lubGluZUNvbnRlbnQpIHsKKyAgICAgICAgaWYg
KCFjdXJyZW50TGluZUlzQ29udGVudGZ1bCkgewogICAgICAgICAgICAgLy8gQ29udGVudCB3aXRo
IG5vIGlubGluZSBzaG91bGQgbmV2ZXIgZXZlciByZWNlaXZlIGVsbGlwc2lzLgogICAgICAgICAg
ICAgcmV0dXJuIExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5OjpOb1RydW5jYXRpb247CiAgICAg
ICAgIH0KLSAgICAgICAgcmV0dXJuICpudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQgPT0gbnVt
YmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50ID8gTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3k6
OldoZW5Db250ZW50T3ZlcmZsb3dzSW5CbG9ja0RpcmVjdGlvbiA6IExpbmVFbmRpbmdUcnVuY2F0
aW9uUG9saWN5OjpOb1RydW5jYXRpb247CisgICAgICAgIHJldHVybiAqbnVtYmVyT2ZWaXNpYmxl
TGluZXNBbGxvd2VkID09IG51bWJlck9mQ29udGVudGZ1bExpbmVzID8gTGluZUVuZGluZ1RydW5j
YXRpb25Qb2xpY3k6OldoZW5Db250ZW50T3ZlcmZsb3dzSW5CbG9ja0RpcmVjdGlvbiA6IExpbmVF
bmRpbmdUcnVuY2F0aW9uUG9saWN5OjpOb1RydW5jYXRpb247CiAgICAgfQogCiAgICAgLy8gVHJ1
bmNhdGlvbiBpcyBpbiBlZmZlY3Qgd2hlbiB0aGUgYmxvY2sgY29udGFpbmVyIGhhcyBvdmVyZmxv
dyBvdGhlciB0aGFuIHZpc2libGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRpbHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRp
bmdVdGlscy5oCmluZGV4IGVmYTJlZGJmZDRjYi4uYzE5ZDVmOGQ1NTc3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3Jt
YXR0aW5nVXRpbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRpbHMuaApAQCAtNjYsNyArNjYsNyBAQCBwdWJs
aWM6CiAKICAgICBzdGF0aWMgc3RkOjpwYWlyPElubGluZUxheW91dFVuaXQsIElubGluZUxheW91
dFVuaXQ+IHRleHRFbXBoYXNpc0ZvcklubGluZUJveChjb25zdCBCb3gmLCBjb25zdCBFbGVtZW50
Qm94JiByb290Qm94KTsKIAotICAgIHN0YXRpYyBMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeSBs
aW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeShjb25zdCBSZW5kZXJTdHlsZSYgcm9vdFN0eWxlLCBz
aXplX3QgbnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50LCBzdGQ6Om9wdGlvbmFsPHNpemVf
dD4gbnVtYmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkLCBib29sIGN1cnJlbnRMaW5lSGFzSW5saW5l
Q29udGVudCk7CisgICAgc3RhdGljIExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5IGxpbmVFbmRp
bmdUcnVuY2F0aW9uUG9saWN5KGNvbnN0IFJlbmRlclN0eWxlJiByb290U3R5bGUsIHNpemVfdCBu
dW1iZXJPZkNvbnRlbnRmdWxMaW5lcywgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG51bWJlck9mVmlz
aWJsZUxpbmVzQWxsb3dlZCwgYm9vbCBjdXJyZW50TGluZUlzQ29udGVudGZ1bCk7CiAKICAgICBi
b29sIHNob3VsZERpc2NhcmRSZW1haW5pbmdDb250ZW50SW5CbG9ja0RpcmVjdGlvbihzaXplX3Qg
bnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50KSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9Jbmxp
bmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwCmlu
ZGV4IDBkOTgwZmExODBkNi4uMWEwOWY0YmIwMmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlM
aW5lQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwCkBAIC0zODUs
NyArMzg1LDExIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBtb3ZlRGlzcGxheUJveFRvQ2xhbXBlZExp
bmUoYXV0byYgZGlzcGxheUxpbmVzLCBhdXRvIGNsYW1wZWRMCiAgICAgZGlzcGxheUJveC5zZXRM
ZWZ0KGNsYW1wZWRMaW5lLmVsbGlwc2lzKCktPnZpc3VhbFJlY3QubWF4WCgpICsgaG9yaXpvbnRh
bE9mZnNldCArIGxlZ2FjeU1hdGNoaW5nTGlua0JveE9mZnNldCk7CiAgICAgLy8gQXNzdW1lIGJh
c2VsaW5lIGFsaWdubWVudCBoZXJlLgogICAgIGRpc3BsYXlCb3gubW92ZVZlcnRpY2FsbHkoKGNs
YW1wZWRMaW5lLnRvcCgpICsgY2xhbXBlZExpbmUuYmFzZWxpbmUoKSkgLSAoZGlzcGxheUxpbmVz
Lmxhc3QoKS50b3AoKSArIGRpc3BsYXlMaW5lcy5sYXN0KCkuYmFzZWxpbmUoKSkpOworCisgICAg
YXV0byYgb3JpZ2luYWxMaW5lID0gZGlzcGxheUxpbmVzW2Rpc3BsYXlCb3gubGluZUluZGV4KCld
OworICAgIG9yaWdpbmFsTGluZS5zZXRCb3hDb3VudChvcmlnaW5hbExpbmUuYm94Q291bnQoKSAt
IDEpOwogICAgIGRpc3BsYXlCb3gubW92ZVRvTGluZShjbGFtcGVkTGluZUluZGV4KTsKKyAgICBj
bGFtcGVkTGluZS5zZXRCb3hDb3VudChjbGFtcGVkTGluZS5ib3hDb3VudCgpICsgMSk7CiB9CiAK
IHZvaWQgSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyOjphZGRMZWdhY3lMaW5lQ2xhbXBUcmFpbGlu
Z0xpbmtCb3hJZkFwcGxpY2FibGUoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmIGlubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LCBjb25zdCBJbmxpbmVMYXlvdXRTdGF0ZSYgaW5saW5lTGF5b3V0
U3RhdGUsIElubGluZURpc3BsYXk6OkNvbnRlbnQmIGRpc3BsYXlDb250ZW50KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3Jh
dGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAK
aW5kZXggZjJjMzVjMzZjMWIyLi4xYWYxOTAzMmI4ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250
ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lu
bGluZS9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcApAQCAtMzA4LDcg
KzMwOCw3IEBAIHZvaWQgSW5saW5lQ29udGVudEJ1aWxkZXI6OmFkanVzdERpc3BsYXlMaW5lcyhJ
bmxpbmVDb250ZW50JiBpbmxpbmVDb250ZW50LCBzaXplCiAgICAgICAgIGxpbmUuc2V0U2Nyb2xs
YWJsZU92ZXJmbG93KHNjcm9sbGFibGVPdmVyZmxvd1JlY3QpOwogICAgICAgICBsaW5lLnNldElu
a092ZXJmbG93KGlua092ZXJmbG93UmVjdCk7CiAgICAgICAgIGxpbmUuc2V0Rmlyc3RCb3hJbmRl
eChmaXJzdEJveEluZGV4KTsKLSAgICAgICAgbGluZS5zZXRCb3hDb3VudChib3hJbmRleCAtIGZp
cnN0Qm94SW5kZXgpOworICAgICAgICBBU1NFUlQobGluZS5ib3hDb3VudCgpID09IGJveEluZGV4
IC0gZmlyc3RCb3hJbmRleCk7CiAKICAgICAgICAgaWYgKGxpbmVJbmRleCkgewogICAgICAgICAg
ICAgYXV0byYgbGFzdElua092ZXJmbG93ID0gbGluZXNbbGluZUluZGV4IC0gMV0uaW5rT3ZlcmZs
b3coKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxp
bmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcAppbmRl
eCA0NWNhMjdhYmRhYmEuLmYzZjg0ZDk4MDhhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50
ZWdyYXRpb25MaW5lTGF5b3V0LmNwcApAQCAtODExLDcgKzgxMSwxMSBAQCBzaXplX3QgTGluZUxh
eW91dDo6bGluZUNvdW50KCkgY29uc3QKICAgICBpZiAoIW1faW5saW5lQ29udGVudC0+aGFzQ29u
dGVudCgpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBtX2lubGluZUNvbnRlbnQt
PmRpc3BsYXlDb250ZW50KCkubGluZXMuc2l6ZSgpOworICAgIGF1dG8mIGxpbmVzID0gbV9pbmxp
bmVDb250ZW50LT5kaXNwbGF5Q29udGVudCgpLmxpbmVzOworICAgIGlmIChsaW5lcy5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiAwOworICAgIC8vIEluIHNvbWUgY2FzZXMgKHRyYWlsaW5nIG91
dC1vZi1mbG93LCBub24tY29udGVudGZ1bCBjb250ZW50IGFmdGVyIDxicj4pIHdlIHByb2R1Y2Ug
bGFzdCBsaW5lIHdpdGggbm8gY29udGVudCBidXQgcm9vdCBpbmxpbmUgYm94IG9ubHkuCisgICAg
cmV0dXJuIGxpbmVzLmxhc3QoKS5ib3hDb3VudCgpID4gMSA/IGxpbmVzLnNpemUoKSA6IGxpbmVz
LnNpemUoKSAtIDE7CiB9CiAKIGJvb2wgTGluZUxheW91dDo6aGFzVmlzdWFsT3ZlcmZsb3coKSBj
b25zdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9vdmVyZmxvdy9saW5lLWNsYW1wLXdp
dGgtdHJhaWxpbmctbm9uLWNvbnRlbnRmdWwtYm94ZXMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3Qvb3ZlcmZsb3cvbGluZS1jbGFtcC13aXRoLXRyYWlsaW5nLW5vbi1jb250ZW50ZnVs
LWJveGVzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwLi4zMjlhODFmMTMyNTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L292
ZXJmbG93L2xpbmUtY2xhbXAtd2l0aC10cmFpbGluZy1ub24tY29udGVudGZ1bC1ib3hlcy1leHBl
Y3RlZC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxzdHlsZT4KKy5jbGFtcCB7CisgIGZvbnQtZmFt
aWx5OiBNb25vc3BhY2U7CisgIGZvbnQtc2l6ZTogMTJweDsKKyAgb3ZlcmZsb3c6IGhpZGRlbjsK
KyAgbWFyZ2luLWJvdHRvbTogMTBweDsKK30KKzwvc3R5bGU+Cis8ZGl2IGNsYXNzPSJjbGFtcCI+
CisgIDxkaXY+Zmlyc3QgbGluZSBmb2xsb3dlZCBieSBvdXQtb2YtZmxvdyBjb250ZW50LiBQQVNT
IGlmIGdyZWVuIGxpbmUgYmVsb3cgc2hvd3MuPC9kaXY+CisgIDxkaXYgc3R5bGU9ImNvbG9yOiBn
cmVlbiI+UEFTUyBpZiB0aGlzIGlzIHZpc2libGUgYW5kIHRyYWlsaW5nIGVsbGlwc2lzIHNob3dz
JiN4MjAyNjs8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJjbGFtcCI+CisgIDxkaXY+Zmly
c3QgbGluZSBmb2xsb3dlZCBieSBub24tY29udGVudGZ1bCBpbmxpbmUgY29udGVudC4gUEFTUyBp
ZiBncmVlbiBsaW5lIGJlbG93IHNob3dzLjwvZGl2PgorICA8ZGl2IHN0eWxlPSJjb2xvcjogZ3Jl
ZW4iPlBBU1MgaWYgdGhpcyBpcyB2aXNpYmxlIGFuZCB0cmFpbGluZyBlbGxpcHNpcyBzaG93cyYj
eDIwMjY7PC9kaXY+Cis8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvb3ZlcmZs
b3cvbGluZS1jbGFtcC13aXRoLXRyYWlsaW5nLW5vbi1jb250ZW50ZnVsLWJveGVzLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L292ZXJmbG93L2xpbmUtY2xhbXAtd2l0aC10cmFpbGluZy1ub24tY29u
dGVudGZ1bC1ib3hlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MC4uODRiNDVmMzYxMDkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9vdmVy
Zmxvdy9saW5lLWNsYW1wLXdpdGgtdHJhaWxpbmctbm9uLWNvbnRlbnRmdWwtYm94ZXMuaHRtbApA
QCAtMCwwICsxLDIwIEBACis8c3R5bGU+CisuY2xhbXAgeworICBkaXNwbGF5OiAtd2Via2l0LWJv
eDsKKyAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKKyAgLXdlYmtpdC1saW5lLWNsYW1w
OiAyOworICBmb250LWZhbWlseTogTW9ub3NwYWNlOworICBmb250LXNpemU6IDEycHg7CisgIG92
ZXJmbG93OiBoaWRkZW47CisgIG1hcmdpbi1ib3R0b206IDEwcHg7Cit9Cis8L3N0eWxlPgorPGRp
diBjbGFzcz0iY2xhbXAiPgorICA8ZGl2PmZpcnN0IGxpbmUgZm9sbG93ZWQgYnkgb3V0LW9mLWZs
b3cgY29udGVudC4gUEFTUyBpZiBncmVlbiBsaW5lIGJlbG93IHNob3dzLjxicj48ZGl2IHN0eWxl
PSJwb3NpdGlvbjogYWJzb2x1dGUiPjwvZGl2PjwvZGl2PgorICA8ZGl2IHN0eWxlPSJjb2xvcjog
Z3JlZW4iPlBBU1MgaWYgdGhpcyBpcyB2aXNpYmxlIGFuZCB0cmFpbGluZyBlbGxpcHNpcyBzaG93
czxicj50aGlyZCBsaW5lPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iY2xhbXAiPgorICA8
ZGl2PmZpcnN0IGxpbmUgZm9sbG93ZWQgYnkgbm9uLWNvbnRlbnRmdWwgaW5saW5lIGNvbnRlbnQu
IFBBU1MgaWYgZ3JlZW4gbGluZSBiZWxvdyBzaG93cy48YnI+PHNwYW4+PC9zcGFuPjwvZGl2Pgor
ICA8ZGl2IHN0eWxlPSJjb2xvcjogZ3JlZW4iPlBBU1MgaWYgdGhpcyBpcyB2aXNpYmxlIGFuZCB0
cmFpbGluZyBlbGxpcHNpcyBzaG93czxicj50aGlyZCBsaW5lPC9kaXY+Cis8L2Rpdj4K
</data>
<flag name="commit-queue"
          id="498166"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473469</attachid>
            <date>2024-12-05 09:10:07 -0800</date>
            <delta_ts>2024-12-05 10:15:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-284104-20241205091006.patch</filename>
            <type>text/plain</type>
            <size>19739</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBmNjc1YmE2MDEyYjU1NzNiNmM5NTMzODY3Mjc3NmVhOGQxNDYxN2QzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFRodSwgNSBEZWMgMjAyNCAwNTozMzoyMiAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFtsaW5lLWNs
YW1wXSBOdW1iZXIgb2YgY29udGVudGZ1bCBsaW5lcyBkb2VzIG5vdCBhbHdheXMgbWF0Y2gKIHRo
ZSBudW1iZXIgb2YgbGluZXMgd2l0aCBpbmxpbmUgY29udGVudAogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI4NDEwNAoKUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8u
CgpMZXQncyB0cmFjayB0aGUgbnVtYmVyIG9mIF9jb250ZW50ZnVsXyBsaW5lcyBmb3IgbGluZSBj
bGFtcGluZy4KCkluIHNvbWUgY2FzZXMgKHRyYWlsaW5nIG91dC1vZi1mbG93IGJveGVzIG9yIG5v
bi1jb250ZW50ZnVsIGlubGluZSBjb250ZW50IGFmdGVyIHRoZSBmaW5hbCA8YnI+KSB3ZSBlbmQg
dXAgY3JlYXRpbmcKYSBkaXNwbGF5IGxpbmUgd2l0aCBubyBkaXNwbGF5IGJveCBvdGhlciB0aGFu
IHRoZSByb290IGlubGluZSBkaXNwbGF5IGJveC4gU3VjaCAiZW1wdHkiIGxpbmVzIHNob3VsZCBu
b3QgYmUKdGFrZW4gaW50byBhY2NvdW50IHdoZW4gY291bnRpbmcgdGhlIGxpbmVzIGZvciBsaW5l
LWNsYW1wLgoKZXhhbXBsZXM6CjxkaXY+dGhpcyBsaW5lIGlzIGNvbnRlbnRmdWw8YnI+PGRpdiBz
dHlsZT0icG9zaXRpb246IGFic29sdXRlIj48L2Rpdj4gPC0gb3V0IG9mIGZsb3cgYm94IGFmdGVy
IGxhc3QgY29udGVudGZ1bCBsaW5lCjxkaXY+dGhpcyBsaW5lIGlzIGNvbnRlbmZ1bDxicj48c3Bh
bj48L3NwYW4+PC9kaXY+IDwtIG5vbi1jb250ZW50ZnVsIHRyYWlsaW5nIGlubGluZSBjb250ZW50
CgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmxpbmVMYXlvdXQpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KToKKFdlYkNvcmU6
OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9y
TGluZUZyb21DYWNoZWRDb250ZW50KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9yRW1wdHlJbmxpbmVDb250ZW50KToKKiBT
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5oOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5jcHA6CihXZWJDb3JlOjpMYXlvdXQ6Oklu
bGluZUZvcm1hdHRpbmdVdGlsczo6bGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kpOgoqIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRp
bmdVdGlscy5oOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmNwcDoKKFdlYkNvcmU6OkxheW91
dDo6bW92ZURpc3BsYXlCb3hUb0NsYW1wZWRMaW5lKToKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIu
Y3BwOgooV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWlsZGVyOjph
ZGp1c3REaXNwbGF5TGluZXMgY29uc3QpOgotLS0KIC4uLi9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwICAgICAgICB8IDI3ICsrKysrKysrKysrLS0tLS0tLS0KIC4uLi9pbmxpbmUv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaCAgICAgICAgICB8ICAyICstCiAuLi4vaW5saW5lL0lu
bGluZUZvcm1hdHRpbmdVdGlscy5jcHAgICAgICAgICAgfCAgNiArKy0tLQogLi4uL2lubGluZS9J
bmxpbmVGb3JtYXR0aW5nVXRpbHMuaCAgICAgICAgICAgIHwgIDIgKy0KIC4uLi9kaXNwbGF5L0lu
bGluZURpc3BsYXlMaW5lQnVpbGRlci5jcHAgICAgICB8ICA0ICsrKwogLi4uL0xheW91dEludGVn
cmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwIHwgIDIgKy0KIC4uLi9pbmxpbmUvTGF5b3V0
SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCAgICB8ICA2ICsrKystCiAuLi5yYWlsaW5nLW5vbi1j
b250ZW50ZnVsLWJveGVzLWV4cGVjdGVkLmh0bWwgfCAxNyArKysrKysrKysrKysKIC4uLm1wLXdp
dGgtdHJhaWxpbmctbm9uLWNvbnRlbnRmdWwtYm94ZXMuaHRtbCB8IDIwICsrKysrKysrKysrKysr
CiA5IGZpbGVzIGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQogY3Jl
YXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cvbGluZS1jbGFtcC13aXRo
LXRyYWlsaW5nLW5vbi1jb250ZW50ZnVsLWJveGVzLWV4cGVjdGVkLmh0bWwKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L292ZXJmbG93L2xpbmUtY2xhbXAtd2l0aC10cmFpbGlu
Zy1ub24tY29udGVudGZ1bC1ib3hlcy5odG1sCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGNhNDQzMGYxMzk2Zi4uMjExN2VhMzA0ZWRh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3Bw
CkBAIC0yOTQsNyArMjk0LDcgQEAgSW5saW5lTGF5b3V0UmVzdWx0IElubGluZUZvcm1hdHRpbmdD
b250ZXh0OjpsaW5lTGF5b3V0KEFic3RyYWN0TGluZUJ1aWxkZXImIGxpbmUKICAgICBhdXRvIHBy
ZXZpb3VzTGluZUVuZCA9IHN0ZDo6b3B0aW9uYWw8SW5saW5lSXRlbVBvc2l0aW9uPiB7IH07CiAg
ICAgYXV0byBsZWFkaW5nSW5saW5lSXRlbVBvc2l0aW9uID0gbmVlZHNMYXlvdXRSYW5nZS5zdGFy
dDsKICAgICBhdXRvIHBhcnRpYWxMYXlvdXRTdGFydEluZGV4ID0gcHJldmlvdXNMaW5lID8gc3Rk
OjptYWtlX29wdGlvbmFsKHByZXZpb3VzTGluZS0+bGluZUluZGV4KSA6IHN0ZDo6bnVsbG9wdDsK
LSAgICBzaXplX3QgbnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50ID0gMDsKKyAgICBzaXpl
X3QgbnVtYmVyT2ZDb250ZW50ZnVsTGluZXMgPSBwYXJ0aWFsTGF5b3V0U3RhcnRJbmRleCA/ICpw
YXJ0aWFsTGF5b3V0U3RhcnRJbmRleCArIDEgOiAwbHU7CiAgICAgd2hpbGUgKHRydWUpIHsKIAog
ICAgICAgICBhdXRvIGxpbmVJbml0aWFsUmVjdCA9IElubGluZVJlY3QgeyBsaW5lTG9naWNhbFRv
cCwgY29uc3RyYWludHMuaG9yaXpvbnRhbCgpLmxvZ2ljYWxMZWZ0LCBjb25zdHJhaW50cy5ob3Jp
em9udGFsKCkubG9naWNhbFdpZHRoLCBmb3JtYXR0aW5nVXRpbHMoKS5pbml0aWFsTGluZUhlaWdo
dCghcHJldmlvdXNMaW5lLmhhc192YWx1ZSgpKSB9OwpAQCAtMzAzLDcgKzMwMyw3IEBAIElubGlu
ZUxheW91dFJlc3VsdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxheW91dChBYnN0cmFj
dExpbmVCdWlsZGVyJiBsaW5lCiAKICAgICAgICAgYXV0byBsaW5lTGF5b3V0UmVzdWx0ID0gbGlu
ZUJ1aWxkZXIubGF5b3V0SW5saW5lQ29udGVudChsaW5lSW5wdXQsIHByZXZpb3VzTGluZSk7CiAg
ICAgICAgIGF1dG8gbGluZUJveCA9IExpbmVCb3hCdWlsZGVyIHsgKnRoaXMsIGxpbmVMYXlvdXRS
ZXN1bHQgfS5idWlsZChsaW5lSW5kZXgpOwotICAgICAgICBhdXRvIGxpbmVMb2dpY2FsUmVjdCA9
IGNyZWF0ZURpc3BsYXlDb250ZW50Rm9ySW5saW5lQ29udGVudChsaW5lQm94LCBsaW5lTGF5b3V0
UmVzdWx0LCBjb25zdHJhaW50cywgbGF5b3V0UmVzdWx0LmRpc3BsYXlDb250ZW50LCBudW1iZXJP
ZkxpbmVzV2l0aElubGluZUNvbnRlbnQpOworICAgICAgICBhdXRvIGxpbmVMb2dpY2FsUmVjdCA9
IGNyZWF0ZURpc3BsYXlDb250ZW50Rm9ySW5saW5lQ29udGVudChsaW5lQm94LCBsaW5lTGF5b3V0
UmVzdWx0LCBjb25zdHJhaW50cywgbGF5b3V0UmVzdWx0LmRpc3BsYXlDb250ZW50LCBudW1iZXJP
ZkNvbnRlbnRmdWxMaW5lcyk7CiAgICAgICAgIHVwZGF0ZUJveEdlb21ldHJ5Rm9yUGxhY2VkRmxv
YXRzKGxpbmVMYXlvdXRSZXN1bHQuZmxvYXRDb250ZW50LnBsYWNlZEZsb2F0cyk7CiAgICAgICAg
IHVwZGF0ZUlubGluZUxheW91dFN0YXRlV2l0aExpbmVMYXlvdXRSZXN1bHQobGluZUxheW91dFJl
c3VsdCwgbGluZUxvZ2ljYWxSZWN0LCBmbG9hdGluZ0NvbnRleHQpOwogCkBAIC0zMjAsMTQgKzMy
MCwxMyBAQCBJbmxpbmVMYXlvdXRSZXN1bHQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxpbmVM
YXlvdXQoQWJzdHJhY3RMaW5lQnVpbGRlciYgbGluZQogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KIAotICAgICAgICBhdXRvIGxpbmVIYXNJbmxpbmVDb250ZW50ID0gIWxpbmVMYXlvdXRS
ZXN1bHQuaW5saW5lQ29udGVudC5pc0VtcHR5KCk7Ci0gICAgICAgIG51bWJlck9mTGluZXNXaXRo
SW5saW5lQ29udGVudCArPSBsaW5lSGFzSW5saW5lQ29udGVudCA/IDEgOiAwOwotICAgICAgICBp
ZiAoZm9ybWF0dGluZ1V0aWxzKCkuc2hvdWxkRGlzY2FyZFJlbWFpbmluZ0NvbnRlbnRJbkJsb2Nr
RGlyZWN0aW9uKHBhcnRpYWxMYXlvdXRTdGFydEluZGV4LnZhbHVlX29yKDApICsgbnVtYmVyT2ZM
aW5lc1dpdGhJbmxpbmVDb250ZW50KSkgeworICAgICAgICBpZiAoZm9ybWF0dGluZ1V0aWxzKCku
c2hvdWxkRGlzY2FyZFJlbWFpbmluZ0NvbnRlbnRJbkJsb2NrRGlyZWN0aW9uKG51bWJlck9mQ29u
dGVudGZ1bExpbmVzKSkgewogICAgICAgICAgICAgcmVzZXRCb3hHZW9tZXRyaWVzRm9yRGlzY2Fy
ZGVkQ29udGVudCh7IGxlYWRpbmdJbmxpbmVJdGVtUG9zaXRpb24sIG5lZWRzTGF5b3V0UmFuZ2Uu
ZW5kIH0sIGxpbmVMYXlvdXRSZXN1bHQuZmxvYXRDb250ZW50LnN1c3BlbmRlZEZsb2F0cyk7CiAg
ICAgICAgICAgICBsYXlvdXRSZXN1bHQucmFuZ2UgPSAhaXNQYXJ0aWFsTGF5b3V0ID8gSW5saW5l
TGF5b3V0UmVzdWx0OjpSYW5nZTo6RnVsbCA6IElubGluZUxheW91dFJlc3VsdDo6UmFuZ2U6OkZ1
bGxGcm9tRGFtYWdlOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAorICAgICAgICBh
dXRvIGxpbmVIYXNJbmxpbmVDb250ZW50ID0gIWxpbmVMYXlvdXRSZXN1bHQuaW5saW5lQ29udGVu
dC5pc0VtcHR5KCk7CiAgICAgICAgIGF1dG8gaGFzRXZlclNlZW5JbmxpbmVDb250ZW50ID0gbGlu
ZUhhc0lubGluZUNvbnRlbnQgfHwgKHByZXZpb3VzTGluZSAmJiBwcmV2aW91c0xpbmUtPmhhc0lu
bGluZUNvbnRlbnQpOwogICAgICAgICBwcmV2aW91c0xpbmUgPSBQcmV2aW91c0xpbmUgeyBsaW5l
SW5kZXgsIGxpbmVMYXlvdXRSZXN1bHQuY29udGVudEdlb21ldHJ5LnRyYWlsaW5nT3ZlcmZsb3dp
bmdDb250ZW50V2lkdGgsIGxpbmVIYXNJbmxpbmVDb250ZW50ICYmIGxpbmVMYXlvdXRSZXN1bHQu
aW5saW5lQ29udGVudC5sYXN0KCkuaXNMaW5lQnJlYWsoKSwgaGFzRXZlclNlZW5JbmxpbmVDb250
ZW50LCBsaW5lTGF5b3V0UmVzdWx0LmRpcmVjdGlvbmFsaXR5LmlubGluZUJhc2VEaXJlY3Rpb24s
IFdURk1vdmUobGluZUxheW91dFJlc3VsdC5mbG9hdENvbnRlbnQuc3VzcGVuZGVkRmxvYXRzKSB9
OwogICAgICAgICBwcmV2aW91c0xpbmVFbmQgPSBsaW5lQ29udGVudEVuZDsKQEAgLTM5OCwxOCAr
Mzk3LDIyIEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OnVwZGF0ZUJveEdlb21ldHJ5
Rm9yUGxhY2VkRmxvYXRzKGNvbnN0IExpbmVMYXlvdXRSCiAgICAgfQogfQogCi1JbmxpbmVSZWN0
IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpjcmVhdGVEaXNwbGF5Q29udGVudEZvcklubGluZUNv
bnRlbnQoY29uc3QgTGluZUJveCYgbGluZUJveCwgY29uc3QgTGluZUxheW91dFJlc3VsdCYgbGlu
ZUxheW91dFJlc3VsdCwgY29uc3QgQ29uc3RyYWludHNGb3JJbmxpbmVDb250ZW50JiBjb25zdHJh
aW50cywgSW5saW5lRGlzcGxheTo6Q29udGVudCYgZGlzcGxheUNvbnRlbnQsIHNpemVfdCBudW1i
ZXJPZlByZXZpb3VzTGluZXNXaXRoSW5saW5lQ29udGVudCkKK0lubGluZVJlY3QgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9ySW5saW5lQ29udGVudChjb25z
dCBMaW5lQm94JiBsaW5lQm94LCBjb25zdCBMaW5lTGF5b3V0UmVzdWx0JiBsaW5lTGF5b3V0UmVz
dWx0LCBjb25zdCBDb25zdHJhaW50c0ZvcklubGluZUNvbnRlbnQmIGNvbnN0cmFpbnRzLCBJbmxp
bmVEaXNwbGF5OjpDb250ZW50JiBkaXNwbGF5Q29udGVudCwgc2l6ZV90JiBudW1iZXJPZlByZXZp
b3VzTENvbnRlbnRmdWxMaW5lcykKIHsKICAgICBhdXRvIGxpbmVDbGFtcCA9IGxheW91dFN0YXRl
KCkucGFyZW50QmxvY2tMYXlvdXRTdGF0ZSgpLmxpbmVDbGFtcCgpOwogICAgIGF1dG8gaXNMZWdh
Y3lMaW5lQ2xhbXAgPSBsaW5lQ2xhbXAgJiYgbGluZUNsYW1wLT5pc0xlZ2FjeTsKICAgICBhdXRv
IG51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCA9IGxpbmVDbGFtcCA/IHN0ZDo6bWFrZV9vcHRp
b25hbChsaW5lQ2xhbXAtPm1heGltdW1MaW5lcykgOiBzdGQ6Om51bGxvcHQ7CiAKLSAgICBhdXRv
IG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29udGVudCA9IG51bWJlck9mUHJldmlvdXNMaW5lc1dp
dGhJbmxpbmVDb250ZW50ICsgKCFsaW5lTGF5b3V0UmVzdWx0LmlubGluZUNvbnRlbnQuaXNFbXB0
eSgpID8gMSA6IDApOwotICAgIGF1dG8gbGluZUlzRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0
aW9uID0gbnVtYmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkICYmIG51bWJlck9mTGluZXNXaXRoSW5s
aW5lQ29udGVudCA+ICpudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQ7CisgICAgYXV0byBudW1i
ZXJPZkxpbmVzV2l0aElubGluZUNvbnRlbnQgPSBudW1iZXJPZlByZXZpb3VzTENvbnRlbnRmdWxM
aW5lcyArICghbGluZUxheW91dFJlc3VsdC5pbmxpbmVDb250ZW50LmlzRW1wdHkoKSA/IDEgOiAw
KTsKKyAgICBhdXRvIGxpbmVJc0Z1bGx5VHJ1bmNhdGVkSW5CbG9ja0RpcmVjdGlvbiA9IG51bWJl
ck9mTGluZXNXaXRoSW5saW5lQ29udGVudCA+IG51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZC52
YWx1ZV9vcihudW1iZXJPZkxpbmVzV2l0aElubGluZUNvbnRlbnQpOwogICAgIGF1dG8gZGlzcGxh
eUxpbmUgPSBJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIgeyAqdGhpcywgY29uc3RyYWludHMgfS5i
dWlsZChsaW5lTGF5b3V0UmVzdWx0LCBsaW5lQm94LCBsaW5lSXNGdWxseVRydW5jYXRlZEluQmxv
Y2tEaXJlY3Rpb24pOwogICAgIGF1dG8gYm94ZXMgPSBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxk
ZXIgeyAqdGhpcywgY29uc3RyYWludHMsIGxpbmVCb3gsIGRpc3BsYXlMaW5lIH0uYnVpbGQobGlu
ZUxheW91dFJlc3VsdCk7CisgICAgZGlzcGxheUxpbmUuc2V0Qm94Q291bnQoYm94ZXMuc2l6ZSgp
KTsKIAotICAgIGF1dG8gdHJ1bmNhdGlvblBvbGljeSA9IElubGluZUZvcm1hdHRpbmdVdGlsczo6
bGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kocm9vdCgpLnN0eWxlKCksIG51bWJlck9mTGluZXNX
aXRoSW5saW5lQ29udGVudCwgbnVtYmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkLCAhbGluZUxheW91
dFJlc3VsdC5pbmxpbmVDb250ZW50LmlzRW1wdHkoKSk7CisgICAgLy8gTm9uLWNvbnRlbnRmdWwg
bGluZXMgYXJlIHByb2R1Y2VkIGJ5IGNlcnRhaW4gdHJhaWxpbmcgY29udGVudCBsaWtlIDxkaXY+
Y29udGVudGZ1bCBsaW5lPGJyPjxzcGFuPjwvc3Bhbj48L2Rpdj4gd2hlcmUgPHNwYW4+PC9zcGFu
PiBjcmVhdGVzIGEgZGlzcGxheSBsaW5lIHdpdGggbm90aGluZyBidXQgdGhlIHJvb3QgaW5saW5l
IGJveC4KKyAgICBhdXRvIGlzQ3VycmVudExpbmVDb250ZW50ZnVsID0gYm94ZXMuc2l6ZSgpID4g
MTsKKyAgICBudW1iZXJPZlByZXZpb3VzTENvbnRlbnRmdWxMaW5lcyArPSAoaXNDdXJyZW50TGlu
ZUNvbnRlbnRmdWwgPyAxIDogMCk7CisgICAgYXV0byB0cnVuY2F0aW9uUG9saWN5ID0gSW5saW5l
Rm9ybWF0dGluZ1V0aWxzOjpsaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeShyb290KCkuc3R5bGUo
KSwgbnVtYmVyT2ZQcmV2aW91c0xDb250ZW50ZnVsTGluZXMsIG51bWJlck9mVmlzaWJsZUxpbmVz
QWxsb3dlZCwgaXNDdXJyZW50TGluZUNvbnRlbnRmdWwpOwogICAgIElubGluZURpc3BsYXlMaW5l
QnVpbGRlcjo6YXBwbHlFbGxpcHNpc0lmTmVlZGVkKHRydW5jYXRpb25Qb2xpY3ksIGRpc3BsYXlM
aW5lLCBib3hlcywgbGluZUxheW91dFJlc3VsdC5pc0ZpcnN0TGFzdC5pc0xhc3RMaW5lV2l0aElu
bGluZUNvbnRlbnQsIGlzTGVnYWN5TGluZUNsYW1wKTsKICAgICBhdXRvIGxpbmVIYXNMZWdhY3lM
aW5lQ2xhbXAgPSBpc0xlZ2FjeUxpbmVDbGFtcCAmJiBkaXNwbGF5TGluZS5oYXNFbGxpcHNpcygp
ICYmIHRydW5jYXRpb25Qb2xpY3kgPT0gTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3k6OldoZW5D
b250ZW50T3ZlcmZsb3dzSW5CbG9ja0RpcmVjdGlvbjsKICAgICBpZiAobGluZUhhc0xlZ2FjeUxp
bmVDbGFtcCkKQEAgLTQ4Miw3ICs0ODUsOCBAQCBib29sIElubGluZUZvcm1hdHRpbmdDb250ZXh0
OjpjcmVhdGVEaXNwbGF5Q29udGVudEZvckxpbmVGcm9tQ2FjaGVkQ29udGVudChjb25zdAogICAg
IGxpbmVDb250ZW50LmxpbmVHZW9tZXRyeS5sb2dpY2FsV2lkdGggPSBjb25zdHJhaW50cy5ob3Jp
em9udGFsKCkubG9naWNhbFdpZHRoOwogICAgIGxpbmVDb250ZW50LmNvbnRlbnRHZW9tZXRyeS5s
b2dpY2FsTGVmdCA9IElubGluZUZvcm1hdHRpbmdVdGlsczo6aG9yaXpvbnRhbEFsaWdubWVudE9m
ZnNldChyb290KCkuc3R5bGUoKSwgbGluZUNvbnRlbnQuY29udGVudEdlb21ldHJ5LmxvZ2ljYWxX
aWR0aCwgbGluZUNvbnRlbnQubGluZUdlb21ldHJ5LmxvZ2ljYWxXaWR0aCwgbGluZUNvbnRlbnQu
aGFuZ2luZ0NvbnRlbnQubG9naWNhbFdpZHRoLCBsaW5lQ29udGVudC5pbmxpbmVDb250ZW50LCB0
cnVlKTsKICAgICBhdXRvIGxpbmVCb3ggPSBMaW5lQm94QnVpbGRlciB7ICp0aGlzLCBsaW5lQ29u
dGVudCB9LmJ1aWxkKHsgfSk7Ci0gICAgY3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250
ZW50KGxpbmVCb3gsIGxpbmVDb250ZW50LCBjb25zdHJhaW50cywgbGF5b3V0UmVzdWx0LmRpc3Bs
YXlDb250ZW50KTsKKyAgICBzaXplX3QgbnVtYmVyT2ZDb250ZW50ZnVsTGluZXMgPSAwOworICAg
IGNyZWF0ZURpc3BsYXlDb250ZW50Rm9ySW5saW5lQ29udGVudChsaW5lQm94LCBsaW5lQ29udGVu
dCwgY29uc3RyYWludHMsIGxheW91dFJlc3VsdC5kaXNwbGF5Q29udGVudCwgbnVtYmVyT2ZDb250
ZW50ZnVsTGluZXMpOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC00OTEsNyArNDk1LDggQEAg
dm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JFbXB0
eUlubGluZUNvbnRlbnQoY29uc3QgQ28KICAgICBhdXRvIGVtcHR5TGluZUJyZWFraW5nUmVzdWx0
ID0gIExpbmVMYXlvdXRSZXN1bHQgeyB9OwogICAgIGVtcHR5TGluZUJyZWFraW5nUmVzdWx0Lmxp
bmVHZW9tZXRyeSA9IHsgeyBjb25zdHJhaW50cy5ob3Jpem9udGFsKCkubG9naWNhbExlZnQsIGNv
bnN0cmFpbnRzLmxvZ2ljYWxUb3AoKSB9LCB7IGNvbnN0cmFpbnRzLmhvcml6b250YWwoKS5sb2dp
Y2FsV2lkdGggfSB9OwogICAgIGF1dG8gbGluZUJveCA9IExpbmVCb3hCdWlsZGVyIHsgKnRoaXMs
IGVtcHR5TGluZUJyZWFraW5nUmVzdWx0IH0uYnVpbGQoeyB9KTsKLSAgICBjcmVhdGVEaXNwbGF5
Q29udGVudEZvcklubGluZUNvbnRlbnQobGluZUJveCwgZW1wdHlMaW5lQnJlYWtpbmdSZXN1bHQs
IGNvbnN0cmFpbnRzLCBsYXlvdXRSZXN1bHQuZGlzcGxheUNvbnRlbnQpOworICAgIHNpemVfdCBu
dW1iZXJPZkNvbnRlbnRmdWxMaW5lcyA9IDA7CisgICAgY3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJ
bmxpbmVDb250ZW50KGxpbmVCb3gsIGVtcHR5TGluZUJyZWFraW5nUmVzdWx0LCBjb25zdHJhaW50
cywgbGF5b3V0UmVzdWx0LmRpc3BsYXlDb250ZW50LCBudW1iZXJPZkNvbnRlbnRmdWxMaW5lcyk7
CiB9CiAKIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmluaXRpYWxpemVJbmxpbmVMYXlv
dXRTdGF0ZShjb25zdCBMYXlvdXRTdGF0ZSYgZ2xvYmFsTGF5b3V0U3RhdGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCBmYjlmMTMzMmIwMGEu
LmUzNTAwYjQ5OWQ2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5oCkBAIC04NSw3ICs4NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBsYXlvdXRGbG9h
dENvbnRlbnRPbmx5KGNvbnN0IENvbnN0cmFpbnRzRm9ySW5saW5lQ29udGVudCYpOwogCiAgICAg
dm9pZCBjb2xsZWN0Q29udGVudElmTmVlZGVkKCk7Ci0gICAgSW5saW5lUmVjdCBjcmVhdGVEaXNw
bGF5Q29udGVudEZvcklubGluZUNvbnRlbnQoY29uc3QgTGluZUJveCYsIGNvbnN0IExpbmVMYXlv
dXRSZXN1bHQmLCBjb25zdCBDb25zdHJhaW50c0ZvcklubGluZUNvbnRlbnQmLCBJbmxpbmVEaXNw
bGF5OjpDb250ZW50Jiwgc2l6ZV90IG51bWJlck9mUHJldmlvdXNMaW5lc1dpdGhJbmxpbmVDb250
ZW50ID0gMCk7CisgICAgSW5saW5lUmVjdCBjcmVhdGVEaXNwbGF5Q29udGVudEZvcklubGluZUNv
bnRlbnQoY29uc3QgTGluZUJveCYsIGNvbnN0IExpbmVMYXlvdXRSZXN1bHQmLCBjb25zdCBDb25z
dHJhaW50c0ZvcklubGluZUNvbnRlbnQmLCBJbmxpbmVEaXNwbGF5OjpDb250ZW50Jiwgc2l6ZV90
JiBudW1iZXJPZlByZXZpb3VzTENvbnRlbnRmdWxMaW5lcyk7CiAgICAgdm9pZCB1cGRhdGVJbmxp
bmVMYXlvdXRTdGF0ZVdpdGhMaW5lTGF5b3V0UmVzdWx0KGNvbnN0IExpbmVMYXlvdXRSZXN1bHQm
LCBjb25zdCBJbmxpbmVSZWN0JiBsaW5lTG9naWNhbFJlY3QsIGNvbnN0IEZsb2F0aW5nQ29udGV4
dCYpOwogICAgIHZvaWQgdXBkYXRlQm94R2VvbWV0cnlGb3JQbGFjZWRGbG9hdHMoY29uc3QgTGlu
ZUxheW91dFJlc3VsdDo6UGxhY2VkRmxvYXRMaXN0Jik7CiAgICAgdm9pZCByZXNldEJveEdlb21l
dHJpZXNGb3JEaXNjYXJkZWRDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgZGlzY2FyZGVk
UmFuZ2UsIGNvbnN0IExpbmVMYXlvdXRSZXN1bHQ6OlN1c3BlbmRlZEZsb2F0TGlzdCYgc3VzcGVu
ZGVkRmxvYXRzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRpbHMu
Y3BwCmluZGV4IGEyYTAyNTMwNWZjNy4uMjAyMjBjN2RlNTY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5n
VXRpbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5jcHAKQEAgLTU5MSwxNSArNTkxLDE1IEBAIHN0
ZDo6cGFpcjxJbmxpbmVMYXlvdXRVbml0LCBJbmxpbmVMYXlvdXRVbml0PiBJbmxpbmVGb3JtYXR0
aW5nVXRpbHM6OnRleHRFbXBoYXNpCiAgICAgcmV0dXJuIHsgaGFzQWJvdmVUZXh0RW1waGFzaXMg
PyBhbm5vdGF0aW9uU2l6ZSA6IDAuZiwgaGFzQWJvdmVUZXh0RW1waGFzaXMgPyAwLmYgOiBhbm5v
dGF0aW9uU2l6ZSB9OwogfQogCi1MaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeSBJbmxpbmVGb3Jt
YXR0aW5nVXRpbHM6OmxpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5KGNvbnN0IFJlbmRlclN0eWxl
JiByb290U3R5bGUsIHNpemVfdCBudW1iZXJPZkxpbmVzV2l0aElubGluZUNvbnRlbnQsIHN0ZDo6
b3B0aW9uYWw8c2l6ZV90PiBudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQsIGJvb2wgY3VycmVu
dExpbmVIYXNJbmxpbmVDb250ZW50KQorTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kgSW5saW5l
Rm9ybWF0dGluZ1V0aWxzOjpsaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeShjb25zdCBSZW5kZXJT
dHlsZSYgcm9vdFN0eWxlLCBzaXplX3QgbnVtYmVyT2ZDb250ZW50ZnVsTGluZXMsIHN0ZDo6b3B0
aW9uYWw8c2l6ZV90PiBudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQsIGJvb2wgY3VycmVudExp
bmVJc0NvbnRlbnRmdWwpCiB7CiAgICAgaWYgKG51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCkg
ewogICAgICAgICAvLyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyBzaG91bGQgbm90IGFwcGx5IGlu
c2lkZSBjbGFtcGluZyBjb250ZW50LgotICAgICAgICBpZiAoIWN1cnJlbnRMaW5lSGFzSW5saW5l
Q29udGVudCkgeworICAgICAgICBpZiAoIWN1cnJlbnRMaW5lSXNDb250ZW50ZnVsKSB7CiAgICAg
ICAgICAgICAvLyBDb250ZW50IHdpdGggbm8gaW5saW5lIHNob3VsZCBuZXZlciBldmVyIHJlY2Vp
dmUgZWxsaXBzaXMuCiAgICAgICAgICAgICByZXR1cm4gTGluZUVuZGluZ1RydW5jYXRpb25Qb2xp
Y3k6Ok5vVHJ1bmNhdGlvbjsKICAgICAgICAgfQotICAgICAgICByZXR1cm4gKm51bWJlck9mVmlz
aWJsZUxpbmVzQWxsb3dlZCA9PSBudW1iZXJPZkxpbmVzV2l0aElubGluZUNvbnRlbnQgPyBMaW5l
RW5kaW5nVHJ1bmNhdGlvblBvbGljeTo6V2hlbkNvbnRlbnRPdmVyZmxvd3NJbkJsb2NrRGlyZWN0
aW9uIDogTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3k6Ok5vVHJ1bmNhdGlvbjsKKyAgICAgICAg
cmV0dXJuICpudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQgPT0gbnVtYmVyT2ZDb250ZW50ZnVs
TGluZXMgPyBMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeTo6V2hlbkNvbnRlbnRPdmVyZmxvd3NJ
bkJsb2NrRGlyZWN0aW9uIDogTGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3k6Ok5vVHJ1bmNhdGlv
bjsKICAgICB9CiAKICAgICAvLyBUcnVuY2F0aW9uIGlzIGluIGVmZmVjdCB3aGVuIHRoZSBibG9j
ayBjb250YWluZXIgaGFzIG92ZXJmbG93IG90aGVyIHRoYW4gdmlzaWJsZS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZv
cm1hdHRpbmdVdGlscy5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmgKaW5kZXggZWZhMmVkYmZkNGNiLi5jMTlk
NWY4ZDU1NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5o
CkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBzdGQ6OnBhaXI8SW5saW5l
TGF5b3V0VW5pdCwgSW5saW5lTGF5b3V0VW5pdD4gdGV4dEVtcGhhc2lzRm9ySW5saW5lQm94KGNv
bnN0IEJveCYsIGNvbnN0IEVsZW1lbnRCb3gmIHJvb3RCb3gpOwogCi0gICAgc3RhdGljIExpbmVF
bmRpbmdUcnVuY2F0aW9uUG9saWN5IGxpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5KGNvbnN0IFJl
bmRlclN0eWxlJiByb290U3R5bGUsIHNpemVfdCBudW1iZXJPZkxpbmVzV2l0aElubGluZUNvbnRl
bnQsIHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQsIGJv
b2wgY3VycmVudExpbmVIYXNJbmxpbmVDb250ZW50KTsKKyAgICBzdGF0aWMgTGluZUVuZGluZ1Ry
dW5jYXRpb25Qb2xpY3kgbGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3koY29uc3QgUmVuZGVyU3R5
bGUmIHJvb3RTdHlsZSwgc2l6ZV90IG51bWJlck9mQ29udGVudGZ1bExpbmVzLCBzdGQ6Om9wdGlv
bmFsPHNpemVfdD4gbnVtYmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkLCBib29sIGN1cnJlbnRMaW5l
SXNDb250ZW50ZnVsKTsKIAogICAgIGJvb2wgc2hvdWxkRGlzY2FyZFJlbWFpbmluZ0NvbnRlbnRJ
bkJsb2NrRGlyZWN0aW9uKHNpemVfdCBudW1iZXJPZkxpbmVzV2l0aElubGluZUNvbnRlbnQpIGNv
bnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURp
c3BsYXlMaW5lQnVpbGRlci5jcHAKaW5kZXggMGQ5ODBmYTE4MGQ2Li4xYTA5ZjRiYjAyY2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlM
aW5lQnVpbGRlci5jcHAKQEAgLTM4NSw3ICszODUsMTEgQEAgc3RhdGljIGlubGluZSB2b2lkIG1v
dmVEaXNwbGF5Qm94VG9DbGFtcGVkTGluZShhdXRvJiBkaXNwbGF5TGluZXMsIGF1dG8gY2xhbXBl
ZEwKICAgICBkaXNwbGF5Qm94LnNldExlZnQoY2xhbXBlZExpbmUuZWxsaXBzaXMoKS0+dmlzdWFs
UmVjdC5tYXhYKCkgKyBob3Jpem9udGFsT2Zmc2V0ICsgbGVnYWN5TWF0Y2hpbmdMaW5rQm94T2Zm
c2V0KTsKICAgICAvLyBBc3N1bWUgYmFzZWxpbmUgYWxpZ25tZW50IGhlcmUuCiAgICAgZGlzcGxh
eUJveC5tb3ZlVmVydGljYWxseSgoY2xhbXBlZExpbmUudG9wKCkgKyBjbGFtcGVkTGluZS5iYXNl
bGluZSgpKSAtIChkaXNwbGF5TGluZXMubGFzdCgpLnRvcCgpICsgZGlzcGxheUxpbmVzLmxhc3Qo
KS5iYXNlbGluZSgpKSk7CisKKyAgICBhdXRvJiBvcmlnaW5hbExpbmUgPSBkaXNwbGF5TGluZXNb
ZGlzcGxheUJveC5saW5lSW5kZXgoKV07CisgICAgb3JpZ2luYWxMaW5lLnNldEJveENvdW50KG9y
aWdpbmFsTGluZS5ib3hDb3VudCgpIC0gMSk7CiAgICAgZGlzcGxheUJveC5tb3ZlVG9MaW5lKGNs
YW1wZWRMaW5lSW5kZXgpOworICAgIGNsYW1wZWRMaW5lLnNldEJveENvdW50KGNsYW1wZWRMaW5l
LmJveENvdW50KCkgKyAxKTsKIH0KIAogdm9pZCBJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXI6OmFk
ZExlZ2FjeUxpbmVDbGFtcFRyYWlsaW5nTGlua0JveElmQXBwbGljYWJsZShjb25zdCBJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dCYgaW5saW5lRm9ybWF0dGluZ0NvbnRleHQsIGNvbnN0IElubGluZUxh
eW91dFN0YXRlJiBpbmxpbmVMYXlvdXRTdGF0ZSwgSW5saW5lRGlzcGxheTo6Q29udGVudCYgZGlz
cGxheUNvbnRlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vaW5saW5lL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbklu
bGluZUNvbnRlbnRCdWlsZGVyLmNwcAppbmRleCBmMmMzNWMzNmMxYjIuLjFhZjE5MDMyYjhlNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlv
dXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVu
dEJ1aWxkZXIuY3BwCkBAIC0zMDgsNyArMzA4LDcgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRl
cjo6YWRqdXN0RGlzcGxheUxpbmVzKElubGluZUNvbnRlbnQmIGlubGluZUNvbnRlbnQsIHNpemUK
ICAgICAgICAgbGluZS5zZXRTY3JvbGxhYmxlT3ZlcmZsb3coc2Nyb2xsYWJsZU92ZXJmbG93UmVj
dCk7CiAgICAgICAgIGxpbmUuc2V0SW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3dSZWN0KTsKICAgICAg
ICAgbGluZS5zZXRGaXJzdEJveEluZGV4KGZpcnN0Qm94SW5kZXgpOwotICAgICAgICBsaW5lLnNl
dEJveENvdW50KGJveEluZGV4IC0gZmlyc3RCb3hJbmRleCk7CisgICAgICAgIEFTU0VSVChsaW5l
LmJveENvdW50KCkgPT0gYm94SW5kZXggLSBmaXJzdEJveEluZGV4KTsKIAogICAgICAgICBpZiAo
bGluZUluZGV4KSB7CiAgICAgICAgICAgICBhdXRvJiBsYXN0SW5rT3ZlcmZsb3cgPSBsaW5lc1ts
aW5lSW5kZXggLSAxXS5pbmtPdmVyZmxvdygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3Jh
dGlvbkxpbmVMYXlvdXQuY3BwCmluZGV4IGMwOWJkNTE3NjYzMS4uODcwYmZhOTVjZTg5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dElu
dGVncmF0aW9uTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVn
cmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCkBAIC04MTIsNyAr
ODEyLDExIEBAIHNpemVfdCBMaW5lTGF5b3V0OjpsaW5lQ291bnQoKSBjb25zdAogICAgIGlmICgh
bV9pbmxpbmVDb250ZW50LT5oYXNDb250ZW50KCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAg
cmV0dXJuIG1faW5saW5lQ29udGVudC0+ZGlzcGxheUNvbnRlbnQoKS5saW5lcy5zaXplKCk7Cisg
ICAgYXV0byYgbGluZXMgPSBtX2lubGluZUNvbnRlbnQtPmRpc3BsYXlDb250ZW50KCkubGluZXM7
CisgICAgaWYgKGxpbmVzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgLy8gSW4g
c29tZSBjYXNlcyAodHJhaWxpbmcgb3V0LW9mLWZsb3csIG5vbi1jb250ZW50ZnVsIGNvbnRlbnQg
YWZ0ZXIgPGJyPikgd2UgcHJvZHVjZSBsYXN0IGxpbmUgd2l0aCBubyBjb250ZW50IGJ1dCByb290
IGlubGluZSBib3ggb25seS4KKyAgICByZXR1cm4gbGluZXMubGFzdCgpLmJveENvdW50KCkgPiAx
ID8gbGluZXMuc2l6ZSgpIDogbGluZXMuc2l6ZSgpIC0gMTsKIH0KIAogYm9vbCBMaW5lTGF5b3V0
OjpoYXNWaXN1YWxPdmVyZmxvdygpIGNvbnN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L292ZXJmbG93L2xpbmUtY2xhbXAtd2l0aC10cmFpbGluZy1ub24tY29udGVudGZ1bC1ib3hlcy1l
eHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9vdmVyZmxvdy9saW5lLWNsYW1wLXdpdGgt
dHJhaWxpbmctbm9uLWNvbnRlbnRmdWwtYm94ZXMtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjMyOWE4MWYxMzI1MwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cvbGluZS1jbGFtcC13aXRoLXRyYWlsaW5nLW5v
bi1jb250ZW50ZnVsLWJveGVzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPHN0eWxl
PgorLmNsYW1wIHsKKyAgZm9udC1mYW1pbHk6IE1vbm9zcGFjZTsKKyAgZm9udC1zaXplOiAxMnB4
OworICBvdmVyZmxvdzogaGlkZGVuOworICBtYXJnaW4tYm90dG9tOiAxMHB4OworfQorPC9zdHls
ZT4KKzxkaXYgY2xhc3M9ImNsYW1wIj4KKyAgPGRpdj5maXJzdCBsaW5lIGZvbGxvd2VkIGJ5IG91
dC1vZi1mbG93IGNvbnRlbnQuIFBBU1MgaWYgZ3JlZW4gbGluZSBiZWxvdyBzaG93cy48L2Rpdj4K
KyAgPGRpdiBzdHlsZT0iY29sb3I6IGdyZWVuIj5QQVNTIGlmIHRoaXMgaXMgdmlzaWJsZSBhbmQg
dHJhaWxpbmcgZWxsaXBzaXMgc2hvd3MmI3gyMDI2OzwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xh
c3M9ImNsYW1wIj4KKyAgPGRpdj5maXJzdCBsaW5lIGZvbGxvd2VkIGJ5IG5vbi1jb250ZW50ZnVs
IGlubGluZSBjb250ZW50LiBQQVNTIGlmIGdyZWVuIGxpbmUgYmVsb3cgc2hvd3MuPC9kaXY+Cisg
IDxkaXYgc3R5bGU9ImNvbG9yOiBncmVlbiI+UEFTUyBpZiB0aGlzIGlzIHZpc2libGUgYW5kIHRy
YWlsaW5nIGVsbGlwc2lzIHNob3dzJiN4MjAyNjs8L2Rpdj4KKzwvZGl2PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9vdmVyZmxvdy9saW5lLWNsYW1wLXdpdGgtdHJhaWxpbmctbm9uLWNv
bnRlbnRmdWwtYm94ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cvbGluZS1jbGFt
cC13aXRoLXRyYWlsaW5nLW5vbi1jb250ZW50ZnVsLWJveGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44NGI0NWYzNjEwOTEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L292ZXJmbG93L2xpbmUtY2xhbXAtd2l0aC10cmFpbGluZy1ub24t
Y29udGVudGZ1bC1ib3hlcy5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzxzdHlsZT4KKy5jbGFtcCB7
CisgIGRpc3BsYXk6IC13ZWJraXQtYm94OworICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2Fs
OworICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7CisgIGZvbnQtZmFtaWx5OiBNb25vc3BhY2U7Cisg
IGZvbnQtc2l6ZTogMTJweDsKKyAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgbWFyZ2luLWJvdHRvbTog
MTBweDsKK30KKzwvc3R5bGU+Cis8ZGl2IGNsYXNzPSJjbGFtcCI+CisgIDxkaXY+Zmlyc3QgbGlu
ZSBmb2xsb3dlZCBieSBvdXQtb2YtZmxvdyBjb250ZW50LiBQQVNTIGlmIGdyZWVuIGxpbmUgYmVs
b3cgc2hvd3MuPGJyPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZSI+PC9kaXY+PC9kaXY+
CisgIDxkaXYgc3R5bGU9ImNvbG9yOiBncmVlbiI+UEFTUyBpZiB0aGlzIGlzIHZpc2libGUgYW5k
IHRyYWlsaW5nIGVsbGlwc2lzIHNob3dzPGJyPnRoaXJkIGxpbmU8L2Rpdj4KKzwvZGl2PgorCis8
ZGl2IGNsYXNzPSJjbGFtcCI+CisgIDxkaXY+Zmlyc3QgbGluZSBmb2xsb3dlZCBieSBub24tY29u
dGVudGZ1bCBpbmxpbmUgY29udGVudC4gUEFTUyBpZiBncmVlbiBsaW5lIGJlbG93IHNob3dzLjxi
cj48c3Bhbj48L3NwYW4+PC9kaXY+CisgIDxkaXYgc3R5bGU9ImNvbG9yOiBncmVlbiI+UEFTUyBp
ZiB0aGlzIGlzIHZpc2libGUgYW5kIHRyYWlsaW5nIGVsbGlwc2lzIHNob3dzPGJyPnRoaXJkIGxp
bmU8L2Rpdj4KKzwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473470</attachid>
            <date>2024-12-05 10:15:47 -0800</date>
            <delta_ts>2024-12-05 12:02:14 -0800</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-284104-20241205101547.patch</filename>
            <type>text/plain</type>
            <size>20180</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAxMDIyYjZiY2M4ZTNlYzk4NjdiNGRlMWU2YjM5MDNhYjY1ZmY0MTM4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFRodSwgNSBEZWMgMjAyNCAwNTozMzoyMiAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFtsaW5lLWNs
YW1wXSBOdW1iZXIgb2YgY29udGVudGZ1bCBsaW5lcyBkb2VzIG5vdCBhbHdheXMgbWF0Y2gKIHRo
ZSBudW1iZXIgb2YgbGluZXMgd2l0aCBpbmxpbmUgY29udGVudAogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI4NDEwNAoKUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8u
CgpMZXQncyB0cmFjayB0aGUgbnVtYmVyIG9mIF9jb250ZW50ZnVsXyBsaW5lcyBmb3IgbGluZSBj
bGFtcGluZy4KCkluIHNvbWUgY2FzZXMgKHRyYWlsaW5nIG91dC1vZi1mbG93IGJveGVzIG9yIG5v
bi1jb250ZW50ZnVsIGlubGluZSBjb250ZW50IGFmdGVyIHRoZSBmaW5hbCA8YnI+KSB3ZSBlbmQg
dXAgY3JlYXRpbmcKYSBkaXNwbGF5IGxpbmUgd2l0aCBubyBkaXNwbGF5IGJveCBvdGhlciB0aGFu
IHRoZSByb290IGlubGluZSBkaXNwbGF5IGJveC4gU3VjaCAiZW1wdHkiIGxpbmVzIHNob3VsZCBu
b3QgYmUKdGFrZW4gaW50byBhY2NvdW50IHdoZW4gY291bnRpbmcgdGhlIGxpbmVzIGZvciBsaW5l
LWNsYW1wLgoKZXhhbXBsZXM6CjxkaXY+dGhpcyBsaW5lIGlzIGNvbnRlbnRmdWw8YnI+PGRpdiBz
dHlsZT0icG9zaXRpb246IGFic29sdXRlIj48L2Rpdj4gPC0gb3V0IG9mIGZsb3cgYm94IGFmdGVy
IGxhc3QgY29udGVudGZ1bCBsaW5lCjxkaXY+dGhpcyBsaW5lIGlzIGNvbnRlbmZ1bDxicj48c3Bh
bj48L3NwYW4+PC9kaXY+IDwtIG5vbi1jb250ZW50ZnVsIHRyYWlsaW5nIGlubGluZSBjb250ZW50
CgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmxpbmVMYXlvdXQpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KToKKFdlYkNvcmU6
OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9y
TGluZUZyb21DYWNoZWRDb250ZW50KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9yRW1wdHlJbmxpbmVDb250ZW50KToKKiBT
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5oOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5jcHA6CihXZWJDb3JlOjpMYXlvdXQ6Oklu
bGluZUZvcm1hdHRpbmdVdGlsczo6bGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kpOgoqIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRp
bmdVdGlscy5oOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmNwcDoKKFdlYkNvcmU6OkxheW91
dDo6bW92ZURpc3BsYXlCb3hUb0NsYW1wZWRMaW5lKToKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIu
Y3BwOgooV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWlsZGVyOjph
ZGp1c3REaXNwbGF5TGluZXMgY29uc3QpOgotLS0KIC4uLi9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwICAgICAgICB8IDI3ICsrKysrKysrKysrLS0tLS0tLS0KIC4uLi9pbmxpbmUv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaCAgICAgICAgICB8ICAyICstCiAuLi4vaW5saW5lL0lu
bGluZUZvcm1hdHRpbmdVdGlscy5jcHAgICAgICAgICAgfCAgNiArKy0tLQogLi4uL2lubGluZS9J
bmxpbmVGb3JtYXR0aW5nVXRpbHMuaCAgICAgICAgICAgIHwgIDIgKy0KIC4uLi9kaXNwbGF5L0lu
bGluZURpc3BsYXlMaW5lQnVpbGRlci5jcHAgICAgICB8ICA0ICsrKwogLi4uL0xheW91dEludGVn
cmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwIHwgIDIgKy0KIC4uLi9pbmxpbmUvTGF5b3V0
SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCAgICB8ICA2ICsrKystCiAuLi50aW9uLWFuZC1jc3Mt
bGluZS1jbGFtcC1jcmFzaC1leHBlY3RlZC50eHQgfCAgMiArLQogLi4ucmFpbGluZy1ub24tY29u
dGVudGZ1bC1ib3hlcy1leHBlY3RlZC5odG1sIHwgMTcgKysrKysrKysrKysrCiAuLi5tcC13aXRo
LXRyYWlsaW5nLW5vbi1jb250ZW50ZnVsLWJveGVzLmh0bWwgfCAyMCArKysrKysrKysrKysrKwog
MTAgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9vdmVyZmxvdy9saW5lLWNsYW1wLXdpdGgt
dHJhaWxpbmctbm9uLWNvbnRlbnRmdWwtYm94ZXMtZXhwZWN0ZWQuaHRtbAogY3JlYXRlIG1vZGUg
MTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cvbGluZS1jbGFtcC13aXRoLXRyYWlsaW5n
LW5vbi1jb250ZW50ZnVsLWJveGVzLmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggY2E0NDMwZjEzOTZmLi4yMTE3ZWEzMDRlZGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAK
QEAgLTI5NCw3ICsyOTQsNyBAQCBJbmxpbmVMYXlvdXRSZXN1bHQgSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQ6OmxpbmVMYXlvdXQoQWJzdHJhY3RMaW5lQnVpbGRlciYgbGluZQogICAgIGF1dG8gcHJl
dmlvdXNMaW5lRW5kID0gc3RkOjpvcHRpb25hbDxJbmxpbmVJdGVtUG9zaXRpb24+IHsgfTsKICAg
ICBhdXRvIGxlYWRpbmdJbmxpbmVJdGVtUG9zaXRpb24gPSBuZWVkc0xheW91dFJhbmdlLnN0YXJ0
OwogICAgIGF1dG8gcGFydGlhbExheW91dFN0YXJ0SW5kZXggPSBwcmV2aW91c0xpbmUgPyBzdGQ6
Om1ha2Vfb3B0aW9uYWwocHJldmlvdXNMaW5lLT5saW5lSW5kZXgpIDogc3RkOjpudWxsb3B0Owot
ICAgIHNpemVfdCBudW1iZXJPZkxpbmVzV2l0aElubGluZUNvbnRlbnQgPSAwOworICAgIHNpemVf
dCBudW1iZXJPZkNvbnRlbnRmdWxMaW5lcyA9IHBhcnRpYWxMYXlvdXRTdGFydEluZGV4ID8gKnBh
cnRpYWxMYXlvdXRTdGFydEluZGV4ICsgMSA6IDBsdTsKICAgICB3aGlsZSAodHJ1ZSkgewogCiAg
ICAgICAgIGF1dG8gbGluZUluaXRpYWxSZWN0ID0gSW5saW5lUmVjdCB7IGxpbmVMb2dpY2FsVG9w
LCBjb25zdHJhaW50cy5ob3Jpem9udGFsKCkubG9naWNhbExlZnQsIGNvbnN0cmFpbnRzLmhvcml6
b250YWwoKS5sb2dpY2FsV2lkdGgsIGZvcm1hdHRpbmdVdGlscygpLmluaXRpYWxMaW5lSGVpZ2h0
KCFwcmV2aW91c0xpbmUuaGFzX3ZhbHVlKCkpIH07CkBAIC0zMDMsNyArMzAzLDcgQEAgSW5saW5l
TGF5b3V0UmVzdWx0IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0KEFic3RyYWN0
TGluZUJ1aWxkZXImIGxpbmUKIAogICAgICAgICBhdXRvIGxpbmVMYXlvdXRSZXN1bHQgPSBsaW5l
QnVpbGRlci5sYXlvdXRJbmxpbmVDb250ZW50KGxpbmVJbnB1dCwgcHJldmlvdXNMaW5lKTsKICAg
ICAgICAgYXV0byBsaW5lQm94ID0gTGluZUJveEJ1aWxkZXIgeyAqdGhpcywgbGluZUxheW91dFJl
c3VsdCB9LmJ1aWxkKGxpbmVJbmRleCk7Ci0gICAgICAgIGF1dG8gbGluZUxvZ2ljYWxSZWN0ID0g
Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KGxpbmVCb3gsIGxpbmVMYXlvdXRS
ZXN1bHQsIGNvbnN0cmFpbnRzLCBsYXlvdXRSZXN1bHQuZGlzcGxheUNvbnRlbnQsIG51bWJlck9m
TGluZXNXaXRoSW5saW5lQ29udGVudCk7CisgICAgICAgIGF1dG8gbGluZUxvZ2ljYWxSZWN0ID0g
Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KGxpbmVCb3gsIGxpbmVMYXlvdXRS
ZXN1bHQsIGNvbnN0cmFpbnRzLCBsYXlvdXRSZXN1bHQuZGlzcGxheUNvbnRlbnQsIG51bWJlck9m
Q29udGVudGZ1bExpbmVzKTsKICAgICAgICAgdXBkYXRlQm94R2VvbWV0cnlGb3JQbGFjZWRGbG9h
dHMobGluZUxheW91dFJlc3VsdC5mbG9hdENvbnRlbnQucGxhY2VkRmxvYXRzKTsKICAgICAgICAg
dXBkYXRlSW5saW5lTGF5b3V0U3RhdGVXaXRoTGluZUxheW91dFJlc3VsdChsaW5lTGF5b3V0UmVz
dWx0LCBsaW5lTG9naWNhbFJlY3QsIGZsb2F0aW5nQ29udGV4dCk7CiAKQEAgLTMyMCwxNCArMzIw
LDEzIEBAIElubGluZUxheW91dFJlc3VsdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxh
eW91dChBYnN0cmFjdExpbmVCdWlsZGVyJiBsaW5lCiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQogCi0gICAgICAgIGF1dG8gbGluZUhhc0lubGluZUNvbnRlbnQgPSAhbGluZUxheW91dFJl
c3VsdC5pbmxpbmVDb250ZW50LmlzRW1wdHkoKTsKLSAgICAgICAgbnVtYmVyT2ZMaW5lc1dpdGhJ
bmxpbmVDb250ZW50ICs9IGxpbmVIYXNJbmxpbmVDb250ZW50ID8gMSA6IDA7Ci0gICAgICAgIGlm
IChmb3JtYXR0aW5nVXRpbHMoKS5zaG91bGREaXNjYXJkUmVtYWluaW5nQ29udGVudEluQmxvY2tE
aXJlY3Rpb24ocGFydGlhbExheW91dFN0YXJ0SW5kZXgudmFsdWVfb3IoMCkgKyBudW1iZXJPZkxp
bmVzV2l0aElubGluZUNvbnRlbnQpKSB7CisgICAgICAgIGlmIChmb3JtYXR0aW5nVXRpbHMoKS5z
aG91bGREaXNjYXJkUmVtYWluaW5nQ29udGVudEluQmxvY2tEaXJlY3Rpb24obnVtYmVyT2ZDb250
ZW50ZnVsTGluZXMpKSB7CiAgICAgICAgICAgICByZXNldEJveEdlb21ldHJpZXNGb3JEaXNjYXJk
ZWRDb250ZW50KHsgbGVhZGluZ0lubGluZUl0ZW1Qb3NpdGlvbiwgbmVlZHNMYXlvdXRSYW5nZS5l
bmQgfSwgbGluZUxheW91dFJlc3VsdC5mbG9hdENvbnRlbnQuc3VzcGVuZGVkRmxvYXRzKTsKICAg
ICAgICAgICAgIGxheW91dFJlc3VsdC5yYW5nZSA9ICFpc1BhcnRpYWxMYXlvdXQgPyBJbmxpbmVM
YXlvdXRSZXN1bHQ6OlJhbmdlOjpGdWxsIDogSW5saW5lTGF5b3V0UmVzdWx0OjpSYW5nZTo6RnVs
bEZyb21EYW1hZ2U7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCisgICAgICAgIGF1
dG8gbGluZUhhc0lubGluZUNvbnRlbnQgPSAhbGluZUxheW91dFJlc3VsdC5pbmxpbmVDb250ZW50
LmlzRW1wdHkoKTsKICAgICAgICAgYXV0byBoYXNFdmVyU2VlbklubGluZUNvbnRlbnQgPSBsaW5l
SGFzSW5saW5lQ29udGVudCB8fCAocHJldmlvdXNMaW5lICYmIHByZXZpb3VzTGluZS0+aGFzSW5s
aW5lQ29udGVudCk7CiAgICAgICAgIHByZXZpb3VzTGluZSA9IFByZXZpb3VzTGluZSB7IGxpbmVJ
bmRleCwgbGluZUxheW91dFJlc3VsdC5jb250ZW50R2VvbWV0cnkudHJhaWxpbmdPdmVyZmxvd2lu
Z0NvbnRlbnRXaWR0aCwgbGluZUhhc0lubGluZUNvbnRlbnQgJiYgbGluZUxheW91dFJlc3VsdC5p
bmxpbmVDb250ZW50Lmxhc3QoKS5pc0xpbmVCcmVhaygpLCBoYXNFdmVyU2VlbklubGluZUNvbnRl
bnQsIGxpbmVMYXlvdXRSZXN1bHQuZGlyZWN0aW9uYWxpdHkuaW5saW5lQmFzZURpcmVjdGlvbiwg
V1RGTW92ZShsaW5lTGF5b3V0UmVzdWx0LmZsb2F0Q29udGVudC5zdXNwZW5kZWRGbG9hdHMpIH07
CiAgICAgICAgIHByZXZpb3VzTGluZUVuZCA9IGxpbmVDb250ZW50RW5kOwpAQCAtMzk4LDE4ICsz
OTcsMjIgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6dXBkYXRlQm94R2VvbWV0cnlG
b3JQbGFjZWRGbG9hdHMoY29uc3QgTGluZUxheW91dFIKICAgICB9CiB9CiAKLUlubGluZVJlY3Qg
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9ySW5saW5lQ29u
dGVudChjb25zdCBMaW5lQm94JiBsaW5lQm94LCBjb25zdCBMaW5lTGF5b3V0UmVzdWx0JiBsaW5l
TGF5b3V0UmVzdWx0LCBjb25zdCBDb25zdHJhaW50c0ZvcklubGluZUNvbnRlbnQmIGNvbnN0cmFp
bnRzLCBJbmxpbmVEaXNwbGF5OjpDb250ZW50JiBkaXNwbGF5Q29udGVudCwgc2l6ZV90IG51bWJl
ck9mUHJldmlvdXNMaW5lc1dpdGhJbmxpbmVDb250ZW50KQorSW5saW5lUmVjdCBJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KGNvbnN0
IExpbmVCb3gmIGxpbmVCb3gsIGNvbnN0IExpbmVMYXlvdXRSZXN1bHQmIGxpbmVMYXlvdXRSZXN1
bHQsIGNvbnN0IENvbnN0cmFpbnRzRm9ySW5saW5lQ29udGVudCYgY29uc3RyYWludHMsIElubGlu
ZURpc3BsYXk6OkNvbnRlbnQmIGRpc3BsYXlDb250ZW50LCBzaXplX3QmIG51bWJlck9mUHJldmlv
dXNMQ29udGVudGZ1bExpbmVzKQogewogICAgIGF1dG8gbGluZUNsYW1wID0gbGF5b3V0U3RhdGUo
KS5wYXJlbnRCbG9ja0xheW91dFN0YXRlKCkubGluZUNsYW1wKCk7CiAgICAgYXV0byBpc0xlZ2Fj
eUxpbmVDbGFtcCA9IGxpbmVDbGFtcCAmJiBsaW5lQ2xhbXAtPmlzTGVnYWN5OwogICAgIGF1dG8g
bnVtYmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkID0gbGluZUNsYW1wID8gc3RkOjptYWtlX29wdGlv
bmFsKGxpbmVDbGFtcC0+bWF4aW11bUxpbmVzKSA6IHN0ZDo6bnVsbG9wdDsKIAotICAgIGF1dG8g
bnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50ID0gbnVtYmVyT2ZQcmV2aW91c0xpbmVzV2l0
aElubGluZUNvbnRlbnQgKyAoIWxpbmVMYXlvdXRSZXN1bHQuaW5saW5lQ29udGVudC5pc0VtcHR5
KCkgPyAxIDogMCk7Ci0gICAgYXV0byBsaW5lSXNGdWxseVRydW5jYXRlZEluQmxvY2tEaXJlY3Rp
b24gPSBudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQgJiYgbnVtYmVyT2ZMaW5lc1dpdGhJbmxp
bmVDb250ZW50ID4gKm51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZDsKKyAgICBhdXRvIG51bWJl
ck9mTGluZXNXaXRoSW5saW5lQ29udGVudCA9IG51bWJlck9mUHJldmlvdXNMQ29udGVudGZ1bExp
bmVzICsgKCFsaW5lTGF5b3V0UmVzdWx0LmlubGluZUNvbnRlbnQuaXNFbXB0eSgpID8gMSA6IDAp
OworICAgIGF1dG8gbGluZUlzRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uID0gbnVtYmVy
T2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50ID4gbnVtYmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkLnZh
bHVlX29yKG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29udGVudCk7CiAgICAgYXV0byBkaXNwbGF5
TGluZSA9IElubGluZURpc3BsYXlMaW5lQnVpbGRlciB7ICp0aGlzLCBjb25zdHJhaW50cyB9LmJ1
aWxkKGxpbmVMYXlvdXRSZXN1bHQsIGxpbmVCb3gsIGxpbmVJc0Z1bGx5VHJ1bmNhdGVkSW5CbG9j
a0RpcmVjdGlvbik7CiAgICAgYXV0byBib3hlcyA9IElubGluZURpc3BsYXlDb250ZW50QnVpbGRl
ciB7ICp0aGlzLCBjb25zdHJhaW50cywgbGluZUJveCwgZGlzcGxheUxpbmUgfS5idWlsZChsaW5l
TGF5b3V0UmVzdWx0KTsKKyAgICBkaXNwbGF5TGluZS5zZXRCb3hDb3VudChib3hlcy5zaXplKCkp
OwogCi0gICAgYXV0byB0cnVuY2F0aW9uUG9saWN5ID0gSW5saW5lRm9ybWF0dGluZ1V0aWxzOjps
aW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeShyb290KCkuc3R5bGUoKSwgbnVtYmVyT2ZMaW5lc1dp
dGhJbmxpbmVDb250ZW50LCBudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQsICFsaW5lTGF5b3V0
UmVzdWx0LmlubGluZUNvbnRlbnQuaXNFbXB0eSgpKTsKKyAgICAvLyBOb24tY29udGVudGZ1bCBs
aW5lcyBhcmUgcHJvZHVjZWQgYnkgY2VydGFpbiB0cmFpbGluZyBjb250ZW50IGxpa2UgPGRpdj5j
b250ZW50ZnVsIGxpbmU8YnI+PHNwYW4+PC9zcGFuPjwvZGl2PiB3aGVyZSA8c3Bhbj48L3NwYW4+
IGNyZWF0ZXMgYSBkaXNwbGF5IGxpbmUgd2l0aCBub3RoaW5nIGJ1dCB0aGUgcm9vdCBpbmxpbmUg
Ym94LgorICAgIGF1dG8gaXNDdXJyZW50TGluZUNvbnRlbnRmdWwgPSBib3hlcy5zaXplKCkgPiAx
OworICAgIG51bWJlck9mUHJldmlvdXNMQ29udGVudGZ1bExpbmVzICs9IChpc0N1cnJlbnRMaW5l
Q29udGVudGZ1bCA/IDEgOiAwKTsKKyAgICBhdXRvIHRydW5jYXRpb25Qb2xpY3kgPSBJbmxpbmVG
b3JtYXR0aW5nVXRpbHM6OmxpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5KHJvb3QoKS5zdHlsZSgp
LCBudW1iZXJPZlByZXZpb3VzTENvbnRlbnRmdWxMaW5lcywgbnVtYmVyT2ZWaXNpYmxlTGluZXNB
bGxvd2VkLCBpc0N1cnJlbnRMaW5lQ29udGVudGZ1bCk7CiAgICAgSW5saW5lRGlzcGxheUxpbmVC
dWlsZGVyOjphcHBseUVsbGlwc2lzSWZOZWVkZWQodHJ1bmNhdGlvblBvbGljeSwgZGlzcGxheUxp
bmUsIGJveGVzLCBsaW5lTGF5b3V0UmVzdWx0LmlzRmlyc3RMYXN0LmlzTGFzdExpbmVXaXRoSW5s
aW5lQ29udGVudCwgaXNMZWdhY3lMaW5lQ2xhbXApOwogICAgIGF1dG8gbGluZUhhc0xlZ2FjeUxp
bmVDbGFtcCA9IGlzTGVnYWN5TGluZUNsYW1wICYmIGRpc3BsYXlMaW5lLmhhc0VsbGlwc2lzKCkg
JiYgdHJ1bmNhdGlvblBvbGljeSA9PSBMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeTo6V2hlbkNv
bnRlbnRPdmVyZmxvd3NJbkJsb2NrRGlyZWN0aW9uOwogICAgIGlmIChsaW5lSGFzTGVnYWN5TGlu
ZUNsYW1wKQpAQCAtNDgyLDcgKzQ4NSw4IEBAIGJvb2wgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6
OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9yTGluZUZyb21DYWNoZWRDb250ZW50KGNvbnN0CiAgICAg
bGluZUNvbnRlbnQubGluZUdlb21ldHJ5LmxvZ2ljYWxXaWR0aCA9IGNvbnN0cmFpbnRzLmhvcml6
b250YWwoKS5sb2dpY2FsV2lkdGg7CiAgICAgbGluZUNvbnRlbnQuY29udGVudEdlb21ldHJ5Lmxv
Z2ljYWxMZWZ0ID0gSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpob3Jpem9udGFsQWxpZ25tZW50T2Zm
c2V0KHJvb3QoKS5zdHlsZSgpLCBsaW5lQ29udGVudC5jb250ZW50R2VvbWV0cnkubG9naWNhbFdp
ZHRoLCBsaW5lQ29udGVudC5saW5lR2VvbWV0cnkubG9naWNhbFdpZHRoLCBsaW5lQ29udGVudC5o
YW5naW5nQ29udGVudC5sb2dpY2FsV2lkdGgsIGxpbmVDb250ZW50LmlubGluZUNvbnRlbnQsIHRy
dWUpOwogICAgIGF1dG8gbGluZUJveCA9IExpbmVCb3hCdWlsZGVyIHsgKnRoaXMsIGxpbmVDb250
ZW50IH0uYnVpbGQoeyB9KTsKLSAgICBjcmVhdGVEaXNwbGF5Q29udGVudEZvcklubGluZUNvbnRl
bnQobGluZUJveCwgbGluZUNvbnRlbnQsIGNvbnN0cmFpbnRzLCBsYXlvdXRSZXN1bHQuZGlzcGxh
eUNvbnRlbnQpOworICAgIHNpemVfdCBudW1iZXJPZkNvbnRlbnRmdWxMaW5lcyA9IDA7CisgICAg
Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KGxpbmVCb3gsIGxpbmVDb250ZW50
LCBjb25zdHJhaW50cywgbGF5b3V0UmVzdWx0LmRpc3BsYXlDb250ZW50LCBudW1iZXJPZkNvbnRl
bnRmdWxMaW5lcyk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTQ5MSw3ICs0OTUsOCBAQCB2
b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpjcmVhdGVEaXNwbGF5Q29udGVudEZvckVtcHR5
SW5saW5lQ29udGVudChjb25zdCBDbwogICAgIGF1dG8gZW1wdHlMaW5lQnJlYWtpbmdSZXN1bHQg
PSAgTGluZUxheW91dFJlc3VsdCB7IH07CiAgICAgZW1wdHlMaW5lQnJlYWtpbmdSZXN1bHQubGlu
ZUdlb21ldHJ5ID0geyB7IGNvbnN0cmFpbnRzLmhvcml6b250YWwoKS5sb2dpY2FsTGVmdCwgY29u
c3RyYWludHMubG9naWNhbFRvcCgpIH0sIHsgY29uc3RyYWludHMuaG9yaXpvbnRhbCgpLmxvZ2lj
YWxXaWR0aCB9IH07CiAgICAgYXV0byBsaW5lQm94ID0gTGluZUJveEJ1aWxkZXIgeyAqdGhpcywg
ZW1wdHlMaW5lQnJlYWtpbmdSZXN1bHQgfS5idWlsZCh7IH0pOwotICAgIGNyZWF0ZURpc3BsYXlD
b250ZW50Rm9ySW5saW5lQ29udGVudChsaW5lQm94LCBlbXB0eUxpbmVCcmVha2luZ1Jlc3VsdCwg
Y29uc3RyYWludHMsIGxheW91dFJlc3VsdC5kaXNwbGF5Q29udGVudCk7CisgICAgc2l6ZV90IG51
bWJlck9mQ29udGVudGZ1bExpbmVzID0gMDsKKyAgICBjcmVhdGVEaXNwbGF5Q29udGVudEZvcklu
bGluZUNvbnRlbnQobGluZUJveCwgZW1wdHlMaW5lQnJlYWtpbmdSZXN1bHQsIGNvbnN0cmFpbnRz
LCBsYXlvdXRSZXN1bHQuZGlzcGxheUNvbnRlbnQsIG51bWJlck9mQ29udGVudGZ1bExpbmVzKTsK
IH0KIAogdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6aW5pdGlhbGl6ZUlubGluZUxheW91
dFN0YXRlKGNvbnN0IExheW91dFN0YXRlJiBnbG9iYWxMYXlvdXRTdGF0ZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IGZiOWYxMzMyYjAwYS4u
ZTM1MDBiNDk5ZDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdD
b250ZXh0LmgKQEAgLTg1LDcgKzg1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGxheW91dEZsb2F0
Q29udGVudE9ubHkoY29uc3QgQ29uc3RyYWludHNGb3JJbmxpbmVDb250ZW50Jik7CiAKICAgICB2
b2lkIGNvbGxlY3RDb250ZW50SWZOZWVkZWQoKTsKLSAgICBJbmxpbmVSZWN0IGNyZWF0ZURpc3Bs
YXlDb250ZW50Rm9ySW5saW5lQ29udGVudChjb25zdCBMaW5lQm94JiwgY29uc3QgTGluZUxheW91
dFJlc3VsdCYsIGNvbnN0IENvbnN0cmFpbnRzRm9ySW5saW5lQ29udGVudCYsIElubGluZURpc3Bs
YXk6OkNvbnRlbnQmLCBzaXplX3QgbnVtYmVyT2ZQcmV2aW91c0xpbmVzV2l0aElubGluZUNvbnRl
bnQgPSAwKTsKKyAgICBJbmxpbmVSZWN0IGNyZWF0ZURpc3BsYXlDb250ZW50Rm9ySW5saW5lQ29u
dGVudChjb25zdCBMaW5lQm94JiwgY29uc3QgTGluZUxheW91dFJlc3VsdCYsIGNvbnN0IENvbnN0
cmFpbnRzRm9ySW5saW5lQ29udGVudCYsIElubGluZURpc3BsYXk6OkNvbnRlbnQmLCBzaXplX3Qm
IG51bWJlck9mUHJldmlvdXNMQ29udGVudGZ1bExpbmVzKTsKICAgICB2b2lkIHVwZGF0ZUlubGlu
ZUxheW91dFN0YXRlV2l0aExpbmVMYXlvdXRSZXN1bHQoY29uc3QgTGluZUxheW91dFJlc3VsdCYs
IGNvbnN0IElubGluZVJlY3QmIGxpbmVMb2dpY2FsUmVjdCwgY29uc3QgRmxvYXRpbmdDb250ZXh0
Jik7CiAgICAgdm9pZCB1cGRhdGVCb3hHZW9tZXRyeUZvclBsYWNlZEZsb2F0cyhjb25zdCBMaW5l
TGF5b3V0UmVzdWx0OjpQbGFjZWRGbG9hdExpc3QmKTsKICAgICB2b2lkIHJlc2V0Qm94R2VvbWV0
cmllc0ZvckRpc2NhcmRlZENvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBkaXNjYXJkZWRS
YW5nZSwgY29uc3QgTGluZUxheW91dFJlc3VsdDo6U3VzcGVuZGVkRmxvYXRMaXN0JiBzdXNwZW5k
ZWRGbG9hdHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5j
cHAKaW5kZXggYTJhMDI1MzA1ZmM3Li4yMDIyMGM3ZGU1NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdV
dGlscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmNwcApAQCAtNTkxLDE1ICs1OTEsMTUgQEAgc3Rk
OjpwYWlyPElubGluZUxheW91dFVuaXQsIElubGluZUxheW91dFVuaXQ+IElubGluZUZvcm1hdHRp
bmdVdGlsczo6dGV4dEVtcGhhc2kKICAgICByZXR1cm4geyBoYXNBYm92ZVRleHRFbXBoYXNpcyA/
IGFubm90YXRpb25TaXplIDogMC5mLCBoYXNBYm92ZVRleHRFbXBoYXNpcyA/IDAuZiA6IGFubm90
YXRpb25TaXplIH07CiB9CiAKLUxpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5IElubGluZUZvcm1h
dHRpbmdVdGlsczo6bGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3koY29uc3QgUmVuZGVyU3R5bGUm
IHJvb3RTdHlsZSwgc2l6ZV90IG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29udGVudCwgc3RkOjpv
cHRpb25hbDxzaXplX3Q+IG51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCwgYm9vbCBjdXJyZW50
TGluZUhhc0lubGluZUNvbnRlbnQpCitMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeSBJbmxpbmVG
b3JtYXR0aW5nVXRpbHM6OmxpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5KGNvbnN0IFJlbmRlclN0
eWxlJiByb290U3R5bGUsIHNpemVfdCBudW1iZXJPZkNvbnRlbnRmdWxMaW5lcywgc3RkOjpvcHRp
b25hbDxzaXplX3Q+IG51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCwgYm9vbCBjdXJyZW50TGlu
ZUlzQ29udGVudGZ1bCkKIHsKICAgICBpZiAobnVtYmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkKSB7
CiAgICAgICAgIC8vIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzIHNob3VsZCBub3QgYXBwbHkgaW5z
aWRlIGNsYW1waW5nIGNvbnRlbnQuCi0gICAgICAgIGlmICghY3VycmVudExpbmVIYXNJbmxpbmVD
b250ZW50KSB7CisgICAgICAgIGlmICghY3VycmVudExpbmVJc0NvbnRlbnRmdWwpIHsKICAgICAg
ICAgICAgIC8vIENvbnRlbnQgd2l0aCBubyBpbmxpbmUgc2hvdWxkIG5ldmVyIGV2ZXIgcmVjZWl2
ZSBlbGxpcHNpcy4KICAgICAgICAgICAgIHJldHVybiBMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGlj
eTo6Tm9UcnVuY2F0aW9uOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiAqbnVtYmVyT2ZWaXNp
YmxlTGluZXNBbGxvd2VkID09IG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29udGVudCA/IExpbmVF
bmRpbmdUcnVuY2F0aW9uUG9saWN5OjpXaGVuQ29udGVudE92ZXJmbG93c0luQmxvY2tEaXJlY3Rp
b24gOiBMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeTo6Tm9UcnVuY2F0aW9uOworICAgICAgICBy
ZXR1cm4gKm51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCA9PSBudW1iZXJPZkNvbnRlbnRmdWxM
aW5lcyA/IExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5OjpXaGVuQ29udGVudE92ZXJmbG93c0lu
QmxvY2tEaXJlY3Rpb24gOiBMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeTo6Tm9UcnVuY2F0aW9u
OwogICAgIH0KIAogICAgIC8vIFRydW5jYXRpb24gaXMgaW4gZWZmZWN0IHdoZW4gdGhlIGJsb2Nr
IGNvbnRhaW5lciBoYXMgb3ZlcmZsb3cgb3RoZXIgdGhhbiB2aXNpYmxlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9y
bWF0dGluZ1V0aWxzLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRpbHMuaAppbmRleCBlZmEyZWRiZmQ0Y2IuLmMxOWQ1
ZjhkNTU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmgK
QEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHN0ZDo6cGFpcjxJbmxpbmVM
YXlvdXRVbml0LCBJbmxpbmVMYXlvdXRVbml0PiB0ZXh0RW1waGFzaXNGb3JJbmxpbmVCb3goY29u
c3QgQm94JiwgY29uc3QgRWxlbWVudEJveCYgcm9vdEJveCk7CiAKLSAgICBzdGF0aWMgTGluZUVu
ZGluZ1RydW5jYXRpb25Qb2xpY3kgbGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3koY29uc3QgUmVu
ZGVyU3R5bGUmIHJvb3RTdHlsZSwgc2l6ZV90IG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29udGVu
dCwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCwgYm9v
bCBjdXJyZW50TGluZUhhc0lubGluZUNvbnRlbnQpOworICAgIHN0YXRpYyBMaW5lRW5kaW5nVHJ1
bmNhdGlvblBvbGljeSBsaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeShjb25zdCBSZW5kZXJTdHls
ZSYgcm9vdFN0eWxlLCBzaXplX3QgbnVtYmVyT2ZDb250ZW50ZnVsTGluZXMsIHN0ZDo6b3B0aW9u
YWw8c2l6ZV90PiBudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQsIGJvb2wgY3VycmVudExpbmVJ
c0NvbnRlbnRmdWwpOwogCiAgICAgYm9vbCBzaG91bGREaXNjYXJkUmVtYWluaW5nQ29udGVudElu
QmxvY2tEaXJlY3Rpb24oc2l6ZV90IG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29udGVudCkgY29u
c3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlz
cGxheUxpbmVCdWlsZGVyLmNwcAppbmRleCAwZDk4MGZhMTgwZDYuLjFhMDlmNGJiMDJjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
ZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxp
bmVCdWlsZGVyLmNwcApAQCAtMzg1LDcgKzM4NSwxMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbW92
ZURpc3BsYXlCb3hUb0NsYW1wZWRMaW5lKGF1dG8mIGRpc3BsYXlMaW5lcywgYXV0byBjbGFtcGVk
TAogICAgIGRpc3BsYXlCb3guc2V0TGVmdChjbGFtcGVkTGluZS5lbGxpcHNpcygpLT52aXN1YWxS
ZWN0Lm1heFgoKSArIGhvcml6b250YWxPZmZzZXQgKyBsZWdhY3lNYXRjaGluZ0xpbmtCb3hPZmZz
ZXQpOwogICAgIC8vIEFzc3VtZSBiYXNlbGluZSBhbGlnbm1lbnQgaGVyZS4KICAgICBkaXNwbGF5
Qm94Lm1vdmVWZXJ0aWNhbGx5KChjbGFtcGVkTGluZS50b3AoKSArIGNsYW1wZWRMaW5lLmJhc2Vs
aW5lKCkpIC0gKGRpc3BsYXlMaW5lcy5sYXN0KCkudG9wKCkgKyBkaXNwbGF5TGluZXMubGFzdCgp
LmJhc2VsaW5lKCkpKTsKKworICAgIGF1dG8mIG9yaWdpbmFsTGluZSA9IGRpc3BsYXlMaW5lc1tk
aXNwbGF5Qm94LmxpbmVJbmRleCgpXTsKKyAgICBvcmlnaW5hbExpbmUuc2V0Qm94Q291bnQob3Jp
Z2luYWxMaW5lLmJveENvdW50KCkgLSAxKTsKICAgICBkaXNwbGF5Qm94Lm1vdmVUb0xpbmUoY2xh
bXBlZExpbmVJbmRleCk7CisgICAgY2xhbXBlZExpbmUuc2V0Qm94Q291bnQoY2xhbXBlZExpbmUu
Ym94Q291bnQoKSArIDEpOwogfQogCiB2b2lkIElubGluZURpc3BsYXlMaW5lQnVpbGRlcjo6YWRk
TGVnYWN5TGluZUNsYW1wVHJhaWxpbmdMaW5rQm94SWZBcHBsaWNhYmxlKGNvbnN0IElubGluZUZv
cm1hdHRpbmdDb250ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCwgY29uc3QgSW5saW5lTGF5
b3V0U3RhdGUmIGlubGluZUxheW91dFN0YXRlLCBJbmxpbmVEaXNwbGF5OjpDb250ZW50JiBkaXNw
bGF5Q29udGVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uSW5s
aW5lQ29udGVudEJ1aWxkZXIuY3BwCmluZGV4IGYyYzM1YzM2YzFiMi4uMWFmMTkwMzJiOGU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91
dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50
QnVpbGRlci5jcHAKQEAgLTMwOCw3ICszMDgsNyBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVy
OjphZGp1c3REaXNwbGF5TGluZXMoSW5saW5lQ29udGVudCYgaW5saW5lQ29udGVudCwgc2l6ZQog
ICAgICAgICBsaW5lLnNldFNjcm9sbGFibGVPdmVyZmxvdyhzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0
KTsKICAgICAgICAgbGluZS5zZXRJbmtPdmVyZmxvdyhpbmtPdmVyZmxvd1JlY3QpOwogICAgICAg
ICBsaW5lLnNldEZpcnN0Qm94SW5kZXgoZmlyc3RCb3hJbmRleCk7Ci0gICAgICAgIGxpbmUuc2V0
Qm94Q291bnQoYm94SW5kZXggLSBmaXJzdEJveEluZGV4KTsKKyAgICAgICAgQVNTRVJUKGxpbmUu
Ym94Q291bnQoKSA9PSBib3hJbmRleCAtIGZpcnN0Qm94SW5kZXgpOwogCiAgICAgICAgIGlmIChs
aW5lSW5kZXgpIHsKICAgICAgICAgICAgIGF1dG8mIGxhc3RJbmtPdmVyZmxvdyA9IGxpbmVzW2xp
bmVJbmRleCAtIDFdLmlua092ZXJmbG93KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0
aW9uTGluZUxheW91dC5jcHAKaW5kZXggYzA5YmQ1MTc2NjMxLi44NzBiZmE5NWNlODkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50
ZWdyYXRpb25MaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKQEAgLTgxMiw3ICs4
MTIsMTEgQEAgc2l6ZV90IExpbmVMYXlvdXQ6OmxpbmVDb3VudCgpIGNvbnN0CiAgICAgaWYgKCFt
X2lubGluZUNvbnRlbnQtPmhhc0NvbnRlbnQoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBy
ZXR1cm4gbV9pbmxpbmVDb250ZW50LT5kaXNwbGF5Q29udGVudCgpLmxpbmVzLnNpemUoKTsKKyAg
ICBhdXRvJiBsaW5lcyA9IG1faW5saW5lQ29udGVudC0+ZGlzcGxheUNvbnRlbnQoKS5saW5lczsK
KyAgICBpZiAobGluZXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICAvLyBJbiBz
b21lIGNhc2VzICh0cmFpbGluZyBvdXQtb2YtZmxvdywgbm9uLWNvbnRlbnRmdWwgY29udGVudCBh
ZnRlciA8YnI+KSB3ZSBwcm9kdWNlIGxhc3QgbGluZSB3aXRoIG5vIGNvbnRlbnQgYnV0IHJvb3Qg
aW5saW5lIGJveCBvbmx5LgorICAgIHJldHVybiBsaW5lcy5sYXN0KCkuYm94Q291bnQoKSA+IDEg
PyBsaW5lcy5zaXplKCkgOiBsaW5lcy5zaXplKCkgLSAxOwogfQogCiBib29sIExpbmVMYXlvdXQ6
Omhhc1Zpc3VhbE92ZXJmbG93KCkgY29uc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
aW5saW5lL3BhZ2luYXRpb24tYW5kLWNzcy1saW5lLWNsYW1wLWNyYXNoLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvaW5saW5lL3BhZ2luYXRpb24tYW5kLWNzcy1saW5lLWNsYW1wLWNy
YXNoLWV4cGVjdGVkLnR4dAppbmRleCAxZGIxMDI4MDM1YzIuLjdlZjIyZTlhNDMxYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9pbmxpbmUvcGFnaW5hdGlvbi1hbmQtY3NzLWxpbmUtY2xh
bXAtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW5saW5lL3BhZ2lu
YXRpb24tYW5kLWNzcy1saW5lLWNsYW1wLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMSArMSBAQAot
UEFTUyBpCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L292ZXJmbG93L2xpbmUt
Y2xhbXAtd2l0aC10cmFpbGluZy1ub24tY29udGVudGZ1bC1ib3hlcy1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9vdmVyZmxvdy9saW5lLWNsYW1wLXdpdGgtdHJhaWxpbmctbm9uLWNv
bnRlbnRmdWwtYm94ZXMtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAuLjMyOWE4MWYxMzI1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvb3ZlcmZsb3cvbGluZS1jbGFtcC13aXRoLXRyYWlsaW5nLW5vbi1jb250ZW50ZnVsLWJv
eGVzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPHN0eWxlPgorLmNsYW1wIHsKKyAg
Zm9udC1mYW1pbHk6IE1vbm9zcGFjZTsKKyAgZm9udC1zaXplOiAxMnB4OworICBvdmVyZmxvdzog
aGlkZGVuOworICBtYXJnaW4tYm90dG9tOiAxMHB4OworfQorPC9zdHlsZT4KKzxkaXYgY2xhc3M9
ImNsYW1wIj4KKyAgPGRpdj5maXJzdCBsaW5lIGZvbGxvd2VkIGJ5IG91dC1vZi1mbG93IGNvbnRl
bnQuIFBBU1MgaWYgZ3JlZW4gbGluZSBiZWxvdyBzaG93cy48L2Rpdj4KKyAgPGRpdiBzdHlsZT0i
Y29sb3I6IGdyZWVuIj5QQVNTIGlmIHRoaXMgaXMgdmlzaWJsZSBhbmQgdHJhaWxpbmcgZWxsaXBz
aXMgc2hvd3MmI3gyMDI2OzwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9ImNsYW1wIj4KKyAg
PGRpdj5maXJzdCBsaW5lIGZvbGxvd2VkIGJ5IG5vbi1jb250ZW50ZnVsIGlubGluZSBjb250ZW50
LiBQQVNTIGlmIGdyZWVuIGxpbmUgYmVsb3cgc2hvd3MuPC9kaXY+CisgIDxkaXYgc3R5bGU9ImNv
bG9yOiBncmVlbiI+UEFTUyBpZiB0aGlzIGlzIHZpc2libGUgYW5kIHRyYWlsaW5nIGVsbGlwc2lz
IHNob3dzJiN4MjAyNjs8L2Rpdj4KKzwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9vdmVyZmxvdy9saW5lLWNsYW1wLXdpdGgtdHJhaWxpbmctbm9uLWNvbnRlbnRmdWwtYm94ZXMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cvbGluZS1jbGFtcC13aXRoLXRyYWlsaW5n
LW5vbi1jb250ZW50ZnVsLWJveGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwLi44NGI0NWYzNjEwOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L292ZXJmbG93L2xpbmUtY2xhbXAtd2l0aC10cmFpbGluZy1ub24tY29udGVudGZ1bC1ib3hl
cy5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzxzdHlsZT4KKy5jbGFtcCB7CisgIGRpc3BsYXk6IC13
ZWJraXQtYm94OworICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOworICAtd2Via2l0LWxp
bmUtY2xhbXA6IDI7CisgIGZvbnQtZmFtaWx5OiBNb25vc3BhY2U7CisgIGZvbnQtc2l6ZTogMTJw
eDsKKyAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgbWFyZ2luLWJvdHRvbTogMTBweDsKK30KKzwvc3R5
bGU+Cis8ZGl2IGNsYXNzPSJjbGFtcCI+CisgIDxkaXY+Zmlyc3QgbGluZSBmb2xsb3dlZCBieSBv
dXQtb2YtZmxvdyBjb250ZW50LiBQQVNTIGlmIGdyZWVuIGxpbmUgYmVsb3cgc2hvd3MuPGJyPjxk
aXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZSI+PC9kaXY+PC9kaXY+CisgIDxkaXYgc3R5bGU9
ImNvbG9yOiBncmVlbiI+UEFTUyBpZiB0aGlzIGlzIHZpc2libGUgYW5kIHRyYWlsaW5nIGVsbGlw
c2lzIHNob3dzPGJyPnRoaXJkIGxpbmU8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJjbGFt
cCI+CisgIDxkaXY+Zmlyc3QgbGluZSBmb2xsb3dlZCBieSBub24tY29udGVudGZ1bCBpbmxpbmUg
Y29udGVudC4gUEFTUyBpZiBncmVlbiBsaW5lIGJlbG93IHNob3dzLjxicj48c3Bhbj48L3NwYW4+
PC9kaXY+CisgIDxkaXYgc3R5bGU9ImNvbG9yOiBncmVlbiI+UEFTUyBpZiB0aGlzIGlzIHZpc2li
bGUgYW5kIHRyYWlsaW5nIGVsbGlwc2lzIHNob3dzPGJyPnRoaXJkIGxpbmU8L2Rpdj4KKzwvZGl2
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473471</attachid>
            <date>2024-12-05 12:02:16 -0800</date>
            <delta_ts>2024-12-05 16:05:25 -0800</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-284104-20241205120215.patch</filename>
            <type>text/plain</type>
            <size>20180</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAxMDRiMjNiYWVjNDllYzE3ZmEyNTRhYTMyNzUyMmM0MjA4ZGNkOWY1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFRodSwgNSBEZWMgMjAyNCAwNTozMzoyMiAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFtsaW5lLWNs
YW1wXSBOdW1iZXIgb2YgY29udGVudGZ1bCBsaW5lcyBkb2VzIG5vdCBhbHdheXMgbWF0Y2gKIHRo
ZSBudW1iZXIgb2YgbGluZXMgd2l0aCBpbmxpbmUgY29udGVudAogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI4NDEwNAoKUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8u
CgpMZXQncyB0cmFjayB0aGUgbnVtYmVyIG9mIF9jb250ZW50ZnVsXyBsaW5lcyBmb3IgbGluZSBj
bGFtcGluZy4KCkluIHNvbWUgY2FzZXMgKHRyYWlsaW5nIG91dC1vZi1mbG93IGJveGVzIG9yIG5v
bi1jb250ZW50ZnVsIGlubGluZSBjb250ZW50IGFmdGVyIHRoZSBmaW5hbCA8YnI+KSB3ZSBlbmQg
dXAgY3JlYXRpbmcKYSBkaXNwbGF5IGxpbmUgd2l0aCBubyBkaXNwbGF5IGJveCBvdGhlciB0aGFu
IHRoZSByb290IGlubGluZSBkaXNwbGF5IGJveC4gU3VjaCAiZW1wdHkiIGxpbmVzIHNob3VsZCBu
b3QgYmUKdGFrZW4gaW50byBhY2NvdW50IHdoZW4gY291bnRpbmcgdGhlIGxpbmVzIGZvciBsaW5l
LWNsYW1wLgoKZXhhbXBsZXM6CjxkaXY+dGhpcyBsaW5lIGlzIGNvbnRlbnRmdWw8YnI+PGRpdiBz
dHlsZT0icG9zaXRpb246IGFic29sdXRlIj48L2Rpdj4gPC0gb3V0IG9mIGZsb3cgYm94IGFmdGVy
IGxhc3QgY29udGVudGZ1bCBsaW5lCjxkaXY+dGhpcyBsaW5lIGlzIGNvbnRlbmZ1bDxicj48c3Bh
bj48L3NwYW4+PC9kaXY+IDwtIG5vbi1jb250ZW50ZnVsIHRyYWlsaW5nIGlubGluZSBjb250ZW50
CgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmxpbmVMYXlvdXQpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KToKKFdlYkNvcmU6
OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9y
TGluZUZyb21DYWNoZWRDb250ZW50KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9yRW1wdHlJbmxpbmVDb250ZW50KToKKiBT
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5oOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5jcHA6CihXZWJDb3JlOjpMYXlvdXQ6Oklu
bGluZUZvcm1hdHRpbmdVdGlsczo6bGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3kpOgoqIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRp
bmdVdGlscy5oOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmNwcDoKKFdlYkNvcmU6OkxheW91
dDo6bW92ZURpc3BsYXlCb3hUb0NsYW1wZWRMaW5lKToKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIu
Y3BwOgooV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWlsZGVyOjph
ZGp1c3REaXNwbGF5TGluZXMgY29uc3QpOgotLS0KIC4uLi9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwICAgICAgICB8IDI3ICsrKysrKysrKysrLS0tLS0tLS0KIC4uLi9pbmxpbmUv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaCAgICAgICAgICB8ICAyICstCiAuLi4vaW5saW5lL0lu
bGluZUZvcm1hdHRpbmdVdGlscy5jcHAgICAgICAgICAgfCAgNiArKy0tLQogLi4uL2lubGluZS9J
bmxpbmVGb3JtYXR0aW5nVXRpbHMuaCAgICAgICAgICAgIHwgIDIgKy0KIC4uLi9kaXNwbGF5L0lu
bGluZURpc3BsYXlMaW5lQnVpbGRlci5jcHAgICAgICB8ICA0ICsrKwogLi4uL0xheW91dEludGVn
cmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwIHwgIDIgKy0KIC4uLi9pbmxpbmUvTGF5b3V0
SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCAgICB8ICA2ICsrKystCiAuLi50aW9uLWFuZC1jc3Mt
bGluZS1jbGFtcC1jcmFzaC1leHBlY3RlZC50eHQgfCAgMiArLQogLi4ucmFpbGluZy1ub24tY29u
dGVudGZ1bC1ib3hlcy1leHBlY3RlZC5odG1sIHwgMTcgKysrKysrKysrKysrCiAuLi5tcC13aXRo
LXRyYWlsaW5nLW5vbi1jb250ZW50ZnVsLWJveGVzLmh0bWwgfCAyMCArKysrKysrKysrKysrKwog
MTAgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9vdmVyZmxvdy9saW5lLWNsYW1wLXdpdGgt
dHJhaWxpbmctbm9uLWNvbnRlbnRmdWwtYm94ZXMtZXhwZWN0ZWQuaHRtbAogY3JlYXRlIG1vZGUg
MTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cvbGluZS1jbGFtcC13aXRoLXRyYWlsaW5n
LW5vbi1jb250ZW50ZnVsLWJveGVzLmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggY2E0NDMwZjEzOTZmLi4yMTE3ZWEzMDRlZGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAK
QEAgLTI5NCw3ICsyOTQsNyBAQCBJbmxpbmVMYXlvdXRSZXN1bHQgSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQ6OmxpbmVMYXlvdXQoQWJzdHJhY3RMaW5lQnVpbGRlciYgbGluZQogICAgIGF1dG8gcHJl
dmlvdXNMaW5lRW5kID0gc3RkOjpvcHRpb25hbDxJbmxpbmVJdGVtUG9zaXRpb24+IHsgfTsKICAg
ICBhdXRvIGxlYWRpbmdJbmxpbmVJdGVtUG9zaXRpb24gPSBuZWVkc0xheW91dFJhbmdlLnN0YXJ0
OwogICAgIGF1dG8gcGFydGlhbExheW91dFN0YXJ0SW5kZXggPSBwcmV2aW91c0xpbmUgPyBzdGQ6
Om1ha2Vfb3B0aW9uYWwocHJldmlvdXNMaW5lLT5saW5lSW5kZXgpIDogc3RkOjpudWxsb3B0Owot
ICAgIHNpemVfdCBudW1iZXJPZkxpbmVzV2l0aElubGluZUNvbnRlbnQgPSAwOworICAgIHNpemVf
dCBudW1iZXJPZkNvbnRlbnRmdWxMaW5lcyA9IHBhcnRpYWxMYXlvdXRTdGFydEluZGV4ID8gKnBh
cnRpYWxMYXlvdXRTdGFydEluZGV4ICsgMSA6IDBsdTsKICAgICB3aGlsZSAodHJ1ZSkgewogCiAg
ICAgICAgIGF1dG8gbGluZUluaXRpYWxSZWN0ID0gSW5saW5lUmVjdCB7IGxpbmVMb2dpY2FsVG9w
LCBjb25zdHJhaW50cy5ob3Jpem9udGFsKCkubG9naWNhbExlZnQsIGNvbnN0cmFpbnRzLmhvcml6
b250YWwoKS5sb2dpY2FsV2lkdGgsIGZvcm1hdHRpbmdVdGlscygpLmluaXRpYWxMaW5lSGVpZ2h0
KCFwcmV2aW91c0xpbmUuaGFzX3ZhbHVlKCkpIH07CkBAIC0zMDMsNyArMzAzLDcgQEAgSW5saW5l
TGF5b3V0UmVzdWx0IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0KEFic3RyYWN0
TGluZUJ1aWxkZXImIGxpbmUKIAogICAgICAgICBhdXRvIGxpbmVMYXlvdXRSZXN1bHQgPSBsaW5l
QnVpbGRlci5sYXlvdXRJbmxpbmVDb250ZW50KGxpbmVJbnB1dCwgcHJldmlvdXNMaW5lKTsKICAg
ICAgICAgYXV0byBsaW5lQm94ID0gTGluZUJveEJ1aWxkZXIgeyAqdGhpcywgbGluZUxheW91dFJl
c3VsdCB9LmJ1aWxkKGxpbmVJbmRleCk7Ci0gICAgICAgIGF1dG8gbGluZUxvZ2ljYWxSZWN0ID0g
Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KGxpbmVCb3gsIGxpbmVMYXlvdXRS
ZXN1bHQsIGNvbnN0cmFpbnRzLCBsYXlvdXRSZXN1bHQuZGlzcGxheUNvbnRlbnQsIG51bWJlck9m
TGluZXNXaXRoSW5saW5lQ29udGVudCk7CisgICAgICAgIGF1dG8gbGluZUxvZ2ljYWxSZWN0ID0g
Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KGxpbmVCb3gsIGxpbmVMYXlvdXRS
ZXN1bHQsIGNvbnN0cmFpbnRzLCBsYXlvdXRSZXN1bHQuZGlzcGxheUNvbnRlbnQsIG51bWJlck9m
Q29udGVudGZ1bExpbmVzKTsKICAgICAgICAgdXBkYXRlQm94R2VvbWV0cnlGb3JQbGFjZWRGbG9h
dHMobGluZUxheW91dFJlc3VsdC5mbG9hdENvbnRlbnQucGxhY2VkRmxvYXRzKTsKICAgICAgICAg
dXBkYXRlSW5saW5lTGF5b3V0U3RhdGVXaXRoTGluZUxheW91dFJlc3VsdChsaW5lTGF5b3V0UmVz
dWx0LCBsaW5lTG9naWNhbFJlY3QsIGZsb2F0aW5nQ29udGV4dCk7CiAKQEAgLTMyMCwxNCArMzIw
LDEzIEBAIElubGluZUxheW91dFJlc3VsdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxh
eW91dChBYnN0cmFjdExpbmVCdWlsZGVyJiBsaW5lCiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQogCi0gICAgICAgIGF1dG8gbGluZUhhc0lubGluZUNvbnRlbnQgPSAhbGluZUxheW91dFJl
c3VsdC5pbmxpbmVDb250ZW50LmlzRW1wdHkoKTsKLSAgICAgICAgbnVtYmVyT2ZMaW5lc1dpdGhJ
bmxpbmVDb250ZW50ICs9IGxpbmVIYXNJbmxpbmVDb250ZW50ID8gMSA6IDA7Ci0gICAgICAgIGlm
IChmb3JtYXR0aW5nVXRpbHMoKS5zaG91bGREaXNjYXJkUmVtYWluaW5nQ29udGVudEluQmxvY2tE
aXJlY3Rpb24ocGFydGlhbExheW91dFN0YXJ0SW5kZXgudmFsdWVfb3IoMCkgKyBudW1iZXJPZkxp
bmVzV2l0aElubGluZUNvbnRlbnQpKSB7CisgICAgICAgIGlmIChmb3JtYXR0aW5nVXRpbHMoKS5z
aG91bGREaXNjYXJkUmVtYWluaW5nQ29udGVudEluQmxvY2tEaXJlY3Rpb24obnVtYmVyT2ZDb250
ZW50ZnVsTGluZXMpKSB7CiAgICAgICAgICAgICByZXNldEJveEdlb21ldHJpZXNGb3JEaXNjYXJk
ZWRDb250ZW50KHsgbGVhZGluZ0lubGluZUl0ZW1Qb3NpdGlvbiwgbmVlZHNMYXlvdXRSYW5nZS5l
bmQgfSwgbGluZUxheW91dFJlc3VsdC5mbG9hdENvbnRlbnQuc3VzcGVuZGVkRmxvYXRzKTsKICAg
ICAgICAgICAgIGxheW91dFJlc3VsdC5yYW5nZSA9ICFpc1BhcnRpYWxMYXlvdXQgPyBJbmxpbmVM
YXlvdXRSZXN1bHQ6OlJhbmdlOjpGdWxsIDogSW5saW5lTGF5b3V0UmVzdWx0OjpSYW5nZTo6RnVs
bEZyb21EYW1hZ2U7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCisgICAgICAgIGF1
dG8gbGluZUhhc0lubGluZUNvbnRlbnQgPSAhbGluZUxheW91dFJlc3VsdC5pbmxpbmVDb250ZW50
LmlzRW1wdHkoKTsKICAgICAgICAgYXV0byBoYXNFdmVyU2VlbklubGluZUNvbnRlbnQgPSBsaW5l
SGFzSW5saW5lQ29udGVudCB8fCAocHJldmlvdXNMaW5lICYmIHByZXZpb3VzTGluZS0+aGFzSW5s
aW5lQ29udGVudCk7CiAgICAgICAgIHByZXZpb3VzTGluZSA9IFByZXZpb3VzTGluZSB7IGxpbmVJ
bmRleCwgbGluZUxheW91dFJlc3VsdC5jb250ZW50R2VvbWV0cnkudHJhaWxpbmdPdmVyZmxvd2lu
Z0NvbnRlbnRXaWR0aCwgbGluZUhhc0lubGluZUNvbnRlbnQgJiYgbGluZUxheW91dFJlc3VsdC5p
bmxpbmVDb250ZW50Lmxhc3QoKS5pc0xpbmVCcmVhaygpLCBoYXNFdmVyU2VlbklubGluZUNvbnRl
bnQsIGxpbmVMYXlvdXRSZXN1bHQuZGlyZWN0aW9uYWxpdHkuaW5saW5lQmFzZURpcmVjdGlvbiwg
V1RGTW92ZShsaW5lTGF5b3V0UmVzdWx0LmZsb2F0Q29udGVudC5zdXNwZW5kZWRGbG9hdHMpIH07
CiAgICAgICAgIHByZXZpb3VzTGluZUVuZCA9IGxpbmVDb250ZW50RW5kOwpAQCAtMzk4LDE4ICsz
OTcsMjIgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6dXBkYXRlQm94R2VvbWV0cnlG
b3JQbGFjZWRGbG9hdHMoY29uc3QgTGluZUxheW91dFIKICAgICB9CiB9CiAKLUlubGluZVJlY3Qg
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9ySW5saW5lQ29u
dGVudChjb25zdCBMaW5lQm94JiBsaW5lQm94LCBjb25zdCBMaW5lTGF5b3V0UmVzdWx0JiBsaW5l
TGF5b3V0UmVzdWx0LCBjb25zdCBDb25zdHJhaW50c0ZvcklubGluZUNvbnRlbnQmIGNvbnN0cmFp
bnRzLCBJbmxpbmVEaXNwbGF5OjpDb250ZW50JiBkaXNwbGF5Q29udGVudCwgc2l6ZV90IG51bWJl
ck9mUHJldmlvdXNMaW5lc1dpdGhJbmxpbmVDb250ZW50KQorSW5saW5lUmVjdCBJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KGNvbnN0
IExpbmVCb3gmIGxpbmVCb3gsIGNvbnN0IExpbmVMYXlvdXRSZXN1bHQmIGxpbmVMYXlvdXRSZXN1
bHQsIGNvbnN0IENvbnN0cmFpbnRzRm9ySW5saW5lQ29udGVudCYgY29uc3RyYWludHMsIElubGlu
ZURpc3BsYXk6OkNvbnRlbnQmIGRpc3BsYXlDb250ZW50LCBzaXplX3QmIG51bWJlck9mUHJldmlv
dXNMQ29udGVudGZ1bExpbmVzKQogewogICAgIGF1dG8gbGluZUNsYW1wID0gbGF5b3V0U3RhdGUo
KS5wYXJlbnRCbG9ja0xheW91dFN0YXRlKCkubGluZUNsYW1wKCk7CiAgICAgYXV0byBpc0xlZ2Fj
eUxpbmVDbGFtcCA9IGxpbmVDbGFtcCAmJiBsaW5lQ2xhbXAtPmlzTGVnYWN5OwogICAgIGF1dG8g
bnVtYmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkID0gbGluZUNsYW1wID8gc3RkOjptYWtlX29wdGlv
bmFsKGxpbmVDbGFtcC0+bWF4aW11bUxpbmVzKSA6IHN0ZDo6bnVsbG9wdDsKIAotICAgIGF1dG8g
bnVtYmVyT2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50ID0gbnVtYmVyT2ZQcmV2aW91c0xpbmVzV2l0
aElubGluZUNvbnRlbnQgKyAoIWxpbmVMYXlvdXRSZXN1bHQuaW5saW5lQ29udGVudC5pc0VtcHR5
KCkgPyAxIDogMCk7Ci0gICAgYXV0byBsaW5lSXNGdWxseVRydW5jYXRlZEluQmxvY2tEaXJlY3Rp
b24gPSBudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQgJiYgbnVtYmVyT2ZMaW5lc1dpdGhJbmxp
bmVDb250ZW50ID4gKm51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZDsKKyAgICBhdXRvIG51bWJl
ck9mTGluZXNXaXRoSW5saW5lQ29udGVudCA9IG51bWJlck9mUHJldmlvdXNMQ29udGVudGZ1bExp
bmVzICsgKCFsaW5lTGF5b3V0UmVzdWx0LmlubGluZUNvbnRlbnQuaXNFbXB0eSgpID8gMSA6IDAp
OworICAgIGF1dG8gbGluZUlzRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uID0gbnVtYmVy
T2ZMaW5lc1dpdGhJbmxpbmVDb250ZW50ID4gbnVtYmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkLnZh
bHVlX29yKG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29udGVudCk7CiAgICAgYXV0byBkaXNwbGF5
TGluZSA9IElubGluZURpc3BsYXlMaW5lQnVpbGRlciB7ICp0aGlzLCBjb25zdHJhaW50cyB9LmJ1
aWxkKGxpbmVMYXlvdXRSZXN1bHQsIGxpbmVCb3gsIGxpbmVJc0Z1bGx5VHJ1bmNhdGVkSW5CbG9j
a0RpcmVjdGlvbik7CiAgICAgYXV0byBib3hlcyA9IElubGluZURpc3BsYXlDb250ZW50QnVpbGRl
ciB7ICp0aGlzLCBjb25zdHJhaW50cywgbGluZUJveCwgZGlzcGxheUxpbmUgfS5idWlsZChsaW5l
TGF5b3V0UmVzdWx0KTsKKyAgICBkaXNwbGF5TGluZS5zZXRCb3hDb3VudChib3hlcy5zaXplKCkp
OwogCi0gICAgYXV0byB0cnVuY2F0aW9uUG9saWN5ID0gSW5saW5lRm9ybWF0dGluZ1V0aWxzOjps
aW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeShyb290KCkuc3R5bGUoKSwgbnVtYmVyT2ZMaW5lc1dp
dGhJbmxpbmVDb250ZW50LCBudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQsICFsaW5lTGF5b3V0
UmVzdWx0LmlubGluZUNvbnRlbnQuaXNFbXB0eSgpKTsKKyAgICAvLyBOb24tY29udGVudGZ1bCBs
aW5lcyBhcmUgcHJvZHVjZWQgYnkgY2VydGFpbiB0cmFpbGluZyBjb250ZW50IGxpa2UgPGRpdj5j
b250ZW50ZnVsIGxpbmU8YnI+PHNwYW4+PC9zcGFuPjwvZGl2PiB3aGVyZSA8c3Bhbj48L3NwYW4+
IGNyZWF0ZXMgYSBkaXNwbGF5IGxpbmUgd2l0aCBub3RoaW5nIGJ1dCB0aGUgcm9vdCBpbmxpbmUg
Ym94LgorICAgIGF1dG8gaXNDdXJyZW50TGluZUNvbnRlbnRmdWwgPSBib3hlcy5zaXplKCkgPiAx
OworICAgIG51bWJlck9mUHJldmlvdXNMQ29udGVudGZ1bExpbmVzICs9IChpc0N1cnJlbnRMaW5l
Q29udGVudGZ1bCA/IDEgOiAwKTsKKyAgICBhdXRvIHRydW5jYXRpb25Qb2xpY3kgPSBJbmxpbmVG
b3JtYXR0aW5nVXRpbHM6OmxpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5KHJvb3QoKS5zdHlsZSgp
LCBudW1iZXJPZlByZXZpb3VzTENvbnRlbnRmdWxMaW5lcywgbnVtYmVyT2ZWaXNpYmxlTGluZXNB
bGxvd2VkLCBpc0N1cnJlbnRMaW5lQ29udGVudGZ1bCk7CiAgICAgSW5saW5lRGlzcGxheUxpbmVC
dWlsZGVyOjphcHBseUVsbGlwc2lzSWZOZWVkZWQodHJ1bmNhdGlvblBvbGljeSwgZGlzcGxheUxp
bmUsIGJveGVzLCBsaW5lTGF5b3V0UmVzdWx0LmlzRmlyc3RMYXN0LmlzTGFzdExpbmVXaXRoSW5s
aW5lQ29udGVudCwgaXNMZWdhY3lMaW5lQ2xhbXApOwogICAgIGF1dG8gbGluZUhhc0xlZ2FjeUxp
bmVDbGFtcCA9IGlzTGVnYWN5TGluZUNsYW1wICYmIGRpc3BsYXlMaW5lLmhhc0VsbGlwc2lzKCkg
JiYgdHJ1bmNhdGlvblBvbGljeSA9PSBMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeTo6V2hlbkNv
bnRlbnRPdmVyZmxvd3NJbkJsb2NrRGlyZWN0aW9uOwogICAgIGlmIChsaW5lSGFzTGVnYWN5TGlu
ZUNsYW1wKQpAQCAtNDgyLDcgKzQ4NSw4IEBAIGJvb2wgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6
OmNyZWF0ZURpc3BsYXlDb250ZW50Rm9yTGluZUZyb21DYWNoZWRDb250ZW50KGNvbnN0CiAgICAg
bGluZUNvbnRlbnQubGluZUdlb21ldHJ5LmxvZ2ljYWxXaWR0aCA9IGNvbnN0cmFpbnRzLmhvcml6
b250YWwoKS5sb2dpY2FsV2lkdGg7CiAgICAgbGluZUNvbnRlbnQuY29udGVudEdlb21ldHJ5Lmxv
Z2ljYWxMZWZ0ID0gSW5saW5lRm9ybWF0dGluZ1V0aWxzOjpob3Jpem9udGFsQWxpZ25tZW50T2Zm
c2V0KHJvb3QoKS5zdHlsZSgpLCBsaW5lQ29udGVudC5jb250ZW50R2VvbWV0cnkubG9naWNhbFdp
ZHRoLCBsaW5lQ29udGVudC5saW5lR2VvbWV0cnkubG9naWNhbFdpZHRoLCBsaW5lQ29udGVudC5o
YW5naW5nQ29udGVudC5sb2dpY2FsV2lkdGgsIGxpbmVDb250ZW50LmlubGluZUNvbnRlbnQsIHRy
dWUpOwogICAgIGF1dG8gbGluZUJveCA9IExpbmVCb3hCdWlsZGVyIHsgKnRoaXMsIGxpbmVDb250
ZW50IH0uYnVpbGQoeyB9KTsKLSAgICBjcmVhdGVEaXNwbGF5Q29udGVudEZvcklubGluZUNvbnRl
bnQobGluZUJveCwgbGluZUNvbnRlbnQsIGNvbnN0cmFpbnRzLCBsYXlvdXRSZXN1bHQuZGlzcGxh
eUNvbnRlbnQpOworICAgIHNpemVfdCBudW1iZXJPZkNvbnRlbnRmdWxMaW5lcyA9IDA7CisgICAg
Y3JlYXRlRGlzcGxheUNvbnRlbnRGb3JJbmxpbmVDb250ZW50KGxpbmVCb3gsIGxpbmVDb250ZW50
LCBjb25zdHJhaW50cywgbGF5b3V0UmVzdWx0LmRpc3BsYXlDb250ZW50LCBudW1iZXJPZkNvbnRl
bnRmdWxMaW5lcyk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTQ5MSw3ICs0OTUsOCBAQCB2
b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpjcmVhdGVEaXNwbGF5Q29udGVudEZvckVtcHR5
SW5saW5lQ29udGVudChjb25zdCBDbwogICAgIGF1dG8gZW1wdHlMaW5lQnJlYWtpbmdSZXN1bHQg
PSAgTGluZUxheW91dFJlc3VsdCB7IH07CiAgICAgZW1wdHlMaW5lQnJlYWtpbmdSZXN1bHQubGlu
ZUdlb21ldHJ5ID0geyB7IGNvbnN0cmFpbnRzLmhvcml6b250YWwoKS5sb2dpY2FsTGVmdCwgY29u
c3RyYWludHMubG9naWNhbFRvcCgpIH0sIHsgY29uc3RyYWludHMuaG9yaXpvbnRhbCgpLmxvZ2lj
YWxXaWR0aCB9IH07CiAgICAgYXV0byBsaW5lQm94ID0gTGluZUJveEJ1aWxkZXIgeyAqdGhpcywg
ZW1wdHlMaW5lQnJlYWtpbmdSZXN1bHQgfS5idWlsZCh7IH0pOwotICAgIGNyZWF0ZURpc3BsYXlD
b250ZW50Rm9ySW5saW5lQ29udGVudChsaW5lQm94LCBlbXB0eUxpbmVCcmVha2luZ1Jlc3VsdCwg
Y29uc3RyYWludHMsIGxheW91dFJlc3VsdC5kaXNwbGF5Q29udGVudCk7CisgICAgc2l6ZV90IG51
bWJlck9mQ29udGVudGZ1bExpbmVzID0gMDsKKyAgICBjcmVhdGVEaXNwbGF5Q29udGVudEZvcklu
bGluZUNvbnRlbnQobGluZUJveCwgZW1wdHlMaW5lQnJlYWtpbmdSZXN1bHQsIGNvbnN0cmFpbnRz
LCBsYXlvdXRSZXN1bHQuZGlzcGxheUNvbnRlbnQsIG51bWJlck9mQ29udGVudGZ1bExpbmVzKTsK
IH0KIAogdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6aW5pdGlhbGl6ZUlubGluZUxheW91
dFN0YXRlKGNvbnN0IExheW91dFN0YXRlJiBnbG9iYWxMYXlvdXRTdGF0ZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IGZiOWYxMzMyYjAwYS4u
ZTM1MDBiNDk5ZDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdD
b250ZXh0LmgKQEAgLTg1LDcgKzg1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGxheW91dEZsb2F0
Q29udGVudE9ubHkoY29uc3QgQ29uc3RyYWludHNGb3JJbmxpbmVDb250ZW50Jik7CiAKICAgICB2
b2lkIGNvbGxlY3RDb250ZW50SWZOZWVkZWQoKTsKLSAgICBJbmxpbmVSZWN0IGNyZWF0ZURpc3Bs
YXlDb250ZW50Rm9ySW5saW5lQ29udGVudChjb25zdCBMaW5lQm94JiwgY29uc3QgTGluZUxheW91
dFJlc3VsdCYsIGNvbnN0IENvbnN0cmFpbnRzRm9ySW5saW5lQ29udGVudCYsIElubGluZURpc3Bs
YXk6OkNvbnRlbnQmLCBzaXplX3QgbnVtYmVyT2ZQcmV2aW91c0xpbmVzV2l0aElubGluZUNvbnRl
bnQgPSAwKTsKKyAgICBJbmxpbmVSZWN0IGNyZWF0ZURpc3BsYXlDb250ZW50Rm9ySW5saW5lQ29u
dGVudChjb25zdCBMaW5lQm94JiwgY29uc3QgTGluZUxheW91dFJlc3VsdCYsIGNvbnN0IENvbnN0
cmFpbnRzRm9ySW5saW5lQ29udGVudCYsIElubGluZURpc3BsYXk6OkNvbnRlbnQmLCBzaXplX3Qm
IG51bWJlck9mUHJldmlvdXNMQ29udGVudGZ1bExpbmVzKTsKICAgICB2b2lkIHVwZGF0ZUlubGlu
ZUxheW91dFN0YXRlV2l0aExpbmVMYXlvdXRSZXN1bHQoY29uc3QgTGluZUxheW91dFJlc3VsdCYs
IGNvbnN0IElubGluZVJlY3QmIGxpbmVMb2dpY2FsUmVjdCwgY29uc3QgRmxvYXRpbmdDb250ZXh0
Jik7CiAgICAgdm9pZCB1cGRhdGVCb3hHZW9tZXRyeUZvclBsYWNlZEZsb2F0cyhjb25zdCBMaW5l
TGF5b3V0UmVzdWx0OjpQbGFjZWRGbG9hdExpc3QmKTsKICAgICB2b2lkIHJlc2V0Qm94R2VvbWV0
cmllc0ZvckRpc2NhcmRlZENvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBkaXNjYXJkZWRS
YW5nZSwgY29uc3QgTGluZUxheW91dFJlc3VsdDo6U3VzcGVuZGVkRmxvYXRMaXN0JiBzdXNwZW5k
ZWRGbG9hdHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdVdGlscy5j
cHAKaW5kZXggYTJhMDI1MzA1ZmM3Li4yMDIyMGM3ZGU1NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdV
dGlscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmNwcApAQCAtNTkxLDE1ICs1OTEsMTUgQEAgc3Rk
OjpwYWlyPElubGluZUxheW91dFVuaXQsIElubGluZUxheW91dFVuaXQ+IElubGluZUZvcm1hdHRp
bmdVdGlsczo6dGV4dEVtcGhhc2kKICAgICByZXR1cm4geyBoYXNBYm92ZVRleHRFbXBoYXNpcyA/
IGFubm90YXRpb25TaXplIDogMC5mLCBoYXNBYm92ZVRleHRFbXBoYXNpcyA/IDAuZiA6IGFubm90
YXRpb25TaXplIH07CiB9CiAKLUxpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5IElubGluZUZvcm1h
dHRpbmdVdGlsczo6bGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3koY29uc3QgUmVuZGVyU3R5bGUm
IHJvb3RTdHlsZSwgc2l6ZV90IG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29udGVudCwgc3RkOjpv
cHRpb25hbDxzaXplX3Q+IG51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCwgYm9vbCBjdXJyZW50
TGluZUhhc0lubGluZUNvbnRlbnQpCitMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeSBJbmxpbmVG
b3JtYXR0aW5nVXRpbHM6OmxpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5KGNvbnN0IFJlbmRlclN0
eWxlJiByb290U3R5bGUsIHNpemVfdCBudW1iZXJPZkNvbnRlbnRmdWxMaW5lcywgc3RkOjpvcHRp
b25hbDxzaXplX3Q+IG51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCwgYm9vbCBjdXJyZW50TGlu
ZUlzQ29udGVudGZ1bCkKIHsKICAgICBpZiAobnVtYmVyT2ZWaXNpYmxlTGluZXNBbGxvd2VkKSB7
CiAgICAgICAgIC8vIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzIHNob3VsZCBub3QgYXBwbHkgaW5z
aWRlIGNsYW1waW5nIGNvbnRlbnQuCi0gICAgICAgIGlmICghY3VycmVudExpbmVIYXNJbmxpbmVD
b250ZW50KSB7CisgICAgICAgIGlmICghY3VycmVudExpbmVJc0NvbnRlbnRmdWwpIHsKICAgICAg
ICAgICAgIC8vIENvbnRlbnQgd2l0aCBubyBpbmxpbmUgc2hvdWxkIG5ldmVyIGV2ZXIgcmVjZWl2
ZSBlbGxpcHNpcy4KICAgICAgICAgICAgIHJldHVybiBMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGlj
eTo6Tm9UcnVuY2F0aW9uOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiAqbnVtYmVyT2ZWaXNp
YmxlTGluZXNBbGxvd2VkID09IG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29udGVudCA/IExpbmVF
bmRpbmdUcnVuY2F0aW9uUG9saWN5OjpXaGVuQ29udGVudE92ZXJmbG93c0luQmxvY2tEaXJlY3Rp
b24gOiBMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeTo6Tm9UcnVuY2F0aW9uOworICAgICAgICBy
ZXR1cm4gKm51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCA9PSBudW1iZXJPZkNvbnRlbnRmdWxM
aW5lcyA/IExpbmVFbmRpbmdUcnVuY2F0aW9uUG9saWN5OjpXaGVuQ29udGVudE92ZXJmbG93c0lu
QmxvY2tEaXJlY3Rpb24gOiBMaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeTo6Tm9UcnVuY2F0aW9u
OwogICAgIH0KIAogICAgIC8vIFRydW5jYXRpb24gaXMgaW4gZWZmZWN0IHdoZW4gdGhlIGJsb2Nr
IGNvbnRhaW5lciBoYXMgb3ZlcmZsb3cgb3RoZXIgdGhhbiB2aXNpYmxlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9y
bWF0dGluZ1V0aWxzLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVGb3JtYXR0aW5nVXRpbHMuaAppbmRleCBlZmEyZWRiZmQ0Y2IuLmMxOWQ1
ZjhkNTU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ1V0aWxzLmgK
QEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHN0ZDo6cGFpcjxJbmxpbmVM
YXlvdXRVbml0LCBJbmxpbmVMYXlvdXRVbml0PiB0ZXh0RW1waGFzaXNGb3JJbmxpbmVCb3goY29u
c3QgQm94JiwgY29uc3QgRWxlbWVudEJveCYgcm9vdEJveCk7CiAKLSAgICBzdGF0aWMgTGluZUVu
ZGluZ1RydW5jYXRpb25Qb2xpY3kgbGluZUVuZGluZ1RydW5jYXRpb25Qb2xpY3koY29uc3QgUmVu
ZGVyU3R5bGUmIHJvb3RTdHlsZSwgc2l6ZV90IG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29udGVu
dCwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG51bWJlck9mVmlzaWJsZUxpbmVzQWxsb3dlZCwgYm9v
bCBjdXJyZW50TGluZUhhc0lubGluZUNvbnRlbnQpOworICAgIHN0YXRpYyBMaW5lRW5kaW5nVHJ1
bmNhdGlvblBvbGljeSBsaW5lRW5kaW5nVHJ1bmNhdGlvblBvbGljeShjb25zdCBSZW5kZXJTdHls
ZSYgcm9vdFN0eWxlLCBzaXplX3QgbnVtYmVyT2ZDb250ZW50ZnVsTGluZXMsIHN0ZDo6b3B0aW9u
YWw8c2l6ZV90PiBudW1iZXJPZlZpc2libGVMaW5lc0FsbG93ZWQsIGJvb2wgY3VycmVudExpbmVJ
c0NvbnRlbnRmdWwpOwogCiAgICAgYm9vbCBzaG91bGREaXNjYXJkUmVtYWluaW5nQ29udGVudElu
QmxvY2tEaXJlY3Rpb24oc2l6ZV90IG51bWJlck9mTGluZXNXaXRoSW5saW5lQ29udGVudCkgY29u
c3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlz
cGxheUxpbmVCdWlsZGVyLmNwcAppbmRleCAwZDk4MGZhMTgwZDYuLjFhMDlmNGJiMDJjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
ZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUxp
bmVCdWlsZGVyLmNwcApAQCAtMzg1LDcgKzM4NSwxMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbW92
ZURpc3BsYXlCb3hUb0NsYW1wZWRMaW5lKGF1dG8mIGRpc3BsYXlMaW5lcywgYXV0byBjbGFtcGVk
TAogICAgIGRpc3BsYXlCb3guc2V0TGVmdChjbGFtcGVkTGluZS5lbGxpcHNpcygpLT52aXN1YWxS
ZWN0Lm1heFgoKSArIGhvcml6b250YWxPZmZzZXQgKyBsZWdhY3lNYXRjaGluZ0xpbmtCb3hPZmZz
ZXQpOwogICAgIC8vIEFzc3VtZSBiYXNlbGluZSBhbGlnbm1lbnQgaGVyZS4KICAgICBkaXNwbGF5
Qm94Lm1vdmVWZXJ0aWNhbGx5KChjbGFtcGVkTGluZS50b3AoKSArIGNsYW1wZWRMaW5lLmJhc2Vs
aW5lKCkpIC0gKGRpc3BsYXlMaW5lcy5sYXN0KCkudG9wKCkgKyBkaXNwbGF5TGluZXMubGFzdCgp
LmJhc2VsaW5lKCkpKTsKKworICAgIGF1dG8mIG9yaWdpbmFsTGluZSA9IGRpc3BsYXlMaW5lc1tk
aXNwbGF5Qm94LmxpbmVJbmRleCgpXTsKKyAgICBvcmlnaW5hbExpbmUuc2V0Qm94Q291bnQob3Jp
Z2luYWxMaW5lLmJveENvdW50KCkgLSAxKTsKICAgICBkaXNwbGF5Qm94Lm1vdmVUb0xpbmUoY2xh
bXBlZExpbmVJbmRleCk7CisgICAgY2xhbXBlZExpbmUuc2V0Qm94Q291bnQoY2xhbXBlZExpbmUu
Ym94Q291bnQoKSArIDEpOwogfQogCiB2b2lkIElubGluZURpc3BsYXlMaW5lQnVpbGRlcjo6YWRk
TGVnYWN5TGluZUNsYW1wVHJhaWxpbmdMaW5rQm94SWZBcHBsaWNhYmxlKGNvbnN0IElubGluZUZv
cm1hdHRpbmdDb250ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCwgY29uc3QgSW5saW5lTGF5
b3V0U3RhdGUmIGlubGluZUxheW91dFN0YXRlLCBJbmxpbmVEaXNwbGF5OjpDb250ZW50JiBkaXNw
bGF5Q29udGVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uSW5s
aW5lQ29udGVudEJ1aWxkZXIuY3BwCmluZGV4IGYyYzM1YzM2YzFiMi4uMWFmMTkwMzJiOGU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91
dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50
QnVpbGRlci5jcHAKQEAgLTMwOCw3ICszMDgsNyBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVy
OjphZGp1c3REaXNwbGF5TGluZXMoSW5saW5lQ29udGVudCYgaW5saW5lQ29udGVudCwgc2l6ZQog
ICAgICAgICBsaW5lLnNldFNjcm9sbGFibGVPdmVyZmxvdyhzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0
KTsKICAgICAgICAgbGluZS5zZXRJbmtPdmVyZmxvdyhpbmtPdmVyZmxvd1JlY3QpOwogICAgICAg
ICBsaW5lLnNldEZpcnN0Qm94SW5kZXgoZmlyc3RCb3hJbmRleCk7Ci0gICAgICAgIGxpbmUuc2V0
Qm94Q291bnQoYm94SW5kZXggLSBmaXJzdEJveEluZGV4KTsKKyAgICAgICAgQVNTRVJUKGxpbmUu
Ym94Q291bnQoKSA9PSBib3hJbmRleCAtIGZpcnN0Qm94SW5kZXgpOwogCiAgICAgICAgIGlmIChs
aW5lSW5kZXgpIHsKICAgICAgICAgICAgIGF1dG8mIGxhc3RJbmtPdmVyZmxvdyA9IGxpbmVzW2xp
bmVJbmRleCAtIDFdLmlua092ZXJmbG93KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0
aW9uTGluZUxheW91dC5jcHAKaW5kZXggYzA5YmQ1MTc2NjMxLi44NzBiZmE5NWNlODkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50
ZWdyYXRpb25MaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKQEAgLTgxMiw3ICs4
MTIsMTEgQEAgc2l6ZV90IExpbmVMYXlvdXQ6OmxpbmVDb3VudCgpIGNvbnN0CiAgICAgaWYgKCFt
X2lubGluZUNvbnRlbnQtPmhhc0NvbnRlbnQoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBy
ZXR1cm4gbV9pbmxpbmVDb250ZW50LT5kaXNwbGF5Q29udGVudCgpLmxpbmVzLnNpemUoKTsKKyAg
ICBhdXRvJiBsaW5lcyA9IG1faW5saW5lQ29udGVudC0+ZGlzcGxheUNvbnRlbnQoKS5saW5lczsK
KyAgICBpZiAobGluZXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICAvLyBJbiBz
b21lIGNhc2VzICh0cmFpbGluZyBvdXQtb2YtZmxvdywgbm9uLWNvbnRlbnRmdWwgY29udGVudCBh
ZnRlciA8YnI+KSB3ZSBwcm9kdWNlIGxhc3QgbGluZSB3aXRoIG5vIGNvbnRlbnQgYnV0IHJvb3Qg
aW5saW5lIGJveCBvbmx5LgorICAgIHJldHVybiBsaW5lcy5sYXN0KCkuYm94Q291bnQoKSA+IDEg
PyBsaW5lcy5zaXplKCkgOiBsaW5lcy5zaXplKCkgLSAxOwogfQogCiBib29sIExpbmVMYXlvdXQ6
Omhhc1Zpc3VhbE92ZXJmbG93KCkgY29uc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
aW5saW5lL3BhZ2luYXRpb24tYW5kLWNzcy1saW5lLWNsYW1wLWNyYXNoLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvaW5saW5lL3BhZ2luYXRpb24tYW5kLWNzcy1saW5lLWNsYW1wLWNy
YXNoLWV4cGVjdGVkLnR4dAppbmRleCAxZGIxMDI4MDM1YzIuLjdlZjIyZTlhNDMxYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9pbmxpbmUvcGFnaW5hdGlvbi1hbmQtY3NzLWxpbmUtY2xh
bXAtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW5saW5lL3BhZ2lu
YXRpb24tYW5kLWNzcy1saW5lLWNsYW1wLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMSArMSBAQAot
UEFTUyBpCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L292ZXJmbG93L2xpbmUt
Y2xhbXAtd2l0aC10cmFpbGluZy1ub24tY29udGVudGZ1bC1ib3hlcy1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9vdmVyZmxvdy9saW5lLWNsYW1wLXdpdGgtdHJhaWxpbmctbm9uLWNv
bnRlbnRmdWwtYm94ZXMtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAuLjMyOWE4MWYxMzI1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvb3ZlcmZsb3cvbGluZS1jbGFtcC13aXRoLXRyYWlsaW5nLW5vbi1jb250ZW50ZnVsLWJv
eGVzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPHN0eWxlPgorLmNsYW1wIHsKKyAg
Zm9udC1mYW1pbHk6IE1vbm9zcGFjZTsKKyAgZm9udC1zaXplOiAxMnB4OworICBvdmVyZmxvdzog
aGlkZGVuOworICBtYXJnaW4tYm90dG9tOiAxMHB4OworfQorPC9zdHlsZT4KKzxkaXYgY2xhc3M9
ImNsYW1wIj4KKyAgPGRpdj5maXJzdCBsaW5lIGZvbGxvd2VkIGJ5IG91dC1vZi1mbG93IGNvbnRl
bnQuIFBBU1MgaWYgZ3JlZW4gbGluZSBiZWxvdyBzaG93cy48L2Rpdj4KKyAgPGRpdiBzdHlsZT0i
Y29sb3I6IGdyZWVuIj5QQVNTIGlmIHRoaXMgaXMgdmlzaWJsZSBhbmQgdHJhaWxpbmcgZWxsaXBz
aXMgc2hvd3MmI3gyMDI2OzwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9ImNsYW1wIj4KKyAg
PGRpdj5maXJzdCBsaW5lIGZvbGxvd2VkIGJ5IG5vbi1jb250ZW50ZnVsIGlubGluZSBjb250ZW50
LiBQQVNTIGlmIGdyZWVuIGxpbmUgYmVsb3cgc2hvd3MuPC9kaXY+CisgIDxkaXYgc3R5bGU9ImNv
bG9yOiBncmVlbiI+UEFTUyBpZiB0aGlzIGlzIHZpc2libGUgYW5kIHRyYWlsaW5nIGVsbGlwc2lz
IHNob3dzJiN4MjAyNjs8L2Rpdj4KKzwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9vdmVyZmxvdy9saW5lLWNsYW1wLXdpdGgtdHJhaWxpbmctbm9uLWNvbnRlbnRmdWwtYm94ZXMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cvbGluZS1jbGFtcC13aXRoLXRyYWlsaW5n
LW5vbi1jb250ZW50ZnVsLWJveGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwLi44NGI0NWYzNjEwOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L292ZXJmbG93L2xpbmUtY2xhbXAtd2l0aC10cmFpbGluZy1ub24tY29udGVudGZ1bC1ib3hl
cy5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzxzdHlsZT4KKy5jbGFtcCB7CisgIGRpc3BsYXk6IC13
ZWJraXQtYm94OworICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOworICAtd2Via2l0LWxp
bmUtY2xhbXA6IDI7CisgIGZvbnQtZmFtaWx5OiBNb25vc3BhY2U7CisgIGZvbnQtc2l6ZTogMTJw
eDsKKyAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgbWFyZ2luLWJvdHRvbTogMTBweDsKK30KKzwvc3R5
bGU+Cis8ZGl2IGNsYXNzPSJjbGFtcCI+CisgIDxkaXY+Zmlyc3QgbGluZSBmb2xsb3dlZCBieSBv
dXQtb2YtZmxvdyBjb250ZW50LiBQQVNTIGlmIGdyZWVuIGxpbmUgYmVsb3cgc2hvd3MuPGJyPjxk
aXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZSI+PC9kaXY+PC9kaXY+CisgIDxkaXYgc3R5bGU9
ImNvbG9yOiBncmVlbiI+UEFTUyBpZiB0aGlzIGlzIHZpc2libGUgYW5kIHRyYWlsaW5nIGVsbGlw
c2lzIHNob3dzPGJyPnRoaXJkIGxpbmU8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJjbGFt
cCI+CisgIDxkaXY+Zmlyc3QgbGluZSBmb2xsb3dlZCBieSBub24tY29udGVudGZ1bCBpbmxpbmUg
Y29udGVudC4gUEFTUyBpZiBncmVlbiBsaW5lIGJlbG93IHNob3dzLjxicj48c3Bhbj48L3NwYW4+
PC9kaXY+CisgIDxkaXYgc3R5bGU9ImNvbG9yOiBncmVlbiI+UEFTUyBpZiB0aGlzIGlzIHZpc2li
bGUgYW5kIHRyYWlsaW5nIGVsbGlwc2lzIHNob3dzPGJyPnRoaXJkIGxpbmU8L2Rpdj4KKzwvZGl2
Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>