<?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>237034</bug_id>
          
          <creation_ts>2022-02-22 05:51:09 -0800</creation_ts>
          <short_desc>REGRESSION(r290175): Texture upload from video and user media is slower than expected for non-GPUP WebGL</short_desc>
          <delta_ts>2022-02-23 22:38:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</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="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1844656</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-22 05:51:09 -0800</bug_when>
    <thetext>REGRESSION(r290175): Texture upload from video and user media is slower than expected for non-GPUP WebGL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844657</commentid>
    <comment_count>1</comment_count>
      <attachid>452857</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-22 05:53:14 -0800</bug_when>
    <thetext>Created attachment 452857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844663</commentid>
    <comment_count>2</comment_count>
      <attachid>452857</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-02-22 06:09:23 -0800</bug_when>
    <thetext>Comment on attachment 452857
Patch

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

&gt; Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:123
&gt; +            auto result = m_connection-&gt;sendSync(Messages::RemoteVideoFrameObjectHeap::PixelBuffer(read()), Messages::RemoteVideoFrameObjectHeap::PixelBuffer::Reply(pixelBuffer), 0, defaultTimeout);

I would tend to move that code in RemoteVideoFrameObjectHeapProxy instead of here.
At some point, I think we should also go through RemoteVideoFrameObjectHeapProxy to release the video frame.
Then RemoteVideoFrameProxy would not need to have a m_connection, nor do any direct IPC, the heap proxy would do it.

&gt; Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameProxy.h:97
&gt; +    static inline Seconds defaultTimeout = 10_s;

10_s seems like a lot of time. It probably does not matter right now since all our frames are created in GPUProcess so value could be 0_s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844667</commentid>
    <comment_count>3</comment_count>
      <attachid>452857</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-02-22 06:13:25 -0800</bug_when>
    <thetext>Comment on attachment 452857
Patch

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

&gt; Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:125
&gt; +                return nullptr;

If there is no result, we should probably create a black pixel buffer, so that libwebrtc is made happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845041</commentid>
    <comment_count>4</comment_count>
      <attachid>452857</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-23 00:52:19 -0800</bug_when>
    <thetext>Comment on attachment 452857
Patch

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

thanks!

&gt;&gt; Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:123
&gt;&gt; +            auto result = m_connection-&gt;sendSync(Messages::RemoteVideoFrameObjectHeap::PixelBuffer(read()), Messages::RemoteVideoFrameObjectHeap::PixelBuffer::Reply(pixelBuffer), 0, defaultTimeout);
&gt; 
&gt; I would tend to move that code in RemoteVideoFrameObjectHeapProxy instead of here.
&gt; At some point, I think we should also go through RemoteVideoFrameObjectHeapProxy to release the video frame.
&gt; Then RemoteVideoFrameProxy would not need to have a m_connection, nor do any direct IPC, the heap proxy would do it.

Talked offline. Currently it&apos;s one message, so it doesn&apos;t need state stored in proxy.
The current functionality of the proxy itself should be removed once the IPC system is improved to not require such duplicated code for sending big blocks of memory.

&gt;&gt; Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:125
&gt;&gt; +                return nullptr;
&gt; 
&gt; If there is no result, we should probably create a black pixel buffer, so that libwebrtc is made happy.

done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845046</commentid>
    <comment_count>5</comment_count>
      <attachid>452950</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-23 01:12:41 -0800</bug_when>
    <thetext>Created attachment 452950
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845058</commentid>
    <comment_count>6</comment_count>
      <attachid>452954</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-23 02:23:04 -0800</bug_when>
    <thetext>Created attachment 452954
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845518</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-23 22:37:08 -0800</bug_when>
    <thetext>Committed r290413 (247721@main): &lt;https://commits.webkit.org/247721@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 452954.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845519</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-23 22:38:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/89400347&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452857</attachid>
            <date>2022-02-22 05:53:14 -0800</date>
            <delta_ts>2022-02-23 01:12:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237034-20220222155312.patch</filename>
            <type>text/plain</type>
            <size>7850</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY1NTFiYmI3MWY0NmRkY2Zm
