<?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>234538</bug_id>
          
          <creation_ts>2021-12-20 17:38:50 -0800</creation_ts>
          <short_desc>[WebIDL] Eagerly allocate element wrappers onto a butterfly storage of a static NodeList</short_desc>
          <delta_ts>2022-10-15 15:58:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Bindings</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></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>
          <dependson>218849</dependson>
    
    <dependson>244444</dependson>
    
    <dependson>245151</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1825823</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-12-20 17:38:50 -0800</bug_when>
    <thetext>Preliminary microbenchmark results suggest 65% speed-up if a static NodeList is iterated at least once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827000</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-27 17:39:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/86946513&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828693</commentid>
    <comment_count>2</comment_count>
      <attachid>448520</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-06 11:53:01 -0800</bug_when>
    <thetext>Created attachment 448520
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828714</commentid>
    <comment_count>3</comment_count>
      <attachid>448520</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-01-06 12:23:13 -0800</bug_when>
    <thetext>Comment on attachment 448520
WIP

View in context: https://bugs.webkit.org/attachment.cgi?id=448520&amp;action=review

&gt; Source/JavaScriptCore/runtime/JSTypeInfo.h:113
&gt; +    bool getOwnPropertySlotByIndexIsWrongAboutReadOnly() const { return isSetOnFlags2&lt;GetOwnPropertySlotByIndexIsWrongAboutReadOnly&gt;(); }

I&apos;d suggest a name that describes what is true rather than what is false. Maybe something like &quot;IndexedPropertiesAreReadOnly&quot; or &quot;PutByIndexOverrideWillProhibitWrites&quot; or something like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1888170</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-08-01 13:34:33 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/2915</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1894059</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-08-26 12:53:50 -0700</bug_when>
    <thetext>Committed 253834@main (e0c79898e6c5): &lt;https://commits.webkit.org/253834@main&gt;

Reviewed commits have been landed. Closing PR #2915 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1894281</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-08-27 22:15:56 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 244444</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1894663</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-08-29 15:30:56 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/3786</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1894820</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-08-30 08:41:34 -0700</bug_when>
    <thetext>Committed 253946@main (9d5bc2bbab71): &lt;https://commits.webkit.org/253946@main&gt;

Reviewed commits have been landed. Closing PR #3786 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1895397</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-08-31 19:26:45 -0700</bug_when>
    <thetext>Re-opening for pull request https://github.com/WebKit/WebKit/pull/3902</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1895441</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-09-01 03:05:34 -0700</bug_when>
    <thetext>Committed 254036@main (de4790b17831): &lt;https://commits.webkit.org/254036@main&gt;

Reviewed commits have been landed. Closing PR #3902 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1898287</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-09-13 10:56:04 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 245151</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905917</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-10-15 15:58:32 -0700</bug_when>
    <thetext>Before re-landing this check to make sure we don’t reintroduce bug 244900.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448520</attachid>
            <date>2022-01-06 11:53:01 -0800</date>
            <delta_ts>2022-01-06 11:53:01 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-234538-20220106195300.patch</filename>
            <type>text/plain</type>
            <size>13767</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjg3NzA2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDIyLTAxLTA2ICBBbGV4ZXkgU2h2YXlrYSAgPGFzaHZheWthQGFwcGxlLmNvbT4KKworICAg
