<?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>226396</bug_id>
          
          <creation_ts>2021-05-28 14:36:46 -0700</creation_ts>
          <short_desc>Stop using UncheckedLock in WTF::MetaAllocator</short_desc>
          <delta_ts>2021-05-28 18:07:24 -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>Web Template Framework</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1764933</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-28 14:36:46 -0700</bug_when>
    <thetext>Stop using UncheckedLock in WTF::MetaAllocator, as it is being phased out in favor on Lock, which supports Clang thread safety analysis.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764937</commentid>
    <comment_count>1</comment_count>
      <attachid>430053</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-28 14:37:55 -0700</bug_when>
    <thetext>Created attachment 430053
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764947</commentid>
    <comment_count>2</comment_count>
      <attachid>430060</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-28 14:52:29 -0700</bug_when>
    <thetext>Created attachment 430060
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764991</commentid>
    <comment_count>3</comment_count>
      <attachid>430060</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-28 16:28:37 -0700</bug_when>
    <thetext>Comment on attachment 430060
Patch

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

&gt; Source/JavaScriptCore/tools/VMInspector.cpp:131
&gt; +        WTF::Locker executableAllocatorLocker { lock };

The usual &quot;using WTF&quot; trick doesn’t work here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764994</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-28 16:30:11 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 430060 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=430060&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/tools/VMInspector.cpp:131
&gt; &gt; +        WTF::Locker executableAllocatorLocker { lock };
&gt; 
&gt; The usual &quot;using WTF&quot; trick doesn’t work here?

The issue is that VMInspector has a using `Locker = Locker&lt;UncheckedLock&gt;`. I will look into removing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765019</commentid>
    <comment_count>5</comment_count>
      <attachid>430075</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-28 17:02:36 -0700</bug_when>
    <thetext>Created attachment 430075
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765044</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-28 18:06:02 -0700</bug_when>
    <thetext>Committed r278232 (238269@main): &lt;https://commits.webkit.org/238269@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430075.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765045</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-28 18:07:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/78639206&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430053</attachid>
            <date>2021-05-28 14:37:55 -0700</date>
            <delta_ts>2021-05-28 14:57:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226396-20210528143754.patch</filename>
            <type>text/plain</type>
            <size>10637</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