NzFmMjczNDJmM2U1ODc2YzA2OGJiM2MuLmI0NjM3Y2M1NGNiN2ViODQ5YzBhYTY5YWIwZGZjMDlj
MDFiZGE2NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjItMDItMjIgIEtpbW1vIEtp
bm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyOTAx
NzUpOiBUZXh0dXJlIHVwbG9hZCBmcm9tIHZpZGVvIGFuZCB1c2VyIG1lZGlhIGlzIHNsb3dlciB0
aGFuIGV4cGVjdGVkIGZvciBub24tR1BVUCBXZWJHTAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3MDM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGJhY2sgdGhlIGNvZGUtcGF0aCB0byBvYnRhaW4g
dGhlIElPU3VyZmFjZSBiYWNrZWQgQ1ZQaXhlbEJ1ZmZlcnMgZGlyZWN0bHkKKyAgICAgICAgdmlh
IElQQyB0cmFuc2Zlci4gVGhpcyBpcyB1c2VkIG9uIG1hY09TIHdoZXJlIFdlYkdMIGlzIGluIFdQ
LgorCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVh
cC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpwaXhl
bEJ1ZmZlcik6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2Jq
ZWN0SGVhcC5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9i
amVjdEhlYXAubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlVmlkZW9GcmFtZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlVmlkZW9GcmFt
ZVByb3h5OjpwaXhlbEJ1ZmZlciBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlVmlkZW9GcmFtZVByb3h5Lmg6CisKIDIwMjItMDItMjIgIEtpbW1vIEtpbm51bmVu
ICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBUaHJlYWQgc2FmZXR5IGFuYWx5c2lz
IG1hY3JvcyBhcmUgY29uZnVzaW5nIGZvciBub24tTG9jayB1c2UtY2FzZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVh
cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9i
amVjdEhlYXAuY3BwCmluZGV4IDUyOWMyNzJlZjQ3MTQ0OTQ2M2MxMThmMmQ1NzA3Mjc3MWIzOGUy
YTUuLjE0ZmJmYjhiMDg3YTNkNjI1NmE0ZTA4MGU4MjQ5Mzg2MTUxZmY1MGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVh
cC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJh
bWVPYmplY3RIZWFwLmNwcApAQCAtMTEyLDYgKzExMiwyOCBAQCB2b2lkIFJlbW90ZVZpZGVvRnJh
bWVPYmplY3RIZWFwOjpnZXRWaWRlb0ZyYW1lQnVmZmVyKFJlbW90ZVZpZGVvRnJhbWVSZWFkUmVm
ZXJlbgogICAgICk7CiAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVWaWRl
b0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yOjpOZXdWaWRlb0ZyYW1lQnVmZmVyIHsgaWRl
bnRpZmllciB9LCAwKTsKIH0KKwordm9pZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6cGl4
ZWxCdWZmZXIoUmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UmJiByZWFkLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPik+JiYgY29tcGxldGlvbkhh
bmRsZXIpCit7CisgICAgYXV0byB2aWRlb0ZyYW1lID0gcmV0aXJlKFdURk1vdmUocmVhZCksIGRl
ZmF1bHRUaW1lb3V0KTsKKyAgICBpZiAoIXZpZGVvRnJhbWUpIHsKKyAgICAgICAgQVNTRVJUX0lT
X1RFU1RJTkdfSVBDKCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG51bGxwdHIpOworICAg
ICAgICByZXR1cm47CisgICAgfQorICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBwaXhl
bEJ1ZmZlcjsKKyAgICBpZiAoaXM8VmlkZW9GcmFtZUNWPih2aWRlb0ZyYW1lKSkKKyAgICAgICAg
cGl4ZWxCdWZmZXIgPSBkb3duY2FzdDxWaWRlb0ZyYW1lQ1Y+KCp2aWRlb0ZyYW1lKS5waXhlbEJ1
ZmZlcigpOworICAgIGVsc2UgaWYgKGlzPE1lZGlhU2FtcGxlQVZGT2JqQz4oKnZpZGVvRnJhbWUp
KQorICAgICAgICBwaXhlbEJ1ZmZlciA9IGRvd25jYXN0PE1lZGlhU2FtcGxlQVZGT2JqQz4oKnZp
ZGVvRnJhbWUpLnBpeGVsQnVmZmVyKCk7CisgICAgZWxzZSB7CisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihudWxscHRyKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBjb21wbGV0aW9uSGFuZGxlcihwaXhlbEJ1ZmZlcik7Cit9CisK
ICNlbmRpZgogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5oCmluZGV4IDE2MmE5NDI4MjlhNTlkZTRi
YzI3MjgzMjIxMmQzNDY4ZGU1NTRlNDguLjQ5OTgxMGM2YmZjNTVlNzVhNjcxNTgxMWE3MjljYTJm
NDUxOGE0MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5oCkBAIC01NywxMiArNTcsMTUgQEAgcHJp
dmF0ZToKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyIG92ZXJyaWRlcy4KICAgICB2b2lk
IGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFs
OworICAgIGJvb2wgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6
RGVjb2RlciYsIFVuaXF1ZVJlZjxJUEM6OkVuY29kZXI+JikgZmluYWw7CiAKICAgICAvLyBNZXNz
YWdlcy4KICAgICB2b2lkIHJlbGVhc2VWaWRlb0ZyYW1lKFJlbW90ZVZpZGVvRnJhbWVXcml0ZVJl
ZmVyZW5jZSYmKTsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIGdldFZpZGVvRnJhbWVC
dWZmZXIoUmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UmJik7CisgICAgdm9pZCBwaXhlbEJ1
ZmZlcihSZW1vdGVWaWRlb0ZyYW1lUmVhZFJlZmVyZW5jZSYmLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPik+JiYpOwogI2VuZGlmCisgICAgaW5saW5l
IHN0YXRpYyBTZWNvbmRzIGRlZmF1bHRUaW1lb3V0ID0gMTBfczsKIAogICAgIEdQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MqIG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcyBXVEZfR1VBUkRFRF9C
WV9DQVBBQklMSVRZKG1fY29uc3VtZVRocmVhZCk7CiAgICAgY29uc3QgUmVmPElQQzo6Q29ubmVj
dGlvbj4gbV9jb25uZWN0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1lc3NhZ2Vz
LmluCmluZGV4IDFmOGJhZWRkZWU2NWU3YTU3YTI0ZDBjZTVmZWUxZGNlZjU0YmNmMDYuLjZmYThh
YTJiY2MzNDQ4ZmRmNWQxNWUwZWMxOTdmNGQ4N2FiYzdiYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFt
ZU9iamVjdEhlYXAubWVzc2FnZXMuaW4KQEAgLTI0LDggKzI0LDkgQEAKICNpZiBFTkFCTEUoR1BV
X1BST0NFU1MpICYmIEVOQUJMRShWSURFTykKIG1lc3NhZ2VzIC0+IFJlbW90ZVZpZGVvRnJhbWVP
YmplY3RIZWFwIE5vdFJlZkNvdW50ZWQgewogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIEdldFZp
ZGVvRnJhbWVCdWZmZXIoV2ViS2l0OjpSZW1vdGVWaWRlb0ZyYW1lUmVhZFJlZmVyZW5jZSBpZGVu
dGlmaWVyKQorICAgIEdldFZpZGVvRnJhbWVCdWZmZXIoV2ViS2l0OjpSZW1vdGVWaWRlb0ZyYW1l
UmVhZFJlZmVyZW5jZSByZWFkKQorICAgIFBpeGVsQnVmZmVyKFdlYktpdDo6UmVtb3RlVmlkZW9G
cmFtZVJlYWRSZWZlcmVuY2UgcmVhZCkgLT4gKFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBy
ZXN1bHQpIFN5bmNocm9ub3VzCiAjZW5kaWYKLSAgICBSZWxlYXNlVmlkZW9GcmFtZShXZWJLaXQ6
OlJlbW90ZVZpZGVvRnJhbWVXcml0ZVJlZmVyZW5jZSBpZGVudGlmaWVyKQorICAgIFJlbGVhc2VW
aWRlb0ZyYW1lKFdlYktpdDo6UmVtb3RlVmlkZW9GcmFtZVdyaXRlUmVmZXJlbmNlIHdyaXRlKQog
fQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZVZpZGVvRnJhbWVQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZVZpZGVvRnJhbWVQcm94eS5jcHAKaW5kZXggZDE4MDM0YjQ2MzExYWQzODlh
NmFiNmE4OTVmMWNhMmIxODE3OTkxOC4uNzY2OWY0NWYyYTMyZTFmNDY5NDAxMDJhZDNhODdkNTAx
YTM3ODgxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVWaWRlb0ZyYW1lUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZVByb3h5LmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2lu
Y2x1ZGUgIlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHkuaCIKIAogI2lmIFBMQVRGT1JN
KENPQ09BKQorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NWVXRp
bGl0aWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VD
b2NvYS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVmlkZW9GcmFtZUNWLmg+CkBAIC0xMDcsMTggKzEw
OCwyNyBAQCBDVlBpeGVsQnVmZmVyUmVmIFJlbW90ZVZpZGVvRnJhbWVQcm94eTo6cGl4ZWxCdWZm
ZXIoKSBjb25zdAogewogICAgIExvY2tlciBsb2NrKG1fcGl4ZWxCdWZmZXJMb2NrKTsKICAgICBp
ZiAoIW1fcGl4ZWxCdWZmZXIgJiYgbV92aWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5KSB7Ci0gICAg
ICAgIEJpbmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7Ci0gICAgICAgIG1fdmlkZW9GcmFtZU9iamVj
dEhlYXBQcm94eS0+Z2V0VmlkZW9GcmFtZUJ1ZmZlcigqdGhpcywgW3RoaXMsICZzZW1hcGhvcmVd
KGF1dG8gcGl4ZWxCdWZmZXIpIHsKKyAgICAgICAgYXV0byB2aWRlb0ZyYW1lT2JqZWN0SGVhcFBy
b3h5ID0gc3RkOjpleGNoYW5nZShtX3ZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHksIG51bGxwdHIp
OworCisgICAgICAgIC8vIEN1cnJlbnRseSB3ZSBqdXN0IGtleSB3aXRoIHRoaXMsIGFzIHRoZXJl
IGlzIG5vIGNvbmRpdGlvbiBmb3IgImhhcyBhY2Nlc3MgdG8gSU9LaXQiLgorICAgICAgICBpZiAo
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2hvdWxkVXNlUmVtb3RlUmVuZGVyaW5nRm9yV2ViR0wo
KSkgeworICAgICAgICAgICAgQmluYXJ5U2VtYXBob3JlIHNlbWFwaG9yZTsKKyAgICAgICAgICAg
IHZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHktPmdldFZpZGVvRnJhbWVCdWZmZXIoKnRoaXMsIFt0
aGlzLCAmc2VtYXBob3JlXShhdXRvIHBpeGVsQnVmZmVyKSB7CisgICAgICAgICAgICAgICAgbV9w
aXhlbEJ1ZmZlciA9IFdURk1vdmUocGl4ZWxCdWZmZXIpOworICAgICAgICAgICAgICAgIHNlbWFw
aG9yZS5zaWduYWwoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgc2VtYXBob3JlLndh
aXQoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIFJldGFpblB0cjxDVlBpeGVsQnVm
ZmVyUmVmPiBwaXhlbEJ1ZmZlcjsKKyAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gbV9jb25uZWN0
aW9uLT5zZW5kU3luYyhNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OlBpeGVs
QnVmZmVyKHJlYWQoKSksIE1lc3NhZ2VzOjpSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6UGl4
ZWxCdWZmZXI6OlJlcGx5KHBpeGVsQnVmZmVyKSwgMCwgZGVmYXVsdFRpbWVvdXQpOworICAgICAg
ICAgICAgaWYgKCFyZXN1bHQpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
ICAgICAgICBtX3BpeGVsQnVmZmVyID0gV1RGTW92ZShwaXhlbEJ1ZmZlcik7Ci0gICAgICAgICAg
ICBpZiAoIW1fcGl4ZWxCdWZmZXIpIHsKLSAgICAgICAgICAgICAgICAvLyBTb21lIGNvZGUgcGF0
aHMgZG8gbm90IGxpa2UgZW1wdHkgcGl4ZWwgYnVmZmVycy4KLSAgICAgICAgICAgICAgICBtX3Bp
eGVsQnVmZmVyID0gV2ViQ29yZTo6Y3JlYXRlQmxhY2tQaXhlbEJ1ZmZlcihzdGF0aWNfY2FzdDxz
aXplX3Q+KG1fc2l6ZS53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8c2l6ZV90PihtX3NpemUuaGVpZ2h0
KCkpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHNlbWFwaG9yZS5zaWduYWwoKTsKLSAg
ICAgICAgfSk7Ci0gICAgICAgIHNlbWFwaG9yZS53YWl0KCk7Ci0gICAgICAgIG1fdmlkZW9GcmFt
ZU9iamVjdEhlYXBQcm94eSA9IG51bGxwdHI7CisgICAgICAgIH0KICAgICB9CisgICAgLy8gRklY
TUU6IFNvbWUgY29kZSBwYXRocyBkbyBub3QgbGlrZSBlbXB0eSBwaXhlbCBidWZmZXJzLgorICAg
IGlmICghbV9waXhlbEJ1ZmZlcikKKyAgICAgICAgbV9waXhlbEJ1ZmZlciA9IFdlYkNvcmU6OmNy
ZWF0ZUJsYWNrUGl4ZWxCdWZmZXIoc3RhdGljX2Nhc3Q8c2l6ZV90PihtX3NpemUud2lkdGgoKSks
IHN0YXRpY19jYXN0PHNpemVfdD4obV9zaXplLmhlaWdodCgpKSk7CiAgICAgcmV0dXJuIG1fcGl4
ZWxCdWZmZXIuZ2V0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVQcm94eS5oCmluZGV4IDBlZWM3Y2M0YmI1
NjE2YmQyZWMyZmNmNjhhOWJkYjkzZDZkNjIwM2IuLjNlOGFmMzE3YzI0ZmQ0NzE4ZTdkNDE3NjVk
MWQ1OTYxYzI4OTFiMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlVmlkZW9GcmFtZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lUHJveHkuaApAQCAtOTQsNiArOTQsNyBAQCBw
dWJsaWM6CiAKIHByaXZhdGU6CiAgICAgUmVtb3RlVmlkZW9GcmFtZVByb3h5KElQQzo6Q29ubmVj
dGlvbiYsIFJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHkmLCBQcm9wZXJ0aWVzJiYpOwor
ICAgIHN0YXRpYyBpbmxpbmUgU2Vjb25kcyBkZWZhdWx0VGltZW91dCA9IDEwX3M7CiAKICAgICBj
b25zdCBSZWY8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgUmVtb3RlVmlkZW9G
cmFtZVJlZmVyZW5jZVRyYWNrZXIgbV9yZWZlcmVuY2VUcmFja2VyOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452950</attachid>
            <date>2022-02-23 01:12:41 -0800</date>
            <delta_ts>2022-02-23 02:22:59 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-237034-20220223111240.patch</filename>
            <type>text/plain</type>
            <size>7836</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczMjBkMGY1YzNiMzJkMjA5
