<?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>209825</bug_id>
          
          <creation_ts>2020-03-31 11:59:25 -0700</creation_ts>
          <short_desc>[iOS] Replace UIKit background task with a RunningBoard FinishTaskInterruptable assertion</short_desc>
          <delta_ts>2020-04-03 15:34:17 -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>WebKit2</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>
          
          <blocked>209990</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>jer.noble</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1636164</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-31 11:59:25 -0700</bug_when>
    <thetext>Replace UIKit background task with a RunningBoard FinishTask assertion on iOS. Our UIProcess gets terminated too frequently when the UIKit background task expires when the UIProcess holds it for longer than 30 seconds in the background. The RunningBoard FinishTask assertion is supposed to be equivalent but would cause suspension of our UIProcess on expiration, instead of termination.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636166</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-31 11:59:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/61118503&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636174</commentid>
    <comment_count>2</comment_count>
      <attachid>395077</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-31 12:21:47 -0700</bug_when>
    <thetext>Created attachment 395077
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636231</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-31 14:07:20 -0700</bug_when>
    <thetext>Looks like I need to fix up the open source build. Will look into it shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636259</commentid>
    <comment_count>4</comment_count>
      <attachid>395095</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-31 14:57:24 -0700</bug_when>
    <thetext>Created attachment 395095
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636270</commentid>
    <comment_count>5</comment_count>
      <attachid>395098</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-31 15:25:22 -0700</bug_when>
    <thetext>Created attachment 395098
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636297</commentid>
    <comment_count>6</comment_count>
      <attachid>395098</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-31 16:30:20 -0700</bug_when>
    <thetext>Comment on attachment 395098
Patch

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

&gt; Source/WTF/wtf/PlatformHave.h:461
&gt; +#if PLATFORM(IOS_FAMILY) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 140000
&gt; +#define HAVE_RUNNINGBOARD_WEBKIT_ASSERTIONS 1
&gt; +#endif

This doesn’t work as you’d expect. It‘s the thing Tim has been reminding us about. IOS_FAMILY plus __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 140000 gives iOS *without* watchOS and tvOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636311</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-31 17:15:06 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Comment on attachment 395098 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=395098&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/PlatformHave.h:461
&gt; &gt; +#if PLATFORM(IOS_FAMILY) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 140000
&gt; &gt; +#define HAVE_RUNNINGBOARD_WEBKIT_ASSERTIONS 1
&gt; &gt; +#endif
&gt; 
&gt; This doesn’t work as you’d expect. It‘s the thing Tim has been reminding us
&gt; about. IOS_FAMILY plus __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 140000 gives iOS
&gt; *without* watchOS and tvOS.

I had copied an existing example in our code hoping bad things in the code base had been fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636312</commentid>
    <comment_count>8</comment_count>
      <attachid>395109</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-31 17:15:24 -0700</bug_when>
    <thetext>Created attachment 395109
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636908</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-02 09:10:28 -0700</bug_when>
    <thetext>Ping review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637029</commentid>
    <comment_count>10</comment_count>
      <attachid>395109</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-04-02 13:22:45 -0700</bug_when>
    <thetext>Comment on attachment 395109
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637050</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-02 13:49:09 -0700</bug_when>
    <thetext>Committed r259414: &lt;https://trac.webkit.org/changeset/259414&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 395109.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395077</attachid>
            <date>2020-03-31 12:21:47 -0700</date>
            <delta_ts>2020-03-31 14:57:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209825-20200331122146.patch</filename>
            <type>text/plain</type>
            <size>12457</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5Mjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBlNDQwMDdjNjQxZGExY2E0ZTUwY2Rk
