<?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>228821</bug_id>
          
          <creation_ts>2021-08-05 05:19:27 -0700</creation_ts>
          <short_desc>webgl/1.0.x/conformance/textures/misc/texture-corner-case-videos.html fails on Cocoa</short_desc>
          <delta_ts>2021-09-22 12:54:36 -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>WebGL</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=228997</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=229052</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=230617</see_also>
          <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>222812</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1782172</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-05 05:19:27 -0700</bug_when>
    <thetext>webgl/1.0.x/conformance/textures/misc/texture-corner-case-videos.html fails on Cocoa</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782173</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-05 05:19:57 -0700</bug_when>
    <thetext>&lt;rdar://problem/81562236&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782185</commentid>
    <comment_count>2</comment_count>
      <attachid>434981</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-05 06:28:56 -0700</bug_when>
    <thetext>Created attachment 434981
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782323</commentid>
    <comment_count>3</comment_count>
      <attachid>434981</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-08-05 13:24:42 -0700</bug_when>
    <thetext>Comment on attachment 434981
Patch

I guess this fix was the one we&apos;ve just discussed on Slack?

Let&apos;s finish the discussion there - not sure whether we should be using the natural size and scaling, or using the video&apos;s visible rectangle. The test doesn&apos;t seem to care about the size of the uploaded texture, only the contents of its various corners. I don&apos;t think Chrome scales up during texture upload per the latest changes in https://crbug.com/1175907 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783138</commentid>
    <comment_count>4</comment_count>
      <attachid>435249</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-10 02:24:45 -0700</bug_when>
    <thetext>Created attachment 435249
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783139</commentid>
    <comment_count>5</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-10 02:27:38 -0700</bug_when>
    <thetext>(In reply to Kenneth Russell from comment #3)
&gt; Comment on attachment 434981 [details]
&gt; Patch
&gt; 
&gt; I guess this fix was the one we&apos;ve just discussed on Slack?
&gt; 
&gt; Let&apos;s finish the discussion there - not sure whether we should be using the
&gt; natural size and scaling, or using the video&apos;s visible rectangle.

Thanks for working on this.

How about now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783140</commentid>
    <comment_count>6</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-10 02:29:00 -0700</bug_when>
    <thetext>Links for posteriority:
https://github.com/KhronosGroup/WebGL/pull/2464
https://www.khronos.org/registry/webgl/specs/latest/1.0/#6.9
https://html.spec.whatwg.org/multipage/media.html#htmlvideoelement

https://github.com/KhronosGroup/WebGL/issues/3309</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783266</commentid>
    <comment_count>7</comment_count>
      <attachid>435249</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-08-10 13:15:10 -0700</bug_when>
    <thetext>Comment on attachment 435249
Patch

Looking good - let&apos;s see what&apos;s needed to get all the tests passing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783475</commentid>
    <comment_count>8</comment_count>
      <attachid>435338</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-11 05:43:24 -0700</bug_when>
    <thetext>Created attachment 435338
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783476</commentid>
    <comment_count>9</comment_count>
      <attachid>435339</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-11 05:56:59 -0700</bug_when>
    <thetext>Created attachment 435339
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783599</commentid>
    <comment_count>10</comment_count>
      <attachid>435339</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-08-11 12:39:41 -0700</bug_when>
    <thetext>Comment on attachment 435339
Patch

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

Looks good and pleasingly small! r+

&gt; Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:-5780
&gt; -    // FIXME: Turn this into a GPU-GPU texture copy instead of CPU readback.

Is this FIXME still relevant (to ImageBuffer::copyImage), or was the paintCurrentFrameInContext call the CPU readback? I don&apos;t remember.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783802</commentid>
    <comment_count>11</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-12 05:54:08 -0700</bug_when>
    <thetext>(In reply to Kenneth Russell from comment #10)
&gt; Comment on attachment 435339 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=435339&amp;action=review
&gt; 
&gt; Looks good and pleasingly small! r+
&gt; 
&gt; &gt; Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:-5780
&gt; &gt; -    // FIXME: Turn this into a GPU-GPU texture copy instead of CPU readback.
&gt; 
&gt; Is this FIXME still relevant (to ImageBuffer::copyImage), or was the
&gt; paintCurrentFrameInContext call the CPU readback? I don&apos;t remember.

In practice, I think both.
This function is called for the purpose of being able to use CPU routines to process the data. I thought it&apos;s a bit redundant comment.

E.g. to process more stuff with GPU, new cases should be added to the existing GPU functionality that tries to run before this code runs..

ImageBuffer::copyImage() returns Image which is the processed with CPU routines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783810</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-12 06:35:13 -0700</bug_when>
    <thetext>Committed r280963 (240469@main): &lt;https://commits.webkit.org/240469@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435339.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434981</attachid>
            <date>2021-08-05 06:28:56 -0700</date>
            <delta_ts>2021-08-10 02:24:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228821-20210805162854.patch</filename>
            <type>text/plain</type>
            <size>13514</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRmM2U2MzU0ZTE0ZjVk
YWVhNTVhNDFiZmE5ZGU4NzFiMTI3NzZiZC4uYzIzZGZhZTMwZWE3MTI1ZmY0MDFmZmFmYjIxOTRk
MDc5NDljYjhmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA4LTA1ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgd2ViZ2wvMS4wLngv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXh0dXJlLWNvcm5lci1jYXNlLXZpZGVvcy5odG1s
IGZhaWxzIG9uIENvY29hCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjg4MjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgxNTYyMjM2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgdGV4dHVyZXMg
Y3JlYXRlZCB3aXRoIGhhcmR3YXJlIHBhdGggb2YgdGV4SW1hZ2UyRCB3aXRoIHZpZGVvIHNvdXJj
ZQorICAgICAgICB1c2UgdGhlICJpbnRyaW5zaWMiIHNpemUgb2YgdGhlIHZpZGVvIHNvdXJjZSBp
bnN0ZWFkIG9mIHRoZSBzaXplIG9mCisgICAgICAgIHRoZSBkYXRhIHVuZGVybmVhdGguIEFuIGV4
YW1wbGUgaXMgcmVkLWdyZWVuLTQ4MHgyNzItc2FyLTEzNngxMzUtZGFyLTE2eDkubXA0CisgICAg
ICAgIHdoaWNoIGNvbnRhaW5zIGRhdGEgb2Ygc2l6ZSA0ODB4MjcyIGJ1dCBpcyByZW5kZXJlZCBh
cyA0ODJ4MjcyIGR1ZSB0bworICAgICAgICBhc3BlY3QgcmF0aW8gc2V0dGluZ3MgaW4gdGhlIG1w
NCBjb250YWluZXIuIFRoZSBDViBQaXhlbEJ1ZmZlciBpcyBzdGlsbAorICAgICAgICA0ODB4Mjcy
IGFzIGl0IHNob3VsZCwgYW5kIHRodXMgdGhhdCBzaXplIGNhbm5vdCBiZSB1c2VkIGluIGNyZWF0
aW5nIHRoZQorICAgICAgICBXZWJHTCB0ZXh0dXJlLgorCisgICAgICAgIEZpeGVzOgorICAgICAg
ICB3ZWJnbC8xLjAueC9jb25mb3JtYW5jZS90ZXh0dXJlcy9taXNjL3RleHR1cmUtY29ybmVyLWNh
c2UtdmlkZW9zLmh0bWwKKyAgICAgICAgd2ViZ2wvMi4wLnkvY29uZm9ybWFuY2UvdGV4dHVyZXMv
bWlzYy90ZXh0dXJlLWNvcm5lci1jYXNlLXZpZGVvcy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jdi9HcmFwaGljc0NvbnRleHRHTENWLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY3YvR3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRTo6Y29weVBpeGVsQnVmZmVyVG9UZXh0dXJlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jdi9HcmFwaGljc0NvbnRleHRHTENWQU5HTEUu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNv
cHlUZXh0dXJlRnJvbU1lZGlhKToKKwogMjAyMS0wOC0wMyAgS2ltbW8gS2lubnVuZW4gIDxra2lu
bnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIHdoaWxlIHJlYWRpbmcgV2ViR0wgZHJh
d2luZyBidWZmZXIgaWYgY2FudmFzIGltYWdlIGJ1ZmZlciBhbGxvY2F0aW9uIGZhaWxzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IDc5ZGI3NTY0ZjM3Mjk3NjQ0NDFjZWUxN2QwOTBiMWNiNDMyMDgzNTguLjNjMWNhMGZl
MDMxNzUyY2ZkZGJkMTEwYjBkMmNlNTkxODVmZjdlMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMjEtMDgtMDUgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKwor
ICAgICAgICB3ZWJnbC8xLjAueC9jb25mb3JtYW5jZS90ZXh0dXJlcy9taXNjL3RleHR1cmUtY29y
bmVyLWNhc2UtdmlkZW9zLmh0bWwgZmFpbHMgb24gQ29jb2EKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODgyMQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vODE1NjIyMzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUdyYXBoaWNzQ29udGV4dEdMLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlR3JhcGhpY3NDb250ZXh0R0w6OmNvcHlUZXh0dXJlRnJv
bU1lZGlhKToKKyAgICAgICAgUGFzcyB0aGUgdmlkZW8gIm5hdGl2ZSBzaXplIiBpbnRlbmRlZCBv
dXRwdXQgdGV4dHVyZSBzaXplLgorCiAyMDIxLTA4LTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9i
aW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLXNjcm9sbC1zbmFwXSBDb25zaWRlciBh
bGwgc25hcCBhcmVhcyBhdCBhIGdpdmVuIHNuYXAgb2Zmc2V0IHdoZW4gc25hcHBpbmcKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0dyYXBoaWNzQ29udGV4
dEdMQ1YuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0dyYXBoaWNzQ29u
dGV4dEdMQ1YuaAppbmRleCAxZDYxNWE3ZjBlZjExMzIzMjY4MDJlNTY0YTlhZDUyNTI3ZTAzMDY3
Li5jNzVmMGI1ODcwYTQ1YTAxNzRhMTEzMTBlZDQwZWI4ZWZjMThjMWQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9HcmFwaGljc0NvbnRleHRHTENWLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvR3JhcGhpY3NDb250ZXh0
R0xDVi5oCkBAIC0zOSw5ICszOSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5HcmFwaGljc0Nv
bnRleHRHTENWKCkgPSBkZWZhdWx0OwogCiAgICAgdXNpbmcgRmxpcFkgPSBHcmFwaGljc0NvbnRl
eHRHTDo6RmxpcFk7Ci0gICAgLy8gQ29waWVzIENWIHBpeGVsIGJ1ZmZlciB0byBHcmFwaGljc0Nv
bnRleHRHTCBURVhUVVJFXzJEIHRleHR1cmUgb2YgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgcGl4ZWwg
YnVmZmVyLgorICAgIC8vIENvcGllcyBDViBwaXhlbCBidWZmZXIgdG8gR3JhcGhpY3NDb250ZXh0
R0wgVEVYVFVSRV8yRCB0ZXh0dXJlIHdpdGggbGluZWFyIHNjYWxpbmcuCiAgICAgLy8gUmV0dXJu
cyB0cnVlIG9uIHN1Y2Nlc3MuCi0gICAgdmlydHVhbCBib29sIGNvcHlQaXhlbEJ1ZmZlclRvVGV4
dHVyZShDVlBpeGVsQnVmZmVyUmVmLCBQbGF0Zm9ybUdMT2JqZWN0IG91dHB1dFRleHR1cmUsIEdD
R0xpbnQgbGV2ZWwsIEdDR0xlbnVtIGludGVybmFsRm9ybWF0LCBHQ0dMZW51bSBmb3JtYXQsIEdD
R0xlbnVtIHR5cGUsIEZsaXBZKSA9IDA7CisgICAgdmlydHVhbCBib29sIGNvcHlQaXhlbEJ1ZmZl
clRvVGV4dHVyZShDVlBpeGVsQnVmZmVyUmVmLCBQbGF0Zm9ybUdMT2JqZWN0IG91dHB1dFRleHR1
cmUsIEludFNpemUgb3V0cHV0U2l6ZSwgR0NHTGludCBsZXZlbCwgR0NHTGVudW0gaW50ZXJuYWxG
b3JtYXQsIEdDR0xlbnVtIGZvcm1hdCwgR0NHTGVudW0gdHlwZSwgRmxpcFkpID0gMDsKIH07CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0dyYXBo
aWNzQ29udGV4dEdMQ1ZBTkdMRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jdi9HcmFwaGljc0NvbnRleHRHTENWQU5HTEUuY3BwCmluZGV4IDYwNDYzOWViOTVmYTQ1YjRh
ZmI1OTZjMWRkNWJiZGRkNGJmMmRhMDEuLjg3YzZkNDE5NTc3YWFhOTQ5YmNhMGE0NmRlZWFlZTU2
NTI0ZTc0M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2
L0dyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY3YvR3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFLmNwcApAQCAtNTg5LDcgKzU4
OSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFOjpkZXRhY2hJT1N1cmZhY2VGcm9t
VGV4dHVyZSh2b2lkKiBoYW5kbGUpCiAgICAgRUdMX0Rlc3Ryb3lTdXJmYWNlKGRpc3BsYXksIGhh
bmRsZSk7CiB9CiAKLWJvb2wgR3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFOjpjb3B5UGl4ZWxCdWZm
ZXJUb1RleHR1cmUoQ1ZQaXhlbEJ1ZmZlclJlZiBpbWFnZSwgUGxhdGZvcm1HTE9iamVjdCBvdXRw
dXRUZXh0dXJlLCBHQ0dMaW50IGxldmVsLCBHQ0dMZW51bSBpbnRlcm5hbEZvcm1hdCwgR0NHTGVu
dW0gZm9ybWF0LCBHQ0dMZW51bSB0eXBlLCBGbGlwWSBmbGlwWSkKK2Jvb2wgR3JhcGhpY3NDb250
ZXh0R0xDVkFOR0xFOjpjb3B5UGl4ZWxCdWZmZXJUb1RleHR1cmUoQ1ZQaXhlbEJ1ZmZlclJlZiBp
bWFnZSwgUGxhdGZvcm1HTE9iamVjdCBvdXRwdXRUZXh0dXJlLCBJbnRTaXplIG91dHB1dFNpemUs
IEdDR0xpbnQgbGV2ZWwsIEdDR0xlbnVtIGludGVybmFsRm9ybWF0LCBHQ0dMZW51bSBmb3JtYXQs
IEdDR0xlbnVtIHR5cGUsIEZsaXBZIGZsaXBZKQogewogICAgIC8vIEZJWE1FOiBUaGlzIGN1cnJl
bnRseSBvbmx5IHN1cHBvcnRzICc0MjB2JyBhbmQgJzQyMGYnIHBpeGVsIGZvcm1hdHMuIEludmVz
dGlnYXRlIHN1cHBvcnRpbmcgbW9yZSBwaXhlbCBmb3JtYXRzLgogICAgIE9TVHlwZSBwaXhlbEZv
cm1hdCA9IENWUGl4ZWxCdWZmZXJHZXRQaXhlbEZvcm1hdFR5cGUoaW1hZ2UpOwpAQCAtNjA5LDYg
KzYwOSw3IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFOjpjb3B5UGl4ZWxCdWZmZXJU
b1RleHR1cmUoQ1ZQaXhlbEJ1ZmZlclJlZiBpbWFnZSwKIAogICAgIGF1dG8gbmV3U3VyZmFjZVNl
ZWQgPSBJT1N1cmZhY2VHZXRTZWVkKHN1cmZhY2UpOwogICAgIGlmIChmbGlwWSA9PSBtX2xhc3RG
bGlwWQorICAgICAgICAmJiBvdXRwdXRTaXplID09IG1fbGFzdE91dHB1dFNpemUKICAgICAgICAg
JiYgc3VyZmFjZSA9PSBtX2xhc3RTdXJmYWNlIAogICAgICAgICAmJiBuZXdTdXJmYWNlU2VlZCA9
PSBtX2xhc3RTdXJmYWNlU2VlZAogICAgICAgICAmJiBsYXN0VGV4dHVyZVNlZWQob3V0cHV0VGV4
dHVyZSkgPT0gbV9jb250ZXh0LT50ZXh0dXJlU2VlZChvdXRwdXRUZXh0dXJlKSkgewpAQCAtNjIz
LDggKzYyNCw2IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFOjpjb3B5UGl4ZWxCdWZm
ZXJUb1RleHR1cmUoQ1ZQaXhlbEJ1ZmZlclJlZiBpbWFnZSwKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgfQogICAgIH0KLSAgICBzaXplX3Qgd2lkdGggPSBDVlBpeGVsQnVmZmVy
R2V0V2lkdGgoaW1hZ2UpOwotICAgIHNpemVfdCBoZWlnaHQgPSBDVlBpeGVsQnVmZmVyR2V0SGVp
Z2h0KGltYWdlKTsKIAogICAgIG1fY29udGV4dC0+YmluZEZyYW1lYnVmZmVyKEdyYXBoaWNzQ29u
dGV4dEdMOjpGUkFNRUJVRkZFUiwgbV9mcmFtZWJ1ZmZlcik7CiAKQEAgLTY0Myw3ICs2NDIsNyBA
QCBib29sIEdyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRTo6Y29weVBpeGVsQnVmZmVyVG9UZXh0dXJl
KENWUGl4ZWxCdWZmZXJSZWYgaW1hZ2UsCiAgICAgbV9jb250ZXh0LT50ZXhQYXJhbWV0ZXJpKEdy
YXBoaWNzQ29udGV4dEdMOjpURVhUVVJFXzJELCBHcmFwaGljc0NvbnRleHRHTDo6VEVYVFVSRV9N
SU5fRklMVEVSLCBHcmFwaGljc0NvbnRleHRHTDo6TElORUFSKTsKICAgICBtX2NvbnRleHQtPnRl
eFBhcmFtZXRlcmkoR3JhcGhpY3NDb250ZXh0R0w6OlRFWFRVUkVfMkQsIEdyYXBoaWNzQ29udGV4
dEdMOjpURVhUVVJFX1dSQVBfUywgR3JhcGhpY3NDb250ZXh0R0w6OkNMQU1QX1RPX0VER0UpOwog
ICAgIG1fY29udGV4dC0+dGV4UGFyYW1ldGVyaShHcmFwaGljc0NvbnRleHRHTDo6VEVYVFVSRV8y
RCwgR3JhcGhpY3NDb250ZXh0R0w6OlRFWFRVUkVfV1JBUF9ULCBHcmFwaGljc0NvbnRleHRHTDo6
Q0xBTVBfVE9fRURHRSk7Ci0gICAgbV9jb250ZXh0LT50ZXhJbWFnZTJERGlyZWN0KEdMX1RFWFRV
UkVfMkQsIGxldmVsLCBpbnRlcm5hbEZvcm1hdCwgd2lkdGgsIGhlaWdodCwgMCwgZm9ybWF0LCB0
eXBlLCBudWxscHRyKTsKKyAgICBtX2NvbnRleHQtPnRleEltYWdlMkREaXJlY3QoR0xfVEVYVFVS
RV8yRCwgbGV2ZWwsIGludGVybmFsRm9ybWF0LCBvdXRwdXRTaXplLndpZHRoKCksIG91dHB1dFNp
emUuaGVpZ2h0KCksIDAsIGZvcm1hdCwgdHlwZSwgbnVsbHB0cik7CiAKICAgICBtX2NvbnRleHQt
PmZyYW1lYnVmZmVyVGV4dHVyZTJEKEdyYXBoaWNzQ29udGV4dEdMOjpGUkFNRUJVRkZFUiwgR3Jh
cGhpY3NDb250ZXh0R0w6OkNPTE9SX0FUVEFDSE1FTlQwLCBHcmFwaGljc0NvbnRleHRHTDo6VEVY
VFVSRV8yRCwgb3V0cHV0VGV4dHVyZSwgbGV2ZWwpOwogICAgIEdDR0xlbnVtIHN0YXR1cyA9IG1f
Y29udGV4dC0+Y2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhHcmFwaGljc0NvbnRleHRHTDo6RlJBTUVC
VUZGRVIpOwpAQCAtNjU0LDcgKzY1Myw3IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0R0xDVkFOR0xF
Ojpjb3B5UGl4ZWxCdWZmZXJUb1RleHR1cmUoQ1ZQaXhlbEJ1ZmZlclJlZiBpbWFnZSwKICAgICBt
X2NvbnRleHQtPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dEdMOjpURVhUVVJFXzJELCAwKTsK
IAogICAgIG1fY29udGV4dC0+dXNlUHJvZ3JhbShtX3l1dlByb2dyYW0pOwotICAgIG1fY29udGV4
dC0+dmlld3BvcnQoMCwgMCwgd2lkdGgsIGhlaWdodCk7CisgICAgbV9jb250ZXh0LT52aWV3cG9y
dCgwLCAwLCBvdXRwdXRTaXplLndpZHRoKCksIG91dHB1dFNpemUuaGVpZ2h0KCkpOwogCiAgICAg
Ly8gQmluZCBhbmQgc2V0IHVwIHRoZSB0ZXh0dXJlcyBmb3IgdGhlIHZpZGVvIHNvdXJjZS4KICAg
ICBhdXRvIHlQbGFuZVdpZHRoID0gSU9TdXJmYWNlR2V0V2lkdGhPZlBsYW5lKHN1cmZhY2UsIDAp
OwpAQCAtNzE2LDYgKzcxNSw3IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFOjpjb3B5
UGl4ZWxCdWZmZXJUb1RleHR1cmUoQ1ZQaXhlbEJ1ZmZlclJlZiBpbWFnZSwKICAgICBtX2xhc3RT
dXJmYWNlU2VlZCA9IG5ld1N1cmZhY2VTZWVkOwogICAgIG1fbGFzdFRleHR1cmVTZWVkLnNldChv
dXRwdXRUZXh0dXJlLCBtX2NvbnRleHQtPnRleHR1cmVTZWVkKG91dHB1dFRleHR1cmUpKTsKICAg
ICBtX2xhc3RGbGlwWSA9IGZsaXBZOworICAgIG1fbGFzdE91dHB1dFNpemUgPSBvdXRwdXRTaXpl
OwogICAgIGF1dG9DbGVhclRleHR1cmVPbkVycm9yLnJlc2V0KCk7CiAgICAgcmV0dXJuIHRydWU7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9HcmFw
aGljc0NvbnRleHRHTENWQU5HTEUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2N2L0dyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRS5oCmluZGV4IDViY2EyYWFiZDE1ZTU3MDk1Yjlm
NGE3NWM0NmQ3ZTcwZmFlNjZlYTguLjFkYTI0NzBkNDM2MzQwOWFmMTJhYTA0NzlmZWRlZjdhYTkx
NTZlYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0dy
YXBoaWNzQ29udGV4dEdMQ1ZBTkdMRS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2N2L0dyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRS5oCkBAIC00MSw3ICs0MSw3IEBAIHB1
YmxpYzoKICAgICBHcmFwaGljc0NvbnRleHRHTENWQU5HTEUoR3JhcGhpY3NDb250ZXh0R0xPcGVu
R0wmKTsKICAgICB+R3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFKCkgZmluYWw7CiAKLSAgICBib29s
IGNvcHlQaXhlbEJ1ZmZlclRvVGV4dHVyZShDVlBpeGVsQnVmZmVyUmVmLCBQbGF0Zm9ybUdMT2Jq
ZWN0IG91dHB1dFRleHR1cmUsIEdDR0xpbnQgbGV2ZWwsIEdDR0xlbnVtIGludGVybmFsRm9ybWF0
LCBHQ0dMZW51bSBmb3JtYXQsIEdDR0xlbnVtIHR5cGUsIEZsaXBZKSBmaW5hbDsKKyAgICBib29s
IGNvcHlQaXhlbEJ1ZmZlclRvVGV4dHVyZShDVlBpeGVsQnVmZmVyUmVmLCBQbGF0Zm9ybUdMT2Jq
ZWN0IG91dHB1dFRleHR1cmUsIEludFNpemUgb3V0cHV0U2l6ZSwgR0NHTGludCBsZXZlbCwgR0NH
TGVudW0gaW50ZXJuYWxGb3JtYXQsIEdDR0xlbnVtIGZvcm1hdCwgR0NHTGVudW0gdHlwZSwgRmxp
cFkpIGZpbmFsOwogCiBwcml2YXRlOgogICAgIGJvb2wgaW5pdGlhbGl6ZVVWQ29udGV4dE9iamVj
dHMoKTsKQEAgLTcwLDYgKzcwLDcgQEAgcHJpdmF0ZToKICAgICBHQ0dMaW50IG1fdXZUZXh0dXJl
U2l6ZVVuaWZvcm1Mb2NhdGlvbiB7IC0xIH07CiAKICAgICBGbGlwWSBtX2xhc3RGbGlwWSB7IEZs
aXBZOjpObyB9OworICAgIEludFNpemUgbV9sYXN0T3V0cHV0U2l6ZTsKICAgICBVbnNhZmVQb2lu
dGVyPElPU3VyZmFjZVJlZj4gbV9sYXN0U3VyZmFjZTsKICAgICB1aW50MzJfdCBtX2xhc3RTdXJm
YWNlU2VlZCB7IDAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5jcHAKaW5k
ZXggZTA5NDJjNDhiZGRjMTI3OTlhMzkxODYzNjAwZDk2OTFlYmFkY2Y5MC4uMzA0NDM0MTgzODc2
NzhjMjg2NjAzOTRmYjY0ZmUzMjVjNjFjNmE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0
R0xPcGVuR0wuY3BwCkBAIC0yOTEsNyArMjkxLDkgQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTDo6Y29weVRleHR1cmVGcm9tTWVkaWEoTWVkaWFQbGF5ZXImIHBsYXllciwgUGxhdGZvcm0K
IAogICAgIFVOVVNFRF9WQVJJQUJMRShwcmVtdWx0aXBseUFscGhhKTsKICAgICBBU1NFUlRfVU5V
U0VEKG91dHB1dFRhcmdldCwgb3V0cHV0VGFyZ2V0ID09IEdyYXBoaWNzQ29udGV4dEdMOjpURVhU
VVJFXzJEKTsKLSAgICByZXR1cm4gY29udGV4dENWLT5jb3B5UGl4ZWxCdWZmZXJUb1RleHR1cmUo
cGl4ZWxCdWZmZXIuZ2V0KCksIG91dHB1dFRleHR1cmUsIGxldmVsLCBpbnRlcm5hbEZvcm1hdCwg
Zm9ybWF0LCB0eXBlLCBHcmFwaGljc0NvbnRleHRHTDo6RmxpcFkoZmxpcFkpKTsKKyAgICAvLyBm
bG9vcmVkSW50U2l6ZSgpIG1hdGNoZXMgSFRNTFZpZGVvRWxlbWVudDo6dmlkZW9XaWR0aCgpIGFu
ZCB2aWRlb0hlaWdodCgpLgorICAgIGF1dG8gb3V0cHV0U2l6ZSA9IGZsb29yZWRJbnRTaXplKHBs
YXllci5uYXR1cmFsU2l6ZSgpKTsKKyAgICByZXR1cm4gY29udGV4dENWLT5jb3B5UGl4ZWxCdWZm
ZXJUb1RleHR1cmUocGl4ZWxCdWZmZXIuZ2V0KCksIG91dHB1dFRleHR1cmUsIG91dHB1dFNpemUs
IGxldmVsLCBpbnRlcm5hbEZvcm1hdCwgZm9ybWF0LCB0eXBlLCBHcmFwaGljc0NvbnRleHRHTDo6
RmxpcFkoZmxpcFkpKTsKICNlbHNlCiAgICAgcmV0dXJuIHBsYXllci5jb3B5VmlkZW9UZXh0dXJl
VG9QbGF0Zm9ybVRleHR1cmUodGhpcywgb3V0cHV0VGV4dHVyZSwgb3V0cHV0VGFyZ2V0LCBsZXZl
bCwgaW50ZXJuYWxGb3JtYXQsIGZvcm1hdCwgdHlwZSwgcHJlbXVsdGlwbHlBbHBoYSwgZmxpcFkp
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlR3JhcGhpY3NDb250ZXh0R0wuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1JlbW90ZUdyYXBoaWNzQ29udGV4dEdMLmNwcAppbmRleCA3ZDJhNTcyMzNlZDYxMjQ1
MDYxNzg5NTU3MWQyNTAyMjc3YWU1MjhkLi42MTYwYTdkMGNjNDA2ZmRiZmE4YWY4OTI0MWZjMWUz
NDc3ZWFkOWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlR3JhcGhpY3NDb250ZXh0R0wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRHTC5jcHAKQEAgLTI0NSwxMiArMjQ1LDE1
IEBAIHZvaWQgUmVtb3RlR3JhcGhpY3NDb250ZXh0R0w6OmNvcHlUZXh0dXJlRnJvbU1lZGlhKFdl
YkNvcmU6Ok1lZGlhUGxheWVySWRlbnRpZmllCiAgICAgQVNTRVJUX1VOVVNFRCh0YXJnZXQsIHRh
cmdldCA9PSBHcmFwaGljc0NvbnRleHRHTDo6VEVYVFVSRV8yRCk7CiAKICAgICBSZXRhaW5QdHI8
Q1ZQaXhlbEJ1ZmZlclJlZj4gcGl4ZWxCdWZmZXI7CisgICAgSW50U2l6ZSBvdXRwdXRTaXplOwog
ICAgIGF1dG8gZ2V0UGl4ZWxCdWZmZXIgPSBbJl0gewogICAgICAgICBpZiAoIW1fZ3B1Q29ubmVj
dGlvblRvV2ViUHJvY2VzcykKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBpZiAoYXV0
byBtZWRpYVBsYXllciA9IG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy0+cmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHkoKS5tZWRpYVBsYXllcihtZWRpYVBsYXllcklkZW50aWZpZXIpKQor
ICAgICAgICBpZiAoYXV0byBtZWRpYVBsYXllciA9IG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2Vz
cy0+cmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkoKS5tZWRpYVBsYXllcihtZWRpYVBsYXll
cklkZW50aWZpZXIpKSB7CiAgICAgICAgICAgICBwaXhlbEJ1ZmZlciA9IG1lZGlhUGxheWVyLT5w
aXhlbEJ1ZmZlckZvckN1cnJlbnRUaW1lKCk7CisgICAgICAgICAgICBvdXRwdXRTaXplID0gZmxv
b3JlZEludFNpemUobWVkaWFQbGF5ZXItPm5hdHVyYWxTaXplKCkpOworICAgICAgICB9CiAgICAg
fTsKIAogICAgIGNhbGxPbk1haW5SdW5Mb29wQW5kV2FpdChXVEZNb3ZlKGdldFBpeGVsQnVmZmVy
KSk7CkBAIC0yNjYsNyArMjY5LDcgQEAgdm9pZCBSZW1vdGVHcmFwaGljc0NvbnRleHRHTDo6Y29w
eVRleHR1cmVGcm9tTWVkaWEoV2ViQ29yZTo6TWVkaWFQbGF5ZXJJZGVudGlmaWUKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIGNvbXBsZXRpb25IYW5kbGVyKGNvbnRleHRDVi0+Y29weVBp
eGVsQnVmZmVyVG9UZXh0dXJlKHBpeGVsQnVmZmVyLmdldCgpLCB0ZXh0dXJlLCBsZXZlbCwgaW50
ZXJuYWxGb3JtYXQsIGZvcm1hdCwgdHlwZSwgR3JhcGhpY3NDb250ZXh0R0w6OkZsaXBZKGZsaXBZ
KSkpOworICAgIGNvbXBsZXRpb25IYW5kbGVyKGNvbnRleHRDVi0+Y29weVBpeGVsQnVmZmVyVG9U
ZXh0dXJlKHBpeGVsQnVmZmVyLmdldCgpLCB0ZXh0dXJlLCBvdXRwdXRTaXplLCBsZXZlbCwgaW50
ZXJuYWxGb3JtYXQsIGZvcm1hdCwgdHlwZSwgR3JhcGhpY3NDb250ZXh0R0w6OkZsaXBZKGZsaXBZ
KSkpOwogI2Vsc2UKICAgICBVTlVTRURfVkFSSUFCTEUobWVkaWFQbGF5ZXJJZGVudGlmaWVyKTsK
ICAgICBVTlVTRURfVkFSSUFCTEUodGV4dHVyZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWE2YjY3MGM3ZmNhMThhNmYz
NmY5NTNkNTE4MjNiMjY0NDk0NzNmOC4uNTY2NzBjZDdhNGVhMDdkYjhkYmFlMDdhYTZmY2Q5ZGNj
NzgyYmQ1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA4LTA1ICBLaW1tbyBLaW5udW5l
biAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgd2ViZ2wvMS4wLngvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvbWlzYy90ZXh0dXJlLWNvcm5lci1jYXNlLXZpZGVvcy5odG1sIGZhaWxzIG9u
IENvY29hCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
Mjg4MjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgxNTYyMjM2PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgTWFyayB3ZWJnbC97MS4wLngsMi4wLnl9L2NvbmZvcm1hbmNlL3RleHR1cmVzL21pc2Mv
dGV4dHVyZS1jb3JuZXItY2FzZS12aWRlb3MuaHRtbAorICAgICAgICBhcyBQYXNzLgorICAgICAg
ICBNb3N0IG9mIHRoZSAxLjAueC8yLjAueSB0ZXN0cyBhcmUgc2tpcHBlZCBhcyB0aGUgdGVzdCBz
dWl0ZXMgYXJlIG5vdCBpbiB1c2UgeWV0LgorCiAyMDIxLTA4LTAzICBLaW1tbyBLaW5udW5lbiAg
PGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggd2hpbGUgcmVhZGluZyBXZWJH
TCBkcmF3aW5nIGJ1ZmZlciBpZiBjYW52YXMgaW1hZ2UgYnVmZmVyIGFsbG9jYXRpb24gZmFpbHMK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDU4M2MzZmI2MjZlMmYzMzkyODc0ZGU2OWVlNDFhZGJjMmFm
NTRiM2IuLjRjMjA2NDAwNTExNDI1NDBiOWFiNzAzYmQzMGFjNzQzNWRmZTQyNTMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtMzY1MCwxMiArMzY1MCwxNCBAQCB3ZWJnbC8xLjAueCBbIFNraXAgXQog
CiAjIEV4cGxpY2l0bHkgZW5hYmxlIHRlc3RzIHdoaWNoIHdlIGhhdmUgZml4ZWQgYW5kIGRvIG5v
dCBoYXZlIGNvcnJlc3BvbmRpbmcgMS4wLjMgdGVzdCBmdW5jdGlvbmFsaXR5Lgogd2ViZ2wvMS4w
LngvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCBbIFBhc3MgXQord2Vi
Z2wvMS4wLngvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXh0dXJlLWNvcm5lci1jYXNlLXZp
ZGVvcy5odG1sIFsgUGFzcyBdCiAKICMgV2ViR0wgY29uZm9ybWFuY2UgdGVzdCBzdWl0ZSAyLjAu
MSBpcyBza2lwcGVkIHVudGlsIDIuMC4wIGlzIHJldGlyZWQuCiB3ZWJnbC8yLjAueSBbIFNraXAg
XQogCi0jIEV4cGxpY2l0bHkgZW5hYmxlIHRlc3RzIHdoaWNoIHdlIGhhdmUgZml4ZWQgYW5kIGRv
IG5vdCBoYXZlIGNvcnJlc3BvbmRpbmcgMi4wLnkgdGVzdCBmdW5jdGlvbmFsaXR5LgorIyBFeHBs
aWNpdGx5IGVuYWJsZSB0ZXN0cyB3aGljaCB3ZSBoYXZlIGZpeGVkIGFuZCBkbyBub3QgaGF2ZSBj
b3JyZXNwb25kaW5nIDIuMC4wIHRlc3QgZnVuY3Rpb25hbGl0eS4KIHdlYmdsLzIuMC55L2NvbmZv
cm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwgWyBQYXNzIF0KK3dlYmdsLzIuMC55
L2NvbmZvcm1hbmNlL3RleHR1cmVzL21pc2MvdGV4dHVyZS1jb3JuZXItY2FzZS12aWRlb3MuaHRt
bCBbIFBhc3MgXQogCiAjIHByZS13cmFwIHByb2dyZXNzaW9uLiBPdGhlciByZW5kZXJpbmcgZW5n
aW5lcyBhZ3JlZSB3aXRoIHRoZSByZXN1bHQuCiB3ZWJraXQub3JnL2IvMjA2MTY4IFsgRGVidWcg
XSBmYXN0L2RvbS9pbnNlcnQtc3Bhbi1pbnRvLWxvbmctdGV4dC1idWctMjgyNDUuaHRtbCBbIFNr
aXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435249</attachid>
            <date>2021-08-10 02:24:45 -0700</date>
            <delta_ts>2021-08-11 05:43:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228821-20210810122443.patch</filename>
            <type>text/plain</type>
            <size>8560</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2IyZmM5OGU4NDZlNjU0
NGE1YTg4MTM2NTJmNzAyYjQyMGY1ODgwNi4uYWNhMjBkMjg2ODJjNmQyODhiNjk2MDY1NzNkNjBh
YzNmMDFiNTFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTA4LTEwICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgd2ViZ2wvMS4wLngv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXh0dXJlLWNvcm5lci1jYXNlLXZpZGVvcy5odG1s
IGZhaWxzIG9uIENvY29hCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjg4MjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgxNTYyMjM2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdXBsb2FkaW5n
IHRoZSBXZWJHTCB0ZXh0dXJlIGNvbnRlbnQgZnJvbSB2aWRlb3MsIHVzZSB0aGUgdmlkZW8KKyAg
ICAgICAgdmlzaWJsZSBkYXRhIHNpemUgaW5zdGVhZCBvZiB2aWRlbyBlbGVtZW50IHNpemUuIFRo
ZSB2aWRlbyBkYXRhIGNhbgorICAgICAgICBiZSBzY2FsZWQgd2l0aCBpdHMgZmlsdGVycywgYnV0
IHdlIHNob3VsZCB1cGxvYWQgb25seSB0aGUgb3JpZ2luYWwKKyAgICAgICAgcGl4ZWxzLgorCisg
ICAgICAgIFRoZSBHUFUgY29kZXBhdGggYWxyZWFkeSBkaWQgdGhpcywgYnV0IENQVSBjb2RlcGF0
aCBkaWQgbm90LgorICAgICAgICBUaGlzIGNoYW5nZSBmaXhlcyB0aGUgQ1BVIGNvZGVwYXRoLgor
CisgICAgICAgIEZpeGVzIHdlYmdsLzEuMC54L2NvbmZvcm1hbmNlL3RleHR1cmVzL21pc2MvdGV4
dHVyZS1jb3JuZXItY2FzZS12aWRlb3MuaHRtbAorICAgICAgICB3ZWJnbC8yLjAueS9jb25mb3Jt
YW5jZS90ZXh0dXJlcy9taXNjL3RleHR1cmUtY29ybmVyLWNhc2UtdmlkZW9zLmh0bWwKKworICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dGV4SW1hZ2VTb3VyY2VIZWxw
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmlkZW9G
cmFtZVRvSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6TFJVSW1hZ2VCdWZmZXJDYWNoZTo6aW1hZ2VCdWZmZXIpOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaDoKKwogMjAyMS0wOC0wOSAgS2ltbW8gS2lu
bnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFNjcmlwdHMvZ2VuZXJhdGUt
ZGVyaXZlZC1zb3VyY2VzLnNoOiBsaW5lIDE5OiBbOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQg
d2hpbGUgYnVpbGRpbmcgU291cmNlL1dlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCBhNDZiNjZk
MjU0MGU2MWFlNDNhMzNlYWU1MmUzOGYwNjg4YjhhOGUyLi4zODZiYmZmOTJkZGMzMGMyZThjM2Fk
YTgxZTJmYzBkMDQxYjAwYWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtNDkzNCw3ICs0OTM0LDcg
QEAgRXhjZXB0aW9uT3I8dm9pZD4gV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dGV4SW1hZ2VT
b3VyY2VIZWxwZXIoVGV4SW1hZ2VGdW5jdGkKICAgICAgICAgfQogCiAgICAgICAgIC8vIEZhbGxi
YWNrIHB1cmUgU1cgcGF0aC4KLSAgICAgICAgUmVmUHRyPEltYWdlPiBpbWFnZSA9IHZpZGVvRnJh
bWVUb0ltYWdlKHZpZGVvLmdldCgpLCBEb250Q29weUJhY2tpbmdTdG9yZSk7CisgICAgICAgIFJl
ZlB0cjxJbWFnZT4gaW1hZ2UgPSB2aWRlb0ZyYW1lVG9JbWFnZSh2aWRlby5nZXQoKSwgRG9udENv
cHlCYWNraW5nU3RvcmUsIGZ1bmN0aW9uTmFtZSk7CiAgICAgICAgIGlmICghaW1hZ2UpCiAgICAg
ICAgICAgICByZXR1cm4geyB9OwogICAgICAgICB0ZXhJbWFnZUltcGwoZnVuY3Rpb25JRCwgdGFy
Z2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIHhvZmZzZXQsIHlvZmZzZXQsIHpvZmZzZXQsIGZv
cm1hdCwgdHlwZSwgaW1hZ2UuZ2V0KCksIEdyYXBoaWNzQ29udGV4dEdMOjpET01Tb3VyY2U6OlZp
ZGVvLCBtX3VucGFja0ZsaXBZLCBtX3VucGFja1ByZW11bHRpcGx5QWxwaGEsIGZhbHNlLCBpbnB1
dFNvdXJjZUltYWdlUmVjdCwgZGVwdGgsIHVucGFja0ltYWdlSGVpZ2h0KTsKQEAgLTU3NjYsMTgg
KzU3NjYsNDIgQEAgUmVmUHRyPEltYWdlPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkcmF3
SW1hZ2VJbnRvQnVmZmVyKEltYWdlJiBpbWFnZSwgaW50IHcKIAogI2lmIEVOQUJMRShWSURFTykK
IAotUmVmUHRyPEltYWdlPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2aWRlb0ZyYW1lVG9J
bWFnZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbywgQmFja2luZ1N0b3JlQ29weSBiYWNraW5nU3Rv
cmVDb3B5KQorUmVmUHRyPEltYWdlPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2aWRlb0Zy
YW1lVG9JbWFnZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbywgQmFja2luZ1N0b3JlQ29weSBiYWNr
aW5nU3RvcmVDb3B5LCBjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUpCiB7Ci0gICAgSW50U2l6ZSBz
aXplKHZpZGVvLT52aWRlb1dpZHRoKCksIHZpZGVvLT52aWRlb0hlaWdodCgpKTsKLSAgICBJbWFn
ZUJ1ZmZlciogYnVmID0gbV9nZW5lcmF0ZWRJbWFnZUNhY2hlLmltYWdlQnVmZmVyKHNpemUpOwot
ICAgIGlmICghYnVmKSB7Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4
dEdMOjpPVVRfT0ZfTUVNT1JZLCAidGV4SW1hZ2UyRCIsICJvdXQgb2YgbWVtb3J5Iik7CisjaWYg
VVNFKEFWRk9VTkRBVElPTikKKyAgICBhdXRvIG5hdGl2ZUltYWdlID0gdmlkZW8tPm5hdGl2ZUlt
YWdlRm9yQ3VycmVudFRpbWUoKTsKKyAgICBJbnRTaXplIGltYWdlU2l6ZTsKKyAgICBpZiAobmF0
aXZlSW1hZ2UpCisgICAgICAgIGltYWdlU2l6ZSA9IG5hdGl2ZUltYWdlLT5zaXplKCk7CisgICAg
aWYgKGltYWdlU2l6ZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3Jh
cGhpY3NDb250ZXh0R0w6OklOVkFMSURfT1BFUkFUSU9OLCBmdW5jdGlvbk5hbWUsICJ2aWRlbyB2
aXNpYmxlIHNpemUgaXMgZW1wdHkiKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQor
ICAgIEZsb2F0UmVjdCBpbWFnZVJlY3QgeyB7IH0sIGltYWdlU2l6ZSB9OworICAgIEltYWdlQnVm
ZmVyKiBpbWFnZUJ1ZmZlciA9IG1fZ2VuZXJhdGVkSW1hZ2VDYWNoZS5pbWFnZUJ1ZmZlcihpbWFn
ZVNpemUsIENvbXBvc2l0ZU9wZXJhdG9yOjpDb3B5KTsKKyAgICBpZiAoIWltYWdlQnVmZmVyKSB7
CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpPVVRfT0ZfTUVN
T1JZLCBmdW5jdGlvbk5hbWUsICJvdXQgb2YgbWVtb3J5Iik7CisgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgIH0KKyAgICBpbWFnZUJ1ZmZlci0+Y29udGV4dCgpLmRyYXdOYXRpdmVJbWFnZSgq
bmF0aXZlSW1hZ2UsIGltYWdlUmVjdC5zaXplKCksIGltYWdlUmVjdCwgaW1hZ2VSZWN0LCBDb21w
b3NpdGVPcGVyYXRvcjo6Q29weSk7CisjZWxzZQorICAgIC8vIFRoaXMgaXMgYSBsZWdhY3kgY29k
ZSBwYXRoIHRoYXQgcHJvZHVjZXMgaW5jb21wYXRpYmxlIHRleHR1cmUgc2l6ZSB3aGVuIHRoZQor
ICAgIC8vIHZpZGVvIHZpc2libGUgc2l6ZSBpcyBkaWZmZXJlbnQgdG8gdGhlIG5hdHVyYWwgc2l6
ZS4gVGhpcyBzaG91bGQgYmUgcmVtb3ZlZAorICAgIC8vIG9uY2UgYWxsIHBsYXRmb3JtcyBpbXBs
ZW1lbnQgbmF0aXZlSW1hZ2VGb3JDdXJyZW50VGltZSgpLgorICAgIEludFNpemUgdmlkZW9TaXpl
IHsgc3RhdGljX2Nhc3Q8aW50Pih2aWRlby0+dmlkZW9XaWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50
Pih2aWRlby0+dmlkZW9IZWlnaHQoKSkgfTsKKyAgICBJbWFnZUJ1ZmZlciogaW1hZ2VCdWZmZXIg
PSBtX2dlbmVyYXRlZEltYWdlQ2FjaGUuaW1hZ2VCdWZmZXIodmlkZW9TaXplKTsKKyAgICBpZiAo
IWltYWdlQnVmZmVyKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4
dEdMOjpPVVRfT0ZfTUVNT1JZLCBmdW5jdGlvbk5hbWUsICJvdXQgb2YgbWVtb3J5Iik7CisgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyAgICB2aWRlby0+cGFpbnRDdXJyZW50RnJhbWVJ
bkNvbnRleHQoaW1hZ2VCdWZmZXItPmNvbnRleHQoKSwgeyB7IH0sIHZpZGVvU2l6ZSB9KTsKKyNl
bmRpZgorICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2UgPSBpbWFnZUJ1ZmZlci0+Y29weUltYWdlKGJh
Y2tpbmdTdG9yZUNvcHkpOworICAgIGlmICghaW1hZ2UpIHsKKyAgICAgICAgc3ludGhlc2l6ZUdM
RXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6Ok9VVF9PRl9NRU1PUlksIGZ1bmN0aW9uTmFtZSwgIm91
dCBvZiBtZW1vcnkiKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAgIEZsb2F0
UmVjdCBkZXN0UmVjdCgwLCAwLCBzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCkpOwotICAgIC8v
IEZJWE1FOiBUdXJuIHRoaXMgaW50byBhIEdQVS1HUFUgdGV4dHVyZSBjb3B5IGluc3RlYWQgb2Yg
Q1BVIHJlYWRiYWNrLgotICAgIHZpZGVvLT5wYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChidWYt
PmNvbnRleHQoKSwgZGVzdFJlY3QpOwotICAgIHJldHVybiBidWYtPmNvcHlJbWFnZShiYWNraW5n
U3RvcmVDb3B5KTsKKyAgICByZXR1cm4gaW1hZ2U7CiB9CiAKICNlbmRpZgpAQCAtNzYxOSw3ICs3
NjQzLDcgQEAgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6TFJVSW1hZ2VCdWZmZXJDYWNoZTo6
TFJVSW1hZ2VCdWZmZXJDYWNoZShpbnQgY2FwYWNpdHkKIHsKIH0KIAotSW1hZ2VCdWZmZXIqIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OkxSVUltYWdlQnVmZmVyQ2FjaGU6OmltYWdlQnVmZmVy
KGNvbnN0IEludFNpemUmIHNpemUpCitJbWFnZUJ1ZmZlciogV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZTo6TFJVSW1hZ2VCdWZmZXJDYWNoZTo6aW1hZ2VCdWZmZXIoY29uc3QgSW50U2l6ZSYgc2l6
ZSwgQ29tcG9zaXRlT3BlcmF0b3IgZmlsbE9wZXJhdG9yKQogewogICAgIHNpemVfdCBpOwogICAg
IGZvciAoaSA9IDA7IGkgPCBtX2J1ZmZlcnMuc2l6ZSgpOyArK2kpIHsKQEAgLTc2MjksNyArNzY1
Myw4IEBAIEltYWdlQnVmZmVyKiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpMUlVJbWFnZUJ1
ZmZlckNhY2hlOjppbWFnZUJ1ZmZlcihjb25zdCBJCiAgICAgICAgIGlmIChidWYtPmxvZ2ljYWxT
aXplKCkgIT0gc2l6ZSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBidWJibGVUb0Zy
b250KGkpOwotICAgICAgICBidWYtPmNvbnRleHQoKS5jbGVhclJlY3QoRmxvYXRSZWN0KHsgfSwg
RmxvYXRTaXplKHNpemUpKSk7CisgICAgICAgIGlmIChmaWxsT3BlcmF0b3IgIT0gQ29tcG9zaXRl
T3BlcmF0b3I6OkNvcHkgJiYgZmlsbE9wZXJhdG9yICE9IENvbXBvc2l0ZU9wZXJhdG9yOjpDbGVh
cikKKyAgICAgICAgICAgIGJ1Zi0+Y29udGV4dCgpLmNsZWFyUmVjdCh7IHsgfSwgc2l6ZSB9KTsK
ICAgICAgICAgcmV0dXJuIGJ1ZjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaAppbmRleCA4ODAyYTYxNGE2
NWNmMjQ2OTE4NzJmYzM4ZmUxOTEzZjEwMzM2YTllLi40MjQ4ZjgwZDM0OTE1YTg4NGFhYzk4YzNj
ZDAxMjNjYTgyMDlmMWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCkBAIC01MjQsNyArNTI0LDcgQEAgcHJvdGVj
dGVkOgogICAgIFJlZlB0cjxJbWFnZT4gZHJhd0ltYWdlSW50b0J1ZmZlcihJbWFnZSYsIGludCB3
aWR0aCwgaW50IGhlaWdodCwgaW50IGRldmljZVNjYWxlRmFjdG9yLCBjb25zdCBjaGFyKiBmdW5j
dGlvbk5hbWUpOwogCiAjaWYgRU5BQkxFKFZJREVPKQotICAgIFJlZlB0cjxJbWFnZT4gdmlkZW9G
cmFtZVRvSW1hZ2UoSFRNTFZpZGVvRWxlbWVudCosIEJhY2tpbmdTdG9yZUNvcHkpOworICAgIFJl
ZlB0cjxJbWFnZT4gdmlkZW9GcmFtZVRvSW1hZ2UoSFRNTFZpZGVvRWxlbWVudCosIEJhY2tpbmdT
dG9yZUNvcHksIGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSk7CiAjZW5kaWYKIAogICAgIFdlYkdM
VGV4dHVyZTo6VGV4dHVyZUV4dGVuc2lvbkZsYWcgdGV4dHVyZUV4dGVuc2lvbkZsYWdzKCkgY29u
c3Q7CkBAIC02MTQsOCArNjE0LDkgQEAgcHJvdGVjdGVkOgogICAgIGNsYXNzIExSVUltYWdlQnVm
ZmVyQ2FjaGUgewogICAgIHB1YmxpYzoKICAgICAgICAgTFJVSW1hZ2VCdWZmZXJDYWNoZShpbnQg
Y2FwYWNpdHkpOwotICAgICAgICAvLyBUaGUgcG9pbnRlciByZXR1cm5lZCBpcyBvd25lZCBieSB0
aGUgaW1hZ2UgYnVmZmVyIG1hcC4KLSAgICAgICAgSW1hZ2VCdWZmZXIqIGltYWdlQnVmZmVyKGNv
bnN0IEludFNpemUmIHNpemUpOworICAgICAgICAvLyBSZXR1cm5zIHBvaW50ZXIgdG8gYSBjbGVh
cmVkIGltYWdlIGJ1ZmZlciB0aGF0IGlzIG93bmVkIGJ5IHRoZSBjYWNoZS4gVGhlIHBvaW50ZXIg
aXMgdmFsaWQgdW50aWwgbmV4dCBjYWxsLgorICAgICAgICAvLyBVc2luZyBmaWxsT3BlcmF0b3Ig
PT0gQ29tcG9zaXRlT3BlcmF0b3I6OkNvcHkgY2FuIGJlIHVzZWQgdG8gb21pdCB0aGUgY2xlYXIg
b2YgdGhlIGJ1ZmZlci4KKyAgICAgICAgSW1hZ2VCdWZmZXIqIGltYWdlQnVmZmVyKGNvbnN0IElu
dFNpemUmLCBDb21wb3NpdGVPcGVyYXRvciBmaWxsT3BlcmF0b3IgPSBDb21wb3NpdGVPcGVyYXRv
cjo6U291cmNlT3Zlcik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBidWJibGVUb0Zyb250
KHNpemVfdCBpZHgpOwogICAgICAgICBWZWN0b3I8UmVmUHRyPEltYWdlQnVmZmVyPj4gbV9idWZm
ZXJzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTgzYzNmYjYyNmUyZjMzOTI4NzRkZTY5ZWU0MWFk
YmMyYWY1NGIzYi4uNGMyMDY0MDA1MTE0MjU0MGI5YWI3MDNiZDMwYWM3NDM1ZGZlNDI1MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0zNjUwLDEyICszNjUwLDE0IEBAIHdlYmdsLzEuMC54IFsgU2tp
cCBdCiAKICMgRXhwbGljaXRseSBlbmFibGUgdGVzdHMgd2hpY2ggd2UgaGF2ZSBmaXhlZCBhbmQg
ZG8gbm90IGhhdmUgY29ycmVzcG9uZGluZyAxLjAuMyB0ZXN0IGZ1bmN0aW9uYWxpdHkuCiB3ZWJn
bC8xLjAueC9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sIFsgUGFzcyBd
Cit3ZWJnbC8xLjAueC9jb25mb3JtYW5jZS90ZXh0dXJlcy9taXNjL3RleHR1cmUtY29ybmVyLWNh
c2UtdmlkZW9zLmh0bWwgWyBQYXNzIF0KIAogIyBXZWJHTCBjb25mb3JtYW5jZSB0ZXN0IHN1aXRl
IDIuMC4xIGlzIHNraXBwZWQgdW50aWwgMi4wLjAgaXMgcmV0aXJlZC4KIHdlYmdsLzIuMC55IFsg
U2tpcCBdCiAKLSMgRXhwbGljaXRseSBlbmFibGUgdGVzdHMgd2hpY2ggd2UgaGF2ZSBmaXhlZCBh
bmQgZG8gbm90IGhhdmUgY29ycmVzcG9uZGluZyAyLjAueSB0ZXN0IGZ1bmN0aW9uYWxpdHkuCisj
IEV4cGxpY2l0bHkgZW5hYmxlIHRlc3RzIHdoaWNoIHdlIGhhdmUgZml4ZWQgYW5kIGRvIG5vdCBo
YXZlIGNvcnJlc3BvbmRpbmcgMi4wLjAgdGVzdCBmdW5jdGlvbmFsaXR5Lgogd2ViZ2wvMi4wLnkv
Y29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCBbIFBhc3MgXQord2ViZ2wv
Mi4wLnkvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXh0dXJlLWNvcm5lci1jYXNlLXZpZGVv
cy5odG1sIFsgUGFzcyBdCiAKICMgcHJlLXdyYXAgcHJvZ3Jlc3Npb24uIE90aGVyIHJlbmRlcmlu
ZyBlbmdpbmVzIGFncmVlIHdpdGggdGhlIHJlc3VsdC4KIHdlYmtpdC5vcmcvYi8yMDYxNjggWyBE
ZWJ1ZyBdIGZhc3QvZG9tL2luc2VydC1zcGFuLWludG8tbG9uZy10ZXh0LWJ1Zy0yODI0NS5odG1s
IFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435338</attachid>
            <date>2021-08-11 05:43:24 -0700</date>
            <delta_ts>2021-08-11 05:56:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228821-20210811154322.patch</filename>
            <type>text/plain</type>
            <size>8684</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwODkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmRmMzBiNTYwZTY4Nzky
NjVkYzFhOTAzYWUzY2QxYjI4NTk0ZTA4My4uMGM2ZDMxYTZhZGEwMmY3ZGUyNGEwM2ZkNTJmYmNi
NzFlNGY2MGI1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTA4LTExICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgd2ViZ2wvMS4wLngv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXh0dXJlLWNvcm5lci1jYXNlLXZpZGVvcy5odG1s
IGZhaWxzIG9uIENvY29hCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjg4MjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgxNTYyMjM2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdXBsb2FkaW5n
IHRoZSBXZWJHTCB0ZXh0dXJlIGNvbnRlbnQgZnJvbSB2aWRlb3MsIHVzZSB0aGUgdmlkZW8KKyAg
ICAgICAgdmlzaWJsZSBkYXRhIHNpemUgaW5zdGVhZCBvZiB2aWRlbyBlbGVtZW50IHNpemUuIFRo
ZSB2aWRlbyBkYXRhIGNhbgorICAgICAgICBiZSBzY2FsZWQgd2l0aCBpdHMgZmlsdGVycywgYnV0
IHdlIHNob3VsZCB1cGxvYWQgb25seSB0aGUgb3JpZ2luYWwKKyAgICAgICAgcGl4ZWxzLgorCisg
ICAgICAgIFRoZSBHUFUgY29kZXBhdGggYWxyZWFkeSBkaWQgdGhpcywgYnV0IENQVSBjb2RlcGF0
aCBkaWQgbm90LgorICAgICAgICBUaGlzIGNoYW5nZSBmaXhlcyB0aGUgQ1BVIGNvZGVwYXRoLgor
CisgICAgICAgIEZpeGVzIHdlYmdsLzEuMC54L2NvbmZvcm1hbmNlL3RleHR1cmVzL21pc2MvdGV4
dHVyZS1jb3JuZXItY2FzZS12aWRlb3MuaHRtbAorICAgICAgICB3ZWJnbC8yLjAueS9jb25mb3Jt
YW5jZS90ZXh0dXJlcy9taXNjL3RleHR1cmUtY29ybmVyLWNhc2UtdmlkZW9zLmh0bWwKKworICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dGV4SW1hZ2VTb3VyY2VIZWxw
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmlkZW9G
cmFtZVRvSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6TFJVSW1hZ2VCdWZmZXJDYWNoZTo6aW1hZ2VCdWZmZXIpOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaDoKKwogMjAyMS0wOC0xMSAgQWRyaWFuIFBl
cmV6IGRlIENhc3RybyAgPGFwZXJlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIE5vbi11bmlmaWVk
IGJ1aWxkIGZpeGVzLCBtaWQgQXVndXN0IDIwMjEgZWRpdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRl
eCA5MzRmNTFmMDc5Y2NmZDQ2NGQyZDliNWNlMWNkNTZhYmUxZDJhYWEyLi5iOTdlMWFkMDIxY2Mw
NGRlNDc5MDM1ZjY2MDYyNGNhYTViZjUwN2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtNDkzNCw3
ICs0OTM0LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6
dGV4SW1hZ2VTb3VyY2VIZWxwZXIoVGV4SW1hZ2VGdW5jdGkKICAgICAgICAgfQogCiAgICAgICAg
IC8vIEZhbGxiYWNrIHB1cmUgU1cgcGF0aC4KLSAgICAgICAgUmVmUHRyPEltYWdlPiBpbWFnZSA9
IHZpZGVvRnJhbWVUb0ltYWdlKHZpZGVvLmdldCgpLCBEb250Q29weUJhY2tpbmdTdG9yZSk7Cisg
ICAgICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2UgPSB2aWRlb0ZyYW1lVG9JbWFnZSh2aWRlby5nZXQo
KSwgRG9udENvcHlCYWNraW5nU3RvcmUsIGZ1bmN0aW9uTmFtZSk7CiAgICAgICAgIGlmICghaW1h
Z2UpCiAgICAgICAgICAgICByZXR1cm4geyB9OwogICAgICAgICB0ZXhJbWFnZUltcGwoZnVuY3Rp
b25JRCwgdGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIHhvZmZzZXQsIHlvZmZzZXQsIHpv
ZmZzZXQsIGZvcm1hdCwgdHlwZSwgaW1hZ2UuZ2V0KCksIEdyYXBoaWNzQ29udGV4dEdMOjpET01T
b3VyY2U6OlZpZGVvLCBtX3VucGFja0ZsaXBZLCBtX3VucGFja1ByZW11bHRpcGx5QWxwaGEsIGZh
bHNlLCBpbnB1dFNvdXJjZUltYWdlUmVjdCwgZGVwdGgsIHVucGFja0ltYWdlSGVpZ2h0KTsKQEAg
LTU3NjgsMTggKzU3NjgsNDQgQEAgUmVmUHRyPEltYWdlPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjpkcmF3SW1hZ2VJbnRvQnVmZmVyKEltYWdlJiBpbWFnZSwgaW50IHcKIAogI2lmIEVOQUJM
RShWSURFTykKIAotUmVmUHRyPEltYWdlPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2aWRl
b0ZyYW1lVG9JbWFnZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbywgQmFja2luZ1N0b3JlQ29weSBi
YWNraW5nU3RvcmVDb3B5KQorUmVmUHRyPEltYWdlPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojp2aWRlb0ZyYW1lVG9JbWFnZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbywgQmFja2luZ1N0b3Jl
Q29weSBiYWNraW5nU3RvcmVDb3B5LCBjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUpCiB7Ci0gICAg
SW50U2l6ZSBzaXplKHZpZGVvLT52aWRlb1dpZHRoKCksIHZpZGVvLT52aWRlb0hlaWdodCgpKTsK
LSAgICBJbWFnZUJ1ZmZlciogYnVmID0gbV9nZW5lcmF0ZWRJbWFnZUNhY2hlLmltYWdlQnVmZmVy
KHNpemUpOwotICAgIGlmICghYnVmKSB7Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBo
aWNzQ29udGV4dEdMOjpPVVRfT0ZfTUVNT1JZLCAidGV4SW1hZ2UyRCIsICJvdXQgb2YgbWVtb3J5
Iik7CisjaWYgVVNFKEFWRk9VTkRBVElPTikKKyAgICBhdXRvIG5hdGl2ZUltYWdlID0gdmlkZW8t
Pm5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUoKTsKKyAgICAvLyBDdXJyZW50bHkgd2UgbWlnaHQg
YmUgbWlzc2luZyBhbiBpbWFnZSBkdWUgdG8gTVNFIG5vdCBiZWluZyBhYmxlIHRvIHByb3ZpZGUg
dGhlIGZpcnN0IHJlcXVlc3RlZCBmcmFtZS4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI4OTk3CisgICAgaWYgKCFuYXRpdmVJbWFnZSkKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgSW50U2l6ZSBpbWFnZVNpemUgPSBuYXRpdmVJbWFnZS0+c2l6
ZSgpOworICAgIGlmIChpbWFnZVNpemUuaXNFbXB0eSgpKSB7CisgICAgICAgIHN5bnRoZXNpemVH
TEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElPTiwgZnVuY3Rpb25OYW1l
LCAidmlkZW8gdmlzaWJsZSBzaXplIGlzIGVtcHR5Iik7CisgICAgICAgIHJldHVybiBudWxscHRy
OworICAgIH0KKyAgICBGbG9hdFJlY3QgaW1hZ2VSZWN0IHsgeyB9LCBpbWFnZVNpemUgfTsKKyAg
ICBJbWFnZUJ1ZmZlciogaW1hZ2VCdWZmZXIgPSBtX2dlbmVyYXRlZEltYWdlQ2FjaGUuaW1hZ2VC
dWZmZXIoaW1hZ2VTaXplLCBDb21wb3NpdGVPcGVyYXRvcjo6Q29weSk7CisgICAgaWYgKCFpbWFn
ZUJ1ZmZlcikgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6
T1VUX09GX01FTU9SWSwgZnVuY3Rpb25OYW1lLCAib3V0IG9mIG1lbW9yeSIpOworICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgaW1hZ2VCdWZmZXItPmNvbnRleHQoKS5kcmF3TmF0
aXZlSW1hZ2UoKm5hdGl2ZUltYWdlLCBpbWFnZVJlY3Quc2l6ZSgpLCBpbWFnZVJlY3QsIGltYWdl
UmVjdCwgQ29tcG9zaXRlT3BlcmF0b3I6OkNvcHkpOworI2Vsc2UKKyAgICAvLyBUaGlzIGlzIGEg
bGVnYWN5IGNvZGUgcGF0aCB0aGF0IHByb2R1Y2VzIGluY29tcGF0aWJsZSB0ZXh0dXJlIHNpemUg
d2hlbiB0aGUKKyAgICAvLyB2aWRlbyB2aXNpYmxlIHNpemUgaXMgZGlmZmVyZW50IHRvIHRoZSBu
YXR1cmFsIHNpemUuIFRoaXMgc2hvdWxkIGJlIHJlbW92ZWQKKyAgICAvLyBvbmNlIGFsbCBwbGF0
Zm9ybXMgaW1wbGVtZW50IG5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUoKS4KKyAgICBJbnRTaXpl
IHZpZGVvU2l6ZSB7IHN0YXRpY19jYXN0PGludD4odmlkZW8tPnZpZGVvV2lkdGgoKSksIHN0YXRp
Y19jYXN0PGludD4odmlkZW8tPnZpZGVvSGVpZ2h0KCkpIH07CisgICAgSW1hZ2VCdWZmZXIqIGlt
YWdlQnVmZmVyID0gbV9nZW5lcmF0ZWRJbWFnZUNhY2hlLmltYWdlQnVmZmVyKHZpZGVvU2l6ZSk7
CisgICAgaWYgKCFpbWFnZUJ1ZmZlcikgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFw
aGljc0NvbnRleHRHTDo6T1VUX09GX01FTU9SWSwgZnVuY3Rpb25OYW1lLCAib3V0IG9mIG1lbW9y
eSIpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgdmlkZW8tPnBhaW50Q3Vy
cmVudEZyYW1lSW5Db250ZXh0KGltYWdlQnVmZmVyLT5jb250ZXh0KCksIHsgeyB9LCB2aWRlb1Np
emUgfSk7CisjZW5kaWYKKyAgICBSZWZQdHI8SW1hZ2U+IGltYWdlID0gaW1hZ2VCdWZmZXItPmNv
cHlJbWFnZShiYWNraW5nU3RvcmVDb3B5KTsKKyAgICBpZiAoIWltYWdlKSB7CisgICAgICAgIHN5
bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpPVVRfT0ZfTUVNT1JZLCBmdW5jdGlv
bk5hbWUsICJvdXQgb2YgbWVtb3J5Iik7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0K
LSAgICBGbG9hdFJlY3QgZGVzdFJlY3QoMCwgMCwgc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgp
KTsKLSAgICAvLyBGSVhNRTogVHVybiB0aGlzIGludG8gYSBHUFUtR1BVIHRleHR1cmUgY29weSBp
bnN0ZWFkIG9mIENQVSByZWFkYmFjay4KLSAgICB2aWRlby0+cGFpbnRDdXJyZW50RnJhbWVJbkNv
bnRleHQoYnVmLT5jb250ZXh0KCksIGRlc3RSZWN0KTsKLSAgICByZXR1cm4gYnVmLT5jb3B5SW1h
Z2UoYmFja2luZ1N0b3JlQ29weSk7CisgICAgcmV0dXJuIGltYWdlOwogfQogCiAjZW5kaWYKQEAg
LTc2MjEsNyArNzY0Nyw3IEBAIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OkxSVUltYWdlQnVm
ZmVyQ2FjaGU6OkxSVUltYWdlQnVmZmVyQ2FjaGUoaW50IGNhcGFjaXR5CiB7CiB9CiAKLUltYWdl
QnVmZmVyKiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpMUlVJbWFnZUJ1ZmZlckNhY2hlOjpp
bWFnZUJ1ZmZlcihjb25zdCBJbnRTaXplJiBzaXplKQorSW1hZ2VCdWZmZXIqIFdlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OkxSVUltYWdlQnVmZmVyQ2FjaGU6OmltYWdlQnVmZmVyKGNvbnN0IElu
dFNpemUmIHNpemUsIENvbXBvc2l0ZU9wZXJhdG9yIGZpbGxPcGVyYXRvcikKIHsKICAgICBzaXpl
X3QgaTsKICAgICBmb3IgKGkgPSAwOyBpIDwgbV9idWZmZXJzLnNpemUoKTsgKytpKSB7CkBAIC03
NjMxLDcgKzc2NTcsOCBAQCBJbWFnZUJ1ZmZlciogV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6
TFJVSW1hZ2VCdWZmZXJDYWNoZTo6aW1hZ2VCdWZmZXIoY29uc3QgSQogICAgICAgICBpZiAoYnVm
LT5sb2dpY2FsU2l6ZSgpICE9IHNpemUpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAg
YnViYmxlVG9Gcm9udChpKTsKLSAgICAgICAgYnVmLT5jb250ZXh0KCkuY2xlYXJSZWN0KEZsb2F0
UmVjdCh7IH0sIEZsb2F0U2l6ZShzaXplKSkpOworICAgICAgICBpZiAoZmlsbE9wZXJhdG9yICE9
IENvbXBvc2l0ZU9wZXJhdG9yOjpDb3B5ICYmIGZpbGxPcGVyYXRvciAhPSBDb21wb3NpdGVPcGVy
YXRvcjo6Q2xlYXIpCisgICAgICAgICAgICBidWYtPmNvbnRleHQoKS5jbGVhclJlY3QoeyB7IH0s
IHNpemUgfSk7CiAgICAgICAgIHJldHVybiBidWY7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKaW5kZXgg
ODgwMmE2MTRhNjVjZjI0NjkxODcyZmMzOGZlMTkxM2YxMDMzNmE5ZS4uNDI0OGY4MGQzNDkxNWE4
ODRhYWM5OGMzY2QwMTIzY2E4MjA5ZjFlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaApAQCAtNTI0LDcgKzUyNCw3
IEBAIHByb3RlY3RlZDoKICAgICBSZWZQdHI8SW1hZ2U+IGRyYXdJbWFnZUludG9CdWZmZXIoSW1h
Z2UmLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXZpY2VTY2FsZUZhY3RvciwgY29uc3Qg
Y2hhciogZnVuY3Rpb25OYW1lKTsKIAogI2lmIEVOQUJMRShWSURFTykKLSAgICBSZWZQdHI8SW1h
Z2U+IHZpZGVvRnJhbWVUb0ltYWdlKEhUTUxWaWRlb0VsZW1lbnQqLCBCYWNraW5nU3RvcmVDb3B5
KTsKKyAgICBSZWZQdHI8SW1hZ2U+IHZpZGVvRnJhbWVUb0ltYWdlKEhUTUxWaWRlb0VsZW1lbnQq
LCBCYWNraW5nU3RvcmVDb3B5LCBjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUpOwogI2VuZGlmCiAK
ICAgICBXZWJHTFRleHR1cmU6OlRleHR1cmVFeHRlbnNpb25GbGFnIHRleHR1cmVFeHRlbnNpb25G
bGFncygpIGNvbnN0OwpAQCAtNjE0LDggKzYxNCw5IEBAIHByb3RlY3RlZDoKICAgICBjbGFzcyBM
UlVJbWFnZUJ1ZmZlckNhY2hlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIExSVUltYWdlQnVmZmVy
Q2FjaGUoaW50IGNhcGFjaXR5KTsKLSAgICAgICAgLy8gVGhlIHBvaW50ZXIgcmV0dXJuZWQgaXMg
b3duZWQgYnkgdGhlIGltYWdlIGJ1ZmZlciBtYXAuCi0gICAgICAgIEltYWdlQnVmZmVyKiBpbWFn
ZUJ1ZmZlcihjb25zdCBJbnRTaXplJiBzaXplKTsKKyAgICAgICAgLy8gUmV0dXJucyBwb2ludGVy
IHRvIGEgY2xlYXJlZCBpbWFnZSBidWZmZXIgdGhhdCBpcyBvd25lZCBieSB0aGUgY2FjaGUuIFRo
ZSBwb2ludGVyIGlzIHZhbGlkIHVudGlsIG5leHQgY2FsbC4KKyAgICAgICAgLy8gVXNpbmcgZmls
bE9wZXJhdG9yID09IENvbXBvc2l0ZU9wZXJhdG9yOjpDb3B5IGNhbiBiZSB1c2VkIHRvIG9taXQg
dGhlIGNsZWFyIG9mIHRoZSBidWZmZXIuCisgICAgICAgIEltYWdlQnVmZmVyKiBpbWFnZUJ1ZmZl
cihjb25zdCBJbnRTaXplJiwgQ29tcG9zaXRlT3BlcmF0b3IgZmlsbE9wZXJhdG9yID0gQ29tcG9z
aXRlT3BlcmF0b3I6OlNvdXJjZU92ZXIpOwogICAgIHByaXZhdGU6CiAgICAgICAgIHZvaWQgYnVi
YmxlVG9Gcm9udChzaXplX3QgaWR4KTsKICAgICAgICAgVmVjdG9yPFJlZlB0cjxJbWFnZUJ1ZmZl
cj4+IG1fYnVmZmVyczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDhmNzE0NjAyZTI3NTIwNWZmYzlj
ZWZkYmIzOTMwYjMzODBkZjUyZGEuLmVjMjRhM2E3MzIxZDNiYzliZWM0MzNiYWI2OWNjM2VkYjRh
MzgzMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzY0MSwxMiArMzY0MSwxNCBAQCB3ZWJnbC8x
LjAueCBbIFNraXAgXQogCiAjIEV4cGxpY2l0bHkgZW5hYmxlIHRlc3RzIHdoaWNoIHdlIGhhdmUg
Zml4ZWQgYW5kIGRvIG5vdCBoYXZlIGNvcnJlc3BvbmRpbmcgMS4wLjMgdGVzdCBmdW5jdGlvbmFs
aXR5Lgogd2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRt
bCBbIFBhc3MgXQord2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXh0dXJl
LWNvcm5lci1jYXNlLXZpZGVvcy5odG1sIFsgUGFzcyBdCiAKICMgV2ViR0wgY29uZm9ybWFuY2Ug
dGVzdCBzdWl0ZSAyLjAuMSBpcyBza2lwcGVkIHVudGlsIDIuMC4wIGlzIHJldGlyZWQuCiB3ZWJn
bC8yLjAueSBbIFNraXAgXQogCi0jIEV4cGxpY2l0bHkgZW5hYmxlIHRlc3RzIHdoaWNoIHdlIGhh
dmUgZml4ZWQgYW5kIGRvIG5vdCBoYXZlIGNvcnJlc3BvbmRpbmcgMi4wLnkgdGVzdCBmdW5jdGlv
bmFsaXR5LgorIyBFeHBsaWNpdGx5IGVuYWJsZSB0ZXN0cyB3aGljaCB3ZSBoYXZlIGZpeGVkIGFu
ZCBkbyBub3QgaGF2ZSBjb3JyZXNwb25kaW5nIDIuMC4wIHRlc3QgZnVuY3Rpb25hbGl0eS4KIHdl
YmdsLzIuMC55L2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwgWyBQYXNz
IF0KK3dlYmdsLzIuMC55L2NvbmZvcm1hbmNlL3RleHR1cmVzL21pc2MvdGV4dHVyZS1jb3JuZXIt
Y2FzZS12aWRlb3MuaHRtbCBbIFBhc3MgXQogCiAjIHByZS13cmFwIHByb2dyZXNzaW9uLiBPdGhl
ciByZW5kZXJpbmcgZW5naW5lcyBhZ3JlZSB3aXRoIHRoZSByZXN1bHQuCiB3ZWJraXQub3JnL2Iv
MjA2MTY4IFsgRGVidWcgXSBmYXN0L2RvbS9pbnNlcnQtc3Bhbi1pbnRvLWxvbmctdGV4dC1idWct
MjgyNDUuaHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435339</attachid>
            <date>2021-08-11 05:56:59 -0700</date>
            <delta_ts>2021-08-12 06:35:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228821-20210811155657.patch</filename>
            <type>text/plain</type>
            <size>8850</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwOTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmRmMzBiNTYwZTY4Nzky
NjVkYzFhOTAzYWUzY2QxYjI4NTk0ZTA4My4uMGM2ZDMxYTZhZGEwMmY3ZGUyNGEwM2ZkNTJmYmNi
NzFlNGY2MGI1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTA4LTExICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgd2ViZ2wvMS4wLngv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXh0dXJlLWNvcm5lci1jYXNlLXZpZGVvcy5odG1s
IGZhaWxzIG9uIENvY29hCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjg4MjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgxNTYyMjM2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdXBsb2FkaW5n
IHRoZSBXZWJHTCB0ZXh0dXJlIGNvbnRlbnQgZnJvbSB2aWRlb3MsIHVzZSB0aGUgdmlkZW8KKyAg
ICAgICAgdmlzaWJsZSBkYXRhIHNpemUgaW5zdGVhZCBvZiB2aWRlbyBlbGVtZW50IHNpemUuIFRo
ZSB2aWRlbyBkYXRhIGNhbgorICAgICAgICBiZSBzY2FsZWQgd2l0aCBpdHMgZmlsdGVycywgYnV0
IHdlIHNob3VsZCB1cGxvYWQgb25seSB0aGUgb3JpZ2luYWwKKyAgICAgICAgcGl4ZWxzLgorCisg
ICAgICAgIFRoZSBHUFUgY29kZXBhdGggYWxyZWFkeSBkaWQgdGhpcywgYnV0IENQVSBjb2RlcGF0
aCBkaWQgbm90LgorICAgICAgICBUaGlzIGNoYW5nZSBmaXhlcyB0aGUgQ1BVIGNvZGVwYXRoLgor
CisgICAgICAgIEZpeGVzIHdlYmdsLzEuMC54L2NvbmZvcm1hbmNlL3RleHR1cmVzL21pc2MvdGV4
dHVyZS1jb3JuZXItY2FzZS12aWRlb3MuaHRtbAorICAgICAgICB3ZWJnbC8yLjAueS9jb25mb3Jt
YW5jZS90ZXh0dXJlcy9taXNjL3RleHR1cmUtY29ybmVyLWNhc2UtdmlkZW9zLmh0bWwKKworICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dGV4SW1hZ2VTb3VyY2VIZWxw
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmlkZW9G
cmFtZVRvSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6TFJVSW1hZ2VCdWZmZXJDYWNoZTo6aW1hZ2VCdWZmZXIpOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaDoKKwogMjAyMS0wOC0xMSAgQWRyaWFuIFBl
cmV6IGRlIENhc3RybyAgPGFwZXJlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIE5vbi11bmlmaWVk
IGJ1aWxkIGZpeGVzLCBtaWQgQXVndXN0IDIwMjEgZWRpdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRl
eCA5MzRmNTFmMDc5Y2NmZDQ2NGQyZDliNWNlMWNkNTZhYmUxZDJhYWEyLi5hOTQ4ZjE1NmRlNjkw
NmY1YWEyMmI0Nzc4YWRmOTQ1Yzk5NmQwODgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtNDkzNCw3
ICs0OTM0LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6
dGV4SW1hZ2VTb3VyY2VIZWxwZXIoVGV4SW1hZ2VGdW5jdGkKICAgICAgICAgfQogCiAgICAgICAg
IC8vIEZhbGxiYWNrIHB1cmUgU1cgcGF0aC4KLSAgICAgICAgUmVmUHRyPEltYWdlPiBpbWFnZSA9
IHZpZGVvRnJhbWVUb0ltYWdlKHZpZGVvLmdldCgpLCBEb250Q29weUJhY2tpbmdTdG9yZSk7Cisg
ICAgICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2UgPSB2aWRlb0ZyYW1lVG9JbWFnZSh2aWRlby5nZXQo
KSwgRG9udENvcHlCYWNraW5nU3RvcmUsIGZ1bmN0aW9uTmFtZSk7CiAgICAgICAgIGlmICghaW1h
Z2UpCiAgICAgICAgICAgICByZXR1cm4geyB9OwogICAgICAgICB0ZXhJbWFnZUltcGwoZnVuY3Rp
b25JRCwgdGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIHhvZmZzZXQsIHlvZmZzZXQsIHpv
ZmZzZXQsIGZvcm1hdCwgdHlwZSwgaW1hZ2UuZ2V0KCksIEdyYXBoaWNzQ29udGV4dEdMOjpET01T
b3VyY2U6OlZpZGVvLCBtX3VucGFja0ZsaXBZLCBtX3VucGFja1ByZW11bHRpcGx5QWxwaGEsIGZh
bHNlLCBpbnB1dFNvdXJjZUltYWdlUmVjdCwgZGVwdGgsIHVucGFja0ltYWdlSGVpZ2h0KTsKQEAg
LTU3NjgsMTggKzU3NjgsNDQgQEAgUmVmUHRyPEltYWdlPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjpkcmF3SW1hZ2VJbnRvQnVmZmVyKEltYWdlJiBpbWFnZSwgaW50IHcKIAogI2lmIEVOQUJM
RShWSURFTykKIAotUmVmUHRyPEltYWdlPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2aWRl
b0ZyYW1lVG9JbWFnZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbywgQmFja2luZ1N0b3JlQ29weSBi
YWNraW5nU3RvcmVDb3B5KQorUmVmUHRyPEltYWdlPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojp2aWRlb0ZyYW1lVG9JbWFnZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbywgQmFja2luZ1N0b3Jl
Q29weSBiYWNraW5nU3RvcmVDb3B5LCBjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUpCiB7Ci0gICAg
SW50U2l6ZSBzaXplKHZpZGVvLT52aWRlb1dpZHRoKCksIHZpZGVvLT52aWRlb0hlaWdodCgpKTsK
LSAgICBJbWFnZUJ1ZmZlciogYnVmID0gbV9nZW5lcmF0ZWRJbWFnZUNhY2hlLmltYWdlQnVmZmVy
KHNpemUpOwotICAgIGlmICghYnVmKSB7Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBo
aWNzQ29udGV4dEdMOjpPVVRfT0ZfTUVNT1JZLCAidGV4SW1hZ2UyRCIsICJvdXQgb2YgbWVtb3J5
Iik7CisjaWYgVVNFKEFWRk9VTkRBVElPTikKKyAgICBhdXRvIG5hdGl2ZUltYWdlID0gdmlkZW8t
Pm5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUoKTsKKyAgICAvLyBDdXJyZW50bHkgd2UgbWlnaHQg
YmUgbWlzc2luZyBhbiBpbWFnZSBkdWUgdG8gTVNFIG5vdCBiZWluZyBhYmxlIHRvIHByb3ZpZGUg
dGhlIGZpcnN0IHJlcXVlc3RlZCBmcmFtZS4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI4OTk3CisgICAgaWYgKCFuYXRpdmVJbWFnZSkKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgSW50U2l6ZSBpbWFnZVNpemUgPSBuYXRpdmVJbWFnZS0+c2l6
ZSgpOworICAgIGlmIChpbWFnZVNpemUuaXNFbXB0eSgpKSB7CisgICAgICAgIHN5bnRoZXNpemVH
TEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCBmdW5jdGlvbk5hbWUsICJ2
aWRlbyB2aXNpYmxlIHNpemUgaXMgZW1wdHkiKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgfQorICAgIEZsb2F0UmVjdCBpbWFnZVJlY3QgeyB7IH0sIGltYWdlU2l6ZSB9OworICAgIElt
YWdlQnVmZmVyKiBpbWFnZUJ1ZmZlciA9IG1fZ2VuZXJhdGVkSW1hZ2VDYWNoZS5pbWFnZUJ1ZmZl
cihpbWFnZVNpemUsIENvbXBvc2l0ZU9wZXJhdG9yOjpDb3B5KTsKKyAgICBpZiAoIWltYWdlQnVm
ZmVyKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpPVVRf
T0ZfTUVNT1JZLCBmdW5jdGlvbk5hbWUsICJvdXQgb2YgbWVtb3J5Iik7CisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIH0KKyAgICBpbWFnZUJ1ZmZlci0+Y29udGV4dCgpLmRyYXdOYXRpdmVJ
bWFnZSgqbmF0aXZlSW1hZ2UsIGltYWdlUmVjdC5zaXplKCksIGltYWdlUmVjdCwgaW1hZ2VSZWN0
LCBDb21wb3NpdGVPcGVyYXRvcjo6Q29weSk7CisjZWxzZQorICAgIC8vIFRoaXMgaXMgYSBsZWdh
Y3kgY29kZSBwYXRoIHRoYXQgcHJvZHVjZXMgaW5jb21wYXRpYmxlIHRleHR1cmUgc2l6ZSB3aGVu
IHRoZQorICAgIC8vIHZpZGVvIHZpc2libGUgc2l6ZSBpcyBkaWZmZXJlbnQgdG8gdGhlIG5hdHVy
YWwgc2l6ZS4gVGhpcyBzaG91bGQgYmUgcmVtb3ZlZAorICAgIC8vIG9uY2UgYWxsIHBsYXRmb3Jt
cyBpbXBsZW1lbnQgbmF0aXZlSW1hZ2VGb3JDdXJyZW50VGltZSgpLgorICAgIEludFNpemUgdmlk
ZW9TaXplIHsgc3RhdGljX2Nhc3Q8aW50Pih2aWRlby0+dmlkZW9XaWR0aCgpKSwgc3RhdGljX2Nh
c3Q8aW50Pih2aWRlby0+dmlkZW9IZWlnaHQoKSkgfTsKKyAgICBJbWFnZUJ1ZmZlciogaW1hZ2VC
dWZmZXIgPSBtX2dlbmVyYXRlZEltYWdlQ2FjaGUuaW1hZ2VCdWZmZXIodmlkZW9TaXplKTsKKyAg
ICBpZiAoIWltYWdlQnVmZmVyKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dEdMOjpPVVRfT0ZfTUVNT1JZLCBmdW5jdGlvbk5hbWUsICJvdXQgb2YgbWVtb3J5Iik7
CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyAgICB2aWRlby0+cGFpbnRDdXJyZW50
RnJhbWVJbkNvbnRleHQoaW1hZ2VCdWZmZXItPmNvbnRleHQoKSwgeyB7IH0sIHZpZGVvU2l6ZSB9
KTsKKyNlbmRpZgorICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2UgPSBpbWFnZUJ1ZmZlci0+Y29weUlt
YWdlKGJhY2tpbmdTdG9yZUNvcHkpOworICAgIGlmICghaW1hZ2UpIHsKKyAgICAgICAgc3ludGhl
c2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6Ok9VVF9PRl9NRU1PUlksIGZ1bmN0aW9uTmFt
ZSwgIm91dCBvZiBtZW1vcnkiKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAg
IEZsb2F0UmVjdCBkZXN0UmVjdCgwLCAwLCBzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCkpOwot
ICAgIC8vIEZJWE1FOiBUdXJuIHRoaXMgaW50byBhIEdQVS1HUFUgdGV4dHVyZSBjb3B5IGluc3Rl
YWQgb2YgQ1BVIHJlYWRiYWNrLgotICAgIHZpZGVvLT5wYWludEN1cnJlbnRGcmFtZUluQ29udGV4
dChidWYtPmNvbnRleHQoKSwgZGVzdFJlY3QpOwotICAgIHJldHVybiBidWYtPmNvcHlJbWFnZShi
YWNraW5nU3RvcmVDb3B5KTsKKyAgICByZXR1cm4gaW1hZ2U7CiB9CiAKICNlbmRpZgpAQCAtNzYy
MSw3ICs3NjQ3LDcgQEAgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6TFJVSW1hZ2VCdWZmZXJD
YWNoZTo6TFJVSW1hZ2VCdWZmZXJDYWNoZShpbnQgY2FwYWNpdHkKIHsKIH0KIAotSW1hZ2VCdWZm
ZXIqIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OkxSVUltYWdlQnVmZmVyQ2FjaGU6OmltYWdl
QnVmZmVyKGNvbnN0IEludFNpemUmIHNpemUpCitJbWFnZUJ1ZmZlciogV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTo6TFJVSW1hZ2VCdWZmZXJDYWNoZTo6aW1hZ2VCdWZmZXIoY29uc3QgSW50U2l6
ZSYgc2l6ZSwgQ29tcG9zaXRlT3BlcmF0b3IgZmlsbE9wZXJhdG9yKQogewogICAgIHNpemVfdCBp
OwogICAgIGZvciAoaSA9IDA7IGkgPCBtX2J1ZmZlcnMuc2l6ZSgpOyArK2kpIHsKQEAgLTc2MzEs
NyArNzY1Nyw4IEBAIEltYWdlQnVmZmVyKiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpMUlVJ
bWFnZUJ1ZmZlckNhY2hlOjppbWFnZUJ1ZmZlcihjb25zdCBJCiAgICAgICAgIGlmIChidWYtPmxv
Z2ljYWxTaXplKCkgIT0gc2l6ZSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBidWJi
bGVUb0Zyb250KGkpOwotICAgICAgICBidWYtPmNvbnRleHQoKS5jbGVhclJlY3QoRmxvYXRSZWN0
KHsgfSwgRmxvYXRTaXplKHNpemUpKSk7CisgICAgICAgIGlmIChmaWxsT3BlcmF0b3IgIT0gQ29t
cG9zaXRlT3BlcmF0b3I6OkNvcHkgJiYgZmlsbE9wZXJhdG9yICE9IENvbXBvc2l0ZU9wZXJhdG9y
OjpDbGVhcikKKyAgICAgICAgICAgIGJ1Zi0+Y29udGV4dCgpLmNsZWFyUmVjdCh7IHsgfSwgc2l6
ZSB9KTsKICAgICAgICAgcmV0dXJuIGJ1ZjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaAppbmRleCA4ODAy
YTYxNGE2NWNmMjQ2OTE4NzJmYzM4ZmUxOTEzZjEwMzM2YTllLi40MjQ4ZjgwZDM0OTE1YTg4NGFh
Yzk4YzNjZDAxMjNjYTgyMDlmMWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCkBAIC01MjQsNyArNTI0LDcgQEAg
cHJvdGVjdGVkOgogICAgIFJlZlB0cjxJbWFnZT4gZHJhd0ltYWdlSW50b0J1ZmZlcihJbWFnZSYs
IGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRldmljZVNjYWxlRmFjdG9yLCBjb25zdCBjaGFy
KiBmdW5jdGlvbk5hbWUpOwogCiAjaWYgRU5BQkxFKFZJREVPKQotICAgIFJlZlB0cjxJbWFnZT4g
dmlkZW9GcmFtZVRvSW1hZ2UoSFRNTFZpZGVvRWxlbWVudCosIEJhY2tpbmdTdG9yZUNvcHkpOwor
ICAgIFJlZlB0cjxJbWFnZT4gdmlkZW9GcmFtZVRvSW1hZ2UoSFRNTFZpZGVvRWxlbWVudCosIEJh
Y2tpbmdTdG9yZUNvcHksIGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSk7CiAjZW5kaWYKIAogICAg
IFdlYkdMVGV4dHVyZTo6VGV4dHVyZUV4dGVuc2lvbkZsYWcgdGV4dHVyZUV4dGVuc2lvbkZsYWdz
KCkgY29uc3Q7CkBAIC02MTQsOCArNjE0LDkgQEAgcHJvdGVjdGVkOgogICAgIGNsYXNzIExSVUlt
YWdlQnVmZmVyQ2FjaGUgewogICAgIHB1YmxpYzoKICAgICAgICAgTFJVSW1hZ2VCdWZmZXJDYWNo
ZShpbnQgY2FwYWNpdHkpOwotICAgICAgICAvLyBUaGUgcG9pbnRlciByZXR1cm5lZCBpcyBvd25l
ZCBieSB0aGUgaW1hZ2UgYnVmZmVyIG1hcC4KLSAgICAgICAgSW1hZ2VCdWZmZXIqIGltYWdlQnVm
ZmVyKGNvbnN0IEludFNpemUmIHNpemUpOworICAgICAgICAvLyBSZXR1cm5zIHBvaW50ZXIgdG8g
YSBjbGVhcmVkIGltYWdlIGJ1ZmZlciB0aGF0IGlzIG93bmVkIGJ5IHRoZSBjYWNoZS4gVGhlIHBv
aW50ZXIgaXMgdmFsaWQgdW50aWwgbmV4dCBjYWxsLgorICAgICAgICAvLyBVc2luZyBmaWxsT3Bl
cmF0b3IgPT0gQ29tcG9zaXRlT3BlcmF0b3I6OkNvcHkgY2FuIGJlIHVzZWQgdG8gb21pdCB0aGUg
Y2xlYXIgb2YgdGhlIGJ1ZmZlci4KKyAgICAgICAgSW1hZ2VCdWZmZXIqIGltYWdlQnVmZmVyKGNv
bnN0IEludFNpemUmLCBDb21wb3NpdGVPcGVyYXRvciBmaWxsT3BlcmF0b3IgPSBDb21wb3NpdGVP
cGVyYXRvcjo6U291cmNlT3Zlcik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBidWJibGVU
b0Zyb250KHNpemVfdCBpZHgpOwogICAgICAgICBWZWN0b3I8UmVmUHRyPEltYWdlQnVmZmVyPj4g
bV9idWZmZXJzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMzE1NjI0OTc0NjJlZGVhYzQyZTcwNGVh
OTA3MzAyODdlN2ZhNTM2NS4uMmQ2MWQyMjlhMGI0NmJhYzIwZWZiZTNkNzlhZDEzZDczOGM2MzU4
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNjQzLDE0ICszNjQzLDE2IEBAIHdlYmdsLzEuMC54
IFsgU2tpcCBdCiB3ZWJnbC8xLjAueC9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVz
dC5odG1sIFsgUGFzcyBdCiB3ZWJnbC8xLjAueC9jb25mb3JtYW5jZS9taXNjL2ludmFsaWQtcGFz
c2VkLXBhcmFtcy5odG1sIFsgUGFzcyBdCiB3ZWJnbC8xLjAueC9jb25mb3JtYW5jZS9nbHNsL2J1
Z3MvY2hhcmFjdGVyLXNldC5odG1sIFsgUGFzcyBdCit3ZWJnbC8xLjAueC9jb25mb3JtYW5jZS90
ZXh0dXJlcy9taXNjL3RleHR1cmUtY29ybmVyLWNhc2UtdmlkZW9zLmh0bWwgWyBQYXNzIF0KIAog
IyBXZWJHTCBjb25mb3JtYW5jZSB0ZXN0IHN1aXRlIDIuMC4xIGlzIHNraXBwZWQgdW50aWwgMi4w
LjAgaXMgcmV0aXJlZC4KIHdlYmdsLzIuMC55IFsgU2tpcCBdCiAKLSMgRXhwbGljaXRseSBlbmFi
bGUgdGVzdHMgd2hpY2ggd2UgaGF2ZSBmaXhlZCBhbmQgZG8gbm90IGhhdmUgY29ycmVzcG9uZGlu
ZyAyLjAueSB0ZXN0IGZ1bmN0aW9uYWxpdHkuCisjIEV4cGxpY2l0bHkgZW5hYmxlIHRlc3RzIHdo
aWNoIHdlIGhhdmUgZml4ZWQgYW5kIGRvIG5vdCBoYXZlIGNvcnJlc3BvbmRpbmcgMi4wLjAgdGVz
dCBmdW5jdGlvbmFsaXR5Lgogd2ViZ2wvMi4wLnkvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEt
dXJsLXRlc3QuaHRtbCBbIFBhc3MgXQogd2ViZ2wvMi4wLnkvY29uZm9ybWFuY2UvbWlzYy9pbnZh
bGlkLXBhc3NlZC1wYXJhbXMuaHRtbCBbIFBhc3MgXQogd2ViZ2wvMi4wLnkvY29uZm9ybWFuY2Uv
Z2xzbC9idWdzL2NoYXJhY3Rlci1zZXQuaHRtbCBbIFBhc3MgXQord2ViZ2wvMi4wLnkvY29uZm9y
bWFuY2UvdGV4dHVyZXMvbWlzYy90ZXh0dXJlLWNvcm5lci1jYXNlLXZpZGVvcy5odG1sIFsgUGFz
cyBdCiAKICMgV2ViR0wgMS4wLjMgYW5kIDIuMC4wIHRlc3RzIHdoZXJlIGJlaGF2aW9yIGlzIG9i
c29sZXRlIGFuZCBXZWJLaXQgY29udGFpbnMgaW1wbGVtZW50YXRpb24KICMgYW5kIHRlc3RzIGZv
ciB0aGUgbmV3IGJlaGF2aW9yLiBTaG91bGQgYmUgcmVtb3ZlZCBvbmNlIDEuMC4zIGFuZCAyLjAu
MCBhcmUgcmV0aXJlZC4K
</data>

          </attachment>
      

    </bug>

</bugzilla>