MzU0ODBjM2I2ODZlZmUwNWNhZDRkYzAuLjYxMWQ2ZjIzODg2Njc3MTU2ZjQzNmFkNmFhODVkNTg5
NzljNWUxNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjItMDItMjMgIEtpbW1vIEtp
bm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyOTAx
NzUpOiBUZXh0dXJlIHVwbG9hZCBmcm9tIHZpZGVvIGFuZCB1c2VyIG1lZGlhIGlzIHNsb3dlciB0
aGFuIGV4cGVjdGVkIGZvciBub24tR1BVUCBXZWJHTAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3MDM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91
ZW5uIEZhYmxldC4KKworICAgICAgICBBZGQgYmFjayB0aGUgY29kZS1wYXRoIHRvIG9idGFpbiB0
aGUgSU9TdXJmYWNlIGJhY2tlZCBDVlBpeGVsQnVmZmVycyBkaXJlY3RseQorICAgICAgICB2aWEg
SVBDIHRyYW5zZmVyLiBUaGlzIGlzIHVzZWQgb24gbWFjT1Mgd2hlcmUgV2ViR0wgaXMgaW4gV1Au
CisKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFw
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OnBpeGVs
QnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmpl
Y3RIZWFwLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2Jq
ZWN0SGVhcC5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVWaWRlb0ZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVWaWRlb0ZyYW1l
UHJveHk6OnBpeGVsQnVmZmVyIGNvbnN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVWaWRlb0ZyYW1lUHJveHkuaDoKKwogMjAyMi0wMi0yMiAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHAvd3B0L3B1c2gtYXBpL29ucHVzaC1kaXNh
YmxlZC5odG1sIGZhaWxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmNwcAppbmRleCA1MjljMjcyZWY0
NzE0NDk0NjNjMTE4ZjJkNTcwNzI3NzFiMzhlMmE1Li4xNGZiZmI4YjA4N2EzZDYyNTZhNGUwODBl
ODI0OTM4NjE1MWZmNTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5jcHAKQEAgLTExMiw2ICsx
MTIsMjggQEAgdm9pZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6Z2V0VmlkZW9GcmFtZUJ1
ZmZlcihSZW1vdGVWaWRlb0ZyYW1lUmVhZFJlZmVyZW4KICAgICApOwogICAgIG1fY29ubmVjdGlv
bi0+c2VuZChNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nv
cjo6TmV3VmlkZW9GcmFtZUJ1ZmZlciB7IGlkZW50aWZpZXIgfSwgMCk7CiB9CisKK3ZvaWQgUmVt
b3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OnBpeGVsQnVmZmVyKFJlbW90ZVZpZGVvRnJhbWVSZWFk
UmVmZXJlbmNlJiYgcmVhZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXRhaW5QdHI8Q1ZQaXhl
bEJ1ZmZlclJlZj4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGF1dG8gdmlkZW9GcmFt
ZSA9IHJldGlyZShXVEZNb3ZlKHJlYWQpLCBkZWZhdWx0VGltZW91dCk7CisgICAgaWYgKCF2aWRl
b0ZyYW1lKSB7CisgICAgICAgIEFTU0VSVF9JU19URVNUSU5HX0lQQygpOworICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihudWxscHRyKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBSZXRh
aW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gcGl4ZWxCdWZmZXI7CisgICAgaWYgKGlzPFZpZGVvRnJh
bWVDVj4odmlkZW9GcmFtZSkpCisgICAgICAgIHBpeGVsQnVmZmVyID0gZG93bmNhc3Q8VmlkZW9G
cmFtZUNWPigqdmlkZW9GcmFtZSkucGl4ZWxCdWZmZXIoKTsKKyAgICBlbHNlIGlmIChpczxNZWRp
YVNhbXBsZUFWRk9iakM+KCp2aWRlb0ZyYW1lKSkKKyAgICAgICAgcGl4ZWxCdWZmZXIgPSBkb3du
Y2FzdDxNZWRpYVNhbXBsZUFWRk9iakM+KCp2aWRlb0ZyYW1lKS5waXhlbEJ1ZmZlcigpOworICAg
IGVsc2UgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIobnVsbHB0cik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgY29tcGxldGlv
bkhhbmRsZXIocGl4ZWxCdWZmZXIpOworfQorCiAjZW5kaWYKIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmgg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhl
YXAuaAppbmRleCAwZDE0Y2ExNjViMGRhMDhkMTU0ZTJmMGJlZmZkZWZiNDkxOTg1ZTZiLi5lMDM5
ODk0ZjYzMTYyNWQyZjJiNzAwOGE4M2NmNjZiYzFmYmNjYTNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhl
YXAuaApAQCAtNTcsMTIgKzU3LDE1IEBAIHByaXZhdGU6CiAKICAgICAvLyBJUEM6Ok1lc3NhZ2VS
ZWNlaXZlciBvdmVycmlkZXMuCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKyAgICBib29sIGRpZFJlY2VpdmVTeW5jTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBVbmlxdWVSZWY8SVBDOjpFbmNv
ZGVyPiYpIGZpbmFsOwogCiAgICAgLy8gTWVzc2FnZXMuCiAgICAgdm9pZCByZWxlYXNlVmlkZW9G
cmFtZShSZW1vdGVWaWRlb0ZyYW1lV3JpdGVSZWZlcmVuY2UmJik7CiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgdm9pZCBnZXRWaWRlb0ZyYW1lQnVmZmVyKFJlbW90ZVZpZGVvRnJhbWVSZWFkUmVm
ZXJlbmNlJiYpOworICAgIHZvaWQgcGl4ZWxCdWZmZXIoUmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZl
cmVuY2UmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJl
Zj4pPiYmKTsKICNlbmRpZgorICAgIGlubGluZSBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0VGltZW91
dCA9IDEwX3M7CiAKICAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKiBtX2dwdUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MgV1RGX0dVQVJERURfQllfTE9DSyhtX2NvbnN1bWVUaHJlYWQpOwogICAg
IGNvbnN0IFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcC5tZXNzYWdlcy5pbgppbmRleCAxZjhiYWVkZGVlNjVlN2E1N2EyNGQwY2U1
ZmVlMWRjZWY1NGJjZjA2Li42ZmE4YWEyYmNjMzQ0OGZkZjVkMTVlMGVjMTk3ZjRkODdhYmM3YmJl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9G
cmFtZU9iamVjdEhlYXAubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1lc3NhZ2VzLmluCkBAIC0yNCw4ICsy
NCw5IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoVklERU8pCiBtZXNzYWdl
cyAtPiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcCBOb3RSZWZDb3VudGVkIHsKICNpZiBQTEFU
Rk9STShDT0NPQSkKLSAgICBHZXRWaWRlb0ZyYW1lQnVmZmVyKFdlYktpdDo6UmVtb3RlVmlkZW9G
cmFtZVJlYWRSZWZlcmVuY2UgaWRlbnRpZmllcikKKyAgICBHZXRWaWRlb0ZyYW1lQnVmZmVyKFdl
YktpdDo6UmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UgcmVhZCkKKyAgICBQaXhlbEJ1ZmZl
cihXZWJLaXQ6OlJlbW90ZVZpZGVvRnJhbWVSZWFkUmVmZXJlbmNlIHJlYWQpIC0+IChSZXRhaW5Q
dHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gcmVzdWx0KSBTeW5jaHJvbm91cwogI2VuZGlmCi0gICAgUmVs
ZWFzZVZpZGVvRnJhbWUoV2ViS2l0OjpSZW1vdGVWaWRlb0ZyYW1lV3JpdGVSZWZlcmVuY2UgaWRl
bnRpZmllcikKKyAgICBSZWxlYXNlVmlkZW9GcmFtZShXZWJLaXQ6OlJlbW90ZVZpZGVvRnJhbWVX
cml0ZVJlZmVyZW5jZSB3cml0ZSkKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lUHJveHkuY3BwCmlu
ZGV4IGQxODAzNGI0NjMxMWFkMzg5YTZhYjZhODk1ZjFjYTJiMTgxNzk5MTguLjA2NjZkNjgzMzhh
YzJmODAyYTI1N2Y5MzY3YTdmZTc3NzYwNmYwMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZVByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVQcm94eS5jcHAK
QEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFBy
b3h5LmgiCiAKICNpZiBQTEFURk9STShDT0NPQSkKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAj
aW5jbHVkZSA8V2ViQ29yZS9DVlV0aWxpdGllcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVhbHRp
bWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1ZpZGVvRnJh
bWVDVi5oPgpAQCAtMTA3LDE4ICsxMDgsMjYgQEAgQ1ZQaXhlbEJ1ZmZlclJlZiBSZW1vdGVWaWRl
b0ZyYW1lUHJveHk6OnBpeGVsQnVmZmVyKCkgY29uc3QKIHsKICAgICBMb2NrZXIgbG9jayhtX3Bp
eGVsQnVmZmVyTG9jayk7CiAgICAgaWYgKCFtX3BpeGVsQnVmZmVyICYmIG1fdmlkZW9GcmFtZU9i
amVjdEhlYXBQcm94eSkgewotICAgICAgICBCaW5hcnlTZW1hcGhvcmUgc2VtYXBob3JlOwotICAg
ICAgICBtX3ZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHktPmdldFZpZGVvRnJhbWVCdWZmZXIoKnRo
aXMsIFt0aGlzLCAmc2VtYXBob3JlXShhdXRvIHBpeGVsQnVmZmVyKSB7Ci0gICAgICAgICAgICBt
X3BpeGVsQnVmZmVyID0gV1RGTW92ZShwaXhlbEJ1ZmZlcik7Ci0gICAgICAgICAgICBpZiAoIW1f
cGl4ZWxCdWZmZXIpIHsKLSAgICAgICAgICAgICAgICAvLyBTb21lIGNvZGUgcGF0aHMgZG8gbm90
IGxpa2UgZW1wdHkgcGl4ZWwgYnVmZmVycy4KLSAgICAgICAgICAgICAgICBtX3BpeGVsQnVmZmVy
ID0gV2ViQ29yZTo6Y3JlYXRlQmxhY2tQaXhlbEJ1ZmZlcihzdGF0aWNfY2FzdDxzaXplX3Q+KG1f
c2l6ZS53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8c2l6ZV90PihtX3NpemUuaGVpZ2h0KCkpKTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIHNlbWFwaG9yZS5zaWduYWwoKTsKLSAgICAgICAgfSk7
Ci0gICAgICAgIHNlbWFwaG9yZS53YWl0KCk7Ci0gICAgICAgIG1fdmlkZW9GcmFtZU9iamVjdEhl
YXBQcm94eSA9IG51bGxwdHI7CisgICAgICAgIGF1dG8gdmlkZW9GcmFtZU9iamVjdEhlYXBQcm94
eSA9IHN0ZDo6ZXhjaGFuZ2UobV92aWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5LCBudWxscHRyKTsK
KworICAgICAgICAvLyBDdXJyZW50bHkgd2UganVzdCBrZXkgd2l0aCB0aGlzLCBhcyB0aGVyZSBp
cyBubyBjb25kaXRpb24gZm9yICJoYXMgYWNjZXNzIHRvIElPS2l0Ii4KKyAgICAgICAgaWYgKFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLnNob3VsZFVzZVJlbW90ZVJlbmRlcmluZ0ZvcldlYkdMKCkp
IHsKKyAgICAgICAgICAgIEJpbmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7CisgICAgICAgICAgICB2
aWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5LT5nZXRWaWRlb0ZyYW1lQnVmZmVyKCp0aGlzLCBbdGhp
cywgJnNlbWFwaG9yZV0oYXV0byBwaXhlbEJ1ZmZlcikgeworICAgICAgICAgICAgICAgIG1fcGl4
ZWxCdWZmZXIgPSBXVEZNb3ZlKHBpeGVsQnVmZmVyKTsKKyAgICAgICAgICAgICAgICBzZW1hcGhv
cmUuc2lnbmFsKCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHNlbWFwaG9yZS53YWl0
KCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZl
clJlZj4gcGl4ZWxCdWZmZXI7CisgICAgICAgICAgICBhdXRvIHJlc3VsdCA9IG1fY29ubmVjdGlv
bi0+c2VuZFN5bmMoTWVzc2FnZXM6OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpQaXhlbEJ1
ZmZlcihyZWFkKCkpLCBNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OlBpeGVs
QnVmZmVyOjpSZXBseShwaXhlbEJ1ZmZlciksIDAsIGRlZmF1bHRUaW1lb3V0KTsKKyAgICAgICAg
ICAgIGlmIChyZXN1bHQpCisgICAgICAgICAgICAgICAgbV9waXhlbEJ1ZmZlciA9IFdURk1vdmUo
cGl4ZWxCdWZmZXIpOworICAgICAgICB9CiAgICAgfQorICAgIC8vIEZJWE1FOiBTb21lIGNvZGUg
cGF0aHMgZG8gbm90IGxpa2UgZW1wdHkgcGl4ZWwgYnVmZmVycy4KKyAgICBpZiAoIW1fcGl4ZWxC
dWZmZXIpCisgICAgICAgIG1fcGl4ZWxCdWZmZXIgPSBXZWJDb3JlOjpjcmVhdGVCbGFja1BpeGVs
QnVmZmVyKHN0YXRpY19jYXN0PHNpemVfdD4obV9zaXplLndpZHRoKCkpLCBzdGF0aWNfY2FzdDxz
aXplX3Q+KG1fc2l6ZS5oZWlnaHQoKSkpOwogICAgIHJldHVybiBtX3BpeGVsQnVmZmVyLmdldCgp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZVZpZGVvRnJhbWVQcm94eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVWaWRlb0ZyYW1lUHJveHkuaAppbmRleCAwZWVjN2NjNGJiNTYxNmJkMmVjMmZjZjY4
YTliZGI5M2Q2ZDYyMDNiLi4zZThhZjMxN2MyNGZkNDcxOGU3ZDQxNzY1ZDFkNTk2MWMyODkxYjI4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVZp
ZGVvRnJhbWVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlVmlkZW9GcmFtZVByb3h5LmgKQEAgLTk0LDYgKzk0LDcgQEAgcHVibGljOgogCiBwcml2
YXRlOgogICAgIFJlbW90ZVZpZGVvRnJhbWVQcm94eShJUEM6OkNvbm5lY3Rpb24mLCBSZW1vdGVW
aWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5JiwgUHJvcGVydGllcyYmKTsKKyAgICBzdGF0aWMgaW5s
aW5lIFNlY29uZHMgZGVmYXVsdFRpbWVvdXQgPSAxMF9zOwogCiAgICAgY29uc3QgUmVmPElQQzo6
Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwogICAgIFJlbW90ZVZpZGVvRnJhbWVSZWZlcmVuY2VU
cmFja2VyIG1fcmVmZXJlbmNlVHJhY2tlcjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452954</attachid>
            <date>2022-02-23 02:23:04 -0800</date>
            <delta_ts>2022-02-23 22:37:10 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-237034-20220223122303.patch</filename>
            <type>text/plain</type>
            <size>8043</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczMjBkMGY1YzNiMzJkMjA5