ZTgzOWNhN2M0ZWI2ZWE5MjMuLmNiODFkZDc5YTEwNjI2NjQwMzU4ODA2MzAxNzJlNDdmMTg2NjIw
NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDMtMzEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZXBsYWNlIFVJS2l0IGJhY2tncm91bmQgdGFz
ayB3aXRoIGEgUnVubmluZ0JvYXJkIEZpbmlzaFRhc2tJbnRlcnJ1cHRhYmxlIGFzc2VydGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5ODI1Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MTExODUwMz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYnVpbGQtdGltZSBmbGFnIGZvciBXZWJLaXQt
c3BlY2lmaWMgYXNzZXJ0aW9uIGluIFJ1bm5pbmdCb2FyZC4KKworICAgICAgICAqIHd0Zi9QbGF0
Zm9ybUhhdmUuaDoKKwogMjAyMC0wMy0zMCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIEZpeCAiRGVhZCBuZXN0ZWQgYXNzaWdubWVudCIgc3RhdGljIGFuYWx5
emVyIHdhcm5pbmcgaW4gbW9udGhGcm9tRGF5SW5ZZWFyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNWZlOWVhZjM0
OTQ4YWZmN2VjMDVhMmNlOGNjMzhmNWNmNjFkNGNkYy4uM2ViZmM4N2U0YzMyZmM1OGZjODY0N2Jm
MDdkMWRlNDcwZDhkODFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAyMC0wMy0zMSAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFJlcGxhY2Ug
VUlLaXQgYmFja2dyb3VuZCB0YXNrIHdpdGggYSBSdW5uaW5nQm9hcmQgRmluaXNoVGFza0ludGVy
cnVwdGFibGUgYXNzZXJ0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDk4MjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYxMTE4NTAzPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxhY2UgVUlL
aXQgYmFja2dyb3VuZCB0YXNrIHdpdGggYSBSdW5uaW5nQm9hcmQgRmluaXNoVGFza0ludGVycnVw
dGFibGUgYXNzZXJ0aW9uIG9uIGlPUy4KKyAgICAgICAgT3VyIFVJUHJvY2VzcyBnZXRzIHRlcm1p
bmF0ZWQgdG9vIGZyZXF1ZW50bHkgd2hlbiB0aGUgVUlLaXQgYmFja2dyb3VuZCB0YXNrIGV4cGly
ZXMgd2hlbgorICAgICAgICB0aGUgVUlQcm9jZXNzIGhvbGRzIGl0IGZvciBsb25nZXIgdGhhbiAz
MCBzZWNvbmRzIGluIHRoZSBiYWNrZ3JvdW5kLiBUaGUgUnVubmluZ0JvYXJkCisgICAgICAgIEZp
bmlzaFRhc2tJbnRlcnJ1cHRhYmxlIGFzc2VydGlvbiBpcyBzdXBwb3NlZCB0byBiZSBlcXVpdmFs
ZW50IGJ1dCB3b3VsZCBjYXVzZSBzdXNwZW5zaW9uCisgICAgICAgIG9mIG91ciBVSVByb2Nlc3Mg
b24gZXhwaXJhdGlvbiwgaW5zdGVhZCBvZiB0ZXJtaW5hdGlvbi4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbToKKyAgICAgICAgKC1bV0tQcm9jZXNzQXNz
ZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIGluaXRdKToKKyAgICAgICAgKC1bV0tQcm9jZXNz
QXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIF9zY2hlZHVsZVJlbGVhc2VUYXNrXSk6Cisg
ICAgICAgICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlciBfY2FuY2Vs
UGVuZGluZ1JlbGVhc2VUYXNrXSk6CisgICAgICAgICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tn
cm91bmRUYXNrTWFuYWdlciBfaGFzQmFja2dyb3VuZFRhc2tdKToKKyAgICAgICAgKC1bV0tQcm9j
ZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIF91cGRhdGVCYWNrZ3JvdW5kVGFza10p
OgorICAgICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgYXNz
ZXJ0aW9uV2lsbEludmFsaWRhdGU6XSk6CisgICAgICAgICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJh
Y2tncm91bmRUYXNrTWFuYWdlciBhc3NlcnRpb246ZGlkSW52YWxpZGF0ZVdpdGhFcnJvcjpdKToK
KyAgICAgICAgKC1bV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIF9oYW5k
bGVCYWNrZ3JvdW5kVGFza0V4cGlyYXRpb25dKToKKyAgICAgICAgKC1bV0tQcm9jZXNzQXNzZXJ0
aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIF9yZWxlYXNlQmFja2dyb3VuZFRhc2tdKToKKwogMjAy
MC0wMy0zMSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
U2lsZW5jZSBwcmVmZXJlbmNlIHdyaXRlIHNhbmRib3ggdmlvbGF0aW9ucyBpbiB0aGUgV2ViQ29u
dGVudCBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBi
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDM3YjJmMTZmN2U4YmI0YTE0OWE5
ZDExMzRjM2I1Mzc4NDkyMDk1N2EuLjkzMDUzMDkwMjBkZmVjZDZiZjk5YTU1ZTU2NjVkOTQ2YWM2
Njk2ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC00NTYsNiArNDU2LDEwIEBACiAjZGVmaW5l
IEhBVkVfQ0ZORVRXT1JLX0FMVEVSTkFUSVZFX1NFUlZJQ0UgMQogI2VuZGlmCiAKKyNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
NDAwMDAKKyNkZWZpbmUgSEFWRV9SVU5OSU5HQk9BUkRfV0VCS0lUX0FTU0VSVElPTlMgMQorI2Vu
ZGlmCisKICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxNTAwCiAjZGVmaW5lIEhBVkVfQ1NDSEVDS0ZJWERJU0FCTEUgMQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklP
Uy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1t
CmluZGV4IDMxYzEwOTczM2EwMjYwYTdmMzExYzU4MTk4OGIxNzdjYjg4NTljOGQuLmM1YjlmNDcx
YjNjNGRjNmU1YzdjZDhlNGY4ZGIwOTZkZWEzN2YyY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCkBAIC0zMCw2ICszMCw3IEBA
CiAKICNpbXBvcnQgIkFzc2VydGlvblNlcnZpY2VzU1BJLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgi
CisjaW1wb3J0ICJSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oIgogI2ltcG9ydCAiV2ViUHJvY2Vz
c1Bvb2wuaCIKICNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb24uaD4KICNpbXBvcnQgPHd0Zi9I
YXNoTWFwLmg+CkBAIC00NCw3ICs0NSw3IEBAIHVzaW5nIFdlYktpdDo6UHJvY2Vzc0FuZFVJQXNz
ZXJ0aW9uOwogLy8gb24gdGhlIGV4cGlyYXRpb24gaGFuZGxlciBnZXR0aW5nIGNhbGxlZCkuCiBz
dGF0aWMgY29uc3QgU2Vjb25kcyByZWxlYXNlQmFja2dyb3VuZFRhc2tBZnRlckV4cGlyYXRpb25E
ZWxheSB7IDJfcyB9OwogCi1AaW50ZXJmYWNlIFdLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRU
YXNrTWFuYWdlciA6IE5TT2JqZWN0CitAaW50ZXJmYWNlIFdLUHJvY2Vzc0Fzc2VydGlvbkJhY2tn
cm91bmRUYXNrTWFuYWdlciA6IE5TT2JqZWN0IDxSQlNBc3NlcnRpb25PYnNlcnZpbmc+CiAKICsg
KFdLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlciAqKXNoYXJlZDsKIApAQCAt
NTUsNyArNTYsMTIgQEAgQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tQcm9jZXNzQXNzZXJ0aW9u
QmFja2dyb3VuZFRhc2tNYW5hZ2VyCiB7CisjaWYgSEFWRShSVU5OSU5HQk9BUkRfV0VCS0lUX0FT
U0VSVElPTlMpCisgICAgUmV0YWluUHRyPFJCU0Fzc2VydGlvbj4gX2JhY2tncm91bmRUYXNrOwor
I2Vsc2UKICAgICBVSUJhY2tncm91bmRUYXNrSWRlbnRpZmllciBfYmFja2dyb3VuZFRhc2s7Cisj
ZW5kaWYKKwogICAgIFdlYWtIYXNoU2V0PFByb2Nlc3NBbmRVSUFzc2VydGlvbj4gX2Fzc2VydGlv
bnNOZWVkaW5nQmFja2dyb3VuZFRhc2s7CiAgICAgQk9PTCBfYXBwbGljYXRpb25Jc0JhY2tncm91
bmRlZDsKICAgICBkaXNwYXRjaF9ibG9ja190IF9wZW5kaW5nVGFza1JlbGVhc2VUYXNrOwpAQCAt
NzMsNyArNzksOSBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAogICAgIGlmICghc2VsZikKICAgICAg
ICAgcmV0dXJuIG5pbDsKIAorI2lmICFIQVZFKFJVTk5JTkdCT0FSRF9XRUJLSVRfQVNTRVJUSU9O
UykKICAgICBfYmFja2dyb3VuZFRhc2sgPSBVSUJhY2tncm91bmRUYXNrSW52YWxpZDsKKyNlbmRp
ZgogCiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZl
ckZvck5hbWU6VUlBcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmROb3RpZmljYXRpb24gb2Jq
ZWN0OltVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBxdWV1ZTpuaWwgdXNpbmdCbG9j
azpeKE5TTm90aWZpY2F0aW9uICopIHsKICAgICAgICAgX2FwcGxpY2F0aW9uSXNCYWNrZ3JvdW5k
ZWQgPSBOTzsKQEAgLTg0LDcgKzkyLDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXQKICAgICBbW05T
Tm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9yTmFtZTpVSUFw
cGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5kTm90aWZpY2F0aW9uIG9iamVjdDpbVUlBcHBsaWNh
dGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gcXVldWU6bmlsIHVzaW5nQmxvY2s6XihOU05vdGlmaWNh
dGlvbiAqKSB7CiAgICAgICAgIF9hcHBsaWNhdGlvbklzQmFja2dyb3VuZGVkID0gWUVTOwogICAg
ICAgICAKLSAgICAgICAgaWYgKF9iYWNrZ3JvdW5kVGFzayA9PSBVSUJhY2tncm91bmRUYXNrSW52
YWxpZCkKKyAgICAgICAgaWYgKCFbc2VsZiBfaGFzQmFja2dyb3VuZFRhc2tdKQogICAgICAgICAg
ICAgV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bm90aWZ5UHJvY2Vzc1Bvb2xzQXBwbGljYXRpb25J
c0Fib3V0VG9TdXNwZW5kKCk7CiAgICAgfV07CiAKQEAgLTEzMiw3ICsxNDAsNyBAQCAtICh2b2lk
KV9zY2hlZHVsZVJlbGVhc2VUYXNrCiAgICAgaWYgKF9wZW5kaW5nVGFza1JlbGVhc2VUYXNrKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVw
IC0gV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIC0gX3NjaGVkdWxlUmVs
ZWFzZVRhc2sgYmVjYXVzZSB0aGUgZXhwaXJhdGlvbiBoYW5kbGVyIGhhcyBiZWVuIGNhbGxlZCIs
IHNlbGYpOworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXS1Byb2Nl
c3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXI6IF9zY2hlZHVsZVJlbGVhc2VUYXNrIGJl
Y2F1c2UgdGhlIGV4cGlyYXRpb24gaGFuZGxlciBoYXMgYmVlbiBjYWxsZWQiLCBzZWxmKTsKICAg
ICBfcGVuZGluZ1Rhc2tSZWxlYXNlVGFzayA9IGRpc3BhdGNoX2Jsb2NrX2NyZWF0ZSgoZGlzcGF0
Y2hfYmxvY2tfZmxhZ3NfdCkwLCBeewogICAgICAgICBfcGVuZGluZ1Rhc2tSZWxlYXNlVGFzayA9
IG5pbDsKICAgICAgICAgW3NlbGYgX3JlbGVhc2VCYWNrZ3JvdW5kVGFza107CkBAIC0xNDksNTcg
KzE1NywxMDUgQEAgLSAodm9pZClfY2FuY2VsUGVuZGluZ1JlbGVhc2VUYXNrCiAgICAgaWYgKCFf
cGVuZGluZ1Rhc2tSZWxlYXNlVGFzaykKICAgICAgICAgcmV0dXJuOwogCi0gICAgUkVMRUFTRV9M
T0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRU
YXNrTWFuYWdlciAtIF9jYW5jZWxQZW5kaW5nUmVsZWFzZVRhc2sgYmVjYXVzZSB0aGUgYXBwbGlj
YXRpb24gaXMgZm9yZWdyb3VuZCBhZ2FpbiIsIHNlbGYpOworICAgIFJFTEVBU0VfTE9HKFByb2Nl
c3NTdXNwZW5zaW9uLCAiJXAgLSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFn
ZXI6IF9jYW5jZWxQZW5kaW5nUmVsZWFzZVRhc2sgYmVjYXVzZSB0aGUgYXBwbGljYXRpb24gaXMg
Zm9yZWdyb3VuZCBhZ2FpbiIsIHNlbGYpOwogICAgIGRpc3BhdGNoX2Jsb2NrX2NhbmNlbChfcGVu
ZGluZ1Rhc2tSZWxlYXNlVGFzayk7CiAgICAgX3BlbmRpbmdUYXNrUmVsZWFzZVRhc2sgPSBuaWw7
CiB9CiAKKy0gKEJPT0wpX2hhc0JhY2tncm91bmRUYXNrCit7CisjaWYgSEFWRShSVU5OSU5HQk9B
UkRfV0VCS0lUX0FTU0VSVElPTlMpCisgICAgcmV0dXJuICEhX2JhY2tncm91bmRUYXNrOworI2Vs
c2UKKyAgICByZXR1cm4gX2JhY2tncm91bmRUYXNrICE9IFVJQmFja2dyb3VuZFRhc2tJbnZhbGlk
OworI2VuZGlmCit9CisKIC0gKHZvaWQpX3VwZGF0ZUJhY2tncm91bmRUYXNrCiB7Ci0gICAgaWYg
KCFfYXNzZXJ0aW9uc05lZWRpbmdCYWNrZ3JvdW5kVGFzay5jb21wdXRlc0VtcHR5KCkgJiYgX2Jh
Y2tncm91bmRUYXNrID09IFVJQmFja2dyb3VuZFRhc2tJbnZhbGlkKSB7CisgICAgaWYgKCFfYXNz
ZXJ0aW9uc05lZWRpbmdCYWNrZ3JvdW5kVGFzay5jb21wdXRlc0VtcHR5KCkgJiYgIVtzZWxmIF9o
YXNCYWNrZ3JvdW5kVGFza10pIHsKICAgICAgICAgaWYgKF9hcHBsaWNhdGlvbklzQmFja2dyb3Vu
ZGVkKSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lvbiwg
IiVwIC0gV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyOiBJZ25vcmVkIHJl
cXVlc3QgdG8gc3RhcnQgYSBuZXcgYmFja2dyb3VuZCB0YXNrIGJlY2F1c2UgdGhlIGFwcGxpY2F0
aW9uIGlzIGFscmVhZHkgaW4gdGhlIGJhY2tncm91bmQiLCBzZWxmKTsKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQotICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwg
IiVwIC0gV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIC0gYmVnaW5CYWNr
Z3JvdW5kVGFza1dpdGhOYW1lIiwgc2VsZik7CisgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NT
dXNwZW5zaW9uLCAiJXAgLSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXI6
IGJlZ2luQmFja2dyb3VuZFRhc2tXaXRoTmFtZSIsIHNlbGYpOworI2lmIEhBVkUoUlVOTklOR0JP
QVJEX1dFQktJVF9BU1NFUlRJT05TKQorICAgICAgICBSQlNUYXJnZXQgKnRhcmdldCA9IFtSQlNU
YXJnZXQgY3VycmVudFByb2Nlc3NdOworICAgICAgICBSQlNEb21haW5BdHRyaWJ1dGUgKmRvbWFp
bkF0dHJpYnV0ZSA9IFtSQlNEb21haW5BdHRyaWJ1dGUgYXR0cmlidXRlV2l0aERvbWFpbjpAImNv
bS5hcHBsZS5jb21tb24iIG5hbWU6QCJGaW5pc2hUYXNrSW50ZXJydXB0YWJsZSJdOworICAgICAg
ICBfYmFja2dyb3VuZFRhc2sgPSBhZG9wdE5TKFtbUkJTQXNzZXJ0aW9uIGFsbG9jXSBpbml0V2l0
aEV4cGxhbmF0aW9uOkAiV2ViS2l0IFVJUHJvY2VzcyBiYWNrZ3JvdW5kIHRhc2siIHRhcmdldDp0
YXJnZXQgYXR0cmlidXRlczpAW2RvbWFpbkF0dHJpYnV0ZV1dKTsKKyAgICAgICAgW19iYWNrZ3Jv
dW5kVGFzayBhZGRPYnNlcnZlcjpzZWxmXTsKKworICAgICAgICBOU0Vycm9yICphY3F1aXNpdGlv
bkVycm9yID0gbmlsOworICAgICAgICBpZiAoIVtfYmFja2dyb3VuZFRhc2sgYWNxdWlyZVdpdGhF
cnJvcjomYWNxdWlzaXRpb25FcnJvcl0pCisgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQ
cm9jZXNzU3VzcGVuc2lvbiwgIldLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdl
cjogRmFpbGVkIHRvIGFjcXVpcmUgRmluaXNoVGFza0ludGVycnVwdGFibGUgYXNzZXJ0aW9uIGZv
ciBvd24gcHJvY2VzcywgZXJyb3I6ICV7cHVibGljfUAiLCBhY3F1aXNpdGlvbkVycm9yKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICJX
S1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXI6IFN1Y2Nlc3NmdWxseSB0b29r
IGEgRmluaXNoVGFza0ludGVycnVwdGFibGUgYXNzZXJ0aW9uIGZvciBvd24gcHJvY2VzcyIpOwor
I2Vsc2UKICAgICAgICAgX2JhY2tncm91bmRUYXNrID0gW1tVSUFwcGxpY2F0aW9uIHNoYXJlZEFw
cGxpY2F0aW9uXSBiZWdpbkJhY2tncm91bmRUYXNrV2l0aE5hbWU6QCJjb20uYXBwbGUuV2ViS2l0
LlByb2Nlc3NBc3NlcnRpb24iIGV4cGlyYXRpb25IYW5kbGVyOl57Ci0gICAgICAgICAgICBSRUxF
QVNFX0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lvbiwgIkJhY2tncm91bmQgdGFzayBleHBpcmVk
IHdoaWxlIGhvbGRpbmcgV2ViS2l0IFByb2Nlc3NBc3NlcnRpb24gKGlzTWFpblRocmVhZD8gJWQp
LiIsIFJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICAgICAgICAgIGlmICghX2FwcGxpY2F0aW9uSXNC
YWNrZ3JvdW5kZWQpIHsKLSAgICAgICAgICAgICAgICAvLyBXZSd2ZSByZWNlaXZlZCB0aGUgaW52
YWxpZGF0aW9uIHdhcm5pbmcgYWZ0ZXIgdGhlIGFwcCBoYXMgYmVjb21lIGZvcmVncm91bmQgYWdh
aW4uIEluIHRoaXMgY2FzZSwgd2Ugc2hvdWxkIG5vdAotICAgICAgICAgICAgICAgIC8vIHdhcm4g
Y2xpZW50cyBvZiBpbW1pbmVudCBzdXNwZW5zaW9uLiBUbyBiZSBzYWZlIChhdm9pZCBwb3RlbnRp
YWwga2lsbGluZyksIHdlIGVuZCB0aGUgdGFzayByaWdodCBhd2F5IGFuZCBjYWxsCi0gICAgICAg
ICAgICAgICAgLy8gX3VwZGF0ZUJhY2tncm91bmRUYXNrIGFzeW5jaHJvbm91c2x5IHRvIHN0YXJ0
IGEgbmV3IHRhc2sgaWYgbmVjZXNzYXJ5LgotICAgICAgICAgICAgICAgIFtzZWxmIF9yZWxlYXNl
QmFja2dyb3VuZFRhc2tdOwotICAgICAgICAgICAgICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNo
X2dldF9tYWluX3F1ZXVlKCksIF57Ci0gICAgICAgICAgICAgICAgICAgIFtzZWxmIF91cGRhdGVC
YWNrZ3JvdW5kVGFza107Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAvLyBUaGUgZXhwaXJhdGlvbiBoYW5k
bGVyIGdldHMgY2FsbGVkIG9uIGEgbm9uLW1haW4gdGhyZWFkIHdoZW4gdGhlIHVuZGVybHlpbmcg
YXNzZXJ0aW9uIGNvdWxkIG5vdCBiZSB0YWtlbiAocmRhcjovL3Byb2JsZW0vMjcyNzg0MTkpLgot
ICAgICAgICAgICAgaWYgKFJ1bkxvb3A6OmlzTWFpbigpKQotICAgICAgICAgICAgICAgIFtzZWxm
IF9ub3RpZnlBc3NlcnRpb25zT2ZJbW1pbmVudFN1c3BlbnNpb25dOwotICAgICAgICAgICAgZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgZGlzcGF0Y2hfc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1
ZSgpLCBeewotICAgICAgICAgICAgICAgICAgICBbc2VsZiBfbm90aWZ5QXNzZXJ0aW9uc09mSW1t
aW5lbnRTdXNwZW5zaW9uXTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgW3NlbGYgX3NjaGVkdWxlUmVsZWFzZVRhc2tdOworICAgICAgICAgICAgW3Nl
bGYgX2hhbmRsZUJhY2tncm91bmRUYXNrRXhwaXJhdGlvbl07CiAgICAgICAgIH1dOworI2VuZGlm
CiAgICAgfSBlbHNlIGlmIChfYXNzZXJ0aW9uc05lZWRpbmdCYWNrZ3JvdW5kVGFzay5jb21wdXRl
c0VtcHR5KCkpCiAgICAgICAgIFtzZWxmIF9yZWxlYXNlQmFja2dyb3VuZFRhc2tdOwogfQogCisj
aWYgSEFWRShSVU5OSU5HQk9BUkRfV0VCS0lUX0FTU0VSVElPTlMpCistICh2b2lkKWFzc2VydGlv
bldpbGxJbnZhbGlkYXRlOihSQlNBc3NlcnRpb24gKilhc3NlcnRpb24KK3sKKyAgICBBU1NFUlQo
YXNzZXJ0aW9uID09IF9iYWNrZ3JvdW5kVGFzay5nZXQoKSk7CisgICAgW3NlbGYgX2hhbmRsZUJh
Y2tncm91bmRUYXNrRXhwaXJhdGlvbl07Cit9CisKKy0gKHZvaWQpYXNzZXJ0aW9uOihSQlNBc3Nl
cnRpb24gKilhc3NlcnRpb24gZGlkSW52YWxpZGF0ZVdpdGhFcnJvcjooTlNFcnJvciAqKWVycm9y
Cit7CisgICAgQVNTRVJUKGFzc2VydGlvbiA9PSBfYmFja2dyb3VuZFRhc2suZ2V0KCkpOworICAg
IFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiV0tQcm9jZXNzQXNzZXJ0aW9u
QmFja2dyb3VuZFRhc2tNYW5hZ2VyOiBGaW5pc2hUYXNrSW50ZXJydXB0YWJsZSBhc3NlcnRpb24g
d2FzIGludmFsaWRhdGVkLCBlcnJvcjogJXtwdWJsaWN9QCIsIGVycm9yKTsKK30KKyNlbmRpZgor
CistICh2b2lkKV9oYW5kbGVCYWNrZ3JvdW5kVGFza0V4cGlyYXRpb24KK3sKKyAgICBSRUxFQVNF
X0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIldLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNr
TWFuYWdlcjogQmFja2dyb3VuZCB0YXNrIGV4cGlyZWQgd2hpbGUgaG9sZGluZyBXZWJLaXQgUHJv
Y2Vzc0Fzc2VydGlvbiAoaXNNYWluVGhyZWFkPyAlZCkuIiwgUnVuTG9vcDo6aXNNYWluKCkpOwor
ICAgIGlmICghX2FwcGxpY2F0aW9uSXNCYWNrZ3JvdW5kZWQpIHsKKyAgICAgICAgLy8gV2UndmUg
cmVjZWl2ZWQgdGhlIGludmFsaWRhdGlvbiB3YXJuaW5nIGFmdGVyIHRoZSBhcHAgaGFzIGJlY29t
ZSBmb3JlZ3JvdW5kIGFnYWluLiBJbiB0aGlzIGNhc2UsIHdlIHNob3VsZCBub3QKKyAgICAgICAg
Ly8gd2FybiBjbGllbnRzIG9mIGltbWluZW50IHN1c3BlbnNpb24uIFRvIGJlIHNhZmUgKGF2b2lk
IHBvdGVudGlhbCBraWxsaW5nKSwgd2UgZW5kIHRoZSB0YXNrIHJpZ2h0IGF3YXkgYW5kIGNhbGwK
KyAgICAgICAgLy8gX3VwZGF0ZUJhY2tncm91bmRUYXNrIGFzeW5jaHJvbm91c2x5IHRvIHN0YXJ0
IGEgbmV3IHRhc2sgaWYgbmVjZXNzYXJ5LgorICAgICAgICBbc2VsZiBfcmVsZWFzZUJhY2tncm91
bmRUYXNrXTsKKyAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUo
KSwgXnsKKyAgICAgICAgICAgIFtzZWxmIF91cGRhdGVCYWNrZ3JvdW5kVGFza107CisgICAgICAg
IH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gVGhlIGV4cGlyYXRpb24gaGFu
ZGxlciBnZXRzIGNhbGxlZCBvbiBhIG5vbi1tYWluIHRocmVhZCB3aGVuIHRoZSB1bmRlcmx5aW5n
IGFzc2VydGlvbiBjb3VsZCBub3QgYmUgdGFrZW4gKHJkYXI6Ly9wcm9ibGVtLzI3Mjc4NDE5KS4K
KyAgICBpZiAoUnVuTG9vcDo6aXNNYWluKCkpCisgICAgICAgIFtzZWxmIF9ub3RpZnlBc3NlcnRp
b25zT2ZJbW1pbmVudFN1c3BlbnNpb25dOworICAgIGVsc2UgeworICAgICAgICBkaXNwYXRjaF9z
eW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57CisgICAgICAgICAgICBbc2VsZiBfbm90
aWZ5QXNzZXJ0aW9uc09mSW1taW5lbnRTdXNwZW5zaW9uXTsKKyAgICAgICAgfSk7CisgICAgfQor
CisgICAgW3NlbGYgX3NjaGVkdWxlUmVsZWFzZVRhc2tdOworfQorCiAtICh2b2lkKV9yZWxlYXNl
QmFja2dyb3VuZFRhc2sKIHsKLSAgICBpZiAoX2JhY2tncm91bmRUYXNrID09IFVJQmFja2dyb3Vu
ZFRhc2tJbnZhbGlkKQorICAgIGlmICghW3NlbGYgX2hhc0JhY2tncm91bmRUYXNrXSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdL
UHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlciAtIGVuZEJhY2tncm91bmRUYXNr
Iiwgc2VsZik7CisgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdLUHJv
Y2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlcjogZW5kQmFja2dyb3VuZFRhc2siLCBz
ZWxmKTsKICAgICBpZiAoX2FwcGxpY2F0aW9uSXNCYWNrZ3JvdW5kZWQpCiAgICAgICAgIFdlYktp
dDo6V2ViUHJvY2Vzc1Bvb2w6Om5vdGlmeVByb2Nlc3NQb29sc0FwcGxpY2F0aW9uSXNBYm91dFRv
U3VzcGVuZCgpOworCisjaWYgSEFWRShSVU5OSU5HQk9BUkRfV0VCS0lUX0FTU0VSVElPTlMpCisg
ICAgW19iYWNrZ3JvdW5kVGFzayByZW1vdmVPYnNlcnZlcjpzZWxmXTsKKyAgICBbX2JhY2tncm91
bmRUYXNrIGludmFsaWRhdGVdOworICAgIF9iYWNrZ3JvdW5kVGFzayA9IG51bGxwdHI7CisjZWxz
ZQogICAgIFtbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gZW5kQmFja2dyb3VuZFRh
c2s6X2JhY2tncm91bmRUYXNrXTsKICAgICBfYmFja2dyb3VuZFRhc2sgPSBVSUJhY2tncm91bmRU
YXNrSW52YWxpZDsKKyNlbmRpZgogfQogCiBAZW5kCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395095</attachid>
            <date>2020-03-31 14:57:24 -0700</date>
            <delta_ts>2020-03-31 15:25:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209825-20200331145723.patch</filename>
            <type>text/plain</type>
            <size>13061</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5Mjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBlNDQwMDdjNjQxZGExY2E0ZTUwY2Rk