NGYzZjg5ZjRlZmViNWY5ZTZkM2EzMTUwNzdmNWYyY2NjZGI5MDk0Li42NmFjMzI3NjA0ZWM3MDIw
MjQzZTBhNWE4YjFiZDk3MDE3NDJjZjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAyMS0wNS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIFN0b3AgdXNpbmcgVW5jaGVja2VkTG9jayBpbiBXVEY6Ok1ldGFBbGxvY2F0b3IK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjM5Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0b3AgdXNp
bmcgVW5jaGVja2VkTG9jayBpbiBXVEY6Ok1ldGFBbGxvY2F0b3IsIGFzIGl0IGlzIGJlaW5nIHBo
YXNlZCBvdXQgaW4gZmF2b3Igb24gTG9jaywKKyAgICAgICAgd2hpY2ggc3VwcG9ydHMgQ2xhbmcg
dGhyZWFkIHNhZmV0eSBhbmFseXNpcy4KKworICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2Nh
dG9yLmNwcDoKKyAgICAgICAgKEpTQzo6RXhlY3V0YWJsZUFsbG9jYXRvcjo6Z2V0TG9jayBjb25z
dCk6CisgICAgICAgICogaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaDoKKyAgICAgICAgKEpTQzo6
RXhlY3V0YWJsZUFsbG9jYXRvckJhc2U6OldURl9SRVRVUk5TX0xPQ0spOgorICAgICAgICAqIHRv
b2xzL1ZNSW5zcGVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Vk1JbnNwZWN0b3I6OmlzVmFsaWRF
eGVjdXRhYmxlTWVtb3J5KToKKwogMjAyMS0wNS0yOCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBBZGQgdGhlIGFiaWxpdHkgdG8gZHVtcCBzdGF0aXN0aWNzIGFi
b3V0IGN1bXVsYXRpdmUgY291bnRzIGFuZCBjb2RlIHNpemVzIG9mIEJhc2VsaW5lIEpJVCBvcGNv
ZGVzIGFuZCBERkcgbm9kZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291
cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggMzQ4NWZmNTRkZDA2NDZkNjM3YjY4YjQ2YWVmZWZmMTky
MWNlODRiMC4uZTkxZGRhN2JmNDFmNzIzN2VjYWE0M2NjYzZhYzdhMTkxODM0ZTg3MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMCBAQAorMjAyMS0wNS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgorCisgICAgICAgIFN0b3AgdXNpbmcgVW5jaGVja2VkTG9jayBpbiBXVEY6Ok1ldGFBbGxvY2F0
b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjM5
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0b3Ag
dXNpbmcgVW5jaGVja2VkTG9jayBpbiBXVEY6Ok1ldGFBbGxvY2F0b3IsIGFzIGl0IGlzIGJlaW5n
IHBoYXNlZCBvdXQgaW4gZmF2b3Igb24gTG9jaywKKyAgICAgICAgd2hpY2ggc3VwcG9ydHMgQ2xh
bmcgdGhyZWFkIHNhZmV0eSBhbmFseXNpcy4KKworICAgICAgICAqIHd0Zi9NZXRhQWxsb2NhdG9y
LmNwcDoKKyAgICAgICAgKFdURjo6TWV0YUFsbG9jYXRvcjo6cmVsZWFzZSk6CisgICAgICAgIChX
VEY6Ok1ldGFBbGxvY2F0b3I6Ok1ldGFBbGxvY2F0b3IpOgorICAgICAgICAoV1RGOjpNZXRhQWxs
b2NhdG9yOjphbGxvY2F0ZSk6CisgICAgICAgIChXVEY6Ok1ldGFBbGxvY2F0b3I6OmN1cnJlbnRT
dGF0aXN0aWNzKToKKyAgICAgICAgKiB3dGYvTWV0YUFsbG9jYXRvci5oOgorCiAyMDIxLTA1LTI4
ICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IExp
a2VseURlbnNlVW5zaWduZWRJbnRlZ2VyU2V0OjpjbGVhcigpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcAppbmRleCBlZTVlMzhhMjgzNGVj
YmE4NDVlNjI5MWRjNzY1YzUyMDdiMmYwNzk4Li44MzQ1M2ExNGU4NjE5MmE1NmM2NGNmYjM0ZDA2
ZTYxMWI3NTlmZDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1
dGFibGVBbGxvY2F0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0
YWJsZUFsbG9jYXRvci5jcHAKQEAgLTQ4NSw3ICs0ODUsNyBAQCBwdWJsaWM6CiAjZW5kaWYgLy8g
RU5BQkxFKEpVTVBfSVNMQU5EUykKICAgICB9CiAKLSAgICBVbmNoZWNrZWRMb2NrJiBnZXRMb2Nr
KCkgeyByZXR1cm4gbV9sb2NrOyB9CisgICAgTG9jayYgZ2V0TG9jaygpIFdURl9SRVRVUk5TX0xP
Q0sobV9sb2NrKSB7IHJldHVybiBtX2xvY2s7IH0KIAogICAgIC8vIE5vbiBhdG9taWMKICAgICBz
aXplX3QgYnl0ZXNBbGxvY2F0ZWQoKSAKQEAgLTU0Nyw3ICs1NDcsNyBAQCBwdWJsaWM6CiAgICAg
fQogCiAjaWYgRU5BQkxFKEpVTVBfSVNMQU5EUykKLSAgICB2b2lkIGhhbmRsZVdpbGxCZVJlbGVh
c2VkKGNvbnN0IFVuY2hlY2tlZExvY2tIb2xkZXImIGxvY2tlciwgTWV0YUFsbG9jYXRvckhhbmRs
ZSYgaGFuZGxlKQorICAgIHZvaWQgaGFuZGxlV2lsbEJlUmVsZWFzZWQoY29uc3QgTG9ja0hvbGRl
ciYgbG9ja2VyLCBNZXRhQWxsb2NhdG9ySGFuZGxlJiBoYW5kbGUpCiAgICAgewogICAgICAgICBp
ZiAobV9pc2xhbmRzRm9ySnVtcFNvdXJjZUxvY2F0aW9uLmlzRW1wdHkoKSkKICAgICAgICAgICAg
IHJldHVybjsKQEAgLTU5OSw3ICs1OTksNyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgIH0KIAotICAgIHZvaWQgZnJlZUp1bXBJc2xhbmRzKGNvbnN0IFVuY2hlY2tlZExv
Y2tIb2xkZXImLCBJc2xhbmRzKiBpc2xhbmRzKQorICAgIHZvaWQgZnJlZUp1bXBJc2xhbmRzKGNv
bnN0IExvY2tIb2xkZXImLCBJc2xhbmRzKiBpc2xhbmRzKQogICAgIHsKICAgICAgICAgZm9yIChD
b2RlTG9jYXRpb25MYWJlbDxFeGVjdXRhYmxlTWVtb3J5UHRyVGFnPiBqdW1wSXNsYW5kIDogaXNs
YW5kcy0+anVtcElzbGFuZHMpIHsKICAgICAgICAgICAgIHVpbnRwdHJfdCB1bnRhZ2dlZEp1bXBJ
c2xhbmQgPSBiaXR3aXNlX2Nhc3Q8dWludHB0cl90PihqdW1wSXNsYW5kLmRhdGFMb2NhdGlvbigp
KTsKQEAgLTYxMCwxNCArNjEwLDE0IEBAIHByaXZhdGU6CiAgICAgICAgIGlzbGFuZHMtPmp1bXBJ
c2xhbmRzLmNsZWFyKCk7CiAgICAgfQogCi0gICAgdm9pZCBmcmVlSXNsYW5kcyhjb25zdCBVbmNo
ZWNrZWRMb2NrSG9sZGVyJiBsb2NrZXIsIElzbGFuZHMqIGlzbGFuZHMpCisgICAgdm9pZCBmcmVl
SXNsYW5kcyhjb25zdCBMb2NrSG9sZGVyJiBsb2NrZXIsIElzbGFuZHMqIGlzbGFuZHMpCiAgICAg
ewogICAgICAgICBmcmVlSnVtcElzbGFuZHMobG9ja2VyLCBpc2xhbmRzKTsKICAgICAgICAgbV9p
c2xhbmRzRm9ySnVtcFNvdXJjZUxvY2F0aW9uLnJlbW92ZShpc2xhbmRzKTsKICAgICAgICAgZGVs
ZXRlIGlzbGFuZHM7CiAgICAgfQogCi0gICAgdm9pZCogaXNsYW5kRm9ySnVtcExvY2F0aW9uKGNv
bnN0IFVuY2hlY2tlZExvY2tIb2xkZXImIGxvY2tlciwgdWludHB0cl90IGp1bXBMb2NhdGlvbiwg
dWludHB0cl90IHRhcmdldCwgYm9vbCBjb25jdXJyZW50bHkpCisgICAgdm9pZCogaXNsYW5kRm9y
SnVtcExvY2F0aW9uKGNvbnN0IExvY2tIb2xkZXImIGxvY2tlciwgdWludHB0cl90IGp1bXBMb2Nh
dGlvbiwgdWludHB0cl90IHRhcmdldCwgYm9vbCBjb25jdXJyZW50bHkpCiAgICAgewogICAgICAg
ICBJc2xhbmRzKiBpc2xhbmRzID0gbV9pc2xhbmRzRm9ySnVtcFNvdXJjZUxvY2F0aW9uLmZpbmRF
eGFjdChiaXR3aXNlX2Nhc3Q8dm9pZCo+KGp1bXBMb2NhdGlvbikpOwogICAgICAgICBpZiAoaXNs
YW5kcykgewpAQCAtNzQ2LDcgKzc0Niw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm4g
aXNsYW5kc1BlclBhZ2U7CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIHJlbGVhc2UoY29uc3Qg
VW5jaGVja2VkTG9ja0hvbGRlciYgbG9ja2VyLCBNZXRhQWxsb2NhdG9ySGFuZGxlJiBoYW5kbGUp
IGZpbmFsCisgICAgICAgIHZvaWQgcmVsZWFzZShjb25zdCBMb2NrSG9sZGVyJiBsb2NrZXIsIE1l
dGFBbGxvY2F0b3JIYW5kbGUmIGhhbmRsZSkgZmluYWwKICAgICAgICAgewogICAgICAgICAgICAg
bV9maXhlZEFsbG9jYXRvci5oYW5kbGVXaWxsQmVSZWxlYXNlZChsb2NrZXIsIGhhbmRsZSk7CiAg
ICAgICAgICAgICBCYXNlOjpyZWxlYXNlKGxvY2tlciwgaGFuZGxlKTsKQEAgLTg0Nyw3ICs4NDcs
NyBAQCBwcml2YXRlOgogICAgIH07CiAjZW5kaWYgLy8gRU5BQkxFKEpVTVBfSVNMQU5EUykKIAot
ICAgIFVuY2hlY2tlZExvY2sgbV9sb2NrOworICAgIExvY2sgbV9sb2NrOwogICAgIFBhZ2VSZXNl
cnZhdGlvbiBtX3Jlc2VydmF0aW9uOwogI2lmIEVOQUJMRShKVU1QX0lTTEFORFMpCiAgICAgc3Rk
OjphcnJheTxSZWdpb25BbGxvY2F0b3IsIG1heE51bWJlck9mUmVnaW9ucz4gbV9hbGxvY2F0b3Jz
OwpAQCAtOTYxLDcgKzk2MSw3IEBAIGJvb2wgRXhlY3V0YWJsZUFsbG9jYXRvcjo6aXNWYWxpZEV4
ZWN1dGFibGVNZW1vcnkoY29uc3QgQWJzdHJhY3RMb2NrZXImIGxvY2tlciwKICAgICByZXR1cm4g
YWxsb2NhdG9yLT5pc0luQWxsb2NhdGVkTWVtb3J5KGxvY2tlciwgYWRkcmVzcyk7CiB9CiAKLVVu
Y2hlY2tlZExvY2smIEV4ZWN1dGFibGVBbGxvY2F0b3I6OmdldExvY2soKSBjb25zdAorTG9jayYg
RXhlY3V0YWJsZUFsbG9jYXRvcjo6Z2V0TG9jaygpIGNvbnN0CiB7CiAgICAgRml4ZWRWTVBvb2xF
eGVjdXRhYmxlQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSBnX2pzY0NvbmZpZy5maXhlZFZNUG9vbEV4
ZWN1dGFibGVBbGxvY2F0b3I7CiAgICAgaWYgKCFhbGxvY2F0b3IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oCmluZGV4IDAzNzk5ZTQyN2IwOTdk
NjRmZDk4Y2I4Zjk1YTY4YTkyNTE2ZjhhNTcuLjI4MTE2MWViMWNkNzM1NWQyNWI1MWM3NzNiOTg1
ODQ4NTg0MGVhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0
YWJsZUFsbG9jYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJs
ZUFsbG9jYXRvci5oCkBAIC03Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBzaXpl
X3QgY29tbWl0dGVkQnl0ZUNvdW50KCkgeyByZXR1cm4gMDsgfQogCi0gICAgVW5jaGVja2VkTG9j
ayYgZ2V0TG9jaygpIGNvbnN0CisgICAgTG9jayYgZ2V0TG9jaygpIGNvbnN0IFdURl9SRVRVUk5T
X0xPQ0sobV9sb2NrKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fbG9jazsKICAgICB9CkBAIC04
Nyw3ICs4Nyw3IEBAIHByb3RlY3RlZDoKICAgICB+RXhlY3V0YWJsZUFsbG9jYXRvckJhc2UoKSA9
IGRlZmF1bHQ7CiAKIHByaXZhdGU6Ci0gICAgbXV0YWJsZSBVbmNoZWNrZWRMb2NrIG1fbG9jazsK
KyAgICBtdXRhYmxlIExvY2sgbV9sb2NrOwogfTsKIAogI2lmIEVOQUJMRShKSVQpCkBAIC0xNzYs
NyArMTc2LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHNpemVfdCBjb21taXR0ZWRCeXRlQ291
bnQoKTsKIAotICAgIFVuY2hlY2tlZExvY2smIGdldExvY2soKSBjb25zdDsKKyAgICBMb2NrJiBn
ZXRMb2NrKCkgY29uc3Q7CiAKICNpZiBFTkFCTEUoSlVNUF9JU0xBTkRTKQogICAgIEpTX0VYUE9S
VF9QUklWQVRFIHZvaWQqIGdldEp1bXBJc2xhbmRUbyh2b2lkKiBmcm9tLCB2b2lkKiBuZXdEZXN0
aW5hdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvVk1JbnNw
ZWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL1ZNSW5zcGVjdG9yLmNwcApp
bmRleCA3MzNmNTIzMGZlZTRmNmFhMGUzOGQ4ZDhmZjljYzliNmUwMjIyYjdiLi44ZGE1M2YzMDZi
MWFmYzY3NDk0MTdmNmY5MjQ2MGQ5OGEzNzQ1ODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdG9vbHMvVk1JbnNwZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90b29scy9WTUluc3BlY3Rvci5jcHAKQEAgLTEyOCw3ICsxMjgsNyBAQCBhdXRvIFZNSW5zcGVj
dG9yOjppc1ZhbGlkRXhlY3V0YWJsZU1lbW9yeShjb25zdCBWTUluc3BlY3Rvcjo6TG9ja2VyJiwg
dm9pZCogbWFjaAogICAgICAgICAgICAgcmV0dXJuIEZ1bmN0b3JTdGF0dXM6OkNvbnRpbnVlOyAv
LyBTa2lwIHRoaXMgVk0uCiAgICAgICAgIH0KIAotICAgICAgICBMb2NrZXIgZXhlY3V0YWJsZUFs
bG9jYXRvckxvY2tlciB7IGxvY2sgfTsKKyAgICAgICAgV1RGOjpMb2NrZXIgZXhlY3V0YWJsZUFs
bG9jYXRvckxvY2tlciB7IGxvY2sgfTsKICAgICAgICAgaWYgKGFsbG9jYXRvci5pc1ZhbGlkRXhl
Y3V0YWJsZU1lbW9yeShleGVjdXRhYmxlQWxsb2NhdG9yTG9ja2VyLCBtYWNoaW5lUEMpKSB7CiAg
ICAgICAgICAgICBmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICByZXR1cm4gRnVuY3RvclN0YXR1
czo6RG9uZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01ldGFBbGxvY2F0b3IuY3BwIGIv
U291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRvci5jcHAKaW5kZXggZDljZDU5OTJmM2EwZDUxZDA0
NmU4NzAxYTEzYmQyN2E3OTAyMmFkNC4uZWVmODliNzdlN2JkZGZjZDY3NjVkNjczYWE1NjVhMDY3
N2NkNzBhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRvci5jcHAKKysr
IGIvU291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRvci5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgdm9p
ZCBNZXRhQWxsb2NhdG9yVHJhY2tlcjo6cmVsZWFzZShNZXRhQWxsb2NhdG9ySGFuZGxlJiBoYW5k
bGUpCiAgICAgbV9hbGxvY2F0aW9ucy5yZW1vdmUoJmhhbmRsZSk7CiB9CiAKLXZvaWQgTWV0YUFs
bG9jYXRvcjo6cmVsZWFzZShjb25zdCBVbmNoZWNrZWRMb2NrSG9sZGVyJiwgTWV0YUFsbG9jYXRv
ckhhbmRsZSYgaGFuZGxlKQordm9pZCBNZXRhQWxsb2NhdG9yOjpyZWxlYXNlKGNvbnN0IExvY2tI
b2xkZXImLCBNZXRhQWxsb2NhdG9ySGFuZGxlJiBoYW5kbGUpCiB7CiAgICAgaWYgKGhhbmRsZS5z
aXplSW5CeXRlcygpKSB7CiAgICAgICAgIE1lbW9yeVB0ciBzdGFydCA9IGhhbmRsZS5zdGFydCgp
OwpAQCAtMTI0LDcgKzEyNCw3IEBAIHZvaWQgTWV0YUFsbG9jYXRvckhhbmRsZTo6ZHVtcChQcmlu
dFN0cmVhbSYgb3V0KSBjb25zdAogICAgIG91dC5wcmludChSYXdQb2ludGVyKHN0YXJ0KCkudW50
YWdnZWRQdHIoKSksICIuLi4iLCBSYXdQb2ludGVyKGVuZCgpLnVudGFnZ2VkUHRyKCkpKTsKIH0K
IAotTWV0YUFsbG9jYXRvcjo6TWV0YUFsbG9jYXRvcihVbmNoZWNrZWRMb2NrJiBsb2NrLCBzaXpl
X3QgYWxsb2NhdGlvbkdyYW51bGUsIHNpemVfdCBwYWdlU2l6ZSkKK01ldGFBbGxvY2F0b3I6Ok1l
dGFBbGxvY2F0b3IoTG9jayYgbG9jaywgc2l6ZV90IGFsbG9jYXRpb25HcmFudWxlLCBzaXplX3Qg
cGFnZVNpemUpCiAgICAgOiBtX2FsbG9jYXRpb25HcmFudWxlKGFsbG9jYXRpb25HcmFudWxlKQog
ICAgICwgbV9wYWdlU2l6ZShwYWdlU2l6ZSkKICAgICAsIG1fYnl0ZXNBbGxvY2F0ZWQoMCkKQEAg
LTE1NCw3ICsxNTQsNyBAQCBNZXRhQWxsb2NhdG9yOjpNZXRhQWxsb2NhdG9yKFVuY2hlY2tlZExv
Y2smIGxvY2ssIHNpemVfdCBhbGxvY2F0aW9uR3JhbnVsZSwgc2l6ZQogICAgIEFTU0VSVChzdGF0
aWNfY2FzdDxzaXplX3Q+KDEpIDw8IG1fbG9nQWxsb2NhdGlvbkdyYW51bGUgPT0gbV9hbGxvY2F0
aW9uR3JhbnVsZSk7CiB9CiAKLVJlZlB0cjxNZXRhQWxsb2NhdG9ySGFuZGxlPiBNZXRhQWxsb2Nh
dG9yOjphbGxvY2F0ZShjb25zdCBVbmNoZWNrZWRMb2NrSG9sZGVyJiwgc2l6ZV90IHNpemVJbkJ5
dGVzKQorUmVmUHRyPE1ldGFBbGxvY2F0b3JIYW5kbGU+IE1ldGFBbGxvY2F0b3I6OmFsbG9jYXRl
KGNvbnN0IExvY2tIb2xkZXImLCBzaXplX3Qgc2l6ZUluQnl0ZXMpCiB7CiAgICAgaWYgKCFzaXpl
SW5CeXRlcykKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0xOTgsNyArMTk4LDcgQEAgUmVm
UHRyPE1ldGFBbGxvY2F0b3JIYW5kbGU+IE1ldGFBbGxvY2F0b3I6OmFsbG9jYXRlKGNvbnN0IFVu
Y2hlY2tlZExvY2tIb2xkZXImLAogICAgIHJldHVybiBoYW5kbGU7CiB9CiAKLU1ldGFBbGxvY2F0
b3I6OlN0YXRpc3RpY3MgTWV0YUFsbG9jYXRvcjo6Y3VycmVudFN0YXRpc3RpY3MoY29uc3QgVW5j
aGVja2VkTG9ja0hvbGRlciYpCitNZXRhQWxsb2NhdG9yOjpTdGF0aXN0aWNzIE1ldGFBbGxvY2F0
b3I6OmN1cnJlbnRTdGF0aXN0aWNzKGNvbnN0IExvY2tIb2xkZXImKQogewogICAgIFN0YXRpc3Rp
Y3MgcmVzdWx0OwogICAgIHJlc3VsdC5ieXRlc0FsbG9jYXRlZCA9IG1fYnl0ZXNBbGxvY2F0ZWQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9NZXRhQWxsb2NhdG9yLmggYi9Tb3VyY2UvV1RG
L3d0Zi9NZXRhQWxsb2NhdG9yLmgKaW5kZXggZWRmZWM3YzNiODk5NjI5ZjA3ZGU3YWEwOGQwYzYz
MjI3NmY4YzQwZS4uNWZiNzJjMjgwZWRjMDZkZWE4OTMxYjZhM2MwOWUxZmY3YmY1YzhkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRvci5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL01ldGFBbGxvY2F0b3IuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcg
RnJlZVNwYWNlUHRyID0gTWV0YUFsbG9jYXRvclB0cjxGcmVlU3BhY2VQdHJUYWc+OwogICAgIHVz
aW5nIE1lbW9yeVB0ciA9IE1ldGFBbGxvY2F0b3JIYW5kbGU6Ok1lbW9yeVB0cjsKIAotICAgIFdU
Rl9FWFBPUlRfUFJJVkFURSBNZXRhQWxsb2NhdG9yKFVuY2hlY2tlZExvY2smLCBzaXplX3QgYWxs
b2NhdGlvbkdyYW51bGUsIHNpemVfdCBwYWdlU2l6ZSA9IFdURjo6cGFnZVNpemUoKSk7CisgICAg
V1RGX0VYUE9SVF9QUklWQVRFIE1ldGFBbGxvY2F0b3IoTG9jayYsIHNpemVfdCBhbGxvY2F0aW9u
R3JhbnVsZSwgc2l6ZV90IHBhZ2VTaXplID0gV1RGOjpwYWdlU2l6ZSgpKTsKICAgICAKICAgICBX
VEZfRVhQT1JUX1BSSVZBVEUgdmlydHVhbCB+TWV0YUFsbG9jYXRvcigpOwogICAgIApAQCAtNzQs
NyArNzQsNyBAQCBwdWJsaWM6CiAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX2xvY2sgfTsKICAg
ICAgICAgcmV0dXJuIGFsbG9jYXRlKGxvY2tlciwgc2l6ZUluQnl0ZXMpOwogICAgIH0KLSAgICBX
VEZfRVhQT1JUX1BSSVZBVEUgUmVmUHRyPE1ldGFBbGxvY2F0b3JIYW5kbGU+IGFsbG9jYXRlKGNv
bnN0IFVuY2hlY2tlZExvY2tIb2xkZXImLCBzaXplX3Qgc2l6ZUluQnl0ZXMpOworICAgIFdURl9F
WFBPUlRfUFJJVkFURSBSZWZQdHI8TWV0YUFsbG9jYXRvckhhbmRsZT4gYWxsb2NhdGUoY29uc3Qg
TG9ja0hvbGRlciYsIHNpemVfdCBzaXplSW5CeXRlcyk7CiAKICAgICB2b2lkIHRyYWNrQWxsb2Nh
dGlvbnMoTWV0YUFsbG9jYXRvclRyYWNrZXIqIHRyYWNrZXIpCiAgICAgewpAQCAtOTgsNyArOTgs
NyBAQCBwdWJsaWM6CiAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX2xvY2sgfTsKICAgICAgICAg
cmV0dXJuIGN1cnJlbnRTdGF0aXN0aWNzKGxvY2tlcik7CiAgICAgfQotICAgIFdURl9FWFBPUlRf
UFJJVkFURSBTdGF0aXN0aWNzIGN1cnJlbnRTdGF0aXN0aWNzKGNvbnN0IFVuY2hlY2tlZExvY2tI
b2xkZXImKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgU3RhdGlzdGljcyBjdXJyZW50U3RhdGlz
dGljcyhjb25zdCBMb2NrSG9sZGVyJik7CiAKICAgICAvLyBBZGQgbW9yZSBmcmVlIHNwYWNlIHRv
IHRoZSBhbGxvY2F0b3IuIENhbGwgdGhpcyBkaXJlY3RseSBmcm9tCiAgICAgLy8gdGhlIGNvbnN0
cnVjdG9yIGlmIHlvdSB3aXNoIHRvIG9wZXJhdGUgdGhlIGFsbG9jYXRvciB3aXRoaW4gYQpAQCAt
MTM0LDcgKzEzNCw3IEBAIHByb3RlY3RlZDoKICAgICAvLyBhcyB0aGVyZSBhcmUgSGFuZGxlcyB0
aGF0IHJlZmVyIHRvIGl0LgogCiAgICAgLy8gUmVsZWFzZSBhIE1ldGFBbGxvY2F0b3JIYW5kbGUu
Ci0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHZpcnR1YWwgdm9pZCByZWxlYXNlKGNvbnN0IFVuY2hl
Y2tlZExvY2tIb2xkZXImLCBNZXRhQWxsb2NhdG9ySGFuZGxlJik7CisgICAgV1RGX0VYUE9SVF9Q
UklWQVRFIHZpcnR1YWwgdm9pZCByZWxlYXNlKGNvbnN0IExvY2tIb2xkZXImLCBNZXRhQWxsb2Nh
dG9ySGFuZGxlJik7CiBwcml2YXRlOgogICAgIAogICAgIGZyaWVuZCBjbGFzcyBNZXRhQWxsb2Nh
dG9ySGFuZGxlOwpAQCAtMTk3LDcgKzE5Nyw3IEBAIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fYnl0
ZXNSZXNlcnZlZDsKICAgICBzaXplX3QgbV9ieXRlc0NvbW1pdHRlZDsKICAgICAKLSAgICBVbmNo
ZWNrZWRMb2NrJiBtX2xvY2s7CisgICAgTG9jayYgbV9sb2NrOwogCiAgICAgTWV0YUFsbG9jYXRv
clRyYWNrZXIqIG1fdHJhY2tlciB7IG51bGxwdHIgfTsKIAo=
</data>
<flag name="commit-queue"
          id="451397"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430060</attachid>
            <date>2021-05-28 14:52:29 -0700</date>
            <delta_ts>2021-05-28 17:02:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226396-20210528145229.patch</filename>
            <type>text/plain</type>
            <size>11116</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
