<?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>208955</bug_id>
          
          <creation_ts>2020-03-11 16:37:34 -0700</creation_ts>
          <short_desc>[WTF] Share Linux&apos;s MemoryPressureHandler among other Unix ports</short_desc>
          <delta_ts>2020-05-08 18:14:30 -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>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>211654</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Basuke Suzuki">basuke</reporter>
          <assigned_to name="Basuke Suzuki">basuke</assigned_to>
          <cc>annulen</cc>
    
    <cc>aperez</cc>
    
    <cc>basuke</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1628911</commentid>
    <comment_count>0</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-03-11 16:37:34 -0700</bug_when>
    <thetext>Added FreeBSD implementation for memoryFootprint() implementation and share Linux&apos;s MemoryPressureHandler among Unix ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628913</commentid>
    <comment_count>1</comment_count>
      <attachid>393305</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-03-11 16:42:17 -0700</bug_when>
    <thetext>Created attachment 393305
WIP

To see this works for other ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628932</commentid>
    <comment_count>2</comment_count>
      <attachid>393310</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-03-11 17:02:41 -0700</bug_when>
    <thetext>Created attachment 393310
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628935</commentid>
    <comment_count>3</comment_count>
      <attachid>393310</attachid>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2020-03-11 17:09:11 -0700</bug_when>
    <thetext>Comment on attachment 393310
PATCH

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

&gt; Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cppSource/WTF/wtf/linux/MemoryPressureHandlerLinux.cpp:133
&gt; +    return static_cast&lt;size_t&gt;(info.ki_rssize - info.ki_tsize) * pageSize;

I wonder if we really need to duplicate this implementations between WTF and bmalloc. Couldn&apos;t we just call bmalloc/AvailableMemory.h stuff from WTF if bmalloc is enabled, and build just that part of bmalloc and call it if USE(SYSTEM_MALLOC) is enabled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629012</commentid>
    <comment_count>4</comment_count>
      <attachid>393310</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-03-11 20:28:28 -0700</bug_when>
    <thetext>Comment on attachment 393310
PATCH

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

