<?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>196695</bug_id>
          
          <creation_ts>2019-04-08 10:02:01 -0700</creation_ts>
          <short_desc>[iOS] WebContent processes should be marked as &quot;Foreground Running&quot; when their view is visible</short_desc>
          <delta_ts>2019-04-09 14:42:49 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>jer.noble</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1525217</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-08 10:02:01 -0700</bug_when>
    <thetext>WebContent processes should be marked as &quot;Foreground Running&quot; when their view is visible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525218</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-08 10:02:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/48073787&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525230</commentid>
    <comment_count>2</comment_count>
      <attachid>366949</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-08 10:25:55 -0700</bug_when>
    <thetext>Created attachment 366949
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525238</commentid>
    <comment_count>3</comment_count>
      <attachid>366949</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-04-08 10:30:46 -0700</bug_when>
    <thetext>Comment on attachment 366949
Patch

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

&gt; Source/WTF/wtf/FeatureDefines.h:182
&gt; +#define ENABLE_VISIBILITY_PROPAGATION_VIEW

Isn’t this a platform-feature-existence thing, not a WebKit feature toggle? So, HAVE, not ENABLE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525257</commentid>
    <comment_count>4</comment_count>
      <attachid>366949</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-04-08 10:52:03 -0700</bug_when>
    <thetext>Comment on attachment 366949
Patch

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

&gt; Source/WebKit/UIProcess/PageClient.h:286
&gt; +    virtual void didCreateContextForVisibilityPropagation(uint32_t contextID) { }

I think we should typedef the uint32_t in our code, and refer to it as a &quot;LayerHostingContextID&quot; everywhere. Otherwise, &quot;contextID&quot; is just too vague, and too easily confused with other types of context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525352</commentid>
    <comment_count>5</comment_count>
      <attachid>366977</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-08 14:06:37 -0700</bug_when>
    <thetext>Created attachment 366977
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525368</commentid>
    <comment_count>6</comment_count>
      <attachid>366977</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-04-08 14:32:17 -0700</bug_when>
    <thetext>Comment on attachment 366977
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKContentView.mm:258
&gt; +- (void)_cleanupVisibilityPropagationView

&quot;cleanup&quot;? what kind of cleaning! looks like &quot;remove&quot; to me :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525372</commentid>
    <comment_count>7</comment_count>
      <attachid>366982</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-08 14:34:25 -0700</bug_when>
    <thetext>Created attachment 366982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525666</commentid>
    <comment_count>8</comment_count>
      <attachid>367051</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-09 10:21:35 -0700</bug_when>
    <thetext>Created attachment 367051
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525684</commentid>
    <comment_count>9</comment_count>
      <attachid>367051</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-09 11:08:33 -0700</bug_when>
    <thetext>Comment on attachment 367051
Patch

Clearing flags on attachment: 367051

Committed r244085: &lt;https://trac.webkit.org/changeset/244085&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525685</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-09 11:08:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525761</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-09 14:42:49 -0700</bug_when>
    <thetext>Follow-up in &lt;https://trac.webkit.org/changeset/244095&gt; to fix webkitpy test failure.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366949</attachid>
            <date>2019-04-08 10:25:55 -0700</date>
            <delta_ts>2019-04-08 14:06:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196695-20190408102555.patch</filename>
            <type>text/plain</type>
            <size>16099</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNiZGUxMGY0NWY3OTgzMWE2
