<?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>304294</bug_id>
          
          <creation_ts>2025-12-16 15:52:25 -0800</creation_ts>
          <short_desc>[subpixel-inline-layout] first and lastLineBaseline functions should consult subpixelInlineLayoutEnabled() before rounding</short_desc>
          <delta_ts>2025-12-17 08:53:14 -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>2166440</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2025-12-16 15:52:25 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2166444</commentid>
    <comment_count>1</comment_count>
      <attachid>477759</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-12-16 15:55:04 -0800</bug_when>
    <thetext>Created attachment 477759
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2166491</commentid>
    <comment_count>2</comment_count>
      <attachid>477761</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-12-16 19:22:50 -0800</bug_when>
    <thetext>Created attachment 477761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2166584</commentid>
    <comment_count>3</comment_count>
      <attachid>477765</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-12-17 05:42:22 -0800</bug_when>
    <thetext>Created attachment 477765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2166606</commentid>
    <comment_count>4</comment_count>
      <attachid>477767</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-12-17 07:35:21 -0800</bug_when>
    <thetext>Created attachment 477767
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2166624</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-12-17 08:52:48 -0800</bug_when>
    <thetext>Committed 304597@main (12e97068a33e): &lt;https://commits.webkit.org/304597@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 477767.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2166625</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-12-17 08:53:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/166710482&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>477759</attachid>
            <date>2025-12-16 15:55:04 -0800</date>
            <delta_ts>2025-12-16 19:22:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-304294-20251216155503.patch</filename>
            <type>text/plain</type>
            <size>9719</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBjNWU0NmUxZmNhNGRmZTBjM2MwOGRiODNiOGIwMTk2MDllZTM3ZDljIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFR1ZSwgMTYgRGVjIDIwMjUgMTU6NTI6MzMgLTA4MDAKU3ViamVjdDogW1BBVENIXSBbc3VicGl4