&gt; Source/WTF/wtf/PlatformGTK.cmake:49
&gt;      list(APPEND WTF_SOURCES
&gt;          linux/CurrentProcessMemoryStatus.cpp
&gt;          linux/MemoryFootprintLinux.cpp
&gt; -        linux/MemoryPressureHandlerLinux.cpp
&gt; +
&gt; +        unix/MemoryPressureHandlerUnix.cpp

This file should now be added inside a different if condition.
Something like &quot;if (CMAKE_SYSTEM_NAME MATCHES &quot;Linux&quot;) OR (CMAKE_SYSTEM_NAME MATCHES &quot;FreeBSD&quot;)&quot;

&gt; Source/WTF/wtf/PlatformJSCOnly.cmake:86
&gt;      list(APPEND WTF_SOURCES
&gt;          linux/CurrentProcessMemoryStatus.cpp
&gt;          linux/MemoryFootprintLinux.cpp
&gt; -        linux/MemoryPressureHandlerLinux.cpp
&gt; +
&gt; +        unix/MemoryPressureHandlerUnix.cpp

Ditto

&gt; Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cppSource/WTF/wtf/linux/MemoryPressureHandlerLinux.cpp:139
&gt;  void MemoryPressureHandler::respondToMemoryPressure(Critical critical, Synchronous synchronous)

On Linux we have a thread on the UIProcess polling memory free and sending memoryPressureEvents (via WebKit IPC) to all the webprocess and networprocess. See MemoryPressureMonitor::start() at Source/WebKit/UIProcess/linux/MemoryPressureMonitor.cpp
What its calling MemoryPressureHandler::triggerMemoryPressureEvent() and MemoryPressureHandler::respondToMemoryPressure() on FreeBSD?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629174</commentid>
    <comment_count>5</comment_count>
      <attachid>393310</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-03-12 07:34:41 -0700</bug_when>
    <thetext>Comment on attachment 393310
PATCH

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

&gt;&gt; Source/WTF/wtf/PlatformGTK.cmake:49
&gt;&gt; +        unix/MemoryPressureHandlerUnix.cpp
&gt; 
&gt; This file should now be added inside a different if condition.
&gt; Something like &quot;if (CMAKE_SYSTEM_NAME MATCHES &quot;Linux&quot;) OR (CMAKE_SYSTEM_NAME MATCHES &quot;FreeBSD&quot;)&quot;

Alright.

&gt;&gt; Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cppSource/WTF/wtf/linux/MemoryPressureHandlerLinux.cpp:133
&gt;&gt; +    return static_cast&lt;size_t&gt;(info.ki_rssize - info.ki_tsize) * pageSize;
&gt; 
&gt; I wonder if we really need to duplicate this implementations between WTF and bmalloc. Couldn&apos;t we just call bmalloc/AvailableMemory.h stuff from WTF if bmalloc is enabled, and build just that part of bmalloc and call it if USE(SYSTEM_MALLOC) is enabled?

That&apos;s a good point. But isn&apos;t that a little bit confusing?

I&apos;m now porting bmalloc for Windows. Once that&apos;s done, no port is required USE_SYSTEN_MALLOC and we can remove that from WTF. DebugHeap of bmalloc uses system&apos;s malloc so we still can have backup for switch back to native malloc implementation. Until then, can we keep this duplication?

&gt;&gt; Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cppSource/WTF/wtf/linux/MemoryPressureHandlerLinux.cpp:139
&gt;&gt;  void MemoryPressureHandler::respondToMemoryPressure(Critical critical, Synchronous synchronous)
&gt; 
&gt; On Linux we have a thread on the UIProcess polling memory free and sending memoryPressureEvents (via WebKit IPC) to all the webprocess and networprocess. See MemoryPressureMonitor::start() at Source/WebKit/UIProcess/linux/MemoryPressureMonitor.cpp
&gt; What its calling MemoryPressureHandler::triggerMemoryPressureEvent() and MemoryPressureHandler::respondToMemoryPressure() on FreeBSD?

That&apos;s still under a plan. We are trying some cases and currently we only enable setShouldUsePeriodicMemoryMonitor() from WebProcess and this respondToMemoryPressure will be called from TestRunners.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650785</commentid>
    <comment_count>6</comment_count>
      <attachid>398892</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-05-08 14:57:23 -0700</bug_when>
    <thetext>Created attachment 398892
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650837</commentid>
    <comment_count>7</comment_count>
      <attachid>393310</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-05-08 17:05:44 -0700</bug_when>
    <thetext>Comment on attachment 393310
PATCH

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

&gt;&gt;&gt; Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cppSource/WTF/wtf/linux/MemoryPressureHandlerLinux.cpp:133
&gt;&gt;&gt; +    return static_cast&lt;size_t&gt;(info.ki_rssize - info.ki_tsize) * pageSize;
&gt;&gt; 
&gt;&gt; I wonder if we really need to duplicate this implementations between WTF and bmalloc. Couldn&apos;t we just call bmalloc/AvailableMemory.h stuff from WTF if bmalloc is enabled, and build just that part of bmalloc and call it if USE(SYSTEM_MALLOC) is enabled?
&gt; 
&gt; That&apos;s a good point. But isn&apos;t that a little bit confusing?
&gt; 
&gt; I&apos;m now porting bmalloc for Windows. Once that&apos;s done, no port is required USE_SYSTEN_MALLOC and we can remove that from WTF. DebugHeap of bmalloc uses system&apos;s malloc so we still can have backup for switch back to native malloc implementation. Until then, can we keep this duplication?

I personally think that we should have some layer under the bmalloc and always enable it, like, low-level library (LLL) or something like that, and we should move threading etc. to that,
but for now, I think just duplicating is better. Conditionally building part of bmalloc makes bmalloc development complicated compared to introducing new low-level library layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650840</commentid>
    <comment_count>8</comment_count>
      <attachid>398892</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-05-08 17:14:58 -0700</bug_when>
    <thetext>Comment on attachment 398892
PATCH

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650844</commentid>
    <comment_count>9</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-05-08 17:31:22 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #7)
&gt; Comment on attachment 393310 [details]
&gt; PATCH
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=393310&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cppSource/WTF/wtf/linux/MemoryPressureHandlerLinux.cpp:133
&gt; &gt;&gt;&gt; +    return static_cast&lt;size_t&gt;(info.ki_rssize - info.ki_tsize) * pageSize;
&gt; &gt;&gt; 
&gt; &gt;&gt; I wonder if we really need to duplicate this implementations between WTF and bmalloc. Couldn&apos;t we just call bmalloc/AvailableMemory.h stuff from WTF if bmalloc is enabled, and build just that part of bmalloc and call it if USE(SYSTEM_MALLOC) is enabled?
&gt; &gt; 
&gt; &gt; That&apos;s a good point. But isn&apos;t that a little bit confusing?
&gt; &gt; 
&gt; &gt; I&apos;m now porting bmalloc for Windows. Once that&apos;s done, no port is required USE_SYSTEN_MALLOC and we can remove that from WTF. DebugHeap of bmalloc uses system&apos;s malloc so we still can have backup for switch back to native malloc implementation. Until then, can we keep this duplication?
&gt; 
&gt; I personally think that we should have some layer under the bmalloc and
&gt; always enable it, like, low-level library (LLL) or something like that, and
&gt; we should move threading etc. to that,
&gt; but for now, I think just duplicating is better. Conditionally building part
&gt; of bmalloc makes bmalloc development complicated compared to introducing new
&gt; low-level library layer.

Yeah, I really love that idea. Memory, process, thread, socket, etc.

Thanks for r+!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650845</commentid>
    <comment_count>10</comment_count>
      <attachid>398906</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-05-08 17:32:42 -0700</bug_when>
    <thetext>Created attachment 398906
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650850</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-08 18:13:50 -0700</bug_when>
    <thetext>Committed r261428: &lt;https://trac.webkit.org/changeset/261428&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 398906.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650851</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-08 18:14:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/63044143&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393305</attachid>
            <date>2020-03-11 16:42:17 -0700</date>
            <delta_ts>2020-03-11 17:02:41 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-208955.diff</filename>
            <type>text/plain</type>
            <size>7562</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggYThkOTc5Mjk2YWI3Li43ODVlZTJiZjlhMmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC00NSw3ICs0NSw4IEBAIGlmIChDTUFLRV9T
WVNURU1fTkFNRSBNQVRDSEVTICJMaW51eCIpCiAgICAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMK
ICAgICAgICAgbGludXgvQ3VycmVudFByb2Nlc3NNZW1vcnlTdGF0dXMuY3BwCiAgICAgICAgIGxp
bnV4L01lbW9yeUZvb3RwcmludExpbnV4LmNwcAotICAgICAgICBsaW51eC9NZW1vcnlQcmVzc3Vy
ZUhhbmRsZXJMaW51eC5jcHAKKworICAgICAgICB1bml4L01lbW9yeVByZXNzdXJlSGFuZGxlclVu
aXguY3BwCiAgICAgKQogZWxzZSAoKQogICAgIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UgYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UKaW5kZXggMjZlZTg4YzE1MDlmLi41OTU3M2MzODUy
NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSlNDT25seS5jbWFrZQorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UKQEAgLTgyLDcgKzgyLDggQEAg
ZWxzZWlmIChDTUFLRV9TWVNURU1fTkFNRSBNQVRDSEVTICJMaW51eCIpCiAgICAgbGlzdChBUFBF
TkQgV1RGX1NPVVJDRVMKICAgICAgICAgbGludXgvQ3VycmVudFByb2Nlc3NNZW1vcnlTdGF0dXMu
Y3BwCiAgICAgICAgIGxpbnV4L01lbW9yeUZvb3RwcmludExpbnV4LmNwcAotICAgICAgICBsaW51
eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAKKworICAgICAgICB1bml4L01lbW9yeVBy
ZXNzdXJlSGFuZGxlclVuaXguY3BwCiAgICAgKQogICAgIGxpc3QoQVBQRU5EIFdURl9QVUJMSUNf
SEVBREVSUwogICAgICAgICBsaW51eC9Qcm9jZXNzTWVtb3J5Rm9vdHByaW50LmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUGxheVN0YXRpb24uY21ha2UgYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtlCmluZGV4IDM0ZTNkM2Y5NWFjYS4uNzkzOWQ2
MzdkZGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNt
YWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUGxheVN0YXRpb24uY21ha2UKQEAgLTEs
NyArMSw2IEBACiBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAgIGdlbmVyaWMvTWFpblRocmVh
ZEdlbmVyaWMuY3BwCiAgICAgZ2VuZXJpYy9NZW1vcnlGb290cHJpbnRHZW5lcmljLmNwcAotICAg
IGdlbmVyaWMvTWVtb3J5UHJlc3N1cmVIYW5kbGVyR2VuZXJpYy5jcHAKICAgICBnZW5lcmljL1J1
bkxvb3BHZW5lcmljLmNwcAogICAgIGdlbmVyaWMvV29ya1F1ZXVlR2VuZXJpYy5jcHAKIApAQCAt
MTUsNiArMTQsNyBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAgIHRleHQvdW5peC9UZXh0
QnJlYWtJdGVyYXRvckludGVybmFsSUNVVW5peC5jcHAKIAogICAgIHVuaXgvQ1BVVGltZVVuaXgu
Y3BwCisgICAgdW5peC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJVbml4LmNwcAogKQogCiBsaXN0KEFQ
UEVORCBXVEZfTElCUkFSSUVTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdQ
RS5jbWFrZSBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV1BFLmNtYWtlCmluZGV4IGU1YThmZjQ3
ODE2My4uN2Q0MTU0MWY5Y2U3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdQ
RS5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdQRS5jbWFrZQpAQCAtMjcsNyAr
MjcsNiBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAgIGdsaWIvVVJMR0xpYi5jcHAKIAog
ICAgIGxpbnV4L0N1cnJlbnRQcm9jZXNzTWVtb3J5U3RhdHVzLmNwcAotICAgIGxpbnV4L01lbW9y
eVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAogCiAgICAgcG9zaXgvT1NBbGxvY2F0b3JQT1NJWC5j
cHAKICAgICBwb3NpeC9UaHJlYWRpbmdQT1NJWC5jcHAKQEAgLTM2LDYgKzM1LDcgQEAgbGlzdChB
UFBFTkQgV1RGX1NPVVJDRVMKIAogICAgIHVuaXgvQ1BVVGltZVVuaXguY3BwCiAgICAgdW5peC9M
YW5ndWFnZVVuaXguY3BwCisgICAgdW5peC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJVbml4LmNwcAog
ICAgIHVuaXgvVW5pU3RkRXh0cmFzVW5peC5jcHAKICkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvZ2VuZXJpYy9NZW1vcnlGb290cHJpbnRHZW5lcmljLmNwcCBiL1NvdXJjZS9XVEYvd3Rm
L2dlbmVyaWMvTWVtb3J5Rm9vdHByaW50R2VuZXJpYy5jcHAKaW5kZXggZTZjYjlkZDUxZGRmLi44
ZWMwNTJkOGI5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvTWVtb3J5Rm9v
dHByaW50R2VuZXJpYy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZ2VuZXJpYy9NZW1vcnlGb290
cHJpbnRHZW5lcmljLmNwcApAQCAtMjUsOCArMjUsOSBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSA8d3RmL01lbW9yeUZvb3RwcmludC5oPgorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9y
bS5oPgogCi0jaWYgIShkZWZpbmVkKFVTRV9TWVNURU1fTUFMTE9DKSAmJiBVU0VfU1lTVEVNX01B
TExPQykgJiYgT1MoTElOVVgpCisjaWYgIVVTRShTWVNURU1fTUFMTE9DKSAmJiAoT1MoTElOVVgp
IHx8IE9TKEZSRUVCU0QpKQogI2luY2x1ZGUgPGJtYWxsb2MvYm1hbGxvYy5oPgogI2VuZGlmCiAK
QEAgLTM0LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKIHNpemVfdCBtZW1vcnlGb290cHJp
bnQoKQogewotI2lmICEoZGVmaW5lZChVU0VfU1lTVEVNX01BTExPQykgJiYgVVNFX1NZU1RFTV9N
QUxMT0MpICYmIE9TKExJTlVYKQorI2lmICFVU0UoU1lTVEVNX01BTExPQykgJiYgKE9TKExJTlVY
KSB8fCBPUyhGUkVFQlNEKSkKICAgICByZXR1cm4gYm1hbGxvYzo6YXBpOjptZW1vcnlGb290cHJp
bnQoKTsKICNlbHNlCiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9s
aW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi91bml4
L01lbW9yeVByZXNzdXJlSGFuZGxlclVuaXguY3BwCnNpbWlsYXJpdHkgaW5kZXggOTAlCnJlbmFt
ZSBmcm9tIFNvdXJjZS9XVEYvd3RmL2xpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNw
cApyZW5hbWUgdG8gU291cmNlL1dURi93dGYvdW5peC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJVbml4
LmNwcAppbmRleCAxMWNlNWEyMTQxMjcuLmVhZTRhNDc2MGY1YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvbGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL3VuaXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyVW5peC5jcHAKQEAgLTMyLDkgKzMy
LDEyIEBACiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4K
ICNpbmNsdWRlIDx3dGYvTWVtb3J5Rm9vdHByaW50Lmg+Ci0jaW5jbHVkZSA8d3RmL2xpbnV4L0N1
cnJlbnRQcm9jZXNzTWVtb3J5U3RhdHVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKKyNpZiBPUyhMSU5VWCkKKyNpbmNsdWRlIDx3dGYvbGludXgvQ3VycmVudFByb2Nlc3NN
ZW1vcnlTdGF0dXMuaD4KKyNlbmRpZgorCiAjZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cK
IAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDUsOSArMTA4LDI4IEBAIHZvaWQgTWVtb3J5UHJlc3N1
cmVIYW5kbGVyOjpob2xkT2ZmKFNlY29uZHMgc2Vjb25kcykKIAogc3RhdGljIHNpemVfdCBwcm9j
ZXNzTWVtb3J5VXNhZ2UoKQogeworI2lmIE9TKFVOSVgpCiAgICAgUHJvY2Vzc01lbW9yeVN0YXR1
cyBtZW1vcnlTdGF0dXM7CiAgICAgY3VycmVudFByb2Nlc3NNZW1vcnlTdGF0dXMobWVtb3J5U3Rh
dHVzKTsKICAgICByZXR1cm4gKG1lbW9yeVN0YXR1cy5yZXNpZGVudCAtIG1lbW9yeVN0YXR1cy5z
aGFyZWQpOworI2VsaWYgT1MoRlJFRUJTRCkKKyAgICBzdGF0aWMgc2l6ZV90IHBhZ2VTaXplID0g
c3lzY29uZihfU0NfUEFHRV9TSVpFKTsKKyAgICBzdHJ1Y3Qga2luZm9fcHJvYyBpbmZvOworICAg
IHNpemVfdCBpbmZvbGVuID0gc2l6ZW9mKGluZm8pOworCisgICAgaW50IG1pYls0XTsKKyAgICBt
aWJbMF0gPSBDVExfS0VSTjsKKyAgICBtaWJbMV0gPSBLRVJOX1BST0M7CisgICAgbWliWzJdID0g
S0VSTl9QUk9DX1BJRDsKKyAgICBtaWJbM10gPSBnZXRwaWQoKTsKKworICAgIGlmIChzeXNjdGwo
bWliLCA0LCAmaW5mbywgJmluZm9sZW4sIE5VTEwsIDApKQorICAgICAgICByZXR1cm4gMDsKKwor
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxzaXplX3Q+KGluZm8ua2lfcnNzaXplIC0gaW5mby5raV90
c2l6ZSkgKiBwYWdlU2l6ZTsKKyNlbHNlCisjZXJyb3IgIk1pc3NpbmcgYSBwbGF0Zm9ybSBzcGVj
aWZpYyB3YXkgb2YgZGV0ZXJtaW5pbmcgdGhlIG1lbW9yeSB1c2FnZSIKKyNlbmRpZgogfQogCiB2
b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6cmVzcG9uZFRvTWVtb3J5UHJlc3N1cmUoQ3JpdGlj
YWwgY3JpdGljYWwsIFN5bmNocm9ub3VzIHN5bmNocm9ub3VzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwIGIvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwCmluZGV4IDI0NmVkNGViMDI0My4uYTVhNTVkZTc1ZGI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAK
KysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwCkBAIC00Nyw2
ICs0NywxMSBAQAogI2lmIEJPUyhMSU5VWCkKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVk
ZSA8ZmNudGwuaD4KKyNlbGlmIEJPUyhGUkVFQlNEKQorI2luY2x1ZGUgIlZNQWxsb2NhdGUuaCIK
KyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3lzY3RsLmg+CisjaW5jbHVk
ZSA8c3lzL3VzZXIuaD4KICNlbmRpZgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2VuZGlmCkBAIC0x
ODQsNyArMTg5LDcgQEAgc2l6ZV90IGF2YWlsYWJsZU1lbW9yeSgpCiAgICAgcmV0dXJuIGF2YWls
YWJsZU1lbW9yeTsKIH0KIAotI2lmIEJQTEFURk9STShJT1NfRkFNSUxZKSB8fCBCT1MoTElOVVgp
CisjaWYgQlBMQVRGT1JNKElPU19GQU1JTFkpIHx8IEJPUyhMSU5VWCkgfHwgQk9TKEZSRUVCU0Qp
CiBNZW1vcnlTdGF0dXMgbWVtb3J5U3RhdHVzKCkKIHsKICNpZiBCUExBVEZPUk0oSU9TX0ZBTUlM
WSkKQEAgLTIwMCw2ICsyMDUsMjEgQEAgTWVtb3J5U3RhdHVzIG1lbW9yeVN0YXR1cygpCiAgICAg
YXV0byYgbWVtb3J5ID0gTGludXhNZW1vcnk6OnNpbmdsZXRvbigpOwogICAgIHNpemVfdCBtZW1v
cnlGb290cHJpbnQgPSBtZW1vcnkuZm9vdHByaW50KCk7CiAgICAgZG91YmxlIHBlcmNlbnRJblVz
ZSA9IHN0YXRpY19jYXN0PGRvdWJsZT4obWVtb3J5Rm9vdHByaW50KSAvIHN0YXRpY19jYXN0PGRv
dWJsZT4obWVtb3J5LmF2YWlsYWJsZU1lbW9yeSk7CisjZWxpZiBCT1MoRlJFRUJTRCkKKyAgICBz
dHJ1Y3Qga2luZm9fcHJvYyBpbmZvOworICAgIHNpemVfdCBpbmZvbGVuID0gc2l6ZW9mKGluZm8p
OworCisgICAgaW50IG1pYls0XTsKKyAgICBtaWJbMF0gPSBDVExfS0VSTjsKKyAgICBtaWJbMV0g
PSBLRVJOX1BST0M7CisgICAgbWliWzJdID0gS0VSTl9QUk9DX1BJRDsKKyAgICBtaWJbM10gPSBn
ZXRwaWQoKTsKKworICAgIHNpemVfdCBtZW1vcnlGb290cHJpbnQgPSAwOworICAgIGlmIChzeXNj
dGwobWliLCA0LCAmaW5mbywgJmluZm9sZW4sIE5VTEwsIDApID09IDApCisgICAgICAgIG1lbW9y
eUZvb3RwcmludCA9IHN0YXRpY19jYXN0PChzaXplX3Q+KGluZm8ua2lfcnNzaXplKSAqIHZtUGFn
ZVNpemUoKTsKKworICAgIGRvdWJsZSBwZXJjZW50SW5Vc2UgPSBzdGF0aWNfY2FzdDxkb3VibGU+
KG1lbW9yeUZvb3RwcmludCkgLyBzdGF0aWNfY2FzdDxkb3VibGU+KGF2YWlsYWJsZU1lbW9yeSgp
KTsKICNlbmRpZgogCiAgICAgZG91YmxlIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSA9IHN0
ZDo6bWluKHBlcmNlbnRJblVzZSwgMS4wKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvQXZhaWxhYmxlTWVtb3J5LmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJs
ZU1lbW9yeS5oCmluZGV4IDIwZDZhNDI3NDdmNS4uNWE3OTBhOThjZDQwIDEwMDY0NAotLS0gYS9T
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5oCisrKyBiL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvQXZhaWxhYmxlTWVtb3J5LmgKQEAgLTMyLDcgKzMyLDcgQEAgbmFtZXNwYWNl
IGJtYWxsb2MgewogCiBCRVhQT1JUIHNpemVfdCBhdmFpbGFibGVNZW1vcnkoKTsKIAotI2lmIEJQ
TEFURk9STShJT1NfRkFNSUxZKSB8fCBCT1MoTElOVVgpCisjaWYgQlBMQVRGT1JNKElPU19GQU1J
TFkpIHx8IEJPUyhMSU5VWCkgfHwgQk9TKEZSRUVCU0QpCiBzdHJ1Y3QgTWVtb3J5U3RhdHVzIHsK
ICAgICBNZW1vcnlTdGF0dXMoc2l6ZV90IG1lbW9yeUZvb3RwcmludCwgZG91YmxlIHBlcmNlbnRB
dmFpbGFibGVNZW1vcnlJblVzZSkKICAgICAgICAgOiBtZW1vcnlGb290cHJpbnQobWVtb3J5Rm9v
dHByaW50KQpAQCAtNjEsNyArNjEsNyBAQCBpbmxpbmUgZG91YmxlIHBlcmNlbnRBdmFpbGFibGVN
ZW1vcnlJblVzZSgpCiAKIGlubGluZSBib29sIGlzVW5kZXJNZW1vcnlQcmVzc3VyZSgpCiB7Ci0j
aWYgQlBMQVRGT1JNKElPU19GQU1JTFkpIHx8IEJPUyhMSU5VWCkKKyNpZiBCUExBVEZPUk0oSU9T
X0ZBTUlMWSkgfHwgQk9TKExJTlVYKSB8fCBCT1MoRlJFRUJTRCkKICAgICByZXR1cm4gcGVyY2Vu
dEF2YWlsYWJsZU1lbW9yeUluVXNlKCkgPiBtZW1vcnlQcmVzc3VyZVRocmVzaG9sZDsKICNlbHNl
CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9i
bWFsbG9jLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL2JtYWxsb2MuaAppbmRleCA2ZmI5NmMy
OTRhODIuLjA0MTcyMGRkNWNmZiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9i
bWFsbG9jLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9ibWFsbG9jLmgKQEAgLTExMSw3
ICsxMTEsNyBAQCBpbmxpbmUgc2l6ZV90IGF2YWlsYWJsZU1lbW9yeSgpCiAgICAgcmV0dXJuIGJt
YWxsb2M6OmF2YWlsYWJsZU1lbW9yeSgpOwogfQogICAgIAotI2lmIEJQTEFURk9STShJT1NfRkFN
SUxZKSB8fCBCT1MoTElOVVgpCisjaWYgQlBMQVRGT1JNKElPU19GQU1JTFkpIHx8IEJPUyhMSU5V
WCkgfHwgQk9TKEZSRUVCU0QpCiBpbmxpbmUgc2l6ZV90IG1lbW9yeUZvb3RwcmludCgpCiB7CiAg
ICAgcmV0dXJuIGJtYWxsb2M6Om1lbW9yeUZvb3RwcmludCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393310</attachid>
            <date>2020-03-11 17:02:41 -0700</date>
            <delta_ts>2020-05-08 14:57:23 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>bug-208955.diff</filename>
            <type>text/plain</type>
            <size>9482</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggYWM1YTFkMTJjZmExLi40YmUxNTUxMzRjOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIw
MjAtMDMtMTEgIEJhc3VrZSBTdXp1a2kgIDxiYXN1a2Uuc3V6dWtpQHNvbnkuY29tPgorCisgICAg
ICAgIFtXVEZdIFNoYXJlIExpbnV4J3MgTWVtb3J5UHJlc3N1cmVIYW5kbGVyIGFtb25nIG90aGVy
IFVuaXggcG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwODk1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE1vdmUgTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXggdG8gTWVtb3J5UHJlc3N1cmVIYW5k
bGVyVW5peC4gQWRkZWQgRnJlZUJTRCBpbXBsZW1lbnRhdGlvbgorICAgICAgICBvZiBtZW1vcnkg
c3RhdHVzIGZ1bmN0aW9ucy4gQ2hhbmdlIFBsYXlTdGF0aW9uIHBvcnQgdG8gdXNlIGl0IGZyb20g
Z2VuZXJpYyBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUdUSy5jbWFr
ZToKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1KU0NPbmx5LmNtYWtlOgorICAgICAgICAqIHd0Zi9Q
bGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybVdQRS5jbWFr
ZToKKyAgICAgICAgKiB3dGYvZ2VuZXJpYy9NZW1vcnlGb290cHJpbnRHZW5lcmljLmNwcDoKKyAg
ICAgICAgKFdURjo6bWVtb3J5Rm9vdHByaW50KToKKyAgICAgICAgKiB3dGYvdW5peC9NZW1vcnlQ
cmVzc3VyZUhhbmRsZXJVbml4LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XVEYvd3RmL2xpbnV4
L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcC4KKyAgICAgICAgKFdURjo6cHJvY2Vzc01l
bW9yeVVzYWdlKToKKwogMjAyMC0wMy0wMiAgUGF1bG8gTWF0b3MgIDxwbWF0b3NAaWdhbGlhLmNv
bT4KIAogICAgICAgICBGaXggSlNDIDMyYml0IGFsaWdubWVudCBpbmNyZWFzZSBnY2Mgd2Fybmlu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCBhOGQ5NzkyOTZhYjcuLjc4NWVlMmJmOWEy
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291
cmNlL1dURi93dGYvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTQ1LDcgKzQ1LDggQEAgaWYgKENNQUtF
X1NZU1RFTV9OQU1FIE1BVENIRVMgIkxpbnV4IikKICAgICBsaXN0KEFQUEVORCBXVEZfU09VUkNF
UwogICAgICAgICBsaW51eC9DdXJyZW50UHJvY2Vzc01lbW9yeVN0YXR1cy5jcHAKICAgICAgICAg
bGludXgvTWVtb3J5Rm9vdHByaW50TGludXguY3BwCi0gICAgICAgIGxpbnV4L01lbW9yeVByZXNz
dXJlSGFuZGxlckxpbnV4LmNwcAorCisgICAgICAgIHVuaXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVy
VW5peC5jcHAKICAgICApCiBlbHNlICgpCiAgICAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSlNDT25seS5jbWFrZSBiL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtSlNDT25seS5jbWFrZQppbmRleCAyNmVlODhjMTUwOWYuLjU5NTczYzM4
NTI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1KU0NPbmx5LmNtYWtlCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSlNDT25seS5jbWFrZQpAQCAtODIsNyArODIsOCBA
QCBlbHNlaWYgKENNQUtFX1NZU1RFTV9OQU1FIE1BVENIRVMgIkxpbnV4IikKICAgICBsaXN0KEFQ
UEVORCBXVEZfU09VUkNFUwogICAgICAgICBsaW51eC9DdXJyZW50UHJvY2Vzc01lbW9yeVN0YXR1
cy5jcHAKICAgICAgICAgbGludXgvTWVtb3J5Rm9vdHByaW50TGludXguY3BwCi0gICAgICAgIGxp
bnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAorCisgICAgICAgIHVuaXgvTWVtb3J5
UHJlc3N1cmVIYW5kbGVyVW5peC5jcHAKICAgICApCiAgICAgbGlzdChBUFBFTkQgV1RGX1BVQkxJ
Q19IRUFERVJTCiAgICAgICAgIGxpbnV4L1Byb2Nlc3NNZW1vcnlGb290cHJpbnQuaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZSBiL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtUGxheVN0YXRpb24uY21ha2UKaW5kZXggMzRlM2QzZjk1YWNhLi43OTM5
ZDYzN2RkYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUGxheVN0YXRpb24u
Y21ha2UKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZQpAQCAt
MSw3ICsxLDYgQEAKIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAgICAgZ2VuZXJpYy9NYWluVGhy
ZWFkR2VuZXJpYy5jcHAKICAgICBnZW5lcmljL01lbW9yeUZvb3RwcmludEdlbmVyaWMuY3BwCi0g
ICAgZ2VuZXJpYy9NZW1vcnlQcmVzc3VyZUhhbmRsZXJHZW5lcmljLmNwcAogICAgIGdlbmVyaWMv
UnVuTG9vcEdlbmVyaWMuY3BwCiAgICAgZ2VuZXJpYy9Xb3JrUXVldWVHZW5lcmljLmNwcAogCkBA
IC0xNSw2ICsxNCw3IEBAIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAgICAgdGV4dC91bml4L1Rl
eHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VVbml4LmNwcAogCiAgICAgdW5peC9DUFVUaW1lVW5p
eC5jcHAKKyAgICB1bml4L01lbW9yeVByZXNzdXJlSGFuZGxlclVuaXguY3BwCiApCiAKIGxpc3Qo
QVBQRU5EIFdURl9MSUJSQVJJRVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
V1BFLmNtYWtlIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1XUEUuY21ha2UKaW5kZXggZTVhOGZm
NDc4MTYzLi43ZDQxNTQxZjljZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
V1BFLmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV1BFLmNtYWtlCkBAIC0yNyw3
ICsyNyw2IEBAIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAgICAgZ2xpYi9VUkxHTGliLmNwcAog
CiAgICAgbGludXgvQ3VycmVudFByb2Nlc3NNZW1vcnlTdGF0dXMuY3BwCi0gICAgbGludXgvTWVt
b3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCiAKICAgICBwb3NpeC9PU0FsbG9jYXRvclBPU0lY
LmNwcAogICAgIHBvc2l4L1RocmVhZGluZ1BPU0lYLmNwcApAQCAtMzYsNiArMzUsNyBAQCBsaXN0
KEFQUEVORCBXVEZfU09VUkNFUwogCiAgICAgdW5peC9DUFVUaW1lVW5peC5jcHAKICAgICB1bml4
L0xhbmd1YWdlVW5peC5jcHAKKyAgICB1bml4L01lbW9yeVByZXNzdXJlSGFuZGxlclVuaXguY3Bw
CiAgICAgdW5peC9VbmlTdGRFeHRyYXNVbml4LmNwcAogKQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9nZW5lcmljL01lbW9yeUZvb3RwcmludEdlbmVyaWMuY3BwIGIvU291cmNlL1dURi93
dGYvZ2VuZXJpYy9NZW1vcnlGb290cHJpbnRHZW5lcmljLmNwcAppbmRleCBlNmNiOWRkNTFkZGYu
LjhlYzA1MmQ4YjkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZ2VuZXJpYy9NZW1vcnlG
b290cHJpbnRHZW5lcmljLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL01lbW9yeUZv
b3RwcmludEdlbmVyaWMuY3BwCkBAIC0yNSw4ICsyNSw5IEBACiAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlIDx3dGYvTWVtb3J5Rm9vdHByaW50Lmg+CisjaW5jbHVkZSA8d3RmL1BsYXRm
b3JtLmg+CiAKLSNpZiAhKGRlZmluZWQoVVNFX1NZU1RFTV9NQUxMT0MpICYmIFVTRV9TWVNURU1f
TUFMTE9DKSAmJiBPUyhMSU5VWCkKKyNpZiAhVVNFKFNZU1RFTV9NQUxMT0MpICYmIChPUyhMSU5V
WCkgfHwgT1MoRlJFRUJTRCkpCiAjaW5jbHVkZSA8Ym1hbGxvYy9ibWFsbG9jLmg+CiAjZW5kaWYK
IApAQCAtMzQsNyArMzUsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIAogc2l6ZV90IG1lbW9yeUZvb3Rw
cmludCgpCiB7Ci0jaWYgIShkZWZpbmVkKFVTRV9TWVNURU1fTUFMTE9DKSAmJiBVU0VfU1lTVEVN
X01BTExPQykgJiYgT1MoTElOVVgpCisjaWYgIVVTRShTWVNURU1fTUFMTE9DKSAmJiAoT1MoTElO
VVgpIHx8IE9TKEZSRUVCU0QpKQogICAgIHJldHVybiBibWFsbG9jOjphcGk6Om1lbW9yeUZvb3Rw
cmludCgpOwogI2Vsc2UKICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L2xpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcCBiL1NvdXJjZS9XVEYvd3RmL3Vu
aXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyVW5peC5jcHAKc2ltaWxhcml0eSBpbmRleCA4OCUKcmVu
YW1lIGZyb20gU291cmNlL1dURi93dGYvbGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXgu
Y3BwCnJlbmFtZSB0byBTb3VyY2UvV1RGL3d0Zi91bml4L01lbW9yeVByZXNzdXJlSGFuZGxlclVu
aXguY3BwCmluZGV4IDExY2U1YTIxNDEyNy4uNjc1NDc1ZTFiNTE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvdW5peC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJVbml4LmNwcApAQCAtMzIsOSAr
MzIsMTYgQEAKICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5o
PgogI2luY2x1ZGUgPHd0Zi9NZW1vcnlGb290cHJpbnQuaD4KLSNpbmNsdWRlIDx3dGYvbGludXgv
Q3VycmVudFByb2Nlc3NNZW1vcnlTdGF0dXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAorI2lmIE9TKExJTlVYKQorI2luY2x1ZGUgPHd0Zi9saW51eC9DdXJyZW50UHJvY2Vz
c01lbW9yeVN0YXR1cy5oPgorI2VsaWYgT1MoRlJFRUJTRCkKKyNpbmNsdWRlIDxzeXMvc3lzY3Rs
Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3VzZXIuaD4KKyNlbmRp
ZgorCiAjZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cKIAogbmFtZXNwYWNlIFdURiB7CkBA
IC0xMDUsOSArMTEyLDI4IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpob2xkT2ZmKFNl
Y29uZHMgc2Vjb25kcykKIAogc3RhdGljIHNpemVfdCBwcm9jZXNzTWVtb3J5VXNhZ2UoKQogewor
I2lmIE9TKExJTlVYKQogICAgIFByb2Nlc3NNZW1vcnlTdGF0dXMgbWVtb3J5U3RhdHVzOwogICAg
IGN1cnJlbnRQcm9jZXNzTWVtb3J5U3RhdHVzKG1lbW9yeVN0YXR1cyk7CiAgICAgcmV0dXJuICht
ZW1vcnlTdGF0dXMucmVzaWRlbnQgLSBtZW1vcnlTdGF0dXMuc2hhcmVkKTsKKyNlbGlmIE9TKEZS
RUVCU0QpCisgICAgc3RhdGljIHNpemVfdCBwYWdlU2l6ZSA9IHN5c2NvbmYoX1NDX1BBR0VfU0la
RSk7CisgICAgc3RydWN0IGtpbmZvX3Byb2MgaW5mbzsKKyAgICBzaXplX3QgaW5mb2xlbiA9IHNp
emVvZihpbmZvKTsKKworICAgIGludCBtaWJbNF07CisgICAgbWliWzBdID0gQ1RMX0tFUk47Cisg
ICAgbWliWzFdID0gS0VSTl9QUk9DOworICAgIG1pYlsyXSA9IEtFUk5fUFJPQ19QSUQ7CisgICAg
bWliWzNdID0gZ2V0cGlkKCk7CisKKyAgICBpZiAoc3lzY3RsKG1pYiwgNCwgJmluZm8sICZpbmZv
bGVuLCBudWxscHRyLCAwKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8c2l6ZV90PihpbmZvLmtpX3Jzc2l6ZSAtIGluZm8ua2lfdHNpemUpICogcGFnZVNpemU7
CisjZWxzZQorI2Vycm9yICJNaXNzaW5nIGEgcGxhdGZvcm0gc3BlY2lmaWMgd2F5IG9mIGRldGVy
bWluaW5nIHRoZSBtZW1vcnkgdXNhZ2UiCisjZW5kaWYKIH0KIAogdm9pZCBNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXI6OnJlc3BvbmRUb01lbW9yeVByZXNzdXJlKENyaXRpY2FsIGNyaXRpY2FsLCBTeW5j
aHJvbm91cyBzeW5jaHJvbm91cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxv
ZyBiL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwppbmRleCAwNGVjYThhNjcxMzMuLmI0MzY2MmJj
NmEyNiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9i
bWFsbG9jL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTAzLTExICBCYXN1a2UgU3V6
dWtpICA8YmFzdWtlLnN1enVraUBzb255LmNvbT4KKworICAgICAgICBbV1RGXSBTaGFyZSBMaW51
eCdzIE1lbW9yeVByZXNzdXJlSGFuZGxlciBhbW9uZyBvdGhlciBVbml4IHBvcnRzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg5NTUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBGcmVlQlNEIGlt
cGxlbWVudGF0aW9uIG9mIG1lbW9yeUZvb3RwcmludCgpLgorCisgICAgICAgICogYm1hbGxvYy9B
dmFpbGFibGVNZW1vcnkuY3BwOgorICAgICAgICAoYm1hbGxvYzo6bWVtb3J5U3RhdHVzKToKKyAg
ICAgICAgKiBibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5oOgorICAgICAgICAoYm1hbGxvYzo6aXNV
bmRlck1lbW9yeVByZXNzdXJlKToKKyAgICAgICAgKiBibWFsbG9jL2JtYWxsb2MuaDoKKwogMjAy
MC0wMi0yOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bW92ZSBzdGQ6OmxvY2tfZ3VhcmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
QXZhaWxhYmxlTWVtb3J5LmNwcCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXZhaWxhYmxlTWVt
b3J5LmNwcAppbmRleCAyNDZlZDRlYjAyNDMuLjJlMWI0NjBhMGY5YiAxMDA2NDQKLS0tIGEvU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwCisrKyBiL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvQXZhaWxhYmxlTWVtb3J5LmNwcApAQCAtNDcsNiArNDcsMTEgQEAKICNpZiBC
T1MoTElOVVgpCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPGZjbnRsLmg+CisjZWxp
ZiBCT1MoRlJFRUJTRCkKKyNpbmNsdWRlICJWTUFsbG9jYXRlLmgiCisjaW5jbHVkZSA8c3lzL3N5
c2N0bC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy91c2VyLmg+CiAj
ZW5kaWYKICNpbmNsdWRlIDx1bmlzdGQuaD4KICNlbmRpZgpAQCAtMTg0LDcgKzE4OSw3IEBAIHNp
emVfdCBhdmFpbGFibGVNZW1vcnkoKQogICAgIHJldHVybiBhdmFpbGFibGVNZW1vcnk7CiB9CiAK
LSNpZiBCUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgQk9TKExJTlVYKQorI2lmIEJQTEFURk9STShJ
T1NfRkFNSUxZKSB8fCBCT1MoTElOVVgpIHx8IEJPUyhGUkVFQlNEKQogTWVtb3J5U3RhdHVzIG1l
bW9yeVN0YXR1cygpCiB7CiAjaWYgQlBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0yMDAsNiArMjA1
LDIxIEBAIE1lbW9yeVN0YXR1cyBtZW1vcnlTdGF0dXMoKQogICAgIGF1dG8mIG1lbW9yeSA9IExp
bnV4TWVtb3J5OjpzaW5nbGV0b24oKTsKICAgICBzaXplX3QgbWVtb3J5Rm9vdHByaW50ID0gbWVt
b3J5LmZvb3RwcmludCgpOwogICAgIGRvdWJsZSBwZXJjZW50SW5Vc2UgPSBzdGF0aWNfY2FzdDxk
b3VibGU+KG1lbW9yeUZvb3RwcmludCkgLyBzdGF0aWNfY2FzdDxkb3VibGU+KG1lbW9yeS5hdmFp
bGFibGVNZW1vcnkpOworI2VsaWYgQk9TKEZSRUVCU0QpCisgICAgc3RydWN0IGtpbmZvX3Byb2Mg
aW5mbzsKKyAgICBzaXplX3QgaW5mb2xlbiA9IHNpemVvZihpbmZvKTsKKworICAgIGludCBtaWJb
NF07CisgICAgbWliWzBdID0gQ1RMX0tFUk47CisgICAgbWliWzFdID0gS0VSTl9QUk9DOworICAg
IG1pYlsyXSA9IEtFUk5fUFJPQ19QSUQ7CisgICAgbWliWzNdID0gZ2V0cGlkKCk7CisKKyAgICBz
aXplX3QgbWVtb3J5Rm9vdHByaW50ID0gMDsKKyAgICBpZiAoIXN5c2N0bChtaWIsIDQsICZpbmZv
LCAmaW5mb2xlbiwgbnVsbHB0ciwgMCkpCisgICAgICAgIG1lbW9yeUZvb3RwcmludCA9IHN0YXRp
Y19jYXN0PChzaXplX3Q+KGluZm8ua2lfcnNzaXplKSAqIHZtUGFnZVNpemUoKTsKKworICAgIGRv
dWJsZSBwZXJjZW50SW5Vc2UgPSBzdGF0aWNfY2FzdDxkb3VibGU+KG1lbW9yeUZvb3RwcmludCkg
LyBzdGF0aWNfY2FzdDxkb3VibGU+KGF2YWlsYWJsZU1lbW9yeSgpKTsKICNlbmRpZgogCiAgICAg
ZG91YmxlIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSA9IHN0ZDo6bWluKHBlcmNlbnRJblVz
ZSwgMS4wKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXZhaWxhYmxlTWVt
b3J5LmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5oCmluZGV4IDIw
ZDZhNDI3NDdmNS4uNWE3OTBhOThjZDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL0F2YWlsYWJsZU1lbW9yeS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXZhaWxh
YmxlTWVtb3J5LmgKQEAgLTMyLDcgKzMyLDcgQEAgbmFtZXNwYWNlIGJtYWxsb2MgewogCiBCRVhQ
T1JUIHNpemVfdCBhdmFpbGFibGVNZW1vcnkoKTsKIAotI2lmIEJQTEFURk9STShJT1NfRkFNSUxZ
KSB8fCBCT1MoTElOVVgpCisjaWYgQlBMQVRGT1JNKElPU19GQU1JTFkpIHx8IEJPUyhMSU5VWCkg
fHwgQk9TKEZSRUVCU0QpCiBzdHJ1Y3QgTWVtb3J5U3RhdHVzIHsKICAgICBNZW1vcnlTdGF0dXMo
c2l6ZV90IG1lbW9yeUZvb3RwcmludCwgZG91YmxlIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVz
ZSkKICAgICAgICAgOiBtZW1vcnlGb290cHJpbnQobWVtb3J5Rm9vdHByaW50KQpAQCAtNjEsNyAr
NjEsNyBAQCBpbmxpbmUgZG91YmxlIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSgpCiAKIGlu
bGluZSBib29sIGlzVW5kZXJNZW1vcnlQcmVzc3VyZSgpCiB7Ci0jaWYgQlBMQVRGT1JNKElPU19G
QU1JTFkpIHx8IEJPUyhMSU5VWCkKKyNpZiBCUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgQk9TKExJ
TlVYKSB8fCBCT1MoRlJFRUJTRCkKICAgICByZXR1cm4gcGVyY2VudEF2YWlsYWJsZU1lbW9yeUlu
VXNlKCkgPiBtZW1vcnlQcmVzc3VyZVRocmVzaG9sZDsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9ibWFsbG9jLmggYi9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL2JtYWxsb2MuaAppbmRleCA2ZmI5NmMyOTRhODIuLjA0MTcyMGRkNWNm
ZiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9ibWFsbG9jLmgKKysrIGIvU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9ibWFsbG9jLmgKQEAgLTExMSw3ICsxMTEsNyBAQCBpbmxpbmUg
c2l6ZV90IGF2YWlsYWJsZU1lbW9yeSgpCiAgICAgcmV0dXJuIGJtYWxsb2M6OmF2YWlsYWJsZU1l
bW9yeSgpOwogfQogICAgIAotI2lmIEJQTEFURk9STShJT1NfRkFNSUxZKSB8fCBCT1MoTElOVVgp
CisjaWYgQlBMQVRGT1JNKElPU19GQU1JTFkpIHx8IEJPUyhMSU5VWCkgfHwgQk9TKEZSRUVCU0Qp
CiBpbmxpbmUgc2l6ZV90IG1lbW9yeUZvb3RwcmludCgpCiB7CiAgICAgcmV0dXJuIGJtYWxsb2M6
Om1lbW9yeUZvb3RwcmludCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398892</attachid>
            <date>2020-05-08 14:57:23 -0700</date>
            <delta_ts>2020-05-08 17:32:42 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>bug-208955.diff</filename>
            <type>text/plain</type>
            <size>12822</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggZjFlYWZmZjgyM2E3Li40MGZmYjdlNjAyNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIw
MjAtMDUtMDggIEJhc3VrZSBTdXp1a2kgIDxiYXN1a2Uuc3V6dWtpQHNvbnkuY29tPgorCisgICAg
ICAgIFtXVEZdIFNoYXJlIExpbnV4J3MgTWVtb3J5UHJlc3N1cmVIYW5kbGVyIGFtb25nIG90aGVy
IFVuaXggcG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwODk1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJlbmFtZWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXggdG8gTWVtb3J5UHJlc3N1cmVI
YW5kbGVyVW5peCBhbmQgYWRkZWQgRnJlZUJTRCBpbXBsZW1lbnRhdGlvbgorICAgICAgICBvZiBt
ZW1vcnkgc3RhdHVzIGZ1bmN0aW9ucy4gQ2hhbmdlIFBsYXlTdGF0aW9uIHBvcnQgdG8gdXNlIGl0
IGZyb20gZ2VuZXJpYyBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIHd0Zi9NZW1vcnlQcmVz
c3VyZUhhbmRsZXIuY3BwOgorICAgICAgICAoV1RGOjpNZW1vcnlQcmVzc3VyZUhhbmRsZXI6Ok1l
bW9yeVByZXNzdXJlSGFuZGxlcik6CisgICAgICAgICogd3RmL01lbW9yeVByZXNzdXJlSGFuZGxl
ci5oOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiB3dGYvUGxh
dGZvcm1KU0NPbmx5LmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNt
YWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybVdQRS5jbWFrZToKKyAgICAgICAgKiB3dGYvZ2Vu
ZXJpYy9NZW1vcnlGb290cHJpbnRHZW5lcmljLmNwcDoKKyAgICAgICAgKFdURjo6bWVtb3J5Rm9v
dHByaW50KToKKyAgICAgICAgKiB3dGYvdW5peC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJVbml4LmNw
cDogUmVuYW1lZCBmcm9tIFNvdXJjZVxXVEZcd3RmXGxpbnV4XE1lbW9yeVByZXNzdXJlSGFuZGxl
ckxpbnV4LmNwcC4KKyAgICAgICAgKFdURjo6cHJvY2Vzc01lbW9yeVVzYWdlKToKKwogMjAyMC0w
NS0wNiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBhIGhl
bHBlciBmb3IgdGhlIHBhdHRlcm4gb2YgSUNVIGZ1bmN0aW9ucyB0aGF0IG1heSBuZWVkIHRvIGJl
IGNhbGxlZCB0d2ljZSB0byBwb3B1bGF0ZSBhIGJ1ZmZlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcCBiL1NvdXJjZS9XVEYvd3RmL01lbW9yeVBy
ZXNzdXJlSGFuZGxlci5jcHAKaW5kZXggYzI4MDE2MGRmODBmLi5kNWU1NGU2NWQ2MjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcApAQCAtNTMsNyArNTMsNyBAQCBN
ZW1vcnlQcmVzc3VyZUhhbmRsZXImIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2luZ2xldG9uKCkK
IH0KIAogTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpNZW1vcnlQcmVzc3VyZUhhbmRsZXIoKQotI2lm
IE9TKExJTlVYKQorI2lmIE9TKExJTlVYKSB8fCBPUyhGUkVFQlNEKQogICAgIDogbV9ob2xkT2Zm
VGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpob2xk
T2ZmVGltZXJGaXJlZCkKICNlbGlmIE9TKFdJTkRPV1MpCiAgICAgOiBtX3dpbmRvd3NNZWFzdXJl
bWVudFRpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJk1lbW9yeVByZXNzdXJlSGFuZGxlcjo6
d2luZG93c01lYXN1cmVtZW50VGltZXJGaXJlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L01lbW9yeVByZXNzdXJlSGFuZGxlci5oIGIvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVI
YW5kbGVyLmgKaW5kZXggMTc3NDk1NGEyYjgxLi5jMGMzMWQ1MTdhNjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L01lbW9yeVByZXNzdXJlSGFuZGxlci5oCkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKIAogICAg
IFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNldFNob3VsZFVzZVBlcmlvZGljTWVtb3J5TW9uaXRv
cihib29sKTsKIAotI2lmIE9TKExJTlVYKQorI2lmIE9TKExJTlVYKSB8fCBPUyhGUkVFQlNEKQog
ICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHRyaWdnZXJNZW1vcnlQcmVzc3VyZUV2ZW50KGJv
b2wgaXNDcml0aWNhbCk7CiAjZW5kaWYKIApAQCAtMjAwLDcgKzIwMCw3IEBAIHByaXZhdGU6CiAg
ICAgV2luMzJIYW5kbGUgbV9sb3dNZW1vcnlIYW5kbGU7CiAjZW5kaWYKIAotI2lmIE9TKExJTlVY
KQorI2lmIE9TKExJTlVYKSB8fCBPUyhGUkVFQlNEKQogICAgIFJ1bkxvb3A6OlRpbWVyPE1lbW9y
eVByZXNzdXJlSGFuZGxlcj4gbV9ob2xkT2ZmVGltZXI7CiAgICAgdm9pZCBob2xkT2ZmVGltZXJG
aXJlZCgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUdUSy5j
bWFrZSBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGYxYThlODg1ZjVj
YS4uYTA0ZTFkODVmMWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUdUSy5j
bWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtNDUsNyArNDUs
MTQgQEAgaWYgKENNQUtFX1NZU1RFTV9OQU1FIE1BVENIRVMgIkxpbnV4IikKICAgICBsaXN0KEFQ
UEVORCBXVEZfU09VUkNFUwogICAgICAgICBsaW51eC9DdXJyZW50UHJvY2Vzc01lbW9yeVN0YXR1
cy5jcHAKICAgICAgICAgbGludXgvTWVtb3J5Rm9vdHByaW50TGludXguY3BwCi0gICAgICAgIGxp
bnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAorCisgICAgICAgIHVuaXgvTWVtb3J5
UHJlc3N1cmVIYW5kbGVyVW5peC5jcHAKKyAgICApCitlbHNlaWYgKENNQUtFX1NZU1RFTV9OQU1F
IE1BVENIRVMgIkZyZWVCU0QiKQorICAgIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCisgICAgICAg
IGdlbmVyaWMvTWVtb3J5Rm9vdHByaW50R2VuZXJpYy5jcHAKKworICAgICAgICB1bml4L01lbW9y
eVByZXNzdXJlSGFuZGxlclVuaXguY3BwCiAgICAgKQogZWxzZSAoKQogICAgIGxpc3QoQVBQRU5E
IFdURl9TT1VSQ0VTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09ubHku
Y21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UKaW5kZXggMjZlZTg4
YzE1MDlmLi41YjRiYWQwN2NlNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
SlNDT25seS5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UK
QEAgLTgyLDEyICs4MiwxOSBAQCBlbHNlaWYgKENNQUtFX1NZU1RFTV9OQU1FIE1BVENIRVMgIkxp
bnV4IikKICAgICBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAgICAgICBsaW51eC9DdXJyZW50
UHJvY2Vzc01lbW9yeVN0YXR1cy5jcHAKICAgICAgICAgbGludXgvTWVtb3J5Rm9vdHByaW50TGlu
dXguY3BwCi0gICAgICAgIGxpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAorCisg
ICAgICAgIHVuaXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyVW5peC5jcHAKICAgICApCiAgICAgbGlz
dChBUFBFTkQgV1RGX1BVQkxJQ19IRUFERVJTCiAgICAgICAgIGxpbnV4L1Byb2Nlc3NNZW1vcnlG
b290cHJpbnQuaAogICAgICAgICBsaW51eC9DdXJyZW50UHJvY2Vzc01lbW9yeVN0YXR1cy5oCiAg
ICAgKQorZWxzZWlmIChDTUFLRV9TWVNURU1fTkFNRSBNQVRDSEVTICJGcmVlQlNEIikKKyAgICBs
aXN0KEFQUEVORCBXVEZfU09VUkNFUworICAgICAgICBnZW5lcmljL01lbW9yeUZvb3RwcmludEdl
bmVyaWMuY3BwCisKKyAgICAgICAgdW5peC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJVbml4LmNwcAor
ICAgICkKIGVsc2UgKCkKICAgICBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAgICAgICBnZW5l
cmljL01lbW9yeUZvb3RwcmludEdlbmVyaWMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtlIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1QbGF5
U3RhdGlvbi5jbWFrZQppbmRleCBmYzZmNzgwZDQwOTguLjlhZjY4MmQxZDk0NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZQorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtlCkBAIC0xLDcgKzEsNiBAQAogbGlzdChB
UFBFTkQgV1RGX1NPVVJDRVMKICAgICBnZW5lcmljL01haW5UaHJlYWRHZW5lcmljLmNwcAogICAg
IGdlbmVyaWMvTWVtb3J5Rm9vdHByaW50R2VuZXJpYy5jcHAKLSAgICBnZW5lcmljL01lbW9yeVBy
ZXNzdXJlSGFuZGxlckdlbmVyaWMuY3BwCiAgICAgZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAK
ICAgICBnZW5lcmljL1dvcmtRdWV1ZUdlbmVyaWMuY3BwCiAKQEAgLTE1LDYgKzE0LDcgQEAgbGlz
dChBUFBFTkQgV1RGX1NPVVJDRVMKICAgICB0ZXh0L3VuaXgvVGV4dEJyZWFrSXRlcmF0b3JJbnRl
cm5hbElDVVVuaXguY3BwCiAKICAgICB1bml4L0NQVVRpbWVVbml4LmNwcAorICAgIHVuaXgvTWVt
b3J5UHJlc3N1cmVIYW5kbGVyVW5peC5jcHAKICkKIAogbGlzdChBUFBFTkQgV1RGX0xJQlJBUklF
UwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1XUEUuY21ha2UgYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybVdQRS5jbWFrZQppbmRleCBkZTQ3NDEwMTBmMTUuLjc1OTVhMjc3MDg0
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1XUEUuY21ha2UKKysrIGIvU291
cmNlL1dURi93dGYvUGxhdGZvcm1XUEUuY21ha2UKQEAgLTI3LDcgKzI3LDYgQEAgbGlzdChBUFBF
TkQgV1RGX1NPVVJDRVMKICAgICBnbGliL1VSTEdMaWIuY3BwCiAKICAgICBsaW51eC9DdXJyZW50
UHJvY2Vzc01lbW9yeVN0YXR1cy5jcHAKLSAgICBsaW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJM
aW51eC5jcHAKIAogICAgIHBvc2l4L09TQWxsb2NhdG9yUE9TSVguY3BwCiAgICAgcG9zaXgvVGhy
ZWFkaW5nUE9TSVguY3BwCkBAIC0zNiw2ICszNSw3IEBAIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VT
CiAKICAgICB1bml4L0NQVVRpbWVVbml4LmNwcAogICAgIHVuaXgvTGFuZ3VhZ2VVbml4LmNwcAor
ICAgIHVuaXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyVW5peC5jcHAKICAgICB1bml4L1VuaVN0ZEV4
dHJhc1VuaXguY3BwCiApCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvTWVt
b3J5Rm9vdHByaW50R2VuZXJpYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL01lbW9yeUZv
b3RwcmludEdlbmVyaWMuY3BwCmluZGV4IGU2Y2I5ZGQ1MWRkZi4uOGVjMDUyZDhiOTEwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL01lbW9yeUZvb3RwcmludEdlbmVyaWMuY3Bw
CisrKyBiL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvTWVtb3J5Rm9vdHByaW50R2VuZXJpYy5jcHAK
QEAgLTI1LDggKzI1LDkgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgPHd0Zi9N
ZW1vcnlGb290cHJpbnQuaD4KKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KIAotI2lmICEoZGVm
aW5lZChVU0VfU1lTVEVNX01BTExPQykgJiYgVVNFX1NZU1RFTV9NQUxMT0MpICYmIE9TKExJTlVY
KQorI2lmICFVU0UoU1lTVEVNX01BTExPQykgJiYgKE9TKExJTlVYKSB8fCBPUyhGUkVFQlNEKSkK
ICNpbmNsdWRlIDxibWFsbG9jL2JtYWxsb2MuaD4KICNlbmRpZgogCkBAIC0zNCw3ICszNSw3IEBA
IG5hbWVzcGFjZSBXVEYgewogCiBzaXplX3QgbWVtb3J5Rm9vdHByaW50KCkKIHsKLSNpZiAhKGRl
ZmluZWQoVVNFX1NZU1RFTV9NQUxMT0MpICYmIFVTRV9TWVNURU1fTUFMTE9DKSAmJiBPUyhMSU5V
WCkKKyNpZiAhVVNFKFNZU1RFTV9NQUxMT0MpICYmIChPUyhMSU5VWCkgfHwgT1MoRlJFRUJTRCkp
CiAgICAgcmV0dXJuIGJtYWxsb2M6OmFwaTo6bWVtb3J5Rm9vdHByaW50KCk7CiAjZWxzZQogICAg
IHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvbGludXgvTWVtb3J5UHJlc3N1
cmVIYW5kbGVyTGludXguY3BwIGIvU291cmNlL1dURi93dGYvdW5peC9NZW1vcnlQcmVzc3VyZUhh
bmRsZXJVbml4LmNwcApzaW1pbGFyaXR5IGluZGV4IDg4JQpyZW5hbWUgZnJvbSBTb3VyY2UvV1RG
L3d0Zi9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAKcmVuYW1lIHRvIFNvdXJj
ZS9XVEYvd3RmL3VuaXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyVW5peC5jcHAKaW5kZXggMTFjZTVh
MjE0MTI3Li42NzU0NzVlMWI1MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2xpbnV4L01l
bW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi91bml4L01l
bW9yeVByZXNzdXJlSGFuZGxlclVuaXguY3BwCkBAIC0zMiw5ICszMiwxNiBAQAogI2luY2x1ZGUg
PHVuaXN0ZC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL01l
bW9yeUZvb3RwcmludC5oPgotI2luY2x1ZGUgPHd0Zi9saW51eC9DdXJyZW50UHJvY2Vzc01lbW9y
eVN0YXR1cy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCisjaWYgT1MoTElO
VVgpCisjaW5jbHVkZSA8d3RmL2xpbnV4L0N1cnJlbnRQcm9jZXNzTWVtb3J5U3RhdHVzLmg+Cisj
ZWxpZiBPUyhGUkVFQlNEKQorI2luY2x1ZGUgPHN5cy9zeXNjdGwuaD4KKyNpbmNsdWRlIDxzeXMv
dHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvdXNlci5oPgorI2VuZGlmCisKICNkZWZpbmUgTE9HX0NI
QU5ORUxfUFJFRklYIExvZwogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTEwNSw5ICsxMTIsMjggQEAg
dm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OmhvbGRPZmYoU2Vjb25kcyBzZWNvbmRzKQogCiBz
dGF0aWMgc2l6ZV90IHByb2Nlc3NNZW1vcnlVc2FnZSgpCiB7CisjaWYgT1MoTElOVVgpCiAgICAg
UHJvY2Vzc01lbW9yeVN0YXR1cyBtZW1vcnlTdGF0dXM7CiAgICAgY3VycmVudFByb2Nlc3NNZW1v
cnlTdGF0dXMobWVtb3J5U3RhdHVzKTsKICAgICByZXR1cm4gKG1lbW9yeVN0YXR1cy5yZXNpZGVu
dCAtIG1lbW9yeVN0YXR1cy5zaGFyZWQpOworI2VsaWYgT1MoRlJFRUJTRCkKKyAgICBzdGF0aWMg
c2l6ZV90IHBhZ2VTaXplID0gc3lzY29uZihfU0NfUEFHRV9TSVpFKTsKKyAgICBzdHJ1Y3Qga2lu
Zm9fcHJvYyBpbmZvOworICAgIHNpemVfdCBpbmZvbGVuID0gc2l6ZW9mKGluZm8pOworCisgICAg
aW50IG1pYls0XTsKKyAgICBtaWJbMF0gPSBDVExfS0VSTjsKKyAgICBtaWJbMV0gPSBLRVJOX1BS
T0M7CisgICAgbWliWzJdID0gS0VSTl9QUk9DX1BJRDsKKyAgICBtaWJbM10gPSBnZXRwaWQoKTsK
KworICAgIGlmIChzeXNjdGwobWliLCA0LCAmaW5mbywgJmluZm9sZW4sIG51bGxwdHIsIDApKQor
ICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBzdGF0aWNfY2FzdDxzaXplX3Q+KGluZm8u
a2lfcnNzaXplIC0gaW5mby5raV90c2l6ZSkgKiBwYWdlU2l6ZTsKKyNlbHNlCisjZXJyb3IgIk1p
c3NpbmcgYSBwbGF0Zm9ybSBzcGVjaWZpYyB3YXkgb2YgZGV0ZXJtaW5pbmcgdGhlIG1lbW9yeSB1
c2FnZSIKKyNlbmRpZgogfQogCiB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6cmVzcG9uZFRv
TWVtb3J5UHJlc3N1cmUoQ3JpdGljYWwgY3JpdGljYWwsIFN5bmNocm9ub3VzIHN5bmNocm9ub3Vz
KQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nIGIvU291cmNlL2JtYWxsb2Mv
Q2hhbmdlTG9nCmluZGV4IDc2OGQxOGQ0MGUxOC4uMTU0Yzg5NWVhNGNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMjAtMDUtMDggIEJhc3VrZSBTdXp1a2kgIDxiYXN1a2Uuc3V6dWtp
QHNvbnkuY29tPgorCisgICAgICAgIFtXVEZdIFNoYXJlIExpbnV4J3MgTWVtb3J5UHJlc3N1cmVI
YW5kbGVyIGFtb25nIG90aGVyIFVuaXggcG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODk1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIEZyZWVCU0QgaW1wbGVtZW50YXRpb24gb2YgbWVt
b3J5Rm9vdHByaW50KCkuCisKKyAgICAgICAgKiBibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHA6
CisgICAgICAgIChibWFsbG9jOjptZW1vcnlTdGF0dXMpOgorICAgICAgICAqIGJtYWxsb2MvQXZh
aWxhYmxlTWVtb3J5Lmg6CisgICAgICAgIChibWFsbG9jOjppc1VuZGVyTWVtb3J5UHJlc3N1cmUp
OgorICAgICAgICAqIGJtYWxsb2MvYm1hbGxvYy5oOgorCiAyMDIwLTA1LTA1ICBTYWFtIEJhcmF0
aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIERvbid0IHVzZSB0aGUgRGVidWdIZWFw
IGZvciBjYXRhbHlzdApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFi
bGVNZW1vcnkuY3BwIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3Bw
CmluZGV4IDI0NmVkNGViMDI0My4uMDQxMDAxNWJhMTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAKKysrIGIvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwCkBAIC00Nyw2ICs0NywxMSBAQAogI2lmIEJPUyhMSU5V
WCkKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8ZmNudGwuaD4KKyNlbGlmIEJPUyhG
UkVFQlNEKQorI2luY2x1ZGUgIlZNQWxsb2NhdGUuaCIKKyNpbmNsdWRlIDxzeXMvc3lzY3RsLmg+
CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3VzZXIuaD4KICNlbmRpZgog
I2luY2x1ZGUgPHVuaXN0ZC5oPgogI2VuZGlmCkBAIC0xODQsNyArMTg5LDcgQEAgc2l6ZV90IGF2
YWlsYWJsZU1lbW9yeSgpCiAgICAgcmV0dXJuIGF2YWlsYWJsZU1lbW9yeTsKIH0KIAotI2lmIEJQ
TEFURk9STShJT1NfRkFNSUxZKSB8fCBCT1MoTElOVVgpCisjaWYgQlBMQVRGT1JNKElPU19GQU1J
TFkpIHx8IEJPUyhMSU5VWCkgfHwgQk9TKEZSRUVCU0QpCiBNZW1vcnlTdGF0dXMgbWVtb3J5U3Rh
dHVzKCkKIHsKICNpZiBCUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTIwMCw2ICsyMDUsMjEgQEAg
TWVtb3J5U3RhdHVzIG1lbW9yeVN0YXR1cygpCiAgICAgYXV0byYgbWVtb3J5ID0gTGludXhNZW1v
cnk6OnNpbmdsZXRvbigpOwogICAgIHNpemVfdCBtZW1vcnlGb290cHJpbnQgPSBtZW1vcnkuZm9v
dHByaW50KCk7CiAgICAgZG91YmxlIHBlcmNlbnRJblVzZSA9IHN0YXRpY19jYXN0PGRvdWJsZT4o
bWVtb3J5Rm9vdHByaW50KSAvIHN0YXRpY19jYXN0PGRvdWJsZT4obWVtb3J5LmF2YWlsYWJsZU1l
bW9yeSk7CisjZWxpZiBCT1MoRlJFRUJTRCkKKyAgICBzdHJ1Y3Qga2luZm9fcHJvYyBpbmZvOwor
ICAgIHNpemVfdCBpbmZvbGVuID0gc2l6ZW9mKGluZm8pOworCisgICAgaW50IG1pYls0XTsKKyAg
ICBtaWJbMF0gPSBDVExfS0VSTjsKKyAgICBtaWJbMV0gPSBLRVJOX1BST0M7CisgICAgbWliWzJd
ID0gS0VSTl9QUk9DX1BJRDsKKyAgICBtaWJbM10gPSBnZXRwaWQoKTsKKworICAgIHNpemVfdCBt
ZW1vcnlGb290cHJpbnQgPSAwOworICAgIGlmICghc3lzY3RsKG1pYiwgNCwgJmluZm8sICZpbmZv
bGVuLCBudWxscHRyLCAwKSkKKyAgICAgICAgbWVtb3J5Rm9vdHByaW50ID0gc3RhdGljX2Nhc3Q8
c2l6ZV90PihpbmZvLmtpX3Jzc2l6ZSkgKiB2bVBhZ2VTaXplKCk7CisKKyAgICBkb3VibGUgcGVy
Y2VudEluVXNlID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihtZW1vcnlGb290cHJpbnQpIC8gc3RhdGlj
X2Nhc3Q8ZG91YmxlPihhdmFpbGFibGVNZW1vcnkoKSk7CiAjZW5kaWYKIAogICAgIGRvdWJsZSBw
ZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UgPSBzdGQ6Om1pbihwZXJjZW50SW5Vc2UsIDEuMCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5oIGIv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuaAppbmRleCAyMGQ2YTQyNzQ3
ZjUuLjVhNzkwYTk4Y2Q0MCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFp
bGFibGVNZW1vcnkuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9y
eS5oCkBAIC0zMiw3ICszMiw3IEBAIG5hbWVzcGFjZSBibWFsbG9jIHsKIAogQkVYUE9SVCBzaXpl
X3QgYXZhaWxhYmxlTWVtb3J5KCk7CiAKLSNpZiBCUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgQk9T
KExJTlVYKQorI2lmIEJQTEFURk9STShJT1NfRkFNSUxZKSB8fCBCT1MoTElOVVgpIHx8IEJPUyhG
UkVFQlNEKQogc3RydWN0IE1lbW9yeVN0YXR1cyB7CiAgICAgTWVtb3J5U3RhdHVzKHNpemVfdCBt
ZW1vcnlGb290cHJpbnQsIGRvdWJsZSBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UpCiAgICAg
ICAgIDogbWVtb3J5Rm9vdHByaW50KG1lbW9yeUZvb3RwcmludCkKQEAgLTYxLDcgKzYxLDcgQEAg
aW5saW5lIGRvdWJsZSBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UoKQogCiBpbmxpbmUgYm9v
bCBpc1VuZGVyTWVtb3J5UHJlc3N1cmUoKQogewotI2lmIEJQTEFURk9STShJT1NfRkFNSUxZKSB8
fCBCT1MoTElOVVgpCisjaWYgQlBMQVRGT1JNKElPU19GQU1JTFkpIHx8IEJPUyhMSU5VWCkgfHwg
Qk9TKEZSRUVCU0QpCiAgICAgcmV0dXJuIHBlcmNlbnRBdmFpbGFibGVNZW1vcnlJblVzZSgpID4g
bWVtb3J5UHJlc3N1cmVUaHJlc2hvbGQ7CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvYm1hbGxvYy5oIGIvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9ibWFsbG9jLmgKaW5kZXggZjIwZjA5MTRjNWYxLi4wOWI3Mjk4OTcxNWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvYm1hbGxvYy5oCisrKyBiL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvYm1hbGxvYy5oCkBAIC0xMTEsNyArMTExLDcgQEAgaW5saW5lIHNpemVfdCBh
dmFpbGFibGVNZW1vcnkoKQogICAgIHJldHVybiBibWFsbG9jOjphdmFpbGFibGVNZW1vcnkoKTsK
IH0KICAgICAKLSNpZiBCUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgQk9TKExJTlVYKQorI2lmIEJQ
TEFURk9STShJT1NfRkFNSUxZKSB8fCBCT1MoTElOVVgpIHx8IEJPUyhGUkVFQlNEKQogaW5saW5l
IHNpemVfdCBtZW1vcnlGb290cHJpbnQoKQogewogICAgIHJldHVybiBibWFsbG9jOjptZW1vcnlG
b290cHJpbnQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCAyZjJiM2Q0ZGVlMjEuLjJiYTQ4M2I5MmJkNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA1LTA4
ICBCYXN1a2UgU3V6dWtpICA8YmFzdWtlLnN1enVraUBzb255LmNvbT4KKworICAgICAgICBbV1RG
XSBTaGFyZSBMaW51eCdzIE1lbW9yeVByZXNzdXJlSGFuZGxlciBhbW9uZyBvdGhlciBVbml4IHBv
cnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg5
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXgg
dW5uZWVkZWQgbGlicmFyeSBkZXBlbmRlbmN5LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9D
TWFrZUxpc3RzLnR4dDoKKwogMjAyMC0wNS0wNiAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hl
bmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzIGRhdGEgc3Vt
bWFyeSBjYWxsIHNob3VsZCBjcmVhdGUgYSB3ZWIgcHJvY2VzcyBwb29sIGlmIG9uZSBkb2Vzbid0
IGV4aXN0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0IGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dAppbmRleCBmNGU0ZDBmNzU2ZjkuLmZk
NThmYTM0Y2JhZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0CkBAIC0zMzMsNyArMzMz
LDcgQEAgaWYgKEVOQUJMRV9XRUJLSVQpCiAKICAgICB0YXJnZXRfY29tcGlsZV9kZWZpbml0aW9u
cyhUZXN0V2ViS2l0QVBJSW5qZWN0ZWRCdW5kbGUgUFJJVkFURSBCVUlMRElOR19UZXN0V2ViS2l0
KQogICAgIHRhcmdldF9pbmNsdWRlX2RpcmVjdG9yaWVzKFRlc3RXZWJLaXRBUElJbmplY3RlZEJ1
bmRsZSBQUklWQVRFICR7VGVzdFdlYktpdF9QUklWQVRFX0lOQ0xVREVfRElSRUNUT1JJRVN9KQot
ICAgIHRhcmdldF9saW5rX2xpYnJhcmllcyhUZXN0V2ViS2l0QVBJSW5qZWN0ZWRCdW5kbGUgUFJJ
VkFURSBXZWJLaXQ6OldlYktpdCBXVEYpCisgICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKFRlc3RX
ZWJLaXRBUElJbmplY3RlZEJ1bmRsZSBQUklWQVRFIFdlYktpdDo6V2ViS2l0KQogCiAgICAgaWYg
KENPTVBJTEVSX0lTX0dDQ19PUl9DTEFORykKICAgICAgICAgV0VCS0lUX0FERF9UQVJHRVRfQ1hY
X0ZMQUdTKFRlc3RXZWJLaXRBUElJbmplY3RlZEJ1bmRsZSAtV25vLWRhbmdsaW5nLWVsc2UK
</data>
<flag name="review"
          id="414303"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398906</attachid>
            <date>2020-05-08 17:32:42 -0700</date>
            <delta_ts>2020-05-08 18:13:51 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>bug-208955.diff</filename>
            <type>text/plain</type>
            <size>12819</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggZjFlYWZmZjgyM2E3Li40MGZmYjdlNjAyNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIw
MjAtMDUtMDggIEJhc3VrZSBTdXp1a2kgIDxiYXN1a2Uuc3V6dWtpQHNvbnkuY29tPgorCisgICAg
ICAgIFtXVEZdIFNoYXJlIExpbnV4J3MgTWVtb3J5UHJlc3N1cmVIYW5kbGVyIGFtb25nIG90aGVy
IFVuaXggcG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwODk1NQorCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3VrZSBTdXp1a2kuCisKKyAgICAg
ICAgUmVuYW1lZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eCB0byBNZW1vcnlQcmVzc3VyZUhh
bmRsZXJVbml4IGFuZCBhZGRlZCBGcmVlQlNEIGltcGxlbWVudGF0aW9uCisgICAgICAgIG9mIG1l
bW9yeSBzdGF0dXMgZnVuY3Rpb25zLiBDaGFuZ2UgUGxheVN0YXRpb24gcG9ydCB0byB1c2UgaXQg
ZnJvbSBnZW5lcmljIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogd3RmL01lbW9yeVByZXNz
dXJlSGFuZGxlci5jcHA6CisgICAgICAgIChXVEY6Ok1lbW9yeVByZXNzdXJlSGFuZGxlcjo6TWVt
b3J5UHJlc3N1cmVIYW5kbGVyKToKKyAgICAgICAgKiB3dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVy
Lmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0
Zm9ybUpTQ09ubHkuY21ha2U6CisgICAgICAgICogd3RmL1BsYXRmb3JtUGxheVN0YXRpb24uY21h
a2U6CisgICAgICAgICogd3RmL1BsYXRmb3JtV1BFLmNtYWtlOgorICAgICAgICAqIHd0Zi9nZW5l
cmljL01lbW9yeUZvb3RwcmludEdlbmVyaWMuY3BwOgorICAgICAgICAoV1RGOjptZW1vcnlGb290
cHJpbnQpOgorICAgICAgICAqIHd0Zi91bml4L01lbW9yeVByZXNzdXJlSGFuZGxlclVuaXguY3Bw
OiBSZW5hbWVkIGZyb20gU291cmNlXFdURlx3dGZcbGludXhcTWVtb3J5UHJlc3N1cmVIYW5kbGVy
TGludXguY3BwLgorICAgICAgICAoV1RGOjpwcm9jZXNzTWVtb3J5VXNhZ2UpOgorCiAyMDIwLTA1
LTA2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIGEgaGVs
cGVyIGZvciB0aGUgcGF0dGVybiBvZiBJQ1UgZnVuY3Rpb25zIHRoYXQgbWF5IG5lZWQgdG8gYmUg
Y2FsbGVkIHR3aWNlIHRvIHBvcHVsYXRlIGEgYnVmZmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwIGIvU291cmNlL1dURi93dGYvTWVtb3J5UHJl
c3N1cmVIYW5kbGVyLmNwcAppbmRleCBjMjgwMTYwZGY4MGYuLmQ1ZTU0ZTY1ZDYyOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCkBAIC01Myw3ICs1Myw3IEBAIE1l
bW9yeVByZXNzdXJlSGFuZGxlciYgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpzaW5nbGV0b24oKQog
fQogCiBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6Ok1lbW9yeVByZXNzdXJlSGFuZGxlcigpCi0jaWYg
T1MoTElOVVgpCisjaWYgT1MoTElOVVgpIHx8IE9TKEZSRUVCU0QpCiAgICAgOiBtX2hvbGRPZmZU
aW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OmhvbGRP
ZmZUaW1lckZpcmVkKQogI2VsaWYgT1MoV0lORE9XUykKICAgICA6IG1fd2luZG93c01lYXN1cmVt
ZW50VGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjp3
aW5kb3dzTWVhc3VyZW1lbnRUaW1lckZpcmVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
TWVtb3J5UHJlc3N1cmVIYW5kbGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhh
bmRsZXIuaAppbmRleCAxNzc0OTU0YTJiODEuLmMwYzMxZDUxN2E2NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgKKysrIGIvU291cmNlL1dURi93dGYv
TWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogCiAgICAg
V1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc2V0U2hvdWxkVXNlUGVyaW9kaWNNZW1vcnlNb25pdG9y
KGJvb2wpOwogCi0jaWYgT1MoTElOVVgpCisjaWYgT1MoTElOVVgpIHx8IE9TKEZSRUVCU0QpCiAg
ICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgdHJpZ2dlck1lbW9yeVByZXNzdXJlRXZlbnQoYm9v
bCBpc0NyaXRpY2FsKTsKICNlbmRpZgogCkBAIC0yMDAsNyArMjAwLDcgQEAgcHJpdmF0ZToKICAg
ICBXaW4zMkhhbmRsZSBtX2xvd01lbW9yeUhhbmRsZTsKICNlbmRpZgogCi0jaWYgT1MoTElOVVgp
CisjaWYgT1MoTElOVVgpIHx8IE9TKEZSRUVCU0QpCiAgICAgUnVuTG9vcDo6VGltZXI8TWVtb3J5
UHJlc3N1cmVIYW5kbGVyPiBtX2hvbGRPZmZUaW1lcjsKICAgICB2b2lkIGhvbGRPZmZUaW1lckZp
cmVkKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtR1RLLmNt
YWtlIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggZjFhOGU4ODVmNWNh
Li5hMDRlMWQ4NWYxYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtR1RLLmNt
YWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC00NSw3ICs0NSwx
NCBAQCBpZiAoQ01BS0VfU1lTVEVNX05BTUUgTUFUQ0hFUyAiTGludXgiKQogICAgIGxpc3QoQVBQ
RU5EIFdURl9TT1VSQ0VTCiAgICAgICAgIGxpbnV4L0N1cnJlbnRQcm9jZXNzTWVtb3J5U3RhdHVz
LmNwcAogICAgICAgICBsaW51eC9NZW1vcnlGb290cHJpbnRMaW51eC5jcHAKLSAgICAgICAgbGlu
dXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCisKKyAgICAgICAgdW5peC9NZW1vcnlQ
cmVzc3VyZUhhbmRsZXJVbml4LmNwcAorICAgICkKK2Vsc2VpZiAoQ01BS0VfU1lTVEVNX05BTUUg
TUFUQ0hFUyAiRnJlZUJTRCIpCisgICAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKKyAgICAgICAg
Z2VuZXJpYy9NZW1vcnlGb290cHJpbnRHZW5lcmljLmNwcAorCisgICAgICAgIHVuaXgvTWVtb3J5
UHJlc3N1cmVIYW5kbGVyVW5peC5jcHAKICAgICApCiBlbHNlICgpCiAgICAgbGlzdChBUFBFTkQg
V1RGX1NPVVJDRVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSlNDT25seS5j
bWFrZSBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSlNDT25seS5jbWFrZQppbmRleCAyNmVlODhj
MTUwOWYuLjViNGJhZDA3Y2U2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1K
U0NPbmx5LmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSlNDT25seS5jbWFrZQpA
QCAtODIsMTIgKzgyLDE5IEBAIGVsc2VpZiAoQ01BS0VfU1lTVEVNX05BTUUgTUFUQ0hFUyAiTGlu
dXgiKQogICAgIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAgICAgICAgIGxpbnV4L0N1cnJlbnRQ
cm9jZXNzTWVtb3J5U3RhdHVzLmNwcAogICAgICAgICBsaW51eC9NZW1vcnlGb290cHJpbnRMaW51
eC5jcHAKLSAgICAgICAgbGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCisKKyAg
ICAgICAgdW5peC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJVbml4LmNwcAogICAgICkKICAgICBsaXN0
KEFQUEVORCBXVEZfUFVCTElDX0hFQURFUlMKICAgICAgICAgbGludXgvUHJvY2Vzc01lbW9yeUZv
b3RwcmludC5oCiAgICAgICAgIGxpbnV4L0N1cnJlbnRQcm9jZXNzTWVtb3J5U3RhdHVzLmgKICAg
ICApCitlbHNlaWYgKENNQUtFX1NZU1RFTV9OQU1FIE1BVENIRVMgIkZyZWVCU0QiKQorICAgIGxp
c3QoQVBQRU5EIFdURl9TT1VSQ0VTCisgICAgICAgIGdlbmVyaWMvTWVtb3J5Rm9vdHByaW50R2Vu
ZXJpYy5jcHAKKworICAgICAgICB1bml4L01lbW9yeVByZXNzdXJlSGFuZGxlclVuaXguY3BwCisg
ICAgKQogZWxzZSAoKQogICAgIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAgICAgICAgIGdlbmVy
aWMvTWVtb3J5Rm9vdHByaW50R2VuZXJpYy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtUGxheVN0YXRpb24uY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVBsYXlT
dGF0aW9uLmNtYWtlCmluZGV4IGZjNmY3ODBkNDA5OC4uOWFmNjgyZDFkOTQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtlCisrKyBiL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtUGxheVN0YXRpb24uY21ha2UKQEAgLTEsNyArMSw2IEBACiBsaXN0KEFQ
UEVORCBXVEZfU09VUkNFUwogICAgIGdlbmVyaWMvTWFpblRocmVhZEdlbmVyaWMuY3BwCiAgICAg
Z2VuZXJpYy9NZW1vcnlGb290cHJpbnRHZW5lcmljLmNwcAotICAgIGdlbmVyaWMvTWVtb3J5UHJl
c3N1cmVIYW5kbGVyR2VuZXJpYy5jcHAKICAgICBnZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAog
ICAgIGdlbmVyaWMvV29ya1F1ZXVlR2VuZXJpYy5jcHAKIApAQCAtMTUsNiArMTQsNyBAQCBsaXN0
KEFQUEVORCBXVEZfU09VUkNFUwogICAgIHRleHQvdW5peC9UZXh0QnJlYWtJdGVyYXRvckludGVy
bmFsSUNVVW5peC5jcHAKIAogICAgIHVuaXgvQ1BVVGltZVVuaXguY3BwCisgICAgdW5peC9NZW1v
cnlQcmVzc3VyZUhhbmRsZXJVbml4LmNwcAogKQogCiBsaXN0KEFQUEVORCBXVEZfTElCUkFSSUVT
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdQRS5jbWFrZSBiL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtV1BFLmNtYWtlCmluZGV4IGRlNDc0MTAxMGYxNS4uNzU5NWEyNzcwODQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdQRS5jbWFrZQorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybVdQRS5jbWFrZQpAQCAtMjcsNyArMjcsNiBAQCBsaXN0KEFQUEVO
RCBXVEZfU09VUkNFUwogICAgIGdsaWIvVVJMR0xpYi5jcHAKIAogICAgIGxpbnV4L0N1cnJlbnRQ
cm9jZXNzTWVtb3J5U3RhdHVzLmNwcAotICAgIGxpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxp
bnV4LmNwcAogCiAgICAgcG9zaXgvT1NBbGxvY2F0b3JQT1NJWC5jcHAKICAgICBwb3NpeC9UaHJl
YWRpbmdQT1NJWC5jcHAKQEAgLTM2LDYgKzM1LDcgQEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMK
IAogICAgIHVuaXgvQ1BVVGltZVVuaXguY3BwCiAgICAgdW5peC9MYW5ndWFnZVVuaXguY3BwCisg
ICAgdW5peC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJVbml4LmNwcAogICAgIHVuaXgvVW5pU3RkRXh0
cmFzVW5peC5jcHAKICkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2VuZXJpYy9NZW1v
cnlGb290cHJpbnRHZW5lcmljLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvTWVtb3J5Rm9v
dHByaW50R2VuZXJpYy5jcHAKaW5kZXggZTZjYjlkZDUxZGRmLi44ZWMwNTJkOGI5MTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvTWVtb3J5Rm9vdHByaW50R2VuZXJpYy5jcHAK
KysrIGIvU291cmNlL1dURi93dGYvZ2VuZXJpYy9NZW1vcnlGb290cHJpbnRHZW5lcmljLmNwcApA
QCAtMjUsOCArMjUsOSBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSA8d3RmL01l
bW9yeUZvb3RwcmludC5oPgorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCi0jaWYgIShkZWZp
bmVkKFVTRV9TWVNURU1fTUFMTE9DKSAmJiBVU0VfU1lTVEVNX01BTExPQykgJiYgT1MoTElOVVgp
CisjaWYgIVVTRShTWVNURU1fTUFMTE9DKSAmJiAoT1MoTElOVVgpIHx8IE9TKEZSRUVCU0QpKQog
I2luY2x1ZGUgPGJtYWxsb2MvYm1hbGxvYy5oPgogI2VuZGlmCiAKQEAgLTM0LDcgKzM1LDcgQEAg
bmFtZXNwYWNlIFdURiB7CiAKIHNpemVfdCBtZW1vcnlGb290cHJpbnQoKQogewotI2lmICEoZGVm
aW5lZChVU0VfU1lTVEVNX01BTExPQykgJiYgVVNFX1NZU1RFTV9NQUxMT0MpICYmIE9TKExJTlVY
KQorI2lmICFVU0UoU1lTVEVNX01BTExPQykgJiYgKE9TKExJTlVYKSB8fCBPUyhGUkVFQlNEKSkK
ICAgICByZXR1cm4gYm1hbGxvYzo6YXBpOjptZW1vcnlGb290cHJpbnQoKTsKICNlbHNlCiAgICAg
cmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9saW51eC9NZW1vcnlQcmVzc3Vy
ZUhhbmRsZXJMaW51eC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi91bml4L01lbW9yeVByZXNzdXJlSGFu
ZGxlclVuaXguY3BwCnNpbWlsYXJpdHkgaW5kZXggODglCnJlbmFtZSBmcm9tIFNvdXJjZS9XVEYv
d3RmL2xpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcApyZW5hbWUgdG8gU291cmNl
L1dURi93dGYvdW5peC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJVbml4LmNwcAppbmRleCAxMWNlNWEy
MTQxMjcuLjY3NTQ3NWUxYjUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvbGludXgvTWVt
b3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3VuaXgvTWVt
b3J5UHJlc3N1cmVIYW5kbGVyVW5peC5jcHAKQEAgLTMyLDkgKzMyLDE2IEBACiAjaW5jbHVkZSA8
dW5pc3RkLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvTWVt
b3J5Rm9vdHByaW50Lmg+Ci0jaW5jbHVkZSA8d3RmL2xpbnV4L0N1cnJlbnRQcm9jZXNzTWVtb3J5
U3RhdHVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNpZiBPUyhMSU5V
WCkKKyNpbmNsdWRlIDx3dGYvbGludXgvQ3VycmVudFByb2Nlc3NNZW1vcnlTdGF0dXMuaD4KKyNl
bGlmIE9TKEZSRUVCU0QpCisjaW5jbHVkZSA8c3lzL3N5c2N0bC5oPgorI2luY2x1ZGUgPHN5cy90
eXBlcy5oPgorI2luY2x1ZGUgPHN5cy91c2VyLmg+CisjZW5kaWYKKwogI2RlZmluZSBMT0dfQ0hB
Tk5FTF9QUkVGSVggTG9nCiAKIG5hbWVzcGFjZSBXVEYgewpAQCAtMTA1LDkgKzExMiwyOCBAQCB2
b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZihTZWNvbmRzIHNlY29uZHMpCiAKIHN0
YXRpYyBzaXplX3QgcHJvY2Vzc01lbW9yeVVzYWdlKCkKIHsKKyNpZiBPUyhMSU5VWCkKICAgICBQ
cm9jZXNzTWVtb3J5U3RhdHVzIG1lbW9yeVN0YXR1czsKICAgICBjdXJyZW50UHJvY2Vzc01lbW9y
eVN0YXR1cyhtZW1vcnlTdGF0dXMpOwogICAgIHJldHVybiAobWVtb3J5U3RhdHVzLnJlc2lkZW50
IC0gbWVtb3J5U3RhdHVzLnNoYXJlZCk7CisjZWxpZiBPUyhGUkVFQlNEKQorICAgIHN0YXRpYyBz
aXplX3QgcGFnZVNpemUgPSBzeXNjb25mKF9TQ19QQUdFX1NJWkUpOworICAgIHN0cnVjdCBraW5m
b19wcm9jIGluZm87CisgICAgc2l6ZV90IGluZm9sZW4gPSBzaXplb2YoaW5mbyk7CisKKyAgICBp
bnQgbWliWzRdOworICAgIG1pYlswXSA9IENUTF9LRVJOOworICAgIG1pYlsxXSA9IEtFUk5fUFJP
QzsKKyAgICBtaWJbMl0gPSBLRVJOX1BST0NfUElEOworICAgIG1pYlszXSA9IGdldHBpZCgpOwor
CisgICAgaWYgKHN5c2N0bChtaWIsIDQsICZpbmZvLCAmaW5mb2xlbiwgbnVsbHB0ciwgMCkpCisg
ICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHN0YXRpY19jYXN0PHNpemVfdD4oaW5mby5r
aV9yc3NpemUgLSBpbmZvLmtpX3RzaXplKSAqIHBhZ2VTaXplOworI2Vsc2UKKyNlcnJvciAiTWlz
c2luZyBhIHBsYXRmb3JtIHNwZWNpZmljIHdheSBvZiBkZXRlcm1pbmluZyB0aGUgbWVtb3J5IHVz
YWdlIgorI2VuZGlmCiB9CiAKIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpyZXNwb25kVG9N
ZW1vcnlQcmVzc3VyZShDcml0aWNhbCBjcml0aWNhbCwgU3luY2hyb25vdXMgc3luY2hyb25vdXMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvYm1hbGxvYy9D
aGFuZ2VMb2cKaW5kZXggNzY4ZDE4ZDQwZTE4Li4xNTRjODk1ZWE0Y2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAyMC0wNS0wOCAgQmFzdWtlIFN1enVraSAgPGJhc3VrZS5zdXp1a2lA
c29ueS5jb20+CisKKyAgICAgICAgW1dURl0gU2hhcmUgTGludXgncyBNZW1vcnlQcmVzc3VyZUhh
bmRsZXIgYW1vbmcgb3RoZXIgVW5peCBwb3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4OTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtl
IFN1enVraS4KKworICAgICAgICBBZGRlZCBGcmVlQlNEIGltcGxlbWVudGF0aW9uIG9mIG1lbW9y
eUZvb3RwcmludCgpLgorCisgICAgICAgICogYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwOgor
ICAgICAgICAoYm1hbGxvYzo6bWVtb3J5U3RhdHVzKToKKyAgICAgICAgKiBibWFsbG9jL0F2YWls
YWJsZU1lbW9yeS5oOgorICAgICAgICAoYm1hbGxvYzo6aXNVbmRlck1lbW9yeVByZXNzdXJlKToK
KyAgICAgICAgKiBibWFsbG9jL2JtYWxsb2MuaDoKKwogMjAyMC0wNS0wNSAgU2FhbSBCYXJhdGkg
IDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBEb24ndCB1c2UgdGhlIERlYnVnSGVhcCBm
b3IgY2F0YWx5c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXZhaWxhYmxl
TWVtb3J5LmNwcCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXZhaWxhYmxlTWVtb3J5LmNwcApp
bmRleCAyNDZlZDRlYjAyNDMuLjA0MTAwMTViYTE5NSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvQXZhaWxhYmxlTWVtb3J5LmNwcApAQCAtNDcsNiArNDcsMTEgQEAKICNpZiBCT1MoTElOVVgp
CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPGZjbnRsLmg+CisjZWxpZiBCT1MoRlJF
RUJTRCkKKyNpbmNsdWRlICJWTUFsbG9jYXRlLmgiCisjaW5jbHVkZSA8c3lzL3N5c2N0bC5oPgor
I2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy91c2VyLmg+CiAjZW5kaWYKICNp
bmNsdWRlIDx1bmlzdGQuaD4KICNlbmRpZgpAQCAtMTg0LDcgKzE4OSw3IEBAIHNpemVfdCBhdmFp
bGFibGVNZW1vcnkoKQogICAgIHJldHVybiBhdmFpbGFibGVNZW1vcnk7CiB9CiAKLSNpZiBCUExB
VEZPUk0oSU9TX0ZBTUlMWSkgfHwgQk9TKExJTlVYKQorI2lmIEJQTEFURk9STShJT1NfRkFNSUxZ
KSB8fCBCT1MoTElOVVgpIHx8IEJPUyhGUkVFQlNEKQogTWVtb3J5U3RhdHVzIG1lbW9yeVN0YXR1
cygpCiB7CiAjaWYgQlBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0yMDAsNiArMjA1LDIxIEBAIE1l
bW9yeVN0YXR1cyBtZW1vcnlTdGF0dXMoKQogICAgIGF1dG8mIG1lbW9yeSA9IExpbnV4TWVtb3J5
OjpzaW5nbGV0b24oKTsKICAgICBzaXplX3QgbWVtb3J5Rm9vdHByaW50ID0gbWVtb3J5LmZvb3Rw
cmludCgpOwogICAgIGRvdWJsZSBwZXJjZW50SW5Vc2UgPSBzdGF0aWNfY2FzdDxkb3VibGU+KG1l
bW9yeUZvb3RwcmludCkgLyBzdGF0aWNfY2FzdDxkb3VibGU+KG1lbW9yeS5hdmFpbGFibGVNZW1v
cnkpOworI2VsaWYgQk9TKEZSRUVCU0QpCisgICAgc3RydWN0IGtpbmZvX3Byb2MgaW5mbzsKKyAg
ICBzaXplX3QgaW5mb2xlbiA9IHNpemVvZihpbmZvKTsKKworICAgIGludCBtaWJbNF07CisgICAg
bWliWzBdID0gQ1RMX0tFUk47CisgICAgbWliWzFdID0gS0VSTl9QUk9DOworICAgIG1pYlsyXSA9
IEtFUk5fUFJPQ19QSUQ7CisgICAgbWliWzNdID0gZ2V0cGlkKCk7CisKKyAgICBzaXplX3QgbWVt
b3J5Rm9vdHByaW50ID0gMDsKKyAgICBpZiAoIXN5c2N0bChtaWIsIDQsICZpbmZvLCAmaW5mb2xl
biwgbnVsbHB0ciwgMCkpCisgICAgICAgIG1lbW9yeUZvb3RwcmludCA9IHN0YXRpY19jYXN0PHNp
emVfdD4oaW5mby5raV9yc3NpemUpICogdm1QYWdlU2l6ZSgpOworCisgICAgZG91YmxlIHBlcmNl
bnRJblVzZSA9IHN0YXRpY19jYXN0PGRvdWJsZT4obWVtb3J5Rm9vdHByaW50KSAvIHN0YXRpY19j
YXN0PGRvdWJsZT4oYXZhaWxhYmxlTWVtb3J5KCkpOwogI2VuZGlmCiAKICAgICBkb3VibGUgcGVy
Y2VudEF2YWlsYWJsZU1lbW9yeUluVXNlID0gc3RkOjptaW4ocGVyY2VudEluVXNlLCAxLjApOwpk
aWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuaCBiL1Nv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvQXZhaWxhYmxlTWVtb3J5LmgKaW5kZXggMjBkNmE0Mjc0N2Y1
Li41YTc5MGE5OGNkNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXZhaWxh
YmxlTWVtb3J5LmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnku
aApAQCAtMzIsNyArMzIsNyBAQCBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKIEJFWFBPUlQgc2l6ZV90
IGF2YWlsYWJsZU1lbW9yeSgpOwogCi0jaWYgQlBMQVRGT1JNKElPU19GQU1JTFkpIHx8IEJPUyhM
SU5VWCkKKyNpZiBCUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgQk9TKExJTlVYKSB8fCBCT1MoRlJF
RUJTRCkKIHN0cnVjdCBNZW1vcnlTdGF0dXMgewogICAgIE1lbW9yeVN0YXR1cyhzaXplX3QgbWVt
b3J5Rm9vdHByaW50LCBkb3VibGUgcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKQogICAgICAg
ICA6IG1lbW9yeUZvb3RwcmludChtZW1vcnlGb290cHJpbnQpCkBAIC02MSw3ICs2MSw3IEBAIGlu
bGluZSBkb3VibGUgcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlKCkKIAogaW5saW5lIGJvb2wg
aXNVbmRlck1lbW9yeVByZXNzdXJlKCkKIHsKLSNpZiBCUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwg
Qk9TKExJTlVYKQorI2lmIEJQTEFURk9STShJT1NfRkFNSUxZKSB8fCBCT1MoTElOVVgpIHx8IEJP
UyhGUkVFQlNEKQogICAgIHJldHVybiBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5Vc2UoKSA+IG1l
bW9yeVByZXNzdXJlVGhyZXNob2xkOwogI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL2JtYWxsb2MuaCBiL1NvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvYm1hbGxvYy5oCmluZGV4IGYyMGYwOTE0YzVmMS4uMDliNzI5ODk3MTVjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL2JtYWxsb2MuaAorKysgYi9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL2JtYWxsb2MuaApAQCAtMTExLDcgKzExMSw3IEBAIGlubGluZSBzaXplX3QgYXZh
aWxhYmxlTWVtb3J5KCkKICAgICByZXR1cm4gYm1hbGxvYzo6YXZhaWxhYmxlTWVtb3J5KCk7CiB9
CiAgICAgCi0jaWYgQlBMQVRGT1JNKElPU19GQU1JTFkpIHx8IEJPUyhMSU5VWCkKKyNpZiBCUExB
VEZPUk0oSU9TX0ZBTUlMWSkgfHwgQk9TKExJTlVYKSB8fCBCT1MoRlJFRUJTRCkKIGlubGluZSBz
aXplX3QgbWVtb3J5Rm9vdHByaW50KCkKIHsKICAgICByZXR1cm4gYm1hbGxvYzo6bWVtb3J5Rm9v
dHByaW50KCk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggMmYyYjNkNGRlZTIxLi4yYmE0ODNiOTJiZDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNS0wOCAg
QmFzdWtlIFN1enVraSAgPGJhc3VrZS5zdXp1a2lAc29ueS5jb20+CisKKyAgICAgICAgW1dURl0g
U2hhcmUgTGludXgncyBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgYW1vbmcgb3RoZXIgVW5peCBwb3J0
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4OTU1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4KKworICAgICAgICBGaXggdW5u
ZWVkZWQgbGlicmFyeSBkZXBlbmRlbmN5LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9DTWFr
ZUxpc3RzLnR4dDoKKwogMjAyMC0wNS0wNiAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzIGRhdGEgc3VtbWFy
eSBjYWxsIHNob3VsZCBjcmVhdGUgYSB3ZWIgcHJvY2VzcyBwb29sIGlmIG9uZSBkb2Vzbid0IGV4
aXN0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0IGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dAppbmRleCBmNGU0ZDBmNzU2ZjkuLmZkNThm
YTM0Y2JhZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0CkBAIC0zMzMsNyArMzMzLDcg
QEAgaWYgKEVOQUJMRV9XRUJLSVQpCiAKICAgICB0YXJnZXRfY29tcGlsZV9kZWZpbml0aW9ucyhU
ZXN0V2ViS2l0QVBJSW5qZWN0ZWRCdW5kbGUgUFJJVkFURSBCVUlMRElOR19UZXN0V2ViS2l0KQog
ICAgIHRhcmdldF9pbmNsdWRlX2RpcmVjdG9yaWVzKFRlc3RXZWJLaXRBUElJbmplY3RlZEJ1bmRs
ZSBQUklWQVRFICR7VGVzdFdlYktpdF9QUklWQVRFX0lOQ0xVREVfRElSRUNUT1JJRVN9KQotICAg
IHRhcmdldF9saW5rX2xpYnJhcmllcyhUZXN0V2ViS2l0QVBJSW5qZWN0ZWRCdW5kbGUgUFJJVkFU
RSBXZWJLaXQ6OldlYktpdCBXVEYpCisgICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKFRlc3RXZWJL
aXRBUElJbmplY3RlZEJ1bmRsZSBQUklWQVRFIFdlYktpdDo6V2ViS2l0KQogCiAgICAgaWYgKENP
TVBJTEVSX0lTX0dDQ19PUl9DTEFORykKICAgICAgICAgV0VCS0lUX0FERF9UQVJHRVRfQ1hYX0ZM
QUdTKFRlc3RXZWJLaXRBUElJbmplY3RlZEJ1bmRsZSAtV25vLWRhbmdsaW5nLWVsc2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>