Mzc1ZTBhZjlmYzMyM2VjMTQwMzEwYzQuLjlhZTFjMzEwYzdhZTYzM2FkYTAzNDQwNjU0ZWZjZDg0
MTU5ZTViYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTktMDQtMDggIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBXZWJDb250ZW50IHByb2Nl
c3NlcyBzaG91bGQgYmUgbWFya2VkIGFzICJGb3JlZ3JvdW5kIFJ1bm5pbmciIHdoZW4gdGhlaXIg
dmlldyBpcyB2aXNpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTY2OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4MDczNzg3PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIG9yZGVyIGZvciBX
ZWJDb250ZW50IHByb2Nlc3NlcyB0byBnZXQgbWFya2VkIGFzICJGb3JlZ3JvdW5kIFJ1bm5pbmci
IHdoZW4gdGhlaXIgdmlldworICAgICAgICBpcyB2aXNpYmxlIG9uIGlPUywgd2Ugbm93IGNvbnN0
cnVjdCBhIF9VSUxheWVySG9zdFZpZXcgaW4gdGhlIFVJUHJvY2VzcyBhbmQgYWRkIGl0IGFzCisg
ICAgICAgIGEgc3VidmlldyBvZiB0aGUgV0tDb250ZW50Vmlldy4gVGhlIF9VSUxheWVySG9zdFZp
ZXcncyB2aXNpYmlsaXR5IHRhcmdldCBpcyB0aGUKKyAgICAgICAgV2ViQ29udGVudCBwcm9jZXNz
IGN1cnJlbnRseSBhc3NvY2lhdGVkIHdpdGggdGhlIHZpZXcuCisKKyAgICAgICAgKiBQbGF0Zm9y
bS9zcGkvaW9zL1VJS2l0U1BJLmg6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoK
KyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6ZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxp
dHlQcm9wYWdhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Byb3h5Ojpjb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpk
aWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXcubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2NvbW1vbkluaXRpYWxpemF0
aW9uV2l0aFByb2Nlc3NQb29sOmNvbmZpZ3VyYXRpb246XSk6CisgICAgICAgICgtW1dLQ29udGVu
dFZpZXcgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld10pOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IF9wcm9jZXNzRGlkRXhpdF0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9k
aWRSZWxhdW5jaFByb2Nlc3NdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcHJvY2Vzc0Rp
ZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb25dKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dlYlByb2Nlc3NQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Byb3h5OjpkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9u
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
czo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMTktMDQtMDcgIENvbW1pdCBR
dWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIyNDM5NTYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVm
aW5lcy5oIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCBjNDA2OWFjZWVh
MTJlZmFiNjRlMWJkMjk0NmQ1ZWZlODdhMmRmODNjLi4wNzM1ZGFjZjllOTQ3YTczN2NjNTU5OWJm
ZDE4NDJkYWU2OTFhNDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5l
cy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTE3Nyw2ICsxNzcs
MTIgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE3OTE2
Nz4uICovCiAjZW5kaWYKICNlbmRpZgogCisjaWYgIWRlZmluZWQoRU5BQkxFX1ZJU0lCSUxJVFlf
UFJPUEFHQVRJT05fVklFVykKKyNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMzAwMDAKKyNkZWZpbmUgRU5BQkxFX1ZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVworI2Vu
ZGlmCisjZW5kaWYKKwogI2lmICFkZWZpbmVkKEhBVkVfQVZTVFJFQU1TRVNTSU9OKQogI2RlZmlu
ZSBIQVZFX0FWU1RSRUFNU0VTU0lPTiAwCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9z
cGkvaW9zL1VJS2l0U1BJLmgKaW5kZXggOWE4ODc3M2YzMWYwYjA0ZjJmOGJjOWM1OTE0NDVhMjhl
YWNhYjM0Yy4uNDFjYjgxMDY1ODliZDFlMTQyMDE0NTdiMTI4MDY0ZGE0NTJiY2NlMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKQEAgLTExMTksNiArMTExOSw3
IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU0ludGVnZXIsIFVJV0tEb2N1bWVudFJlcXVlc3RGbGFn
cykgewogQGVuZAogCiBAaW50ZXJmYWNlIF9VSUxheWVySG9zdFZpZXcgOiBVSVZpZXcKKy0gKGlu
c3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUgcGlkOihwaWRfdClwaWQgY29u
dGV4dElEOih1aW50MzJfdCljb250ZXh0SUQ7CiBAZW5kCiAKIEBpbnRlcmZhY2UgX1VJUmVtb3Rl
VmlldyA6IF9VSUxheWVySG9zdFZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApp
bmRleCA3ZGY1NGMzYzA1ZGUyNTcyMzlmNGM4NmU3ZTYxMjQ3ZmJiYzJhYjIzLi5lZGE0ZDI4N2M3
NmQ3OTMxNzhmMmU0ZDYzM2VmYjhmM2Q5NjM2ZDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oCkBAIC0yODEsNiArMjgxLDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkTm90SGFuZGxlVGFwQXNDbGljayhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ29tcGxldGVTeW50aGV0aWNDbGljaygpID0gMDsKICNlbmRpZgor
CisjaWYgRU5BQkxFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbih1aW50MzJfdCBjb250
ZXh0SUQpIHsgfQorI2VuZGlmCiAgICAgCiAgICAgdmlydHVhbCB2b2lkIGRvbmVXaXRoS2V5RXZl
bnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYsIGJvb2wgd2FzRXZlbnRIYW5kbGVkKSA9
IDA7CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKaW5kZXggYTFjODNhY2E0NzU3OTZkNWY5ZDE3MjdmMGUwZDYyNDY0MDNlYWYxZS4u
ODlmZDE1MWU4MzIxOTI5NzNlYWY2MzY4ZDIwYTZmMDRkNjU2NWVlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEwNTQsNiArMTA1NCwxMCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBwcm9jZXNzV2lsbEJlY29tZUZvcmVncm91bmQoKTsKICNlbmRpZgogCisjaWYgRU5B
QkxFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKKyAgICB2b2lkIGRpZENyZWF0ZUNvbnRl
eHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24odWludDMyX3QgY29udGV4dElEKTsKKyNlbmRpZgor
CiAgICAgdmlydHVhbCB2b2lkIGVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoY29uc3Qg
TGF5ZXJUcmVlQ29udGV4dCYpOwogICAgIHZpcnR1YWwgdm9pZCBleGl0QWNjZWxlcmF0ZWRDb21w
b3NpdGluZ01vZGUoKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ01vZGUoY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuaAppbmRleCA2N2JjN2Y1NTRlODg5ZGM1NDQ5NTUwYWI2NDMxNzUz
NTRmZWQ4MWVjLi4xNmRkNmUzY2Q2Y2VjZDBhYTBjMmViMWE5YjhkMGRjNmNlMWIxOWFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtMjk3LDYgKzI5Nywx
MCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlcklmTmVlZGVk
KCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisg
ICAgdWludDMyX3QgY29udGV4dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKCkgeyByZXR1cm4g
bV9jb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb247IH0KKyNlbmRpZgorCiBwcm90ZWN0
ZWQ6CiAgICAgc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlUGFnZUlEKCk7CiAgICAgV2ViUHJvY2Vz
c1Byb3h5KFdlYlByb2Nlc3NQb29sJiwgV2Vic2l0ZURhdGFTdG9yZSosIElzUHJld2FybWVkKTsK
QEAgLTMzNyw2ICszNDEsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZERlbGl2ZXJNZXNzYWdl
UG9ydE1lc3NhZ2VzKHVpbnQ2NF90IG1lc3NhZ2VCYXRjaElkZW50aWZpZXIpOwogICAgIHZvaWQg
ZGlkQ2hlY2tQcm9jZXNzTG9jYWxQb3J0Rm9yQWN0aXZpdHkodWludDY0X3QgY2FsbGJhY2tJZGVu
dGlmaWVyLCBib29sIGlzTG9jYWxseVJlYWNoYWJsZSk7CiAKKyNpZiBFTkFCTEUoVklTSUJJTElU
WV9QUk9QQUdBVElPTl9WSUVXKQorICAgIHZvaWQgZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxp
dHlQcm9wYWdhdGlvbih1aW50MzJfdCBjb250ZXh0SUQpOworI2VuZGlmCisKICAgICBib29sIGhh
c1Byb3Zpc2lvbmFsUGFnZVdpdGhJRCh1aW50NjRfdCBwYWdlSUQpIGNvbnN0OwogICAgIGJvb2wg
aXNBbGxvd2VkVG9VcGRhdGVCYWNrRm9yd2FyZEl0ZW0oV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYp
IGNvbnN0OwogCkBAIC00NDIsNiArNDUwLDEwIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hhc1Nl
bnRNZXNzYWdlVG9VbmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlciB7IGZhbHNlIH07CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgdWludDMyX3Qg
bV9jb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24geyAwIH07CisjZW5kaWYKKwogICAg
IEhhc2hNYXA8U3RyaW5nLCB1aW50NjRfdD4gbV9wYWdlVVJMUmV0YWluQ291bnRNYXA7CiAKICAg
ICBPcHRpb25hbDxXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbj4gbV9yZWdpc3RyYWJsZURvbWFp
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNz
YWdlcy5pbgppbmRleCBjNDI0YzE4ZTY4MzQ0NDM3NWU0OTE2NGM5ZGU4OTkyZjg3YmNkN2ZmLi5k
ZWM3NTcxZTRjMjMxNzY3YjY5NmJiNjMzODA0NGZiNzg1MDY1YjExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC03OSw0
ICs3OSw4IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3NQcm94eSBMZWdhY3lSZWNlaXZlciB7CiAg
ICAgU3RhcnREaXNwbGF5TGluayh1bnNpZ25lZCBvYnNlcnZlcklELCB1aW50MzJfdCBkaXNwbGF5
SUQpCiAgICAgU3RvcERpc3BsYXlMaW5rKHVuc2lnbmVkIG9ic2VydmVySUQsIHVpbnQzMl90IGRp
c3BsYXlJRCkKICNlbmRpZgorCisjaWYgRU5BQkxFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklF
VykKKyAgICBEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKHVpbnQzMl90
IGNvbnRleHRJRCk7CisjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLmgKaW5kZXggNDc5MmMyYWYxYjZhNmQxMWZhYTg1MjljNjIzYTYw
NDQyZWYzMTE1OS4uMjY2ZGU2ZmUwNTc5Y2RmYmFkYjI5OTY0MmJjYWRiMzA2NWIzMTM3YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAg
LTY4LDYgKzY4LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByb2Nlc3NEaWRFeGl0KCkgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBwcm9jZXNzV2lsbFN3YXAoKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFJl
bGF1bmNoUHJvY2VzcygpIG92ZXJyaWRlOworI2lmIEVOQUJMRShWSVNJQklMSVRZX1BST1BBR0FU
SU9OX1ZJRVcpCisgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0
aW9uKHVpbnQzMl90KSBvdmVycmlkZTsKKyNlbmRpZgogICAgIHZvaWQgcGFnZUNsb3NlZCgpIG92
ZXJyaWRlOwogICAgIHZvaWQgcHJlZmVyZW5jZXNEaWRDaGFuZ2UoKSBvdmVycmlkZTsKICAgICB2
b2lkIHRvb2xUaXBDaGFuZ2VkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1t
CmluZGV4IDQxYjQ3NzYwMzQzZjRjY2FiMDFlMTc1NDlhOGZjMWI4YmQ5NGJiN2QuLjc2MzcyYTBm
NDRhYjVmYjViYjhjNzYxODQwMzgzMzFlOTQ2YmY0OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTE3NSw2ICsxNzUsMTMgQEAg
dm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkUmVsYXVuY2hQcm9jZXNzKCkKICAgICBbbV93ZWJWaWV3
IF9kaWRSZWxhdW5jaFByb2Nlc3NdOwogfQogCisjaWYgRU5BQkxFKFZJU0lCSUxJVFlfUFJPUEFH
QVRJT05fVklFVykKK3ZvaWQgUGFnZUNsaWVudEltcGw6OmRpZENyZWF0ZUNvbnRleHRGb3JWaXNp
YmlsaXR5UHJvcGFnYXRpb24odWludDMyX3QpCit7CisgICAgW21fY29udGVudFZpZXcgX3Byb2Nl
c3NEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uXTsKK30KKyNlbmRpZgor
CiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpwYWdlQ2xvc2VkKCkKIHsKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3LmgKaW5kZXgg
NGIyOTBhN2Y1YTM5MzQ0ODc1MjkwN2IwN2UxMmI3OTJiMGE3NTI0ZC4uNmFkMjc3MDk3OTMzMWEz
NmZhZGNmNjM0OGVjM2E2ZTBjZTkzODNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlldy5oCkBAIC05Myw2ICs5Myw5IEBAIGNsYXNzIFdlYlByb2Nlc3NQb29s
OwogLSAodm9pZClfcHJvY2Vzc0RpZEV4aXQ7CiAtICh2b2lkKV9wcm9jZXNzV2lsbFN3YXA7CiAt
ICh2b2lkKV9kaWRSZWxhdW5jaFByb2Nlc3M7CisjaWYgRU5BQkxFKFZJU0lCSUxJVFlfUFJPUEFH
QVRJT05fVklFVykKKy0gKHZvaWQpX3Byb2Nlc3NEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0
eVByb3BhZ2F0aW9uOworI2VuZGlmCiAtICh2b2lkKV9zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5n
Um9vdFZpZXc6KFVJVmlldyAqKXJvb3RWaWV3OwogCiAtICh2b2lkKV9zaG93SW5zcGVjdG9ySGln
aGxpZ2h0Oihjb25zdCBXZWJDb3JlOjpIaWdobGlnaHQmKWhpZ2hsaWdodDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KaW5kZXggZmYxNjNkYWFkYzRhNzFm
MWNkNGRlM2I0MjVmY2NiYmFiNmNmZjhkOS4uNGU4NmU1NTY3MTk1MWUxNDJjMTIyMWRlMWMwNjVh
Y2ZmNTE0OGRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXcubW0KQEAgLTE4Myw2ICsxODMsMTAgQEAgQGltcGxlbWVudGF0aW9uIFdLQ29udGVudFZpZXcg
ewogICAgIFJldGFpblB0cjxXS0luc3BlY3RvckluZGljYXRpb25WaWV3PiBfaW5zcGVjdG9ySW5k
aWNhdGlvblZpZXc7CiAgICAgUmV0YWluUHRyPFdLSW5zcGVjdG9ySGlnaGxpZ2h0Vmlldz4gX2lu
c3BlY3RvckhpZ2hsaWdodFZpZXc7CiAKKyNpZiBFTkFCTEUoVklTSUJJTElUWV9QUk9QQUdBVElP
Tl9WSUVXKQorICAgIFJldGFpblB0cjxfVUlMYXllckhvc3RWaWV3PiBfdmlzaWJpbGl0eVByb3Bh
Z2F0aW9uVmlldzsKKyNlbmRpZgorCiAgICAgV2ViS2l0OjpIaXN0b3JpY2FsVmVsb2NpdHlEYXRh
IF9oaXN0b3JpY2FsS2luZW1hdGljRGF0YTsKIAogICAgIFJldGFpblB0cjxOU1VuZG9NYW5hZ2Vy
PiBfdW5kb01hbmFnZXI7CkBAIC0yMjYsMTIgKzIzMCwzOCBAQCAtIChpbnN0YW5jZXR5cGUpX2Nv
bW1vbkluaXRpYWxpemF0aW9uV2l0aFByb2Nlc3NQb29sOihXZWJLaXQ6OldlYlByb2Nlc3NQb29s
JilwcgogCiAgICAgc2VsZi5sYXllci5oaXRUZXN0c0FzT3BhcXVlID0gWUVTOwogCisjaWYgRU5B
QkxFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKKyAgICBbc2VsZiBfc2V0dXBWaXNpYmls
aXR5UHJvcGFnYXRpb25WaWV3XTsKKyNlbmRpZgorCiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRl
ciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfYXBw
bGljYXRpb25XaWxsUmVzaWduQWN0aXZlOikgbmFtZTpVSUFwcGxpY2F0aW9uV2lsbFJlc2lnbkFj
dGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25d
XTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVy
OnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9hcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZTopIG5h
bWU6VUlBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBw
bGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dXTsKIAogICAgIHJldHVybiBzZWxmOwogfQogCisj
aWYgRU5BQkxFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKKy0gKHZvaWQpX3NldHVwVmlz
aWJpbGl0eVByb3BhZ2F0aW9uVmlldworeworICAgIGF1dG8gcHJvY2Vzc0lkZW50aWZpZXIgPSBf
cGFnZS0+cHJvY2VzcygpLnByb2Nlc3NJZGVudGlmaWVyKCk7CisgICAgYXV0byBjb250ZXh0SUQg
PSBfcGFnZS0+cHJvY2VzcygpLmNvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbigpOwor
ICAgIGlmICghcHJvY2Vzc0lkZW50aWZpZXIgfHwgIWNvbnRleHRJRCkKKyAgICAgICAgcmV0dXJu
OworCisgICAgQVNTRVJUKCFfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldyk7CisgICAgLy8gUHJv
cGFnYXRlIHRoZSB2aWV3J3MgdmlzaWJpbGl0eSBzdGF0ZSB0byB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzIHNvIHRoYXQgaXQgaXMgbWFya2VkIGFzICJGb3JlZ3JvdW5kIFJ1bm5pbmciIHdoZW4gbmVj
ZXNzYXJ5LgorICAgIF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3ID0gYWRvcHROUyhbW19VSUxh
eWVySG9zdFZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0WmVybyBwaWQ6cHJvY2Vzc0lk
ZW50aWZpZXIgY29udGV4dElEOmNvbnRleHRJRF0pOworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3Ms
ICJDcmVhdGVkIHZpc2liaWxpdHkgcHJvcGFnYXRpb24gdmlldyAlcCBmb3IgV2ViQ29udGVudCBw
cm9jZXNzIHdpdGggUElEICVkIiwgX3Zpc2liaWxpdHlQcm9wYWdhdGlvblZpZXcuZ2V0KCksIHBy
b2Nlc3NJZGVudGlmaWVyKTsKKyAgICBbc2VsZiBhZGRTdWJ2aWV3Ol92aXNpYmlsaXR5UHJvcGFn
YXRpb25WaWV3LmdldCgpXTsKK30KKworLSAodm9pZClfY2xlYW51cFZpc2liaWxpdHlQcm9wYWdh
dGlvblZpZXcKK3sKKyAgICBbX3Zpc2liaWxpdHlQcm9wYWdhdGlvblZpZXcgcmVtb3ZlRnJvbVN1
cGVydmlld107CisgICAgX3Zpc2liaWxpdHlQcm9wYWdhdGlvblZpZXcgPSBudWxscHRyOworfQor
I2VuZGlmCisKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUgcHJv
Y2Vzc1Bvb2w6KFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2wmKXByb2Nlc3NQb29sIGNvbmZpZ3VyYXRp
b246KFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYmKWNvbmZpZ3VyYXRpb24gd2ViVmlldzoo
V0tXZWJWaWV3ICopd2ViVmlldwogewogICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdFdpdGhG
cmFtZTpmcmFtZSB3ZWJWaWV3OndlYlZpZXddKSkKQEAgLTUzOCw2ICs1NjgsMTAgQEAgLSAodm9p
ZClfcHJvY2Vzc0RpZEV4aXQKIAogICAgIFtzZWxmIHNldFNob3dpbmdJbnNwZWN0b3JJbmRpY2F0
aW9uOk5PXTsKICAgICBbc2VsZiBfaGlkZUluc3BlY3RvckhpZ2hsaWdodF07CisKKyNpZiBFTkFC
TEUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIFtzZWxmIF9jbGVhbnVwVmlzaWJp
bGl0eVByb3BhZ2F0aW9uVmlld107CisjZW5kaWYKIH0KIAogLSAodm9pZClfcHJvY2Vzc1dpbGxT
d2FwCkBAIC01NTAsOCArNTg0LDE4IEBAIC0gKHZvaWQpX2RpZFJlbGF1bmNoUHJvY2Vzcwogewog
ICAgIFtzZWxmIF9hY2Nlc3NpYmlsaXR5UmVnaXN0ZXJVSVByb2Nlc3NUb2tlbnNdOwogICAgIFtz
ZWxmIHNldHVwSW50ZXJhY3Rpb25dOworI2lmIEVOQUJMRShWSVNJQklMSVRZX1BST1BBR0FUSU9O
X1ZJRVcpCisgICAgW3NlbGYgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld107CisjZW5k
aWYKIH0KIAorI2lmIEVOQUJMRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCistICh2b2lk
KV9wcm9jZXNzRGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbgoreworICAg
IFtzZWxmIF9zZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXddOworfQorI2VuZGlmCisKIC0g
KHZvaWQpX2RpZENvbW1pdExvYWRGb3JNYWluRnJhbWUKIHsKICAgICBbc2VsZiBfZWxlbWVudERp
ZEJsdXJdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQ
cm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1Mu
bW0KaW5kZXggYjk2Zjg5NGFlZTQ3YTExNDE2YWY1ODgzYzJhMGNhNWFhMzdhZmEzNS4uYmQ2NmZi
MDJhMmFiNWQzZGM4MDYyZGYzMTVlYTc5ZGQ3NzM3Mzk2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCkBAIC04MSw2ICs4MSwxMyBAQCBTdHJp
bmcgV2ViUGFnZVByb3h5OjpzdGFuZGFyZFVzZXJBZ2VudChjb25zdCBTdHJpbmcmIGFwcGxpY2F0
aW9uTmFtZUZvclVzZXJBZ2VudAogICAgIHJldHVybiBzdGFuZGFyZFVzZXJBZ2VudFdpdGhBcHBs
aWNhdGlvbk5hbWUoYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50KTsKIH0KIAorI2lmIEVOQUJM
RShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ3Jl
YXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbih1aW50MzJfdCBjb250ZXh0SUQpCit7
CisgICAgcGFnZUNsaWVudCgpLmRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRp
b24oY29udGV4dElEKTsKK30KKyNlbmRpZgorCiB2b2lkIFdlYlBhZ2VQcm94eTo6Z2V0SXNTcGVh
a2luZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
ewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV2ViUHJvY2Vzc1Byb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dlYlByb2Nlc3NQcm94eUlPUy5tbQppbmRleCA0Mzg4MDg3ZDFkMzI0OTY1ODFkMzk4MGE3
NzdkM2MzOGVmMWQ0OTQyLi41YjU2ODFhNGVjNjZiZjk0NmZkNzIzYjc2OTQ3N2NjZjEwNWUzOWYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUHJvY2Vzc1Byb3h5
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQcm9jZXNzUHJveHlJ
T1MubW0KQEAgLTYyLDYgKzYyLDE1IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojp1bmJsb2NrQWNj
ZXNzaWJpbGl0eVNlcnZlcklmTmVlZGVkKCkKICAgICBtX2hhc1NlbnRNZXNzYWdlVG9VbmJsb2Nr
QWNjZXNzaWJpbGl0eVNlcnZlciA9IHRydWU7CiB9CiAKKyNpZiBFTkFCTEUoVklTSUJJTElUWV9Q
Uk9QQUdBVElPTl9WSUVXKQordm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZENyZWF0ZUNvbnRleHRG
b3JWaXNpYmlsaXR5UHJvcGFnYXRpb24odWludDMyX3QgY29udGV4dElEKQoreworICAgIG1fY29u
dGV4dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uID0gY29udGV4dElEOworICAgIGZvciAoYXV0
byYgcGFnZSA6IGNvcHlUb1ZlY3Rvck9mPFJlZlB0cjxXZWJQYWdlUHJveHk+PihtX3BhZ2VNYXAu
dmFsdWVzKCkpKQorICAgICAgICBwYWdlLT5kaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uKGNvbnRleHRJRCk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmgKaW5kZXggZWU3ODFhMGJiYjVmODY0MzI5MTVkZTkwYTdhZDM5ZTEwMGRjZjEw
Ni4uNmNmYTM2YWRiZTZlOWVkZDNjYjIzNmI3ZjA5YjIwYWEwZmVkMTQwMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0xMTIsNiArMTEyLDEwIEBAIGNsYXNzIFdlYlNR
TGl0ZURhdGFiYXNlVHJhY2tlcjsKIHN0cnVjdCBXZWJzaXRlRGF0YTsKIHN0cnVjdCBXZWJzaXRl
RGF0YVN0b3JlUGFyYW1ldGVyczsKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCitjbGFzcyBM
YXllckhvc3RpbmdDb250ZXh0OworI2VuZGlmCisKIGNsYXNzIFdlYlByb2Nlc3MgOiBwdWJsaWMg
QXV4aWxpYXJ5UHJvY2VzcyB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYlByb2Nlc3MmIHNpbmds
ZXRvbigpOwpAQCAtNDk4LDYgKzUwMiw5IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyPiBtX3dl
YlNRTGl0ZURhdGFiYXNlVHJhY2tlcjsKICNlbmRpZgorI2lmIEVOQUJMRShWSVNJQklMSVRZX1BS
T1BBR0FUSU9OX1ZJRVcpCisgICAgc3RkOjp1bmlxdWVfcHRyPExheWVySG9zdGluZ0NvbnRleHQ+
IG1fY29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbjsKKyNlbmRpZgogCiAgICAgZW51bSBQ
YWdlTWFya2luZ0xheWVyc0FzVm9sYXRpbGVDb3VudGVyVHlwZSB7IH07CiAgICAgdXNpbmcgUGFn
ZU1hcmtpbmdMYXllcnNBc1ZvbGF0aWxlQ291bnRlciA9IFJlZkNvdW50ZXI8UGFnZU1hcmtpbmdM
YXllcnNBc1ZvbGF0aWxlQ291bnRlclR5cGU+OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KaW5kZXggMjRhYzVlMGFiMjlhYjM5NWVkYmM2
MTA4NDJjNWExZTgyNTFmMjVhYi4uNjNhODBmM2NhOGVmNjM5NDBmOGFkYzZhOTIwN2ZkZThmZDc1
MzE4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tCkBAIC0xNzEsNiArMTcxLDEyIEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1J
bml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhCiAK
ICAgICBtX2NvbXBvc2l0aW5nUmVuZGVyU2VydmVyUG9ydCA9IFdURk1vdmUocGFyYW1ldGVycy5h
Y2NlbGVyYXRlZENvbXBvc2l0aW5nUG9ydCk7CiAKKyNpZiBFTkFCTEUoVklTSUJJTElUWV9QUk9Q
QUdBVElPTl9WSUVXKQorICAgIG1fY29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbiA9IExh
eWVySG9zdGluZ0NvbnRleHQ6OmNyZWF0ZUZvckV4dGVybmFsSG9zdGluZ1Byb2Nlc3MoKTsKKyAg
ICBSRUxFQVNFX0xPRyhQcm9jZXNzLCAiQ3JlYXRlZCBjb250ZXh0IHdpdGggSUQgJWQgZm9yIHZp
c2liaWxpdHkgcHJvcGFnYXRpb24gZnJvbSBVSVByb2Nlc3MiLCBtX2NvbnRleHRGb3JWaXNpYmls
aXR5UHJvcGFnYXRpb24tPmNvbnRleHRJRCgpKTsKKyAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlv
bigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkRpZENyZWF0ZUNvbnRleHRGb3JW
aXNpYmlsaXR5UHJvcGFnYXRpb24obV9jb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uLT5j
b250ZXh0SUQoKSksIDApOworI2VuZGlmCisKICAgICBXZWJDb3JlOjpyZWdpc3Rlck1lbW9yeVJl
bGVhc2VOb3RpZnlDYWxsYmFja3MoKTsKICAgICBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OlJlbGll
ZkxvZ2dlcjo6c2V0TG9nZ2luZ0VuYWJsZWQocGFyYW1ldGVycy5zaG91bGRFbmFibGVNZW1vcnlQ
cmVzc3VyZVJlbGllZkxvZ2dpbmcpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366977</attachid>
            <date>2019-04-08 14:06:37 -0700</date>
            <delta_ts>2019-04-08 14:34:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196695-20190408140636.patch</filename>
            <type>text/plain</type>
            <size>19385</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNiZGUxMGY0NWY3OTgzMWE2