ZTgzOWNhN2M0ZWI2ZWE5MjMuLmNiODFkZDc5YTEwNjI2NjQwMzU4ODA2MzAxNzJlNDdmMTg2NjIw
NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDMtMzEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZXBsYWNlIFVJS2l0IGJhY2tncm91bmQgdGFz
ayB3aXRoIGEgUnVubmluZ0JvYXJkIEZpbmlzaFRhc2tJbnRlcnJ1cHRhYmxlIGFzc2VydGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5ODI1Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MTExODUwMz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYnVpbGQtdGltZSBmbGFnIGZvciBXZWJLaXQt
c3BlY2lmaWMgYXNzZXJ0aW9uIGluIFJ1bm5pbmdCb2FyZC4KKworICAgICAgICAqIHd0Zi9QbGF0
Zm9ybUhhdmUuaDoKKwogMjAyMC0wMy0zMCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIEZpeCAiRGVhZCBuZXN0ZWQgYXNzaWdubWVudCIgc3RhdGljIGFuYWx5
emVyIHdhcm5pbmcgaW4gbW9udGhGcm9tRGF5SW5ZZWFyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNWZlOWVhZjM0
OTQ4YWZmN2VjMDVhMmNlOGNjMzhmNWNmNjFkNGNkYy4uM2ViZmM4N2U0YzMyZmM1OGZjODY0N2Jm
MDdkMWRlNDcwZDhkODFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAyMC0wMy0zMSAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFJlcGxhY2Ug
VUlLaXQgYmFja2dyb3VuZCB0YXNrIHdpdGggYSBSdW5uaW5nQm9hcmQgRmluaXNoVGFza0ludGVy
cnVwdGFibGUgYXNzZXJ0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDk4MjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYxMTE4NTAzPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxhY2UgVUlL
aXQgYmFja2dyb3VuZCB0YXNrIHdpdGggYSBSdW5uaW5nQm9hcmQgRmluaXNoVGFza0ludGVycnVw
dGFibGUgYXNzZXJ0aW9uIG9uIGlPUy4KKyAgICAgICAgT3VyIFVJUHJvY2VzcyBnZXRzIHRlcm1p
bmF0ZWQgdG9vIGZyZXF1ZW50bHkgd2hlbiB0aGUgVUlLaXQgYmFja2dyb3VuZCB0YXNrIGV4cGly
ZXMgd2hlbgorICAgICAgICB0aGUgVUlQcm9jZXNzIGhvbGRzIGl0IGZvciBsb25nZXIgdGhhbiAz
MCBzZWNvbmRzIGluIHRoZSBiYWNrZ3JvdW5kLiBUaGUgUnVubmluZ0JvYXJkCisgICAgICAgIEZp
bmlzaFRhc2tJbnRlcnJ1cHRhYmxlIGFzc2VydGlvbiBpcyBzdXBwb3NlZCB0byBiZSBlcXVpdmFs
ZW50IGJ1dCB3b3VsZCBjYXVzZSBzdXNwZW5zaW9uCisgICAgICAgIG9mIG91ciBVSVByb2Nlc3Mg
b24gZXhwaXJhdGlvbiwgaW5zdGVhZCBvZiB0ZXJtaW5hdGlvbi4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbToKKyAgICAgICAgKC1bV0tQcm9jZXNzQXNz
ZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIGluaXRdKToKKyAgICAgICAgKC1bV0tQcm9jZXNz
QXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIF9zY2hlZHVsZVJlbGVhc2VUYXNrXSk6Cisg
ICAgICAgICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlciBfY2FuY2Vs
UGVuZGluZ1JlbGVhc2VUYXNrXSk6CisgICAgICAgICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tn
cm91bmRUYXNrTWFuYWdlciBfaGFzQmFja2dyb3VuZFRhc2tdKToKKyAgICAgICAgKC1bV0tQcm9j
ZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIF91cGRhdGVCYWNrZ3JvdW5kVGFza10p
OgorICAgICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgYXNz
ZXJ0aW9uV2lsbEludmFsaWRhdGU6XSk6CisgICAgICAgICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJh
Y2tncm91bmRUYXNrTWFuYWdlciBhc3NlcnRpb246ZGlkSW52YWxpZGF0ZVdpdGhFcnJvcjpdKToK
KyAgICAgICAgKC1bV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIF9oYW5k
bGVCYWNrZ3JvdW5kVGFza0V4cGlyYXRpb25dKToKKyAgICAgICAgKC1bV0tQcm9jZXNzQXNzZXJ0
aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIF9yZWxlYXNlQmFja2dyb3VuZFRhc2tdKToKKwogMjAy
MC0wMy0zMSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
U2lsZW5jZSBwcmVmZXJlbmNlIHdyaXRlIHNhbmRib3ggdmlvbGF0aW9ucyBpbiB0aGUgV2ViQ29u
dGVudCBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBi
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDM3YjJmMTZmN2U4YmI0YTE0OWE5
ZDExMzRjM2I1Mzc4NDkyMDk1N2EuLjkzMDUzMDkwMjBkZmVjZDZiZjk5YTU1ZTU2NjVkOTQ2YWM2
Njk2ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC00NTYsNiArNDU2LDEwIEBACiAjZGVmaW5l
IEhBVkVfQ0ZORVRXT1JLX0FMVEVSTkFUSVZFX1NFUlZJQ0UgMQogI2VuZGlmCiAKKyNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
NDAwMDAKKyNkZWZpbmUgSEFWRV9SVU5OSU5HQk9BUkRfV0VCS0lUX0FTU0VSVElPTlMgMQorI2Vu
ZGlmCisKICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxNTAwCiAjZGVmaW5lIEhBVkVfQ1NDSEVDS0ZJWERJU0FCTEUgMQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2Vy
dmljZXNTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRT
ZXJ2aWNlc1NQSS5oCmluZGV4IDk3ZTBjYjFjZDc5M2MwMjUwN2M5NjhiZjRkZTE0MmFmNjdmNmYx
NjcuLjA1YTM1ZGEzNDAyOTMwNWIxMDBjM2IyMmIyOTY0MmFiZjM1M2UxYmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNl
c1NQSS5oCkBAIC00OCw0ICs0OCw5IEBACiAtICh2b2lkKWludmFsaWRhdGU7CiBAZW5kCiAKK0Bw
cm90b2NvbCBSQlNBc3NlcnRpb25PYnNlcnZpbmcgPE5TT2JqZWN0PgorLSAodm9pZClhc3NlcnRp
b25XaWxsSW52YWxpZGF0ZTooUkJTQXNzZXJ0aW9uICopYXNzZXJ0aW9uOworLSAodm9pZClhc3Nl
cnRpb246KFJCU0Fzc2VydGlvbiAqKWFzc2VydGlvbiBkaWRJbnZhbGlkYXRlV2l0aEVycm9yOihO
U0Vycm9yICopZXJyb3I7CitAZW5kCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbQppbmRleCAzMWMxMDk3MzNhMDI2MGE3
ZjMxMWM1ODE5ODhiMTc3Y2I4ODU5YzhkLi5jNWI5ZjQ3MWIzYzRkYzZlNWM3Y2Q4ZTRmOGRiMDk2
ZGVhMzdmMmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vz
c0Fzc2VydGlvbklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vz
c0Fzc2VydGlvbklPUy5tbQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW1wb3J0ICJBc3NlcnRpb25T
ZXJ2aWNlc1NQSS5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgorI2ltcG9ydCAiUnVubmluZ0JvYXJk
U2VydmljZXNTUEkuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQb29sLmgiCiAjaW1wb3J0IDxVSUtp
dC9VSUFwcGxpY2F0aW9uLmg+CiAjaW1wb3J0IDx3dGYvSGFzaE1hcC5oPgpAQCAtNDQsNyArNDUs
NyBAQCB1c2luZyBXZWJLaXQ6OlByb2Nlc3NBbmRVSUFzc2VydGlvbjsKIC8vIG9uIHRoZSBleHBp
cmF0aW9uIGhhbmRsZXIgZ2V0dGluZyBjYWxsZWQpLgogc3RhdGljIGNvbnN0IFNlY29uZHMgcmVs
ZWFzZUJhY2tncm91bmRUYXNrQWZ0ZXJFeHBpcmF0aW9uRGVsYXkgeyAyX3MgfTsKIAotQGludGVy
ZmFjZSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgOiBOU09iamVjdAor
QGludGVyZmFjZSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgOiBOU09i
amVjdCA8UkJTQXNzZXJ0aW9uT2JzZXJ2aW5nPgogCiArIChXS1Byb2Nlc3NBc3NlcnRpb25CYWNr
Z3JvdW5kVGFza01hbmFnZXIgKilzaGFyZWQ7CiAKQEAgLTU1LDcgKzU2LDEyIEBAIEBlbmQKIAog
QGltcGxlbWVudGF0aW9uIFdLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlcgog
eworI2lmIEhBVkUoUlVOTklOR0JPQVJEX1dFQktJVF9BU1NFUlRJT05TKQorICAgIFJldGFpblB0
cjxSQlNBc3NlcnRpb24+IF9iYWNrZ3JvdW5kVGFzazsKKyNlbHNlCiAgICAgVUlCYWNrZ3JvdW5k
VGFza0lkZW50aWZpZXIgX2JhY2tncm91bmRUYXNrOworI2VuZGlmCisKICAgICBXZWFrSGFzaFNl
dDxQcm9jZXNzQW5kVUlBc3NlcnRpb24+IF9hc3NlcnRpb25zTmVlZGluZ0JhY2tncm91bmRUYXNr
OwogICAgIEJPT0wgX2FwcGxpY2F0aW9uSXNCYWNrZ3JvdW5kZWQ7CiAgICAgZGlzcGF0Y2hfYmxv
Y2tfdCBfcGVuZGluZ1Rhc2tSZWxlYXNlVGFzazsKQEAgLTczLDcgKzc5LDkgQEAgLSAoaW5zdGFu
Y2V0eXBlKWluaXQKICAgICBpZiAoIXNlbGYpCiAgICAgICAgIHJldHVybiBuaWw7CiAKKyNpZiAh
SEFWRShSVU5OSU5HQk9BUkRfV0VCS0lUX0FTU0VSVElPTlMpCiAgICAgX2JhY2tncm91bmRUYXNr
ID0gVUlCYWNrZ3JvdW5kVGFza0ludmFsaWQ7CisjZW5kaWYKIAogICAgIFtbTlNOb3RpZmljYXRp
b25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOlVJQXBwbGljYXRpb25X
aWxsRW50ZXJGb3JlZ3JvdW5kTm90aWZpY2F0aW9uIG9iamVjdDpbVUlBcHBsaWNhdGlvbiBzaGFy
ZWRBcHBsaWNhdGlvbl0gcXVldWU6bmlsIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqKSB7
CiAgICAgICAgIF9hcHBsaWNhdGlvbklzQmFja2dyb3VuZGVkID0gTk87CkBAIC04NCw3ICs5Miw3
IEBAIC0gKGluc3RhbmNldHlwZSlpbml0CiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZh
dWx0Q2VudGVyXSBhZGRPYnNlcnZlckZvck5hbWU6VUlBcHBsaWNhdGlvbkRpZEVudGVyQmFja2dy
b3VuZE5vdGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25d
IHF1ZXVlOm5pbCB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKikgewogICAgICAgICBfYXBw
bGljYXRpb25Jc0JhY2tncm91bmRlZCA9IFlFUzsKICAgICAgICAgCi0gICAgICAgIGlmIChfYmFj
a2dyb3VuZFRhc2sgPT0gVUlCYWNrZ3JvdW5kVGFza0ludmFsaWQpCisgICAgICAgIGlmICghW3Nl
bGYgX2hhc0JhY2tncm91bmRUYXNrXSkKICAgICAgICAgICAgIFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6Om5vdGlmeVByb2Nlc3NQb29sc0FwcGxpY2F0aW9uSXNBYm91dFRvU3VzcGVuZCgpOwogICAg
IH1dOwogCkBAIC0xMzIsNyArMTQwLDcgQEAgLSAodm9pZClfc2NoZWR1bGVSZWxlYXNlVGFzawog
ICAgIGlmIChfcGVuZGluZ1Rhc2tSZWxlYXNlVGFzaykKICAgICAgICAgcmV0dXJuOwogCi0gICAg
UkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdLUHJvY2Vzc0Fzc2VydGlvbkJh
Y2tncm91bmRUYXNrTWFuYWdlciAtIF9zY2hlZHVsZVJlbGVhc2VUYXNrIGJlY2F1c2UgdGhlIGV4
cGlyYXRpb24gaGFuZGxlciBoYXMgYmVlbiBjYWxsZWQiLCBzZWxmKTsKKyAgICBSRUxFQVNFX0xP
RyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRh
c2tNYW5hZ2VyOiBfc2NoZWR1bGVSZWxlYXNlVGFzayBiZWNhdXNlIHRoZSBleHBpcmF0aW9uIGhh
bmRsZXIgaGFzIGJlZW4gY2FsbGVkIiwgc2VsZik7CiAgICAgX3BlbmRpbmdUYXNrUmVsZWFzZVRh
c2sgPSBkaXNwYXRjaF9ibG9ja19jcmVhdGUoKGRpc3BhdGNoX2Jsb2NrX2ZsYWdzX3QpMCwgXnsK
ICAgICAgICAgX3BlbmRpbmdUYXNrUmVsZWFzZVRhc2sgPSBuaWw7CiAgICAgICAgIFtzZWxmIF9y
ZWxlYXNlQmFja2dyb3VuZFRhc2tdOwpAQCAtMTQ5LDU3ICsxNTcsMTA1IEBAIC0gKHZvaWQpX2Nh
bmNlbFBlbmRpbmdSZWxlYXNlVGFzawogICAgIGlmICghX3BlbmRpbmdUYXNrUmVsZWFzZVRhc2sp
CiAgICAgICAgIHJldHVybjsKIAotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAi
JXAgLSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgLSBfY2FuY2VsUGVu
ZGluZ1JlbGVhc2VUYXNrIGJlY2F1c2UgdGhlIGFwcGxpY2F0aW9uIGlzIGZvcmVncm91bmQgYWdh
aW4iLCBzZWxmKTsKKyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV0tQ
cm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyOiBfY2FuY2VsUGVuZGluZ1JlbGVh
c2VUYXNrIGJlY2F1c2UgdGhlIGFwcGxpY2F0aW9uIGlzIGZvcmVncm91bmQgYWdhaW4iLCBzZWxm
KTsKICAgICBkaXNwYXRjaF9ibG9ja19jYW5jZWwoX3BlbmRpbmdUYXNrUmVsZWFzZVRhc2spOwog
ICAgIF9wZW5kaW5nVGFza1JlbGVhc2VUYXNrID0gbmlsOwogfQogCistIChCT09MKV9oYXNCYWNr
Z3JvdW5kVGFzaworeworI2lmIEhBVkUoUlVOTklOR0JPQVJEX1dFQktJVF9BU1NFUlRJT05TKQor
ICAgIHJldHVybiAhIV9iYWNrZ3JvdW5kVGFzazsKKyNlbHNlCisgICAgcmV0dXJuIF9iYWNrZ3Jv
dW5kVGFzayAhPSBVSUJhY2tncm91bmRUYXNrSW52YWxpZDsKKyNlbmRpZgorfQorCiAtICh2b2lk
KV91cGRhdGVCYWNrZ3JvdW5kVGFzawogewotICAgIGlmICghX2Fzc2VydGlvbnNOZWVkaW5nQmFj
a2dyb3VuZFRhc2suY29tcHV0ZXNFbXB0eSgpICYmIF9iYWNrZ3JvdW5kVGFzayA9PSBVSUJhY2tn
cm91bmRUYXNrSW52YWxpZCkgeworICAgIGlmICghX2Fzc2VydGlvbnNOZWVkaW5nQmFja2dyb3Vu
ZFRhc2suY29tcHV0ZXNFbXB0eSgpICYmICFbc2VsZiBfaGFzQmFja2dyb3VuZFRhc2tdKSB7CiAg
ICAgICAgIGlmIChfYXBwbGljYXRpb25Jc0JhY2tncm91bmRlZCkgewogICAgICAgICAgICAgUkVM
RUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdLUHJvY2Vzc0Fzc2VydGlv
bkJhY2tncm91bmRUYXNrTWFuYWdlcjogSWdub3JlZCByZXF1ZXN0IHRvIHN0YXJ0IGEgbmV3IGJh
Y2tncm91bmQgdGFzayBiZWNhdXNlIHRoZSBhcHBsaWNhdGlvbiBpcyBhbHJlYWR5IGluIHRoZSBi
YWNrZ3JvdW5kIiwgc2VsZik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAg
ICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdLUHJvY2Vzc0Fzc2VydGlv
bkJhY2tncm91bmRUYXNrTWFuYWdlciAtIGJlZ2luQmFja2dyb3VuZFRhc2tXaXRoTmFtZSIsIHNl
bGYpOworICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV0tQcm9j
ZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyOiBiZWdpbkJhY2tncm91bmRUYXNrV2l0
aE5hbWUiLCBzZWxmKTsKKyNpZiBIQVZFKFJVTk5JTkdCT0FSRF9XRUJLSVRfQVNTRVJUSU9OUykK
KyAgICAgICAgUkJTVGFyZ2V0ICp0YXJnZXQgPSBbUkJTVGFyZ2V0IGN1cnJlbnRQcm9jZXNzXTsK
KyAgICAgICAgUkJTRG9tYWluQXR0cmlidXRlICpkb21haW5BdHRyaWJ1dGUgPSBbUkJTRG9tYWlu
QXR0cmlidXRlIGF0dHJpYnV0ZVdpdGhEb21haW46QCJjb20uYXBwbGUuY29tbW9uIiBuYW1lOkAi
RmluaXNoVGFza0ludGVycnVwdGFibGUiXTsKKyAgICAgICAgX2JhY2tncm91bmRUYXNrID0gYWRv
cHROUyhbW1JCU0Fzc2VydGlvbiBhbGxvY10gaW5pdFdpdGhFeHBsYW5hdGlvbjpAIldlYktpdCBV
SVByb2Nlc3MgYmFja2dyb3VuZCB0YXNrIiB0YXJnZXQ6dGFyZ2V0IGF0dHJpYnV0ZXM6QFtkb21h
aW5BdHRyaWJ1dGVdXSk7CisgICAgICAgIFtfYmFja2dyb3VuZFRhc2sgYWRkT2JzZXJ2ZXI6c2Vs
Zl07CisKKyAgICAgICAgTlNFcnJvciAqYWNxdWlzaXRpb25FcnJvciA9IG5pbDsKKyAgICAgICAg
aWYgKCFbX2JhY2tncm91bmRUYXNrIGFjcXVpcmVXaXRoRXJyb3I6JmFjcXVpc2l0aW9uRXJyb3Jd
KQorICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICJXS1By
b2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXI6IEZhaWxlZCB0byBhY3F1aXJlIEZp
bmlzaFRhc2tJbnRlcnJ1cHRhYmxlIGFzc2VydGlvbiBmb3Igb3duIHByb2Nlc3MsIGVycm9yOiAl
e3B1YmxpY31AIiwgYWNxdWlzaXRpb25FcnJvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dy
b3VuZFRhc2tNYW5hZ2VyOiBTdWNjZXNzZnVsbHkgdG9vayBhIEZpbmlzaFRhc2tJbnRlcnJ1cHRh
YmxlIGFzc2VydGlvbiBmb3Igb3duIHByb2Nlc3MiKTsKKyNlbHNlCiAgICAgICAgIF9iYWNrZ3Jv
dW5kVGFzayA9IFtbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gYmVnaW5CYWNrZ3Jv
dW5kVGFza1dpdGhOYW1lOkAiY29tLmFwcGxlLldlYktpdC5Qcm9jZXNzQXNzZXJ0aW9uIiBleHBp
cmF0aW9uSGFuZGxlcjpeewotICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1
c3BlbnNpb24sICJCYWNrZ3JvdW5kIHRhc2sgZXhwaXJlZCB3aGlsZSBob2xkaW5nIFdlYktpdCBQ
cm9jZXNzQXNzZXJ0aW9uIChpc01haW5UaHJlYWQ/ICVkKS4iLCBSdW5Mb29wOjppc01haW4oKSk7
Ci0gICAgICAgICAgICBpZiAoIV9hcHBsaWNhdGlvbklzQmFja2dyb3VuZGVkKSB7Ci0gICAgICAg
ICAgICAgICAgLy8gV2UndmUgcmVjZWl2ZWQgdGhlIGludmFsaWRhdGlvbiB3YXJuaW5nIGFmdGVy
IHRoZSBhcHAgaGFzIGJlY29tZSBmb3JlZ3JvdW5kIGFnYWluLiBJbiB0aGlzIGNhc2UsIHdlIHNo
b3VsZCBub3QKLSAgICAgICAgICAgICAgICAvLyB3YXJuIGNsaWVudHMgb2YgaW1taW5lbnQgc3Vz
cGVuc2lvbi4gVG8gYmUgc2FmZSAoYXZvaWQgcG90ZW50aWFsIGtpbGxpbmcpLCB3ZSBlbmQgdGhl
IHRhc2sgcmlnaHQgYXdheSBhbmQgY2FsbAotICAgICAgICAgICAgICAgIC8vIF91cGRhdGVCYWNr
Z3JvdW5kVGFzayBhc3luY2hyb25vdXNseSB0byBzdGFydCBhIG5ldyB0YXNrIGlmIG5lY2Vzc2Fy
eS4KLSAgICAgICAgICAgICAgICBbc2VsZiBfcmVsZWFzZUJhY2tncm91bmRUYXNrXTsKLSAgICAg
ICAgICAgICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeewot
ICAgICAgICAgICAgICAgICAgICBbc2VsZiBfdXBkYXRlQmFja2dyb3VuZFRhc2tdOwotICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgLy8gVGhlIGV4cGlyYXRpb24gaGFuZGxlciBnZXRzIGNhbGxlZCBvbiBhIG5v
bi1tYWluIHRocmVhZCB3aGVuIHRoZSB1bmRlcmx5aW5nIGFzc2VydGlvbiBjb3VsZCBub3QgYmUg
dGFrZW4gKHJkYXI6Ly9wcm9ibGVtLzI3Mjc4NDE5KS4KLSAgICAgICAgICAgIGlmIChSdW5Mb29w
Ojppc01haW4oKSkKLSAgICAgICAgICAgICAgICBbc2VsZiBfbm90aWZ5QXNzZXJ0aW9uc09mSW1t
aW5lbnRTdXNwZW5zaW9uXTsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIGRp
c3BhdGNoX3N5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsKLSAgICAgICAgICAgICAg
ICAgICAgW3NlbGYgX25vdGlmeUFzc2VydGlvbnNPZkltbWluZW50U3VzcGVuc2lvbl07Ci0gICAg
ICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIFtzZWxmIF9zY2hl
ZHVsZVJlbGVhc2VUYXNrXTsKKyAgICAgICAgICAgIFtzZWxmIF9oYW5kbGVCYWNrZ3JvdW5kVGFz
a0V4cGlyYXRpb25dOwogICAgICAgICB9XTsKKyNlbmRpZgogICAgIH0gZWxzZSBpZiAoX2Fzc2Vy
dGlvbnNOZWVkaW5nQmFja2dyb3VuZFRhc2suY29tcHV0ZXNFbXB0eSgpKQogICAgICAgICBbc2Vs
ZiBfcmVsZWFzZUJhY2tncm91bmRUYXNrXTsKIH0KIAorI2lmIEhBVkUoUlVOTklOR0JPQVJEX1dF
QktJVF9BU1NFUlRJT05TKQorLSAodm9pZClhc3NlcnRpb25XaWxsSW52YWxpZGF0ZTooUkJTQXNz
ZXJ0aW9uICopYXNzZXJ0aW9uCit7CisgICAgQVNTRVJUKGFzc2VydGlvbiA9PSBfYmFja2dyb3Vu
ZFRhc2suZ2V0KCkpOworICAgIFtzZWxmIF9oYW5kbGVCYWNrZ3JvdW5kVGFza0V4cGlyYXRpb25d
OworfQorCistICh2b2lkKWFzc2VydGlvbjooUkJTQXNzZXJ0aW9uICopYXNzZXJ0aW9uIGRpZElu
dmFsaWRhdGVXaXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcgoreworICAgIEFTU0VSVChhc3NlcnRp
b24gPT0gX2JhY2tncm91bmRUYXNrLmdldCgpKTsKKyAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9j
ZXNzU3VzcGVuc2lvbiwgIldLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlcjog
RmluaXNoVGFza0ludGVycnVwdGFibGUgYXNzZXJ0aW9uIHdhcyBpbnZhbGlkYXRlZCwgZXJyb3I6
ICV7cHVibGljfUAiLCBlcnJvcik7Cit9CisjZW5kaWYKKworLSAodm9pZClfaGFuZGxlQmFja2dy
b3VuZFRhc2tFeHBpcmF0aW9uCit7CisgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24s
ICJXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXI6IEJhY2tncm91bmQgdGFz
ayBleHBpcmVkIHdoaWxlIGhvbGRpbmcgV2ViS2l0IFByb2Nlc3NBc3NlcnRpb24gKGlzTWFpblRo
cmVhZD8gJWQpLiIsIFJ1bkxvb3A6OmlzTWFpbigpKTsKKyAgICBpZiAoIV9hcHBsaWNhdGlvbklz
QmFja2dyb3VuZGVkKSB7CisgICAgICAgIC8vIFdlJ3ZlIHJlY2VpdmVkIHRoZSBpbnZhbGlkYXRp
b24gd2FybmluZyBhZnRlciB0aGUgYXBwIGhhcyBiZWNvbWUgZm9yZWdyb3VuZCBhZ2Fpbi4gSW4g
dGhpcyBjYXNlLCB3ZSBzaG91bGQgbm90CisgICAgICAgIC8vIHdhcm4gY2xpZW50cyBvZiBpbW1p
bmVudCBzdXNwZW5zaW9uLiBUbyBiZSBzYWZlIChhdm9pZCBwb3RlbnRpYWwga2lsbGluZyksIHdl
IGVuZCB0aGUgdGFzayByaWdodCBhd2F5IGFuZCBjYWxsCisgICAgICAgIC8vIF91cGRhdGVCYWNr
Z3JvdW5kVGFzayBhc3luY2hyb25vdXNseSB0byBzdGFydCBhIG5ldyB0YXNrIGlmIG5lY2Vzc2Fy
eS4KKyAgICAgICAgW3NlbGYgX3JlbGVhc2VCYWNrZ3JvdW5kVGFza107CisgICAgICAgIGRpc3Bh
dGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57CisgICAgICAgICAgICBbc2Vs
ZiBfdXBkYXRlQmFja2dyb3VuZFRhc2tdOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIC8vIFRoZSBleHBpcmF0aW9uIGhhbmRsZXIgZ2V0cyBjYWxsZWQgb24gYSBu
b24tbWFpbiB0aHJlYWQgd2hlbiB0aGUgdW5kZXJseWluZyBhc3NlcnRpb24gY291bGQgbm90IGJl
IHRha2VuIChyZGFyOi8vcHJvYmxlbS8yNzI3ODQxOSkuCisgICAgaWYgKFJ1bkxvb3A6OmlzTWFp
bigpKQorICAgICAgICBbc2VsZiBfbm90aWZ5QXNzZXJ0aW9uc09mSW1taW5lbnRTdXNwZW5zaW9u
XTsKKyAgICBlbHNlIHsKKyAgICAgICAgZGlzcGF0Y2hfc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9x
dWV1ZSgpLCBeeworICAgICAgICAgICAgW3NlbGYgX25vdGlmeUFzc2VydGlvbnNPZkltbWluZW50
U3VzcGVuc2lvbl07CisgICAgICAgIH0pOworICAgIH0KKworICAgIFtzZWxmIF9zY2hlZHVsZVJl
bGVhc2VUYXNrXTsKK30KKwogLSAodm9pZClfcmVsZWFzZUJhY2tncm91bmRUYXNrCiB7Ci0gICAg
aWYgKF9iYWNrZ3JvdW5kVGFzayA9PSBVSUJhY2tncm91bmRUYXNrSW52YWxpZCkKKyAgICBpZiAo
IVtzZWxmIF9oYXNCYWNrZ3JvdW5kVGFza10pCiAgICAgICAgIHJldHVybjsKIAotICAgIFJFTEVB
U0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3Jv
dW5kVGFza01hbmFnZXIgLSBlbmRCYWNrZ3JvdW5kVGFzayIsIHNlbGYpOworICAgIFJFTEVBU0Vf
TE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5k
VGFza01hbmFnZXI6IGVuZEJhY2tncm91bmRUYXNrIiwgc2VsZik7CiAgICAgaWYgKF9hcHBsaWNh
dGlvbklzQmFja2dyb3VuZGVkKQogICAgICAgICBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpub3Rp
ZnlQcm9jZXNzUG9vbHNBcHBsaWNhdGlvbklzQWJvdXRUb1N1c3BlbmQoKTsKKworI2lmIEhBVkUo
UlVOTklOR0JPQVJEX1dFQktJVF9BU1NFUlRJT05TKQorICAgIFtfYmFja2dyb3VuZFRhc2sgcmVt
b3ZlT2JzZXJ2ZXI6c2VsZl07CisgICAgW19iYWNrZ3JvdW5kVGFzayBpbnZhbGlkYXRlXTsKKyAg
ICBfYmFja2dyb3VuZFRhc2sgPSBudWxscHRyOworI2Vsc2UKICAgICBbW1VJQXBwbGljYXRpb24g
c2hhcmVkQXBwbGljYXRpb25dIGVuZEJhY2tncm91bmRUYXNrOl9iYWNrZ3JvdW5kVGFza107CiAg
ICAgX2JhY2tncm91bmRUYXNrID0gVUlCYWNrZ3JvdW5kVGFza0ludmFsaWQ7CisjZW5kaWYKIH0K
IAogQGVuZAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395098</attachid>
            <date>2020-03-31 15:25:22 -0700</date>
            <delta_ts>2020-03-31 17:15:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209825-20200331152521.patch</filename>
            <type>text/plain</type>
            <size>13140</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5Mjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBlNDQwMDdjNjQxZGExY2E0ZTUwY2Rk