ICAgICBbV2ViSURMXSBFYWdlcmx5IGFsbG9jYXRlIGVsZW1lbnQgd3JhcHBlcnMgb250byBhIGJ1
dHRlcmZseSBzdG9yYWdlIG9mIGEgc3RhdGljIE5vZGVMaXN0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ1MzgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAg
ICAgICAoSlNDOjpKU09iamVjdDo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKKyAgICAgICAg
KiBydW50aW1lL0pTT2JqZWN0Lmg6CisgICAgICAgICogcnVudGltZS9KU1R5cGVJbmZvLmg6Cisg
ICAgICAgIChKU0M6OlR5cGVJbmZvOjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4SXNXcm9uZ0Fi
b3V0UmVhZE9ubHkgY29uc3QpOgorCiAyMDIyLTAxLTA2ICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU3RhcnQgdXNpbmcgQysrMjAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlzaW9uIDI4
NzY4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzY4NSw2ICszNjg1LDkgQEAgYm9vbCBKU09iamVjdDo6Z2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKAogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc2xvdC5nZXRWYWx1ZShn
bG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIGZhbHNlKTsKICAgICAgICAgZGVzY3JpcHRvci5zZXREZXNjcmlwdG9yKHZhbHVlLCBz
bG90LmF0dHJpYnV0ZXMoKSk7CisKKyAgICAgICAgaWYgKHBhcnNlSW5kZXgocHJvcGVydHlOYW1l
KSAmJiBzbG90LnNsb3RCYXNlKCkgJiYgc2xvdC5zbG90QmFzZSgpLT5zdHJ1Y3R1cmUodm0pLT50
eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXhJc1dyb25nQWJvdXRSZWFkT25seSgp
KQorICAgICAgICAgICAgZGVzY3JpcHRvci5zZXRXcml0YWJsZShmYWxzZSk7CiAgICAgfQogCiAg
ICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmgJKHJldmlzaW9uIDI4NzY4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNjYsNyArMTA2Niw3IEBAIHByb3RlY3Rl
ZDoKICAgICBCdXR0ZXJmbHkqIGNyZWF0ZUluaXRpYWxVbmRlY2lkZWQoVk0mLCB1bnNpZ25lZCBs
ZW5ndGgpOwogICAgIENvbnRpZ3VvdXNKU1ZhbHVlcyBjcmVhdGVJbml0aWFsSW50MzIoVk0mLCB1
bnNpZ25lZCBsZW5ndGgpOwogICAgIENvbnRpZ3VvdXNEb3VibGVzIGNyZWF0ZUluaXRpYWxEb3Vi
bGUoVk0mLCB1bnNpZ25lZCBsZW5ndGgpOwotICAgIENvbnRpZ3VvdXNKU1ZhbHVlcyBjcmVhdGVJ
bml0aWFsQ29udGlndW91cyhWTSYsIHVuc2lnbmVkIGxlbmd0aCk7CisgICAgSlNfRVhQT1JUX1BS
SVZBVEUgQ29udGlndW91c0pTVmFsdWVzIGNyZWF0ZUluaXRpYWxDb250aWd1b3VzKFZNJiwgdW5z
aWduZWQgbGVuZ3RoKTsKIAogICAgIHZvaWQgY29udmVydFVuZGVjaWRlZEZvclZhbHVlKFZNJiwg
SlNWYWx1ZSk7CiAgICAgdm9pZCBjcmVhdGVJbml0aWFsRm9yVmFsdWVBbmRTZXQoVk0mLCB1bnNp
Z25lZCBpbmRleCwgSlNWYWx1ZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1R5cGVJbmZvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNUeXBlSW5mby5oCShyZXZpc2lvbiAyODc2ODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1R5cGVJbmZvLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDYgKzYwLDcgQEAg
c3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVJc0ltbQogc3RhdGljIGNvbnN0ZXhw
ciB1bnNpZ25lZCBPdmVycmlkZXNQdXQgPSAxIDw8IDE4Owogc3RhdGljIGNvbnN0ZXhwciB1bnNp
Z25lZCBPdmVycmlkZXNHZXRQcm90b3R5cGUgPSAxIDw8IDE5Owogc3RhdGljIGNvbnN0ZXhwciB1
bnNpZ25lZCBHZXRPd25Qcm9wZXJ0eVNsb3RNYXlCZVdyb25nQWJvdXREb250RW51bSA9IDEgPDwg
MjA7CitzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIEdldE93blByb3BlcnR5U2xvdEJ5SW5kZXhJ
c1dyb25nQWJvdXRSZWFkT25seSA9IDEgPDwgMjE7CiAKIHN0YXRpYyBjb25zdGV4cHIgdW5zaWdu
ZWQgbnVtYmVyT2ZJbmxpbmVCaXRzID0gODsKIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgT3Zl
cnJpZGVzR2V0UHJvdG90eXBlT3V0T2ZMaW5lID0gT3ZlcnJpZGVzR2V0UHJvdG90eXBlID4+IG51
bWJlck9mSW5saW5lQml0czsKQEAgLTEwOSw2ICsxMTAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBn
ZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZSgpIGNvbnN0IHsgcmV0dXJuIGlzU2V0T25GbGFnczI8
R2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmU+KCk7IH0KICAgICBib29sIGdldE93blByb3BlcnR5
U2xvdElzSW1wdXJlRm9yUHJvcGVydHlBYnNlbmNlKCkgY29uc3QgeyByZXR1cm4gaXNTZXRPbkZs
YWdzMjxHZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJzZW5jZT4oKTsgfQog
ICAgIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90TWF5QmVXcm9uZ0Fib3V0RG9udEVudW0oKSBjb25z
dCB7IHJldHVybiBpc1NldE9uRmxhZ3MyPEdldE93blByb3BlcnR5U2xvdE1heUJlV3JvbmdBYm91
dERvbnRFbnVtPigpOyB9CisgICAgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4SXNXcm9u
Z0Fib3V0UmVhZE9ubHkoKSBjb25zdCB7IHJldHVybiBpc1NldE9uRmxhZ3MyPEdldE93blByb3Bl
cnR5U2xvdEJ5SW5kZXhJc1dyb25nQWJvdXRSZWFkT25seT4oKTsgfQogICAgIGJvb2wgbmV3SW1w
dXJlUHJvcGVydHlGaXJlc1dhdGNocG9pbnRzKCkgY29uc3QgeyByZXR1cm4gaXNTZXRPbkZsYWdz
MjxOZXdJbXB1cmVQcm9wZXJ0eUZpcmVzV2F0Y2hwb2ludHM+KCk7IH0KICAgICBib29sIGlzSW1t
dXRhYmxlUHJvdG90eXBlRXhvdGljT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gaXNTZXRPbkZsYWdz
MjxJc0ltbXV0YWJsZVByb3RvdHlwZUV4b3RpY09iamVjdD4oKTsgfQogICAgIGJvb2wgaW50ZXJj
ZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybygpIGNv
bnN0IHsgcmV0dXJuIGlzU2V0T25GbGFnczI8SW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5
SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybz4oKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNp
b24gMjg3Njg2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMjItMDEtMDYgIEFsZXhleSBTaHZheWthICA8YXNodmF5a2FAYXBw
bGUuY29tPgorCisgICAgICAgIFtXZWJJRExdIEVhZ2VybHkgYWxsb2NhdGUgZWxlbWVudCB3cmFw
cGVycyBvbnRvIGEgYnV0dGVyZmx5IHN0b3JhZ2Ugb2YgYSBzdGF0aWMgTm9kZUxpc3QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDUzOAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAo
T09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNTdGF0aWNOb2RlTGlzdDo6Y3JlYXRlUHJvdG90eXBlKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTU3RhdGljTm9kZUxpc3Q6OkpTU3RhdGljTm9kZUxpc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6SlNTdGF0aWNOb2RlTGlzdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
Y3JlYXRlV3JhcHBlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5o
OgorICAgICAgICAoV2ViQ29yZTo6SlNTdGF0aWNOb2RlTGlzdDo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkpTU3RhdGljTm9kZUxpc3Q6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgICog
ZG9tL05vZGVMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdDo6aXNTdGF0aWNOb2Rl
TGlzdCBjb25zdCk6CisgICAgICAgICogZG9tL1N0YXRpY05vZGVMaXN0Lmg6CisKIDIwMjItMDEt
MDYgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNvbT4KIAogICAgICAgICBIYXZlIENh
Y2hlZFJhd1Jlc291cmNlQ2xpZW50IGFuZCByZWxhdGVkIG5ldHdvcmtpbmcgYWN0b3JzIHVzZSBT
aGFyZWRCdWZmZXIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyODc2ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTQyMDEs
NyArNDIwMSw3IEBACiAJCUJDNzc5RTE3MUJCMjI3Q0EwMENBQThCRiAvKiBTdHlsZUN1c3RvbVBy
b3BlcnR5RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkM3NzlFMTUxQkIyMjZBMjAwQ0FBOEJGIC8qIFN0eWxlQ3VzdG9tUHJvcGVydHlEYXRhLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM3RjQ0
QTgwQjlFMzI0RTAwQTlEMDgxIC8qIEltYWdlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDN0Y0NEE3MEI5RTMyNEUwMEE5RDA4MSAvKiBJ
bWFnZU9ic2VydmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQkM3RkE2MjEwRDFGMENCRDAwREIyMkE5IC8qIExpdmVOb2RlTGlzdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3RkE2MUYwRDFGMENC
RDAwREIyMkE5IC8qIExpdmVOb2RlTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCUJDN0ZBNjJEMEQxRjBFRkYwMERCMjJBOSAvKiBTdGF0aWNO
b2RlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkM3RkE2MkIwRDFGMEVGRjAwREIyMkE5IC8qIFN0YXRpY05vZGVMaXN0LmggKi87IH07CisJCUJD
N0ZBNjJEMEQxRjBFRkYwMERCMjJBOSAvKiBTdGF0aWNOb2RlTGlzdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3RkE2MkIwRDFGMEVGRjAwREIyMkE5
IC8qIFN0YXRpY05vZGVMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQkM4MEM5ODgwQ0QyOTRFRTAwQTBCN0IzIC8qIENTU1RpbWluZ0Z1bmN0
aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDODBDOTg2MENEMjk0RUUwMEEwQjdCMyAvKiBDU1NUaW1pbmdGdW5jdGlvblZhbHVlLmggKi87
IH07CiAJCUJDODI0MzI5MEQwQ0U4QTIwMDQ2MEM4RiAvKiBKU1NRTEVycm9yLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzgyNDMyNTBEMENFOEEyMDA0
NjBDOEYgLyogSlNTUUxFcnJvci5oICovOyB9OwogCQlCQzgyNDMyQTBEMENFOEEyMDA0NjBDOEYg
LyogSlNTUUxUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkM4MjQzMjYwRDBDRThBMjAwNDYwQzhGIC8qIEpTU1FMVHJhbnNhY3Rpb24u
aCAqLzsgfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0
b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxp
c3RDdXN0b20uY3BwCShyZXZpc2lvbiAyODc2ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTIgKzMxLDkw
IEBACiAjaW5jbHVkZSAiTGl2ZU5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiTm9kZS5oIgogI2luY2x1
ZGUgIk5vZGVMaXN0LmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CiAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
dXNpbmcgbmFtZXNwYWNlIEpTQzsKIAorY29uc3QgQ2xhc3NJbmZvIEpTU3RhdGljTm9kZUxpc3Q6
OnNfaW5mbyA9IHsKKyAgICAiTm9kZUxpc3QiLAorICAgICZCYXNlOjpzX2luZm8sCisgICAgbnVs
bHB0ciwKKyAgICBudWxscHRyLAorICAgIHN0ZDo6bnVsbG9wdCwKKyAgICB7CisgICAgICAgICZK
U1N0YXRpY05vZGVMaXN0OjpkZXN0cm95LAorICAgICAgICAmSlNTdGF0aWNOb2RlTGlzdDo6Z2V0
Q2FsbERhdGEsCisgICAgICAgICZKU1N0YXRpY05vZGVMaXN0OjpnZXRDb25zdHJ1Y3REYXRhLAor
ICAgICAgICAmSlNTdGF0aWNOb2RlTGlzdDo6cHV0LAorICAgICAgICAmSlNTdGF0aWNOb2RlTGlz
dDo6cHV0QnlJbmRleCwKKyAgICAgICAgJkpTU3RhdGljTm9kZUxpc3Q6OmRlbGV0ZVByb3BlcnR5
LAorICAgICAgICAmSlNTdGF0aWNOb2RlTGlzdDo6ZGVsZXRlUHJvcGVydHlCeUluZGV4LAorICAg
ICAgICAmQmFzZTo6QmFzZTo6Z2V0T3duUHJvcGVydHlTbG90LAorICAgICAgICAmQmFzZTo6QmFz
ZTo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCwKKyAgICAgICAgJkpTU3RhdGljTm9kZUxpc3Q6
OnRvVGhpcywKKyAgICAgICAgJkJhc2U6OkJhc2U6OmdldE93blByb3BlcnR5TmFtZXMsCisgICAg
ICAgICZCYXNlOjpCYXNlOjpnZXRPd25TcGVjaWFsUHJvcGVydHlOYW1lcywKKyAgICAgICAgJkpT
U3RhdGljTm9kZUxpc3Q6OmN1c3RvbUhhc0luc3RhbmNlLAorICAgICAgICAmSlNTdGF0aWNOb2Rl
TGlzdDo6ZGVmaW5lT3duUHJvcGVydHksCisgICAgICAgICZKU1N0YXRpY05vZGVMaXN0OjpwcmV2
ZW50RXh0ZW5zaW9ucywKKyAgICAgICAgJkpTU3RhdGljTm9kZUxpc3Q6OmlzRXh0ZW5zaWJsZSwK
KyAgICAgICAgJkpTU3RhdGljTm9kZUxpc3Q6OnNldFByb3RvdHlwZSwKKyAgICAgICAgJkpTU3Rh
dGljTm9kZUxpc3Q6OmdldFByb3RvdHlwZSwKKyAgICAgICAgJkpTU3RhdGljTm9kZUxpc3Q6OmR1
bXBUb1N0cmVhbSwKKyAgICAgICAgJkpTU3RhdGljTm9kZUxpc3Q6OmFuYWx5emVIZWFwLAorICAg
ICAgICAmSlNTdGF0aWNOb2RlTGlzdDo6ZXN0aW1hdGVkU2l6ZSwKKyAgICAgICAgJkpTU3RhdGlj
Tm9kZUxpc3Q6OnZpc2l0Q2hpbGRyZW4sCisgICAgICAgICZKU1N0YXRpY05vZGVMaXN0Ojp2aXNp
dENoaWxkcmVuLAorICAgICAgICAmSlNTdGF0aWNOb2RlTGlzdDo6dmlzaXRPdXRwdXRDb25zdHJh
aW50cywKKyAgICAgICAgJkpTU3RhdGljTm9kZUxpc3Q6OnZpc2l0T3V0cHV0Q29uc3RyYWludHMs
CisgICAgfSwKKyAgICBUeXBlZEFycmF5VHlwZTo6Tm90VHlwZWRBcnJheSwKKyAgICBzaXplb2Yo
SlNTdGF0aWNOb2RlTGlzdCksCit9OworCitKU09iamVjdCogSlNTdGF0aWNOb2RlTGlzdDo6Y3Jl
YXRlUHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKK3sK
KyAgICByZXR1cm4gQmFzZTo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpOworfQorCitKU1N0
YXRpY05vZGVMaXN0OjpKU1N0YXRpY05vZGVMaXN0KFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RP
TUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8U3RhdGljTm9kZUxpc3Q+JiYgaW1wbCkK
KyAgICA6IEJhc2Uoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCit7Cit9
CisKK3ZvaWQgSlNTdGF0aWNOb2RlTGlzdDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKworICAgIGF1dG8mIG5vZGVMaXN0ID0gd3JhcHBl
ZCgpOworICAgIHVuc2lnbmVkIGxlbmd0aCA9IG5vZGVMaXN0Lmxlbmd0aCgpOworCisgICAgLy8g
ZGF0YUxvZ0xuKCJTdGF0aWNOb2RlTGlzdDo6ZmluaXNoQ3JlYXRpb24iKTsKKworICAgIC8vIElu
ZGV4aW5nSGVhZGVyIGluZGV4aW5nSGVhZGVyOworICAgIC8vIGluZGV4aW5nSGVhZGVyLnNldFZl
Y3Rvckxlbmd0aChsZW5ndGgpOworICAgIC8vIGluZGV4aW5nSGVhZGVyLnNldFB1YmxpY0xlbmd0
aChsZW5ndGgpOworICAgIC8vIGRhdGFMb2dMbigibGVuZ3RoOiAiLCBsZW5ndGgpOworICAgIC8v
IGRhdGFMb2dMbigic3RydWN0dXJlKHZtKS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTogIiwgc3RydWN0
dXJlKHZtKS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSk7CisgICAgLy8gYXV0byogYnV0dGVyZmx5ID0g
QnV0dGVyZmx5Ojp0cnlDcmVhdGUodm0sIG51bGxwdHIsIDAsIHN0cnVjdHVyZSh2bSktPm91dE9m
TGluZUNhcGFjaXR5KCksIHRydWUsIGluZGV4aW5nSGVhZGVyLCBsZW5ndGggKiBzaXplb2YoSlNO
b2RlKSk7CisgICAgLy8gaWYgKCFidXR0ZXJmbHkpCisgICAgLy8gICAgIHJldHVybjsKKworICAg
IGF1dG8qIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCgpOworCisgICAgeworICAg
ICAgICBDb250aWd1b3VzSlNWYWx1ZXMgdmFsdWVzID0gY3JlYXRlSW5pdGlhbENvbnRpZ3VvdXMo
dm0sIGxlbmd0aCk7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGxlbmd0aDsgaS0tOykgewor
ICAgICAgICAgICAgYXV0byBqc05vZGUgPSB0b0pTKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0
LCAqbm9kZUxpc3QuaXRlbShpKSk7CisgICAgICAgICAgICAvLyBwdXREaXJlY3RJbmRleChnbG9i
YWxPYmplY3QsIGksIGpzTm9kZSk7CisgICAgICAgICAgICB2YWx1ZXMuYXRVbnNhZmUoaSkuc2V0
V2l0aG91dFdyaXRlQmFycmllcihqc05vZGUpOworICAgICAgICB9CisgICAgfQorfQorCiBib29s
IEpTTm9kZUxpc3RPd25lcjo6aXNSZWFjaGFibGVGcm9tT3BhcXVlUm9vdHMoSlNDOjpIYW5kbGU8
SlNDOjpVbmtub3duPiBoYW5kbGUsIHZvaWQqLCBBYnN0cmFjdFNsb3RWaXNpdG9yJiB2aXNpdG9y
LCBjb25zdCBjaGFyKiogcmVhc29uKQogewogICAgIEpTTm9kZUxpc3QqIGpzTm9kZUxpc3QgPSBq
c0Nhc3Q8SlNOb2RlTGlzdCo+KGhhbmRsZS5zbG90KCktPmFzQ2VsbCgpKTsKQEAgLTY4LDYgKzE0
Niw4IEBAIGJvb2wgSlNOb2RlTGlzdE93bmVyOjppc1JlYWNoYWJsZUZyb21PcGEKIAogSlNDOjpK
U1ZhbHVlIGNyZWF0ZVdyYXBwZXIoSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVm
PE5vZGVMaXN0PiYmIG5vZGVMaXN0KQogeworICAgIGlmIChub2RlTGlzdC0+aXNTdGF0aWNOb2Rl
TGlzdCgpKQorICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxTdGF0aWNOb2RlTGlzdD4oJmds
b2JhbE9iamVjdCwgV1RGTW92ZShub2RlTGlzdCkpOwogICAgIC8vIEZJWE1FOiBBZG9wdCByZXBv
cnRFeHRyYU1lbW9yeVZpc2l0ZWQsIGFuZCBzd2l0Y2ggdG8gcmVwb3J0RXh0cmFNZW1vcnlBbGxv
Y2F0ZWQuCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MjU5NQogICAgIGdsb2JhbE9iamVjdC52bSgpLmhlYXAuZGVwcmVjYXRlZFJlcG9ydEV4dHJhTWVt
b3J5KG5vZGVMaXN0LT5tZW1vcnlDb3N0KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNOb2RlTGlzdEN1c3RvbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uaAkocmV2aXNpb24gMjg3Njg2KQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNiw5ICsyNiw0MCBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcu
aCIKKyNpbmNsdWRlICJKU05vZGVMaXN0LmgiCisjaW5jbHVkZSAiU3RhdGljTm9kZUxpc3QuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBKU1N0YXRpY05vZGVMaXN0IDogcHVibGlj
IEpTTm9kZUxpc3QgeworcHVibGljOgorICAgIHVzaW5nIEJhc2UgPSBKU05vZGVMaXN0OworICAg
IHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpCYXNlOjpT
dHJ1Y3R1cmVGbGFncyB8IEpTQzo6R2V0T3duUHJvcGVydHlTbG90QnlJbmRleElzV3JvbmdBYm91
dFJlYWRPbmx5OworICAgIHN0YXRpYyBKU1N0YXRpY05vZGVMaXN0KiBjcmVhdGUoSlNDOjpTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFN0
YXRpY05vZGVMaXN0PiYmIGltcGwpCisgICAgeworICAgICAgICBKU1N0YXRpY05vZGVMaXN0KiBw
dHIgPSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTU3RhdGljTm9kZUxpc3Q+KGds
b2JhbE9iamVjdC0+dm0oKSkpIEpTU3RhdGljTm9kZUxpc3Qoc3RydWN0dXJlLCAqZ2xvYmFsT2Jq
ZWN0LCBXVEZNb3ZlKGltcGwpKTsKKyAgICAgICAgcHRyLT5maW5pc2hDcmVhdGlvbihnbG9iYWxP
YmplY3QtPnZtKCkpOworICAgICAgICByZXR1cm4gcHRyOworICAgIH0KKworICAgIERFQ0xBUkVf
SU5GTzsKKworICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBjcmVhdGVQcm90b3R5cGUoSlNDOjpW
TSYsIEpTRE9NR2xvYmFsT2JqZWN0Jik7CisgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVh
dGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7CisgICAgICAgIHJldHVybiBKU0M6OlN0
cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5m
byhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9Citwcm90
ZWN0ZWQ6CisgICAgSlNTdGF0aWNOb2RlTGlzdChKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFs
T2JqZWN0JiwgUmVmPFN0YXRpY05vZGVMaXN0PiYmKTsKKworICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oSlNDOjpWTSYpOworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgSlNET01XcmFwcGVyQ29udmVy
dGVyVHJhaXRzPFN0YXRpY05vZGVMaXN0PiB7CisgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gSlNT
dGF0aWNOb2RlTGlzdDsKKyAgICB1c2luZyBUb1dyYXBwZWRSZXR1cm5UeXBlID0gU3RhdGljTm9k
ZUxpc3QqOworfTsKKwogV0VCQ09SRV9FWFBPUlQgSlNDOjpKU1ZhbHVlIGNyZWF0ZVdyYXBwZXIo
SlNET01HbG9iYWxPYmplY3QmLCBSZWY8Tm9kZUxpc3Q+JiYpOwogCiBBTFdBWVNfSU5MSU5FIEpT
Qzo6SlNWYWx1ZSB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBOb2RlTGlzdCYgbm9kZUxpc3QpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vTm9kZUxpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZUxpc3Qu
aAkocmV2aXNpb24gMjg3Njg2KQorKysgU291cmNlL1dlYkNvcmUvZG9tL05vZGVMaXN0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBp
c0xpdmVOb2RlTGlzdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29s
IGlzQ2hpbGROb2RlTGlzdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBi
b29sIGlzRW1wdHlOb2RlTGlzdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVh
bCBib29sIGlzU3RhdGljTm9kZUxpc3QoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgc2l6ZV90IG1lbW9yeUNvc3QoKSBjb25zdCB7IHJldHVybiAwOyB9CiB9OwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljTm9kZUxpc3QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vU3RhdGljTm9kZUxpc3QuaAkocmV2aXNpb24gMjg3Njg2KQorKysgU291
cmNlL1dlYkNvcmUvZG9tL1N0YXRpY05vZGVMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYg
KzQ1LDggQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIE5vZGUqIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0IG92ZXJyaWRlOwogCisgICAgYm9v
bCBpc1N0YXRpY05vZGVMaXN0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorCiBwcml2
YXRlOgogICAgIFN0YXRpY05vZGVMaXN0KFZlY3RvcjxSZWY8Tm9kZT4+JiYgbm9kZXMpCiAgICAg
ICAgIDogbV9ub2RlcyhXVEZNb3ZlKG5vZGVzKSkKQEAgLTY0LDYgKzY2LDggQEAgcHVibGljOgog
ICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEVsZW1lbnQqIGl0ZW0o
dW5zaWduZWQgaW5kZXgpIGNvbnN0IG92ZXJyaWRlOwogCisgICAgYm9vbCBpc1N0YXRpY05vZGVM
aXN0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorCiBwcml2YXRlOgogICAgIFN0YXRp
Y0VsZW1lbnRMaXN0KFZlY3RvcjxSZWY8RWxlbWVudD4+JiYgZWxlbWVudHMpCiAgICAgICAgIDog
bV9lbGVtZW50cyhXVEZNb3ZlKGVsZW1lbnRzKSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>