Mzc1ZTBhZjlmYzMyM2VjMTQwMzEwYzQuLjlhZTFjMzEwYzdhZTYzM2FkYTAzNDQwNjU0ZWZjZDg0
MTU5ZTViYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTktMDQtMDggIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBXZWJDb250ZW50IHByb2Nl
c3NlcyBzaG91bGQgYmUgbWFya2VkIGFzICJGb3JlZ3JvdW5kIFJ1bm5pbmciIHdoZW4gdGhlaXIg
dmlldyBpcyB2aXNpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTY2OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4MDczNzg3PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIG9yZGVyIGZvciBX
ZWJDb250ZW50IHByb2Nlc3NlcyB0byBnZXQgbWFya2VkIGFzICJGb3JlZ3JvdW5kIFJ1bm5pbmci
IHdoZW4gdGhlaXIgdmlldworICAgICAgICBpcyB2aXNpYmxlIG9uIGlPUywgd2Ugbm93IGNvbnN0
cnVjdCBhIF9VSUxheWVySG9zdFZpZXcgaW4gdGhlIFVJUHJvY2VzcyBhbmQgYWRkIGl0IGFzCisg
ICAgICAgIGEgc3VidmlldyBvZiB0aGUgV0tDb250ZW50Vmlldy4gVGhlIF9VSUxheWVySG9zdFZp
ZXcncyB2aXNpYmlsaXR5IHRhcmdldCBpcyB0aGUKKyAgICAgICAgV2ViQ29udGVudCBwcm9jZXNz
IGN1cnJlbnRseSBhc3NvY2lhdGVkIHdpdGggdGhlIHZpZXcuCisKKyAgICAgICAgKiBQbGF0Zm9y
bS9zcGkvaW9zL1VJS2l0U1BJLmg6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoK
KyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6ZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxp
dHlQcm9wYWdhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Byb3h5Ojpjb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpk
aWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXcubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2NvbW1vbkluaXRpYWxpemF0
aW9uV2l0aFByb2Nlc3NQb29sOmNvbmZpZ3VyYXRpb246XSk6CisgICAgICAgICgtW1dLQ29udGVu
dFZpZXcgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld10pOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IF9wcm9jZXNzRGlkRXhpdF0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9k
aWRSZWxhdW5jaFByb2Nlc3NdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcHJvY2Vzc0Rp
ZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb25dKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dlYlByb2Nlc3NQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Byb3h5OjpkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9u
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
czo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMTktMDQtMDcgIENvbW1pdCBR
dWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIyNDM5NTYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVm
aW5lcy5oIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCBjNDA2OWFjZWVh
MTJlZmFiNjRlMWJkMjk0NmQ1ZWZlODdhMmRmODNjLi5lNzZlOGRjZDNkZjA3Y2I3NWMyNmIyMTM0
NWUxMmU1YmIyZjA5MmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5l
cy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTE3Nyw2ICsxNzcs
MTIgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE3OTE2
Nz4uICovCiAjZW5kaWYKICNlbmRpZgogCisjaWYgIWRlZmluZWQoSEFWRV9WSVNJQklMSVRZX1BS
T1BBR0FUSU9OX1ZJRVcpCisjaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTMwMDAwCisjZGVmaW5lIEhBVkVfVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXIDEKKyNlbmRp
ZgorI2VuZGlmCisKICNpZiAhZGVmaW5lZChIQVZFX0FWU1RSRUFNU0VTU0lPTikKICNkZWZpbmUg
SEFWRV9BVlNUUkVBTVNFU1NJT04gMAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL21hYy9MYXllckhvc3RpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL21hYy9MYXllckhvc3RpbmdDb250ZXh0LmgKaW5kZXggNjJjNzc3MDIxNTdlYTU5NThkNDJl
OTZmNGE5NGM2YjAwOWJiMjE5OC4uNTc5Nzc5M2U3Yjc1OTUzZDZjNzEwNTJmYTgxN2MzZmUzY2Zj
NjlkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9tYWMvTGF5ZXJIb3N0aW5n
Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vbWFjL0xheWVySG9zdGluZ0Nv
bnRleHQuaApAQCAtMzksNiArMzksOCBAQCBjbGFzcyBNYWNoU2VuZFJpZ2h0OwogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAordXNpbmcgTGF5ZXJIb3N0aW5nQ29udGV4dElEID0gdWludDMyX3Q7CisK
IGNsYXNzIExheWVySG9zdGluZ0NvbnRleHQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExh
eWVySG9zdGluZ0NvbnRleHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAg
LTU2LDcgKzU4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Um9vdExheWVyKENBTGF5ZXIgKik7
CiAgICAgQ0FMYXllciAqcm9vdExheWVyKCkgY29uc3Q7CiAKLSAgICB1aW50MzJfdCBjb250ZXh0
SUQoKSBjb25zdDsKKyAgICBMYXllckhvc3RpbmdDb250ZXh0SUQgY29udGV4dElEKCkgY29uc3Q7
CiAgICAgdm9pZCBpbnZhbGlkYXRlKCk7CiAKICAgICBMYXllckhvc3RpbmdNb2RlIGxheWVySG9z
dGluZ01vZGUoKSB7IHJldHVybiBtX2xheWVySG9zdGluZ01vZGU7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vbWFjL0xheWVySG9zdGluZ0NvbnRleHQubW0gYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL21hYy9MYXllckhvc3RpbmdDb250ZXh0Lm1tCmluZGV4IDViYTFmZWRi
YThmNmNiOTFhNTViZGZkMTI1ZmE0YzBjMDVhOWFjZWUuLjkxMGJiM2ZkOGI4YjQ5ODUyZTQ4ZWFk
MjJjMjU5MzAxZmY5NjZkODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vbWFj
L0xheWVySG9zdGluZ0NvbnRleHQubW0KKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9tYWMv
TGF5ZXJIb3N0aW5nQ29udGV4dC5tbQpAQCAtMTAzLDcgKzEwMyw3IEBAIENBTGF5ZXIgKkxheWVy
SG9zdGluZ0NvbnRleHQ6OnJvb3RMYXllcigpIGNvbnN0CiAgICAgcmV0dXJuIFttX2NvbnRleHQg
bGF5ZXJdOwogfQogCi11aW50MzJfdCBMYXllckhvc3RpbmdDb250ZXh0Ojpjb250ZXh0SUQoKSBj
b25zdAorTGF5ZXJIb3N0aW5nQ29udGV4dElEIExheWVySG9zdGluZ0NvbnRleHQ6OmNvbnRleHRJ
RCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIFttX2NvbnRleHQgY29udGV4dElkXTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKaW5kZXggOWE4ODc3M2YzMWYwYjA0
ZjJmOGJjOWM1OTE0NDVhMjhlYWNhYjM0Yy4uNDFjYjgxMDY1ODliZDFlMTQyMDE0NTdiMTI4MDY0
ZGE0NTJiY2NlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJ
S2l0U1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgK
QEAgLTExMTksNiArMTExOSw3IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU0ludGVnZXIsIFVJV0tE
b2N1bWVudFJlcXVlc3RGbGFncykgewogQGVuZAogCiBAaW50ZXJmYWNlIF9VSUxheWVySG9zdFZp
ZXcgOiBVSVZpZXcKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUg
cGlkOihwaWRfdClwaWQgY29udGV4dElEOih1aW50MzJfdCljb250ZXh0SUQ7CiBAZW5kCiAKIEBp
bnRlcmZhY2UgX1VJUmVtb3RlVmlldyA6IF9VSUxheWVySG9zdFZpZXcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1Nj
cmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDEyZmVmNjUxMmMwMjhkOTU2OWJkODI4ZDM5
OTc4NDgyNTI1YzhhZWIuLjA3ZWYyMTZmZGM4ZTdmZDAxN2VjNWE2NTU5ZmE4NDI0YmJlMjI0MzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysr
IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtMjEwLDYgKzIx
MCw3IEBAIGRlZiBmb3J3YXJkX2RlY2xhcmF0aW9uc19hbmRfaGVhZGVycyhyZWNlaXZlcik6CiAg
ICAgICAgICdXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcicsCiAg
ICAgICAgICdXZWJDb3JlOjpTV1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyJywKICAgICAgICAg
J1dlYktpdDo6QWN0aXZpdHlTdGF0ZUNoYW5nZUlEJywKKyAgICAgICAgJ1dlYktpdDo6TGF5ZXJI
b3N0aW5nQ29udGV4dElEJywKICAgICAgICAgJ1dlYktpdDo6VXNlckNvbnRlbnRDb250cm9sbGVy
SWRlbnRpZmllcicsCiAgICAgXSkKIApAQCAtNDUxLDYgKzQ1Miw3IEBAIGRlZiBoZWFkZXJzX2Zv
cl90eXBlKHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6U2VsZWN0aW9uUmVjdCc6IFsnIkVkaXRv
clN0YXRlLmgiJ10sCiAgICAgICAgICdXZWJLaXQ6OkFjdGl2aXR5U3RhdGVDaGFuZ2VJRCc6IFsn
IkRyYXdpbmdBcmVhSW5mby5oIiddLAogICAgICAgICAnV2ViS2l0OjpCYWNrRm9yd2FyZExpc3RJ
dGVtU3RhdGUnOiBbJyJTZXNzaW9uU3RhdGUuaCInXSwKKyAgICAgICAgJ1dlYktpdDo6TGF5ZXJI
b3N0aW5nQ29udGV4dElEJzogWyciTGF5ZXJIb3N0aW5nQ29udGV4dC5oIiddLAogICAgICAgICAn
V2ViS2l0OjpMYXllckhvc3RpbmdNb2RlJzogWyciTGF5ZXJUcmVlQ29udGV4dC5oIiddLAogICAg
ICAgICAnV2ViS2l0OjpQYWdlU3RhdGUnOiBbJyJTZXNzaW9uU3RhdGUuaCInXSwKICAgICAgICAg
J1dlYktpdDo6V2ViR2VzdHVyZUV2ZW50JzogWyciV2ViRXZlbnQuaCInXSwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCA3ZGY1NGMzYzA1ZGUyNTcyMzlmNGM4NmU3ZTYxMjQ3
ZmJiYzJhYjIzLi5kYjM2NzU3MjRmY2MxMjc5Yzg3NGU3ZTNiNmQwZTIzYmY4Y2QzMjU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0xNTcsNiArMTU3LDEwIEBAIGNsYXNz
IEluc3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zUGVybWlzc2lvblJlcXVlc3Q7CiBzdHJ1Y3QgQ29s
b3JTcGFjZURhdGE7CiAjZW5kaWYKIAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9W
SUVXKQordXNpbmcgTGF5ZXJIb3N0aW5nQ29udGV4dElEID0gdWludDMyX3Q7CisjZW5kaWYKKwog
Y2xhc3MgUGFnZUNsaWVudCA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQYWdlQ2xpZW50PiB7CiBw
dWJsaWM6CiAgICAgdmlydHVhbCB+UGFnZUNsaWVudCgpIHsgfQpAQCAtMjgxLDYgKzI4NSwxMCBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZENvbXBsZXRlU3lu
dGhldGljQ2xpY2soKSA9IDA7CiAjZW5kaWYKKworI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdB
VElPTl9WSUVXKQorICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0
eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCkgeyB9CisjZW5kaWYKICAgICAKICAg
ICB2aXJ0dWFsIHZvaWQgZG9uZVdpdGhLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2
ZW50JiwgYm9vbCB3YXNFdmVudEhhbmRsZWQpID0gMDsKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRT
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBhMWM4M2FjYTQ3NTc5
NmQ1ZjlkMTcyN2YwZTBkNjI0NjQwM2VhZjFlLi5hOGEyNmE5ZWUxODNmZGY3YzE3MjJiNWMzMmU1
ZmJiZjkwN2I4NzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAt
MzAyLDYgKzMwMiwxMCBAQCB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxjb25zdCBTdHJpbmcmPiBT
dHJpbmdDYWxsYmFjazsKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPEFQSTo6U2VyaWFsaXplZFNj
cmlwdFZhbHVlKiwgYm9vbCwgY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGV0YWlscyY+IFNjcmlw
dFZhbHVlQ2FsbGJhY2s7CiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxjb25zdCBXZWJDb3JlOjpG
b250QXR0cmlidXRlcyY+IEZvbnRBdHRyaWJ1dGVzQ2FsbGJhY2s7CiAKKyNpZiBIQVZFKFZJU0lC
SUxJVFlfUFJPUEFHQVRJT05fVklFVykKK3VzaW5nIExheWVySG9zdGluZ0NvbnRleHRJRCA9IHVp
bnQzMl90OworI2VuZGlmCisKICNpZiBQTEFURk9STShHVEspCiB0eXBlZGVmIEdlbmVyaWNDYWxs
YmFjazxBUEk6OkVycm9yKj4gUHJpbnRGaW5pc2hlZENhbGxiYWNrOwogI2VuZGlmCkBAIC0xMDU0
LDYgKzEwNTgsMTAgQEAgcHVibGljOgogICAgIHZvaWQgcHJvY2Vzc1dpbGxCZWNvbWVGb3JlZ3Jv
dW5kKCk7CiAjZW5kaWYKIAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQor
ICAgIHZvaWQgZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhv
c3RpbmdDb250ZXh0SUQpOworI2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgZW50ZXJBY2NlbGVy
YXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRyZWVDb250ZXh0Jik7CiAgICAgdmlydHVh
bCB2b2lkIGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpOwogICAgIHZpcnR1YWwgdm9p
ZCB1cGRhdGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRyZWVDb250ZXh0
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IDY3YmM3
ZjU1NGU4ODlkYzU0NDk1NTBhYjY0MzE3NTM1NGZlZDgxZWMuLmE5YTk5M2Q3ZmNjNDBkNzdhYTQy
Y2UzMTgzNGE1M2ZhMDczZDE5YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5oCkBAIC0yOTcsNiArMjk3LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHVuYmxvY2tB
Y2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgogCisjaWYgSEFWRShWSVNJQklM
SVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJ
REZvclZpc2liaWxpdHlQcm9wYWdhdGlvbigpIHsgcmV0dXJuIG1fY29udGV4dElERm9yVmlzaWJp
bGl0eVByb3BhZ2F0aW9uOyB9CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIHN0YXRpYyB1aW50
NjRfdCBnZW5lcmF0ZVBhZ2VJRCgpOwogICAgIFdlYlByb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9v
bCYsIFdlYnNpdGVEYXRhU3RvcmUqLCBJc1ByZXdhcm1lZCk7CkBAIC0zMzcsNiArMzQxLDEwIEBA
IHByaXZhdGU6CiAgICAgdm9pZCBkaWREZWxpdmVyTWVzc2FnZVBvcnRNZXNzYWdlcyh1aW50NjRf
dCBtZXNzYWdlQmF0Y2hJZGVudGlmaWVyKTsKICAgICB2b2lkIGRpZENoZWNrUHJvY2Vzc0xvY2Fs
UG9ydEZvckFjdGl2aXR5KHVpbnQ2NF90IGNhbGxiYWNrSWRlbnRpZmllciwgYm9vbCBpc0xvY2Fs
bHlSZWFjaGFibGUpOwogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisg
ICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9z
dGluZ0NvbnRleHRJRCk7CisjZW5kaWYKKwogICAgIGJvb2wgaGFzUHJvdmlzaW9uYWxQYWdlV2l0
aElEKHVpbnQ2NF90IHBhZ2VJRCkgY29uc3Q7CiAgICAgYm9vbCBpc0FsbG93ZWRUb1VwZGF0ZUJh
Y2tGb3J3YXJkSXRlbShXZWJCYWNrRm9yd2FyZExpc3RJdGVtJikgY29uc3Q7CiAKQEAgLTQ0Miw2
ICs0NTAsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1faGFzU2VudE1lc3NhZ2VUb1VuYmxvY2tB
Y2Nlc3NpYmlsaXR5U2VydmVyIHsgZmFsc2UgfTsKICNlbmRpZgogCisjaWYgSEFWRShWSVNJQklM
SVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgTGF5ZXJIb3N0aW5nQ29udGV4dElEIG1fY29udGV4
dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uIHsgMCB9OworI2VuZGlmCisKICAgICBIYXNoTWFw
PFN0cmluZywgdWludDY0X3Q+IG1fcGFnZVVSTFJldGFpbkNvdW50TWFwOwogCiAgICAgT3B0aW9u
YWw8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+IG1fcmVnaXN0cmFibGVEb21haW47CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4K
aW5kZXggYzQyNGMxOGU2ODM0NDQzNzVlNDkxNjRjOWRlODk5MmY4N2JjZDdmZi4uODZjZjE5YTU1
ZDhkNzA2Y2I0NGFlMjYwMGM1OWYzMGE4M2FhNzk2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtNzksNCArNzksOCBA
QCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzUHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAgIFN0YXJ0
RGlzcGxheUxpbmsodW5zaWduZWQgb2JzZXJ2ZXJJRCwgdWludDMyX3QgZGlzcGxheUlEKQogICAg
IFN0b3BEaXNwbGF5TGluayh1bnNpZ25lZCBvYnNlcnZlcklELCB1aW50MzJfdCBkaXNwbGF5SUQp
CiAjZW5kaWYKKworI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIERp
ZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oV2ViS2l0OjpMYXllckhvc3Rp
bmdDb250ZXh0SUQgY29udGV4dElEKTsKKyNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCA0NzkyYzJhZjFiNmE2ZDExZmFh
ODUyOWM2MjNhNjA0NDJlZjMxMTU5Li5mNDBmZDNmZmY1MjJkZTZlMTkxNGYzOTRhM2ViYjIzOGUx
NGE1ZDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MuaApAQCAtNjgsNiArNjgsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJvY2Vzc0RpZEV4
aXQoKSBvdmVycmlkZTsKICAgICB2b2lkIHByb2Nlc3NXaWxsU3dhcCgpIG92ZXJyaWRlOwogICAg
IHZvaWQgZGlkUmVsYXVuY2hQcm9jZXNzKCkgb3ZlcnJpZGU7CisjaWYgSEFWRShWSVNJQklMSVRZ
X1BST1BBR0FUSU9OX1ZJRVcpCisgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0
eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCkgb3ZlcnJpZGU7CisjZW5kaWYKICAg
ICB2b2lkIHBhZ2VDbG9zZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIHByZWZlcmVuY2VzRGlkQ2hh
bmdlKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCB0b29sVGlwQ2hhbmdlZChjb25zdCBTdHJpbmcmLCBj
b25zdCBTdHJpbmcmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCA0MWI0Nzc2MDM0M2Y0Y2NhYjAxZTE3NTQ5YThm
YzFiOGJkOTRiYjdkLi5mZjFkZTBlNGUyMzEzZWZjYjk4NDA1ZDZhN2YyOTFlODViNjc0OGNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1t
CkBAIC0xNzUsNiArMTc1LDEzIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZFJlbGF1bmNoUHJv
Y2VzcygpCiAgICAgW21fd2ViVmlldyBfZGlkUmVsYXVuY2hQcm9jZXNzXTsKIH0KIAorI2lmIEhB
VkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQordm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlk
Q3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250ZXh0
SUQpCit7CisgICAgW21fY29udGVudFZpZXcgX3Byb2Nlc3NEaWRDcmVhdGVDb250ZXh0Rm9yVmlz
aWJpbGl0eVByb3BhZ2F0aW9uXTsKK30KKyNlbmRpZgorCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpw
YWdlQ2xvc2VkKCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3LmgKaW5kZXggNGIyOTBhN2Y1YTM5MzQ0ODc1MjkwN2Iw
N2UxMmI3OTJiMGE3NTI0ZC4uZGFhMzkxMDJjN2Q4MmUxYWRhZTRiNWE2NjlkNWVlNzYxOTdmZmZj
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5oCkBAIC05
Myw2ICs5Myw5IEBAIGNsYXNzIFdlYlByb2Nlc3NQb29sOwogLSAodm9pZClfcHJvY2Vzc0RpZEV4
aXQ7CiAtICh2b2lkKV9wcm9jZXNzV2lsbFN3YXA7CiAtICh2b2lkKV9kaWRSZWxhdW5jaFByb2Nl
c3M7CisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCistICh2b2lkKV9wcm9j
ZXNzRGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbjsKKyNlbmRpZgogLSAo
dm9pZClfc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ1Jvb3RWaWV3OihVSVZpZXcgKilyb290Vmll
dzsKIAogLSAodm9pZClfc2hvd0luc3BlY3RvckhpZ2hsaWdodDooY29uc3QgV2ViQ29yZTo6SGln
aGxpZ2h0JiloaWdobGlnaHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3Lm1tCmluZGV4IGZmMTYzZGFhZGM0YTcxZjFjZDRkZTNiNDI1ZmNjYmJhYjZjZmY4ZDku
LjFlMjdlZWQxNzliNjE4ZmZlMTdkZjBmMzhhZDJlMDI1Y2MxMmI2YzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCkBAIC0xODMsNiArMTgzLDEwIEBA
IEBpbXBsZW1lbnRhdGlvbiBXS0NvbnRlbnRWaWV3IHsKICAgICBSZXRhaW5QdHI8V0tJbnNwZWN0
b3JJbmRpY2F0aW9uVmlldz4gX2luc3BlY3RvckluZGljYXRpb25WaWV3OwogICAgIFJldGFpblB0
cjxXS0luc3BlY3RvckhpZ2hsaWdodFZpZXc+IF9pbnNwZWN0b3JIaWdobGlnaHRWaWV3OwogCisj
aWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgUmV0YWluUHRyPF9VSUxh
eWVySG9zdFZpZXc+IF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3OworI2VuZGlmCisKICAgICBX
ZWJLaXQ6Okhpc3RvcmljYWxWZWxvY2l0eURhdGEgX2hpc3RvcmljYWxLaW5lbWF0aWNEYXRhOwog
CiAgICAgUmV0YWluUHRyPE5TVW5kb01hbmFnZXI+IF91bmRvTWFuYWdlcjsKQEAgLTIyNiwxMiAr
MjMwLDM4IEBAIC0gKGluc3RhbmNldHlwZSlfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoUHJvY2Vz
c1Bvb2w6KFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2wmKXByCiAKICAgICBzZWxmLmxheWVyLmhpdFRl
c3RzQXNPcGFxdWUgPSBZRVM7CiAKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklF
VykKKyAgICBbc2VsZiBfc2V0dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3XTsKKyNlbmRpZgor
CiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpz
ZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfYXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlOikgbmFt
ZTpVSUFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBw
bGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dXTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVy
IGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9hcHBs
aWNhdGlvbkRpZEJlY29tZUFjdGl2ZTopIG5hbWU6VUlBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2
ZU5vdGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dXTsK
IAogICAgIHJldHVybiBzZWxmOwogfQogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9O
X1ZJRVcpCistICh2b2lkKV9zZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXcKK3sKKyAgICBh
dXRvIHByb2Nlc3NJZGVudGlmaWVyID0gX3BhZ2UtPnByb2Nlc3MoKS5wcm9jZXNzSWRlbnRpZmll
cigpOworICAgIGF1dG8gY29udGV4dElEID0gX3BhZ2UtPnByb2Nlc3MoKS5jb250ZXh0SURGb3JW
aXNpYmlsaXR5UHJvcGFnYXRpb24oKTsKKyAgICBpZiAoIXByb2Nlc3NJZGVudGlmaWVyIHx8ICFj
b250ZXh0SUQpCisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVCghX3Zpc2liaWxpdHlQcm9w
YWdhdGlvblZpZXcpOworICAgIC8vIFByb3BhZ2F0ZSB0aGUgdmlldydzIHZpc2liaWxpdHkgc3Rh
dGUgdG8gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBzbyB0aGF0IGl0IGlzIG1hcmtlZCBhcyAiRm9y
ZWdyb3VuZCBSdW5uaW5nIiB3aGVuIG5lY2Vzc2FyeS4KKyAgICBfdmlzaWJpbGl0eVByb3BhZ2F0
aW9uVmlldyA9IGFkb3B0TlMoW1tfVUlMYXllckhvc3RWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
OkNHUmVjdFplcm8gcGlkOnByb2Nlc3NJZGVudGlmaWVyIGNvbnRleHRJRDpjb250ZXh0SURdKTsK
KyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzLCAiQ3JlYXRlZCB2aXNpYmlsaXR5IHByb3BhZ2F0aW9u
IHZpZXcgJXAgZm9yIFdlYkNvbnRlbnQgcHJvY2VzcyB3aXRoIFBJRCAlZCIsIF92aXNpYmlsaXR5
UHJvcGFnYXRpb25WaWV3LmdldCgpLCBwcm9jZXNzSWRlbnRpZmllcik7CisgICAgW3NlbGYgYWRk
U3VidmlldzpfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldy5nZXQoKV07Cit9CisKKy0gKHZvaWQp
X2NsZWFudXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Cit7CisgICAgW192aXNpYmlsaXR5UHJv
cGFnYXRpb25WaWV3IHJlbW92ZUZyb21TdXBlcnZpZXddOworICAgIF92aXNpYmlsaXR5UHJvcGFn
YXRpb25WaWV3ID0gbnVsbHB0cjsKK30KKyNlbmRpZgorCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdp
dGhGcmFtZTooQ0dSZWN0KWZyYW1lIHByb2Nlc3NQb29sOihXZWJLaXQ6OldlYlByb2Nlc3NQb29s
Jilwcm9jZXNzUG9vbCBjb25maWd1cmF0aW9uOihSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4m
Jiljb25maWd1cmF0aW9uIHdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcKIHsKICAgICBpZiAo
IShzZWxmID0gW3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJhbWUgd2ViVmlldzp3ZWJWaWV3XSkpCkBA
IC01MzgsNiArNTY4LDEwIEBAIC0gKHZvaWQpX3Byb2Nlc3NEaWRFeGl0CiAKICAgICBbc2VsZiBz
ZXRTaG93aW5nSW5zcGVjdG9ySW5kaWNhdGlvbjpOT107CiAgICAgW3NlbGYgX2hpZGVJbnNwZWN0
b3JIaWdobGlnaHRdOworCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisg
ICAgW3NlbGYgX2NsZWFudXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3XTsKKyNlbmRpZgogfQog
CiAtICh2b2lkKV9wcm9jZXNzV2lsbFN3YXAKQEAgLTU1MCw4ICs1ODQsMTggQEAgLSAodm9pZClf
ZGlkUmVsYXVuY2hQcm9jZXNzCiB7CiAgICAgW3NlbGYgX2FjY2Vzc2liaWxpdHlSZWdpc3RlclVJ
UHJvY2Vzc1Rva2Vuc107CiAgICAgW3NlbGYgc2V0dXBJbnRlcmFjdGlvbl07CisjaWYgSEFWRShW
SVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgW3NlbGYgX3NldHVwVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uVmlld107CisjZW5kaWYKIH0KIAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdB
VElPTl9WSUVXKQorLSAodm9pZClfcHJvY2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5
UHJvcGFnYXRpb24KK3sKKyAgICBbc2VsZiBfc2V0dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3
XTsKK30KKyNlbmRpZgorCiAtICh2b2lkKV9kaWRDb21taXRMb2FkRm9yTWFpbkZyYW1lCiB7CiAg
ICAgW3NlbGYgX2VsZW1lbnREaWRCbHVyXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IGI5NmY4OTRhZWU0N2ExMTQxNmFmNTg4M2MyYTBj
YTVhYTM3YWZhMzUuLjlhYzA3YWFiMjVhNTIwZjdiN2VkMmQ0YWY4MzBhYTc0MWNkYjgxYWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAt
ODEsNiArODEsMTMgQEAgU3RyaW5nIFdlYlBhZ2VQcm94eTo6c3RhbmRhcmRVc2VyQWdlbnQoY29u
c3QgU3RyaW5nJiBhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQKICAgICByZXR1cm4gc3RhbmRh
cmRVc2VyQWdlbnRXaXRoQXBwbGljYXRpb25OYW1lKGFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2Vu
dCk7CiB9CiAKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKK3ZvaWQgV2Vi
UGFnZVByb3h5OjpkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVy
SG9zdGluZ0NvbnRleHRJRCBjb250ZXh0SUQpCit7CisgICAgcGFnZUNsaWVudCgpLmRpZENyZWF0
ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oY29udGV4dElEKTsKK30KKyNlbmRpZgor
CiB2b2lkIFdlYlBhZ2VQcm94eTo6Z2V0SXNTcGVha2luZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUHJvY2Vzc1Byb3h5SU9T
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlByb2Nlc3NQcm94eUlPUy5tbQpp
bmRleCA0Mzg4MDg3ZDFkMzI0OTY1ODFkMzk4MGE3NzdkM2MzOGVmMWQ0OTQyLi43MGJhMTYyYWJm
YTk0OWJkMTBkMzY2Yjc3ZTg3NjZlOTQxZWE1NDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV2ViUHJvY2Vzc1Byb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XZWJQcm9jZXNzUHJveHlJT1MubW0KQEAgLTYyLDYgKzYyLDE1IEBAIHZv
aWQgV2ViUHJvY2Vzc1Byb3h5Ojp1bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlcklmTmVlZGVkKCkK
ICAgICBtX2hhc1NlbnRNZXNzYWdlVG9VbmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlciA9IHRydWU7
CiB9CiAKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKK3ZvaWQgV2ViUHJv
Y2Vzc1Byb3h5OjpkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVy
SG9zdGluZ0NvbnRleHRJRCBjb250ZXh0SUQpCit7CisgICAgbV9jb250ZXh0SURGb3JWaXNpYmls
aXR5UHJvcGFnYXRpb24gPSBjb250ZXh0SUQ7CisgICAgZm9yIChhdXRvJiBwYWdlIDogY29weVRv
VmVjdG9yT2Y8UmVmUHRyPFdlYlBhZ2VQcm94eT4+KG1fcGFnZU1hcC52YWx1ZXMoKSkpCisgICAg
ICAgIHBhZ2UtPmRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oY29udGV4
dElEKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBM
QVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRl
eCBlZTc4MWEwYmJiNWY4NjQzMjkxNWRlOTBhN2FkMzllMTAwZGNmMTA2Li40ZDk4NmE4YWMyNDNj
NTExYWExZWFiNGU1Y2U4Y2JmMzA3MDViM2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKQEAgLTExMiw2ICsxMTIsMTAgQEAgY2xhc3MgV2ViU1FMaXRlRGF0YWJhc2VUcmFj
a2VyOwogc3RydWN0IFdlYnNpdGVEYXRhOwogc3RydWN0IFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0
ZXJzOwogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKK2NsYXNzIExheWVySG9zdGluZ0NvbnRl
eHQ7CisjZW5kaWYKKwogY2xhc3MgV2ViUHJvY2VzcyA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNz
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViUHJvY2VzcyYgc2luZ2xldG9uKCk7CkBAIC00OTgs
NiArNTAyLDkgQEAgcHJpdmF0ZToKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHN0ZDo6
dW5pcXVlX3B0cjxXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI+IG1fd2ViU1FMaXRlRGF0YWJhc2VU
cmFja2VyOwogI2VuZGlmCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisg
ICAgc3RkOjp1bmlxdWVfcHRyPExheWVySG9zdGluZ0NvbnRleHQ+IG1fY29udGV4dEZvclZpc2li
aWxpdHlQcm9wYWdhdGlvbjsKKyNlbmRpZgogCiAgICAgZW51bSBQYWdlTWFya2luZ0xheWVyc0Fz
Vm9sYXRpbGVDb3VudGVyVHlwZSB7IH07CiAgICAgdXNpbmcgUGFnZU1hcmtpbmdMYXllcnNBc1Zv
bGF0aWxlQ291bnRlciA9IFJlZkNvdW50ZXI8UGFnZU1hcmtpbmdMYXllcnNBc1ZvbGF0aWxlQ291
bnRlclR5cGU+OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dl
YlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0KaW5kZXggMjRhYzVlMGFiMjlhYjM5NWVkYmM2MTA4NDJjNWExZTgyNTFmMjVh
Yi4uYTE3NDgxMWRjZDIxYTZlOGY2Zjc2ZTg0M2Y2ZDhlNDk3NDIyN2JiOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0xNzEs
NiArMTcxLDEyIEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vz
cyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhCiAKICAgICBtX2NvbXBvc2l0aW5n
UmVuZGVyU2VydmVyUG9ydCA9IFdURk1vdmUocGFyYW1ldGVycy5hY2NlbGVyYXRlZENvbXBvc2l0
aW5nUG9ydCk7CiAKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKKyAgICBt
X2NvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24gPSBMYXllckhvc3RpbmdDb250ZXh0Ojpj
cmVhdGVGb3JFeHRlcm5hbEhvc3RpbmdQcm9jZXNzKCk7CisgICAgUkVMRUFTRV9MT0coUHJvY2Vz
cywgIkNyZWF0ZWQgY29udGV4dCB3aXRoIElEICVkIGZvciB2aXNpYmlsaXR5IHByb3BhZ2F0aW9u
IGZyb20gVUlQcm9jZXNzIiwgbV9jb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uLT5jb250
ZXh0SUQoKSk7CisgICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6
V2ViUHJvY2Vzc1Byb3h5OjpEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9u
KG1fY29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbi0+Y29udGV4dElEKCkpLCAwKTsKKyNl
bmRpZgorCiAgICAgV2ViQ29yZTo6cmVnaXN0ZXJNZW1vcnlSZWxlYXNlTm90aWZ5Q2FsbGJhY2tz
KCk7CiAgICAgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpSZWxpZWZMb2dnZXI6OnNldExvZ2dpbmdF
bmFibGVkKHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlTWVtb3J5UHJlc3N1cmVSZWxpZWZMb2dnaW5n
KTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366982</attachid>
            <date>2019-04-08 14:34:25 -0700</date>
            <delta_ts>2019-04-09 10:21:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196695-20190408143424.patch</filename>
            <type>text/plain</type>
            <size>19379</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNiZGUxMGY0NWY3OTgzMWE2