ZTgzOWNhN2M0ZWI2ZWE5MjMuLmNiODFkZDc5YTEwNjI2NjQwMzU4ODA2MzAxNzJlNDdmMTg2NjIw
NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDMtMzEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZXBsYWNlIFVJS2l0IGJhY2tncm91bmQgdGFz
ayB3aXRoIGEgUnVubmluZ0JvYXJkIEZpbmlzaFRhc2tJbnRlcnJ1cHRhYmxlIGFzc2VydGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5ODI1Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MTExODUwMz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYnVpbGQtdGltZSBmbGFnIGZvciBXZWJLaXQt
c3BlY2lmaWMgYXNzZXJ0aW9uIGluIFJ1bm5pbmdCb2FyZC4KKworICAgICAgICAqIHd0Zi9QbGF0
Zm9ybUhhdmUuaDoKKwogMjAyMC0wMy0zMCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIEZpeCAiRGVhZCBuZXN0ZWQgYXNzaWdubWVudCIgc3RhdGljIGFuYWx5
emVyIHdhcm5pbmcgaW4gbW9udGhGcm9tRGF5SW5ZZWFyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNWZlOWVhZjM0
OTQ4YWZmN2VjMDVhMmNlOGNjMzhmNWNmNjFkNGNkYy4uM2ViZmM4N2U0YzMyZmM1OGZjODY0N2Jm
MDdkMWRlNDcwZDhkODFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAyMC0wMy0zMSAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFJlcGxhY2Ug
VUlLaXQgYmFja2dyb3VuZCB0YXNrIHdpdGggYSBSdW5uaW5nQm9hcmQgRmluaXNoVGFza0ludGVy
cnVwdGFibGUgYXNzZXJ0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDk4MjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYxMTE4NTAzPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxhY2UgVUlL
aXQgYmFja2dyb3VuZCB0YXNrIHdpdGggYSBSdW5uaW5nQm9hcmQgRmluaXNoVGFza0ludGVycnVw
dGFibGUgYXNzZXJ0aW9uIG9uIGlPUy4KKyAgICAgICAgT3VyIFVJUHJvY2VzcyBnZXRzIHRlcm1p
bmF0ZWQgdG9vIGZyZXF1ZW50bHkgd2hlbiB0aGUgVUlLaXQgYmFja2dyb3VuZCB0YXNrIGV4cGly
ZXMgd2hlbgorICAgICAgICB0aGUgVUlQcm9jZXNzIGhvbGRzIGl0IGZvciBsb25nZXIgdGhhbiAz
MCBzZWNvbmRzIGluIHRoZSBiYWNrZ3JvdW5kLiBUaGUgUnVubmluZ0JvYXJkCisgICAgICAgIEZp
bmlzaFRhc2tJbnRlcnJ1cHRhYmxlIGFzc2VydGlvbiBpcyBzdXBwb3NlZCB0byBiZSBlcXVpdmFs
ZW50IGJ1dCB3b3VsZCBjYXVzZSBzdXNwZW5zaW9uCisgICAgICAgIG9mIG91ciBVSVByb2Nlc3Mg
b24gZXhwaXJhdGlvbiwgaW5zdGVhZCBvZiB0ZXJtaW5hdGlvbi4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbToKKyAgICAgICAgKC1bV0tQcm9jZXNzQXNz
ZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIGluaXRdKToKKyAgICAgICAgKC1bV0tQcm9jZXNz
QXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIF9zY2hlZHVsZVJlbGVhc2VUYXNrXSk6Cisg
ICAgICAgICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlciBfY2FuY2Vs
UGVuZGluZ1JlbGVhc2VUYXNrXSk6CisgICAgICAgICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tn
cm91bmRUYXNrTWFuYWdlciBfaGFzQmFja2dyb3VuZFRhc2tdKToKKyAgICAgICAgKC1bV0tQcm9j
ZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIF91cGRhdGVCYWNrZ3JvdW5kVGFza10p
OgorICAgICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgYXNz
ZXJ0aW9uV2lsbEludmFsaWRhdGU6XSk6CisgICAgICAgICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJh
Y2tncm91bmRUYXNrTWFuYWdlciBhc3NlcnRpb246ZGlkSW52YWxpZGF0ZVdpdGhFcnJvcjpdKToK
KyAgICAgICAgKC1bV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIF9oYW5k
bGVCYWNrZ3JvdW5kVGFza0V4cGlyYXRpb25dKToKKyAgICAgICAgKC1bV0tQcm9jZXNzQXNzZXJ0
aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIF9yZWxlYXNlQmFja2dyb3VuZFRhc2tdKToKKwogMjAy
MC0wMy0zMSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
U2lsZW5jZSBwcmVmZXJlbmNlIHdyaXRlIHNhbmRib3ggdmlvbGF0aW9ucyBpbiB0aGUgV2ViQ29u
dGVudCBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBi
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDM3YjJmMTZmN2U4YmI0YTE0OWE5
ZDExMzRjM2I1Mzc4NDkyMDk1N2EuLjkzMDUzMDkwMjBkZmVjZDZiZjk5YTU1ZTU2NjVkOTQ2YWM2
Njk2ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC00NTYsNiArNDU2LDEwIEBACiAjZGVmaW5l
IEhBVkVfQ0ZORVRXT1JLX0FMVEVSTkFUSVZFX1NFUlZJQ0UgMQogI2VuZGlmCiAKKyNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
NDAwMDAKKyNkZWZpbmUgSEFWRV9SVU5OSU5HQk9BUkRfV0VCS0lUX0FTU0VSVElPTlMgMQorI2Vu
ZGlmCisKICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxNTAwCiAjZGVmaW5lIEhBVkVfQ1NDSEVDS0ZJWERJU0FCTEUgMQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2Vy
dmljZXNTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRT
ZXJ2aWNlc1NQSS5oCmluZGV4IDk3ZTBjYjFjZDc5M2MwMjUwN2M5NjhiZjRkZTE0MmFmNjdmNmYx
NjcuLjA1YTM1ZGEzNDAyOTMwNWIxMDBjM2IyMmIyOTY0MmFiZjM1M2UxYmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNl
c1NQSS5oCkBAIC00OCw0ICs0OCw5IEBACiAtICh2b2lkKWludmFsaWRhdGU7CiBAZW5kCiAKK0Bw
cm90b2NvbCBSQlNBc3NlcnRpb25PYnNlcnZpbmcgPE5TT2JqZWN0PgorLSAodm9pZClhc3NlcnRp
b25XaWxsSW52YWxpZGF0ZTooUkJTQXNzZXJ0aW9uICopYXNzZXJ0aW9uOworLSAodm9pZClhc3Nl
cnRpb246KFJCU0Fzc2VydGlvbiAqKWFzc2VydGlvbiBkaWRJbnZhbGlkYXRlV2l0aEVycm9yOihO
U0Vycm9yICopZXJyb3I7CitAZW5kCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbQppbmRleCAzMWMxMDk3MzNhMDI2MGE3
ZjMxMWM1ODE5ODhiMTc3Y2I4ODU5YzhkLi4xYjYzZWNjOTRjNDc2YWU3MTA5NTkxOTIzZDIwYmNl
YWU1Yjc2NWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vz
c0Fzc2VydGlvbklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vz
c0Fzc2VydGlvbklPUy5tbQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW1wb3J0ICJBc3NlcnRpb25T
ZXJ2aWNlc1NQSS5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgorI2ltcG9ydCAiUnVubmluZ0JvYXJk
U2VydmljZXNTUEkuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQb29sLmgiCiAjaW1wb3J0IDxVSUtp
dC9VSUFwcGxpY2F0aW9uLmg+CiAjaW1wb3J0IDx3dGYvSGFzaE1hcC5oPgpAQCAtNDQsNyArNDUs
MTIgQEAgdXNpbmcgV2ViS2l0OjpQcm9jZXNzQW5kVUlBc3NlcnRpb247CiAvLyBvbiB0aGUgZXhw
aXJhdGlvbiBoYW5kbGVyIGdldHRpbmcgY2FsbGVkKS4KIHN0YXRpYyBjb25zdCBTZWNvbmRzIHJl
bGVhc2VCYWNrZ3JvdW5kVGFza0FmdGVyRXhwaXJhdGlvbkRlbGF5IHsgMl9zIH07CiAKLUBpbnRl
cmZhY2UgV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIDogTlNPYmplY3QK
K0BpbnRlcmZhY2UgV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyCisjaWYg
SEFWRShSVU5OSU5HQk9BUkRfV0VCS0lUX0FTU0VSVElPTlMpCisgICAgOiBOU09iamVjdCA8UkJT
QXNzZXJ0aW9uT2JzZXJ2aW5nPgorI2Vsc2UKKyAgICA6IE5TT2JqZWN0CisjZW5kaWYKIAogKyAo
V0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyICopc2hhcmVkOwogCkBAIC01
NSw3ICs2MSwxMiBAQCBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS1Byb2Nlc3NBc3NlcnRpb25C
YWNrZ3JvdW5kVGFza01hbmFnZXIKIHsKKyNpZiBIQVZFKFJVTk5JTkdCT0FSRF9XRUJLSVRfQVNT
RVJUSU9OUykKKyAgICBSZXRhaW5QdHI8UkJTQXNzZXJ0aW9uPiBfYmFja2dyb3VuZFRhc2s7Cisj
ZWxzZQogICAgIFVJQmFja2dyb3VuZFRhc2tJZGVudGlmaWVyIF9iYWNrZ3JvdW5kVGFzazsKKyNl
bmRpZgorCiAgICAgV2Vha0hhc2hTZXQ8UHJvY2Vzc0FuZFVJQXNzZXJ0aW9uPiBfYXNzZXJ0aW9u
c05lZWRpbmdCYWNrZ3JvdW5kVGFzazsKICAgICBCT09MIF9hcHBsaWNhdGlvbklzQmFja2dyb3Vu
ZGVkOwogICAgIGRpc3BhdGNoX2Jsb2NrX3QgX3BlbmRpbmdUYXNrUmVsZWFzZVRhc2s7CkBAIC03
Myw3ICs4NCw5IEBAIC0gKGluc3RhbmNldHlwZSlpbml0CiAgICAgaWYgKCFzZWxmKQogICAgICAg
ICByZXR1cm4gbmlsOwogCisjaWYgIUhBVkUoUlVOTklOR0JPQVJEX1dFQktJVF9BU1NFUlRJT05T
KQogICAgIF9iYWNrZ3JvdW5kVGFzayA9IFVJQmFja2dyb3VuZFRhc2tJbnZhbGlkOworI2VuZGlm
CiAKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVy
Rm9yTmFtZTpVSUFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZE5vdGlmaWNhdGlvbiBvYmpl
Y3Q6W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dIHF1ZXVlOm5pbCB1c2luZ0Jsb2Nr
Ol4oTlNOb3RpZmljYXRpb24gKikgewogICAgICAgICBfYXBwbGljYXRpb25Jc0JhY2tncm91bmRl
ZCA9IE5POwpAQCAtODQsNyArOTcsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAogICAgIFtbTlNO
b3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOlVJQXBw
bGljYXRpb25EaWRFbnRlckJhY2tncm91bmROb3RpZmljYXRpb24gb2JqZWN0OltVSUFwcGxpY2F0
aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBxdWV1ZTpuaWwgdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0
aW9uICopIHsKICAgICAgICAgX2FwcGxpY2F0aW9uSXNCYWNrZ3JvdW5kZWQgPSBZRVM7CiAgICAg
ICAgIAotICAgICAgICBpZiAoX2JhY2tncm91bmRUYXNrID09IFVJQmFja2dyb3VuZFRhc2tJbnZh
bGlkKQorICAgICAgICBpZiAoIVtzZWxmIF9oYXNCYWNrZ3JvdW5kVGFza10pCiAgICAgICAgICAg
ICBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpub3RpZnlQcm9jZXNzUG9vbHNBcHBsaWNhdGlvbklz
QWJvdXRUb1N1c3BlbmQoKTsKICAgICB9XTsKIApAQCAtMTMyLDcgKzE0NSw3IEBAIC0gKHZvaWQp
X3NjaGVkdWxlUmVsZWFzZVRhc2sKICAgICBpZiAoX3BlbmRpbmdUYXNrUmVsZWFzZVRhc2spCiAg
ICAgICAgIHJldHVybjsKIAotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAg
LSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgLSBfc2NoZWR1bGVSZWxl
YXNlVGFzayBiZWNhdXNlIHRoZSBleHBpcmF0aW9uIGhhbmRsZXIgaGFzIGJlZW4gY2FsbGVkIiwg
c2VsZik7CisgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdLUHJvY2Vz
c0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlcjogX3NjaGVkdWxlUmVsZWFzZVRhc2sgYmVj
YXVzZSB0aGUgZXhwaXJhdGlvbiBoYW5kbGVyIGhhcyBiZWVuIGNhbGxlZCIsIHNlbGYpOwogICAg
IF9wZW5kaW5nVGFza1JlbGVhc2VUYXNrID0gZGlzcGF0Y2hfYmxvY2tfY3JlYXRlKChkaXNwYXRj
aF9ibG9ja19mbGFnc190KTAsIF57CiAgICAgICAgIF9wZW5kaW5nVGFza1JlbGVhc2VUYXNrID0g
bmlsOwogICAgICAgICBbc2VsZiBfcmVsZWFzZUJhY2tncm91bmRUYXNrXTsKQEAgLTE0OSw1NyAr
MTYyLDEwNSBAQCAtICh2b2lkKV9jYW5jZWxQZW5kaW5nUmVsZWFzZVRhc2sKICAgICBpZiAoIV9w
ZW5kaW5nVGFza1JlbGVhc2VUYXNrKQogICAgICAgICByZXR1cm47CiAKLSAgICBSRUxFQVNFX0xP
RyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRh
c2tNYW5hZ2VyIC0gX2NhbmNlbFBlbmRpbmdSZWxlYXNlVGFzayBiZWNhdXNlIHRoZSBhcHBsaWNh
dGlvbiBpcyBmb3JlZ3JvdW5kIGFnYWluIiwgc2VsZik7CisgICAgUkVMRUFTRV9MT0coUHJvY2Vz
c1N1c3BlbnNpb24sICIlcCAtIFdLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdl
cjogX2NhbmNlbFBlbmRpbmdSZWxlYXNlVGFzayBiZWNhdXNlIHRoZSBhcHBsaWNhdGlvbiBpcyBm
b3JlZ3JvdW5kIGFnYWluIiwgc2VsZik7CiAgICAgZGlzcGF0Y2hfYmxvY2tfY2FuY2VsKF9wZW5k
aW5nVGFza1JlbGVhc2VUYXNrKTsKICAgICBfcGVuZGluZ1Rhc2tSZWxlYXNlVGFzayA9IG5pbDsK
IH0KIAorLSAoQk9PTClfaGFzQmFja2dyb3VuZFRhc2sKK3sKKyNpZiBIQVZFKFJVTk5JTkdCT0FS
RF9XRUJLSVRfQVNTRVJUSU9OUykKKyAgICByZXR1cm4gISFfYmFja2dyb3VuZFRhc2s7CisjZWxz
ZQorICAgIHJldHVybiBfYmFja2dyb3VuZFRhc2sgIT0gVUlCYWNrZ3JvdW5kVGFza0ludmFsaWQ7
CisjZW5kaWYKK30KKwogLSAodm9pZClfdXBkYXRlQmFja2dyb3VuZFRhc2sKIHsKLSAgICBpZiAo
IV9hc3NlcnRpb25zTmVlZGluZ0JhY2tncm91bmRUYXNrLmNvbXB1dGVzRW1wdHkoKSAmJiBfYmFj
a2dyb3VuZFRhc2sgPT0gVUlCYWNrZ3JvdW5kVGFza0ludmFsaWQpIHsKKyAgICBpZiAoIV9hc3Nl
cnRpb25zTmVlZGluZ0JhY2tncm91bmRUYXNrLmNvbXB1dGVzRW1wdHkoKSAmJiAhW3NlbGYgX2hh
c0JhY2tncm91bmRUYXNrXSkgewogICAgICAgICBpZiAoX2FwcGxpY2F0aW9uSXNCYWNrZ3JvdW5k
ZWQpIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAi
JXAgLSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXI6IElnbm9yZWQgcmVx
dWVzdCB0byBzdGFydCBhIG5ldyBiYWNrZ3JvdW5kIHRhc2sgYmVjYXVzZSB0aGUgYXBwbGljYXRp
b24gaXMgYWxyZWFkeSBpbiB0aGUgYmFja2dyb3VuZCIsIHNlbGYpOwogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB9Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAi
JXAgLSBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgLSBiZWdpbkJhY2tn
cm91bmRUYXNrV2l0aE5hbWUiLCBzZWxmKTsKKyAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1
c3BlbnNpb24sICIlcCAtIFdLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlcjog
YmVnaW5CYWNrZ3JvdW5kVGFza1dpdGhOYW1lIiwgc2VsZik7CisjaWYgSEFWRShSVU5OSU5HQk9B
UkRfV0VCS0lUX0FTU0VSVElPTlMpCisgICAgICAgIFJCU1RhcmdldCAqdGFyZ2V0ID0gW1JCU1Rh
cmdldCBjdXJyZW50UHJvY2Vzc107CisgICAgICAgIFJCU0RvbWFpbkF0dHJpYnV0ZSAqZG9tYWlu
QXR0cmlidXRlID0gW1JCU0RvbWFpbkF0dHJpYnV0ZSBhdHRyaWJ1dGVXaXRoRG9tYWluOkAiY29t
LmFwcGxlLmNvbW1vbiIgbmFtZTpAIkZpbmlzaFRhc2tJbnRlcnJ1cHRhYmxlIl07CisgICAgICAg
IF9iYWNrZ3JvdW5kVGFzayA9IGFkb3B0TlMoW1tSQlNBc3NlcnRpb24gYWxsb2NdIGluaXRXaXRo
RXhwbGFuYXRpb246QCJXZWJLaXQgVUlQcm9jZXNzIGJhY2tncm91bmQgdGFzayIgdGFyZ2V0OnRh
cmdldCBhdHRyaWJ1dGVzOkBbZG9tYWluQXR0cmlidXRlXV0pOworICAgICAgICBbX2JhY2tncm91
bmRUYXNrIGFkZE9ic2VydmVyOnNlbGZdOworCisgICAgICAgIE5TRXJyb3IgKmFjcXVpc2l0aW9u
RXJyb3IgPSBuaWw7CisgICAgICAgIGlmICghW19iYWNrZ3JvdW5kVGFzayBhY3F1aXJlV2l0aEVy
cm9yOiZhY3F1aXNpdGlvbkVycm9yXSkKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFBy
b2Nlc3NTdXNwZW5zaW9uLCAiV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2Vy
OiBGYWlsZWQgdG8gYWNxdWlyZSBGaW5pc2hUYXNrSW50ZXJydXB0YWJsZSBhc3NlcnRpb24gZm9y
IG93biBwcm9jZXNzLCBlcnJvcjogJXtwdWJsaWN9QCIsIGFjcXVpc2l0aW9uRXJyb3IpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIldL
UHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlcjogU3VjY2Vzc2Z1bGx5IHRvb2sg
YSBGaW5pc2hUYXNrSW50ZXJydXB0YWJsZSBhc3NlcnRpb24gZm9yIG93biBwcm9jZXNzIik7Cisj
ZWxzZQogICAgICAgICBfYmFja2dyb3VuZFRhc2sgPSBbW1VJQXBwbGljYXRpb24gc2hhcmVkQXBw
bGljYXRpb25dIGJlZ2luQmFja2dyb3VuZFRhc2tXaXRoTmFtZTpAImNvbS5hcHBsZS5XZWJLaXQu
UHJvY2Vzc0Fzc2VydGlvbiIgZXhwaXJhdGlvbkhhbmRsZXI6XnsKLSAgICAgICAgICAgIFJFTEVB
U0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiQmFja2dyb3VuZCB0YXNrIGV4cGlyZWQg
d2hpbGUgaG9sZGluZyBXZWJLaXQgUHJvY2Vzc0Fzc2VydGlvbiAoaXNNYWluVGhyZWFkPyAlZCku
IiwgUnVuTG9vcDo6aXNNYWluKCkpOwotICAgICAgICAgICAgaWYgKCFfYXBwbGljYXRpb25Jc0Jh
Y2tncm91bmRlZCkgewotICAgICAgICAgICAgICAgIC8vIFdlJ3ZlIHJlY2VpdmVkIHRoZSBpbnZh
bGlkYXRpb24gd2FybmluZyBhZnRlciB0aGUgYXBwIGhhcyBiZWNvbWUgZm9yZWdyb3VuZCBhZ2Fp
bi4gSW4gdGhpcyBjYXNlLCB3ZSBzaG91bGQgbm90Ci0gICAgICAgICAgICAgICAgLy8gd2FybiBj
bGllbnRzIG9mIGltbWluZW50IHN1c3BlbnNpb24uIFRvIGJlIHNhZmUgKGF2b2lkIHBvdGVudGlh
bCBraWxsaW5nKSwgd2UgZW5kIHRoZSB0YXNrIHJpZ2h0IGF3YXkgYW5kIGNhbGwKLSAgICAgICAg
ICAgICAgICAvLyBfdXBkYXRlQmFja2dyb3VuZFRhc2sgYXN5bmNocm9ub3VzbHkgdG8gc3RhcnQg
YSBuZXcgdGFzayBpZiBuZWNlc3NhcnkuCi0gICAgICAgICAgICAgICAgW3NlbGYgX3JlbGVhc2VC
YWNrZ3JvdW5kVGFza107Ci0gICAgICAgICAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hf
Z2V0X21haW5fcXVldWUoKSwgXnsKLSAgICAgICAgICAgICAgICAgICAgW3NlbGYgX3VwZGF0ZUJh
Y2tncm91bmRUYXNrXTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIC8vIFRoZSBleHBpcmF0aW9uIGhhbmRs
ZXIgZ2V0cyBjYWxsZWQgb24gYSBub24tbWFpbiB0aHJlYWQgd2hlbiB0aGUgdW5kZXJseWluZyBh
c3NlcnRpb24gY291bGQgbm90IGJlIHRha2VuIChyZGFyOi8vcHJvYmxlbS8yNzI3ODQxOSkuCi0g
ICAgICAgICAgICBpZiAoUnVuTG9vcDo6aXNNYWluKCkpCi0gICAgICAgICAgICAgICAgW3NlbGYg
X25vdGlmeUFzc2VydGlvbnNPZkltbWluZW50U3VzcGVuc2lvbl07Ci0gICAgICAgICAgICBlbHNl
IHsKLSAgICAgICAgICAgICAgICBkaXNwYXRjaF9zeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVl
KCksIF57Ci0gICAgICAgICAgICAgICAgICAgIFtzZWxmIF9ub3RpZnlBc3NlcnRpb25zT2ZJbW1p
bmVudFN1c3BlbnNpb25dOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICBbc2VsZiBfc2NoZWR1bGVSZWxlYXNlVGFza107CisgICAgICAgICAgICBbc2Vs
ZiBfaGFuZGxlQmFja2dyb3VuZFRhc2tFeHBpcmF0aW9uXTsKICAgICAgICAgfV07CisjZW5kaWYK
ICAgICB9IGVsc2UgaWYgKF9hc3NlcnRpb25zTmVlZGluZ0JhY2tncm91bmRUYXNrLmNvbXB1dGVz
RW1wdHkoKSkKICAgICAgICAgW3NlbGYgX3JlbGVhc2VCYWNrZ3JvdW5kVGFza107CiB9CiAKKyNp
ZiBIQVZFKFJVTk5JTkdCT0FSRF9XRUJLSVRfQVNTRVJUSU9OUykKKy0gKHZvaWQpYXNzZXJ0aW9u
V2lsbEludmFsaWRhdGU6KFJCU0Fzc2VydGlvbiAqKWFzc2VydGlvbgoreworICAgIEFTU0VSVChh
c3NlcnRpb24gPT0gX2JhY2tncm91bmRUYXNrLmdldCgpKTsKKyAgICBbc2VsZiBfaGFuZGxlQmFj
a2dyb3VuZFRhc2tFeHBpcmF0aW9uXTsKK30KKworLSAodm9pZClhc3NlcnRpb246KFJCU0Fzc2Vy
dGlvbiAqKWFzc2VydGlvbiBkaWRJbnZhbGlkYXRlV2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IK
K3sKKyAgICBBU1NFUlQoYXNzZXJ0aW9uID09IF9iYWNrZ3JvdW5kVGFzay5nZXQoKSk7CisgICAg
UkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICJXS1Byb2Nlc3NBc3NlcnRpb25C
YWNrZ3JvdW5kVGFza01hbmFnZXI6IEZpbmlzaFRhc2tJbnRlcnJ1cHRhYmxlIGFzc2VydGlvbiB3
YXMgaW52YWxpZGF0ZWQsIGVycm9yOiAle3B1YmxpY31AIiwgZXJyb3IpOworfQorI2VuZGlmCisK
Ky0gKHZvaWQpX2hhbmRsZUJhY2tncm91bmRUYXNrRXhwaXJhdGlvbgoreworICAgIFJFTEVBU0Vf
TE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tN
YW5hZ2VyOiBCYWNrZ3JvdW5kIHRhc2sgZXhwaXJlZCB3aGlsZSBob2xkaW5nIFdlYktpdCBQcm9j
ZXNzQXNzZXJ0aW9uIChpc01haW5UaHJlYWQ/ICVkKS4iLCBSdW5Mb29wOjppc01haW4oKSk7Cisg
ICAgaWYgKCFfYXBwbGljYXRpb25Jc0JhY2tncm91bmRlZCkgeworICAgICAgICAvLyBXZSd2ZSBy
ZWNlaXZlZCB0aGUgaW52YWxpZGF0aW9uIHdhcm5pbmcgYWZ0ZXIgdGhlIGFwcCBoYXMgYmVjb21l
IGZvcmVncm91bmQgYWdhaW4uIEluIHRoaXMgY2FzZSwgd2Ugc2hvdWxkIG5vdAorICAgICAgICAv
LyB3YXJuIGNsaWVudHMgb2YgaW1taW5lbnQgc3VzcGVuc2lvbi4gVG8gYmUgc2FmZSAoYXZvaWQg
cG90ZW50aWFsIGtpbGxpbmcpLCB3ZSBlbmQgdGhlIHRhc2sgcmlnaHQgYXdheSBhbmQgY2FsbAor
ICAgICAgICAvLyBfdXBkYXRlQmFja2dyb3VuZFRhc2sgYXN5bmNocm9ub3VzbHkgdG8gc3RhcnQg
YSBuZXcgdGFzayBpZiBuZWNlc3NhcnkuCisgICAgICAgIFtzZWxmIF9yZWxlYXNlQmFja2dyb3Vu
ZFRhc2tdOworICAgICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgp
LCBeeworICAgICAgICAgICAgW3NlbGYgX3VwZGF0ZUJhY2tncm91bmRUYXNrXTsKKyAgICAgICAg
fSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBUaGUgZXhwaXJhdGlvbiBoYW5k
bGVyIGdldHMgY2FsbGVkIG9uIGEgbm9uLW1haW4gdGhyZWFkIHdoZW4gdGhlIHVuZGVybHlpbmcg
YXNzZXJ0aW9uIGNvdWxkIG5vdCBiZSB0YWtlbiAocmRhcjovL3Byb2JsZW0vMjcyNzg0MTkpLgor
ICAgIGlmIChSdW5Mb29wOjppc01haW4oKSkKKyAgICAgICAgW3NlbGYgX25vdGlmeUFzc2VydGlv
bnNPZkltbWluZW50U3VzcGVuc2lvbl07CisgICAgZWxzZSB7CisgICAgICAgIGRpc3BhdGNoX3N5
bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsKKyAgICAgICAgICAgIFtzZWxmIF9ub3Rp
ZnlBc3NlcnRpb25zT2ZJbW1pbmVudFN1c3BlbnNpb25dOworICAgICAgICB9KTsKKyAgICB9CisK
KyAgICBbc2VsZiBfc2NoZWR1bGVSZWxlYXNlVGFza107Cit9CisKIC0gKHZvaWQpX3JlbGVhc2VC
YWNrZ3JvdW5kVGFzawogewotICAgIGlmIChfYmFja2dyb3VuZFRhc2sgPT0gVUlCYWNrZ3JvdW5k
VGFza0ludmFsaWQpCisgICAgaWYgKCFbc2VsZiBfaGFzQmFja2dyb3VuZFRhc2tdKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV0tQ
cm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIC0gZW5kQmFja2dyb3VuZFRhc2si
LCBzZWxmKTsKKyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV0tQcm9j
ZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyOiBlbmRCYWNrZ3JvdW5kVGFzayIsIHNl
bGYpOwogICAgIGlmIChfYXBwbGljYXRpb25Jc0JhY2tncm91bmRlZCkKICAgICAgICAgV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6bm90aWZ5UHJvY2Vzc1Bvb2xzQXBwbGljYXRpb25Jc0Fib3V0VG9T
dXNwZW5kKCk7CisKKyNpZiBIQVZFKFJVTk5JTkdCT0FSRF9XRUJLSVRfQVNTRVJUSU9OUykKKyAg
ICBbX2JhY2tncm91bmRUYXNrIHJlbW92ZU9ic2VydmVyOnNlbGZdOworICAgIFtfYmFja2dyb3Vu
ZFRhc2sgaW52YWxpZGF0ZV07CisgICAgX2JhY2tncm91bmRUYXNrID0gbnVsbHB0cjsKKyNlbHNl
CiAgICAgW1tVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBlbmRCYWNrZ3JvdW5kVGFz
azpfYmFja2dyb3VuZFRhc2tdOwogICAgIF9iYWNrZ3JvdW5kVGFzayA9IFVJQmFja2dyb3VuZFRh
c2tJbnZhbGlkOworI2VuZGlmCiB9CiAKIEBlbmQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395109</attachid>
            <date>2020-03-31 17:15:24 -0700</date>
            <delta_ts>2020-04-02 13:49:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209825-20200331171523.patch</filename>
            <type>text/plain</type>
            <size>13293</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MzE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI5OWUxMmQ4NTFhYmNmOGZkNWNjODgx