ZWwtaW5saW5lLWxheW91dF0gZmlyc3QgYW5kIGxhc3RMaW5lQmFzZWxpbmUgZnVuY3Rpb25zCiBz
aG91bGQgY29uc3VsdCBzdWJwaXhlbElubGluZUxheW91dEVuYWJsZWQoKSBiZWZvcmUgcm91bmRp
bmcKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDQyOTQKClJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3Igc3VwcG9y
dGluZyBzdWJwaXhlbCBpbmxpbmUgbGF5b3V0IChiYXNlbGluZSBwb3NpdGlvbikuCgoqIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CihXZWJDb3JlOjpSZW5kZXJCbG9j
azo6Zmlyc3RMaW5lQmFzZWxpbmUgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyQmxvY2s6Omxhc3RM
aW5lQmFzZWxpbmUgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuY3BwOgooV2ViQ29yZTo6bGluZUhlaWdodEZvckVtcHR5Q29udGVudCk6CihXZWJDb3Jl
OjpSZW5kZXJCbG9ja0Zsb3c6OmZpcnN0TGluZUJhc2VsaW5lIGNvbnN0KToKKFdlYkNvcmU6OlJl
bmRlckJsb2NrRmxvdzo6bGFzdExpbmVCYXNlbGluZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxl
Qm94OjpmaXJzdExpbmVCYXNlbGluZSBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJv
eDo6bGFzdExpbmVCYXNlbGluZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuY3BwOgooV2ViQ29yZTo6UmVuZGVyR3JpZDo6Zmlyc3RMaW5lQmFzZWxpbmUgY29u
c3QpOgooV2ViQ29yZTo6UmVuZGVyR3JpZDo6bGFzdExpbmVCYXNlbGluZSBjb25zdCk6CiogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKFdlYkNvcmU6OlJlbmRlclRh
YmxlOjpmaXJzdExpbmVCYXNlbGluZSBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJUYWJsZTo6bGFz
dExpbmVCYXNlbGluZSBjb25zdCk6Ci0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcCAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrRmxvdy5jcHAgIHwgMjAgKysrKysrKysrKystLS0tLS0tLQogLi4uL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwICAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcCAgICAgIHwgIDUgKysrLS0KIDUgZmlsZXMgY2hhbmdl
ZCwgMjEgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggZGNkZjhmMmQxOWNmLi44NWNhY2FhNWU4ODggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMjQ1Niw3ICsyNDU2
LDcgQEAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJCbG9jazo6Zmlyc3RMaW5lQmFz
ZWxpbmUoKSBjb25zdAogICAgICAgICAgICAgaWYgKGNoaWxkLT5pc0xlZ2VuZCgpICYmIGNoaWxk
LT5pc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICAgICAgaWYgKGF1dG8gYmFzZWxpbmUgPSBjaGlsZC0+Zmlyc3RMaW5lQmFzZWxp
bmUoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gY2hpbGQtPmxvZ2ljYWxUb3AoKS50b0ludCgp
ICsgKmJhc2VsaW5lOworICAgICAgICAgICAgICAgIHJldHVybiBzZXR0aW5ncygpLnN1YnBpeGVs
SW5saW5lTGF5b3V0RW5hYmxlZCgpID8gTGF5b3V0VW5pdChjaGlsZC0+bG9naWNhbFRvcCgpKSA6
IExheW91dFVuaXQoY2hpbGQtPmxvZ2ljYWxUb3AoKS50b0ludCgpKSArICpiYXNlbGluZTsKICAg
ICAgICAgfQogICAgICAgICByZXR1cm4geyB9OwogICAgIH07CkBAIC0yNDc2LDcgKzI0NzYsNyBA
QCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckJsb2NrOjpsYXN0TGluZUJhc2VsaW5l
KCkgY29uc3QKICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNMZWdlbmQoKSAmJiBjaGlsZC0+aXNF
eGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgICAgIGlmIChhdXRvIGJhc2VsaW5lID0gY2hpbGQtPmxhc3RMaW5lQmFzZWxpbmUoKSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gY2hpbGQtPmxvZ2ljYWxUb3AoKS50b0ludCgpICsgKmJh
c2VsaW5lOworICAgICAgICAgICAgICAgIHJldHVybiBzZXR0aW5ncygpLnN1YnBpeGVsSW5saW5l
TGF5b3V0RW5hYmxlZCgpID8gTGF5b3V0VW5pdChjaGlsZC0+bG9naWNhbFRvcCgpKSA6IExheW91
dFVuaXQoY2hpbGQtPmxvZ2ljYWxUb3AoKS50b0ludCgpKSArICpiYXNlbGluZTsKICAgICAgICAg
fQogICAgICAgICByZXR1cm4geyB9OwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IGRlZTBmYTVlODYyZi4uYzQ0MTRiNzNmZmU1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcApAQCAtMzMy
NCw2ICszMzI0LDE0IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjphZGRPdmVyZmxvd0Zyb21JbkZs
b3dDaGlsZHJlbihPcHRpb25TZXQ8Q29tcHV0ZU92ZXJmbG93T3B0CiAgICAgICAgIFJlbmRlckJs
b2NrOjphZGRPdmVyZmxvd0Zyb21JbkZsb3dDaGlsZHJlbihvcHRpb25zKTsKIH0KIAorc3RhdGlj
IGZsb2F0IGxpbmVIZWlnaHRGb3JFbXB0eUNvbnRlbnQoYXV0byYgc3R5bGUsIGF1dG8gc2hvdWxk
Um91bmRUb0ludGVncmFsKQoreworICAgIGF1dG8mIGZvbnRNZXRyaWNzID0gc3R5bGUubWV0cmlj
c09mUHJpbWFyeUZvbnQoKTsKKyAgICBhdXRvIGFzY2VudCA9IHNob3VsZFJvdW5kVG9JbnRlZ3Jh
bCA/IGZvbnRNZXRyaWNzLmludEFzY2VudCgpIDogZm9udE1ldHJpY3MuYXNjZW50KCk7CisgICAg
YXV0byBmb250SGVpZ2h0ID0gc2hvdWxkUm91bmRUb0ludGVncmFsID8gZm9udE1ldHJpY3MuaW50
SGVpZ2h0KCkgOiBmb250TWV0cmljcy5oZWlnaHQoKTsKKyAgICByZXR1cm4gYXNjZW50ICsgKHN0
eWxlLmNvbXB1dGVkTGluZUhlaWdodCgpIC0gZm9udEhlaWdodCkgLyAyLmY7Cit9CisKIHN0ZDo6
b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVyQmxvY2tGbG93OjpmaXJzdExpbmVCYXNlbGluZSgp
IGNvbnN0CiB7CiAgICAgaWYgKGlzV3JpdGluZ01vZGVSb290KCkgJiYgIWlzR3JpZEl0ZW0oKSAm
JiAhaXNGbGV4SXRlbSgpKQpAQCAtMzMzOCwxMCArMzM0Niw4IEBAIHN0ZDo6b3B0aW9uYWw8TGF5
b3V0VW5pdD4gUmVuZGVyQmxvY2tGbG93OjpmaXJzdExpbmVCYXNlbGluZSgpIGNvbnN0CiAgICAg
aWYgKGF1dG8qIGxpbmVMYXlvdXQgPSB0aGlzLT5pbmxpbmVMYXlvdXQoKSkKICAgICAgICAgcmV0
dXJuIGxpbmVMYXlvdXQtPmZpcnN0TGluZUJhc2VsaW5lKCk7CiAKLSAgICBpZiAoaGFzTGluZUlm
RW1wdHkoKSkgewotICAgICAgICBhdXRvJiBmb250TWV0cmljcyA9IGZpcnN0TGluZVN0eWxlKCku
bWV0cmljc09mUHJpbWFyeUZvbnQoKTsKLSAgICAgICAgcmV0dXJuIHsgTGF5b3V0VW5pdChib3Jk
ZXJBbmRQYWRkaW5nQmVmb3JlKCkgKyBmb250TWV0cmljcy5pbnRBc2NlbnQoKSArIChmaXJzdExp
bmVTdHlsZSgpLmNvbXB1dGVkTGluZUhlaWdodCgpIC0gZm9udE1ldHJpY3MuaW50SGVpZ2h0KCkp
IC8gMikgfTsKLSAgICB9CisgICAgaWYgKGhhc0xpbmVJZkVtcHR5KCkpCisgICAgICAgIHJldHVy
biBMYXlvdXRVbml0IHsgYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpICsgbGluZUhlaWdodEZvckVt
cHR5Q29udGVudChmaXJzdExpbmVTdHlsZSgpLCBzZXR0aW5ncygpLnN1YnBpeGVsSW5saW5lTGF5
b3V0RW5hYmxlZCgpKSB9OwogCiAgICAgcmV0dXJuIHsgfTsKIH0KQEAgLTMzNjAsMTAgKzMzNjYs
OCBAQCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckJsb2NrRmxvdzo6bGFzdExpbmVC
YXNlbGluZSgpIGNvbnN0CiAgICAgaWYgKGF1dG8qIGxpbmVMYXlvdXQgPSB0aGlzLT5pbmxpbmVM
YXlvdXQoKSkKICAgICAgICAgcmV0dXJuIGxpbmVMYXlvdXQtPmxhc3RMaW5lQmFzZWxpbmUoKTsK
IAotICAgIGlmIChoYXNMaW5lSWZFbXB0eSgpKSB7Ci0gICAgICAgIGF1dG8mIGZvbnRNZXRyaWNz
ID0gc3R5bGUoKS5tZXRyaWNzT2ZQcmltYXJ5Rm9udCgpOwotICAgICAgICByZXR1cm4geyBMYXlv
dXRVbml0KGJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKSArIGZvbnRNZXRyaWNzLmludEFzY2VudCgp
ICsgKHN0eWxlKCkuY29tcHV0ZWRMaW5lSGVpZ2h0KCkgLSBmb250TWV0cmljcy5pbnRIZWlnaHQo
KSkgLyAyKSB9OwotICAgIH0KKyAgICBpZiAoaGFzTGluZUlmRW1wdHkoKSkKKyAgICAgICAgcmV0
dXJuIExheW91dFVuaXQgeyBib3JkZXJBbmRQYWRkaW5nQmVmb3JlKCkgKyBsaW5lSGVpZ2h0Rm9y
RW1wdHlDb250ZW50KHN0eWxlKCksIHNldHRpbmdzKCkuc3VicGl4ZWxJbmxpbmVMYXlvdXRFbmFi
bGVkKCkpIH07CiAKICAgICByZXR1cm4geyB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggNGZiN2UwM2QyYThkLi43NDkzMzY4ODM2
ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJv
eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNw
cApAQCAtMzI4LDcgKzMyOCw3IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVyRmxl
eGlibGVCb3g6OmZpcnN0TGluZUJhc2VsaW5lKCkgY29uc3QKICAgICAgICAgYXV0byBkb21pbmFu
dEJhc2VsaW5lID0gQmFzZWxpbmVBbGlnbm1lbnRTdGF0ZTo6ZG9taW5hbnRCYXNlbGluZShmbGV4
Ym94V3JpdGluZ01vZGUpOwogICAgICAgICBiYXNlbGluZSA9IEJhc2VsaW5lQWxpZ25tZW50U3Rh
dGU6OnN5bnRoZXNpemVkQmFzZWxpbmUoKmJhc2VsaW5lRmxleEl0ZW0sIGRvbWluYW50QmFzZWxp
bmUsIGZsZXhib3hXcml0aW5nTW9kZSwgZGlyZWN0aW9uLCBCYXNlbGluZVN5bnRoZXNpc0VkZ2U6
OkJvcmRlckJveCk7CiAgICAgfQotICAgIHJldHVybiBiYXNlbGluZUZsZXhJdGVtLT5sb2dpY2Fs
VG9wKCkudG9JbnQoKSArICpiYXNlbGluZTsKKyAgICByZXR1cm4gc2V0dGluZ3MoKS5zdWJwaXhl
bElubGluZUxheW91dEVuYWJsZWQoKSA/IExheW91dFVuaXQoYmFzZWxpbmVGbGV4SXRlbS0+bG9n
aWNhbFRvcCgpKSA6IExheW91dFVuaXQoYmFzZWxpbmVGbGV4SXRlbS0+bG9naWNhbFRvcCgpLnRv
SW50KCkpICsgKmJhc2VsaW5lOwogfQogCiBzdGQ6Om9wdGlvbmFsIDxMYXlvdXRVbml0PiBSZW5k
ZXJGbGV4aWJsZUJveDo6bGFzdExpbmVCYXNlbGluZSgpIGNvbnN0CkBAIC0zNTUsNyArMzU1LDcg
QEAgc3RkOjpvcHRpb25hbCA8TGF5b3V0VW5pdD4gUmVuZGVyRmxleGlibGVCb3g6Omxhc3RMaW5l
QmFzZWxpbmUoKSBjb25zdAogICAgICAgICBhdXRvIGRvbWluYW50QmFzZWxpbmUgPSBCYXNlbGlu
ZUFsaWdubWVudFN0YXRlOjpkb21pbmFudEJhc2VsaW5lKGZsZXhib3hXcml0aW5nTW9kZSk7CiAg
ICAgICAgIGJhc2VsaW5lID0gQmFzZWxpbmVBbGlnbm1lbnRTdGF0ZTo6c3ludGhlc2l6ZWRCYXNl
bGluZSgqYmFzZWxpbmVGbGV4SXRlbSwgZG9taW5hbnRCYXNlbGluZSwgZmxleGJveFdyaXRpbmdN
b2RlLCBkaXJlY3Rpb24sIEJhc2VsaW5lU3ludGhlc2lzRWRnZTo6Qm9yZGVyQm94KTsKICAgICB9
Ci0gICAgcmV0dXJuIGJhc2VsaW5lRmxleEl0ZW0tPmxvZ2ljYWxUb3AoKS50b0ludCgpICsgKmJh
c2VsaW5lOworICAgIHJldHVybiBzZXR0aW5ncygpLnN1YnBpeGVsSW5saW5lTGF5b3V0RW5hYmxl
ZCgpID8gTGF5b3V0VW5pdChiYXNlbGluZUZsZXhJdGVtLT5sb2dpY2FsVG9wKCkpIDogTGF5b3V0
VW5pdChiYXNlbGluZUZsZXhJdGVtLT5sb2dpY2FsVG9wKCkudG9JbnQoKSkgKyAqYmFzZWxpbmU7
CiB9CiAKIHN0YXRpYyBjb25zdCBTdHlsZUNvbnRlbnRBbGlnbm1lbnREYXRhJiBjb250ZW50QWxp
Z25tZW50Tm9ybWFsQmVoYXZpb3IoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQu
Y3BwCmluZGV4IGFkNzk4YjMwNzE4Yy4uMTQ2YmFiYzRiMDVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0xOTQ0LDcgKzE5NDQsNyBAQCBzdGQ6Om9wdGlvbmFs
PExheW91dFVuaXQ+IFJlbmRlckdyaWQ6OmZpcnN0TGluZUJhc2VsaW5lKCkgY29uc3QKICAgICAg
ICAgYXV0byBkaXJlY3Rpb24gPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gTGluZURpcmVj
dGlvbjo6SG9yaXpvbnRhbCA6IExpbmVEaXJlY3Rpb246OlZlcnRpY2FsOwogICAgICAgICBiYXNl
bGluZSA9IEJhc2VsaW5lQWxpZ25tZW50U3RhdGU6OnN5bnRoZXNpemVkQmFzZWxpbmUoKmJhc2Vs
aW5lR3JpZEl0ZW0sIGRvbWluYW50QmFzZWxpbmUsIGdyaWRXcml0aW5nTW9kZSwgZGlyZWN0aW9u
LCBCYXNlbGluZVN5bnRoZXNpc0VkZ2U6OkJvcmRlckJveCk7CiAgICAgfQotICAgIHJldHVybiBs
b2dpY2FsVG9wRm9yQ2hpbGQoKmJhc2VsaW5lR3JpZEl0ZW0pLnRvSW50KCkgKyAqYmFzZWxpbmU7
CisgICAgcmV0dXJuIHNldHRpbmdzKCkuc3VicGl4ZWxJbmxpbmVMYXlvdXRFbmFibGVkKCkgPyBM
YXlvdXRVbml0KGxvZ2ljYWxUb3BGb3JDaGlsZCgqYmFzZWxpbmVHcmlkSXRlbSkpIDogTGF5b3V0
VW5pdChsb2dpY2FsVG9wRm9yQ2hpbGQoKmJhc2VsaW5lR3JpZEl0ZW0pLnRvSW50KCkpICsgKmJh
c2VsaW5lOwogfQogCiBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckdyaWQ6Omxhc3RM
aW5lQmFzZWxpbmUoKSBjb25zdApAQCAtMTk2Niw3ICsxOTY2LDcgQEAgc3RkOjpvcHRpb25hbDxM
YXlvdXRVbml0PiBSZW5kZXJHcmlkOjpsYXN0TGluZUJhc2VsaW5lKCkgY29uc3QKICAgICAgICAg
YXV0byBkb21pbmFudEJhc2VsaW5lID0gQmFzZWxpbmVBbGlnbm1lbnRTdGF0ZTo6ZG9taW5hbnRC
YXNlbGluZShncmlkV3JpdGluZ01vZGUpOwogICAgICAgICBiYXNlbGluZSA9IEJhc2VsaW5lQWxp
Z25tZW50U3RhdGU6OnN5bnRoZXNpemVkQmFzZWxpbmUoKmJhc2VsaW5lR3JpZEl0ZW0sIGRvbWlu
YW50QmFzZWxpbmUsIGdyaWRXcml0aW5nTW9kZSwgZGlyZWN0aW9uLCBCYXNlbGluZVN5bnRoZXNp
c0VkZ2U6OkJvcmRlckJveCk7CiAgICAgfQotICAgIHJldHVybiBsb2dpY2FsVG9wRm9yQ2hpbGQo
KmJhc2VsaW5lR3JpZEl0ZW0pLnRvSW50KCkgKyAqYmFzZWxpbmU7CisgICAgcmV0dXJuIHNldHRp
bmdzKCkuc3VicGl4ZWxJbmxpbmVMYXlvdXRFbmFibGVkKCkgPyBMYXlvdXRVbml0KGxvZ2ljYWxU
b3BGb3JDaGlsZCgqYmFzZWxpbmVHcmlkSXRlbSkpIDogTGF5b3V0VW5pdChsb2dpY2FsVG9wRm9y
Q2hpbGQoKmJhc2VsaW5lR3JpZEl0ZW0pLnRvSW50KCkpICsgKmJhc2VsaW5lOwogfQogCiBjb25z
dCBSZW5kZXJCb3gqIFJlbmRlckdyaWQ6OmJhc2VsaW5lR3JpZEl0ZW0oSXRlbVBvc2l0aW9uIGFs
aWdubWVudCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCmlu
ZGV4IDA2NzZjYzk1M2ZhMS4uNDcxNTYzMTAxZGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZS5jcHAKQEAgLTU4LDYgKzU4LDcgQEAKICNpbmNsdWRlICJSZW5kZXJUYWJs
ZVNlY3Rpb25JbmxpbmVzLmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXIuaCIKICNpbmNs
dWRlICJSZW5kZXJWaWV3LmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdHls
ZUJveFNoYWRvdy5oIgogI2luY2x1ZGUgIlN0eWxlSW5oZXJpdGVkRGF0YS5oIgogI2luY2x1ZGUg
IlN0eWxlUHJpbWl0aXZlTnVtZXJpY1R5cGVzK0V2YWx1YXRpb24uaCIKQEAgLTE2MTksNyArMTYy
MCw3IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVyVGFibGU6OmZpcnN0TGluZUJh
c2VsaW5lKCkgY29uc3QKICAgICAgICAgLy8gVGhlIGJhc2VsaW5lIG9mIGFuIGVtcHR5IHJvdyBp
c24ndCBzcGVjaWZpZWQgYnkgQ1NTIDIuMS4KICAgICAgICAgYmFzZWxpbmUgPSAwX2x1OwogICAg
IH0KLSAgICByZXR1cm4gYmFzZWxpbmUgPyBzdGQ6Om9wdGlvbmFsKHRvcE5vbkVtcHR5U2VjdGlv
bi0+bG9naWNhbFRvcCgpLnRvSW50KCkgKyAqYmFzZWxpbmUpIDogc3RkOjpudWxsb3B0OworICAg
IHJldHVybiBiYXNlbGluZSA/IHN0ZDo6b3B0aW9uYWwoc2V0dGluZ3MoKS5zdWJwaXhlbElubGlu
ZUxheW91dEVuYWJsZWQoKSA/IExheW91dFVuaXQodG9wTm9uRW1wdHlTZWN0aW9uLT5sb2dpY2Fs
VG9wKCkpIDogTGF5b3V0VW5pdCh0b3BOb25FbXB0eVNlY3Rpb24tPmxvZ2ljYWxUb3AoKS50b0lu
dCgpKSArICpiYXNlbGluZSkgOiBzdGQ6Om51bGxvcHQ7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8TGF5
b3V0VW5pdD4gUmVuZGVyVGFibGU6Omxhc3RMaW5lQmFzZWxpbmUoKSBjb25zdApAQCAtMTYzNCw3
ICsxNjM1LDcgQEAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJUYWJsZTo6bGFzdExp
bmVCYXNlbGluZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiB7IH07CiAKICAgICBpZiAoYXV0byBs
YXN0TGluZUJhc2VsaW5lID0gdGFibGVTZWN0aW9uLT5sYXN0TGluZUJhc2VsaW5lKCkpCi0gICAg
ICAgIHJldHVybiB0YWJsZVNlY3Rpb24tPmxvZ2ljYWxUb3AoKS50b0ludCgpICsgKmxhc3RMaW5l
QmFzZWxpbmU7CisgICAgICAgIHJldHVybiBzZXR0aW5ncygpLnN1YnBpeGVsSW5saW5lTGF5b3V0
RW5hYmxlZCgpID8gTGF5b3V0VW5pdCh0YWJsZVNlY3Rpb24tPmxvZ2ljYWxUb3AoKSkgOiBMYXlv
dXRVbml0KHRhYmxlU2VjdGlvbi0+bG9naWNhbFRvcCgpLnRvSW50KCkpICsgKmxhc3RMaW5lQmFz
ZWxpbmU7CiAgICAgcmV0dXJuIHsgfTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>477761</attachid>
            <date>2025-12-16 19:22:50 -0800</date>
            <delta_ts>2025-12-17 05:42:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-304294-20251216192249.patch</filename>
            <type>text/plain</type>
            <size>9760</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAzNWQ5YTliMDI5ODM2NTlmODQ3M2YxOTJmYWIzZmYyNzUzN2VkNmRiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFR1ZSwgMTYgRGVjIDIwMjUgMTU6NTI6MzMgLTA4MDAKU3ViamVjdDogW1BBVENIXSBbc3VicGl4