Mzc1ZTBhZjlmYzMyM2VjMTQwMzEwYzQuLmU1MmI5OTVjNjg0MTMxOTI2YzQ1OWQ0NWVjNTdhMTA3
OGFjMDI0OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTktMDQtMDggIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBXZWJDb250ZW50IHByb2Nl
c3NlcyBzaG91bGQgYmUgbWFya2VkIGFzICJGb3JlZ3JvdW5kIFJ1bm5pbmciIHdoZW4gdGhlaXIg
dmlldyBpcyB2aXNpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTY2OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4MDczNzg3PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgSW4gb3JkZXIgZm9yIFdlYkNv
bnRlbnQgcHJvY2Vzc2VzIHRvIGdldCBtYXJrZWQgYXMgIkZvcmVncm91bmQgUnVubmluZyIgd2hl
biB0aGVpciB2aWV3CisgICAgICAgIGlzIHZpc2libGUgb24gaU9TLCB3ZSBub3cgY29uc3RydWN0
IGEgX1VJTGF5ZXJIb3N0VmlldyBpbiB0aGUgVUlQcm9jZXNzIGFuZCBhZGQgaXQgYXMKKyAgICAg
ICAgYSBzdWJ2aWV3IG9mIHRoZSBXS0NvbnRlbnRWaWV3LiBUaGUgX1VJTGF5ZXJIb3N0Vmlldydz
IHZpc2liaWxpdHkgdGFyZ2V0IGlzIHRoZQorICAgICAgICBXZWJDb250ZW50IHByb2Nlc3MgY3Vy
cmVudGx5IGFzc29jaWF0ZWQgd2l0aCB0aGUgdmlldy4KKworICAgICAgICAqIFBsYXRmb3JtL3Nw
aS9pb3MvVUlLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAg
ICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50OjpkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUHJveHk6OmNvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbik6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nl
c3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmRpZENy
ZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlldy5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25X
aXRoUHJvY2Vzc1Bvb2w6Y29uZmlndXJhdGlvbjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyBfc2V0dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3XSk6CisgICAgICAgICgtW1dLQ29udGVu
dFZpZXcgX3Byb2Nlc3NEaWRFeGl0XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2RpZFJl
bGF1bmNoUHJvY2Vzc10pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9wcm9jZXNzRGlkQ3Jl
YXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbl0pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OmRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV2ViUHJvY2Vzc1Byb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUHJveHk6OmRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
Y29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpw
bGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAxOS0wNC0wNyAgQ29tbWl0IFF1ZXVl
ICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjI0Mzk1Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVz
LmggYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCmluZGV4IGM0MDY5YWNlZWExMmVm
YWI2NGUxYmQyOTQ2ZDVlZmU4N2EyZGY4M2MuLmU3NmU4ZGNkM2RmMDdjYjc1YzI2YjIxMzQ1ZTEy
ZTViYjJmMDkyZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgK
KysrIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaApAQCAtMTc3LDYgKzE3NywxMiBA
QCB0aGUgcHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTc5MTY3Pi4g
Ki8KICNlbmRpZgogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChIQVZFX1ZJU0lCSUxJVFlfUFJPUEFH
QVRJT05fVklFVykKKyNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAw
MDAKKyNkZWZpbmUgSEFWRV9WSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcgMQorI2VuZGlmCisj
ZW5kaWYKKwogI2lmICFkZWZpbmVkKEhBVkVfQVZTVFJFQU1TRVNTSU9OKQogI2RlZmluZSBIQVZF
X0FWU1RSRUFNU0VTU0lPTiAwCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vbWFjL0xheWVySG9zdGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
bWFjL0xheWVySG9zdGluZ0NvbnRleHQuaAppbmRleCA2MmM3NzcwMjE1N2VhNTk1OGQ0MmU5NmY0
YTk0YzZiMDA5YmIyMTk4Li41Nzk3NzkzZTdiNzU5NTNkNmM3MTA1MmZhODE3YzNmZTNjZmM2OWQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL21hYy9MYXllckhvc3RpbmdDb250
ZXh0LmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9tYWMvTGF5ZXJIb3N0aW5nQ29udGV4
dC5oCkBAIC0zOSw2ICszOSw4IEBAIGNsYXNzIE1hY2hTZW5kUmlnaHQ7CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCit1c2luZyBMYXllckhvc3RpbmdDb250ZXh0SUQgPSB1aW50MzJfdDsKKwogY2xh
c3MgTGF5ZXJIb3N0aW5nQ29udGV4dCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5ZXJI
b3N0aW5nQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtNTYs
NyArNTgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSb290TGF5ZXIoQ0FMYXllciAqKTsKICAg
ICBDQUxheWVyICpyb290TGF5ZXIoKSBjb25zdDsKIAotICAgIHVpbnQzMl90IGNvbnRleHRJRCgp
IGNvbnN0OworICAgIExheWVySG9zdGluZ0NvbnRleHRJRCBjb250ZXh0SUQoKSBjb25zdDsKICAg
ICB2b2lkIGludmFsaWRhdGUoKTsKIAogICAgIExheWVySG9zdGluZ01vZGUgbGF5ZXJIb3N0aW5n
TW9kZSgpIHsgcmV0dXJuIG1fbGF5ZXJIb3N0aW5nTW9kZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9tYWMvTGF5ZXJIb3N0aW5nQ29udGV4dC5tbSBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vbWFjL0xheWVySG9zdGluZ0NvbnRleHQubW0KaW5kZXggNWJhMWZlZGJhOGY2
Y2I5MWE1NWJkZmQxMjVmYTRjMGMwNWE5YWNlZS4uOTEwYmIzZmQ4YjhiNDk4NTJlNDhlYWQyMmMy
NTkzMDFmZjk2NmQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9tYWMvTGF5
ZXJIb3N0aW5nQ29udGV4dC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL21hYy9MYXll
ckhvc3RpbmdDb250ZXh0Lm1tCkBAIC0xMDMsNyArMTAzLDcgQEAgQ0FMYXllciAqTGF5ZXJIb3N0
aW5nQ29udGV4dDo6cm9vdExheWVyKCkgY29uc3QKICAgICByZXR1cm4gW21fY29udGV4dCBsYXll
cl07CiB9CiAKLXVpbnQzMl90IExheWVySG9zdGluZ0NvbnRleHQ6OmNvbnRleHRJRCgpIGNvbnN0
CitMYXllckhvc3RpbmdDb250ZXh0SUQgTGF5ZXJIb3N0aW5nQ29udGV4dDo6Y29udGV4dElEKCkg
Y29uc3QKIHsKICAgICByZXR1cm4gW21fY29udGV4dCBjb250ZXh0SWRdOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmggYi9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaAppbmRleCA5YTg4NzczZjMxZjBiMDRmMmY4
YmM5YzU5MTQ0NWEyOGVhY2FiMzRjLi40MWNiODEwNjU4OWJkMWUxNDIwMTQ1N2IxMjgwNjRkYTQ1
MmJjY2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRT
UEkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaApAQCAt
MTExOSw2ICsxMTE5LDcgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TSW50ZWdlciwgVUlXS0RvY3Vt
ZW50UmVxdWVzdEZsYWdzKSB7CiBAZW5kCiAKIEBpbnRlcmZhY2UgX1VJTGF5ZXJIb3N0VmlldyA6
IFVJVmlldworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZSBwaWQ6
KHBpZF90KXBpZCBjb250ZXh0SUQ6KHVpbnQzMl90KWNvbnRleHRJRDsKIEBlbmQKIAogQGludGVy
ZmFjZSBfVUlSZW1vdGVWaWV3IDogX1VJTGF5ZXJIb3N0VmlldwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggMTJmZWY2NTEyYzAyOGQ5NTY5YmQ4MjhkMzk5Nzg0
ODI1MjVjOGFlYi4uMDdlZjIxNmZkYzhlN2ZkMDE3ZWM1YTY1NTlmYTg0MjRiYmUyMjQzMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC0yMTAsNiArMjEwLDcg
QEAgZGVmIGZvcndhcmRfZGVjbGFyYXRpb25zX2FuZF9oZWFkZXJzKHJlY2VpdmVyKToKICAgICAg
ICAgJ1dlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyJywKICAgICAg
ICAgJ1dlYkNvcmU6OlNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXInLAogICAgICAgICAnV2Vi
S2l0OjpBY3Rpdml0eVN0YXRlQ2hhbmdlSUQnLAorICAgICAgICAnV2ViS2l0OjpMYXllckhvc3Rp
bmdDb250ZXh0SUQnLAogICAgICAgICAnV2ViS2l0OjpVc2VyQ29udGVudENvbnRyb2xsZXJJZGVu
dGlmaWVyJywKICAgICBdKQogCkBAIC00NTEsNiArNDUyLDcgQEAgZGVmIGhlYWRlcnNfZm9yX3R5
cGUodHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpTZWxlY3Rpb25SZWN0JzogWyciRWRpdG9yU3Rh
dGUuaCInXSwKICAgICAgICAgJ1dlYktpdDo6QWN0aXZpdHlTdGF0ZUNoYW5nZUlEJzogWyciRHJh
d2luZ0FyZWFJbmZvLmgiJ10sCiAgICAgICAgICdXZWJLaXQ6OkJhY2tGb3J3YXJkTGlzdEl0ZW1T
dGF0ZSc6IFsnIlNlc3Npb25TdGF0ZS5oIiddLAorICAgICAgICAnV2ViS2l0OjpMYXllckhvc3Rp
bmdDb250ZXh0SUQnOiBbJyJMYXllckhvc3RpbmdDb250ZXh0LmgiJ10sCiAgICAgICAgICdXZWJL
aXQ6OkxheWVySG9zdGluZ01vZGUnOiBbJyJMYXllclRyZWVDb250ZXh0LmgiJ10sCiAgICAgICAg
ICdXZWJLaXQ6OlBhZ2VTdGF0ZSc6IFsnIlNlc3Npb25TdGF0ZS5oIiddLAogICAgICAgICAnV2Vi
S2l0OjpXZWJHZXN0dXJlRXZlbnQnOiBbJyJXZWJFdmVudC5oIiddLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUGFnZUNsaWVudC5oCmluZGV4IDdkZjU0YzNjMDVkZTI1NzIzOWY0Yzg2ZTdlNjEyNDdmYmJj
MmFiMjMuLmRiMzY3NTcyNGZjYzEyNzljODc0ZTdlM2I2ZDBlMjNiZjhjZDMyNTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTE1Nyw2ICsxNTcsMTAgQEAgY2xhc3MgSW5z
dGFsbE1pc3NpbmdNZWRpYVBsdWdpbnNQZXJtaXNzaW9uUmVxdWVzdDsKIHN0cnVjdCBDb2xvclNw
YWNlRGF0YTsKICNlbmRpZgogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcp
Cit1c2luZyBMYXllckhvc3RpbmdDb250ZXh0SUQgPSB1aW50MzJfdDsKKyNlbmRpZgorCiBjbGFz
cyBQYWdlQ2xpZW50IDogcHVibGljIENhbk1ha2VXZWFrUHRyPFBhZ2VDbGllbnQ+IHsKIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIH5QYWdlQ2xpZW50KCkgeyB9CkBAIC0yODEsNiArMjg1LDEwIEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkTm90SGFuZGxlVGFwQXNDbGljayhjb25zdCBXZWJD
b3JlOjpJbnRQb2ludCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tcGxldGVTeW50aGV0
aWNDbGljaygpID0gMDsKICNlbmRpZgorCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9O
X1ZJRVcpCisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJv
cGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEKSB7IH0KKyNlbmRpZgogICAgIAogICAgIHZp
cnR1YWwgdm9pZCBkb25lV2l0aEtleUV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQm
LCBib29sIHdhc0V2ZW50SGFuZGxlZCkgPSAwOwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGExYzgzYWNhNDc1Nzk2ZDVm
OWQxNzI3ZjBlMGQ2MjQ2NDAzZWFmMWUuLmE4YTI2YTllZTE4M2ZkZjdjMTcyMmI1YzMyZTVmYmJm
OTA3Yjg3MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0zMDIs
NiArMzAyLDEwIEBAIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPGNvbnN0IFN0cmluZyY+IFN0cmlu
Z0NhbGxiYWNrOwogdHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8QVBJOjpTZXJpYWxpemVkU2NyaXB0
VmFsdWUqLCBib29sLCBjb25zdCBXZWJDb3JlOjpFeGNlcHRpb25EZXRhaWxzJj4gU2NyaXB0VmFs
dWVDYWxsYmFjazsKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPGNvbnN0IFdlYkNvcmU6OkZvbnRB
dHRyaWJ1dGVzJj4gRm9udEF0dHJpYnV0ZXNDYWxsYmFjazsKIAorI2lmIEhBVkUoVklTSUJJTElU
WV9QUk9QQUdBVElPTl9WSUVXKQordXNpbmcgTGF5ZXJIb3N0aW5nQ29udGV4dElEID0gdWludDMy
X3Q7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKEdUSykKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNr
PEFQSTo6RXJyb3IqPiBQcmludEZpbmlzaGVkQ2FsbGJhY2s7CiAjZW5kaWYKQEAgLTEwNTQsNiAr
MTA1OCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcm9jZXNzV2lsbEJlY29tZUZvcmVncm91bmQo
KTsKICNlbmRpZgogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAg
dm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGlu
Z0NvbnRleHRJRCk7CisjZW5kaWYKKwogICAgIHZpcnR1YWwgdm9pZCBlbnRlckFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdNb2RlKGNvbnN0IExheWVyVHJlZUNvbnRleHQmKTsKICAgICB2aXJ0dWFsIHZv
aWQgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCk7CiAgICAgdmlydHVhbCB2b2lkIHVw
ZGF0ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGNvbnN0IExheWVyVHJlZUNvbnRleHQmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKaW5kZXggNjdiYzdmNTU0
ZTg4OWRjNTQ0OTU1MGFiNjQzMTc1MzU0ZmVkODFlYy4uYTlhOTkzZDdmY2M0MGQ3N2FhNDJjZTMx
ODM0YTUzZmEwNzNkMTlhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmgKQEAgLTI5Nyw2ICsyOTcsMTAgQEAgcHVibGljOgogICAgIHZvaWQgdW5ibG9ja0FjY2Vz
c2liaWxpdHlTZXJ2ZXJJZk5lZWRlZCgpOwogI2VuZGlmCiAKKyNpZiBIQVZFKFZJU0lCSUxJVFlf
UFJPUEFHQVRJT05fVklFVykKKyAgICBMYXllckhvc3RpbmdDb250ZXh0SUQgY29udGV4dElERm9y
VmlzaWJpbGl0eVByb3BhZ2F0aW9uKCkgeyByZXR1cm4gbV9jb250ZXh0SURGb3JWaXNpYmlsaXR5
UHJvcGFnYXRpb247IH0KKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIHVpbnQ2NF90
IGdlbmVyYXRlUGFnZUlEKCk7CiAgICAgV2ViUHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29sJiwg
V2Vic2l0ZURhdGFTdG9yZSosIElzUHJld2FybWVkKTsKQEAgLTMzNyw2ICszNDEsMTAgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGRpZERlbGl2ZXJNZXNzYWdlUG9ydE1lc3NhZ2VzKHVpbnQ2NF90IG1l
c3NhZ2VCYXRjaElkZW50aWZpZXIpOwogICAgIHZvaWQgZGlkQ2hlY2tQcm9jZXNzTG9jYWxQb3J0
Rm9yQWN0aXZpdHkodWludDY0X3QgY2FsbGJhY2tJZGVudGlmaWVyLCBib29sIGlzTG9jYWxseVJl
YWNoYWJsZSk7CiAKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKKyAgICB2
b2lkIGRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5n
Q29udGV4dElEKTsKKyNlbmRpZgorCiAgICAgYm9vbCBoYXNQcm92aXNpb25hbFBhZ2VXaXRoSUQo
dWludDY0X3QgcGFnZUlEKSBjb25zdDsKICAgICBib29sIGlzQWxsb3dlZFRvVXBkYXRlQmFja0Zv
cndhcmRJdGVtKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mKSBjb25zdDsKIApAQCAtNDQyLDYgKzQ1
MCwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXNTZW50TWVzc2FnZVRvVW5ibG9ja0FjY2Vz
c2liaWxpdHlTZXJ2ZXIgeyBmYWxzZSB9OwogI2VuZGlmCiAKKyNpZiBIQVZFKFZJU0lCSUxJVFlf
UFJPUEFHQVRJT05fVklFVykKKyAgICBMYXllckhvc3RpbmdDb250ZXh0SUQgbV9jb250ZXh0SURG
b3JWaXNpYmlsaXR5UHJvcGFnYXRpb24geyAwIH07CisjZW5kaWYKKwogICAgIEhhc2hNYXA8U3Ry
aW5nLCB1aW50NjRfdD4gbV9wYWdlVVJMUmV0YWluQ291bnRNYXA7CiAKICAgICBPcHRpb25hbDxX
ZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbj4gbV9yZWdpc3RyYWJsZURvbWFpbjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgppbmRl
eCBjNDI0YzE4ZTY4MzQ0NDM3NWU0OTE2NGM5ZGU4OTkyZjg3YmNkN2ZmLi44NmNmMTlhNTVkOGQ3
MDZjYjQ0YWUyNjAwYzU5ZjMwYTgzYWE3OTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC03OSw0ICs3OSw4IEBAIG1l
c3NhZ2VzIC0+IFdlYlByb2Nlc3NQcm94eSBMZWdhY3lSZWNlaXZlciB7CiAgICAgU3RhcnREaXNw
bGF5TGluayh1bnNpZ25lZCBvYnNlcnZlcklELCB1aW50MzJfdCBkaXNwbGF5SUQpCiAgICAgU3Rv
cERpc3BsYXlMaW5rKHVuc2lnbmVkIG9ic2VydmVySUQsIHVpbnQzMl90IGRpc3BsYXlJRCkKICNl
bmRpZgorCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgRGlkQ3Jl
YXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihXZWJLaXQ6OkxheWVySG9zdGluZ0Nv
bnRleHRJRCBjb250ZXh0SUQpOworI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IDQ3OTJjMmFmMWI2YTZkMTFmYWE4NTI5
YzYyM2E2MDQ0MmVmMzExNTkuLmY0MGZkM2ZmZjUyMmRlNmUxOTE0ZjM5NGEzZWJiMjM4ZTE0YTVk
ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5oCkBAIC02OCw2ICs2OCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwcm9jZXNzRGlkRXhpdCgp
IG92ZXJyaWRlOwogICAgIHZvaWQgcHJvY2Vzc1dpbGxTd2FwKCkgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBkaWRSZWxhdW5jaFByb2Nlc3MoKSBvdmVycmlkZTsKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJP
UEFHQVRJT05fVklFVykKKyAgICB2b2lkIGRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJv
cGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEKSBvdmVycmlkZTsKKyNlbmRpZgogICAgIHZv
aWQgcGFnZUNsb3NlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgcHJlZmVyZW5jZXNEaWRDaGFuZ2Uo
KSBvdmVycmlkZTsKICAgICB2b2lkIHRvb2xUaXBDaGFuZ2VkKGNvbnN0IFN0cmluZyYsIGNvbnN0
IFN0cmluZyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IDQxYjQ3NzYwMzQzZjRjY2FiMDFlMTc1NDlhOGZjMWI4
YmQ5NGJiN2QuLmZmMWRlMGU0ZTIzMTNlZmNiOTg0MDVkNmE3ZjI5MWU4NWI2NzQ4Y2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAg
LTE3NSw2ICsxNzUsMTMgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkUmVsYXVuY2hQcm9jZXNz
KCkKICAgICBbbV93ZWJWaWV3IF9kaWRSZWxhdW5jaFByb2Nlc3NdOwogfQogCisjaWYgSEFWRShW
SVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDcmVh
dGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCkK
K3sKKyAgICBbbV9jb250ZW50VmlldyBfcHJvY2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmls
aXR5UHJvcGFnYXRpb25dOworfQorI2VuZGlmCisKIHZvaWQgUGFnZUNsaWVudEltcGw6OnBhZ2VD
bG9zZWQoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXcuaAppbmRleCA0YjI5MGE3ZjVhMzkzNDQ4NzUyOTA3YjA3ZTEy
Yjc5MmIwYTc1MjRkLi5kYWEzOTEwMmM3ZDgyZTFhZGFlNGI1YTY2OWQ1ZWU3NjE5N2ZmZmMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3LmgKQEAgLTkzLDYg
KzkzLDkgQEAgY2xhc3MgV2ViUHJvY2Vzc1Bvb2w7CiAtICh2b2lkKV9wcm9jZXNzRGlkRXhpdDsK
IC0gKHZvaWQpX3Byb2Nlc3NXaWxsU3dhcDsKIC0gKHZvaWQpX2RpZFJlbGF1bmNoUHJvY2VzczsK
KyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKKy0gKHZvaWQpX3Byb2Nlc3NE
aWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uOworI2VuZGlmCiAtICh2b2lk
KV9zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nUm9vdFZpZXc6KFVJVmlldyAqKXJvb3RWaWV3Owog
CiAtICh2b2lkKV9zaG93SW5zcGVjdG9ySGlnaGxpZ2h0Oihjb25zdCBXZWJDb3JlOjpIaWdobGln
aHQmKWhpZ2hsaWdodDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXcubW0KaW5kZXggZmYxNjNkYWFkYzRhNzFmMWNkNGRlM2I0MjVmY2NiYmFiNmNmZjhkOS4uNmIy
ZDlmOTY0NGY3YjkzNGQ3MWJmMTdjM2FlNTg4YzdjMjM4YjQzOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KQEAgLTE4Myw2ICsxODMsMTAgQEAgQGlt
cGxlbWVudGF0aW9uIFdLQ29udGVudFZpZXcgewogICAgIFJldGFpblB0cjxXS0luc3BlY3Rvcklu
ZGljYXRpb25WaWV3PiBfaW5zcGVjdG9ySW5kaWNhdGlvblZpZXc7CiAgICAgUmV0YWluUHRyPFdL
SW5zcGVjdG9ySGlnaGxpZ2h0Vmlldz4gX2luc3BlY3RvckhpZ2hsaWdodFZpZXc7CiAKKyNpZiBI
QVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKKyAgICBSZXRhaW5QdHI8X1VJTGF5ZXJI
b3N0Vmlldz4gX3Zpc2liaWxpdHlQcm9wYWdhdGlvblZpZXc7CisjZW5kaWYKKwogICAgIFdlYktp
dDo6SGlzdG9yaWNhbFZlbG9jaXR5RGF0YSBfaGlzdG9yaWNhbEtpbmVtYXRpY0RhdGE7CiAKICAg
ICBSZXRhaW5QdHI8TlNVbmRvTWFuYWdlcj4gX3VuZG9NYW5hZ2VyOwpAQCAtMjI2LDEyICsyMzAs
MzggQEAgLSAoaW5zdGFuY2V0eXBlKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhQcm9jZXNzUG9v
bDooV2ViS2l0OjpXZWJQcm9jZXNzUG9vbCYpcHIKIAogICAgIHNlbGYubGF5ZXIuaGl0VGVzdHNB
c09wYXF1ZSA9IFlFUzsKIAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQor
ICAgIFtzZWxmIF9zZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXddOworI2VuZGlmCisKICAg
ICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYg
c2VsZWN0b3I6QHNlbGVjdG9yKF9hcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmU6KSBuYW1lOlVJ
QXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlTm90aWZpY2F0aW9uIG9iamVjdDpbVUlBcHBsaWNh
dGlvbiBzaGFyZWRBcHBsaWNhdGlvbl1dOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVm
YXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2FwcGxpY2F0
aW9uRGlkQmVjb21lQWN0aXZlOikgbmFtZTpVSUFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlTm90
aWZpY2F0aW9uIG9iamVjdDpbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl1dOwogCiAg
ICAgcmV0dXJuIHNlbGY7CiB9CiAKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklF
VykKKy0gKHZvaWQpX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldworeworICAgIGF1dG8g
cHJvY2Vzc0lkZW50aWZpZXIgPSBfcGFnZS0+cHJvY2VzcygpLnByb2Nlc3NJZGVudGlmaWVyKCk7
CisgICAgYXV0byBjb250ZXh0SUQgPSBfcGFnZS0+cHJvY2VzcygpLmNvbnRleHRJREZvclZpc2li
aWxpdHlQcm9wYWdhdGlvbigpOworICAgIGlmICghcHJvY2Vzc0lkZW50aWZpZXIgfHwgIWNvbnRl
eHRJRCkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUKCFfdmlzaWJpbGl0eVByb3BhZ2F0
aW9uVmlldyk7CisgICAgLy8gUHJvcGFnYXRlIHRoZSB2aWV3J3MgdmlzaWJpbGl0eSBzdGF0ZSB0
byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIHNvIHRoYXQgaXQgaXMgbWFya2VkIGFzICJGb3JlZ3Jv
dW5kIFJ1bm5pbmciIHdoZW4gbmVjZXNzYXJ5LgorICAgIF92aXNpYmlsaXR5UHJvcGFnYXRpb25W
aWV3ID0gYWRvcHROUyhbW19VSUxheWVySG9zdFZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dS
ZWN0WmVybyBwaWQ6cHJvY2Vzc0lkZW50aWZpZXIgY29udGV4dElEOmNvbnRleHRJRF0pOworICAg
IFJFTEVBU0VfTE9HKFByb2Nlc3MsICJDcmVhdGVkIHZpc2liaWxpdHkgcHJvcGFnYXRpb24gdmll
dyAlcCBmb3IgV2ViQ29udGVudCBwcm9jZXNzIHdpdGggUElEICVkIiwgX3Zpc2liaWxpdHlQcm9w
YWdhdGlvblZpZXcuZ2V0KCksIHByb2Nlc3NJZGVudGlmaWVyKTsKKyAgICBbc2VsZiBhZGRTdWJ2
aWV3Ol92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3LmdldCgpXTsKK30KKworLSAodm9pZClfcmVt
b3ZlVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldworeworICAgIFtfdmlzaWJpbGl0eVByb3BhZ2F0
aW9uVmlldyByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKyAgICBfdmlzaWJpbGl0eVByb3BhZ2F0aW9u
VmlldyA9IG51bGxwdHI7Cit9CisjZW5kaWYKKwogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRnJh
bWU6KENHUmVjdClmcmFtZSBwcm9jZXNzUG9vbDooV2ViS2l0OjpXZWJQcm9jZXNzUG9vbCYpcHJv
Y2Vzc1Bvb2wgY29uZmlndXJhdGlvbjooUmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpY29u
ZmlndXJhdGlvbiB3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3CiB7CiAgICAgaWYgKCEoc2Vs
ZiA9IFtzdXBlciBpbml0V2l0aEZyYW1lOmZyYW1lIHdlYlZpZXc6d2ViVmlld10pKQpAQCAtNTM4
LDYgKzU2OCwxMCBAQCAtICh2b2lkKV9wcm9jZXNzRGlkRXhpdAogCiAgICAgW3NlbGYgc2V0U2hv
d2luZ0luc3BlY3RvckluZGljYXRpb246Tk9dOwogICAgIFtzZWxmIF9oaWRlSW5zcGVjdG9ySGln
aGxpZ2h0XTsKKworI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIFtz
ZWxmIF9yZW1vdmVWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3XTsKKyNlbmRpZgogfQogCiAtICh2
b2lkKV9wcm9jZXNzV2lsbFN3YXAKQEAgLTU1MCw4ICs1ODQsMTggQEAgLSAodm9pZClfZGlkUmVs
YXVuY2hQcm9jZXNzCiB7CiAgICAgW3NlbGYgX2FjY2Vzc2liaWxpdHlSZWdpc3RlclVJUHJvY2Vz
c1Rva2Vuc107CiAgICAgW3NlbGYgc2V0dXBJbnRlcmFjdGlvbl07CisjaWYgSEFWRShWSVNJQklM
SVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgW3NlbGYgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0
aW9uVmlld107CisjZW5kaWYKIH0KIAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9W
SUVXKQorLSAodm9pZClfcHJvY2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFn
YXRpb24KK3sKKyAgICBbc2VsZiBfc2V0dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3XTsKK30K
KyNlbmRpZgorCiAtICh2b2lkKV9kaWRDb21taXRMb2FkRm9yTWFpbkZyYW1lCiB7CiAgICAgW3Nl
bGYgX2VsZW1lbnREaWRCbHVyXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2Vi
UGFnZVByb3h5SU9TLm1tCmluZGV4IGI5NmY4OTRhZWU0N2ExMTQxNmFmNTg4M2MyYTBjYTVhYTM3
YWZhMzUuLjlhYzA3YWFiMjVhNTIwZjdiN2VkMmQ0YWY4MzBhYTc0MWNkYjgxYWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAtODEsNiAr
ODEsMTMgQEAgU3RyaW5nIFdlYlBhZ2VQcm94eTo6c3RhbmRhcmRVc2VyQWdlbnQoY29uc3QgU3Ry
aW5nJiBhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQKICAgICByZXR1cm4gc3RhbmRhcmRVc2Vy
QWdlbnRXaXRoQXBwbGljYXRpb25OYW1lKGFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCk7CiB9
CiAKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKK3ZvaWQgV2ViUGFnZVBy
b3h5OjpkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGlu
Z0NvbnRleHRJRCBjb250ZXh0SUQpCit7CisgICAgcGFnZUNsaWVudCgpLmRpZENyZWF0ZUNvbnRl
eHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oY29udGV4dElEKTsKK30KKyNlbmRpZgorCiB2b2lk
IFdlYlBhZ2VQcm94eTo6Z2V0SXNTcGVha2luZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUHJvY2Vzc1Byb3h5SU9TLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlByb2Nlc3NQcm94eUlPUy5tbQppbmRleCA0
Mzg4MDg3ZDFkMzI0OTY1ODFkMzk4MGE3NzdkM2MzOGVmMWQ0OTQyLi43MGJhMTYyYWJmYTk0OWJk
MTBkMzY2Yjc3ZTg3NjZlOTQxZWE1NDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV2ViUHJvY2Vzc1Byb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XZWJQcm9jZXNzUHJveHlJT1MubW0KQEAgLTYyLDYgKzYyLDE1IEBAIHZvaWQgV2Vi
UHJvY2Vzc1Byb3h5Ojp1bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlcklmTmVlZGVkKCkKICAgICBt
X2hhc1NlbnRNZXNzYWdlVG9VbmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlciA9IHRydWU7CiB9CiAK
KyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKK3ZvaWQgV2ViUHJvY2Vzc1By
b3h5OjpkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGlu
Z0NvbnRleHRJRCBjb250ZXh0SUQpCit7CisgICAgbV9jb250ZXh0SURGb3JWaXNpYmlsaXR5UHJv
cGFnYXRpb24gPSBjb250ZXh0SUQ7CisgICAgZm9yIChhdXRvJiBwYWdlIDogY29weVRvVmVjdG9y
T2Y8UmVmUHRyPFdlYlBhZ2VQcm94eT4+KG1fcGFnZU1hcC52YWx1ZXMoKSkpCisgICAgICAgIHBh
Z2UtPmRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oY29udGV4dElEKTsK
K30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JN
KElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCBlZTc4
MWEwYmJiNWY4NjQzMjkxNWRlOTBhN2FkMzllMTAwZGNmMTA2Li40ZDk4NmE4YWMyNDNjNTExYWEx
ZWFiNGU1Y2U4Y2JmMzA3MDViM2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKQEAgLTExMiw2ICsxMTIsMTAgQEAgY2xhc3MgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyOwog
c3RydWN0IFdlYnNpdGVEYXRhOwogc3RydWN0IFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzOwog
CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKK2NsYXNzIExheWVySG9zdGluZ0NvbnRleHQ7Cisj
ZW5kaWYKKwogY2xhc3MgV2ViUHJvY2VzcyA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzIHsKIHB1
YmxpYzoKICAgICBzdGF0aWMgV2ViUHJvY2VzcyYgc2luZ2xldG9uKCk7CkBAIC00OTgsNiArNTAy
LDkgQEAgcHJpdmF0ZToKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHN0ZDo6dW5pcXVl
X3B0cjxXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI+IG1fd2ViU1FMaXRlRGF0YWJhc2VUcmFja2Vy
OwogI2VuZGlmCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgc3Rk
Ojp1bmlxdWVfcHRyPExheWVySG9zdGluZ0NvbnRleHQ+IG1fY29udGV4dEZvclZpc2liaWxpdHlQ
cm9wYWdhdGlvbjsKKyNlbmRpZgogCiAgICAgZW51bSBQYWdlTWFya2luZ0xheWVyc0FzVm9sYXRp
bGVDb3VudGVyVHlwZSB7IH07CiAgICAgdXNpbmcgUGFnZU1hcmtpbmdMYXllcnNBc1ZvbGF0aWxl
Q291bnRlciA9IFJlZkNvdW50ZXI8UGFnZU1hcmtpbmdMYXllcnNBc1ZvbGF0aWxlQ291bnRlclR5
cGU+OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29j
b2EubW0KaW5kZXggMjRhYzVlMGFiMjlhYjM5NWVkYmM2MTA4NDJjNWExZTgyNTFmMjVhYi4uYTE3
NDgxMWRjZDIxYTZlOGY2Zjc2ZTg0M2Y2ZDhlNDk3NDIyN2JiOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0xNzEsNiArMTcx
LDEyIEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhCiAKICAgICBtX2NvbXBvc2l0aW5nUmVuZGVy
U2VydmVyUG9ydCA9IFdURk1vdmUocGFyYW1ldGVycy5hY2NlbGVyYXRlZENvbXBvc2l0aW5nUG9y
dCk7CiAKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKKyAgICBtX2NvbnRl
eHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24gPSBMYXllckhvc3RpbmdDb250ZXh0OjpjcmVhdGVG
b3JFeHRlcm5hbEhvc3RpbmdQcm9jZXNzKCk7CisgICAgUkVMRUFTRV9MT0coUHJvY2VzcywgIkNy
ZWF0ZWQgY29udGV4dCB3aXRoIElEICVkIGZvciB2aXNpYmlsaXR5IHByb3BhZ2F0aW9uIGZyb20g
VUlQcm9jZXNzIiwgbV9jb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uLT5jb250ZXh0SUQo
KSk7CisgICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJv
Y2Vzc1Byb3h5OjpEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKG1fY29u
dGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbi0+Y29udGV4dElEKCkpLCAwKTsKKyNlbmRpZgor
CiAgICAgV2ViQ29yZTo6cmVnaXN0ZXJNZW1vcnlSZWxlYXNlTm90aWZ5Q2FsbGJhY2tzKCk7CiAg
ICAgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpSZWxpZWZMb2dnZXI6OnNldExvZ2dpbmdFbmFibGVk
KHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlTWVtb3J5UHJlc3N1cmVSZWxpZWZMb2dnaW5nKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367051</attachid>
            <date>2019-04-09 10:21:35 -0700</date>
            <delta_ts>2019-04-09 11:08:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196695-20190409102134.patch</filename>
            <type>text/plain</type>
            <size>20634</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDgzZmViOGQ3M2RlYWUxYjJl