MzU0ODBjM2I2ODZlZmUwNWNhZDRkYzAuLjYxMWQ2ZjIzODg2Njc3MTU2ZjQzNmFkNmFhODVkNTg5
NzljNWUxNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjItMDItMjMgIEtpbW1vIEtp
bm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyOTAx
NzUpOiBUZXh0dXJlIHVwbG9hZCBmcm9tIHZpZGVvIGFuZCB1c2VyIG1lZGlhIGlzIHNsb3dlciB0
aGFuIGV4cGVjdGVkIGZvciBub24tR1BVUCBXZWJHTAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3MDM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91
ZW5uIEZhYmxldC4KKworICAgICAgICBBZGQgYmFjayB0aGUgY29kZS1wYXRoIHRvIG9idGFpbiB0
aGUgSU9TdXJmYWNlIGJhY2tlZCBDVlBpeGVsQnVmZmVycyBkaXJlY3RseQorICAgICAgICB2aWEg
SVBDIHRyYW5zZmVyLiBUaGlzIGlzIHVzZWQgb24gbWFjT1Mgd2hlcmUgV2ViR0wgaXMgaW4gV1Au
CisKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFw
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OnBpeGVs
QnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmpl
Y3RIZWFwLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2Jq
ZWN0SGVhcC5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVWaWRlb0ZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVWaWRlb0ZyYW1l
UHJveHk6OnBpeGVsQnVmZmVyIGNvbnN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVWaWRlb0ZyYW1lUHJveHkuaDoKKwogMjAyMi0wMi0yMiAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHAvd3B0L3B1c2gtYXBpL29ucHVzaC1kaXNh
YmxlZC5odG1sIGZhaWxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmNwcAppbmRleCA1MjljMjcyZWY0
NzE0NDk0NjNjMTE4ZjJkNTcwNzI3NzFiMzhlMmE1Li4xNGZiZmI4YjA4N2EzZDYyNTZhNGUwODBl
ODI0OTM4NjE1MWZmNTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5jcHAKQEAgLTExMiw2ICsx
MTIsMjggQEAgdm9pZCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcDo6Z2V0VmlkZW9GcmFtZUJ1
ZmZlcihSZW1vdGVWaWRlb0ZyYW1lUmVhZFJlZmVyZW4KICAgICApOwogICAgIG1fY29ubmVjdGlv
bi0+c2VuZChNZXNzYWdlczo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eVByb2Nlc3Nv
cjo6TmV3VmlkZW9GcmFtZUJ1ZmZlciB7IGlkZW50aWZpZXIgfSwgMCk7CiB9CisKK3ZvaWQgUmVt
b3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OnBpeGVsQnVmZmVyKFJlbW90ZVZpZGVvRnJhbWVSZWFk
UmVmZXJlbmNlJiYgcmVhZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXRhaW5QdHI8Q1ZQaXhl
bEJ1ZmZlclJlZj4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGF1dG8gdmlkZW9GcmFt
ZSA9IHJldGlyZShXVEZNb3ZlKHJlYWQpLCBkZWZhdWx0VGltZW91dCk7CisgICAgaWYgKCF2aWRl
b0ZyYW1lKSB7CisgICAgICAgIEFTU0VSVF9JU19URVNUSU5HX0lQQygpOworICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihudWxscHRyKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBSZXRh
aW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gcGl4ZWxCdWZmZXI7CisgICAgaWYgKGlzPFZpZGVvRnJh
bWVDVj4odmlkZW9GcmFtZSkpCisgICAgICAgIHBpeGVsQnVmZmVyID0gZG93bmNhc3Q8VmlkZW9G
cmFtZUNWPigqdmlkZW9GcmFtZSkucGl4ZWxCdWZmZXIoKTsKKyAgICBlbHNlIGlmIChpczxNZWRp
YVNhbXBsZUFWRk9iakM+KCp2aWRlb0ZyYW1lKSkKKyAgICAgICAgcGl4ZWxCdWZmZXIgPSBkb3du
Y2FzdDxNZWRpYVNhbXBsZUFWRk9iakM+KCp2aWRlb0ZyYW1lKS5waXhlbEJ1ZmZlcigpOworICAg
IGVsc2UgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIobnVsbHB0cik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgY29tcGxldGlv
bkhhbmRsZXIocGl4ZWxCdWZmZXIpOworfQorCiAjZW5kaWYKIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmgg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhl
YXAuaAppbmRleCAwZDE0Y2ExNjViMGRhMDhkMTU0ZTJmMGJlZmZkZWZiNDkxOTg1ZTZiLi5lMDM5
ODk0ZjYzMTYyNWQyZjJiNzAwOGE4M2NmNjZiYzFmYmNjYTNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhl
YXAuaApAQCAtNTcsMTIgKzU3LDE1IEBAIHByaXZhdGU6CiAKICAgICAvLyBJUEM6Ok1lc3NhZ2VS
ZWNlaXZlciBvdmVycmlkZXMuCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKyAgICBib29sIGRpZFJlY2VpdmVTeW5jTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBVbmlxdWVSZWY8SVBDOjpFbmNv
ZGVyPiYpIGZpbmFsOwogCiAgICAgLy8gTWVzc2FnZXMuCiAgICAgdm9pZCByZWxlYXNlVmlkZW9G
cmFtZShSZW1vdGVWaWRlb0ZyYW1lV3JpdGVSZWZlcmVuY2UmJik7CiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgdm9pZCBnZXRWaWRlb0ZyYW1lQnVmZmVyKFJlbW90ZVZpZGVvRnJhbWVSZWFkUmVm
ZXJlbmNlJiYpOworICAgIHZvaWQgcGl4ZWxCdWZmZXIoUmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZl
cmVuY2UmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJl
Zj4pPiYmKTsKICNlbmRpZgorICAgIGlubGluZSBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0VGltZW91
dCA9IDEwX3M7CiAKICAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKiBtX2dwdUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MgV1RGX0dVQVJERURfQllfTE9DSyhtX2NvbnN1bWVUaHJlYWQpOwogICAg
IGNvbnN0IFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb0Zy
YW1lT2JqZWN0SGVhcC5tZXNzYWdlcy5pbgppbmRleCAxZjhiYWVkZGVlNjVlN2E1N2EyNGQwY2U1
ZmVlMWRjZWY1NGJjZjA2Li42ZmE4YWEyYmNjMzQ0OGZkZjVkMTVlMGVjMTk3ZjRkODdhYmM3YmJl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9G
cmFtZU9iamVjdEhlYXAubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLm1lc3NhZ2VzLmluCkBAIC0yNCw4ICsy
NCw5IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoVklERU8pCiBtZXNzYWdl
cyAtPiBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcCBOb3RSZWZDb3VudGVkIHsKICNpZiBQTEFU
Rk9STShDT0NPQSkKLSAgICBHZXRWaWRlb0ZyYW1lQnVmZmVyKFdlYktpdDo6UmVtb3RlVmlkZW9G
cmFtZVJlYWRSZWZlcmVuY2UgaWRlbnRpZmllcikKKyAgICBHZXRWaWRlb0ZyYW1lQnVmZmVyKFdl
YktpdDo6UmVtb3RlVmlkZW9GcmFtZVJlYWRSZWZlcmVuY2UgcmVhZCkKKyAgICBQaXhlbEJ1ZmZl
cihXZWJLaXQ6OlJlbW90ZVZpZGVvRnJhbWVSZWFkUmVmZXJlbmNlIHJlYWQpIC0+IChSZXRhaW5Q
dHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gcmVzdWx0KSBTeW5jaHJvbm91cwogI2VuZGlmCi0gICAgUmVs
ZWFzZVZpZGVvRnJhbWUoV2ViS2l0OjpSZW1vdGVWaWRlb0ZyYW1lV3JpdGVSZWZlcmVuY2UgaWRl
bnRpZmllcikKKyAgICBSZWxlYXNlVmlkZW9GcmFtZShXZWJLaXQ6OlJlbW90ZVZpZGVvRnJhbWVX
cml0ZVJlZmVyZW5jZSB3cml0ZSkKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lUHJveHkuY3BwCmlu
ZGV4IGQxODAzNGI0NjMxMWFkMzg5YTZhYjZhODk1ZjFjYTJiMTgxNzk5MTguLmI1ZDZkMzE4MzNm
ZGUwYjg4YzA5NTc1NTMwZjFjNWIxOWE1OWQwYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZVByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVQcm94eS5jcHAK
QEAgLTMyLDkgKzMyLDExIEBACiAjaW5jbHVkZSAiUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQ
cm94eS5oIgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlYWx0
aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaWRlb0Zy
YW1lQ1YuaD4KKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi90aHJl
YWRzL0JpbmFyeVNlbWFwaG9yZS5oPgogI2VuZGlmCiAKQEAgLTEwNywxOCArMTA5LDI3IEBAIENW
UGl4ZWxCdWZmZXJSZWYgUmVtb3RlVmlkZW9GcmFtZVByb3h5OjpwaXhlbEJ1ZmZlcigpIGNvbnN0
CiB7CiAgICAgTG9ja2VyIGxvY2sobV9waXhlbEJ1ZmZlckxvY2spOwogICAgIGlmICghbV9waXhl
bEJ1ZmZlciAmJiBtX3ZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHkpIHsKLSAgICAgICAgQmluYXJ5
U2VtYXBob3JlIHNlbWFwaG9yZTsKLSAgICAgICAgbV92aWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5
LT5nZXRWaWRlb0ZyYW1lQnVmZmVyKCp0aGlzLCBbdGhpcywgJnNlbWFwaG9yZV0oYXV0byBwaXhl
bEJ1ZmZlcikgewotICAgICAgICAgICAgbV9waXhlbEJ1ZmZlciA9IFdURk1vdmUocGl4ZWxCdWZm
ZXIpOwotICAgICAgICAgICAgaWYgKCFtX3BpeGVsQnVmZmVyKSB7Ci0gICAgICAgICAgICAgICAg
Ly8gU29tZSBjb2RlIHBhdGhzIGRvIG5vdCBsaWtlIGVtcHR5IHBpeGVsIGJ1ZmZlcnMuCi0gICAg
ICAgICAgICAgICAgbV9waXhlbEJ1ZmZlciA9IFdlYkNvcmU6OmNyZWF0ZUJsYWNrUGl4ZWxCdWZm
ZXIoc3RhdGljX2Nhc3Q8c2l6ZV90PihtX3NpemUud2lkdGgoKSksIHN0YXRpY19jYXN0PHNpemVf
dD4obV9zaXplLmhlaWdodCgpKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzZW1hcGhv
cmUuc2lnbmFsKCk7Ci0gICAgICAgIH0pOwotICAgICAgICBzZW1hcGhvcmUud2FpdCgpOwotICAg
ICAgICBtX3ZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHkgPSBudWxscHRyOworICAgICAgICBhdXRv
IHZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHkgPSBzdGQ6OmV4Y2hhbmdlKG1fdmlkZW9GcmFtZU9i
amVjdEhlYXBQcm94eSwgbnVsbHB0cik7CisKKyAgICAgICAgYm9vbCBjYW5TZW5kU3luYyA9IGlz
TWFpblJ1bkxvb3AoKTsgLy8gRklYTUU6IHdlIHNob3VsZCBiZSBhYmxlIHRvIHNlbmRTeW5jIGZy
b20gb3RoZXIgdGhyZWFkcyB0b28uCisgICAgICAgIC8vIEN1cnJlbnRseSB3ZSBqdXN0IGtleSB3
aXRoIHRoaXMsIGFzIHRoZXJlIGlzIG5vIGNvbmRpdGlvbiBmb3IgImhhcyBhY2Nlc3MgdG8gSU9L
aXQiLgorICAgICAgICBpZiAoV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2hvdWxkVXNlUmVtb3Rl
UmVuZGVyaW5nRm9yV2ViR0woKSB8fCAhY2FuU2VuZFN5bmMpIHsKKyAgICAgICAgICAgIEJpbmFy
eVNlbWFwaG9yZSBzZW1hcGhvcmU7CisgICAgICAgICAgICB2aWRlb0ZyYW1lT2JqZWN0SGVhcFBy
b3h5LT5nZXRWaWRlb0ZyYW1lQnVmZmVyKCp0aGlzLCBbdGhpcywgJnNlbWFwaG9yZV0oYXV0byBw
aXhlbEJ1ZmZlcikgeworICAgICAgICAgICAgICAgIG1fcGl4ZWxCdWZmZXIgPSBXVEZNb3ZlKHBp
eGVsQnVmZmVyKTsKKyAgICAgICAgICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7CisgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIHNlbWFwaG9yZS53YWl0KCk7CisgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gcGl4ZWxCdWZmZXI7Cisg
ICAgICAgICAgICBhdXRvIHJlc3VsdCA9IG1fY29ubmVjdGlvbi0+c2VuZFN5bmMoTWVzc2FnZXM6
OlJlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwOjpQaXhlbEJ1ZmZlcihyZWFkKCkpLCBNZXNzYWdl
czo6UmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXA6OlBpeGVsQnVmZmVyOjpSZXBseShwaXhlbEJ1
ZmZlciksIDAsIGRlZmF1bHRUaW1lb3V0KTsKKyAgICAgICAgICAgIGlmIChyZXN1bHQpCisgICAg
ICAgICAgICAgICAgbV9waXhlbEJ1ZmZlciA9IFdURk1vdmUocGl4ZWxCdWZmZXIpOworICAgICAg
ICB9CiAgICAgfQorICAgIC8vIEZJWE1FOiBTb21lIGNvZGUgcGF0aHMgZG8gbm90IGxpa2UgZW1w
dHkgcGl4ZWwgYnVmZmVycy4KKyAgICBpZiAoIW1fcGl4ZWxCdWZmZXIpCisgICAgICAgIG1fcGl4
ZWxCdWZmZXIgPSBXZWJDb3JlOjpjcmVhdGVCbGFja1BpeGVsQnVmZmVyKHN0YXRpY19jYXN0PHNp
emVfdD4obV9zaXplLndpZHRoKCkpLCBzdGF0aWNfY2FzdDxzaXplX3Q+KG1fc2l6ZS5oZWlnaHQo
KSkpOwogICAgIHJldHVybiBtX3BpeGVsQnVmZmVyLmdldCgpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVQcm94eS5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lUHJv
eHkuaAppbmRleCAwZWVjN2NjNGJiNTYxNmJkMmVjMmZjZjY4YTliZGI5M2Q2ZDYyMDNiLi4zZThh
ZjMxN2MyNGZkNDcxOGU3ZDQxNzY1ZDFkNTk2MWMyODkxYjI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZVByb3h5
LmgKQEAgLTk0LDYgKzk0LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIFJlbW90ZVZpZGVv
RnJhbWVQcm94eShJUEM6OkNvbm5lY3Rpb24mLCBSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFBy
b3h5JiwgUHJvcGVydGllcyYmKTsKKyAgICBzdGF0aWMgaW5saW5lIFNlY29uZHMgZGVmYXVsdFRp
bWVvdXQgPSAxMF9zOwogCiAgICAgY29uc3QgUmVmPElQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0
aW9uOwogICAgIFJlbW90ZVZpZGVvRnJhbWVSZWZlcmVuY2VUcmFja2VyIG1fcmVmZXJlbmNlVHJh
Y2tlcjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>