ZWwtaW5saW5lLWxheW91dF0gZmlyc3QgYW5kIGxhc3RMaW5lQmFzZWxpbmUgZnVuY3Rpb25zCiBz
aG91bGQgY29uc3VsdCBzdWJwaXhlbElubGluZUxheW91dEVuYWJsZWQoKSBiZWZvcmUgcm91bmRp
bmcKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDQyOTQKClJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3Igc3VwcG9y
dGluZyBzdWJwaXhlbCBpbmxpbmUgbGF5b3V0IChiYXNlbGluZSBwb3NpdGlvbikuCgoqIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CihXZWJDb3JlOjpSZW5kZXJCbG9j
azo6Zmlyc3RMaW5lQmFzZWxpbmUgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyQmxvY2s6Omxhc3RM
aW5lQmFzZWxpbmUgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuY3BwOgooV2ViQ29yZTo6bGluZUhlaWdodEZvckVtcHR5Q29udGVudCk6CihXZWJDb3Jl
OjpSZW5kZXJCbG9ja0Zsb3c6OmZpcnN0TGluZUJhc2VsaW5lIGNvbnN0KToKKFdlYkNvcmU6OlJl
bmRlckJsb2NrRmxvdzo6bGFzdExpbmVCYXNlbGluZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxl
Qm94OjpmaXJzdExpbmVCYXNlbGluZSBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJv
eDo6bGFzdExpbmVCYXNlbGluZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuY3BwOgooV2ViQ29yZTo6UmVuZGVyR3JpZDo6Zmlyc3RMaW5lQmFzZWxpbmUgY29u
c3QpOgooV2ViQ29yZTo6UmVuZGVyR3JpZDo6bGFzdExpbmVCYXNlbGluZSBjb25zdCk6CiogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKFdlYkNvcmU6OlJlbmRlclRh
YmxlOjpmaXJzdExpbmVCYXNlbGluZSBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJUYWJsZTo6bGFz
dExpbmVCYXNlbGluZSBjb25zdCk6Ci0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcCAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrRmxvdy5jcHAgIHwgMjAgKysrKysrKysrKystLS0tLS0tLQogLi4uL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwICAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcCAgICAgIHwgIDYgKysrKy0tCiA1IGZpbGVzIGNoYW5n
ZWQsIDIyIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IGRjZGY4ZjJkMTljZi4uYjU0MmEyMDgzZWVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTI0NTYsNyArMjQ1
Niw3IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVyQmxvY2s6OmZpcnN0TGluZUJh
c2VsaW5lKCkgY29uc3QKICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNMZWdlbmQoKSAmJiBjaGls
ZC0+aXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoKSkKICAgICAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgICAgIGlmIChhdXRvIGJhc2VsaW5lID0gY2hpbGQtPmZpcnN0TGluZUJhc2Vs
aW5lKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkLT5sb2dpY2FsVG9wKCkudG9JbnQo
KSArICpiYXNlbGluZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gKHNldHRpbmdzKCkuc3VicGl4
ZWxJbmxpbmVMYXlvdXRFbmFibGVkKCkgPyBMYXlvdXRVbml0KGNoaWxkLT5sb2dpY2FsVG9wKCkp
IDogTGF5b3V0VW5pdChjaGlsZC0+bG9naWNhbFRvcCgpLnRvSW50KCkpKSArICpiYXNlbGluZTsK
ICAgICAgICAgfQogICAgICAgICByZXR1cm4geyB9OwogICAgIH07CkBAIC0yNDc2LDcgKzI0NzYs
NyBAQCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckJsb2NrOjpsYXN0TGluZUJhc2Vs
aW5lKCkgY29uc3QKICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNMZWdlbmQoKSAmJiBjaGlsZC0+
aXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsK
ICAgICAgICAgICAgIGlmIChhdXRvIGJhc2VsaW5lID0gY2hpbGQtPmxhc3RMaW5lQmFzZWxpbmUo
KSkKLSAgICAgICAgICAgICAgICByZXR1cm4gY2hpbGQtPmxvZ2ljYWxUb3AoKS50b0ludCgpICsg
KmJhc2VsaW5lOworICAgICAgICAgICAgICAgIHJldHVybiAoc2V0dGluZ3MoKS5zdWJwaXhlbElu
bGluZUxheW91dEVuYWJsZWQoKSA/IExheW91dFVuaXQoY2hpbGQtPmxvZ2ljYWxUb3AoKSkgOiBM
YXlvdXRVbml0KGNoaWxkLT5sb2dpY2FsVG9wKCkudG9JbnQoKSkpICsgKmJhc2VsaW5lOwogICAg
ICAgICB9CiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggZGVlMGZhNWU4NjJmLi5jNDQxNGI3M2Zm
ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBA
IC0zMzI0LDYgKzMzMjQsMTQgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmFkZE92ZXJmbG93RnJv
bUluRmxvd0NoaWxkcmVuKE9wdGlvblNldDxDb21wdXRlT3ZlcmZsb3dPcHQKICAgICAgICAgUmVu
ZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUluRmxvd0NoaWxkcmVuKG9wdGlvbnMpOwogfQogCitz
dGF0aWMgZmxvYXQgbGluZUhlaWdodEZvckVtcHR5Q29udGVudChhdXRvJiBzdHlsZSwgYXV0byBz
aG91bGRSb3VuZFRvSW50ZWdyYWwpCit7CisgICAgYXV0byYgZm9udE1ldHJpY3MgPSBzdHlsZS5t
ZXRyaWNzT2ZQcmltYXJ5Rm9udCgpOworICAgIGF1dG8gYXNjZW50ID0gc2hvdWxkUm91bmRUb0lu
dGVncmFsID8gZm9udE1ldHJpY3MuaW50QXNjZW50KCkgOiBmb250TWV0cmljcy5hc2NlbnQoKTsK
KyAgICBhdXRvIGZvbnRIZWlnaHQgPSBzaG91bGRSb3VuZFRvSW50ZWdyYWwgPyBmb250TWV0cmlj
cy5pbnRIZWlnaHQoKSA6IGZvbnRNZXRyaWNzLmhlaWdodCgpOworICAgIHJldHVybiBhc2NlbnQg
KyAoc3R5bGUuY29tcHV0ZWRMaW5lSGVpZ2h0KCkgLSBmb250SGVpZ2h0KSAvIDIuZjsKK30KKwog
c3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJCbG9ja0Zsb3c6OmZpcnN0TGluZUJhc2Vs
aW5lKCkgY29uc3QKIHsKICAgICBpZiAoaXNXcml0aW5nTW9kZVJvb3QoKSAmJiAhaXNHcmlkSXRl
bSgpICYmICFpc0ZsZXhJdGVtKCkpCkBAIC0zMzM4LDEwICszMzQ2LDggQEAgc3RkOjpvcHRpb25h
bDxMYXlvdXRVbml0PiBSZW5kZXJCbG9ja0Zsb3c6OmZpcnN0TGluZUJhc2VsaW5lKCkgY29uc3QK
ICAgICBpZiAoYXV0byogbGluZUxheW91dCA9IHRoaXMtPmlubGluZUxheW91dCgpKQogICAgICAg
ICByZXR1cm4gbGluZUxheW91dC0+Zmlyc3RMaW5lQmFzZWxpbmUoKTsKIAotICAgIGlmIChoYXNM
aW5lSWZFbXB0eSgpKSB7Ci0gICAgICAgIGF1dG8mIGZvbnRNZXRyaWNzID0gZmlyc3RMaW5lU3R5
bGUoKS5tZXRyaWNzT2ZQcmltYXJ5Rm9udCgpOwotICAgICAgICByZXR1cm4geyBMYXlvdXRVbml0
KGJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKSArIGZvbnRNZXRyaWNzLmludEFzY2VudCgpICsgKGZp
cnN0TGluZVN0eWxlKCkuY29tcHV0ZWRMaW5lSGVpZ2h0KCkgLSBmb250TWV0cmljcy5pbnRIZWln
aHQoKSkgLyAyKSB9OwotICAgIH0KKyAgICBpZiAoaGFzTGluZUlmRW1wdHkoKSkKKyAgICAgICAg
cmV0dXJuIExheW91dFVuaXQgeyBib3JkZXJBbmRQYWRkaW5nQmVmb3JlKCkgKyBsaW5lSGVpZ2h0
Rm9yRW1wdHlDb250ZW50KGZpcnN0TGluZVN0eWxlKCksIHNldHRpbmdzKCkuc3VicGl4ZWxJbmxp
bmVMYXlvdXRFbmFibGVkKCkpIH07CiAKICAgICByZXR1cm4geyB9OwogfQpAQCAtMzM2MCwxMCAr
MzM2Niw4IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVyQmxvY2tGbG93OjpsYXN0
TGluZUJhc2VsaW5lKCkgY29uc3QKICAgICBpZiAoYXV0byogbGluZUxheW91dCA9IHRoaXMtPmlu
bGluZUxheW91dCgpKQogICAgICAgICByZXR1cm4gbGluZUxheW91dC0+bGFzdExpbmVCYXNlbGlu
ZSgpOwogCi0gICAgaWYgKGhhc0xpbmVJZkVtcHR5KCkpIHsKLSAgICAgICAgYXV0byYgZm9udE1l
dHJpY3MgPSBzdHlsZSgpLm1ldHJpY3NPZlByaW1hcnlGb250KCk7Ci0gICAgICAgIHJldHVybiB7
IExheW91dFVuaXQoYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpICsgZm9udE1ldHJpY3MuaW50QXNj
ZW50KCkgKyAoc3R5bGUoKS5jb21wdXRlZExpbmVIZWlnaHQoKSAtIGZvbnRNZXRyaWNzLmludEhl
aWdodCgpKSAvIDIpIH07Ci0gICAgfQorICAgIGlmIChoYXNMaW5lSWZFbXB0eSgpKQorICAgICAg
ICByZXR1cm4gTGF5b3V0VW5pdCB7IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKSArIGxpbmVIZWln
aHRGb3JFbXB0eUNvbnRlbnQoc3R5bGUoKSwgc2V0dGluZ3MoKS5zdWJwaXhlbElubGluZUxheW91
dEVuYWJsZWQoKSkgfTsKIAogICAgIHJldHVybiB7IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCA0ZmI3ZTAzZDJhOGQuLjk4MGQ4
MmEzNmIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhp
YmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVC
b3guY3BwCkBAIC0zMjgsNyArMzI4LDcgQEAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBSZW5k
ZXJGbGV4aWJsZUJveDo6Zmlyc3RMaW5lQmFzZWxpbmUoKSBjb25zdAogICAgICAgICBhdXRvIGRv
bWluYW50QmFzZWxpbmUgPSBCYXNlbGluZUFsaWdubWVudFN0YXRlOjpkb21pbmFudEJhc2VsaW5l
KGZsZXhib3hXcml0aW5nTW9kZSk7CiAgICAgICAgIGJhc2VsaW5lID0gQmFzZWxpbmVBbGlnbm1l
bnRTdGF0ZTo6c3ludGhlc2l6ZWRCYXNlbGluZSgqYmFzZWxpbmVGbGV4SXRlbSwgZG9taW5hbnRC
YXNlbGluZSwgZmxleGJveFdyaXRpbmdNb2RlLCBkaXJlY3Rpb24sIEJhc2VsaW5lU3ludGhlc2lz
RWRnZTo6Qm9yZGVyQm94KTsKICAgICB9Ci0gICAgcmV0dXJuIGJhc2VsaW5lRmxleEl0ZW0tPmxv
Z2ljYWxUb3AoKS50b0ludCgpICsgKmJhc2VsaW5lOworICAgIHJldHVybiAoc2V0dGluZ3MoKS5z
dWJwaXhlbElubGluZUxheW91dEVuYWJsZWQoKSA/IExheW91dFVuaXQoYmFzZWxpbmVGbGV4SXRl
bS0+bG9naWNhbFRvcCgpKSA6IExheW91dFVuaXQoYmFzZWxpbmVGbGV4SXRlbS0+bG9naWNhbFRv
cCgpLnRvSW50KCkpKSArICpiYXNlbGluZTsKIH0KIAogc3RkOjpvcHRpb25hbCA8TGF5b3V0VW5p
dD4gUmVuZGVyRmxleGlibGVCb3g6Omxhc3RMaW5lQmFzZWxpbmUoKSBjb25zdApAQCAtMzU1LDcg
KzM1NSw3IEBAIHN0ZDo6b3B0aW9uYWwgPExheW91dFVuaXQ+IFJlbmRlckZsZXhpYmxlQm94Ojps
YXN0TGluZUJhc2VsaW5lKCkgY29uc3QKICAgICAgICAgYXV0byBkb21pbmFudEJhc2VsaW5lID0g
QmFzZWxpbmVBbGlnbm1lbnRTdGF0ZTo6ZG9taW5hbnRCYXNlbGluZShmbGV4Ym94V3JpdGluZ01v
ZGUpOwogICAgICAgICBiYXNlbGluZSA9IEJhc2VsaW5lQWxpZ25tZW50U3RhdGU6OnN5bnRoZXNp
emVkQmFzZWxpbmUoKmJhc2VsaW5lRmxleEl0ZW0sIGRvbWluYW50QmFzZWxpbmUsIGZsZXhib3hX
cml0aW5nTW9kZSwgZGlyZWN0aW9uLCBCYXNlbGluZVN5bnRoZXNpc0VkZ2U6OkJvcmRlckJveCk7
CiAgICAgfQotICAgIHJldHVybiBiYXNlbGluZUZsZXhJdGVtLT5sb2dpY2FsVG9wKCkudG9JbnQo
KSArICpiYXNlbGluZTsKKyAgICByZXR1cm4gKHNldHRpbmdzKCkuc3VicGl4ZWxJbmxpbmVMYXlv
dXRFbmFibGVkKCkgPyBMYXlvdXRVbml0KGJhc2VsaW5lRmxleEl0ZW0tPmxvZ2ljYWxUb3AoKSkg
OiBMYXlvdXRVbml0KGJhc2VsaW5lRmxleEl0ZW0tPmxvZ2ljYWxUb3AoKS50b0ludCgpKSkgKyAq
YmFzZWxpbmU7CiB9CiAKIHN0YXRpYyBjb25zdCBTdHlsZUNvbnRlbnRBbGlnbm1lbnREYXRhJiBj
b250ZW50QWxpZ25tZW50Tm9ybWFsQmVoYXZpb3IoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuY3BwCmluZGV4IGFkNzk4YjMwNzE4Yy4uYTNiYmUyYmRmZjQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0xOTQ0LDcgKzE5NDQsNyBAQCBzdGQ6
Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckdyaWQ6OmZpcnN0TGluZUJhc2VsaW5lKCkgY29u
c3QKICAgICAgICAgYXV0byBkaXJlY3Rpb24gPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8g
TGluZURpcmVjdGlvbjo6SG9yaXpvbnRhbCA6IExpbmVEaXJlY3Rpb246OlZlcnRpY2FsOwogICAg
ICAgICBiYXNlbGluZSA9IEJhc2VsaW5lQWxpZ25tZW50U3RhdGU6OnN5bnRoZXNpemVkQmFzZWxp
bmUoKmJhc2VsaW5lR3JpZEl0ZW0sIGRvbWluYW50QmFzZWxpbmUsIGdyaWRXcml0aW5nTW9kZSwg
ZGlyZWN0aW9uLCBCYXNlbGluZVN5bnRoZXNpc0VkZ2U6OkJvcmRlckJveCk7CiAgICAgfQotICAg
IHJldHVybiBsb2dpY2FsVG9wRm9yQ2hpbGQoKmJhc2VsaW5lR3JpZEl0ZW0pLnRvSW50KCkgKyAq
YmFzZWxpbmU7CisgICAgcmV0dXJuIChzZXR0aW5ncygpLnN1YnBpeGVsSW5saW5lTGF5b3V0RW5h
YmxlZCgpID8gTGF5b3V0VW5pdChsb2dpY2FsVG9wRm9yQ2hpbGQoKmJhc2VsaW5lR3JpZEl0ZW0p
KSA6IExheW91dFVuaXQobG9naWNhbFRvcEZvckNoaWxkKCpiYXNlbGluZUdyaWRJdGVtKS50b0lu
dCgpKSkgKyAqYmFzZWxpbmU7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVy
R3JpZDo6bGFzdExpbmVCYXNlbGluZSgpIGNvbnN0CkBAIC0xOTY2LDcgKzE5NjYsNyBAQCBzdGQ6
Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckdyaWQ6Omxhc3RMaW5lQmFzZWxpbmUoKSBjb25z
dAogICAgICAgICBhdXRvIGRvbWluYW50QmFzZWxpbmUgPSBCYXNlbGluZUFsaWdubWVudFN0YXRl
Ojpkb21pbmFudEJhc2VsaW5lKGdyaWRXcml0aW5nTW9kZSk7CiAgICAgICAgIGJhc2VsaW5lID0g
QmFzZWxpbmVBbGlnbm1lbnRTdGF0ZTo6c3ludGhlc2l6ZWRCYXNlbGluZSgqYmFzZWxpbmVHcmlk
SXRlbSwgZG9taW5hbnRCYXNlbGluZSwgZ3JpZFdyaXRpbmdNb2RlLCBkaXJlY3Rpb24sIEJhc2Vs
aW5lU3ludGhlc2lzRWRnZTo6Qm9yZGVyQm94KTsKICAgICB9Ci0gICAgcmV0dXJuIGxvZ2ljYWxU
b3BGb3JDaGlsZCgqYmFzZWxpbmVHcmlkSXRlbSkudG9JbnQoKSArICpiYXNlbGluZTsKKyAgICBy
ZXR1cm4gKHNldHRpbmdzKCkuc3VicGl4ZWxJbmxpbmVMYXlvdXRFbmFibGVkKCkgPyBMYXlvdXRV
bml0KGxvZ2ljYWxUb3BGb3JDaGlsZCgqYmFzZWxpbmVHcmlkSXRlbSkpIDogTGF5b3V0VW5pdChs
b2dpY2FsVG9wRm9yQ2hpbGQoKmJhc2VsaW5lR3JpZEl0ZW0pLnRvSW50KCkpKSArICpiYXNlbGlu
ZTsKIH0KIAogY29uc3QgUmVuZGVyQm94KiBSZW5kZXJHcmlkOjpiYXNlbGluZUdyaWRJdGVtKEl0
ZW1Qb3NpdGlvbiBhbGlnbm1lbnQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlLmNwcAppbmRleCAwNjc2Y2M5NTNmYTEuLjg0MWFiNWUyZWZjOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCkBAIC01OCw2ICs1OCw3IEBACiAjaW5jbHVk
ZSAiUmVuZGVyVGFibGVTZWN0aW9uSW5saW5lcy5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVCdWls
ZGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAj
aW5jbHVkZSAiU3R5bGVCb3hTaGFkb3cuaCIKICNpbmNsdWRlICJTdHlsZUluaGVyaXRlZERhdGEu
aCIKICNpbmNsdWRlICJTdHlsZVByaW1pdGl2ZU51bWVyaWNUeXBlcytFdmFsdWF0aW9uLmgiCkBA
IC0xNjE5LDcgKzE2MjAsOCBAQCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlclRhYmxl
OjpmaXJzdExpbmVCYXNlbGluZSgpIGNvbnN0CiAgICAgICAgIC8vIFRoZSBiYXNlbGluZSBvZiBh
biBlbXB0eSByb3cgaXNuJ3Qgc3BlY2lmaWVkIGJ5IENTUyAyLjEuCiAgICAgICAgIGJhc2VsaW5l
ID0gMF9sdTsKICAgICB9Ci0gICAgcmV0dXJuIGJhc2VsaW5lID8gc3RkOjpvcHRpb25hbCh0b3BO
b25FbXB0eVNlY3Rpb24tPmxvZ2ljYWxUb3AoKS50b0ludCgpICsgKmJhc2VsaW5lKSA6IHN0ZDo6
bnVsbG9wdDsKKyAgICBhdXRvIGZvb2JhciA9IHNldHRpbmdzKCkuc3VicGl4ZWxJbmxpbmVMYXlv
dXRFbmFibGVkKCkgPyBMYXlvdXRVbml0KHRvcE5vbkVtcHR5U2VjdGlvbi0+bG9naWNhbFRvcCgp
KSA6IExheW91dFVuaXQodG9wTm9uRW1wdHlTZWN0aW9uLT5sb2dpY2FsVG9wKCkudG9JbnQoKSk7
CisgICAgcmV0dXJuIGJhc2VsaW5lID8gc3RkOjpvcHRpb25hbChmb29iYXIrICpiYXNlbGluZSkg
OiBzdGQ6Om51bGxvcHQ7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVyVGFi
bGU6Omxhc3RMaW5lQmFzZWxpbmUoKSBjb25zdApAQCAtMTYzNCw3ICsxNjM2LDcgQEAgc3RkOjpv
cHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJUYWJsZTo6bGFzdExpbmVCYXNlbGluZSgpIGNvbnN0
CiAgICAgICAgIHJldHVybiB7IH07CiAKICAgICBpZiAoYXV0byBsYXN0TGluZUJhc2VsaW5lID0g
dGFibGVTZWN0aW9uLT5sYXN0TGluZUJhc2VsaW5lKCkpCi0gICAgICAgIHJldHVybiB0YWJsZVNl
Y3Rpb24tPmxvZ2ljYWxUb3AoKS50b0ludCgpICsgKmxhc3RMaW5lQmFzZWxpbmU7CisgICAgICAg
IHJldHVybiAoc2V0dGluZ3MoKS5zdWJwaXhlbElubGluZUxheW91dEVuYWJsZWQoKSA/IExheW91
dFVuaXQodGFibGVTZWN0aW9uLT5sb2dpY2FsVG9wKCkpIDogTGF5b3V0VW5pdCh0YWJsZVNlY3Rp
b24tPmxvZ2ljYWxUb3AoKS50b0ludCgpKSkgKyAqbGFzdExpbmVCYXNlbGluZTsKICAgICByZXR1
cm4geyB9OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>477765</attachid>
            <date>2025-12-17 05:42:22 -0800</date>
            <delta_ts>2025-12-17 07:35:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-304294-20251217054221.patch</filename>
            <type>text/plain</type>
            <size>9769</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAxMjViZTEzYjI1ZDU2YjgwYTczZjgwNDc5MGRjODU5MjA1YWU0MmFiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFR1ZSwgMTYgRGVjIDIwMjUgMTU6NTI6MzMgLTA4MDAKU3ViamVjdDogW1BBVENIXSBbc3VicGl4
