<?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>235940</bug_id>
          
          <creation_ts>2022-01-31 23:43:02 -0800</creation_ts>
          <short_desc>Revert OSAllocator behavior to pre-Structure-Allocator change one</short_desc>
          <delta_ts>2022-02-01 03:07:06 -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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</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>1835843</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-31 23:43:02 -0800</bug_when>
    <thetext>Revert OSAllocator behavior to pre-Structure-Allocator change one</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835849</commentid>
    <comment_count>1</comment_count>
      <attachid>450504</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-31 23:53:20 -0800</bug_when>
    <thetext>Created attachment 450504
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835853</commentid>
    <comment_count>2</comment_count>
      <attachid>450504</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2022-02-01 00:53:15 -0800</bug_when>
    <thetext>Comment on attachment 450504
Patch

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

r=me

&gt; Source/WTF/ChangeLog:42
&gt; +        We also fix that tryReserveUncommitted is not correctly handling MAP_FAILED. We should not return MAP_FAILED from OSAllocator, instead,

I suggest &quot;fix that tryReserveUncommitted is not correctly handling MAP_FAILED&quot; =&gt; &quot;fix a bug in tryReserveUncommitted where it handles MAP_FAILED incorrectly&quot;.

&gt; Source/WTF/wtf/posix/OSAllocatorPOSIX.cpp:116
&gt; +void* OSAllocator::tryReserveUncommitted(size_t bytes, Usage usage, bool writable, bool executable, bool jitCageEnabled, bool includesGuardPages)

Why remove the &quot;OSAllocator::&quot; qualifier for Usage?  You kept to for tryReserveAndCommit above.  I see that it is not used for functions below.  Maybe remove it also for tryReserveAndCommit above?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835858</commentid>
    <comment_count>3</comment_count>
      <attachid>450504</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-02-01 01:15:44 -0800</bug_when>
    <thetext>Comment on attachment 450504
Patch

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

&gt;&gt; Source/WTF/ChangeLog:42
&gt;&gt; +        We also fix that tryReserveUncommitted is not correctly handling MAP_FAILED. We should not return MAP_FAILED from OSAllocator, instead,
&gt; 
&gt; I suggest &quot;fix that tryReserveUncommitted is not correctly handling MAP_FAILED&quot; =&gt; &quot;fix a bug in tryReserveUncommitted where it handles MAP_FAILED incorrectly&quot;.

Changed.

&gt;&gt; Source/WTF/wtf/posix/OSAllocatorPOSIX.cpp:116
&gt;&gt; +void* OSAllocator::tryReserveUncommitted(size_t bytes, Usage usage, bool writable, bool executable, bool jitCageEnabled, bool includesGuardPages)
&gt; 
&gt; Why remove the &quot;OSAllocator::&quot; qualifier for Usage?  You kept to for tryReserveAndCommit above.  I see that it is not used for functions below.  Maybe remove it also for tryReserveAndCommit above?

Because now it is static function of OSAllocator::. So, we don&apos;t need OSAllocator:: prefix to Usage.
Removed that of tryReserveAndCommit too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835873</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-02-01 02:26:42 -0800</bug_when>
    <thetext>Committed r288870 (246622@trunk): &lt;https://commits.webkit.org/246622@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835874</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-01 02:27:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/88318960&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450504</attachid>
            <date>2022-01-31 23:53:20 -0800</date>
            <delta_ts>2022-02-01 03:07:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235940-20220131235319.patch</filename>
            <type>text/plain</type>
            <size>14683</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4ODY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