YTNlZjdlNTY3ZTUxN2I2NTUyNTk4OGEuLjlmYWZmYWI4NGI3OTZlOTUyY2U5ZjBlNTliMDNiZjA3
ZjhkNjYwY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTktMDQtMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBXZWJDb250ZW50IHByb2Nl
c3NlcyBzaG91bGQgYmUgbWFya2VkIGFzICJGb3JlZ3JvdW5kIFJ1bm5pbmciIHdoZW4gdGhlaXIg
dmlldyBpcyB2aXNpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTY2OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4MDczNzg3PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgSW4gb3JkZXIgZm9yIFdlYkNv
bnRlbnQgcHJvY2Vzc2VzIHRvIGdldCBtYXJrZWQgYXMgIkZvcmVncm91bmQgUnVubmluZyIgd2hl
biB0aGVpciB2aWV3CisgICAgICAgIGlzIHZpc2libGUgb24gaU9TLCB3ZSBub3cgY29uc3RydWN0
IGEgX1VJTGF5ZXJIb3N0VmlldyBpbiB0aGUgVUlQcm9jZXNzIGFuZCBhZGQgaXQgYXMKKyAgICAg
ICAgYSBzdWJ2aWV3IG9mIHRoZSBXS0NvbnRlbnRWaWV3LiBUaGUgX1VJTGF5ZXJIb3N0Vmlldydz
IHZpc2liaWxpdHkgdGFyZ2V0IGlzIHRoZQorICAgICAgICBXZWJDb250ZW50IHByb2Nlc3MgY3Vy
cmVudGx5IGFzc29jaWF0ZWQgd2l0aCB0aGUgdmlldy4KKworICAgICAgICAqIFBsYXRmb3JtL3Nw
aS9pb3MvVUlLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAg
ICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50OjpkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUHJveHk6OmNvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbik6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nl
c3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmRpZENy
ZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlldy5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25X
aXRoUHJvY2Vzc1Bvb2w6Y29uZmlndXJhdGlvbjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyBfc2V0dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3XSk6CisgICAgICAgICgtW1dLQ29udGVu
dFZpZXcgX3Byb2Nlc3NEaWRFeGl0XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2RpZFJl
bGF1bmNoUHJvY2Vzc10pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9wcm9jZXNzRGlkQ3Jl
YXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbl0pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OmRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV2ViUHJvY2Vzc1Byb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUHJveHk6OmRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
Y29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpw
bGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAxOS0wNC0wOSAgU2lodWkgTGl1ICA8
c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgbmV0d29y
ayBwcm9jZXNzIGFzc2VydGlvbiBmb3IgSURCIGNsb3NlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9GZWF0dXJlRGVmaW5lcy5oIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaApp
bmRleCBjNDA2OWFjZWVhMTJlZmFiNjRlMWJkMjk0NmQ1ZWZlODdhMmRmODNjLi5lNzZlOGRjZDNk
ZjA3Y2I3NWMyNmIyMTM0NWUxMmU1YmIyZjA5MmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9GZWF0dXJlRGVmaW5lcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgK
QEAgLTE3Nyw2ICsxNzcsMTIgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Vi
a2l0Lm9yZy9iLzE3OTE2Nz4uICovCiAjZW5kaWYKICNlbmRpZgogCisjaWYgIWRlZmluZWQoSEFW
RV9WSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisjaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTMwMDAwCisjZGVmaW5lIEhBVkVfVklTSUJJTElUWV9QUk9QQUdBVElP
Tl9WSUVXIDEKKyNlbmRpZgorI2VuZGlmCisKICNpZiAhZGVmaW5lZChIQVZFX0FWU1RSRUFNU0VT
U0lPTikKICNkZWZpbmUgSEFWRV9BVlNUUkVBTVNFU1NJT04gMAogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL21hYy9MYXllckhvc3RpbmdDb250ZXh0LmggYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL21hYy9MYXllckhvc3RpbmdDb250ZXh0LmgKaW5kZXggNjJjNzc3
MDIxNTdlYTU5NThkNDJlOTZmNGE5NGM2YjAwOWJiMjE5OC4uNTc5Nzc5M2U3Yjc1OTUzZDZjNzEw
NTJmYTgxN2MzZmUzY2ZjNjlkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9t
YWMvTGF5ZXJIb3N0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vbWFj
L0xheWVySG9zdGluZ0NvbnRleHQuaApAQCAtMzksNiArMzksOCBAQCBjbGFzcyBNYWNoU2VuZFJp
Z2h0OwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAordXNpbmcgTGF5ZXJIb3N0aW5nQ29udGV4dElE
ID0gdWludDMyX3Q7CisKIGNsYXNzIExheWVySG9zdGluZ0NvbnRleHQgewogICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExheWVySG9zdGluZ0NvbnRleHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKQEAgLTU2LDcgKzU4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Um9vdExh
eWVyKENBTGF5ZXIgKik7CiAgICAgQ0FMYXllciAqcm9vdExheWVyKCkgY29uc3Q7CiAKLSAgICB1
aW50MzJfdCBjb250ZXh0SUQoKSBjb25zdDsKKyAgICBMYXllckhvc3RpbmdDb250ZXh0SUQgY29u
dGV4dElEKCkgY29uc3Q7CiAgICAgdm9pZCBpbnZhbGlkYXRlKCk7CiAKICAgICBMYXllckhvc3Rp
bmdNb2RlIGxheWVySG9zdGluZ01vZGUoKSB7IHJldHVybiBtX2xheWVySG9zdGluZ01vZGU7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vbWFjL0xheWVySG9zdGluZ0NvbnRl
eHQubW0gYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL21hYy9MYXllckhvc3RpbmdDb250ZXh0Lm1t
CmluZGV4IDViYTFmZWRiYThmNmNiOTFhNTViZGZkMTI1ZmE0YzBjMDVhOWFjZWUuLjkxMGJiM2Zk
OGI4YjQ5ODUyZTQ4ZWFkMjJjMjU5MzAxZmY5NjZkODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vbWFjL0xheWVySG9zdGluZ0NvbnRleHQubW0KKysrIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9tYWMvTGF5ZXJIb3N0aW5nQ29udGV4dC5tbQpAQCAtMTAzLDcgKzEwMyw3IEBA
IENBTGF5ZXIgKkxheWVySG9zdGluZ0NvbnRleHQ6OnJvb3RMYXllcigpIGNvbnN0CiAgICAgcmV0
dXJuIFttX2NvbnRleHQgbGF5ZXJdOwogfQogCi11aW50MzJfdCBMYXllckhvc3RpbmdDb250ZXh0
Ojpjb250ZXh0SUQoKSBjb25zdAorTGF5ZXJIb3N0aW5nQ29udGV4dElEIExheWVySG9zdGluZ0Nv
bnRleHQ6OmNvbnRleHRJRCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIFttX2NvbnRleHQgY29udGV4
dElkXTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtp
dFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKaW5kZXgg
OWE4ODc3M2YzMWYwYjA0ZjJmOGJjOWM1OTE0NDVhMjhlYWNhYjM0Yy4uNDFjYjgxMDY1ODliZDFl
MTQyMDE0NTdiMTI4MDY0ZGE0NTJiY2NlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkv
aW9zL1VJS2l0U1BJLmgKQEAgLTExMTksNiArMTExOSw3IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhO
U0ludGVnZXIsIFVJV0tEb2N1bWVudFJlcXVlc3RGbGFncykgewogQGVuZAogCiBAaW50ZXJmYWNl
IF9VSUxheWVySG9zdFZpZXcgOiBVSVZpZXcKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1l
OihDR1JlY3QpZnJhbWUgcGlkOihwaWRfdClwaWQgY29udGV4dElEOih1aW50MzJfdCljb250ZXh0
SUQ7CiBAZW5kCiAKIEBpbnRlcmZhY2UgX1VJUmVtb3RlVmlldyA6IF9VSUxheWVySG9zdFZpZXcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDEyZmVmNjUxMmMw
MjhkOTU2OWJkODI4ZDM5OTc4NDgyNTI1YzhhZWIuLjEwM2M0NmViYmE3YThjYmMyMGQwOTdhMWI3
NzllNDQ4MDQzZmE3ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQv
bWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5w
eQpAQCAtMTg4LDYgKzE4OCwxMCBAQCBkZWYgZm9yd2FyZF9kZWNsYXJhdGlvbnNfYW5kX2hlYWRl
cnMocmVjZWl2ZXIpOgogICAgICAgICAnPHd0Zi9Gb3J3YXJkLmg+JywKICAgICBdKQogCisgICAg
aGVhZGVyX2NvbmRpdGlvbnMgPSB7CisgICAgICAgICciTGF5ZXJIb3N0aW5nQ29udGV4dC5oIic6
IFsiUExBVEZPUk0oQ09DT0EpIiwgXSwKKyAgICB9CisKICAgICBub25fdGVtcGxhdGVfd3RmX3R5
cGVzID0gZnJvemVuc2V0KFsKICAgICAgICAgJ01hY2hTZW5kUmlnaHQnLAogICAgICAgICAnU3Ry
aW5nJywKQEAgLTIxMCw2ICsyMTQsNyBAQCBkZWYgZm9yd2FyZF9kZWNsYXJhdGlvbnNfYW5kX2hl
YWRlcnMocmVjZWl2ZXIpOgogICAgICAgICAnV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbklkZW50aWZpZXInLAogICAgICAgICAnV2ViQ29yZTo6U1dTZXJ2ZXJDb25uZWN0aW9uSWRl
bnRpZmllcicsCiAgICAgICAgICdXZWJLaXQ6OkFjdGl2aXR5U3RhdGVDaGFuZ2VJRCcsCisgICAg
ICAgICdXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRCcsCiAgICAgICAgICdXZWJLaXQ6OlVz
ZXJDb250ZW50Q29udHJvbGxlcklkZW50aWZpZXInLAogICAgIF0pCiAKQEAgLTIzOCw5ICsyNDMs
MTggQEAgZGVmIGZvcndhcmRfZGVjbGFyYXRpb25zX2FuZF9oZWFkZXJzKHJlY2VpdmVyKToKICAg
ICAgICAgICAgIGhlYWRlcnMudXBkYXRlKGhlYWRlcnNfZm9yX3R5cGUodHlwZSkpCiAKICAgICBm
b3J3YXJkX2RlY2xhcmF0aW9ucyA9ICdcbicuam9pbihbZm9yd2FyZF9kZWNsYXJhdGlvbnNfZm9y
X25hbWVzcGFjZShuYW1lc3BhY2UsIHR5cGVzKSBmb3IgKG5hbWVzcGFjZSwgdHlwZXMpIGluIHNv
cnRlZCh0eXBlc19ieV9uYW1lc3BhY2UuaXRlbXMoKSldKQotICAgIGhlYWRlcnMgPSBbJyNpbmNs
dWRlICVzXG4nICUgaGVhZGVyIGZvciBoZWFkZXIgaW4gc29ydGVkKGhlYWRlcnMpXQogCi0gICAg
cmV0dXJuIChmb3J3YXJkX2RlY2xhcmF0aW9ucywgaGVhZGVycykKKyAgICBoZWFkZXJfaW5jbHVk
ZXMgPSBzZXQoKQorICAgIGZvciBoZWFkZXIgaW4gc29ydGVkKGhlYWRlcnMpOgorICAgICAgICBp
ZiBoZWFkZXIgaW4gaGVhZGVyX2NvbmRpdGlvbnMgYW5kIG5vdCBOb25lIGluIGhlYWRlcl9jb25k
aXRpb25zW2hlYWRlcl06CisgICAgICAgICAgICBoZWFkZXJfaW5jbHVkZSA9ICcjaWYgJXNcbicg
JSAnIHx8ICcuam9pbihzZXQoaGVhZGVyX2NvbmRpdGlvbnNbaGVhZGVyXSkpCisgICAgICAgICAg
ICBoZWFkZXJfaW5jbHVkZSArPSAnI2luY2x1ZGUgJXNcbicgJSBoZWFkZXIKKyAgICAgICAgICAg
IGhlYWRlcl9pbmNsdWRlICs9ICcjZW5kaWZcbicKKyAgICAgICAgICAgIGhlYWRlcl9pbmNsdWRl
cy5hZGQoaGVhZGVyX2luY2x1ZGUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBoZWFkZXJf
aW5jbHVkZXMuYWRkKCcjaW5jbHVkZSAlc1xuJyAlIGhlYWRlcikKKworICAgIHJldHVybiAoZm9y
d2FyZF9kZWNsYXJhdGlvbnMsIGhlYWRlcl9pbmNsdWRlcykKIAogCiBkZWYgZ2VuZXJhdGVfbWVz
c2FnZXNfaGVhZGVyKGZpbGUpOgpAQCAtNDUxLDYgKzQ2NSw3IEBAIGRlZiBoZWFkZXJzX2Zvcl90
eXBlKHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6U2VsZWN0aW9uUmVjdCc6IFsnIkVkaXRvclN0
YXRlLmgiJ10sCiAgICAgICAgICdXZWJLaXQ6OkFjdGl2aXR5U3RhdGVDaGFuZ2VJRCc6IFsnIkRy
YXdpbmdBcmVhSW5mby5oIiddLAogICAgICAgICAnV2ViS2l0OjpCYWNrRm9yd2FyZExpc3RJdGVt
U3RhdGUnOiBbJyJTZXNzaW9uU3RhdGUuaCInXSwKKyAgICAgICAgJ1dlYktpdDo6TGF5ZXJIb3N0
aW5nQ29udGV4dElEJzogWyciTGF5ZXJIb3N0aW5nQ29udGV4dC5oIiddLAogICAgICAgICAnV2Vi
S2l0OjpMYXllckhvc3RpbmdNb2RlJzogWyciTGF5ZXJUcmVlQ29udGV4dC5oIiddLAogICAgICAg
ICAnV2ViS2l0OjpQYWdlU3RhdGUnOiBbJyJTZXNzaW9uU3RhdGUuaCInXSwKICAgICAgICAgJ1dl
YktpdDo6V2ViR2VzdHVyZUV2ZW50JzogWyciV2ViRXZlbnQuaCInXSwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaAppbmRleCA3ZGY1NGMzYzA1ZGUyNTcyMzlmNGM4NmU3ZTYxMjQ3ZmJi
YzJhYjIzLi5kYjM2NzU3MjRmY2MxMjc5Yzg3NGU3ZTNiNmQwZTIzYmY4Y2QzMjU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0xNTcsNiArMTU3LDEwIEBAIGNsYXNzIElu
c3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zUGVybWlzc2lvblJlcXVlc3Q7CiBzdHJ1Y3QgQ29sb3JT
cGFjZURhdGE7CiAjZW5kaWYKIAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVX
KQordXNpbmcgTGF5ZXJIb3N0aW5nQ29udGV4dElEID0gdWludDMyX3Q7CisjZW5kaWYKKwogY2xh
c3MgUGFnZUNsaWVudCA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQYWdlQ2xpZW50PiB7CiBwdWJs
aWM6CiAgICAgdmlydHVhbCB+UGFnZUNsaWVudCgpIHsgfQpAQCAtMjgxLDYgKzI4NSwxMCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soY29uc3QgV2Vi
Q29yZTo6SW50UG9pbnQmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZENvbXBsZXRlU3ludGhl
dGljQ2xpY2soKSA9IDA7CiAjZW5kaWYKKworI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElP
Tl9WSUVXKQorICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCkgeyB9CisjZW5kaWYKICAgICAKICAgICB2
aXJ0dWFsIHZvaWQgZG9uZVdpdGhLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50
JiwgYm9vbCB3YXNFdmVudEhhbmRsZWQpID0gMDsKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA0NjBhMTkzMWVlMDM3YzNj
N2RjN2Q2YjZkNmM0NWYyNWExYzZiODNmLi40MWE0MzIyNWExMzhjMjkwNzg4NTNiOTcwMDUzNzVk
Yjg1MTE2ZTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMzAy
LDYgKzMwMiwxMCBAQCB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxjb25zdCBTdHJpbmcmPiBTdHJp
bmdDYWxsYmFjazsKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPEFQSTo6U2VyaWFsaXplZFNjcmlw
dFZhbHVlKiwgYm9vbCwgY29uc3QgV2ViQ29yZTo6RXhjZXB0aW9uRGV0YWlscyY+IFNjcmlwdFZh
bHVlQ2FsbGJhY2s7CiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxjb25zdCBXZWJDb3JlOjpGb250
QXR0cmlidXRlcyY+IEZvbnRBdHRyaWJ1dGVzQ2FsbGJhY2s7CiAKKyNpZiBIQVZFKFZJU0lCSUxJ
VFlfUFJPUEFHQVRJT05fVklFVykKK3VzaW5nIExheWVySG9zdGluZ0NvbnRleHRJRCA9IHVpbnQz
Ml90OworI2VuZGlmCisKICNpZiBQTEFURk9STShHVEspCiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFj
azxBUEk6OkVycm9yKj4gUHJpbnRGaW5pc2hlZENhbGxiYWNrOwogI2VuZGlmCkBAIC0xMDU0LDYg
KzEwNTgsMTAgQEAgcHVibGljOgogICAgIHZvaWQgcHJvY2Vzc1dpbGxCZWNvbWVGb3JlZ3JvdW5k
KCk7CiAjZW5kaWYKIAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAg
IHZvaWQgZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3Rp
bmdDb250ZXh0SUQpOworI2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgZW50ZXJBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRyZWVDb250ZXh0Jik7CiAgICAgdmlydHVhbCB2
b2lkIGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpOwogICAgIHZpcnR1YWwgdm9pZCB1
cGRhdGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRyZWVDb250ZXh0Jik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IDY3YmM3ZjU1
NGU4ODlkYzU0NDk1NTBhYjY0MzE3NTM1NGZlZDgxZWMuLmE5YTk5M2Q3ZmNjNDBkNzdhYTQyY2Uz
MTgzNGE1M2ZhMDczZDE5YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5oCkBAIC0yOTcsNiArMjk3LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHVuYmxvY2tBY2Nl
c3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgogCisjaWYgSEFWRShWSVNJQklMSVRZ
X1BST1BBR0FUSU9OX1ZJRVcpCisgICAgTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJREZv
clZpc2liaWxpdHlQcm9wYWdhdGlvbigpIHsgcmV0dXJuIG1fY29udGV4dElERm9yVmlzaWJpbGl0
eVByb3BhZ2F0aW9uOyB9CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIHN0YXRpYyB1aW50NjRf
dCBnZW5lcmF0ZVBhZ2VJRCgpOwogICAgIFdlYlByb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9vbCYs
IFdlYnNpdGVEYXRhU3RvcmUqLCBJc1ByZXdhcm1lZCk7CkBAIC0zMzcsNiArMzQxLDEwIEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBkaWREZWxpdmVyTWVzc2FnZVBvcnRNZXNzYWdlcyh1aW50NjRfdCBt
ZXNzYWdlQmF0Y2hJZGVudGlmaWVyKTsKICAgICB2b2lkIGRpZENoZWNrUHJvY2Vzc0xvY2FsUG9y
dEZvckFjdGl2aXR5KHVpbnQ2NF90IGNhbGxiYWNrSWRlbnRpZmllciwgYm9vbCBpc0xvY2FsbHlS
ZWFjaGFibGUpOwogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAg
dm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGlu
Z0NvbnRleHRJRCk7CisjZW5kaWYKKwogICAgIGJvb2wgaGFzUHJvdmlzaW9uYWxQYWdlV2l0aElE
KHVpbnQ2NF90IHBhZ2VJRCkgY29uc3Q7CiAgICAgYm9vbCBpc0FsbG93ZWRUb1VwZGF0ZUJhY2tG
b3J3YXJkSXRlbShXZWJCYWNrRm9yd2FyZExpc3RJdGVtJikgY29uc3Q7CiAKQEAgLTQ0Miw2ICs0
NTAsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1faGFzU2VudE1lc3NhZ2VUb1VuYmxvY2tBY2Nl
c3NpYmlsaXR5U2VydmVyIHsgZmFsc2UgfTsKICNlbmRpZgogCisjaWYgSEFWRShWSVNJQklMSVRZ
X1BST1BBR0FUSU9OX1ZJRVcpCisgICAgTGF5ZXJIb3N0aW5nQ29udGV4dElEIG1fY29udGV4dElE
Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uIHsgMCB9OworI2VuZGlmCisKICAgICBIYXNoTWFwPFN0
cmluZywgdWludDY0X3Q+IG1fcGFnZVVSTFJldGFpbkNvdW50TWFwOwogCiAgICAgT3B0aW9uYWw8
V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+IG1fcmVnaXN0cmFibGVEb21haW47CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KaW5k
ZXggYzQyNGMxOGU2ODM0NDQzNzVlNDkxNjRjOWRlODk5MmY4N2JjZDdmZi4uODZjZjE5YTU1ZDhk
NzA2Y2I0NGFlMjYwMGM1OWYzMGE4M2FhNzk2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtNzksNCArNzksOCBAQCBt
ZXNzYWdlcyAtPiBXZWJQcm9jZXNzUHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAgIFN0YXJ0RGlz
cGxheUxpbmsodW5zaWduZWQgb2JzZXJ2ZXJJRCwgdWludDMyX3QgZGlzcGxheUlEKQogICAgIFN0
b3BEaXNwbGF5TGluayh1bnNpZ25lZCBvYnNlcnZlcklELCB1aW50MzJfdCBkaXNwbGF5SUQpCiAj
ZW5kaWYKKworI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIERpZENy
ZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oV2ViS2l0OjpMYXllckhvc3RpbmdD
b250ZXh0SUQgY29udGV4dElEKTsKKyNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCA0NzkyYzJhZjFiNmE2ZDExZmFhODUy
OWM2MjNhNjA0NDJlZjMxMTU5Li5mNDBmZDNmZmY1MjJkZTZlMTkxNGYzOTRhM2ViYjIzOGUxNGE1
ZDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MuaApAQCAtNjgsNiArNjgsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJvY2Vzc0RpZEV4aXQo
KSBvdmVycmlkZTsKICAgICB2b2lkIHByb2Nlc3NXaWxsU3dhcCgpIG92ZXJyaWRlOwogICAgIHZv
aWQgZGlkUmVsYXVuY2hQcm9jZXNzKCkgb3ZlcnJpZGU7CisjaWYgSEFWRShWSVNJQklMSVRZX1BS
T1BBR0FUSU9OX1ZJRVcpCisgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCkgb3ZlcnJpZGU7CisjZW5kaWYKICAgICB2
b2lkIHBhZ2VDbG9zZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIHByZWZlcmVuY2VzRGlkQ2hhbmdl
KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCB0b29sVGlwQ2hhbmdlZChjb25zdCBTdHJpbmcmLCBjb25z
dCBTdHJpbmcmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCA0MWI0Nzc2MDM0M2Y0Y2NhYjAxZTE3NTQ5YThmYzFi
OGJkOTRiYjdkLi5mZjFkZTBlNGUyMzEzZWZjYjk4NDA1ZDZhN2YyOTFlODViNjc0OGNjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBA
IC0xNzUsNiArMTc1LDEzIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZFJlbGF1bmNoUHJvY2Vz
cygpCiAgICAgW21fd2ViVmlldyBfZGlkUmVsYXVuY2hQcm9jZXNzXTsKIH0KIAorI2lmIEhBVkUo
VklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQordm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkQ3Jl
YXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250ZXh0SUQp
Cit7CisgICAgW21fY29udGVudFZpZXcgX3Byb2Nlc3NEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJp
bGl0eVByb3BhZ2F0aW9uXTsKK30KKyNlbmRpZgorCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpwYWdl
Q2xvc2VkKCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3LmgKaW5kZXggNGIyOTBhN2Y1YTM5MzQ0ODc1MjkwN2IwN2Ux
MmI3OTJiMGE3NTI0ZC4uZGFhMzkxMDJjN2Q4MmUxYWRhZTRiNWE2NjlkNWVlNzYxOTdmZmZjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5oCkBAIC05Myw2
ICs5Myw5IEBAIGNsYXNzIFdlYlByb2Nlc3NQb29sOwogLSAodm9pZClfcHJvY2Vzc0RpZEV4aXQ7
CiAtICh2b2lkKV9wcm9jZXNzV2lsbFN3YXA7CiAtICh2b2lkKV9kaWRSZWxhdW5jaFByb2Nlc3M7
CisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCistICh2b2lkKV9wcm9jZXNz
RGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbjsKKyNlbmRpZgogLSAodm9p
ZClfc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ1Jvb3RWaWV3OihVSVZpZXcgKilyb290VmlldzsK
IAogLSAodm9pZClfc2hvd0luc3BlY3RvckhpZ2hsaWdodDooY29uc3QgV2ViQ29yZTo6SGlnaGxp
Z2h0JiloaWdobGlnaHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3Lm1tCmluZGV4IGZmMTYzZGFhZGM0YTcxZjFjZDRkZTNiNDI1ZmNjYmJhYjZjZmY4ZDkuLjZi
MmQ5Zjk2NDRmN2I5MzRkNzFiZjE3YzNhZTU4OGM3YzIzOGI0MzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCkBAIC0xODMsNiArMTgzLDEwIEBAIEBp
bXBsZW1lbnRhdGlvbiBXS0NvbnRlbnRWaWV3IHsKICAgICBSZXRhaW5QdHI8V0tJbnNwZWN0b3JJ
bmRpY2F0aW9uVmlldz4gX2luc3BlY3RvckluZGljYXRpb25WaWV3OwogICAgIFJldGFpblB0cjxX
S0luc3BlY3RvckhpZ2hsaWdodFZpZXc+IF9pbnNwZWN0b3JIaWdobGlnaHRWaWV3OwogCisjaWYg
SEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgUmV0YWluUHRyPF9VSUxheWVy
SG9zdFZpZXc+IF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3OworI2VuZGlmCisKICAgICBXZWJL
aXQ6Okhpc3RvcmljYWxWZWxvY2l0eURhdGEgX2hpc3RvcmljYWxLaW5lbWF0aWNEYXRhOwogCiAg
ICAgUmV0YWluUHRyPE5TVW5kb01hbmFnZXI+IF91bmRvTWFuYWdlcjsKQEAgLTIyNiwxMiArMjMw
LDM4IEBAIC0gKGluc3RhbmNldHlwZSlfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoUHJvY2Vzc1Bv
b2w6KFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2wmKXByCiAKICAgICBzZWxmLmxheWVyLmhpdFRlc3Rz
QXNPcGFxdWUgPSBZRVM7CiAKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykK
KyAgICBbc2VsZiBfc2V0dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3XTsKKyNlbmRpZgorCiAg
ICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxm
IHNlbGVjdG9yOkBzZWxlY3RvcihfYXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlOikgbmFtZTpV
SUFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBwbGlj
YXRpb24gc2hhcmVkQXBwbGljYXRpb25dXTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRl
ZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9hcHBsaWNh
dGlvbkRpZEJlY29tZUFjdGl2ZTopIG5hbWU6VUlBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5v
dGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dXTsKIAog
ICAgIHJldHVybiBzZWxmOwogfQogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJ
RVcpCistICh2b2lkKV9zZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXcKK3sKKyAgICBhdXRv
IHByb2Nlc3NJZGVudGlmaWVyID0gX3BhZ2UtPnByb2Nlc3MoKS5wcm9jZXNzSWRlbnRpZmllcigp
OworICAgIGF1dG8gY29udGV4dElEID0gX3BhZ2UtPnByb2Nlc3MoKS5jb250ZXh0SURGb3JWaXNp
YmlsaXR5UHJvcGFnYXRpb24oKTsKKyAgICBpZiAoIXByb2Nlc3NJZGVudGlmaWVyIHx8ICFjb250
ZXh0SUQpCisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVCghX3Zpc2liaWxpdHlQcm9wYWdh
dGlvblZpZXcpOworICAgIC8vIFByb3BhZ2F0ZSB0aGUgdmlldydzIHZpc2liaWxpdHkgc3RhdGUg
dG8gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBzbyB0aGF0IGl0IGlzIG1hcmtlZCBhcyAiRm9yZWdy
b3VuZCBSdW5uaW5nIiB3aGVuIG5lY2Vzc2FyeS4KKyAgICBfdmlzaWJpbGl0eVByb3BhZ2F0aW9u
VmlldyA9IGFkb3B0TlMoW1tfVUlMYXllckhvc3RWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNH
UmVjdFplcm8gcGlkOnByb2Nlc3NJZGVudGlmaWVyIGNvbnRleHRJRDpjb250ZXh0SURdKTsKKyAg
ICBSRUxFQVNFX0xPRyhQcm9jZXNzLCAiQ3JlYXRlZCB2aXNpYmlsaXR5IHByb3BhZ2F0aW9uIHZp
ZXcgJXAgZm9yIFdlYkNvbnRlbnQgcHJvY2VzcyB3aXRoIFBJRCAlZCIsIF92aXNpYmlsaXR5UHJv
cGFnYXRpb25WaWV3LmdldCgpLCBwcm9jZXNzSWRlbnRpZmllcik7CisgICAgW3NlbGYgYWRkU3Vi
dmlldzpfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldy5nZXQoKV07Cit9CisKKy0gKHZvaWQpX3Jl
bW92ZVZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXcKK3sKKyAgICBbX3Zpc2liaWxpdHlQcm9wYWdh
dGlvblZpZXcgcmVtb3ZlRnJvbVN1cGVydmlld107CisgICAgX3Zpc2liaWxpdHlQcm9wYWdhdGlv
blZpZXcgPSBudWxscHRyOworfQorI2VuZGlmCisKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZy
YW1lOihDR1JlY3QpZnJhbWUgcHJvY2Vzc1Bvb2w6KFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2wmKXBy
b2Nlc3NQb29sIGNvbmZpZ3VyYXRpb246KFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYmKWNv
bmZpZ3VyYXRpb24gd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldwogewogICAgIGlmICghKHNl
bGYgPSBbc3VwZXIgaW5pdFdpdGhGcmFtZTpmcmFtZSB3ZWJWaWV3OndlYlZpZXddKSkKQEAgLTUz
OCw2ICs1NjgsMTAgQEAgLSAodm9pZClfcHJvY2Vzc0RpZEV4aXQKIAogICAgIFtzZWxmIHNldFNo
b3dpbmdJbnNwZWN0b3JJbmRpY2F0aW9uOk5PXTsKICAgICBbc2VsZiBfaGlkZUluc3BlY3Rvckhp
Z2hsaWdodF07CisKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKKyAgICBb
c2VsZiBfcmVtb3ZlVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld107CisjZW5kaWYKIH0KIAogLSAo
dm9pZClfcHJvY2Vzc1dpbGxTd2FwCkBAIC01NTAsOCArNTg0LDE4IEBAIC0gKHZvaWQpX2RpZFJl
bGF1bmNoUHJvY2VzcwogewogICAgIFtzZWxmIF9hY2Nlc3NpYmlsaXR5UmVnaXN0ZXJVSVByb2Nl
c3NUb2tlbnNdOwogICAgIFtzZWxmIHNldHVwSW50ZXJhY3Rpb25dOworI2lmIEhBVkUoVklTSUJJ
TElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIFtzZWxmIF9zZXR1cFZpc2liaWxpdHlQcm9wYWdh
dGlvblZpZXddOworI2VuZGlmCiB9CiAKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05f
VklFVykKKy0gKHZvaWQpX3Byb2Nlc3NEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3Bh
Z2F0aW9uCit7CisgICAgW3NlbGYgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld107Cit9
CisjZW5kaWYKKwogLSAodm9pZClfZGlkQ29tbWl0TG9hZEZvck1haW5GcmFtZQogewogICAgIFtz
ZWxmIF9lbGVtZW50RGlkQmx1cl07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dl
YlBhZ2VQcm94eUlPUy5tbQppbmRleCBmZjhiZjY5YmVkMTI2ODYwMzAyMmJkYjUwMmI2NmFjMTA2
YzA1OGE5Li4xMDE4ZTBlMDQ4NDhhY2Q2OWRkNjY0MTAzZThhMDQxNzM4MDk4YjU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KQEAgLTgxLDYg
KzgxLDEzIEBAIFN0cmluZyBXZWJQYWdlUHJveHk6OnN0YW5kYXJkVXNlckFnZW50KGNvbnN0IFN0
cmluZyYgYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50CiAgICAgcmV0dXJuIHN0YW5kYXJkVXNl
ckFnZW50V2l0aEFwcGxpY2F0aW9uTmFtZShhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQpOwog
fQogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCit2b2lkIFdlYlBhZ2VQ
cm94eTo6ZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3Rp
bmdDb250ZXh0SUQgY29udGV4dElEKQoreworICAgIHBhZ2VDbGllbnQoKS5kaWRDcmVhdGVDb250
ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKGNvbnRleHRJRCk7Cit9CisjZW5kaWYKKwogdm9p
ZCBXZWJQYWdlUHJveHk6OmdldElzU3BlYWtpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlByb2Nlc3NQcm94eUlPUy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQcm9jZXNzUHJveHlJT1MubW0KaW5kZXgg
NDM4ODA4N2QxZDMyNDk2NTgxZDM5ODBhNzc3ZDNjMzhlZjFkNDk0Mi4uNzBiYTE2MmFiZmE5NDli
ZDEwZDM2NmI3N2U4NzY2ZTk0MWVhNTQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dlYlByb2Nlc3NQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV2ViUHJvY2Vzc1Byb3h5SU9TLm1tCkBAIC02Miw2ICs2MiwxNSBAQCB2b2lkIFdl
YlByb2Nlc3NQcm94eTo6dW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXJJZk5lZWRlZCgpCiAgICAg
bV9oYXNTZW50TWVzc2FnZVRvVW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXIgPSB0cnVlOwogfQog
CisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCit2b2lkIFdlYlByb2Nlc3NQ
cm94eTo6ZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3Rp
bmdDb250ZXh0SUQgY29udGV4dElEKQoreworICAgIG1fY29udGV4dElERm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uID0gY29udGV4dElEOworICAgIGZvciAoYXV0byYgcGFnZSA6IGNvcHlUb1ZlY3Rv
ck9mPFJlZlB0cjxXZWJQYWdlUHJveHk+PihtX3BhZ2VNYXAudmFsdWVzKCkpKQorICAgICAgICBw
YWdlLT5kaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKGNvbnRleHRJRCk7
Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9S
TShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggZWU3
ODFhMGJiYjVmODY0MzI5MTVkZTkwYTdhZDM5ZTEwMGRjZjEwNi4uNGQ5ODZhOGFjMjQzYzUxMWFh
MWVhYjRlNWNlOGNiZjMwNzA1YjNkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oCkBAIC0xMTIsNiArMTEyLDEwIEBAIGNsYXNzIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjsK
IHN0cnVjdCBXZWJzaXRlRGF0YTsKIHN0cnVjdCBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVyczsK
IAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCitjbGFzcyBMYXllckhvc3RpbmdDb250ZXh0Owor
I2VuZGlmCisKIGNsYXNzIFdlYlByb2Nlc3MgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2VzcyB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFdlYlByb2Nlc3MmIHNpbmdsZXRvbigpOwpAQCAtNDk4LDYgKzUw
Miw5IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8V2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyPiBtX3dlYlNRTGl0ZURhdGFiYXNlVHJhY2tl
cjsKICNlbmRpZgorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIHN0
ZDo6dW5pcXVlX3B0cjxMYXllckhvc3RpbmdDb250ZXh0PiBtX2NvbnRleHRGb3JWaXNpYmlsaXR5
UHJvcGFnYXRpb247CisjZW5kaWYKIAogICAgIGVudW0gUGFnZU1hcmtpbmdMYXllcnNBc1ZvbGF0
aWxlQ291bnRlclR5cGUgeyB9OwogICAgIHVzaW5nIFBhZ2VNYXJraW5nTGF5ZXJzQXNWb2xhdGls
ZUNvdW50ZXIgPSBSZWZDb3VudGVyPFBhZ2VNYXJraW5nTGF5ZXJzQXNWb2xhdGlsZUNvdW50ZXJU
eXBlPjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tCmluZGV4IDI0YWM1ZTBhYjI5YWIzOTVlZGJjNjEwODQyYzVhMWU4MjUxZjI1YWIuLmEx
NzQ4MTFkY2QyMWE2ZThmNmY3NmU4NDNmNmQ4ZTQ5NzQyMjdiYjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMTcxLDYgKzE3
MSwxMiBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYQogCiAgICAgbV9jb21wb3NpdGluZ1JlbmRl
clNlcnZlclBvcnQgPSBXVEZNb3ZlKHBhcmFtZXRlcnMuYWNjZWxlcmF0ZWRDb21wb3NpdGluZ1Bv
cnQpOwogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgbV9jb250
ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uID0gTGF5ZXJIb3N0aW5nQ29udGV4dDo6Y3JlYXRl
Rm9yRXh0ZXJuYWxIb3N0aW5nUHJvY2VzcygpOworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3MsICJD
cmVhdGVkIGNvbnRleHQgd2l0aCBJRCAlZCBmb3IgdmlzaWJpbGl0eSBwcm9wYWdhdGlvbiBmcm9t
IFVJUHJvY2VzcyIsIG1fY29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbi0+Y29udGV4dElE
KCkpOworICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBy
b2Nlc3NQcm94eTo6RGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihtX2Nv
bnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24tPmNvbnRleHRJRCgpKSwgMCk7CisjZW5kaWYK
KwogICAgIFdlYkNvcmU6OnJlZ2lzdGVyTWVtb3J5UmVsZWFzZU5vdGlmeUNhbGxiYWNrcygpOwog
ICAgIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6UmVsaWVmTG9nZ2VyOjpzZXRMb2dnaW5nRW5hYmxl
ZChwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZU1lbW9yeVByZXNzdXJlUmVsaWVmTG9nZ2luZyk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>