ZWwtaW5saW5lLWxheW91dF0gZmlyc3QgYW5kIGxhc3RMaW5lQmFzZWxpbmUgZnVuY3Rpb25zCiBz
aG91bGQgY29uc3VsdCBzdWJwaXhlbElubGluZUxheW91dEVuYWJsZWQoKSBiZWZvcmUgcm91bmRp
bmcKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDQyOTQKClJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3Igc3VwcG9y
dGluZyBzdWJwaXhlbCBpbmxpbmUgbGF5b3V0IChiYXNlbGluZSBwb3NpdGlvbikuCgoqIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CihXZWJDb3JlOjpSZW5kZXJCbG9j
azo6Zmlyc3RMaW5lQmFzZWxpbmUgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyQmxvY2s6Omxhc3RM
aW5lQmFzZWxpbmUgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuY3BwOgooV2ViQ29yZTo6bGluZUhlaWdodEZvckVtcHR5Q29udGVudCk6CihXZWJDb3Jl
OjpSZW5kZXJCbG9ja0Zsb3c6OmZpcnN0TGluZUJhc2VsaW5lIGNvbnN0KToKKFdlYkNvcmU6OlJl
bmRlckJsb2NrRmxvdzo6bGFzdExpbmVCYXNlbGluZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxl
Qm94OjpmaXJzdExpbmVCYXNlbGluZSBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJv
eDo6bGFzdExpbmVCYXNlbGluZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuY3BwOgooV2ViQ29yZTo6UmVuZGVyR3JpZDo6Zmlyc3RMaW5lQmFzZWxpbmUgY29u
c3QpOgooV2ViQ29yZTo6UmVuZGVyR3JpZDo6bGFzdExpbmVCYXNlbGluZSBjb25zdCk6CiogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKFdlYkNvcmU6OlJlbmRlclRh
YmxlOjpmaXJzdExpbmVCYXNlbGluZSBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJUYWJsZTo6bGFz
dExpbmVCYXNlbGluZSBjb25zdCk6Ci0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcCAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrRmxvdy5jcHAgIHwgMjAgKysrKysrKysrKystLS0tLS0tLQogLi4uL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwICAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcCAgICAgIHwgIDYgKysrKy0tCiA1IGZpbGVzIGNoYW5n
ZWQsIDIyIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IGRjZGY4ZjJkMTljZi4uYjU0MmEyMDgzZWVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTI0NTYsNyArMjQ1
Niw3IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVyQmxvY2s6OmZpcnN0TGluZUJh
c2VsaW5lKCkgY29uc3QKICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNMZWdlbmQoKSAmJiBjaGls
ZC0+aXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoKSkKICAgICAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgICAgIGlmIChhdXRvIGJhc2VsaW5lID0gY2hpbGQtPmZpcnN0TGluZUJhc2Vs
aW5lKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkLT5sb2dpY2FsVG9wKCkudG9JbnQo
KSArICpiYXNlbGluZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gKHNldHRpbmdzKCkuc3VicGl4
ZWxJbmxpbmVMYXlvdXRFbmFibGVkKCkgPyBMYXlvdXRVbml0KGNoaWxkLT5sb2dpY2FsVG9wKCkp
IDogTGF5b3V0VW5pdChjaGlsZC0+bG9naWNhbFRvcCgpLnRvSW50KCkpKSArICpiYXNlbGluZTsK
ICAgICAgICAgfQogICAgICAgICByZXR1cm4geyB9OwogICAgIH07CkBAIC0yNDc2LDcgKzI0NzYs
NyBAQCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckJsb2NrOjpsYXN0TGluZUJhc2Vs
aW5lKCkgY29uc3QKICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNMZWdlbmQoKSAmJiBjaGlsZC0+
aXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsK
ICAgICAgICAgICAgIGlmIChhdXRvIGJhc2VsaW5lID0gY2hpbGQtPmxhc3RMaW5lQmFzZWxpbmUo
KSkKLSAgICAgICAgICAgICAgICByZXR1cm4gY2hpbGQtPmxvZ2ljYWxUb3AoKS50b0ludCgpICsg
KmJhc2VsaW5lOworICAgICAgICAgICAgICAgIHJldHVybiAoc2V0dGluZ3MoKS5zdWJwaXhlbElu
bGluZUxheW91dEVuYWJsZWQoKSA/IExheW91dFVuaXQoY2hpbGQtPmxvZ2ljYWxUb3AoKSkgOiBM
YXlvdXRVbml0KGNoaWxkLT5sb2dpY2FsVG9wKCkudG9JbnQoKSkpICsgKmJhc2VsaW5lOwogICAg
ICAgICB9CiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggZGVlMGZhNWU4NjJmLi5kNWRlN2VhMjEx
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBA
IC0zMzI0LDYgKzMzMjQsMTQgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmFkZE92ZXJmbG93RnJv
bUluRmxvd0NoaWxkcmVuKE9wdGlvblNldDxDb21wdXRlT3ZlcmZsb3dPcHQKICAgICAgICAgUmVu
ZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUluRmxvd0NoaWxkcmVuKG9wdGlvbnMpOwogfQogCitz
dGF0aWMgZmxvYXQgbGluZUhlaWdodEZvckVtcHR5Q29udGVudChhdXRvJiBzdHlsZSwgYXV0byBz
aG91bGROb3RSb3VuZFRvSW50ZWdyYWwpCit7CisgICAgYXV0byYgZm9udE1ldHJpY3MgPSBzdHls
ZS5tZXRyaWNzT2ZQcmltYXJ5Rm9udCgpOworICAgIGF1dG8gYXNjZW50ID0gc2hvdWxkTm90Um91
bmRUb0ludGVncmFsID8gZm9udE1ldHJpY3MuYXNjZW50KCkgOiBmb250TWV0cmljcy5pbnRBc2Nl
bnQoKTsKKyAgICBhdXRvIGZvbnRIZWlnaHQgPSBzaG91bGROb3RSb3VuZFRvSW50ZWdyYWwgPyBm
b250TWV0cmljcy5oZWlnaHQoKSA6IGZvbnRNZXRyaWNzLmludEhlaWdodCgpOworICAgIHJldHVy
biBhc2NlbnQgKyAoc3R5bGUuY29tcHV0ZWRMaW5lSGVpZ2h0KCkgLSBmb250SGVpZ2h0KSAvIDIu
ZjsKK30KKwogc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJCbG9ja0Zsb3c6OmZpcnN0
TGluZUJhc2VsaW5lKCkgY29uc3QKIHsKICAgICBpZiAoaXNXcml0aW5nTW9kZVJvb3QoKSAmJiAh
aXNHcmlkSXRlbSgpICYmICFpc0ZsZXhJdGVtKCkpCkBAIC0zMzM4LDEwICszMzQ2LDggQEAgc3Rk
OjpvcHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJCbG9ja0Zsb3c6OmZpcnN0TGluZUJhc2VsaW5l
KCkgY29uc3QKICAgICBpZiAoYXV0byogbGluZUxheW91dCA9IHRoaXMtPmlubGluZUxheW91dCgp
KQogICAgICAgICByZXR1cm4gbGluZUxheW91dC0+Zmlyc3RMaW5lQmFzZWxpbmUoKTsKIAotICAg
IGlmIChoYXNMaW5lSWZFbXB0eSgpKSB7Ci0gICAgICAgIGF1dG8mIGZvbnRNZXRyaWNzID0gZmly
c3RMaW5lU3R5bGUoKS5tZXRyaWNzT2ZQcmltYXJ5Rm9udCgpOwotICAgICAgICByZXR1cm4geyBM
YXlvdXRVbml0KGJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKSArIGZvbnRNZXRyaWNzLmludEFzY2Vu
dCgpICsgKGZpcnN0TGluZVN0eWxlKCkuY29tcHV0ZWRMaW5lSGVpZ2h0KCkgLSBmb250TWV0cmlj
cy5pbnRIZWlnaHQoKSkgLyAyKSB9OwotICAgIH0KKyAgICBpZiAoaGFzTGluZUlmRW1wdHkoKSkK
KyAgICAgICAgcmV0dXJuIExheW91dFVuaXQgeyBib3JkZXJBbmRQYWRkaW5nQmVmb3JlKCkgKyBs
aW5lSGVpZ2h0Rm9yRW1wdHlDb250ZW50KGZpcnN0TGluZVN0eWxlKCksIHNldHRpbmdzKCkuc3Vi
cGl4ZWxJbmxpbmVMYXlvdXRFbmFibGVkKCkpIH07CiAKICAgICByZXR1cm4geyB9OwogfQpAQCAt
MzM2MCwxMCArMzM2Niw4IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVyQmxvY2tG
bG93OjpsYXN0TGluZUJhc2VsaW5lKCkgY29uc3QKICAgICBpZiAoYXV0byogbGluZUxheW91dCA9
IHRoaXMtPmlubGluZUxheW91dCgpKQogICAgICAgICByZXR1cm4gbGluZUxheW91dC0+bGFzdExp
bmVCYXNlbGluZSgpOwogCi0gICAgaWYgKGhhc0xpbmVJZkVtcHR5KCkpIHsKLSAgICAgICAgYXV0
byYgZm9udE1ldHJpY3MgPSBzdHlsZSgpLm1ldHJpY3NPZlByaW1hcnlGb250KCk7Ci0gICAgICAg
IHJldHVybiB7IExheW91dFVuaXQoYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpICsgZm9udE1ldHJp
Y3MuaW50QXNjZW50KCkgKyAoc3R5bGUoKS5jb21wdXRlZExpbmVIZWlnaHQoKSAtIGZvbnRNZXRy
aWNzLmludEhlaWdodCgpKSAvIDIpIH07Ci0gICAgfQorICAgIGlmIChoYXNMaW5lSWZFbXB0eSgp
KQorICAgICAgICByZXR1cm4gTGF5b3V0VW5pdCB7IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKSAr
IGxpbmVIZWlnaHRGb3JFbXB0eUNvbnRlbnQoc3R5bGUoKSwgc2V0dGluZ3MoKS5zdWJwaXhlbElu
bGluZUxheW91dEVuYWJsZWQoKSkgfTsKIAogICAgIHJldHVybiB7IH07CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCA0ZmI3ZTAzZDJh
OGQuLjk4MGQ4MmEzNmIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RmxleGlibGVCb3guY3BwCkBAIC0zMjgsNyArMzI4LDcgQEAgc3RkOjpvcHRpb25hbDxMYXlvdXRV
bml0PiBSZW5kZXJGbGV4aWJsZUJveDo6Zmlyc3RMaW5lQmFzZWxpbmUoKSBjb25zdAogICAgICAg
ICBhdXRvIGRvbWluYW50QmFzZWxpbmUgPSBCYXNlbGluZUFsaWdubWVudFN0YXRlOjpkb21pbmFu
dEJhc2VsaW5lKGZsZXhib3hXcml0aW5nTW9kZSk7CiAgICAgICAgIGJhc2VsaW5lID0gQmFzZWxp
bmVBbGlnbm1lbnRTdGF0ZTo6c3ludGhlc2l6ZWRCYXNlbGluZSgqYmFzZWxpbmVGbGV4SXRlbSwg
ZG9taW5hbnRCYXNlbGluZSwgZmxleGJveFdyaXRpbmdNb2RlLCBkaXJlY3Rpb24sIEJhc2VsaW5l
U3ludGhlc2lzRWRnZTo6Qm9yZGVyQm94KTsKICAgICB9Ci0gICAgcmV0dXJuIGJhc2VsaW5lRmxl
eEl0ZW0tPmxvZ2ljYWxUb3AoKS50b0ludCgpICsgKmJhc2VsaW5lOworICAgIHJldHVybiAoc2V0
dGluZ3MoKS5zdWJwaXhlbElubGluZUxheW91dEVuYWJsZWQoKSA/IExheW91dFVuaXQoYmFzZWxp
bmVGbGV4SXRlbS0+bG9naWNhbFRvcCgpKSA6IExheW91dFVuaXQoYmFzZWxpbmVGbGV4SXRlbS0+
bG9naWNhbFRvcCgpLnRvSW50KCkpKSArICpiYXNlbGluZTsKIH0KIAogc3RkOjpvcHRpb25hbCA8
TGF5b3V0VW5pdD4gUmVuZGVyRmxleGlibGVCb3g6Omxhc3RMaW5lQmFzZWxpbmUoKSBjb25zdApA
QCAtMzU1LDcgKzM1NSw3IEBAIHN0ZDo6b3B0aW9uYWwgPExheW91dFVuaXQ+IFJlbmRlckZsZXhp
YmxlQm94OjpsYXN0TGluZUJhc2VsaW5lKCkgY29uc3QKICAgICAgICAgYXV0byBkb21pbmFudEJh
c2VsaW5lID0gQmFzZWxpbmVBbGlnbm1lbnRTdGF0ZTo6ZG9taW5hbnRCYXNlbGluZShmbGV4Ym94
V3JpdGluZ01vZGUpOwogICAgICAgICBiYXNlbGluZSA9IEJhc2VsaW5lQWxpZ25tZW50U3RhdGU6
OnN5bnRoZXNpemVkQmFzZWxpbmUoKmJhc2VsaW5lRmxleEl0ZW0sIGRvbWluYW50QmFzZWxpbmUs
IGZsZXhib3hXcml0aW5nTW9kZSwgZGlyZWN0aW9uLCBCYXNlbGluZVN5bnRoZXNpc0VkZ2U6OkJv
cmRlckJveCk7CiAgICAgfQotICAgIHJldHVybiBiYXNlbGluZUZsZXhJdGVtLT5sb2dpY2FsVG9w
KCkudG9JbnQoKSArICpiYXNlbGluZTsKKyAgICByZXR1cm4gKHNldHRpbmdzKCkuc3VicGl4ZWxJ
bmxpbmVMYXlvdXRFbmFibGVkKCkgPyBMYXlvdXRVbml0KGJhc2VsaW5lRmxleEl0ZW0tPmxvZ2lj
YWxUb3AoKSkgOiBMYXlvdXRVbml0KGJhc2VsaW5lRmxleEl0ZW0tPmxvZ2ljYWxUb3AoKS50b0lu
dCgpKSkgKyAqYmFzZWxpbmU7CiB9CiAKIHN0YXRpYyBjb25zdCBTdHlsZUNvbnRlbnRBbGlnbm1l
bnREYXRhJiBjb250ZW50QWxpZ25tZW50Tm9ybWFsQmVoYXZpb3IoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IGFkNzk4YjMwNzE4Yy4uYTNiYmUyYmRmZjQxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0xOTQ0LDcgKzE5NDQs
NyBAQCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckdyaWQ6OmZpcnN0TGluZUJhc2Vs
aW5lKCkgY29uc3QKICAgICAgICAgYXV0byBkaXJlY3Rpb24gPSBpc0hvcml6b250YWxXcml0aW5n
TW9kZSgpID8gTGluZURpcmVjdGlvbjo6SG9yaXpvbnRhbCA6IExpbmVEaXJlY3Rpb246OlZlcnRp
Y2FsOwogICAgICAgICBiYXNlbGluZSA9IEJhc2VsaW5lQWxpZ25tZW50U3RhdGU6OnN5bnRoZXNp
emVkQmFzZWxpbmUoKmJhc2VsaW5lR3JpZEl0ZW0sIGRvbWluYW50QmFzZWxpbmUsIGdyaWRXcml0
aW5nTW9kZSwgZGlyZWN0aW9uLCBCYXNlbGluZVN5bnRoZXNpc0VkZ2U6OkJvcmRlckJveCk7CiAg
ICAgfQotICAgIHJldHVybiBsb2dpY2FsVG9wRm9yQ2hpbGQoKmJhc2VsaW5lR3JpZEl0ZW0pLnRv
SW50KCkgKyAqYmFzZWxpbmU7CisgICAgcmV0dXJuIChzZXR0aW5ncygpLnN1YnBpeGVsSW5saW5l
TGF5b3V0RW5hYmxlZCgpID8gTGF5b3V0VW5pdChsb2dpY2FsVG9wRm9yQ2hpbGQoKmJhc2VsaW5l
R3JpZEl0ZW0pKSA6IExheW91dFVuaXQobG9naWNhbFRvcEZvckNoaWxkKCpiYXNlbGluZUdyaWRJ
dGVtKS50b0ludCgpKSkgKyAqYmFzZWxpbmU7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5p
dD4gUmVuZGVyR3JpZDo6bGFzdExpbmVCYXNlbGluZSgpIGNvbnN0CkBAIC0xOTY2LDcgKzE5NjYs
NyBAQCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckdyaWQ6Omxhc3RMaW5lQmFzZWxp
bmUoKSBjb25zdAogICAgICAgICBhdXRvIGRvbWluYW50QmFzZWxpbmUgPSBCYXNlbGluZUFsaWdu
bWVudFN0YXRlOjpkb21pbmFudEJhc2VsaW5lKGdyaWRXcml0aW5nTW9kZSk7CiAgICAgICAgIGJh
c2VsaW5lID0gQmFzZWxpbmVBbGlnbm1lbnRTdGF0ZTo6c3ludGhlc2l6ZWRCYXNlbGluZSgqYmFz
ZWxpbmVHcmlkSXRlbSwgZG9taW5hbnRCYXNlbGluZSwgZ3JpZFdyaXRpbmdNb2RlLCBkaXJlY3Rp
b24sIEJhc2VsaW5lU3ludGhlc2lzRWRnZTo6Qm9yZGVyQm94KTsKICAgICB9Ci0gICAgcmV0dXJu
IGxvZ2ljYWxUb3BGb3JDaGlsZCgqYmFzZWxpbmVHcmlkSXRlbSkudG9JbnQoKSArICpiYXNlbGlu
ZTsKKyAgICByZXR1cm4gKHNldHRpbmdzKCkuc3VicGl4ZWxJbmxpbmVMYXlvdXRFbmFibGVkKCkg
PyBMYXlvdXRVbml0KGxvZ2ljYWxUb3BGb3JDaGlsZCgqYmFzZWxpbmVHcmlkSXRlbSkpIDogTGF5
b3V0VW5pdChsb2dpY2FsVG9wRm9yQ2hpbGQoKmJhc2VsaW5lR3JpZEl0ZW0pLnRvSW50KCkpKSAr
ICpiYXNlbGluZTsKIH0KIAogY29uc3QgUmVuZGVyQm94KiBSZW5kZXJHcmlkOjpiYXNlbGluZUdy
aWRJdGVtKEl0ZW1Qb3NpdGlvbiBhbGlnbm1lbnQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRhYmxlLmNwcAppbmRleCAwNjc2Y2M5NTNmYTEuLjg0MWFiNWUyZWZjOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCkBAIC01OCw2ICs1OCw3IEBA
CiAjaW5jbHVkZSAiUmVuZGVyVGFibGVTZWN0aW9uSW5saW5lcy5oIgogI2luY2x1ZGUgIlJlbmRl
clRyZWVCdWlsZGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorI2luY2x1ZGUgIlNldHRp
bmdzLmgiCiAjaW5jbHVkZSAiU3R5bGVCb3hTaGFkb3cuaCIKICNpbmNsdWRlICJTdHlsZUluaGVy
aXRlZERhdGEuaCIKICNpbmNsdWRlICJTdHlsZVByaW1pdGl2ZU51bWVyaWNUeXBlcytFdmFsdWF0
aW9uLmgiCkBAIC0xNjE5LDcgKzE2MjAsOCBAQCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IFJl
bmRlclRhYmxlOjpmaXJzdExpbmVCYXNlbGluZSgpIGNvbnN0CiAgICAgICAgIC8vIFRoZSBiYXNl
bGluZSBvZiBhbiBlbXB0eSByb3cgaXNuJ3Qgc3BlY2lmaWVkIGJ5IENTUyAyLjEuCiAgICAgICAg
IGJhc2VsaW5lID0gMF9sdTsKICAgICB9Ci0gICAgcmV0dXJuIGJhc2VsaW5lID8gc3RkOjpvcHRp
b25hbCh0b3BOb25FbXB0eVNlY3Rpb24tPmxvZ2ljYWxUb3AoKS50b0ludCgpICsgKmJhc2VsaW5l
KSA6IHN0ZDo6bnVsbG9wdDsKKyAgICBhdXRvIGZvb2JhciA9IHNldHRpbmdzKCkuc3VicGl4ZWxJ
bmxpbmVMYXlvdXRFbmFibGVkKCkgPyBMYXlvdXRVbml0KHRvcE5vbkVtcHR5U2VjdGlvbi0+bG9n
aWNhbFRvcCgpKSA6IExheW91dFVuaXQodG9wTm9uRW1wdHlTZWN0aW9uLT5sb2dpY2FsVG9wKCku
dG9JbnQoKSk7CisgICAgcmV0dXJuIGJhc2VsaW5lID8gc3RkOjpvcHRpb25hbChmb29iYXIrICpi
YXNlbGluZSkgOiBzdGQ6Om51bGxvcHQ7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4g
UmVuZGVyVGFibGU6Omxhc3RMaW5lQmFzZWxpbmUoKSBjb25zdApAQCAtMTYzNCw3ICsxNjM2LDcg
QEAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJUYWJsZTo6bGFzdExpbmVCYXNlbGlu
ZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiB7IH07CiAKICAgICBpZiAoYXV0byBsYXN0TGluZUJh
c2VsaW5lID0gdGFibGVTZWN0aW9uLT5sYXN0TGluZUJhc2VsaW5lKCkpCi0gICAgICAgIHJldHVy
biB0YWJsZVNlY3Rpb24tPmxvZ2ljYWxUb3AoKS50b0ludCgpICsgKmxhc3RMaW5lQmFzZWxpbmU7
CisgICAgICAgIHJldHVybiAoc2V0dGluZ3MoKS5zdWJwaXhlbElubGluZUxheW91dEVuYWJsZWQo
KSA/IExheW91dFVuaXQodGFibGVTZWN0aW9uLT5sb2dpY2FsVG9wKCkpIDogTGF5b3V0VW5pdCh0
YWJsZVNlY3Rpb24tPmxvZ2ljYWxUb3AoKS50b0ludCgpKSkgKyAqbGFzdExpbmVCYXNlbGluZTsK
ICAgICByZXR1cm4geyB9OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>477767</attachid>
            <date>2025-12-17 07:35:21 -0800</date>
            <delta_ts>2025-12-17 08:52:48 -0800</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-304294-20251217073520.patch</filename>
            <type>text/plain</type>
            <size>9744</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAwMDk1Mzk4YThjNDVmZjViY2E2ZTAwOGI5ODk2ODQ2YjczNzAwYTEzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFR1ZSwgMTYgRGVjIDIwMjUgMTU6NTI6MzMgLTA4MDAKU3ViamVjdDogW1BBVENIXSBbc3VicGl4