MDkyNDcyMmU5ZDI5YjJlNGRlY2NmNjE5N2M0MDExYjljZTRjNTU0Li42ZmE4NDVhOGNiMTY3YjM2
NDhiYzE0ZGRkNTMwYzNiOGI3MmU4NGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMi0wMS0zMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmVydCBPU0FsbG9jYXRvciBiZWhhdmlvciB0byBwcmUtU3RydWN0dXJl
LUFsbG9jYXRvciBjaGFuZ2Ugb25lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzU5NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcDoKKyAgICAgICAgKEpT
Qzo6aW5pdGlhbGl6ZUpJVFBhZ2VSZXNlcnZhdGlvbik6CisKIDIwMjItMDEtMzEgIFphbiBEb2Jl
cnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtSSVNDVjY0XSBBZGQgcmVt
YWluaW5nIE1hY3JvQXNzZW1ibGVyUklTQ1Y2NCBicmFuY2hpbmcgb3BlcmF0aW9ucwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCAz
MmVmNjk1OTRjNzZhNmZmNDBjYWE0M2M2ZWFlMDhlZjcyZGVhMDliLi5mYzc1Njc5NDhiODFmYjQ2
Y2Y0YjU2Y2ZmOWI2MmQxOWYyYjE5NjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIyLTAxLTMx
ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2ZXJ0IE9T
QWxsb2NhdG9yIGJlaGF2aW9yIHRvIHByZS1TdHJ1Y3R1cmUtQWxsb2NhdG9yIGNoYW5nZSBvbmUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTk0MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJlZm9yZSBy
Mjg4ODE1LCBPU0FsbG9jYXRvcjo6cmVzZXJ2ZUFuZENvbW1pdCBjYW4gZmFpbCBvbmx5IGZvciBl
eGVjdXRhYmxlIG1lbW9yeS4KKworICAgICAgICAgICAgaWYgKHJlc3VsdCA9PSBNQVBfRkFJTEVE
KSB7CisgICAgICAgICAgICAgICAgaWYgKGV4ZWN1dGFibGUpCisgICAgICAgICAgICAgICAgICAg
IHJlc3VsdCA9IDA7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBD
UkFTSCgpOworICAgICAgICAgICAgfQorCisgICAgICAgIEhvd2V2ZXIsIGFmdGVyIHIyODg4MTUs
IHRoaXMgYmVoYXZpb3Igd2FzIGNoYW5nZWQuCisKKyAgICAgICAgQmVmb3JlIHIyODg4MTUsCisK
KyAgICAgICAgICAgIDEuIEV4ZWN1dGFibGVBbGxvY2F0b3IgdXNlcyBQYWdlUmVzZXJ2YXRpb246
OnJlc2VydmVXaXRoR3VhcmRQYWdlcyAvIFBhZ2VSZXNlcnZhdGlvbjo6cmVzZXJ2ZSAvIFBhZ2VS
ZXNlcnZhdGlvbjo6cmVzZXJ2ZUFuZENvbW1pdFdpdGhHdWFyZFBhZ2VzCisgICAgICAgICAgICAg
ICB0byByZXNlcnZlIG1lbW9yeS4KKyAgICAgICAgICAgIDIuIEluIEFSTTY0IG1hY09TLCB3ZSB1
c2UgUGFnZVJlc2VydmF0aW9uOjpyZXNlcnZlV2l0aEd1YXJkUGFnZXMuCisgICAgICAgICAgICAz
LiBQYWdlUmVzZXJ2YXRpb246OnJlc2VydmVXaXRoR3VhcmRQYWdlcyB1c2VzIE9TQWxsb2NhdG9y
OjpyZXNlcnZlVW5jb21taXR0ZWQuCisgICAgICAgICAgICA0LiBPU0FsbG9jYXRvcjo6cmVzZXJ2
ZVVuY29tbWl0dGVkIHVzZWQgT1NBbGxvY2F0b3I6OnJlc2VydmVBbmRDb21taXQgaW50ZXJuYWxs
eSBiZWZvcmUgcjI4ODgxNS4KKyAgICAgICAgICAgIDUuIE9TQWxsb2NhdG9yOjpyZXNlcnZlQW5k
Q29tbWl0IGNhbiBmYWlsIGZvciBleGVjdXRhYmxlIG1lbW9yeS4KKworICAgICAgICBCdXQgYWZ0
ZXIgcjI4ODgxNSwKKworICAgICAgICAgICAgMS4gUGFnZVJlc2VydmF0aW9uOjpyZXNlcnZlV2l0
aEd1YXJkUGFnZXMgdXNlcyBPU0FsbG9jYXRvcjo6cmVzZXJ2ZVVuY29tbWl0dGVkCisgICAgICAg
ICAgICAyLiBPU0FsbG9jYXRvcjo6cmVzZXJ2ZVVuY29tbWl0dGVkIG5vdyB1c2VzIE9TQWxsb2Nh
dG9yOjp0cnlSZXNlcnZlVW5jb21taXR0ZWQgYW5kIGNyYXNoIGlmIGl0IGZhaWxzLgorCisgICAg
ICAgIFRodXMsIHIyODg4MTUgY2hhbmdlZCB0aGUgYmVoYXZpb3Igb2YgT1NBbGxvY2F0b3I6OnJl
c2VydmVVbmNvbW1pdHRlZCBmb3IgZXhlY3V0YWJsZSBtZW1vcnkuIFRoaXMgaXMgY2F1c2luZyBh
IGNyYXNoIHdoZW4gd2UgZmFpbGVkIHRvCisgICAgICAgIGFsbG9jYXRlIEpJVCBtZW1vcnkuIEFu
ZCBwcm9iYWJseSwgaXQgaXMgaGFwcGVuaW5nIGluIFNJUC1lbmFibGVkIHJvb3QtaW5zdGFsbGlu
ZyBlbnZpcm9ubWVudC4KKworICAgICAgICBJbiB0aGlzIHBhdGNoLAorCisgICAgICAgIDEuIEFj
Y2VwdGluZyBmYWlsdXJlIG9ubHkgZm9yIGV4ZWN1dGFibGUgbWVtb3J5IGlzIHVnbHkgaGFjay4g
V2Ugc2hvdWxkIGFkZCBQYWdlUmVzZXJ2YXRpb246OnRyeVJlc2VydmVXaXRoR3VhcmRQYWdlcy4K
KyAgICAgICAgMi4gSW4gUGFnZVJlc2VydmF0aW9uOjp0cnlSZXNlcnZlV2l0aEd1YXJkUGFnZXMg
d2Ugc2hvdWxkIHVzZSBPU0FsbG9jYXRvcjo6dHJ5UmVzZXJ2ZVVuY29tbWl0dGVkLgorCisgICAg
ICAgIFNvLCB0aGlzIHBhdGNoIHJldmVydHMgdGhlIGJlaGF2aW9yIGJhY2sgdG8gcHJlLXIyODg4
MTUgc3RhdGUuCisgICAgICAgIFdlIGFsc28gZml4IHRoYXQgdHJ5UmVzZXJ2ZVVuY29tbWl0dGVk
IGlzIG5vdCBjb3JyZWN0bHkgaGFuZGxpbmcgTUFQX0ZBSUxFRC4gV2Ugc2hvdWxkIG5vdCByZXR1
cm4gTUFQX0ZBSUxFRCBmcm9tIE9TQWxsb2NhdG9yLCBpbnN0ZWFkLAorICAgICAgICB3ZSBzaG91
bGQgcmV0dXJuIG51bGxwdHIuCisKKyAgICAgICAgKiB3dGYvT1NBbGxvY2F0b3IuaDoKKyAgICAg
ICAgKiB3dGYvUGFnZVJlc2VydmF0aW9uLmg6CisgICAgICAgIChXVEY6OlBhZ2VSZXNlcnZhdGlv
bjo6dHJ5UmVzZXJ2ZSk6CisgICAgICAgIChXVEY6OlBhZ2VSZXNlcnZhdGlvbjo6dHJ5UmVzZXJ2
ZVdpdGhHdWFyZFBhZ2VzKToKKyAgICAgICAgKFdURjo6UGFnZVJlc2VydmF0aW9uOjp0cnlSZXNl
cnZlQW5kQ29tbWl0V2l0aEd1YXJkUGFnZXMpOgorICAgICAgICAqIHd0Zi9wb3NpeC9PU0FsbG9j
YXRvclBPU0lYLmNwcDoKKyAgICAgICAgKFdURjo6T1NBbGxvY2F0b3I6OnRyeVJlc2VydmVBbmRD
b21taXQpOgorICAgICAgICAoV1RGOjpPU0FsbG9jYXRvcjo6dHJ5UmVzZXJ2ZVVuY29tbWl0dGVk
KToKKyAgICAgICAgKFdURjo6T1NBbGxvY2F0b3I6OnJlc2VydmVBbmRDb21taXQpOgorICAgICAg
ICAoV1RGOjp0cnlSZXNlcnZlQW5kQ29tbWl0KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6dHJ5
UmVzZXJ2ZVVuY29tbWl0dGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiB3dGYvd2luL09TQWxsb2Nh
dG9yV2luLmNwcDoKKyAgICAgICAgKFdURjo6T1NBbGxvY2F0b3I6OnRyeVJlc2VydmVVbmNvbW1p
dHRlZCk6CisgICAgICAgIChXVEY6Ok9TQWxsb2NhdG9yOjpyZXNlcnZlVW5jb21taXR0ZWQpOgor
ICAgICAgICAoV1RGOjpPU0FsbG9jYXRvcjo6dHJ5UmVzZXJ2ZUFuZENvbW1pdCk6CisgICAgICAg
IChXVEY6Ok9TQWxsb2NhdG9yOjpyZXNlcnZlQW5kQ29tbWl0KToKKwogMjAyMi0wMS0zMSAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBEZWxldGUgcnVudGltZSBm
bGFnIGZvciBzdWJyZXNvdXJjZSBpbnRlZ3JpdHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwCmluZGV4IGQzYjkzZmJlOTk3MGIxMTU1ZTgw
ZGVkYTBiZDg0YjBhYzcyNTFiYjAuLjE4YmE5M2I0NGQ1MzU0MmZlZTEwYWZhZGQ4YWZmODZmNWQ3
ZmE0ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFs
bG9jYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxs
b2NhdG9yLmNwcApAQCAtMzYwLDExICszNjAsMTEgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgSklU
UmVzZXJ2YXRpb24gaW5pdGlhbGl6ZUpJVFBhZ2VSZXNlcnZhdGlvbigpCiAgICAgICAgIC8vIFRo
aXMgbWFrZXMgdGhlIGZvbGxvd2luZyBKSVQgY29kZSBsb2dnaW5nIGJyb2tlbiBhbmQgc29tZSBv
ZiBKSVQgY29kZSBpcyBub3QgcmVjb3JkZWQgY29ycmVjdGx5LgogICAgICAgICAvLyBUbyBhdm9p
ZCB0aGlzIHByb2JsZW0sIHdlIHVzZSBjb21taXR0ZWQgcmVzZXJ2YXRpb24gaWYgd2UgbmVlZCBw
ZXJmIEpJVER1bXAgbG9nZ2luZy4KICAgICAgICAgaWYgKE9wdGlvbnM6OmxvZ0pJVENvZGVGb3JQ
ZXJmKCkpCi0gICAgICAgICAgICByZXR1cm4gUGFnZVJlc2VydmF0aW9uOjpyZXNlcnZlQW5kQ29t
bWl0V2l0aEd1YXJkUGFnZXMocmVzZXJ2YXRpb25TaXplLCBPU0FsbG9jYXRvcjo6SlNKSVRDb2Rl
UGFnZXMsIEVYRUNVVEFCTEVfUE9PTF9XUklUQUJMRSwgdHJ1ZSwgZmFsc2UpOworICAgICAgICAg
ICAgcmV0dXJuIFBhZ2VSZXNlcnZhdGlvbjo6dHJ5UmVzZXJ2ZUFuZENvbW1pdFdpdGhHdWFyZFBh
Z2VzKHJlc2VydmF0aW9uU2l6ZSwgT1NBbGxvY2F0b3I6OkpTSklUQ29kZVBhZ2VzLCBFWEVDVVRB
QkxFX1BPT0xfV1JJVEFCTEUsIHRydWUsIGZhbHNlKTsKICNlbmRpZgogICAgICAgICBpZiAoT3B0
aW9uczo6dXNlSklUQ2FnZSgpICYmIEpTQ19BTExPV19KSVRfQ0FHRV9TUEVDSUZJQ19SRVNFUlZB
VElPTikKLSAgICAgICAgICAgIHJldHVybiBQYWdlUmVzZXJ2YXRpb246OnJlc2VydmUocmVzZXJ2
YXRpb25TaXplLCBPU0FsbG9jYXRvcjo6SlNKSVRDb2RlUGFnZXMsIEVYRUNVVEFCTEVfUE9PTF9X
UklUQUJMRSwgdHJ1ZSwgT3B0aW9uczo6dXNlSklUQ2FnZSgpKTsKLSAgICAgICAgcmV0dXJuIFBh
Z2VSZXNlcnZhdGlvbjo6cmVzZXJ2ZVdpdGhHdWFyZFBhZ2VzKHJlc2VydmF0aW9uU2l6ZSwgT1NB
bGxvY2F0b3I6OkpTSklUQ29kZVBhZ2VzLCBFWEVDVVRBQkxFX1BPT0xfV1JJVEFCTEUsIHRydWUs
IGZhbHNlKTsKKyAgICAgICAgICAgIHJldHVybiBQYWdlUmVzZXJ2YXRpb246OnRyeVJlc2VydmUo
cmVzZXJ2YXRpb25TaXplLCBPU0FsbG9jYXRvcjo6SlNKSVRDb2RlUGFnZXMsIEVYRUNVVEFCTEVf
UE9PTF9XUklUQUJMRSwgdHJ1ZSwgT3B0aW9uczo6dXNlSklUQ2FnZSgpKTsKKyAgICAgICAgcmV0
dXJuIFBhZ2VSZXNlcnZhdGlvbjo6dHJ5UmVzZXJ2ZVdpdGhHdWFyZFBhZ2VzKHJlc2VydmF0aW9u
U2l6ZSwgT1NBbGxvY2F0b3I6OkpTSklUQ29kZVBhZ2VzLCBFWEVDVVRBQkxFX1BPT0xfV1JJVEFC
TEUsIHRydWUsIGZhbHNlKTsKICAgICB9OwogCiAgICAgcmVzZXJ2YXRpb24ucGFnZVJlc2VydmF0
aW9uID0gdHJ5Q3JlYXRlUGFnZVJlc2VydmF0aW9uKHJlc2VydmF0aW9uLnNpemUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvT1NBbGxvY2F0b3IuaCBiL1NvdXJjZS9XVEYvd3RmL09TQWxs
b2NhdG9yLmgKaW5kZXggM2RlYTNkODk0MjQ2MTVhMWJkZmYxOWNjMWEyZjBmOGIxNWI4NTBhZC4u
OWE2YjFhMzJkMzUzYmZlNDFlMzJkYWEwZTlhNzVjMTQzZTMwOGVjZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvT1NBbGxvY2F0b3IuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9PU0FsbG9jYXRv
ci5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIE9TQWxsb2NhdG9yIHsKICAgICAvLyB0aGUgbWVt
b3J5IG11c3QgYWxsIGN1cnJlbnRseSBiZSBpbiBhIGRlY29tbWl0dGVkIHN0YXRlLiByZXNlcnZl
VW5jb21taXR0ZWQoQWxpZ25lZCkgcmV0dXJucyB0bwogICAgIC8vIHlvdSBtZW1vcnkgdGhhdCBp
cyB6ZXJvZWQuCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB2b2lkKiByZXNlcnZlVW5j
b21taXR0ZWQoc2l6ZV90LCBVc2FnZSA9IFVua25vd25Vc2FnZSwgYm9vbCB3cml0YWJsZSA9IHRy
dWUsIGJvb2wgZXhlY3V0YWJsZSA9IGZhbHNlLCBib29sIGppdENhZ2VFbmFibGVkID0gZmFsc2Us
IGJvb2wgaW5jbHVkZXNHdWFyZFBhZ2VzID0gZmFsc2UpOworICAgIFdURl9FWFBPUlRfUFJJVkFU
RSBzdGF0aWMgdm9pZCogdHJ5UmVzZXJ2ZVVuY29tbWl0dGVkKHNpemVfdCwgVXNhZ2UgPSBVbmtu
b3duVXNhZ2UsIGJvb2wgd3JpdGFibGUgPSB0cnVlLCBib29sIGV4ZWN1dGFibGUgPSBmYWxzZSwg
Ym9vbCBqaXRDYWdlRW5hYmxlZCA9IGZhbHNlLCBib29sIGluY2x1ZGVzR3VhcmRQYWdlcyA9IGZh
bHNlKTsKICAgICAvLyBUaGlzIGd1YXJhbnRlZXMgdGhlIG1lbW9yeSB3aWxsIGJlIGFsaWduZWQg
dG8gYSBtdWx0aXBsZSBvZiB0aGUgcmVxdWVzdGVkIHNpemUuIFRoZSByZXF1ZXN0ZWQKICAgICAv
LyBzaXplIG11c3QgYmUgYSBwb3dlciBvZiB0d28gYW5kIGdyZWF0ZXIgdGhhbiB0aGUgc3lzdGVt
IHBhZ2Ugc2l6ZS4KICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHZvaWQqIHRyeVJlc2Vy
dmVVbmNvbW1pdHRlZEFsaWduZWQoc2l6ZV90LCBVc2FnZSA9IFVua25vd25Vc2FnZSwgYm9vbCB3
cml0YWJsZSA9IHRydWUsIGJvb2wgZXhlY3V0YWJsZSA9IGZhbHNlLCBib29sIGppdENhZ2VFbmFi
bGVkID0gZmFsc2UsIGJvb2wgaW5jbHVkZXNHdWFyZFBhZ2VzID0gZmFsc2UpOwpAQCAtNTksNiAr
NjAsNyBAQCBjbGFzcyBPU0FsbG9jYXRvciB7CiAgICAgLy8gZGVjb21taXRBbmRSZWxlYXNlIHNo
b3VsZCBiZSBjYWxsZWQgb24gYSByZWdpb24gb2YgVk0gYWxsb2NhdGVkIGJ5IGEgc2luZ2xlIHJl
c2VydmF0aW9uLAogICAgIC8vIHRoZSBtZW1vcnkgbXVzdCBhbGwgY3VycmVudGx5IGJlIGluIGEg
Y29tbWl0dGVkIHN0YXRlLgogICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgdm9pZCogcmVz
ZXJ2ZUFuZENvbW1pdChzaXplX3QsIFVzYWdlID0gVW5rbm93blVzYWdlLCBib29sIHdyaXRhYmxl
ID0gdHJ1ZSwgYm9vbCBleGVjdXRhYmxlID0gZmFsc2UsIGJvb2wgaml0Q2FnZUVuYWJsZWQgPSBm
YWxzZSwgYm9vbCBpbmNsdWRlc0d1YXJkUGFnZXMgPSBmYWxzZSk7CisgICAgV1RGX0VYUE9SVF9Q
UklWQVRFIHN0YXRpYyB2b2lkKiB0cnlSZXNlcnZlQW5kQ29tbWl0KHNpemVfdCwgVXNhZ2UgPSBV
bmtub3duVXNhZ2UsIGJvb2wgd3JpdGFibGUgPSB0cnVlLCBib29sIGV4ZWN1dGFibGUgPSBmYWxz
ZSwgYm9vbCBqaXRDYWdlRW5hYmxlZCA9IGZhbHNlLCBib29sIGluY2x1ZGVzR3VhcmRQYWdlcyA9
IGZhbHNlKTsKICAgICBzdGF0aWMgdm9pZCBkZWNvbW1pdEFuZFJlbGVhc2Uodm9pZCogYmFzZSwg
c2l6ZV90IHNpemUpOwogCiAgICAgLy8gVGhlc2UgbWV0aG9kcyBhcmUgYWtpbiB0byByZXNlcnZl
QW5kQ29tbWl0L2RlY29tbWl0QW5kUmVsZWFzZSwgYWJvdmUgLSBob3dldmVyIHJhdGhlciB0aGFu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QYWdlUmVzZXJ2YXRpb24uaCBiL1NvdXJjZS9X
VEYvd3RmL1BhZ2VSZXNlcnZhdGlvbi5oCmluZGV4IDQ5NGJmMDVlMDAxNzE1Mzg1MWViMTBhNTUz
M2MyMmZjNjVjYjc3MmUuLjJmNTI0ODAzZTA5MTc0MjIyOTg3MDY2MWQ1N2RkODBiMjk2MjhlYTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BhZ2VSZXNlcnZhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL1BhZ2VSZXNlcnZhdGlvbi5oCkBAIC05MywxOSArOTMsMzcgQEAgY2xhc3MgUGFn
ZVJlc2VydmF0aW9uIDogcHJpdmF0ZSBQYWdlQmxvY2sgewogICAgICAgICBBU1NFUlQoaXNQYWdl
QWxpZ25lZChzaXplKSk7CiAgICAgICAgIHJldHVybiBQYWdlUmVzZXJ2YXRpb24oT1NBbGxvY2F0
b3I6OnJlc2VydmVVbmNvbW1pdHRlZChzaXplLCB1c2FnZSwgd3JpdGFibGUsIGV4ZWN1dGFibGUs
IGppdENhZ2VFbmFibGVkLCBmYWxzZSksIHNpemUsIHdyaXRhYmxlLCBleGVjdXRhYmxlLCBqaXRD
YWdlRW5hYmxlZCwgZmFsc2UpOwogICAgIH0KLSAgICAKKworICAgIHN0YXRpYyBQYWdlUmVzZXJ2
YXRpb24gdHJ5UmVzZXJ2ZShzaXplX3Qgc2l6ZSwgT1NBbGxvY2F0b3I6OlVzYWdlIHVzYWdlID0g
T1NBbGxvY2F0b3I6OlVua25vd25Vc2FnZSwgYm9vbCB3cml0YWJsZSA9IHRydWUsIGJvb2wgZXhl
Y3V0YWJsZSA9IGZhbHNlLCBib29sIGppdENhZ2VFbmFibGVkID0gZmFsc2UpCisgICAgeworICAg
ICAgICBBU1NFUlQoaXNQYWdlQWxpZ25lZChzaXplKSk7CisgICAgICAgIHJldHVybiBQYWdlUmVz
ZXJ2YXRpb24oT1NBbGxvY2F0b3I6OnRyeVJlc2VydmVVbmNvbW1pdHRlZChzaXplLCB1c2FnZSwg
d3JpdGFibGUsIGV4ZWN1dGFibGUsIGppdENhZ2VFbmFibGVkLCBmYWxzZSksIHNpemUsIHdyaXRh
YmxlLCBleGVjdXRhYmxlLCBqaXRDYWdlRW5hYmxlZCwgZmFsc2UpOworICAgIH0KKwogICAgIHN0
YXRpYyBQYWdlUmVzZXJ2YXRpb24gcmVzZXJ2ZVdpdGhHdWFyZFBhZ2VzKHNpemVfdCBzaXplLCBP
U0FsbG9jYXRvcjo6VXNhZ2UgdXNhZ2UgPSBPU0FsbG9jYXRvcjo6VW5rbm93blVzYWdlLCBib29s
IHdyaXRhYmxlID0gdHJ1ZSwgYm9vbCBleGVjdXRhYmxlID0gZmFsc2UsIGJvb2wgaml0Q2FnZUVu
YWJsZWQgPSBmYWxzZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChpc1BhZ2VBbGlnbmVkKHNpemUp
KTsKICAgICAgICAgcmV0dXJuIFBhZ2VSZXNlcnZhdGlvbihPU0FsbG9jYXRvcjo6cmVzZXJ2ZVVu
Y29tbWl0dGVkKHNpemUgKyBwYWdlU2l6ZSgpICogMiwgdXNhZ2UsIHdyaXRhYmxlLCBleGVjdXRh
YmxlLCBqaXRDYWdlRW5hYmxlZCwgdHJ1ZSksIHNpemUsIHdyaXRhYmxlLCBleGVjdXRhYmxlLCBq
aXRDYWdlRW5hYmxlZCwgdHJ1ZSk7CiAgICAgfQogCisgICAgc3RhdGljIFBhZ2VSZXNlcnZhdGlv
biB0cnlSZXNlcnZlV2l0aEd1YXJkUGFnZXMoc2l6ZV90IHNpemUsIE9TQWxsb2NhdG9yOjpVc2Fn
ZSB1c2FnZSA9IE9TQWxsb2NhdG9yOjpVbmtub3duVXNhZ2UsIGJvb2wgd3JpdGFibGUgPSB0cnVl
LCBib29sIGV4ZWN1dGFibGUgPSBmYWxzZSwgYm9vbCBqaXRDYWdlRW5hYmxlZCA9IGZhbHNlKQor
ICAgIHsKKyAgICAgICAgQVNTRVJUKGlzUGFnZUFsaWduZWQoc2l6ZSkpOworICAgICAgICByZXR1
cm4gUGFnZVJlc2VydmF0aW9uKE9TQWxsb2NhdG9yOjp0cnlSZXNlcnZlVW5jb21taXR0ZWQoc2l6
ZSArIHBhZ2VTaXplKCkgKiAyLCB1c2FnZSwgd3JpdGFibGUsIGV4ZWN1dGFibGUsIGppdENhZ2VF
bmFibGVkLCB0cnVlKSwgc2l6ZSwgd3JpdGFibGUsIGV4ZWN1dGFibGUsIGppdENhZ2VFbmFibGVk
LCB0cnVlKTsKKyAgICB9CisKICAgICBzdGF0aWMgUGFnZVJlc2VydmF0aW9uIHJlc2VydmVBbmRD
b21taXRXaXRoR3VhcmRQYWdlcyhzaXplX3Qgc2l6ZSwgT1NBbGxvY2F0b3I6OlVzYWdlIHVzYWdl
ID0gT1NBbGxvY2F0b3I6OlVua25vd25Vc2FnZSwgYm9vbCB3cml0YWJsZSA9IHRydWUsIGJvb2wg
ZXhlY3V0YWJsZSA9IGZhbHNlLCBib29sIGppdENhZ2VFbmFibGVkID0gZmFsc2UpCiAgICAgewog
ICAgICAgICBBU1NFUlQoaXNQYWdlQWxpZ25lZChzaXplKSk7CiAgICAgICAgIHJldHVybiBQYWdl
UmVzZXJ2YXRpb24oT1NBbGxvY2F0b3I6OnJlc2VydmVBbmRDb21taXQoc2l6ZSArIHBhZ2VTaXpl
KCkgKiAyLCB1c2FnZSwgd3JpdGFibGUsIGV4ZWN1dGFibGUsIGppdENhZ2VFbmFibGVkLCB0cnVl
KSwgc2l6ZSwgd3JpdGFibGUsIGV4ZWN1dGFibGUsIGppdENhZ2VFbmFibGVkLCB0cnVlKTsKICAg
ICB9CiAKKyAgICBzdGF0aWMgUGFnZVJlc2VydmF0aW9uIHRyeVJlc2VydmVBbmRDb21taXRXaXRo
R3VhcmRQYWdlcyhzaXplX3Qgc2l6ZSwgT1NBbGxvY2F0b3I6OlVzYWdlIHVzYWdlID0gT1NBbGxv
Y2F0b3I6OlVua25vd25Vc2FnZSwgYm9vbCB3cml0YWJsZSA9IHRydWUsIGJvb2wgZXhlY3V0YWJs
ZSA9IGZhbHNlLCBib29sIGppdENhZ2VFbmFibGVkID0gZmFsc2UpCisgICAgeworICAgICAgICBB
U1NFUlQoaXNQYWdlQWxpZ25lZChzaXplKSk7CisgICAgICAgIHJldHVybiBQYWdlUmVzZXJ2YXRp
b24oT1NBbGxvY2F0b3I6OnRyeVJlc2VydmVBbmRDb21taXQoc2l6ZSArIHBhZ2VTaXplKCkgKiAy
LCB1c2FnZSwgd3JpdGFibGUsIGV4ZWN1dGFibGUsIGppdENhZ2VFbmFibGVkLCB0cnVlKSwgc2l6
ZSwgd3JpdGFibGUsIGV4ZWN1dGFibGUsIGppdENhZ2VFbmFibGVkLCB0cnVlKTsKKyAgICB9CisK
ICAgICB2b2lkIGRlYWxsb2NhdGUoKQogICAgIHsKICAgICAgICAgQVNTRVJUKCFtX2NvbW1pdHRl
ZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9PU0FsbG9jYXRvclBPU0lYLmNw
cCBiL1NvdXJjZS9XVEYvd3RmL3Bvc2l4L09TQWxsb2NhdG9yUE9TSVguY3BwCmluZGV4IDQxNmE3
MDA3NmE0MjNhNDIzNGQ2MGRlMjA4ZGY5NDgwMGU5Mzk5ZjQuLmY1NDU0ZjhkNDJhNDgyOWVmMTcz
Y2UxYWZiMmIxNWQwMDZlNGRkOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3Bvc2l4L09T
QWxsb2NhdG9yUE9TSVguY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3Bvc2l4L09TQWxsb2NhdG9y
UE9TSVguY3BwCkBAIC01MCw3ICs1MCw3IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi1zdGF0aWMg
dm9pZCogdHJ5UmVzZXJ2ZUFuZENvbW1pdChzaXplX3QgYnl0ZXMsIE9TQWxsb2NhdG9yOjpVc2Fn
ZSB1c2FnZSwgYm9vbCB3cml0YWJsZSwgYm9vbCBleGVjdXRhYmxlLCBib29sIGppdENhZ2VFbmFi
bGVkLCBib29sIGluY2x1ZGVzR3VhcmRQYWdlcykKK3ZvaWQqIE9TQWxsb2NhdG9yOjp0cnlSZXNl
cnZlQW5kQ29tbWl0KHNpemVfdCBieXRlcywgT1NBbGxvY2F0b3I6OlVzYWdlIHVzYWdlLCBib29s
IHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUsIGJvb2wgaml0Q2FnZUVuYWJsZWQsIGJvb2wgaW5j
bHVkZXNHdWFyZFBhZ2VzKQogewogICAgIC8vIEFsbCBQT1NJWCByZXNlcnZhdGlvbnMgc3RhcnQg
b3V0IGxvZ2ljYWxseSBjb21taXR0ZWQuCiAgICAgaW50IHByb3RlY3Rpb24gPSBQUk9UX1JFQUQ7
CkBAIC0xMTMsNyArMTEzLDcgQEAgc3RhdGljIHZvaWQqIHRyeVJlc2VydmVBbmRDb21taXQoc2l6
ZV90IGJ5dGVzLCBPU0FsbG9jYXRvcjo6VXNhZ2UgdXNhZ2UsIGJvb2wgd3IKICAgICByZXR1cm4g
cmVzdWx0OwogfQogCi1zdGF0aWMgdm9pZCogdHJ5UmVzZXJ2ZVVuY29tbWl0dGVkKHNpemVfdCBi
eXRlcywgT1NBbGxvY2F0b3I6OlVzYWdlIHVzYWdlLCBib29sIHdyaXRhYmxlLCBib29sIGV4ZWN1
dGFibGUsIGJvb2wgaml0Q2FnZUVuYWJsZWQsIGJvb2wgaW5jbHVkZXNHdWFyZFBhZ2VzKQordm9p
ZCogT1NBbGxvY2F0b3I6OnRyeVJlc2VydmVVbmNvbW1pdHRlZChzaXplX3QgYnl0ZXMsIFVzYWdl
IHVzYWdlLCBib29sIHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUsIGJvb2wgaml0Q2FnZUVuYWJs
ZWQsIGJvb2wgaW5jbHVkZXNHdWFyZFBhZ2VzKQogewogI2lmIE9TKExJTlVYKQogICAgIFVOVVNF
RF9QQVJBTSh1c2FnZSk7CkBAIC0xMjMsNyArMTIzLDkgQEAgc3RhdGljIHZvaWQqIHRyeVJlc2Vy
dmVVbmNvbW1pdHRlZChzaXplX3QgYnl0ZXMsIE9TQWxsb2NhdG9yOjpVc2FnZSB1c2FnZSwgYm9v
bAogICAgIFVOVVNFRF9QQVJBTShpbmNsdWRlc0d1YXJkUGFnZXMpOwogCiAgICAgdm9pZCogcmVz
dWx0ID0gbW1hcCgwLCBieXRlcywgUFJPVF9OT05FLCBNQVBfTk9SRVNFUlZFIHwgTUFQX1BSSVZB
VEUgfCBNQVBfQU5PTiwgLTEsIDApOwotICAgIGlmIChyZXN1bHQgIT0gTUFQX0ZBSUxFRCkKKyAg
ICBpZiAocmVzdWx0ID09IE1BUF9GQUlMRUQpCisgICAgICAgIHJlc3VsdCA9IG51bGxwdHI7Cisg
ICAgaWYgKHJlc3VsdCkKICAgICAgICAgbWFkdmlzZShyZXN1bHQsIGJ5dGVzLCBNQURWX0RPTlRO
RUVEKTsKICNlbHNlCiAgICAgdm9pZCogcmVzdWx0ID0gdHJ5UmVzZXJ2ZUFuZENvbW1pdChieXRl
cywgdXNhZ2UsIHdyaXRhYmxlLCBleGVjdXRhYmxlLCBqaXRDYWdlRW5hYmxlZCwgaW5jbHVkZXNH
dWFyZFBhZ2VzKTsKQEAgLTE5OSw3ICsyMDEsNyBAQCB2b2lkKiBPU0FsbG9jYXRvcjo6dHJ5UmVz
ZXJ2ZVVuY29tbWl0dGVkQWxpZ25lZChzaXplX3QgYnl0ZXMsIFVzYWdlIHVzYWdlLCBib29sCiB2
b2lkKiBPU0FsbG9jYXRvcjo6cmVzZXJ2ZUFuZENvbW1pdChzaXplX3QgYnl0ZXMsIFVzYWdlIHVz
YWdlLCBib29sIHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUsIGJvb2wgaml0Q2FnZUVuYWJsZWQs
IGJvb2wgaW5jbHVkZXNHdWFyZFBhZ2VzKQogewogICAgIHZvaWQqIHJlc3VsdCA9IHRyeVJlc2Vy
dmVBbmRDb21taXQoYnl0ZXMsIHVzYWdlLCB3cml0YWJsZSwgZXhlY3V0YWJsZSwgaml0Q2FnZUVu
YWJsZWQsIGluY2x1ZGVzR3VhcmRQYWdlcyk7Ci0gICAgUkVMRUFTRV9BU1NFUlQocmVzdWx0IHx8
IGV4ZWN1dGFibGUpOworICAgIFJFTEVBU0VfQVNTRVJUKHJlc3VsdCk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvd2luL09TQWxsb2NhdG9yV2lu
LmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9PU0FsbG9jYXRvcldpbi5jcHAKaW5kZXggZGI0YTIy
YWZmNjhmNDhiYmM1NWYwMTFkZjk2MGRkYTg1MDI1MDEwZi4uN2RkMGQ4NTYxYzk4MjE5ZjY3MDk5
NGVkNGFhYjU4ZWVjYTliMjcyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2luL09TQWxs
b2NhdG9yV2luLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi93aW4vT1NBbGxvY2F0b3JXaW4uY3Bw
CkBAIC00NCwxMSArNDQsMTUgQEAgc3RhdGljIGlubGluZSBEV09SRCBwcm90ZWN0aW9uKGJvb2wg
d3JpdGFibGUsIGJvb2wgZXhlY3V0YWJsZSkKICAgICAgICAgKHdyaXRhYmxlID8gUEFHRV9SRUFE
V1JJVEUgOiBQQUdFX1JFQURPTkxZKTsKIH0KIAotdm9pZCogT1NBbGxvY2F0b3I6OnJlc2VydmVV
bmNvbW1pdHRlZChzaXplX3QgYnl0ZXMsIFVzYWdlLCBib29sIHdyaXRhYmxlLCBib29sIGV4ZWN1
dGFibGUsIGJvb2wsIGJvb2wpCit2b2lkKiBPU0FsbG9jYXRvcjo6dHJ5UmVzZXJ2ZVVuY29tbWl0
dGVkKHNpemVfdCBieXRlcywgVXNhZ2UsIGJvb2wgd3JpdGFibGUsIGJvb2wgZXhlY3V0YWJsZSwg
Ym9vbCwgYm9vbCkKIHsKLSAgICB2b2lkKiByZXN1bHQgPSBWaXJ0dWFsQWxsb2MobnVsbHB0ciwg
Ynl0ZXMsIE1FTV9SRVNFUlZFLCBwcm90ZWN0aW9uKHdyaXRhYmxlLCBleGVjdXRhYmxlKSk7Ci0g
ICAgaWYgKCFyZXN1bHQpCi0gICAgICAgIENSQVNIKCk7CisgICAgcmV0dXJuIFZpcnR1YWxBbGxv
YyhudWxscHRyLCBieXRlcywgTUVNX1JFU0VSVkUsIHByb3RlY3Rpb24od3JpdGFibGUsIGV4ZWN1
dGFibGUpKTsKK30KKwordm9pZCogT1NBbGxvY2F0b3I6OnJlc2VydmVVbmNvbW1pdHRlZChzaXpl
X3QgYnl0ZXMsIFVzYWdlIHVzYWdlLCBib29sIHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUsIGJv
b2wgaml0Q2FnZUVuYWJsZWQsIGJvb2wgaW5jbHVkZXNHdWFyZFBhZ2VzKQoreworICAgIHZvaWQq
IHJlc3VsdCA9IHRyeVJlc2VydmVVbmNvbW1pdHRlZChieXRlcywgdXNhZ2UsIHdyaXRhYmxlLCBl
eGVjdXRhYmxlLCBqaXRDYWdlRW5hYmxlZCwgaW5jbHVkZXNHdWFyZFBhZ2VzKTsKKyAgICBSRUxF
QVNFX0FTU0VSVChyZXN1bHQpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTcwLDExICs3
NCwxNSBAQCB2b2lkKiBPU0FsbG9jYXRvcjo6dHJ5UmVzZXJ2ZVVuY29tbWl0dGVkQWxpZ25lZChz
aXplX3QgYnl0ZXMsIFVzYWdlIHVzYWdlLCBib29sCiAgICAgcmV0dXJuIGFsaWduZWQ7CiB9CiAK
LXZvaWQqIE9TQWxsb2NhdG9yOjpyZXNlcnZlQW5kQ29tbWl0KHNpemVfdCBieXRlcywgVXNhZ2Us
IGJvb2wgd3JpdGFibGUsIGJvb2wgZXhlY3V0YWJsZSwgYm9vbCwgYm9vbCkKK3ZvaWQqIE9TQWxs
b2NhdG9yOjp0cnlSZXNlcnZlQW5kQ29tbWl0KHNpemVfdCBieXRlcywgVXNhZ2UsIGJvb2wgd3Jp
dGFibGUsIGJvb2wgZXhlY3V0YWJsZSwgYm9vbCwgYm9vbCkKIHsKLSAgICB2b2lkKiByZXN1bHQg
PSBWaXJ0dWFsQWxsb2MobnVsbHB0ciwgYnl0ZXMsIE1FTV9SRVNFUlZFIHwgTUVNX0NPTU1JVCwg
cHJvdGVjdGlvbih3cml0YWJsZSwgZXhlY3V0YWJsZSkpOwotICAgIGlmICghcmVzdWx0KQotICAg
ICAgICBDUkFTSCgpOworICAgIHJldHVybiBWaXJ0dWFsQWxsb2MobnVsbHB0ciwgYnl0ZXMsIE1F
TV9SRVNFUlZFIHwgTUVNX0NPTU1JVCwgcHJvdGVjdGlvbih3cml0YWJsZSwgZXhlY3V0YWJsZSkp
OworfQorCit2b2lkKiBPU0FsbG9jYXRvcjo6cmVzZXJ2ZUFuZENvbW1pdChzaXplX3QgYnl0ZXMs
IFVzYWdlIHVzYWdlLCBib29sIHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUsIGJvb2wgaml0Q2Fn
ZUVuYWJsZWQsIGJvb2wgaW5jbHVkZXNHdWFyZFBhZ2VzKQoreworICAgIHZvaWQqIHJlc3VsdCA9
IHRyeVJlc2VydmVBbmRDb21taXQoYnl0ZXMsIHVzYWdlLCB3cml0YWJsZSwgZXhlY3V0YWJsZSwg
aml0Q2FnZUVuYWJsZWQsIGluY2x1ZGVzR3VhcmRQYWdlcyk7CisgICAgUkVMRUFTRV9BU1NFUlQo
cmVzdWx0KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCg==
</data>
<flag name="review"
          id="476914"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
    <flag name="commit-queue"
          id="476921"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>