ZGNmMWY4YzQ1YzI1YTdlNWQuLjQ1YmI5NGMwMmFiZTZkYjM1MjRlMzJmYzMxMGEzNjczNWY5NTA1
ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDMtMzEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZXBsYWNlIFVJS2l0IGJhY2tncm91bmQgdGFz
ayB3aXRoIGEgUnVubmluZ0JvYXJkIEZpbmlzaFRhc2tJbnRlcnJ1cHRhYmxlIGFzc2VydGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5ODI1Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MTExODUwMz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYnVpbGQtdGltZSBmbGFnIGZvciBXZWJLaXQt
c3BlY2lmaWMgYXNzZXJ0aW9uIGluIFJ1bm5pbmdCb2FyZC4KKworICAgICAgICAqIHd0Zi9QbGF0
Zm9ybUhhdmUuaDoKKwogMjAyMC0wMy0zMSAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNv
bT4KIAogICAgICAgICBJbmRleGVkREI6IGRlc3Ryb3kgV2ViSURCU2VydmVyIHdoZW4gc2Vzc2lv
biBpcyByZW1vdmVkIGluIG5ldHdvcmsgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlN2JhODNmYzZhYWM4
MzQ1OGQ1ZmMyMGQ3MDg2ODBkYTY5YTdlZjc4Li44MWY0OWE4MDg2ZTc1YzdmMzA5MjI3NDdkMWFh
YzQzOWIxYWNiYjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTAzLTMxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gUmVwbGFjZSBVSUtp
dCBiYWNrZ3JvdW5kIHRhc2sgd2l0aCBhIFJ1bm5pbmdCb2FyZCBGaW5pc2hUYXNrSW50ZXJydXB0
YWJsZSBhc3NlcnRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwOTgyNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjExMTg1MDM+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVwbGFjZSBVSUtpdCBi
YWNrZ3JvdW5kIHRhc2sgd2l0aCBhIFJ1bm5pbmdCb2FyZCBGaW5pc2hUYXNrSW50ZXJydXB0YWJs
ZSBhc3NlcnRpb24gb24gaU9TLgorICAgICAgICBPdXIgVUlQcm9jZXNzIGdldHMgdGVybWluYXRl
ZCB0b28gZnJlcXVlbnRseSB3aGVuIHRoZSBVSUtpdCBiYWNrZ3JvdW5kIHRhc2sgZXhwaXJlcyB3
aGVuCisgICAgICAgIHRoZSBVSVByb2Nlc3MgaG9sZHMgaXQgZm9yIGxvbmdlciB0aGFuIDMwIHNl
Y29uZHMgaW4gdGhlIGJhY2tncm91bmQuIFRoZSBSdW5uaW5nQm9hcmQKKyAgICAgICAgRmluaXNo
VGFza0ludGVycnVwdGFibGUgYXNzZXJ0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIGVxdWl2YWxlbnQg
YnV0IHdvdWxkIGNhdXNlIHN1c3BlbnNpb24KKyAgICAgICAgb2Ygb3VyIFVJUHJvY2VzcyBvbiBl
eHBpcmF0aW9uLCBpbnN0ZWFkIG9mIHRlcm1pbmF0aW9uLgorCisgICAgICAgICogVUlQcm9jZXNz
L2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tOgorICAgICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRp
b25CYWNrZ3JvdW5kVGFza01hbmFnZXIgaW5pdF0pOgorICAgICAgICAoLVtXS1Byb2Nlc3NBc3Nl
cnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgX3NjaGVkdWxlUmVsZWFzZVRhc2tdKToKKyAgICAg
ICAgKC1bV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIF9jYW5jZWxQZW5k
aW5nUmVsZWFzZVRhc2tdKToKKyAgICAgICAgKC1bV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3Vu
ZFRhc2tNYW5hZ2VyIF9oYXNCYWNrZ3JvdW5kVGFza10pOgorICAgICAgICAoLVtXS1Byb2Nlc3NB
c3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgX3VwZGF0ZUJhY2tncm91bmRUYXNrXSk6Cisg
ICAgICAgICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlciBhc3NlcnRp
b25XaWxsSW52YWxpZGF0ZTpdKToKKyAgICAgICAgKC1bV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dy
b3VuZFRhc2tNYW5hZ2VyIGFzc2VydGlvbjpkaWRJbnZhbGlkYXRlV2l0aEVycm9yOl0pOgorICAg
ICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgX2hhbmRsZUJh
Y2tncm91bmRUYXNrRXhwaXJhdGlvbl0pOgorICAgICAgICAoLVtXS1Byb2Nlc3NBc3NlcnRpb25C
YWNrZ3JvdW5kVGFza01hbmFnZXIgX3JlbGVhc2VCYWNrZ3JvdW5kVGFza10pOgorCiAyMDIwLTAz
LTMxICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNP
U10gVXBkYXRlIHNhbmRib3ggcnVsZXMgZm9yIGNvcnJlY3Qgc2FuaXRpemVyIHBhdGhzIGluIGN1
cnJlbnQgT1MgcmVsZWFzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2
ZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXggMzdiMmYxNmY3ZThiYjRh
MTQ5YTlkMTEzNGMzYjUzNzg0OTIwOTU3YS4uMzZhM2Y0NjRhNTk0MTI0NGFlMGUzN2MzZTVhMzgw
MDgyZDI0N2M2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKKysr
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKQEAgLTQ1Niw2ICs0NTYsMTIgQEAKICNk
ZWZpbmUgSEFWRV9DRk5FVFdPUktfQUxURVJOQVRJVkVfU0VSVklDRSAxCiAjZW5kaWYKIAorI2lm
IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxNDAwMDApIFwKKyAgICB8fCAoUExBVEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSA3MDAwMCkgXAorICAgIHx8IChQTEFURk9STShBUFBMRVRW
KSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE0MDAwMCkKKyNkZWZpbmUgSEFW
RV9SVU5OSU5HQk9BUkRfV0VCS0lUX0FTU0VSVElPTlMgMQorI2VuZGlmCisKICNpZiBQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCiAjZGVm
aW5lIEhBVkVfQ1NDSEVDS0ZJWERJU0FCTEUgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oCmluZGV4
IDk3ZTBjYjFjZDc5M2MwMjUwN2M5NjhiZjRkZTE0MmFmNjdmNmYxNjcuLjA1YTM1ZGEzNDAyOTMw
NWIxMDBjM2IyMmIyOTY0MmFiZjM1M2UxYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oCkBAIC00OCw0ICs0
OCw5IEBACiAtICh2b2lkKWludmFsaWRhdGU7CiBAZW5kCiAKK0Bwcm90b2NvbCBSQlNBc3NlcnRp
b25PYnNlcnZpbmcgPE5TT2JqZWN0PgorLSAodm9pZClhc3NlcnRpb25XaWxsSW52YWxpZGF0ZToo
UkJTQXNzZXJ0aW9uICopYXNzZXJ0aW9uOworLSAodm9pZClhc3NlcnRpb246KFJCU0Fzc2VydGlv
biAqKWFzc2VydGlvbiBkaWRJbnZhbGlkYXRlV2l0aEVycm9yOihOU0Vycm9yICopZXJyb3I7CitA
ZW5kCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1By
b2Nlc3NBc3NlcnRpb25JT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vz
c0Fzc2VydGlvbklPUy5tbQppbmRleCAzMWMxMDk3MzNhMDI2MGE3ZjMxMWM1ODE5ODhiMTc3Y2I4
ODU5YzhkLi4xYjYzZWNjOTRjNDc2YWU3MTA5NTkxOTIzZDIwYmNlYWU1Yjc2NWQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbQpA
QCAtMzAsNiArMzAsNyBAQAogCiAjaW1wb3J0ICJBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIgogI2lt
cG9ydCAiTG9nZ2luZy5oIgorI2ltcG9ydCAiUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCIKICNp
bXBvcnQgIldlYlByb2Nlc3NQb29sLmgiCiAjaW1wb3J0IDxVSUtpdC9VSUFwcGxpY2F0aW9uLmg+
CiAjaW1wb3J0IDx3dGYvSGFzaE1hcC5oPgpAQCAtNDQsNyArNDUsMTIgQEAgdXNpbmcgV2ViS2l0
OjpQcm9jZXNzQW5kVUlBc3NlcnRpb247CiAvLyBvbiB0aGUgZXhwaXJhdGlvbiBoYW5kbGVyIGdl
dHRpbmcgY2FsbGVkKS4KIHN0YXRpYyBjb25zdCBTZWNvbmRzIHJlbGVhc2VCYWNrZ3JvdW5kVGFz
a0FmdGVyRXhwaXJhdGlvbkRlbGF5IHsgMl9zIH07CiAKLUBpbnRlcmZhY2UgV0tQcm9jZXNzQXNz
ZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIDogTlNPYmplY3QKK0BpbnRlcmZhY2UgV0tQcm9j
ZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyCisjaWYgSEFWRShSVU5OSU5HQk9BUkRf
V0VCS0lUX0FTU0VSVElPTlMpCisgICAgOiBOU09iamVjdCA8UkJTQXNzZXJ0aW9uT2JzZXJ2aW5n
PgorI2Vsc2UKKyAgICA6IE5TT2JqZWN0CisjZW5kaWYKIAogKyAoV0tQcm9jZXNzQXNzZXJ0aW9u
QmFja2dyb3VuZFRhc2tNYW5hZ2VyICopc2hhcmVkOwogCkBAIC01NSw3ICs2MSwxMiBAQCBAZW5k
CiAKIEBpbXBsZW1lbnRhdGlvbiBXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFn
ZXIKIHsKKyNpZiBIQVZFKFJVTk5JTkdCT0FSRF9XRUJLSVRfQVNTRVJUSU9OUykKKyAgICBSZXRh
aW5QdHI8UkJTQXNzZXJ0aW9uPiBfYmFja2dyb3VuZFRhc2s7CisjZWxzZQogICAgIFVJQmFja2dy
b3VuZFRhc2tJZGVudGlmaWVyIF9iYWNrZ3JvdW5kVGFzazsKKyNlbmRpZgorCiAgICAgV2Vha0hh
c2hTZXQ8UHJvY2Vzc0FuZFVJQXNzZXJ0aW9uPiBfYXNzZXJ0aW9uc05lZWRpbmdCYWNrZ3JvdW5k
VGFzazsKICAgICBCT09MIF9hcHBsaWNhdGlvbklzQmFja2dyb3VuZGVkOwogICAgIGRpc3BhdGNo
X2Jsb2NrX3QgX3BlbmRpbmdUYXNrUmVsZWFzZVRhc2s7CkBAIC03Myw3ICs4NCw5IEBAIC0gKGlu
c3RhbmNldHlwZSlpbml0CiAgICAgaWYgKCFzZWxmKQogICAgICAgICByZXR1cm4gbmlsOwogCisj
aWYgIUhBVkUoUlVOTklOR0JPQVJEX1dFQktJVF9BU1NFUlRJT05TKQogICAgIF9iYWNrZ3JvdW5k
VGFzayA9IFVJQmFja2dyb3VuZFRhc2tJbnZhbGlkOworI2VuZGlmCiAKICAgICBbW05TTm90aWZp
Y2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9yTmFtZTpVSUFwcGxpY2F0
aW9uV2lsbEVudGVyRm9yZWdyb3VuZE5vdGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBwbGljYXRpb24g
c2hhcmVkQXBwbGljYXRpb25dIHF1ZXVlOm5pbCB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24g
KikgewogICAgICAgICBfYXBwbGljYXRpb25Jc0JhY2tncm91bmRlZCA9IE5POwpAQCAtODQsNyAr
OTcsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIg
ZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOlVJQXBwbGljYXRpb25EaWRFbnRlckJh
Y2tncm91bmROb3RpZmljYXRpb24gb2JqZWN0OltVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0
aW9uXSBxdWV1ZTpuaWwgdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICopIHsKICAgICAgICAg
X2FwcGxpY2F0aW9uSXNCYWNrZ3JvdW5kZWQgPSBZRVM7CiAgICAgICAgIAotICAgICAgICBpZiAo
X2JhY2tncm91bmRUYXNrID09IFVJQmFja2dyb3VuZFRhc2tJbnZhbGlkKQorICAgICAgICBpZiAo
IVtzZWxmIF9oYXNCYWNrZ3JvdW5kVGFza10pCiAgICAgICAgICAgICBXZWJLaXQ6OldlYlByb2Nl
c3NQb29sOjpub3RpZnlQcm9jZXNzUG9vbHNBcHBsaWNhdGlvbklzQWJvdXRUb1N1c3BlbmQoKTsK
ICAgICB9XTsKIApAQCAtMTMyLDcgKzE0NSw3IEBAIC0gKHZvaWQpX3NjaGVkdWxlUmVsZWFzZVRh
c2sKICAgICBpZiAoX3BlbmRpbmdUYXNrUmVsZWFzZVRhc2spCiAgICAgICAgIHJldHVybjsKIAot
ICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXS1Byb2Nlc3NBc3NlcnRp
b25CYWNrZ3JvdW5kVGFza01hbmFnZXIgLSBfc2NoZWR1bGVSZWxlYXNlVGFzayBiZWNhdXNlIHRo
ZSBleHBpcmF0aW9uIGhhbmRsZXIgaGFzIGJlZW4gY2FsbGVkIiwgc2VsZik7CisgICAgUkVMRUFT
RV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91
bmRUYXNrTWFuYWdlcjogX3NjaGVkdWxlUmVsZWFzZVRhc2sgYmVjYXVzZSB0aGUgZXhwaXJhdGlv
biBoYW5kbGVyIGhhcyBiZWVuIGNhbGxlZCIsIHNlbGYpOwogICAgIF9wZW5kaW5nVGFza1JlbGVh
c2VUYXNrID0gZGlzcGF0Y2hfYmxvY2tfY3JlYXRlKChkaXNwYXRjaF9ibG9ja19mbGFnc190KTAs
IF57CiAgICAgICAgIF9wZW5kaW5nVGFza1JlbGVhc2VUYXNrID0gbmlsOwogICAgICAgICBbc2Vs
ZiBfcmVsZWFzZUJhY2tncm91bmRUYXNrXTsKQEAgLTE0OSw1NyArMTYyLDEwNSBAQCAtICh2b2lk
KV9jYW5jZWxQZW5kaW5nUmVsZWFzZVRhc2sKICAgICBpZiAoIV9wZW5kaW5nVGFza1JlbGVhc2VU
YXNrKQogICAgICAgICByZXR1cm47CiAKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lv
biwgIiVwIC0gV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyIC0gX2NhbmNl
bFBlbmRpbmdSZWxlYXNlVGFzayBiZWNhdXNlIHRoZSBhcHBsaWNhdGlvbiBpcyBmb3JlZ3JvdW5k
IGFnYWluIiwgc2VsZik7CisgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAt
IFdLUHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlcjogX2NhbmNlbFBlbmRpbmdS
ZWxlYXNlVGFzayBiZWNhdXNlIHRoZSBhcHBsaWNhdGlvbiBpcyBmb3JlZ3JvdW5kIGFnYWluIiwg
c2VsZik7CiAgICAgZGlzcGF0Y2hfYmxvY2tfY2FuY2VsKF9wZW5kaW5nVGFza1JlbGVhc2VUYXNr
KTsKICAgICBfcGVuZGluZ1Rhc2tSZWxlYXNlVGFzayA9IG5pbDsKIH0KIAorLSAoQk9PTClfaGFz
QmFja2dyb3VuZFRhc2sKK3sKKyNpZiBIQVZFKFJVTk5JTkdCT0FSRF9XRUJLSVRfQVNTRVJUSU9O
UykKKyAgICByZXR1cm4gISFfYmFja2dyb3VuZFRhc2s7CisjZWxzZQorICAgIHJldHVybiBfYmFj
a2dyb3VuZFRhc2sgIT0gVUlCYWNrZ3JvdW5kVGFza0ludmFsaWQ7CisjZW5kaWYKK30KKwogLSAo
dm9pZClfdXBkYXRlQmFja2dyb3VuZFRhc2sKIHsKLSAgICBpZiAoIV9hc3NlcnRpb25zTmVlZGlu
Z0JhY2tncm91bmRUYXNrLmNvbXB1dGVzRW1wdHkoKSAmJiBfYmFja2dyb3VuZFRhc2sgPT0gVUlC
YWNrZ3JvdW5kVGFza0ludmFsaWQpIHsKKyAgICBpZiAoIV9hc3NlcnRpb25zTmVlZGluZ0JhY2tn
cm91bmRUYXNrLmNvbXB1dGVzRW1wdHkoKSAmJiAhW3NlbGYgX2hhc0JhY2tncm91bmRUYXNrXSkg
ewogICAgICAgICBpZiAoX2FwcGxpY2F0aW9uSXNCYWNrZ3JvdW5kZWQpIHsKICAgICAgICAgICAg
IFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXS1Byb2Nlc3NBc3Nl
cnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXI6IElnbm9yZWQgcmVxdWVzdCB0byBzdGFydCBhIG5l
dyBiYWNrZ3JvdW5kIHRhc2sgYmVjYXVzZSB0aGUgYXBwbGljYXRpb24gaXMgYWxyZWFkeSBpbiB0
aGUgYmFja2dyb3VuZCIsIHNlbGYpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0g
ICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXS1Byb2Nlc3NBc3Nl
cnRpb25CYWNrZ3JvdW5kVGFza01hbmFnZXIgLSBiZWdpbkJhY2tncm91bmRUYXNrV2l0aE5hbWUi
LCBzZWxmKTsKKyAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdL
UHJvY2Vzc0Fzc2VydGlvbkJhY2tncm91bmRUYXNrTWFuYWdlcjogYmVnaW5CYWNrZ3JvdW5kVGFz
a1dpdGhOYW1lIiwgc2VsZik7CisjaWYgSEFWRShSVU5OSU5HQk9BUkRfV0VCS0lUX0FTU0VSVElP
TlMpCisgICAgICAgIFJCU1RhcmdldCAqdGFyZ2V0ID0gW1JCU1RhcmdldCBjdXJyZW50UHJvY2Vz
c107CisgICAgICAgIFJCU0RvbWFpbkF0dHJpYnV0ZSAqZG9tYWluQXR0cmlidXRlID0gW1JCU0Rv
bWFpbkF0dHJpYnV0ZSBhdHRyaWJ1dGVXaXRoRG9tYWluOkAiY29tLmFwcGxlLmNvbW1vbiIgbmFt
ZTpAIkZpbmlzaFRhc2tJbnRlcnJ1cHRhYmxlIl07CisgICAgICAgIF9iYWNrZ3JvdW5kVGFzayA9
IGFkb3B0TlMoW1tSQlNBc3NlcnRpb24gYWxsb2NdIGluaXRXaXRoRXhwbGFuYXRpb246QCJXZWJL
aXQgVUlQcm9jZXNzIGJhY2tncm91bmQgdGFzayIgdGFyZ2V0OnRhcmdldCBhdHRyaWJ1dGVzOkBb
ZG9tYWluQXR0cmlidXRlXV0pOworICAgICAgICBbX2JhY2tncm91bmRUYXNrIGFkZE9ic2VydmVy
OnNlbGZdOworCisgICAgICAgIE5TRXJyb3IgKmFjcXVpc2l0aW9uRXJyb3IgPSBuaWw7CisgICAg
ICAgIGlmICghW19iYWNrZ3JvdW5kVGFzayBhY3F1aXJlV2l0aEVycm9yOiZhY3F1aXNpdGlvbkVy
cm9yXSkKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAi
V0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyOiBGYWlsZWQgdG8gYWNxdWly
ZSBGaW5pc2hUYXNrSW50ZXJydXB0YWJsZSBhc3NlcnRpb24gZm9yIG93biBwcm9jZXNzLCBlcnJv
cjogJXtwdWJsaWN9QCIsIGFjcXVpc2l0aW9uRXJyb3IpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIldLUHJvY2Vzc0Fzc2VydGlvbkJh
Y2tncm91bmRUYXNrTWFuYWdlcjogU3VjY2Vzc2Z1bGx5IHRvb2sgYSBGaW5pc2hUYXNrSW50ZXJy
dXB0YWJsZSBhc3NlcnRpb24gZm9yIG93biBwcm9jZXNzIik7CisjZWxzZQogICAgICAgICBfYmFj
a2dyb3VuZFRhc2sgPSBbW1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dIGJlZ2luQmFj
a2dyb3VuZFRhc2tXaXRoTmFtZTpAImNvbS5hcHBsZS5XZWJLaXQuUHJvY2Vzc0Fzc2VydGlvbiIg
ZXhwaXJhdGlvbkhhbmRsZXI6XnsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nl
c3NTdXNwZW5zaW9uLCAiQmFja2dyb3VuZCB0YXNrIGV4cGlyZWQgd2hpbGUgaG9sZGluZyBXZWJL
aXQgUHJvY2Vzc0Fzc2VydGlvbiAoaXNNYWluVGhyZWFkPyAlZCkuIiwgUnVuTG9vcDo6aXNNYWlu
KCkpOwotICAgICAgICAgICAgaWYgKCFfYXBwbGljYXRpb25Jc0JhY2tncm91bmRlZCkgewotICAg
ICAgICAgICAgICAgIC8vIFdlJ3ZlIHJlY2VpdmVkIHRoZSBpbnZhbGlkYXRpb24gd2FybmluZyBh
ZnRlciB0aGUgYXBwIGhhcyBiZWNvbWUgZm9yZWdyb3VuZCBhZ2Fpbi4gSW4gdGhpcyBjYXNlLCB3
ZSBzaG91bGQgbm90Ci0gICAgICAgICAgICAgICAgLy8gd2FybiBjbGllbnRzIG9mIGltbWluZW50
IHN1c3BlbnNpb24uIFRvIGJlIHNhZmUgKGF2b2lkIHBvdGVudGlhbCBraWxsaW5nKSwgd2UgZW5k
IHRoZSB0YXNrIHJpZ2h0IGF3YXkgYW5kIGNhbGwKLSAgICAgICAgICAgICAgICAvLyBfdXBkYXRl
QmFja2dyb3VuZFRhc2sgYXN5bmNocm9ub3VzbHkgdG8gc3RhcnQgYSBuZXcgdGFzayBpZiBuZWNl
c3NhcnkuCi0gICAgICAgICAgICAgICAgW3NlbGYgX3JlbGVhc2VCYWNrZ3JvdW5kVGFza107Ci0g
ICAgICAgICAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwg
XnsKLSAgICAgICAgICAgICAgICAgICAgW3NlbGYgX3VwZGF0ZUJhY2tncm91bmRUYXNrXTsKLSAg
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9
Ci0KLSAgICAgICAgICAgIC8vIFRoZSBleHBpcmF0aW9uIGhhbmRsZXIgZ2V0cyBjYWxsZWQgb24g
YSBub24tbWFpbiB0aHJlYWQgd2hlbiB0aGUgdW5kZXJseWluZyBhc3NlcnRpb24gY291bGQgbm90
IGJlIHRha2VuIChyZGFyOi8vcHJvYmxlbS8yNzI3ODQxOSkuCi0gICAgICAgICAgICBpZiAoUnVu
TG9vcDo6aXNNYWluKCkpCi0gICAgICAgICAgICAgICAgW3NlbGYgX25vdGlmeUFzc2VydGlvbnNP
ZkltbWluZW50U3VzcGVuc2lvbl07Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAg
ICBkaXNwYXRjaF9zeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57Ci0gICAgICAgICAg
ICAgICAgICAgIFtzZWxmIF9ub3RpZnlBc3NlcnRpb25zT2ZJbW1pbmVudFN1c3BlbnNpb25dOwot
ICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBbc2VsZiBf
c2NoZWR1bGVSZWxlYXNlVGFza107CisgICAgICAgICAgICBbc2VsZiBfaGFuZGxlQmFja2dyb3Vu
ZFRhc2tFeHBpcmF0aW9uXTsKICAgICAgICAgfV07CisjZW5kaWYKICAgICB9IGVsc2UgaWYgKF9h
c3NlcnRpb25zTmVlZGluZ0JhY2tncm91bmRUYXNrLmNvbXB1dGVzRW1wdHkoKSkKICAgICAgICAg
W3NlbGYgX3JlbGVhc2VCYWNrZ3JvdW5kVGFza107CiB9CiAKKyNpZiBIQVZFKFJVTk5JTkdCT0FS
RF9XRUJLSVRfQVNTRVJUSU9OUykKKy0gKHZvaWQpYXNzZXJ0aW9uV2lsbEludmFsaWRhdGU6KFJC
U0Fzc2VydGlvbiAqKWFzc2VydGlvbgoreworICAgIEFTU0VSVChhc3NlcnRpb24gPT0gX2JhY2tn
cm91bmRUYXNrLmdldCgpKTsKKyAgICBbc2VsZiBfaGFuZGxlQmFja2dyb3VuZFRhc2tFeHBpcmF0
aW9uXTsKK30KKworLSAodm9pZClhc3NlcnRpb246KFJCU0Fzc2VydGlvbiAqKWFzc2VydGlvbiBk
aWRJbnZhbGlkYXRlV2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IKK3sKKyAgICBBU1NFUlQoYXNz
ZXJ0aW9uID09IF9iYWNrZ3JvdW5kVGFzay5nZXQoKSk7CisgICAgUkVMRUFTRV9MT0dfRVJST1Io
UHJvY2Vzc1N1c3BlbnNpb24sICJXS1Byb2Nlc3NBc3NlcnRpb25CYWNrZ3JvdW5kVGFza01hbmFn
ZXI6IEZpbmlzaFRhc2tJbnRlcnJ1cHRhYmxlIGFzc2VydGlvbiB3YXMgaW52YWxpZGF0ZWQsIGVy
cm9yOiAle3B1YmxpY31AIiwgZXJyb3IpOworfQorI2VuZGlmCisKKy0gKHZvaWQpX2hhbmRsZUJh
Y2tncm91bmRUYXNrRXhwaXJhdGlvbgoreworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5z
aW9uLCAiV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3VuZFRhc2tNYW5hZ2VyOiBCYWNrZ3JvdW5k
IHRhc2sgZXhwaXJlZCB3aGlsZSBob2xkaW5nIFdlYktpdCBQcm9jZXNzQXNzZXJ0aW9uIChpc01h
aW5UaHJlYWQ/ICVkKS4iLCBSdW5Mb29wOjppc01haW4oKSk7CisgICAgaWYgKCFfYXBwbGljYXRp
b25Jc0JhY2tncm91bmRlZCkgeworICAgICAgICAvLyBXZSd2ZSByZWNlaXZlZCB0aGUgaW52YWxp
ZGF0aW9uIHdhcm5pbmcgYWZ0ZXIgdGhlIGFwcCBoYXMgYmVjb21lIGZvcmVncm91bmQgYWdhaW4u
IEluIHRoaXMgY2FzZSwgd2Ugc2hvdWxkIG5vdAorICAgICAgICAvLyB3YXJuIGNsaWVudHMgb2Yg
aW1taW5lbnQgc3VzcGVuc2lvbi4gVG8gYmUgc2FmZSAoYXZvaWQgcG90ZW50aWFsIGtpbGxpbmcp
LCB3ZSBlbmQgdGhlIHRhc2sgcmlnaHQgYXdheSBhbmQgY2FsbAorICAgICAgICAvLyBfdXBkYXRl
QmFja2dyb3VuZFRhc2sgYXN5bmNocm9ub3VzbHkgdG8gc3RhcnQgYSBuZXcgdGFzayBpZiBuZWNl
c3NhcnkuCisgICAgICAgIFtzZWxmIF9yZWxlYXNlQmFja2dyb3VuZFRhc2tdOworICAgICAgICBk
aXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeeworICAgICAgICAgICAg
W3NlbGYgX3VwZGF0ZUJhY2tncm91bmRUYXNrXTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICAvLyBUaGUgZXhwaXJhdGlvbiBoYW5kbGVyIGdldHMgY2FsbGVkIG9u
IGEgbm9uLW1haW4gdGhyZWFkIHdoZW4gdGhlIHVuZGVybHlpbmcgYXNzZXJ0aW9uIGNvdWxkIG5v
dCBiZSB0YWtlbiAocmRhcjovL3Byb2JsZW0vMjcyNzg0MTkpLgorICAgIGlmIChSdW5Mb29wOjpp
c01haW4oKSkKKyAgICAgICAgW3NlbGYgX25vdGlmeUFzc2VydGlvbnNPZkltbWluZW50U3VzcGVu
c2lvbl07CisgICAgZWxzZSB7CisgICAgICAgIGRpc3BhdGNoX3N5bmMoZGlzcGF0Y2hfZ2V0X21h
aW5fcXVldWUoKSwgXnsKKyAgICAgICAgICAgIFtzZWxmIF9ub3RpZnlBc3NlcnRpb25zT2ZJbW1p
bmVudFN1c3BlbnNpb25dOworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBbc2VsZiBfc2NoZWR1
bGVSZWxlYXNlVGFza107Cit9CisKIC0gKHZvaWQpX3JlbGVhc2VCYWNrZ3JvdW5kVGFzawogewot
ICAgIGlmIChfYmFja2dyb3VuZFRhc2sgPT0gVUlCYWNrZ3JvdW5kVGFza0ludmFsaWQpCisgICAg
aWYgKCFbc2VsZiBfaGFzQmFja2dyb3VuZFRhc2tdKQogICAgICAgICByZXR1cm47CiAKLSAgICBS
RUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV0tQcm9jZXNzQXNzZXJ0aW9uQmFj
a2dyb3VuZFRhc2tNYW5hZ2VyIC0gZW5kQmFja2dyb3VuZFRhc2siLCBzZWxmKTsKKyAgICBSRUxF
QVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dy
b3VuZFRhc2tNYW5hZ2VyOiBlbmRCYWNrZ3JvdW5kVGFzayIsIHNlbGYpOwogICAgIGlmIChfYXBw
bGljYXRpb25Jc0JhY2tncm91bmRlZCkKICAgICAgICAgV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6
bm90aWZ5UHJvY2Vzc1Bvb2xzQXBwbGljYXRpb25Jc0Fib3V0VG9TdXNwZW5kKCk7CisKKyNpZiBI
QVZFKFJVTk5JTkdCT0FSRF9XRUJLSVRfQVNTRVJUSU9OUykKKyAgICBbX2JhY2tncm91bmRUYXNr
IHJlbW92ZU9ic2VydmVyOnNlbGZdOworICAgIFtfYmFja2dyb3VuZFRhc2sgaW52YWxpZGF0ZV07
CisgICAgX2JhY2tncm91bmRUYXNrID0gbnVsbHB0cjsKKyNlbHNlCiAgICAgW1tVSUFwcGxpY2F0
aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBlbmRCYWNrZ3JvdW5kVGFzazpfYmFja2dyb3VuZFRhc2td
OwogICAgIF9iYWNrZ3JvdW5kVGFzayA9IFVJQmFja2dyb3VuZFRhc2tJbnZhbGlkOworI2VuZGlm
CiB9CiAKIEBlbmQK
</data>

          </attachment>
      

    </bug>

</bugzilla>