ZWwtaW5saW5lLWxheW91dF0gZmlyc3QgYW5kIGxhc3RMaW5lQmFzZWxpbmUgZnVuY3Rpb25zCiBz
aG91bGQgY29uc3VsdCBzdWJwaXhlbElubGluZUxheW91dEVuYWJsZWQoKSBiZWZvcmUgcm91bmRp
bmcKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDQyOTQKClJldmll
d2VkIGJ5IEFudHRpIEtvaXZpc3RvLgoKVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3Igc3VwcG9y
dGluZyBzdWJwaXhlbCBpbmxpbmUgbGF5b3V0IChiYXNlbGluZSBwb3NpdGlvbikuCgoqIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CihXZWJDb3JlOjpSZW5kZXJCbG9j
azo6Zmlyc3RMaW5lQmFzZWxpbmUgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyQmxvY2s6Omxhc3RM
aW5lQmFzZWxpbmUgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuY3BwOgooV2ViQ29yZTo6bGluZUhlaWdodEZvckVtcHR5Q29udGVudCk6CihXZWJDb3Jl
OjpSZW5kZXJCbG9ja0Zsb3c6OmZpcnN0TGluZUJhc2VsaW5lIGNvbnN0KToKKFdlYkNvcmU6OlJl
bmRlckJsb2NrRmxvdzo6bGFzdExpbmVCYXNlbGluZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxl
Qm94OjpmaXJzdExpbmVCYXNlbGluZSBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJv
eDo6bGFzdExpbmVCYXNlbGluZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuY3BwOgooV2ViQ29yZTo6UmVuZGVyR3JpZDo6Zmlyc3RMaW5lQmFzZWxpbmUgY29u
c3QpOgooV2ViQ29yZTo6UmVuZGVyR3JpZDo6bGFzdExpbmVCYXNlbGluZSBjb25zdCk6CiogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKFdlYkNvcmU6OlJlbmRlclRh
YmxlOjpmaXJzdExpbmVCYXNlbGluZSBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJUYWJsZTo6bGFz
dExpbmVCYXNlbGluZSBjb25zdCk6Ci0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcCAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrRmxvdy5jcHAgIHwgMjAgKysrKysrKysrKystLS0tLS0tLQogLi4uL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwICAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcCAgICAgIHwgIDUgKysrLS0KIDUgZmlsZXMgY2hhbmdl
ZCwgMjEgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggZGNkZjhmMmQxOWNmLi5iNTQyYTIwODNlZWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMjQ1Niw3ICsyNDU2
LDcgQEAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJCbG9jazo6Zmlyc3RMaW5lQmFz
ZWxpbmUoKSBjb25zdAogICAgICAgICAgICAgaWYgKGNoaWxkLT5pc0xlZ2VuZCgpICYmIGNoaWxk
LT5pc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICAgICAgaWYgKGF1dG8gYmFzZWxpbmUgPSBjaGlsZC0+Zmlyc3RMaW5lQmFzZWxp
bmUoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gY2hpbGQtPmxvZ2ljYWxUb3AoKS50b0ludCgp
ICsgKmJhc2VsaW5lOworICAgICAgICAgICAgICAgIHJldHVybiAoc2V0dGluZ3MoKS5zdWJwaXhl
bElubGluZUxheW91dEVuYWJsZWQoKSA/IExheW91dFVuaXQoY2hpbGQtPmxvZ2ljYWxUb3AoKSkg
OiBMYXlvdXRVbml0KGNoaWxkLT5sb2dpY2FsVG9wKCkudG9JbnQoKSkpICsgKmJhc2VsaW5lOwog
ICAgICAgICB9CiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfTsKQEAgLTI0NzYsNyArMjQ3Niw3
IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVyQmxvY2s6Omxhc3RMaW5lQmFzZWxp
bmUoKSBjb25zdAogICAgICAgICAgICAgaWYgKGNoaWxkLT5pc0xlZ2VuZCgpICYmIGNoaWxkLT5p
c0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICAgICAgaWYgKGF1dG8gYmFzZWxpbmUgPSBjaGlsZC0+bGFzdExpbmVCYXNlbGluZSgp
KQotICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZC0+bG9naWNhbFRvcCgpLnRvSW50KCkgKyAq
YmFzZWxpbmU7CisgICAgICAgICAgICAgICAgcmV0dXJuIChzZXR0aW5ncygpLnN1YnBpeGVsSW5s
aW5lTGF5b3V0RW5hYmxlZCgpID8gTGF5b3V0VW5pdChjaGlsZC0+bG9naWNhbFRvcCgpKSA6IExh
eW91dFVuaXQoY2hpbGQtPmxvZ2ljYWxUb3AoKS50b0ludCgpKSkgKyAqYmFzZWxpbmU7CiAgICAg
ICAgIH0KICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCBkZWUwZmE1ZTg2MmYuLmQ1ZGU3ZWEyMTFl
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKQEAg
LTMzMjQsNiArMzMyNCwxNCBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6YWRkT3ZlcmZsb3dGcm9t
SW5GbG93Q2hpbGRyZW4oT3B0aW9uU2V0PENvbXB1dGVPdmVyZmxvd09wdAogICAgICAgICBSZW5k
ZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tSW5GbG93Q2hpbGRyZW4ob3B0aW9ucyk7CiB9CiAKK3N0
YXRpYyBmbG9hdCBsaW5lSGVpZ2h0Rm9yRW1wdHlDb250ZW50KGF1dG8mIHN0eWxlLCBhdXRvIHNo
b3VsZE5vdFJvdW5kVG9JbnRlZ3JhbCkKK3sKKyAgICBhdXRvJiBmb250TWV0cmljcyA9IHN0eWxl
Lm1ldHJpY3NPZlByaW1hcnlGb250KCk7CisgICAgYXV0byBhc2NlbnQgPSBzaG91bGROb3RSb3Vu
ZFRvSW50ZWdyYWwgPyBmb250TWV0cmljcy5hc2NlbnQoKSA6IGZvbnRNZXRyaWNzLmludEFzY2Vu
dCgpOworICAgIGF1dG8gZm9udEhlaWdodCA9IHNob3VsZE5vdFJvdW5kVG9JbnRlZ3JhbCA/IGZv
bnRNZXRyaWNzLmhlaWdodCgpIDogZm9udE1ldHJpY3MuaW50SGVpZ2h0KCk7CisgICAgcmV0dXJu
IGFzY2VudCArIChzdHlsZS5jb21wdXRlZExpbmVIZWlnaHQoKSAtIGZvbnRIZWlnaHQpIC8gMi5m
OworfQorCiBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckJsb2NrRmxvdzo6Zmlyc3RM
aW5lQmFzZWxpbmUoKSBjb25zdAogewogICAgIGlmIChpc1dyaXRpbmdNb2RlUm9vdCgpICYmICFp
c0dyaWRJdGVtKCkgJiYgIWlzRmxleEl0ZW0oKSkKQEAgLTMzMzgsMTAgKzMzNDYsOCBAQCBzdGQ6
Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckJsb2NrRmxvdzo6Zmlyc3RMaW5lQmFzZWxpbmUo
KSBjb25zdAogICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0gdGhpcy0+aW5saW5lTGF5b3V0KCkp
CiAgICAgICAgIHJldHVybiBsaW5lTGF5b3V0LT5maXJzdExpbmVCYXNlbGluZSgpOwogCi0gICAg
aWYgKGhhc0xpbmVJZkVtcHR5KCkpIHsKLSAgICAgICAgYXV0byYgZm9udE1ldHJpY3MgPSBmaXJz
dExpbmVTdHlsZSgpLm1ldHJpY3NPZlByaW1hcnlGb250KCk7Ci0gICAgICAgIHJldHVybiB7IExh
eW91dFVuaXQoYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpICsgZm9udE1ldHJpY3MuaW50QXNjZW50
KCkgKyAoZmlyc3RMaW5lU3R5bGUoKS5jb21wdXRlZExpbmVIZWlnaHQoKSAtIGZvbnRNZXRyaWNz
LmludEhlaWdodCgpKSAvIDIpIH07Ci0gICAgfQorICAgIGlmIChoYXNMaW5lSWZFbXB0eSgpKQor
ICAgICAgICByZXR1cm4gTGF5b3V0VW5pdCB7IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKSArIGxp
bmVIZWlnaHRGb3JFbXB0eUNvbnRlbnQoZmlyc3RMaW5lU3R5bGUoKSwgc2V0dGluZ3MoKS5zdWJw
aXhlbElubGluZUxheW91dEVuYWJsZWQoKSkgfTsKIAogICAgIHJldHVybiB7IH07CiB9CkBAIC0z
MzYwLDEwICszMzY2LDggQEAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJCbG9ja0Zs
b3c6Omxhc3RMaW5lQmFzZWxpbmUoKSBjb25zdAogICAgIGlmIChhdXRvKiBsaW5lTGF5b3V0ID0g
dGhpcy0+aW5saW5lTGF5b3V0KCkpCiAgICAgICAgIHJldHVybiBsaW5lTGF5b3V0LT5sYXN0TGlu
ZUJhc2VsaW5lKCk7CiAKLSAgICBpZiAoaGFzTGluZUlmRW1wdHkoKSkgewotICAgICAgICBhdXRv
JiBmb250TWV0cmljcyA9IHN0eWxlKCkubWV0cmljc09mUHJpbWFyeUZvbnQoKTsKLSAgICAgICAg
cmV0dXJuIHsgTGF5b3V0VW5pdChib3JkZXJBbmRQYWRkaW5nQmVmb3JlKCkgKyBmb250TWV0cmlj
cy5pbnRBc2NlbnQoKSArIChzdHlsZSgpLmNvbXB1dGVkTGluZUhlaWdodCgpIC0gZm9udE1ldHJp
Y3MuaW50SGVpZ2h0KCkpIC8gMikgfTsKLSAgICB9CisgICAgaWYgKGhhc0xpbmVJZkVtcHR5KCkp
CisgICAgICAgIHJldHVybiBMYXlvdXRVbml0IHsgYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpICsg
bGluZUhlaWdodEZvckVtcHR5Q29udGVudChzdHlsZSgpLCBzZXR0aW5ncygpLnN1YnBpeGVsSW5s
aW5lTGF5b3V0RW5hYmxlZCgpKSB9OwogCiAgICAgcmV0dXJuIHsgfTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IDRmYjdlMDNkMmE4
ZC4uOTgwZDgyYTM2YjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxleGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bGV4aWJsZUJveC5jcHAKQEAgLTMyOCw3ICszMjgsNyBAQCBzdGQ6Om9wdGlvbmFsPExheW91dFVu
aXQ+IFJlbmRlckZsZXhpYmxlQm94OjpmaXJzdExpbmVCYXNlbGluZSgpIGNvbnN0CiAgICAgICAg
IGF1dG8gZG9taW5hbnRCYXNlbGluZSA9IEJhc2VsaW5lQWxpZ25tZW50U3RhdGU6OmRvbWluYW50
QmFzZWxpbmUoZmxleGJveFdyaXRpbmdNb2RlKTsKICAgICAgICAgYmFzZWxpbmUgPSBCYXNlbGlu
ZUFsaWdubWVudFN0YXRlOjpzeW50aGVzaXplZEJhc2VsaW5lKCpiYXNlbGluZUZsZXhJdGVtLCBk
b21pbmFudEJhc2VsaW5lLCBmbGV4Ym94V3JpdGluZ01vZGUsIGRpcmVjdGlvbiwgQmFzZWxpbmVT
eW50aGVzaXNFZGdlOjpCb3JkZXJCb3gpOwogICAgIH0KLSAgICByZXR1cm4gYmFzZWxpbmVGbGV4
SXRlbS0+bG9naWNhbFRvcCgpLnRvSW50KCkgKyAqYmFzZWxpbmU7CisgICAgcmV0dXJuIChzZXR0
aW5ncygpLnN1YnBpeGVsSW5saW5lTGF5b3V0RW5hYmxlZCgpID8gTGF5b3V0VW5pdChiYXNlbGlu
ZUZsZXhJdGVtLT5sb2dpY2FsVG9wKCkpIDogTGF5b3V0VW5pdChiYXNlbGluZUZsZXhJdGVtLT5s
b2dpY2FsVG9wKCkudG9JbnQoKSkpICsgKmJhc2VsaW5lOwogfQogCiBzdGQ6Om9wdGlvbmFsIDxM
YXlvdXRVbml0PiBSZW5kZXJGbGV4aWJsZUJveDo6bGFzdExpbmVCYXNlbGluZSgpIGNvbnN0CkBA
IC0zNTUsNyArMzU1LDcgQEAgc3RkOjpvcHRpb25hbCA8TGF5b3V0VW5pdD4gUmVuZGVyRmxleGli
bGVCb3g6Omxhc3RMaW5lQmFzZWxpbmUoKSBjb25zdAogICAgICAgICBhdXRvIGRvbWluYW50QmFz
ZWxpbmUgPSBCYXNlbGluZUFsaWdubWVudFN0YXRlOjpkb21pbmFudEJhc2VsaW5lKGZsZXhib3hX
cml0aW5nTW9kZSk7CiAgICAgICAgIGJhc2VsaW5lID0gQmFzZWxpbmVBbGlnbm1lbnRTdGF0ZTo6
c3ludGhlc2l6ZWRCYXNlbGluZSgqYmFzZWxpbmVGbGV4SXRlbSwgZG9taW5hbnRCYXNlbGluZSwg
ZmxleGJveFdyaXRpbmdNb2RlLCBkaXJlY3Rpb24sIEJhc2VsaW5lU3ludGhlc2lzRWRnZTo6Qm9y
ZGVyQm94KTsKICAgICB9Ci0gICAgcmV0dXJuIGJhc2VsaW5lRmxleEl0ZW0tPmxvZ2ljYWxUb3Ao
KS50b0ludCgpICsgKmJhc2VsaW5lOworICAgIHJldHVybiAoc2V0dGluZ3MoKS5zdWJwaXhlbElu
bGluZUxheW91dEVuYWJsZWQoKSA/IExheW91dFVuaXQoYmFzZWxpbmVGbGV4SXRlbS0+bG9naWNh
bFRvcCgpKSA6IExheW91dFVuaXQoYmFzZWxpbmVGbGV4SXRlbS0+bG9naWNhbFRvcCgpLnRvSW50
KCkpKSArICpiYXNlbGluZTsKIH0KIAogc3RhdGljIGNvbnN0IFN0eWxlQ29udGVudEFsaWdubWVu
dERhdGEmIGNvbnRlbnRBbGlnbm1lbnROb3JtYWxCZWhhdmlvcigpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyR3JpZC5jcHAKaW5kZXggYWQ3OThiMzA3MThjLi5hM2JiZTJiZGZmNDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTE5NDQsNyArMTk0NCw3
IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVyR3JpZDo6Zmlyc3RMaW5lQmFzZWxp
bmUoKSBjb25zdAogICAgICAgICBhdXRvIGRpcmVjdGlvbiA9IGlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkgPyBMaW5lRGlyZWN0aW9uOjpIb3Jpem9udGFsIDogTGluZURpcmVjdGlvbjo6VmVydGlj
YWw7CiAgICAgICAgIGJhc2VsaW5lID0gQmFzZWxpbmVBbGlnbm1lbnRTdGF0ZTo6c3ludGhlc2l6
ZWRCYXNlbGluZSgqYmFzZWxpbmVHcmlkSXRlbSwgZG9taW5hbnRCYXNlbGluZSwgZ3JpZFdyaXRp
bmdNb2RlLCBkaXJlY3Rpb24sIEJhc2VsaW5lU3ludGhlc2lzRWRnZTo6Qm9yZGVyQm94KTsKICAg
ICB9Ci0gICAgcmV0dXJuIGxvZ2ljYWxUb3BGb3JDaGlsZCgqYmFzZWxpbmVHcmlkSXRlbSkudG9J
bnQoKSArICpiYXNlbGluZTsKKyAgICByZXR1cm4gKHNldHRpbmdzKCkuc3VicGl4ZWxJbmxpbmVM
YXlvdXRFbmFibGVkKCkgPyBMYXlvdXRVbml0KGxvZ2ljYWxUb3BGb3JDaGlsZCgqYmFzZWxpbmVH
cmlkSXRlbSkpIDogTGF5b3V0VW5pdChsb2dpY2FsVG9wRm9yQ2hpbGQoKmJhc2VsaW5lR3JpZEl0
ZW0pLnRvSW50KCkpKSArICpiYXNlbGluZTsKIH0KIAogc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0
PiBSZW5kZXJHcmlkOjpsYXN0TGluZUJhc2VsaW5lKCkgY29uc3QKQEAgLTE5NjYsNyArMTk2Niw3
IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVyR3JpZDo6bGFzdExpbmVCYXNlbGlu
ZSgpIGNvbnN0CiAgICAgICAgIGF1dG8gZG9taW5hbnRCYXNlbGluZSA9IEJhc2VsaW5lQWxpZ25t
ZW50U3RhdGU6OmRvbWluYW50QmFzZWxpbmUoZ3JpZFdyaXRpbmdNb2RlKTsKICAgICAgICAgYmFz
ZWxpbmUgPSBCYXNlbGluZUFsaWdubWVudFN0YXRlOjpzeW50aGVzaXplZEJhc2VsaW5lKCpiYXNl
bGluZUdyaWRJdGVtLCBkb21pbmFudEJhc2VsaW5lLCBncmlkV3JpdGluZ01vZGUsIGRpcmVjdGlv
biwgQmFzZWxpbmVTeW50aGVzaXNFZGdlOjpCb3JkZXJCb3gpOwogICAgIH0KLSAgICByZXR1cm4g
bG9naWNhbFRvcEZvckNoaWxkKCpiYXNlbGluZUdyaWRJdGVtKS50b0ludCgpICsgKmJhc2VsaW5l
OworICAgIHJldHVybiAoc2V0dGluZ3MoKS5zdWJwaXhlbElubGluZUxheW91dEVuYWJsZWQoKSA/
IExheW91dFVuaXQobG9naWNhbFRvcEZvckNoaWxkKCpiYXNlbGluZUdyaWRJdGVtKSkgOiBMYXlv
dXRVbml0KGxvZ2ljYWxUb3BGb3JDaGlsZCgqYmFzZWxpbmVHcmlkSXRlbSkudG9JbnQoKSkpICsg
KmJhc2VsaW5lOwogfQogCiBjb25zdCBSZW5kZXJCb3gqIFJlbmRlckdyaWQ6OmJhc2VsaW5lR3Jp
ZEl0ZW0oSXRlbVBvc2l0aW9uIGFsaWdubWVudCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGUuY3BwCmluZGV4IDA2NzZjYzk1M2ZhMS4uMjI2MWZlNTRmOGEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKQEAgLTU4LDYgKzU4LDcgQEAK
ICNpbmNsdWRlICJSZW5kZXJUYWJsZVNlY3Rpb25JbmxpbmVzLmgiCiAjaW5jbHVkZSAiUmVuZGVy
VHJlZUJ1aWxkZXIuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCisjaW5jbHVkZSAiU2V0dGlu
Z3MuaCIKICNpbmNsdWRlICJTdHlsZUJveFNoYWRvdy5oIgogI2luY2x1ZGUgIlN0eWxlSW5oZXJp
dGVkRGF0YS5oIgogI2luY2x1ZGUgIlN0eWxlUHJpbWl0aXZlTnVtZXJpY1R5cGVzK0V2YWx1YXRp
b24uaCIKQEAgLTE2MTksNyArMTYyMCw3IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVu
ZGVyVGFibGU6OmZpcnN0TGluZUJhc2VsaW5lKCkgY29uc3QKICAgICAgICAgLy8gVGhlIGJhc2Vs
aW5lIG9mIGFuIGVtcHR5IHJvdyBpc24ndCBzcGVjaWZpZWQgYnkgQ1NTIDIuMS4KICAgICAgICAg
YmFzZWxpbmUgPSAwX2x1OwogICAgIH0KLSAgICByZXR1cm4gYmFzZWxpbmUgPyBzdGQ6Om9wdGlv
bmFsKHRvcE5vbkVtcHR5U2VjdGlvbi0+bG9naWNhbFRvcCgpLnRvSW50KCkgKyAqYmFzZWxpbmUp
IDogc3RkOjpudWxsb3B0OworICAgIHJldHVybiBiYXNlbGluZSA/IHN0ZDo6b3B0aW9uYWwoKHNl
dHRpbmdzKCkuc3VicGl4ZWxJbmxpbmVMYXlvdXRFbmFibGVkKCkgPyBMYXlvdXRVbml0KHRvcE5v
bkVtcHR5U2VjdGlvbi0+bG9naWNhbFRvcCgpKSA6IExheW91dFVuaXQodG9wTm9uRW1wdHlTZWN0
aW9uLT5sb2dpY2FsVG9wKCkudG9JbnQoKSkpICsgKmJhc2VsaW5lKSA6IHN0ZDo6bnVsbG9wdDsK
IH0KIAogc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJUYWJsZTo6bGFzdExpbmVCYXNl
bGluZSgpIGNvbnN0CkBAIC0xNjM0LDcgKzE2MzUsNyBAQCBzdGQ6Om9wdGlvbmFsPExheW91dFVu
aXQ+IFJlbmRlclRhYmxlOjpsYXN0TGluZUJhc2VsaW5lKCkgY29uc3QKICAgICAgICAgcmV0dXJu
IHsgfTsKIAogICAgIGlmIChhdXRvIGxhc3RMaW5lQmFzZWxpbmUgPSB0YWJsZVNlY3Rpb24tPmxh
c3RMaW5lQmFzZWxpbmUoKSkKLSAgICAgICAgcmV0dXJuIHRhYmxlU2VjdGlvbi0+bG9naWNhbFRv
cCgpLnRvSW50KCkgKyAqbGFzdExpbmVCYXNlbGluZTsKKyAgICAgICAgcmV0dXJuIChzZXR0aW5n
cygpLnN1YnBpeGVsSW5saW5lTGF5b3V0RW5hYmxlZCgpID8gTGF5b3V0VW5pdCh0YWJsZVNlY3Rp
b24tPmxvZ2ljYWxUb3AoKSkgOiBMYXlvdXRVbml0KHRhYmxlU2VjdGlvbi0+bG9naWNhbFRvcCgp
LnRvSW50KCkpKSArICpsYXN0TGluZUJhc2VsaW5lOwogICAgIHJldHVybiB7IH07CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>