NGYzZjg5ZjRlZmViNWY5ZTZkM2EzMTUwNzdmNWYyY2NjZGI5MDk0Li42NmFjMzI3NjA0ZWM3MDIw
MjQzZTBhNWE4YjFiZDk3MDE3NDJjZjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAyMS0wNS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIFN0b3AgdXNpbmcgVW5jaGVja2VkTG9jayBpbiBXVEY6Ok1ldGFBbGxvY2F0b3IK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjM5Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0b3AgdXNp
bmcgVW5jaGVja2VkTG9jayBpbiBXVEY6Ok1ldGFBbGxvY2F0b3IsIGFzIGl0IGlzIGJlaW5nIHBo
YXNlZCBvdXQgaW4gZmF2b3Igb24gTG9jaywKKyAgICAgICAgd2hpY2ggc3VwcG9ydHMgQ2xhbmcg
dGhyZWFkIHNhZmV0eSBhbmFseXNpcy4KKworICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2Nh
dG9yLmNwcDoKKyAgICAgICAgKEpTQzo6RXhlY3V0YWJsZUFsbG9jYXRvcjo6Z2V0TG9jayBjb25z
dCk6CisgICAgICAgICogaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaDoKKyAgICAgICAgKEpTQzo6
RXhlY3V0YWJsZUFsbG9jYXRvckJhc2U6OldURl9SRVRVUk5TX0xPQ0spOgorICAgICAgICAqIHRv
b2xzL1ZNSW5zcGVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Vk1JbnNwZWN0b3I6OmlzVmFsaWRF
eGVjdXRhYmxlTWVtb3J5KToKKwogMjAyMS0wNS0yOCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBBZGQgdGhlIGFiaWxpdHkgdG8gZHVtcCBzdGF0aXN0aWNzIGFi
b3V0IGN1bXVsYXRpdmUgY291bnRzIGFuZCBjb2RlIHNpemVzIG9mIEJhc2VsaW5lIEpJVCBvcGNv
ZGVzIGFuZCBERkcgbm9kZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291
cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggMzQ4NWZmNTRkZDA2NDZkNjM3YjY4YjQ2YWVmZWZmMTky
MWNlODRiMC4uZTkxZGRhN2JmNDFmNzIzN2VjYWE0M2NjYzZhYzdhMTkxODM0ZTg3MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMCBAQAorMjAyMS0wNS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgorCisgICAgICAgIFN0b3AgdXNpbmcgVW5jaGVja2VkTG9jayBpbiBXVEY6Ok1ldGFBbGxvY2F0
b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjM5
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0b3Ag
dXNpbmcgVW5jaGVja2VkTG9jayBpbiBXVEY6Ok1ldGFBbGxvY2F0b3IsIGFzIGl0IGlzIGJlaW5n
IHBoYXNlZCBvdXQgaW4gZmF2b3Igb24gTG9jaywKKyAgICAgICAgd2hpY2ggc3VwcG9ydHMgQ2xh
bmcgdGhyZWFkIHNhZmV0eSBhbmFseXNpcy4KKworICAgICAgICAqIHd0Zi9NZXRhQWxsb2NhdG9y
LmNwcDoKKyAgICAgICAgKFdURjo6TWV0YUFsbG9jYXRvcjo6cmVsZWFzZSk6CisgICAgICAgIChX
VEY6Ok1ldGFBbGxvY2F0b3I6Ok1ldGFBbGxvY2F0b3IpOgorICAgICAgICAoV1RGOjpNZXRhQWxs
b2NhdG9yOjphbGxvY2F0ZSk6CisgICAgICAgIChXVEY6Ok1ldGFBbGxvY2F0b3I6OmN1cnJlbnRT
dGF0aXN0aWNzKToKKyAgICAgICAgKiB3dGYvTWV0YUFsbG9jYXRvci5oOgorCiAyMDIxLTA1LTI4
ICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IExp
a2VseURlbnNlVW5zaWduZWRJbnRlZ2VyU2V0OjpjbGVhcigpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcAppbmRleCBlZTVlMzhhMjgzNGVj
YmE4NDVlNjI5MWRjNzY1YzUyMDdiMmYwNzk4Li44MzQ1M2ExNGU4NjE5MmE1NmM2NGNmYjM0ZDA2
ZTYxMWI3NTlmZDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1
dGFibGVBbGxvY2F0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0
YWJsZUFsbG9jYXRvci5jcHAKQEAgLTQ4NSw3ICs0ODUsNyBAQCBwdWJsaWM6CiAjZW5kaWYgLy8g
RU5BQkxFKEpVTVBfSVNMQU5EUykKICAgICB9CiAKLSAgICBVbmNoZWNrZWRMb2NrJiBnZXRMb2Nr
KCkgeyByZXR1cm4gbV9sb2NrOyB9CisgICAgTG9jayYgZ2V0TG9jaygpIFdURl9SRVRVUk5TX0xP
Q0sobV9sb2NrKSB7IHJldHVybiBtX2xvY2s7IH0KIAogICAgIC8vIE5vbiBhdG9taWMKICAgICBz
aXplX3QgYnl0ZXNBbGxvY2F0ZWQoKSAKQEAgLTU0Nyw3ICs1NDcsNyBAQCBwdWJsaWM6CiAgICAg
fQogCiAjaWYgRU5BQkxFKEpVTVBfSVNMQU5EUykKLSAgICB2b2lkIGhhbmRsZVdpbGxCZVJlbGVh
c2VkKGNvbnN0IFVuY2hlY2tlZExvY2tIb2xkZXImIGxvY2tlciwgTWV0YUFsbG9jYXRvckhhbmRs
ZSYgaGFuZGxlKQorICAgIHZvaWQgaGFuZGxlV2lsbEJlUmVsZWFzZWQoY29uc3QgTG9ja0hvbGRl
ciYgbG9ja2VyLCBNZXRhQWxsb2NhdG9ySGFuZGxlJiBoYW5kbGUpCiAgICAgewogICAgICAgICBp
ZiAobV9pc2xhbmRzRm9ySnVtcFNvdXJjZUxvY2F0aW9uLmlzRW1wdHkoKSkKICAgICAgICAgICAg
IHJldHVybjsKQEAgLTU5OSw3ICs1OTksNyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgIH0KIAotICAgIHZvaWQgZnJlZUp1bXBJc2xhbmRzKGNvbnN0IFVuY2hlY2tlZExv
Y2tIb2xkZXImLCBJc2xhbmRzKiBpc2xhbmRzKQorICAgIHZvaWQgZnJlZUp1bXBJc2xhbmRzKGNv
bnN0IExvY2tIb2xkZXImLCBJc2xhbmRzKiBpc2xhbmRzKQogICAgIHsKICAgICAgICAgZm9yIChD
b2RlTG9jYXRpb25MYWJlbDxFeGVjdXRhYmxlTWVtb3J5UHRyVGFnPiBqdW1wSXNsYW5kIDogaXNs
YW5kcy0+anVtcElzbGFuZHMpIHsKICAgICAgICAgICAgIHVpbnRwdHJfdCB1bnRhZ2dlZEp1bXBJ
c2xhbmQgPSBiaXR3aXNlX2Nhc3Q8dWludHB0cl90PihqdW1wSXNsYW5kLmRhdGFMb2NhdGlvbigp
KTsKQEAgLTYxMCwxNCArNjEwLDE0IEBAIHByaXZhdGU6CiAgICAgICAgIGlzbGFuZHMtPmp1bXBJ
c2xhbmRzLmNsZWFyKCk7CiAgICAgfQogCi0gICAgdm9pZCBmcmVlSXNsYW5kcyhjb25zdCBVbmNo
ZWNrZWRMb2NrSG9sZGVyJiBsb2NrZXIsIElzbGFuZHMqIGlzbGFuZHMpCisgICAgdm9pZCBmcmVl
SXNsYW5kcyhjb25zdCBMb2NrSG9sZGVyJiBsb2NrZXIsIElzbGFuZHMqIGlzbGFuZHMpCiAgICAg
ewogICAgICAgICBmcmVlSnVtcElzbGFuZHMobG9ja2VyLCBpc2xhbmRzKTsKICAgICAgICAgbV9p
c2xhbmRzRm9ySnVtcFNvdXJjZUxvY2F0aW9uLnJlbW92ZShpc2xhbmRzKTsKICAgICAgICAgZGVs
ZXRlIGlzbGFuZHM7CiAgICAgfQogCi0gICAgdm9pZCogaXNsYW5kRm9ySnVtcExvY2F0aW9uKGNv
bnN0IFVuY2hlY2tlZExvY2tIb2xkZXImIGxvY2tlciwgdWludHB0cl90IGp1bXBMb2NhdGlvbiwg
dWludHB0cl90IHRhcmdldCwgYm9vbCBjb25jdXJyZW50bHkpCisgICAgdm9pZCogaXNsYW5kRm9y
SnVtcExvY2F0aW9uKGNvbnN0IExvY2tIb2xkZXImIGxvY2tlciwgdWludHB0cl90IGp1bXBMb2Nh
dGlvbiwgdWludHB0cl90IHRhcmdldCwgYm9vbCBjb25jdXJyZW50bHkpCiAgICAgewogICAgICAg
ICBJc2xhbmRzKiBpc2xhbmRzID0gbV9pc2xhbmRzRm9ySnVtcFNvdXJjZUxvY2F0aW9uLmZpbmRF
eGFjdChiaXR3aXNlX2Nhc3Q8dm9pZCo+KGp1bXBMb2NhdGlvbikpOwogICAgICAgICBpZiAoaXNs
YW5kcykgewpAQCAtNzQ2LDcgKzc0Niw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm4g
aXNsYW5kc1BlclBhZ2U7CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIHJlbGVhc2UoY29uc3Qg
VW5jaGVja2VkTG9ja0hvbGRlciYgbG9ja2VyLCBNZXRhQWxsb2NhdG9ySGFuZGxlJiBoYW5kbGUp
IGZpbmFsCisgICAgICAgIHZvaWQgcmVsZWFzZShjb25zdCBMb2NrSG9sZGVyJiBsb2NrZXIsIE1l
dGFBbGxvY2F0b3JIYW5kbGUmIGhhbmRsZSkgZmluYWwKICAgICAgICAgewogICAgICAgICAgICAg
bV9maXhlZEFsbG9jYXRvci5oYW5kbGVXaWxsQmVSZWxlYXNlZChsb2NrZXIsIGhhbmRsZSk7CiAg
ICAgICAgICAgICBCYXNlOjpyZWxlYXNlKGxvY2tlciwgaGFuZGxlKTsKQEAgLTg0Nyw3ICs4NDcs
NyBAQCBwcml2YXRlOgogICAgIH07CiAjZW5kaWYgLy8gRU5BQkxFKEpVTVBfSVNMQU5EUykKIAot
ICAgIFVuY2hlY2tlZExvY2sgbV9sb2NrOworICAgIExvY2sgbV9sb2NrOwogICAgIFBhZ2VSZXNl
cnZhdGlvbiBtX3Jlc2VydmF0aW9uOwogI2lmIEVOQUJMRShKVU1QX0lTTEFORFMpCiAgICAgc3Rk
OjphcnJheTxSZWdpb25BbGxvY2F0b3IsIG1heE51bWJlck9mUmVnaW9ucz4gbV9hbGxvY2F0b3Jz
OwpAQCAtOTYxLDcgKzk2MSw3IEBAIGJvb2wgRXhlY3V0YWJsZUFsbG9jYXRvcjo6aXNWYWxpZEV4
ZWN1dGFibGVNZW1vcnkoY29uc3QgQWJzdHJhY3RMb2NrZXImIGxvY2tlciwKICAgICByZXR1cm4g
YWxsb2NhdG9yLT5pc0luQWxsb2NhdGVkTWVtb3J5KGxvY2tlciwgYWRkcmVzcyk7CiB9CiAKLVVu
Y2hlY2tlZExvY2smIEV4ZWN1dGFibGVBbGxvY2F0b3I6OmdldExvY2soKSBjb25zdAorTG9jayYg
RXhlY3V0YWJsZUFsbG9jYXRvcjo6Z2V0TG9jaygpIGNvbnN0CiB7CiAgICAgRml4ZWRWTVBvb2xF
eGVjdXRhYmxlQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSBnX2pzY0NvbmZpZy5maXhlZFZNUG9vbEV4
ZWN1dGFibGVBbGxvY2F0b3I7CiAgICAgaWYgKCFhbGxvY2F0b3IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oCmluZGV4IDAzNzk5ZTQyN2IwOTdk
NjRmZDk4Y2I4Zjk1YTY4YTkyNTE2ZjhhNTcuLjI4MTE2MWViMWNkNzM1NWQyNWI1MWM3NzNiOTg1
ODQ4NTg0MGVhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0
YWJsZUFsbG9jYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJs
ZUFsbG9jYXRvci5oCkBAIC03Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBzaXpl
X3QgY29tbWl0dGVkQnl0ZUNvdW50KCkgeyByZXR1cm4gMDsgfQogCi0gICAgVW5jaGVja2VkTG9j
ayYgZ2V0TG9jaygpIGNvbnN0CisgICAgTG9jayYgZ2V0TG9jaygpIGNvbnN0IFdURl9SRVRVUk5T
X0xPQ0sobV9sb2NrKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fbG9jazsKICAgICB9CkBAIC04
Nyw3ICs4Nyw3IEBAIHByb3RlY3RlZDoKICAgICB+RXhlY3V0YWJsZUFsbG9jYXRvckJhc2UoKSA9
IGRlZmF1bHQ7CiAKIHByaXZhdGU6Ci0gICAgbXV0YWJsZSBVbmNoZWNrZWRMb2NrIG1fbG9jazsK
KyAgICBtdXRhYmxlIExvY2sgbV9sb2NrOwogfTsKIAogI2lmIEVOQUJMRShKSVQpCkBAIC0xNzYs
NyArMTc2LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHNpemVfdCBjb21taXR0ZWRCeXRlQ291
bnQoKTsKIAotICAgIFVuY2hlY2tlZExvY2smIGdldExvY2soKSBjb25zdDsKKyAgICBMb2NrJiBn
ZXRMb2NrKCkgY29uc3Q7CiAKICNpZiBFTkFCTEUoSlVNUF9JU0xBTkRTKQogICAgIEpTX0VYUE9S
VF9QUklWQVRFIHZvaWQqIGdldEp1bXBJc2xhbmRUbyh2b2lkKiBmcm9tLCB2b2lkKiBuZXdEZXN0
aW5hdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvVk1JbnNw
ZWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL1ZNSW5zcGVjdG9yLmNwcApp
bmRleCA3MzNmNTIzMGZlZTRmNmFhMGUzOGQ4ZDhmZjljYzliNmUwMjIyYjdiLi44ZGE1M2YzMDZi
MWFmYzY3NDk0MTdmNmY5MjQ2MGQ5OGEzNzQ1ODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdG9vbHMvVk1JbnNwZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90b29scy9WTUluc3BlY3Rvci5jcHAKQEAgLTEyOCw3ICsxMjgsNyBAQCBhdXRvIFZNSW5zcGVj
dG9yOjppc1ZhbGlkRXhlY3V0YWJsZU1lbW9yeShjb25zdCBWTUluc3BlY3Rvcjo6TG9ja2VyJiwg
dm9pZCogbWFjaAogICAgICAgICAgICAgcmV0dXJuIEZ1bmN0b3JTdGF0dXM6OkNvbnRpbnVlOyAv
LyBTa2lwIHRoaXMgVk0uCiAgICAgICAgIH0KIAotICAgICAgICBMb2NrZXIgZXhlY3V0YWJsZUFs
bG9jYXRvckxvY2tlciB7IGxvY2sgfTsKKyAgICAgICAgV1RGOjpMb2NrZXIgZXhlY3V0YWJsZUFs
bG9jYXRvckxvY2tlciB7IGxvY2sgfTsKICAgICAgICAgaWYgKGFsbG9jYXRvci5pc1ZhbGlkRXhl
Y3V0YWJsZU1lbW9yeShleGVjdXRhYmxlQWxsb2NhdG9yTG9ja2VyLCBtYWNoaW5lUEMpKSB7CiAg
ICAgICAgICAgICBmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICByZXR1cm4gRnVuY3RvclN0YXR1
czo6RG9uZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01ldGFBbGxvY2F0b3IuY3BwIGIv
U291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRvci5jcHAKaW5kZXggZDljZDU5OTJmM2EwZDUxZDA0
NmU4NzAxYTEzYmQyN2E3OTAyMmFkNC4uZWVmODliNzdlN2JkZGZjZDY3NjVkNjczYWE1NjVhMDY3
N2NkNzBhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRvci5jcHAKKysr
IGIvU291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRvci5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgdm9p
ZCBNZXRhQWxsb2NhdG9yVHJhY2tlcjo6cmVsZWFzZShNZXRhQWxsb2NhdG9ySGFuZGxlJiBoYW5k
bGUpCiAgICAgbV9hbGxvY2F0aW9ucy5yZW1vdmUoJmhhbmRsZSk7CiB9CiAKLXZvaWQgTWV0YUFs
bG9jYXRvcjo6cmVsZWFzZShjb25zdCBVbmNoZWNrZWRMb2NrSG9sZGVyJiwgTWV0YUFsbG9jYXRv
ckhhbmRsZSYgaGFuZGxlKQordm9pZCBNZXRhQWxsb2NhdG9yOjpyZWxlYXNlKGNvbnN0IExvY2tI
b2xkZXImLCBNZXRhQWxsb2NhdG9ySGFuZGxlJiBoYW5kbGUpCiB7CiAgICAgaWYgKGhhbmRsZS5z
aXplSW5CeXRlcygpKSB7CiAgICAgICAgIE1lbW9yeVB0ciBzdGFydCA9IGhhbmRsZS5zdGFydCgp
OwpAQCAtMTI0LDcgKzEyNCw3IEBAIHZvaWQgTWV0YUFsbG9jYXRvckhhbmRsZTo6ZHVtcChQcmlu
dFN0cmVhbSYgb3V0KSBjb25zdAogICAgIG91dC5wcmludChSYXdQb2ludGVyKHN0YXJ0KCkudW50
YWdnZWRQdHIoKSksICIuLi4iLCBSYXdQb2ludGVyKGVuZCgpLnVudGFnZ2VkUHRyKCkpKTsKIH0K
IAotTWV0YUFsbG9jYXRvcjo6TWV0YUFsbG9jYXRvcihVbmNoZWNrZWRMb2NrJiBsb2NrLCBzaXpl
X3QgYWxsb2NhdGlvbkdyYW51bGUsIHNpemVfdCBwYWdlU2l6ZSkKK01ldGFBbGxvY2F0b3I6Ok1l
dGFBbGxvY2F0b3IoTG9jayYgbG9jaywgc2l6ZV90IGFsbG9jYXRpb25HcmFudWxlLCBzaXplX3Qg
cGFnZVNpemUpCiAgICAgOiBtX2FsbG9jYXRpb25HcmFudWxlKGFsbG9jYXRpb25HcmFudWxlKQog
ICAgICwgbV9wYWdlU2l6ZShwYWdlU2l6ZSkKICAgICAsIG1fYnl0ZXNBbGxvY2F0ZWQoMCkKQEAg
LTE1NCw3ICsxNTQsNyBAQCBNZXRhQWxsb2NhdG9yOjpNZXRhQWxsb2NhdG9yKFVuY2hlY2tlZExv
Y2smIGxvY2ssIHNpemVfdCBhbGxvY2F0aW9uR3JhbnVsZSwgc2l6ZQogICAgIEFTU0VSVChzdGF0
aWNfY2FzdDxzaXplX3Q+KDEpIDw8IG1fbG9nQWxsb2NhdGlvbkdyYW51bGUgPT0gbV9hbGxvY2F0
aW9uR3JhbnVsZSk7CiB9CiAKLVJlZlB0cjxNZXRhQWxsb2NhdG9ySGFuZGxlPiBNZXRhQWxsb2Nh
dG9yOjphbGxvY2F0ZShjb25zdCBVbmNoZWNrZWRMb2NrSG9sZGVyJiwgc2l6ZV90IHNpemVJbkJ5
dGVzKQorUmVmUHRyPE1ldGFBbGxvY2F0b3JIYW5kbGU+IE1ldGFBbGxvY2F0b3I6OmFsbG9jYXRl
KGNvbnN0IExvY2tIb2xkZXImLCBzaXplX3Qgc2l6ZUluQnl0ZXMpCiB7CiAgICAgaWYgKCFzaXpl
SW5CeXRlcykKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0xOTgsNyArMTk4LDcgQEAgUmVm
UHRyPE1ldGFBbGxvY2F0b3JIYW5kbGU+IE1ldGFBbGxvY2F0b3I6OmFsbG9jYXRlKGNvbnN0IFVu
Y2hlY2tlZExvY2tIb2xkZXImLAogICAgIHJldHVybiBoYW5kbGU7CiB9CiAKLU1ldGFBbGxvY2F0
b3I6OlN0YXRpc3RpY3MgTWV0YUFsbG9jYXRvcjo6Y3VycmVudFN0YXRpc3RpY3MoY29uc3QgVW5j
aGVja2VkTG9ja0hvbGRlciYpCitNZXRhQWxsb2NhdG9yOjpTdGF0aXN0aWNzIE1ldGFBbGxvY2F0
b3I6OmN1cnJlbnRTdGF0aXN0aWNzKGNvbnN0IExvY2tIb2xkZXImKQogewogICAgIFN0YXRpc3Rp
Y3MgcmVzdWx0OwogICAgIHJlc3VsdC5ieXRlc0FsbG9jYXRlZCA9IG1fYnl0ZXNBbGxvY2F0ZWQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9NZXRhQWxsb2NhdG9yLmggYi9Tb3VyY2UvV1RG
L3d0Zi9NZXRhQWxsb2NhdG9yLmgKaW5kZXggZWRmZWM3YzNiODk5NjI5ZjA3ZGU3YWEwOGQwYzYz
MjI3NmY4YzQwZS4uNWZiNzJjMjgwZWRjMDZkZWE4OTMxYjZhM2MwOWUxZmY3YmY1YzhkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRvci5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL01ldGFBbGxvY2F0b3IuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcg
RnJlZVNwYWNlUHRyID0gTWV0YUFsbG9jYXRvclB0cjxGcmVlU3BhY2VQdHJUYWc+OwogICAgIHVz
aW5nIE1lbW9yeVB0ciA9IE1ldGFBbGxvY2F0b3JIYW5kbGU6Ok1lbW9yeVB0cjsKIAotICAgIFdU
Rl9FWFBPUlRfUFJJVkFURSBNZXRhQWxsb2NhdG9yKFVuY2hlY2tlZExvY2smLCBzaXplX3QgYWxs
b2NhdGlvbkdyYW51bGUsIHNpemVfdCBwYWdlU2l6ZSA9IFdURjo6cGFnZVNpemUoKSk7CisgICAg
V1RGX0VYUE9SVF9QUklWQVRFIE1ldGFBbGxvY2F0b3IoTG9jayYsIHNpemVfdCBhbGxvY2F0aW9u
R3JhbnVsZSwgc2l6ZV90IHBhZ2VTaXplID0gV1RGOjpwYWdlU2l6ZSgpKTsKICAgICAKICAgICBX
VEZfRVhQT1JUX1BSSVZBVEUgdmlydHVhbCB+TWV0YUFsbG9jYXRvcigpOwogICAgIApAQCAtNzQs
NyArNzQsNyBAQCBwdWJsaWM6CiAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX2xvY2sgfTsKICAg
ICAgICAgcmV0dXJuIGFsbG9jYXRlKGxvY2tlciwgc2l6ZUluQnl0ZXMpOwogICAgIH0KLSAgICBX
VEZfRVhQT1JUX1BSSVZBVEUgUmVmUHRyPE1ldGFBbGxvY2F0b3JIYW5kbGU+IGFsbG9jYXRlKGNv
bnN0IFVuY2hlY2tlZExvY2tIb2xkZXImLCBzaXplX3Qgc2l6ZUluQnl0ZXMpOworICAgIFdURl9F
WFBPUlRfUFJJVkFURSBSZWZQdHI8TWV0YUFsbG9jYXRvckhhbmRsZT4gYWxsb2NhdGUoY29uc3Qg
TG9ja0hvbGRlciYsIHNpemVfdCBzaXplSW5CeXRlcyk7CiAKICAgICB2b2lkIHRyYWNrQWxsb2Nh
dGlvbnMoTWV0YUFsbG9jYXRvclRyYWNrZXIqIHRyYWNrZXIpCiAgICAgewpAQCAtOTgsNyArOTgs
NyBAQCBwdWJsaWM6CiAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX2xvY2sgfTsKICAgICAgICAg
cmV0dXJuIGN1cnJlbnRTdGF0aXN0aWNzKGxvY2tlcik7CiAgICAgfQotICAgIFdURl9FWFBPUlRf
UFJJVkFURSBTdGF0aXN0aWNzIGN1cnJlbnRTdGF0aXN0aWNzKGNvbnN0IFVuY2hlY2tlZExvY2tI
b2xkZXImKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgU3RhdGlzdGljcyBjdXJyZW50U3RhdGlz
dGljcyhjb25zdCBMb2NrSG9sZGVyJik7CiAKICAgICAvLyBBZGQgbW9yZSBmcmVlIHNwYWNlIHRv
IHRoZSBhbGxvY2F0b3IuIENhbGwgdGhpcyBkaXJlY3RseSBmcm9tCiAgICAgLy8gdGhlIGNvbnN0
cnVjdG9yIGlmIHlvdSB3aXNoIHRvIG9wZXJhdGUgdGhlIGFsbG9jYXRvciB3aXRoaW4gYQpAQCAt
MTM0LDcgKzEzNCw3IEBAIHByb3RlY3RlZDoKICAgICAvLyBhcyB0aGVyZSBhcmUgSGFuZGxlcyB0
aGF0IHJlZmVyIHRvIGl0LgogCiAgICAgLy8gUmVsZWFzZSBhIE1ldGFBbGxvY2F0b3JIYW5kbGUu
Ci0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHZpcnR1YWwgdm9pZCByZWxlYXNlKGNvbnN0IFVuY2hl
Y2tlZExvY2tIb2xkZXImLCBNZXRhQWxsb2NhdG9ySGFuZGxlJik7CisgICAgV1RGX0VYUE9SVF9Q
UklWQVRFIHZpcnR1YWwgdm9pZCByZWxlYXNlKGNvbnN0IExvY2tIb2xkZXImLCBNZXRhQWxsb2Nh
dG9ySGFuZGxlJik7CiBwcml2YXRlOgogICAgIAogICAgIGZyaWVuZCBjbGFzcyBNZXRhQWxsb2Nh
dG9ySGFuZGxlOwpAQCAtMTk3LDcgKzE5Nyw3IEBAIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fYnl0
ZXNSZXNlcnZlZDsKICAgICBzaXplX3QgbV9ieXRlc0NvbW1pdHRlZDsKICAgICAKLSAgICBVbmNo
ZWNrZWRMb2NrJiBtX2xvY2s7CisgICAgTG9jayYgbV9sb2NrOwogCiAgICAgTWV0YUFsbG9jYXRv
clRyYWNrZXIqIG1fdHJhY2tlciB7IG51bGxwdHIgfTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvTWV0YUFsbG9jYXRvci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9NZXRhQWxsb2NhdG9yLmNwcAppbmRleCA0ZWY1ODNiM2MyYmU5OGVlZmQ5
NjE1MWM3OTY5Y2U0M2ViYTA1NzkzLi5iOTFmNjhlYzBjYzE3ZGQzNzA4ZjJlNzgwODM2NjU1N2Ri
Mzg3YTY2IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZXRhQWxs
b2NhdG9yLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZXRhQWxsb2Nh
dG9yLmNwcApAQCAtMTI5LDcgKzEyOSw3IEBAIHB1YmxpYzoKICAgICAgICAgfQogICAgICAgICAK
ICAgICBwcml2YXRlOgotICAgICAgICBVbmNoZWNrZWRMb2NrIG1fbG9jazsKKyAgICAgICAgTG9j
ayBtX2xvY2s7CiAgICAgICAgIE1ldGFBbGxvY2F0b3JUZXN0KiBtX3BhcmVudDsKICAgICB9Owog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430075</attachid>
            <date>2021-05-28 17:02:36 -0700</date>
            <delta_ts>2021-05-28 18:06:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226396-20210528170235.patch</filename>
            <type>text/plain</type>
            <size>14566</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
YjNiZDNkZTNlYzhlMTMxOWZkZGIwY2MzMzJmY2RlZWFkMjk2ZDlhLi5kODU4OTcwMWZkNjQzMjRl
NGJiNWMyNTU3OWYwMjIzZWFhZTkyYzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAyMS0wNS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIFN0b3AgdXNpbmcgVW5jaGVja2VkTG9jayBpbiBXVEY6Ok1ldGFBbGxvY2F0b3IK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjM5Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFN0b3AgdXNpbmcg
VW5jaGVja2VkTG9jayBpbiBXVEY6Ok1ldGFBbGxvY2F0b3IsIGFzIGl0IGlzIGJlaW5nIHBoYXNl
ZCBvdXQgaW4gZmF2b3Igb24gTG9jaywKKyAgICAgICAgd2hpY2ggc3VwcG9ydHMgQ2xhbmcgdGhy
ZWFkIHNhZmV0eSBhbmFseXNpcy4KKworICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9y
LmNwcDoKKyAgICAgICAgKEpTQzo6RXhlY3V0YWJsZUFsbG9jYXRvcjo6Z2V0TG9jayBjb25zdCk6
CisgICAgICAgICogaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaDoKKyAgICAgICAgKEpTQzo6RXhl
Y3V0YWJsZUFsbG9jYXRvckJhc2U6OldURl9SRVRVUk5TX0xPQ0spOgorICAgICAgICAqIHRvb2xz
L1ZNSW5zcGVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Vk1JbnNwZWN0b3I6OmlzVmFsaWRFeGVj
dXRhYmxlTWVtb3J5KToKKwogMjAyMS0wNS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFN0b3AgdXNpbmcgVW5jaGVja2VkTG9jayBpbiBKU0RPTUdsb2JhbE9i
amVjdApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZwppbmRleCAzNDg1ZmY1NGRkMDY0NmQ2MzdiNjhiNDZhZWZlZmYxOTIxY2U4NGIwLi44Zjg0
MDg2ZGE5MWIyOGFjMjNiZWM3ZjA3ZGQ4MzQ4NmFjZTYxZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDIxLTA1LTI4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAg
U3RvcCB1c2luZyBVbmNoZWNrZWRMb2NrIGluIFdURjo6TWV0YUFsbG9jYXRvcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Mzk2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgU3RvcCB1c2luZyBVbmNoZWNrZWRM
b2NrIGluIFdURjo6TWV0YUFsbG9jYXRvciwgYXMgaXQgaXMgYmVpbmcgcGhhc2VkIG91dCBpbiBm
YXZvciBvbiBMb2NrLAorICAgICAgICB3aGljaCBzdXBwb3J0cyBDbGFuZyB0aHJlYWQgc2FmZXR5
IGFuYWx5c2lzLgorCisgICAgICAgICogd3RmL01ldGFBbGxvY2F0b3IuY3BwOgorICAgICAgICAo
V1RGOjpNZXRhQWxsb2NhdG9yOjpyZWxlYXNlKToKKyAgICAgICAgKFdURjo6TWV0YUFsbG9jYXRv
cjo6TWV0YUFsbG9jYXRvcik6CisgICAgICAgIChXVEY6Ok1ldGFBbGxvY2F0b3I6OmFsbG9jYXRl
KToKKyAgICAgICAgKFdURjo6TWV0YUFsbG9jYXRvcjo6Y3VycmVudFN0YXRpc3RpY3MpOgorICAg
ICAgICAqIHd0Zi9NZXRhQWxsb2NhdG9yLmg6CisKIDIwMjEtMDUtMjggIFJvYmluIE1vcmlzc2V0
ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggTGlrZWx5RGVuc2VVbnNpZ25l
ZEludGVnZXJTZXQ6OmNsZWFyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4
ZWN1dGFibGVBbGxvY2F0b3IuY3BwCmluZGV4IGVlNWUzOGEyODM0ZWNiYTg0NWU2MjkxZGM3NjVj
NTIwN2IyZjA3OTguLjgzNDUzYTE0ZTg2MTkyYTU2YzY0Y2ZiMzRkMDZlNjExYjc1OWZkOWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNw
cApAQCAtNDg1LDcgKzQ4NSw3IEBAIHB1YmxpYzoKICNlbmRpZiAvLyBFTkFCTEUoSlVNUF9JU0xB
TkRTKQogICAgIH0KIAotICAgIFVuY2hlY2tlZExvY2smIGdldExvY2soKSB7IHJldHVybiBtX2xv
Y2s7IH0KKyAgICBMb2NrJiBnZXRMb2NrKCkgV1RGX1JFVFVSTlNfTE9DSyhtX2xvY2spIHsgcmV0
dXJuIG1fbG9jazsgfQogCiAgICAgLy8gTm9uIGF0b21pYwogICAgIHNpemVfdCBieXRlc0FsbG9j
YXRlZCgpIApAQCAtNTQ3LDcgKzU0Nyw3IEBAIHB1YmxpYzoKICAgICB9CiAKICNpZiBFTkFCTEUo
SlVNUF9JU0xBTkRTKQotICAgIHZvaWQgaGFuZGxlV2lsbEJlUmVsZWFzZWQoY29uc3QgVW5jaGVj
a2VkTG9ja0hvbGRlciYgbG9ja2VyLCBNZXRhQWxsb2NhdG9ySGFuZGxlJiBoYW5kbGUpCisgICAg
dm9pZCBoYW5kbGVXaWxsQmVSZWxlYXNlZChjb25zdCBMb2NrSG9sZGVyJiBsb2NrZXIsIE1ldGFB
bGxvY2F0b3JIYW5kbGUmIGhhbmRsZSkKICAgICB7CiAgICAgICAgIGlmIChtX2lzbGFuZHNGb3JK
dW1wU291cmNlTG9jYXRpb24uaXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0dXJuOwpAQCAtNTk5
LDcgKzU5OSw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCi0g
ICAgdm9pZCBmcmVlSnVtcElzbGFuZHMoY29uc3QgVW5jaGVja2VkTG9ja0hvbGRlciYsIElzbGFu
ZHMqIGlzbGFuZHMpCisgICAgdm9pZCBmcmVlSnVtcElzbGFuZHMoY29uc3QgTG9ja0hvbGRlciYs
IElzbGFuZHMqIGlzbGFuZHMpCiAgICAgewogICAgICAgICBmb3IgKENvZGVMb2NhdGlvbkxhYmVs
PEV4ZWN1dGFibGVNZW1vcnlQdHJUYWc+IGp1bXBJc2xhbmQgOiBpc2xhbmRzLT5qdW1wSXNsYW5k
cykgewogICAgICAgICAgICAgdWludHB0cl90IHVudGFnZ2VkSnVtcElzbGFuZCA9IGJpdHdpc2Vf
Y2FzdDx1aW50cHRyX3Q+KGp1bXBJc2xhbmQuZGF0YUxvY2F0aW9uKCkpOwpAQCAtNjEwLDE0ICs2
MTAsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgaXNsYW5kcy0+anVtcElzbGFuZHMuY2xlYXIoKTsK
ICAgICB9CiAKLSAgICB2b2lkIGZyZWVJc2xhbmRzKGNvbnN0IFVuY2hlY2tlZExvY2tIb2xkZXIm
IGxvY2tlciwgSXNsYW5kcyogaXNsYW5kcykKKyAgICB2b2lkIGZyZWVJc2xhbmRzKGNvbnN0IExv
Y2tIb2xkZXImIGxvY2tlciwgSXNsYW5kcyogaXNsYW5kcykKICAgICB7CiAgICAgICAgIGZyZWVK
dW1wSXNsYW5kcyhsb2NrZXIsIGlzbGFuZHMpOwogICAgICAgICBtX2lzbGFuZHNGb3JKdW1wU291
cmNlTG9jYXRpb24ucmVtb3ZlKGlzbGFuZHMpOwogICAgICAgICBkZWxldGUgaXNsYW5kczsKICAg
ICB9CiAKLSAgICB2b2lkKiBpc2xhbmRGb3JKdW1wTG9jYXRpb24oY29uc3QgVW5jaGVja2VkTG9j
a0hvbGRlciYgbG9ja2VyLCB1aW50cHRyX3QganVtcExvY2F0aW9uLCB1aW50cHRyX3QgdGFyZ2V0
LCBib29sIGNvbmN1cnJlbnRseSkKKyAgICB2b2lkKiBpc2xhbmRGb3JKdW1wTG9jYXRpb24oY29u
c3QgTG9ja0hvbGRlciYgbG9ja2VyLCB1aW50cHRyX3QganVtcExvY2F0aW9uLCB1aW50cHRyX3Qg
dGFyZ2V0LCBib29sIGNvbmN1cnJlbnRseSkKICAgICB7CiAgICAgICAgIElzbGFuZHMqIGlzbGFu
ZHMgPSBtX2lzbGFuZHNGb3JKdW1wU291cmNlTG9jYXRpb24uZmluZEV4YWN0KGJpdHdpc2VfY2Fz
dDx2b2lkKj4oanVtcExvY2F0aW9uKSk7CiAgICAgICAgIGlmIChpc2xhbmRzKSB7CkBAIC03NDYs
NyArNzQ2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIHJldHVybiBpc2xhbmRzUGVyUGFnZTsK
ICAgICAgICAgfQogCi0gICAgICAgIHZvaWQgcmVsZWFzZShjb25zdCBVbmNoZWNrZWRMb2NrSG9s
ZGVyJiBsb2NrZXIsIE1ldGFBbGxvY2F0b3JIYW5kbGUmIGhhbmRsZSkgZmluYWwKKyAgICAgICAg
dm9pZCByZWxlYXNlKGNvbnN0IExvY2tIb2xkZXImIGxvY2tlciwgTWV0YUFsbG9jYXRvckhhbmRs
ZSYgaGFuZGxlKSBmaW5hbAogICAgICAgICB7CiAgICAgICAgICAgICBtX2ZpeGVkQWxsb2NhdG9y
LmhhbmRsZVdpbGxCZVJlbGVhc2VkKGxvY2tlciwgaGFuZGxlKTsKICAgICAgICAgICAgIEJhc2U6
OnJlbGVhc2UobG9ja2VyLCBoYW5kbGUpOwpAQCAtODQ3LDcgKzg0Nyw3IEBAIHByaXZhdGU6CiAg
ICAgfTsKICNlbmRpZiAvLyBFTkFCTEUoSlVNUF9JU0xBTkRTKQogCi0gICAgVW5jaGVja2VkTG9j
ayBtX2xvY2s7CisgICAgTG9jayBtX2xvY2s7CiAgICAgUGFnZVJlc2VydmF0aW9uIG1fcmVzZXJ2
YXRpb247CiAjaWYgRU5BQkxFKEpVTVBfSVNMQU5EUykKICAgICBzdGQ6OmFycmF5PFJlZ2lvbkFs
bG9jYXRvciwgbWF4TnVtYmVyT2ZSZWdpb25zPiBtX2FsbG9jYXRvcnM7CkBAIC05NjEsNyArOTYx
LDcgQEAgYm9vbCBFeGVjdXRhYmxlQWxsb2NhdG9yOjppc1ZhbGlkRXhlY3V0YWJsZU1lbW9yeShj
b25zdCBBYnN0cmFjdExvY2tlciYgbG9ja2VyLAogICAgIHJldHVybiBhbGxvY2F0b3ItPmlzSW5B
bGxvY2F0ZWRNZW1vcnkobG9ja2VyLCBhZGRyZXNzKTsKIH0KIAotVW5jaGVja2VkTG9jayYgRXhl
Y3V0YWJsZUFsbG9jYXRvcjo6Z2V0TG9jaygpIGNvbnN0CitMb2NrJiBFeGVjdXRhYmxlQWxsb2Nh
dG9yOjpnZXRMb2NrKCkgY29uc3QKIHsKICAgICBGaXhlZFZNUG9vbEV4ZWN1dGFibGVBbGxvY2F0
b3IqIGFsbG9jYXRvciA9IGdfanNjQ29uZmlnLmZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRv
cjsKICAgICBpZiAoIWFsbG9jYXRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9F
eGVjdXRhYmxlQWxsb2NhdG9yLmgKaW5kZXggMDM3OTllNDI3YjA5N2Q2NGZkOThjYjhmOTVhNjhh
OTI1MTZmOGE1Ny4uMjgxMTYxZWIxY2Q3MzU1ZDI1YjUxYzc3M2I5ODU4NDg1ODQwZWE1YSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKQEAg
LTc3LDcgKzc3LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHNpemVfdCBjb21taXR0ZWRCeXRl
Q291bnQoKSB7IHJldHVybiAwOyB9CiAKLSAgICBVbmNoZWNrZWRMb2NrJiBnZXRMb2NrKCkgY29u
c3QKKyAgICBMb2NrJiBnZXRMb2NrKCkgY29uc3QgV1RGX1JFVFVSTlNfTE9DSyhtX2xvY2spCiAg
ICAgewogICAgICAgICByZXR1cm4gbV9sb2NrOwogICAgIH0KQEAgLTg3LDcgKzg3LDcgQEAgcHJv
dGVjdGVkOgogICAgIH5FeGVjdXRhYmxlQWxsb2NhdG9yQmFzZSgpID0gZGVmYXVsdDsKIAogcHJp
dmF0ZToKLSAgICBtdXRhYmxlIFVuY2hlY2tlZExvY2sgbV9sb2NrOworICAgIG11dGFibGUgTG9j
ayBtX2xvY2s7CiB9OwogCiAjaWYgRU5BQkxFKEpJVCkKQEAgLTE3Niw3ICsxNzYsNyBAQCBwdWJs
aWM6CiAKICAgICBzdGF0aWMgc2l6ZV90IGNvbW1pdHRlZEJ5dGVDb3VudCgpOwogCi0gICAgVW5j
aGVja2VkTG9jayYgZ2V0TG9jaygpIGNvbnN0OworICAgIExvY2smIGdldExvY2soKSBjb25zdDsK
IAogI2lmIEVOQUJMRShKVU1QX0lTTEFORFMpCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCog
Z2V0SnVtcElzbGFuZFRvKHZvaWQqIGZyb20sIHZvaWQqIG5ld0Rlc3RpbmF0aW9uKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9WTUluc3BlY3Rvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvVk1JbnNwZWN0b3IuY3BwCmluZGV4IDczM2Y1MjMwZmVl
NGY2YWEwZTM4ZDhkOGZmOWNjOWI2ZTAyMjJiN2IuLjNhNDgzYTRkZWNiMGJkOTljMGJkNWExZmY0
ZTBiZWEzYzExZTRiOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9W
TUluc3BlY3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL1ZNSW5zcGVj
dG9yLmNwcApAQCAtNjQsNyArNjQsNyBAQCB2b2lkIFZNSW5zcGVjdG9yOjpyZW1vdmUoVk0qIHZt
KQogICAgIG1fdm1MaXN0LnJlbW92ZSh2bSk7CiB9CiAKLWF1dG8gVk1JbnNwZWN0b3I6OmxvY2so
U2Vjb25kcyB0aW1lb3V0KSAtPiBFeHBlY3RlZDxMb2NrZXIsIEVycm9yPgorYXV0byBWTUluc3Bl
Y3Rvcjo6bG9jayhTZWNvbmRzIHRpbWVvdXQpIC0+IEV4cGVjdGVkPFVuY2hlY2tlZExvY2tIb2xk
ZXIsIEVycm9yPgogewogICAgIC8vIFRoaXMgZnVuY3Rpb24gbWF5IGJlIGNhbGxlZCBmcm9tIGEg
c2lnbmFsIGhhbmRsZXIgKGUuZy4gdmlhIHZpc2l0KCkpLiBIZW5jZSwKICAgICAvLyBpdCBzaG91
bGQgb25seSB1c2UgQVBJcyB0aGF0IGFyZSBzYWZlIHRvIGNhbGwgZnJvbSBzaWduYWwgaGFuZGxl
cnMuIFRoaXMgaXMKQEAgLTczLDE0ICs3MywxNCBAQCBhdXRvIFZNSW5zcGVjdG9yOjpsb2NrKFNl
Y29uZHMgdGltZW91dCkgLT4gRXhwZWN0ZWQ8TG9ja2VyLCBFcnJvcj4KICAgICAvLyBXZSdsbCBi
ZSBkb2luZyBzbGVlcCgxKSBiZXR3ZWVuIHRyaWVzIGJlbG93LiBIZW5jZSwgc2xlZXBQZXJSZXRy
eSBpcyAxLgogICAgIHVuc2lnbmVkIG1heFJldHJpZXMgPSAodGltZW91dCA8IFNlY29uZHM6Omlu
ZmluaXR5KCkpID8gdGltZW91dC52YWx1ZSgpIDogVUlOVF9NQVg7CiAKLSAgICBFeHBlY3RlZDxM
b2NrZXIsIEVycm9yPiBsb2NrZXIgPSBMb2NrZXI6OnRyeUxvY2sobV9sb2NrKTsKKyAgICBFeHBl
Y3RlZDxVbmNoZWNrZWRMb2NrSG9sZGVyLCBFcnJvcj4gbG9ja2VyID0gVW5jaGVja2VkTG9ja0hv
bGRlcjo6dHJ5TG9jayhtX2xvY2spOwogICAgIHVuc2lnbmVkIHRyeUNvdW50ID0gMDsKICAgICB3
aGlsZSAoIWxvY2tlciAmJiB0cnlDb3VudCA8IG1heFJldHJpZXMpIHsKICAgICAgICAgLy8gV2Ug
d2FudCB0aGUgdmVyc2lvbiBvZiBzbGVlcCBmcm9tIHVuaXN0ZC5oLiBDYXN0IHRvIGRpc2FtYmln
dWF0ZS4KICNpZiAhT1MoV0lORE9XUykKICAgICAgICAgKHN0YXRpY19jYXN0PHVuc2lnbmVkICgq
KSh1bnNpZ25lZCk+KHNsZWVwKSkoMSk7CiAjZW5kaWYKLSAgICAgICAgbG9ja2VyID0gTG9ja2Vy
Ojp0cnlMb2NrKG1fbG9jayk7CisgICAgICAgIGxvY2tlciA9IFVuY2hlY2tlZExvY2tIb2xkZXI6
OnRyeUxvY2sobV9sb2NrKTsKICAgICB9CiAKICAgICBpZiAoIWxvY2tlcikKQEAgLTEwOSwxMSAr
MTA5LDExIEBAIHN0YXRpYyBib29sIGVuc3VyZUlzU2FmZVRvTG9jayhMb2NrVHlwZSYgbG9jaykK
IHZvaWQgVk1JbnNwZWN0b3I6OmZvckVhY2hWTShGdW5jdGlvbjxGdW5jdG9yU3RhdHVzKFZNJik+
JiYgZnVuYykKIHsKICAgICBWTUluc3BlY3RvciYgaW5zcGVjdG9yID0gaW5zdGFuY2UoKTsKLSAg
ICBMb2NrZXIgbG9jayhpbnNwZWN0b3IuZ2V0TG9jaygpKTsKKyAgICBMb2NrZXIgbG9jayB7IGlu
c3BlY3Rvci5nZXRMb2NrKCkgfTsKICAgICBpbnNwZWN0b3IuaXRlcmF0ZShmdW5jKTsKIH0KIAot
YXV0byBWTUluc3BlY3Rvcjo6aXNWYWxpZEV4ZWN1dGFibGVNZW1vcnkoY29uc3QgVk1JbnNwZWN0
b3I6OkxvY2tlciYsIHZvaWQqIG1hY2hpbmVQQykgLT4gRXhwZWN0ZWQ8Ym9vbCwgRXJyb3I+Cith
dXRvIFZNSW5zcGVjdG9yOjppc1ZhbGlkRXhlY3V0YWJsZU1lbW9yeShjb25zdCBVbmNoZWNrZWRM
b2NrSG9sZGVyJiwgdm9pZCogbWFjaGluZVBDKSAtPiBFeHBlY3RlZDxib29sLCBFcnJvcj4KIHsK
ICNpZiBFTkFCTEUoSklUKQogICAgIGJvb2wgZm91bmQgPSBmYWxzZTsKQEAgLTE0NSw3ICsxNDUs
NyBAQCBhdXRvIFZNSW5zcGVjdG9yOjppc1ZhbGlkRXhlY3V0YWJsZU1lbW9yeShjb25zdCBWTUlu
c3BlY3Rvcjo6TG9ja2VyJiwgdm9pZCogbWFjaAogI2VuZGlmCiB9CiAKLWF1dG8gVk1JbnNwZWN0
b3I6OmNvZGVCbG9ja0Zvck1hY2hpbmVQQyhjb25zdCBWTUluc3BlY3Rvcjo6TG9ja2VyJiwgdm9p
ZCogbWFjaGluZVBDKSAtPiBFeHBlY3RlZDxDb2RlQmxvY2sqLCBFcnJvcj4KK2F1dG8gVk1JbnNw
ZWN0b3I6OmNvZGVCbG9ja0Zvck1hY2hpbmVQQyhjb25zdCBVbmNoZWNrZWRMb2NrSG9sZGVyJiwg
dm9pZCogbWFjaGluZVBDKSAtPiBFeHBlY3RlZDxDb2RlQmxvY2sqLCBFcnJvcj4KIHsKICNpZiBF
TkFCTEUoSklUKQogICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gbnVsbHB0cjsKQEAgLTE3Miw3
ICsxNzIsNyBAQCBhdXRvIFZNSW5zcGVjdG9yOjpjb2RlQmxvY2tGb3JNYWNoaW5lUEMoY29uc3Qg
Vk1JbnNwZWN0b3I6OkxvY2tlciYsIHZvaWQqIG1hY2hpbgogICAgICAgICAgICAgcmV0dXJuIEZ1
bmN0b3JTdGF0dXM6OkNvbnRpbnVlOyAvLyBTa2lwIHRoaXMgVk0uCiAgICAgICAgIH0KIAotICAg
ICAgICBXVEY6OkxvY2tlciBsb2NrZXIgeyBjb2RlQmxvY2tTZXRMb2NrIH07CisgICAgICAgIExv
Y2tlciBsb2NrZXIgeyBjb2RlQmxvY2tTZXRMb2NrIH07CiAgICAgICAgIHZtLmhlYXAuZm9yRWFj
aENvZGVCbG9ja0lnbm9yaW5nSklUUGxhbnMobG9ja2VyLCBbJl0gKENvZGVCbG9jayogY2IpIHsK
ICAgICAgICAgICAgIEpJVENvZGUqIGppdENvZGUgPSBjYi0+aml0Q29kZSgpLmdldCgpOwogICAg
ICAgICAgICAgaWYgKCFqaXRDb2RlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdG9vbHMvVk1JbnNwZWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9WTUlu
c3BlY3Rvci5oCmluZGV4IGRmNDkwZGUyODYyYWExNzk5ZmRmNDM3NzdlZGUxZGVmYWRhMDE5ZDcu
LmMzMzg0MzEyY2E0ODMwOWZiMDYzOTM2OWE1M2I5NjVlMjdhZThmMjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9WTUluc3BlY3Rvci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90b29scy9WTUluc3BlY3Rvci5oCkBAIC00Myw4ICs0Myw2IEBAIHB1YmxpYzoK
ICAgICAgICAgVGltZWRPdXQKICAgICB9OwogCi0gICAgdHlwZWRlZiBXVEY6OkxvY2tlcjxVbmNo
ZWNrZWRMb2NrPiBMb2NrZXI7Ci0KICAgICBzdGF0aWMgVk1JbnNwZWN0b3ImIGluc3RhbmNlKCk7
CiAKICAgICB2b2lkIGFkZChWTSopOwpAQCAtNTgsMTQgKzU2LDE0IEBAIHB1YmxpYzoKICAgICB9
OwogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEZ1bmN0b3I+Ci0gICAgdm9pZCBpdGVyYXRlKGNv
bnN0IExvY2tlciYsIGNvbnN0IEZ1bmN0b3ImIGZ1bmN0b3IpIHsgaXRlcmF0ZShmdW5jdG9yKTsg
fQorICAgIHZvaWQgaXRlcmF0ZShjb25zdCBVbmNoZWNrZWRMb2NrSG9sZGVyJiwgY29uc3QgRnVu
Y3RvciYgZnVuY3RvcikgeyBpdGVyYXRlKGZ1bmN0b3IpOyB9CiAKICAgICBKU19FWFBPUlRfUFJJ
VkFURSBzdGF0aWMgdm9pZCBmb3JFYWNoVk0oRnVuY3Rpb248RnVuY3RvclN0YXR1cyhWTSYpPiYm
KTsKIAotICAgIEV4cGVjdGVkPExvY2tlciwgRXJyb3I+IGxvY2soU2Vjb25kcyB0aW1lb3V0ID0g
U2Vjb25kczo6aW5maW5pdHkoKSk7CisgICAgRXhwZWN0ZWQ8VW5jaGVja2VkTG9ja0hvbGRlciwg
RXJyb3I+IGxvY2soU2Vjb25kcyB0aW1lb3V0ID0gU2Vjb25kczo6aW5maW5pdHkoKSk7CiAKLSAg
ICBFeHBlY3RlZDxib29sLCBFcnJvcj4gaXNWYWxpZEV4ZWN1dGFibGVNZW1vcnkoY29uc3QgTG9j
a2VyJiwgdm9pZCopOwotICAgIEV4cGVjdGVkPENvZGVCbG9jayosIEVycm9yPiBjb2RlQmxvY2tG
b3JNYWNoaW5lUEMoY29uc3QgTG9ja2VyJiwgdm9pZCopOworICAgIEV4cGVjdGVkPGJvb2wsIEVy
cm9yPiBpc1ZhbGlkRXhlY3V0YWJsZU1lbW9yeShjb25zdCBVbmNoZWNrZWRMb2NrSG9sZGVyJiwg
dm9pZCopOworICAgIEV4cGVjdGVkPENvZGVCbG9jayosIEVycm9yPiBjb2RlQmxvY2tGb3JNYWNo
aW5lUEMoY29uc3QgVW5jaGVja2VkTG9ja0hvbGRlciYsIHZvaWQqKTsKIAogICAgIEpTX0VYUE9S
VF9QUklWQVRFIHN0YXRpYyBib29sIGN1cnJlbnRUaHJlYWRPd25zSlNMb2NrKFZNKik7CiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHZvaWQgZ2MoVk0qKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL01ldGFBbGxvY2F0b3IuY3BwIGIvU291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRv
ci5jcHAKaW5kZXggZDljZDU5OTJmM2EwZDUxZDA0NmU4NzAxYTEzYmQyN2E3OTAyMmFkNC4uZWVm
ODliNzdlN2JkZGZjZDY3NjVkNjczYWE1NjVhMDY3N2NkNzBhNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvTWV0YUFsbG9jYXRvci5jcHAKKysrIGIvU291cmNlL1dURi93dGYvTWV0YUFsbG9j
YXRvci5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgdm9pZCBNZXRhQWxsb2NhdG9yVHJhY2tlcjo6cmVs
ZWFzZShNZXRhQWxsb2NhdG9ySGFuZGxlJiBoYW5kbGUpCiAgICAgbV9hbGxvY2F0aW9ucy5yZW1v
dmUoJmhhbmRsZSk7CiB9CiAKLXZvaWQgTWV0YUFsbG9jYXRvcjo6cmVsZWFzZShjb25zdCBVbmNo
ZWNrZWRMb2NrSG9sZGVyJiwgTWV0YUFsbG9jYXRvckhhbmRsZSYgaGFuZGxlKQordm9pZCBNZXRh
QWxsb2NhdG9yOjpyZWxlYXNlKGNvbnN0IExvY2tIb2xkZXImLCBNZXRhQWxsb2NhdG9ySGFuZGxl
JiBoYW5kbGUpCiB7CiAgICAgaWYgKGhhbmRsZS5zaXplSW5CeXRlcygpKSB7CiAgICAgICAgIE1l
bW9yeVB0ciBzdGFydCA9IGhhbmRsZS5zdGFydCgpOwpAQCAtMTI0LDcgKzEyNCw3IEBAIHZvaWQg
TWV0YUFsbG9jYXRvckhhbmRsZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogICAgIG91
dC5wcmludChSYXdQb2ludGVyKHN0YXJ0KCkudW50YWdnZWRQdHIoKSksICIuLi4iLCBSYXdQb2lu
dGVyKGVuZCgpLnVudGFnZ2VkUHRyKCkpKTsKIH0KIAotTWV0YUFsbG9jYXRvcjo6TWV0YUFsbG9j
YXRvcihVbmNoZWNrZWRMb2NrJiBsb2NrLCBzaXplX3QgYWxsb2NhdGlvbkdyYW51bGUsIHNpemVf
dCBwYWdlU2l6ZSkKK01ldGFBbGxvY2F0b3I6Ok1ldGFBbGxvY2F0b3IoTG9jayYgbG9jaywgc2l6
ZV90IGFsbG9jYXRpb25HcmFudWxlLCBzaXplX3QgcGFnZVNpemUpCiAgICAgOiBtX2FsbG9jYXRp
b25HcmFudWxlKGFsbG9jYXRpb25HcmFudWxlKQogICAgICwgbV9wYWdlU2l6ZShwYWdlU2l6ZSkK
ICAgICAsIG1fYnl0ZXNBbGxvY2F0ZWQoMCkKQEAgLTE1NCw3ICsxNTQsNyBAQCBNZXRhQWxsb2Nh
dG9yOjpNZXRhQWxsb2NhdG9yKFVuY2hlY2tlZExvY2smIGxvY2ssIHNpemVfdCBhbGxvY2F0aW9u
R3JhbnVsZSwgc2l6ZQogICAgIEFTU0VSVChzdGF0aWNfY2FzdDxzaXplX3Q+KDEpIDw8IG1fbG9n
QWxsb2NhdGlvbkdyYW51bGUgPT0gbV9hbGxvY2F0aW9uR3JhbnVsZSk7CiB9CiAKLVJlZlB0cjxN
ZXRhQWxsb2NhdG9ySGFuZGxlPiBNZXRhQWxsb2NhdG9yOjphbGxvY2F0ZShjb25zdCBVbmNoZWNr
ZWRMb2NrSG9sZGVyJiwgc2l6ZV90IHNpemVJbkJ5dGVzKQorUmVmUHRyPE1ldGFBbGxvY2F0b3JI
YW5kbGU+IE1ldGFBbGxvY2F0b3I6OmFsbG9jYXRlKGNvbnN0IExvY2tIb2xkZXImLCBzaXplX3Qg
c2l6ZUluQnl0ZXMpCiB7CiAgICAgaWYgKCFzaXplSW5CeXRlcykKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CkBAIC0xOTgsNyArMTk4LDcgQEAgUmVmUHRyPE1ldGFBbGxvY2F0b3JIYW5kbGU+IE1l
dGFBbGxvY2F0b3I6OmFsbG9jYXRlKGNvbnN0IFVuY2hlY2tlZExvY2tIb2xkZXImLAogICAgIHJl
dHVybiBoYW5kbGU7CiB9CiAKLU1ldGFBbGxvY2F0b3I6OlN0YXRpc3RpY3MgTWV0YUFsbG9jYXRv
cjo6Y3VycmVudFN0YXRpc3RpY3MoY29uc3QgVW5jaGVja2VkTG9ja0hvbGRlciYpCitNZXRhQWxs
b2NhdG9yOjpTdGF0aXN0aWNzIE1ldGFBbGxvY2F0b3I6OmN1cnJlbnRTdGF0aXN0aWNzKGNvbnN0
IExvY2tIb2xkZXImKQogewogICAgIFN0YXRpc3RpY3MgcmVzdWx0OwogICAgIHJlc3VsdC5ieXRl
c0FsbG9jYXRlZCA9IG1fYnl0ZXNBbGxvY2F0ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9NZXRhQWxsb2NhdG9yLmggYi9Tb3VyY2UvV1RGL3d0Zi9NZXRhQWxsb2NhdG9yLmgKaW5kZXgg
ZWRmZWM3YzNiODk5NjI5ZjA3ZGU3YWEwOGQwYzYzMjI3NmY4YzQwZS4uNWZiNzJjMjgwZWRjMDZk
ZWE4OTMxYjZhM2MwOWUxZmY3YmY1YzhkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWV0
YUFsbG9jYXRvci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL01ldGFBbGxvY2F0b3IuaApAQCAtNjUs
NyArNjUsNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgRnJlZVNwYWNlUHRyID0gTWV0YUFsbG9jYXRv
clB0cjxGcmVlU3BhY2VQdHJUYWc+OwogICAgIHVzaW5nIE1lbW9yeVB0ciA9IE1ldGFBbGxvY2F0
b3JIYW5kbGU6Ok1lbW9yeVB0cjsKIAotICAgIFdURl9FWFBPUlRfUFJJVkFURSBNZXRhQWxsb2Nh
dG9yKFVuY2hlY2tlZExvY2smLCBzaXplX3QgYWxsb2NhdGlvbkdyYW51bGUsIHNpemVfdCBwYWdl
U2l6ZSA9IFdURjo6cGFnZVNpemUoKSk7CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIE1ldGFBbGxv
Y2F0b3IoTG9jayYsIHNpemVfdCBhbGxvY2F0aW9uR3JhbnVsZSwgc2l6ZV90IHBhZ2VTaXplID0g
V1RGOjpwYWdlU2l6ZSgpKTsKICAgICAKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdmlydHVhbCB+
TWV0YUFsbG9jYXRvcigpOwogICAgIApAQCAtNzQsNyArNzQsNyBAQCBwdWJsaWM6CiAgICAgICAg
IExvY2tlciBsb2NrZXIgeyBtX2xvY2sgfTsKICAgICAgICAgcmV0dXJuIGFsbG9jYXRlKGxvY2tl
ciwgc2l6ZUluQnl0ZXMpOwogICAgIH0KLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgUmVmUHRyPE1l
dGFBbGxvY2F0b3JIYW5kbGU+IGFsbG9jYXRlKGNvbnN0IFVuY2hlY2tlZExvY2tIb2xkZXImLCBz
aXplX3Qgc2l6ZUluQnl0ZXMpOworICAgIFdURl9FWFBPUlRfUFJJVkFURSBSZWZQdHI8TWV0YUFs
bG9jYXRvckhhbmRsZT4gYWxsb2NhdGUoY29uc3QgTG9ja0hvbGRlciYsIHNpemVfdCBzaXplSW5C
eXRlcyk7CiAKICAgICB2b2lkIHRyYWNrQWxsb2NhdGlvbnMoTWV0YUFsbG9jYXRvclRyYWNrZXIq
IHRyYWNrZXIpCiAgICAgewpAQCAtOTgsNyArOTgsNyBAQCBwdWJsaWM6CiAgICAgICAgIExvY2tl
ciBsb2NrZXIgeyBtX2xvY2sgfTsKICAgICAgICAgcmV0dXJuIGN1cnJlbnRTdGF0aXN0aWNzKGxv
Y2tlcik7CiAgICAgfQotICAgIFdURl9FWFBPUlRfUFJJVkFURSBTdGF0aXN0aWNzIGN1cnJlbnRT
dGF0aXN0aWNzKGNvbnN0IFVuY2hlY2tlZExvY2tIb2xkZXImKTsKKyAgICBXVEZfRVhQT1JUX1BS
SVZBVEUgU3RhdGlzdGljcyBjdXJyZW50U3RhdGlzdGljcyhjb25zdCBMb2NrSG9sZGVyJik7CiAK
ICAgICAvLyBBZGQgbW9yZSBmcmVlIHNwYWNlIHRvIHRoZSBhbGxvY2F0b3IuIENhbGwgdGhpcyBk
aXJlY3RseSBmcm9tCiAgICAgLy8gdGhlIGNvbnN0cnVjdG9yIGlmIHlvdSB3aXNoIHRvIG9wZXJh
dGUgdGhlIGFsbG9jYXRvciB3aXRoaW4gYQpAQCAtMTM0LDcgKzEzNCw3IEBAIHByb3RlY3RlZDoK
ICAgICAvLyBhcyB0aGVyZSBhcmUgSGFuZGxlcyB0aGF0IHJlZmVyIHRvIGl0LgogCiAgICAgLy8g
UmVsZWFzZSBhIE1ldGFBbGxvY2F0b3JIYW5kbGUuCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHZp
cnR1YWwgdm9pZCByZWxlYXNlKGNvbnN0IFVuY2hlY2tlZExvY2tIb2xkZXImLCBNZXRhQWxsb2Nh
dG9ySGFuZGxlJik7CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZpcnR1YWwgdm9pZCByZWxlYXNl
KGNvbnN0IExvY2tIb2xkZXImLCBNZXRhQWxsb2NhdG9ySGFuZGxlJik7CiBwcml2YXRlOgogICAg
IAogICAgIGZyaWVuZCBjbGFzcyBNZXRhQWxsb2NhdG9ySGFuZGxlOwpAQCAtMTk3LDcgKzE5Nyw3
IEBAIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fYnl0ZXNSZXNlcnZlZDsKICAgICBzaXplX3QgbV9i
eXRlc0NvbW1pdHRlZDsKICAgICAKLSAgICBVbmNoZWNrZWRMb2NrJiBtX2xvY2s7CisgICAgTG9j
ayYgbV9sb2NrOwogCiAgICAgTWV0YUFsbG9jYXRvclRyYWNrZXIqIG1fdHJhY2tlciB7IG51bGxw
dHIgfTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTWV0YUFs
bG9jYXRvci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZXRhQWxsb2NhdG9y
LmNwcAppbmRleCA0ZWY1ODNiM2MyYmU5OGVlZmQ5NjE1MWM3OTY5Y2U0M2ViYTA1NzkzLi5iOTFm
NjhlYzBjYzE3ZGQzNzA4ZjJlNzgwODM2NjU1N2RiMzg3YTY2IDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZXRhQWxsb2NhdG9yLmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9NZXRhQWxsb2NhdG9yLmNwcApAQCAtMTI5LDcgKzEyOSw3IEBA
IHB1YmxpYzoKICAgICAgICAgfQogICAgICAgICAKICAgICBwcml2YXRlOgotICAgICAgICBVbmNo
ZWNrZWRMb2NrIG1fbG9jazsKKyAgICAgICAgTG9jayBtX2xvY2s7CiAgICAgICAgIE1ldGFBbGxv
Y2F0b3JUZXN0KiBtX3BhcmVudDsKICAgICB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>