<?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>235526</bug_id>
          
          <creation_ts>2022-01-24 09:38:03 -0800</creation_ts>
          <short_desc>[iOS] Avoid calling IOSurfaceGetPropertyMaximum</short_desc>
          <delta_ts>2022-01-26 14:02:47 -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>WebKit Misc.</component>
          <version>WebKit Nightly 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=219484</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=221346</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>slewis</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1833370</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-24 09:38:03 -0800</bug_when>
    <thetext>There should be no need to call IOSurfaceGetPropertyMaximum on iOS, since the return value will exceed the hardcoded maximum.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833373</commentid>
    <comment_count>1</comment_count>
      <attachid>449826</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-24 09:40:16 -0800</bug_when>
    <thetext>Created attachment 449826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833385</commentid>
    <comment_count>2</comment_count>
      <attachid>449828</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-24 10:44:17 -0800</bug_when>
    <thetext>Created attachment 449828
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833387</commentid>
    <comment_count>3</comment_count>
      <attachid>449830</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-24 10:49:08 -0800</bug_when>
    <thetext>Created attachment 449830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833395</commentid>
    <comment_count>4</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-24 11:10:10 -0800</bug_when>
    <thetext>Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833396</commentid>
    <comment_count>5</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-24 11:10:30 -0800</bug_when>
    <thetext>&lt;rdar://85128431&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833431</commentid>
    <comment_count>6</comment_count>
      <attachid>449826</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-24 12:23:48 -0800</bug_when>
    <thetext>Comment on attachment 449826
Patch

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

&gt; Source/WebCore/platform/graphics/cocoa/IOSurface.mm:235
&gt; +    const int maxSurfaceDimension = 8 * 1024;

constexpr

&gt; Source/WebCore/platform/graphics/cocoa/IOSurface.mm:242
&gt;      const int maxSurfaceDimensionLowerBound = 1024;

constexpr

&gt; Source/WebCore/platform/graphics/cocoa/IOSurface.mm:244
&gt;      // IOSurface::maximumSize() can return { INT_MAX, INT_MAX } when hardware acceleration is unavailable.

I don’t understand how this comment relates to the code below, which does not return INT_MAX.

&gt; Source/WebCore/platform/graphics/cocoa/IOSurface.mm:245
&gt;      const int maxSurfaceDimension = 32 * 1024;

constexpr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833436</commentid>
    <comment_count>7</comment_count>
      <attachid>449843</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-24 12:32:53 -0800</bug_when>
    <thetext>Created attachment 449843
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833438</commentid>
    <comment_count>8</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-24 12:33:54 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Comment on attachment 449826 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=449826&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cocoa/IOSurface.mm:235
&gt; &gt; +    const int maxSurfaceDimension = 8 * 1024;
&gt; 
&gt; constexpr
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cocoa/IOSurface.mm:242
&gt; &gt;      const int maxSurfaceDimensionLowerBound = 1024;
&gt; 
&gt; constexpr
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cocoa/IOSurface.mm:244
&gt; &gt;      // IOSurface::maximumSize() can return { INT_MAX, INT_MAX } when hardware acceleration is unavailable.
&gt; 
&gt; I don’t understand how this comment relates to the code below, which does
&gt; not return INT_MAX.
&gt; 

Removed what seems to be an obsolete comment.

&gt; &gt; Source/WebCore/platform/graphics/cocoa/IOSurface.mm:245
&gt; &gt;      const int maxSurfaceDimension = 32 * 1024;
&gt; 
&gt; constexpr

Fixed!

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833464</commentid>
    <comment_count>9</comment_count>
      <attachid>449843</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-24 13:50:11 -0800</bug_when>
    <thetext>Comment on attachment 449843
Patch

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

&gt; Source/WebCore/platform/graphics/cocoa/IOSurface.mm:231
&gt; +static IntSize maxSurfaceDimensionCA()

Should be static constexpr IntSize. Unless the IntSize constructor is not constexpr, which it should be, but at that point it’s obviously too much for just this patch.

&gt; Source/WebCore/platform/graphics/cocoa/IOSurface.mm:-242
&gt; -    // IOSurface::maximumSize() can return { INT_MAX, INT_MAX } when hardware acceleration is unavailable.

Oh, wait, I figured out what this might have meant:

If hardware acceleration is unavailable, IOSurface::maximumSize() can return &quot;infinity&quot;, but we still want to impose a maximum in that case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833519</commentid>
    <comment_count>10</comment_count>
      <attachid>449870</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-24 15:12:22 -0800</bug_when>
    <thetext>Created attachment 449870
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833521</commentid>
    <comment_count>11</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-24 15:14:19 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #9)
&gt; Comment on attachment 449843 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=449843&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cocoa/IOSurface.mm:231
&gt; &gt; +static IntSize maxSurfaceDimensionCA()
&gt; 
&gt; Should be static constexpr IntSize. Unless the IntSize constructor is not
&gt; constexpr, which it should be, but at that point it’s obviously too much for
&gt; just this patch.
&gt; 

Fixed.

&gt; &gt; Source/WebCore/platform/graphics/cocoa/IOSurface.mm:-242
&gt; &gt; -    // IOSurface::maximumSize() can return { INT_MAX, INT_MAX } when hardware acceleration is unavailable.
&gt; 
&gt; Oh, wait, I figured out what this might have meant:
&gt; 
&gt; If hardware acceleration is unavailable, IOSurface::maximumSize() can return
&gt; &quot;infinity&quot;, but we still want to impose a maximum in that case.

I put the comment back in.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833561</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-24 17:03:53 -0800</bug_when>
    <thetext>Committed r288489 (246363@main): &lt;https://commits.webkit.org/246363@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449870.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834266</commentid>
    <comment_count>13</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-01-26 13:39:47 -0800</bug_when>
    <thetext>Why did we need this after https://trac.webkit.org/changeset/270392/webkit? We should send this from the UI Process already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834269</commentid>
    <comment_count>14</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-26 13:42:36 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #13)
&gt; Why did we need this after https://trac.webkit.org/changeset/270392/webkit?
&gt; We should send this from the UI Process already.

This will avoid the perf regression from https://trac.webkit.org/changeset/270392/webkit, I believe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834271</commentid>
    <comment_count>15</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-01-26 13:44:10 -0800</bug_when>
    <thetext>Bug 219484 has no mention of a revert or perf regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834275</commentid>
    <comment_count>16</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-26 13:54:24 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #15)
&gt; Bug 219484 has no mention of a revert or perf regression.

Yes, although I believe it was a launch time regression. Looking at WebProcessPoolCocoa.mm, I see:

// However, querying this is a launch time regression, so limit this to only the necessary case.
    if (m_defaultPageGroup-&gt;preferences().useGPUProcessForDOMRenderingEnabled())
        parameters.maximumIOSurfaceSize = WebCore::IOSurface::maximumSize();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834286</commentid>
    <comment_count>17</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-01-26 14:02:47 -0800</bug_when>
    <thetext>...which blames to bug 221346 so let&apos;s relate the bugs.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449826</attachid>
            <date>2022-01-24 09:40:16 -0800</date>
            <delta_ts>2022-01-24 12:27:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235526-20220124094015.patch</filename>
            <type>text/plain</type>
            <size>2201</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODQ1MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIyLTAxLTI0ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBdm9pZCBjYWxs
aW5nIElPU3VyZmFjZUdldFByb3BlcnR5TWF4aW11bQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NTI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgc2hvdWxkIGJlIG5vIG5lZWQgdG8gY2FsbCBJ
T1N1cmZhY2VHZXRQcm9wZXJ0eU1heGltdW0gb24gaU9TLCBzaW5jZSB0aGUgcmV0dXJuIHZhbHVl
IHdpbGwgZXhjZWVkIHRoZSBoYXJkY29kZWQgbWF4aW11bS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVN
YXhpbXVtU3VyZmFjZVNpemUpOgorCiAyMDIyLTAxLTI0ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxp
YS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGN1c3RvbUVsZW1lbnRzIHdoZW4gdHJhbnNpdGlvbmlu
ZyBkb2N1bWVudHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0lPU3VyZmFjZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9JT1N1cmZhY2UubW0JKHJldmlzaW9uIDI4ODI0NikKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbQkod29ya2luZyBjb3B5KQpA
QCAtMjMwLDIwICsyMzAsMjIgQEAgSU9TdXJmYWNlOjp+SU9TdXJmYWNlKCkgPSBkZWZhdWx0Owog
CiBzdGF0aWMgSW50U2l6ZSBjb21wdXRlTWF4aW11bVN1cmZhY2VTaXplKCkKIHsKKyNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQorICAgIC8vIE1hdGNoIGxpbWl0cyBpbXBvc2VkIGJ5IENvcmUgQW5p
bWF0aW9uLiBGSVhNRTogc2hvdWxkIGhhdmUgQVBJIGZvciB0aGlzIDxyZGFyOi8vcHJvYmxlbS8y
NTQ1NDE0OD4KKyAgICBjb25zdCBpbnQgbWF4U3VyZmFjZURpbWVuc2lvbiA9IDggKiAxMDI0Owor
ICAgIAorICAgIHJldHVybiB7IG1heFN1cmZhY2VEaW1lbnNpb24sIG1heFN1cmZhY2VEaW1lbnNp
b24gfTsKKyNlbHNlCiAgICAgSW50U2l6ZSBtYXhTaXplKGNsYW1wVG9JbnRlZ2VyKElPU3VyZmFj
ZUdldFByb3BlcnR5TWF4aW11bShrSU9TdXJmYWNlV2lkdGgpKSwgY2xhbXBUb0ludGVnZXIoSU9T
dXJmYWNlR2V0UHJvcGVydHlNYXhpbXVtKGtJT1N1cmZhY2VIZWlnaHQpKSk7CiAKICAgICAvLyBQ
cm90ZWN0IGFnYWluc3QgbWF4U2l6ZSBiZWluZyB7IDAsIDAgfS4KICAgICBjb25zdCBpbnQgbWF4
U3VyZmFjZURpbWVuc2lvbkxvd2VyQm91bmQgPSAxMDI0OwogCi0jaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKLSAgICAvLyBNYXRjaCBsaW1pdHMgaW1wb3NlZCBieSBDb3JlIEFuaW1hdGlvbi4gRklY
TUU6IHNob3VsZCBoYXZlIEFQSSBmb3IgdGhpcyA8cmRhcjovL3Byb2JsZW0vMjU0NTQxNDg+Ci0g
ICAgY29uc3QgaW50IG1heFN1cmZhY2VEaW1lbnNpb24gPSA4ICogMTAyNDsKLSNlbHNlCiAgICAg
Ly8gSU9TdXJmYWNlOjptYXhpbXVtU2l6ZSgpIGNhbiByZXR1cm4geyBJTlRfTUFYLCBJTlRfTUFY
IH0gd2hlbiBoYXJkd2FyZSBhY2NlbGVyYXRpb24gaXMgdW5hdmFpbGFibGUuCiAgICAgY29uc3Qg
aW50IG1heFN1cmZhY2VEaW1lbnNpb24gPSAzMiAqIDEwMjQ7Ci0jZW5kaWYKIAogICAgIHJldHVy
biBtYXhTaXplLmNvbnN0cmFpbmVkQmV0d2Vlbih7IG1heFN1cmZhY2VEaW1lbnNpb25Mb3dlckJv
dW5kLCBtYXhTdXJmYWNlRGltZW5zaW9uTG93ZXJCb3VuZCB9LCB7IG1heFN1cmZhY2VEaW1lbnNp
b24sIG1heFN1cmZhY2VEaW1lbnNpb24gfSk7CisjZW5kaWYKIH0KIAogc3RhdGljIFdURjo6QXRv
bWljPEludFNpemU+JiBzdXJmYWNlTWF4aW11bVNpemUoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449828</attachid>
            <date>2022-01-24 10:44:17 -0800</date>
            <delta_ts>2022-01-24 10:49:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235526-20220124104416.patch</filename>
            <type>text/plain</type>
            <size>2610</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODQ1MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIyLTAxLTI0ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBdm9pZCBjYWxs
aW5nIElPU3VyZmFjZUdldFByb3BlcnR5TWF4aW11bQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NTI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgc2hvdWxkIGJlIG5vIG5lZWQgdG8gY2FsbCBJ
T1N1cmZhY2VHZXRQcm9wZXJ0eU1heGltdW0gb24gaU9TLCBzaW5jZSB0aGUgcmV0dXJuIHZhbHVl
IHdpbGwgZXhjZWVkIHRoZSBoYXJkY29kZWQgbWF4aW11bS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVN
YXhpbXVtU3VyZmFjZVNpemUpOgorCiAyMDIyLTAxLTI0ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxp
YS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGN1c3RvbUVsZW1lbnRzIHdoZW4gdHJhbnNpdGlvbmlu
ZyBkb2N1bWVudHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0lPU3VyZmFjZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9JT1N1cmZhY2UubW0JKHJldmlzaW9uIDI4ODI0NikKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbQkod29ya2luZyBjb3B5KQpA
QCAtMjI4LDIyICsyMjgsMzAgQEAgSU9TdXJmYWNlOjpJT1N1cmZhY2UoSU9TdXJmYWNlUmVmIHN1
cmZhYwogCiBJT1N1cmZhY2U6On5JT1N1cmZhY2UoKSA9IGRlZmF1bHQ7CiAKLXN0YXRpYyBJbnRT
aXplIGNvbXB1dGVNYXhpbXVtU3VyZmFjZVNpemUoKQorc3RhdGljIEludFNpemUgbWF4U3VyZmFj
ZURpbWVuc2lvbigpCiB7Ci0gICAgSW50U2l6ZSBtYXhTaXplKGNsYW1wVG9JbnRlZ2VyKElPU3Vy
ZmFjZUdldFByb3BlcnR5TWF4aW11bShrSU9TdXJmYWNlV2lkdGgpKSwgY2xhbXBUb0ludGVnZXIo
SU9TdXJmYWNlR2V0UHJvcGVydHlNYXhpbXVtKGtJT1N1cmZhY2VIZWlnaHQpKSk7Ci0KLSAgICAv
LyBQcm90ZWN0IGFnYWluc3QgbWF4U2l6ZSBiZWluZyB7IDAsIDAgfS4KLSAgICBjb25zdCBpbnQg
bWF4U3VyZmFjZURpbWVuc2lvbkxvd2VyQm91bmQgPSAxMDI0OwotCi0jaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKICAgICAvLyBNYXRjaCBsaW1pdHMgaW1wb3NlZCBieSBDb3JlIEFuaW1hdGlvbi4g
RklYTUU6IHNob3VsZCBoYXZlIEFQSSBmb3IgdGhpcyA8cmRhcjovL3Byb2JsZW0vMjU0NTQxNDg+
CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBjb25zdCBpbnQgbWF4U3VyZmFjZURpbWVu
c2lvbiA9IDggKiAxMDI0OwogI2Vsc2UKICAgICAvLyBJT1N1cmZhY2U6Om1heGltdW1TaXplKCkg
Y2FuIHJldHVybiB7IElOVF9NQVgsIElOVF9NQVggfSB3aGVuIGhhcmR3YXJlIGFjY2VsZXJhdGlv
biBpcyB1bmF2YWlsYWJsZS4KICAgICBjb25zdCBpbnQgbWF4U3VyZmFjZURpbWVuc2lvbiA9IDMy
ICogMTAyNDsKICNlbmRpZgorICAgIHJldHVybiB7IG1heFN1cmZhY2VEaW1lbnNpb24sIG1heFN1
cmZhY2VEaW1lbnNpb24gfTsKK30KIAotICAgIHJldHVybiBtYXhTaXplLmNvbnN0cmFpbmVkQmV0
d2Vlbih7IG1heFN1cmZhY2VEaW1lbnNpb25Mb3dlckJvdW5kLCBtYXhTdXJmYWNlRGltZW5zaW9u
TG93ZXJCb3VuZCB9LCB7IG1heFN1cmZhY2VEaW1lbnNpb24sIG1heFN1cmZhY2VEaW1lbnNpb24g
fSk7CitzdGF0aWMgSW50U2l6ZSBjb21wdXRlTWF4aW11bVN1cmZhY2VTaXplKCkKK3sKKyNpZiBQ
TEFURk9STShJT1MpCisgICAgcmV0dXJuIG1heFN1cmZhY2VEaW1lbnNpb24oKTsKKyNlbHNlCisg
ICAgSW50U2l6ZSBtYXhTaXplKGNsYW1wVG9JbnRlZ2VyKElPU3VyZmFjZUdldFByb3BlcnR5TWF4
aW11bShrSU9TdXJmYWNlV2lkdGgpKSwgY2xhbXBUb0ludGVnZXIoSU9TdXJmYWNlR2V0UHJvcGVy
dHlNYXhpbXVtKGtJT1N1cmZhY2VIZWlnaHQpKSk7CisKKyAgICAvLyBQcm90ZWN0IGFnYWluc3Qg
bWF4U2l6ZSBiZWluZyB7IDAsIDAgfS4KKyAgICBjb25zdCBpbnQgbWF4U3VyZmFjZURpbWVuc2lv
bkxvd2VyQm91bmQgPSAxMDI0OworCisgICAgcmV0dXJuIG1heFNpemUuY29uc3RyYWluZWRCZXR3
ZWVuKHsgbWF4U3VyZmFjZURpbWVuc2lvbkxvd2VyQm91bmQsIG1heFN1cmZhY2VEaW1lbnNpb25M
b3dlckJvdW5kIH0sIG1heFN1cmZhY2VEaW1lbnNpb24oKSApOworI2VuZGlmCiB9CiAKIHN0YXRp
YyBXVEY6OkF0b21pYzxJbnRTaXplPiYgc3VyZmFjZU1heGltdW1TaXplKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449830</attachid>
            <date>2022-01-24 10:49:08 -0800</date>
            <delta_ts>2022-01-24 11:05:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235526-20220124104907.patch</filename>
            <type>text/plain</type>
            <size>2616</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODQ1MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIyLTAxLTI0ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBdm9pZCBjYWxs
aW5nIElPU3VyZmFjZUdldFByb3BlcnR5TWF4aW11bQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NTI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgc2hvdWxkIGJlIG5vIG5lZWQgdG8gY2FsbCBJ
T1N1cmZhY2VHZXRQcm9wZXJ0eU1heGltdW0gb24gaU9TLCBzaW5jZSB0aGUgcmV0dXJuIHZhbHVl
IHdpbGwgZXhjZWVkIHRoZSBoYXJkY29kZWQgbWF4aW11bS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVN
YXhpbXVtU3VyZmFjZVNpemUpOgorCiAyMDIyLTAxLTI0ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxp
YS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGN1c3RvbUVsZW1lbnRzIHdoZW4gdHJhbnNpdGlvbmlu
ZyBkb2N1bWVudHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0lPU3VyZmFjZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9JT1N1cmZhY2UubW0JKHJldmlzaW9uIDI4ODI0NikKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbQkod29ya2luZyBjb3B5KQpA
QCAtMjI4LDIyICsyMjgsMzAgQEAgSU9TdXJmYWNlOjpJT1N1cmZhY2UoSU9TdXJmYWNlUmVmIHN1
cmZhYwogCiBJT1N1cmZhY2U6On5JT1N1cmZhY2UoKSA9IGRlZmF1bHQ7CiAKLXN0YXRpYyBJbnRT
aXplIGNvbXB1dGVNYXhpbXVtU3VyZmFjZVNpemUoKQorc3RhdGljIEludFNpemUgbWF4U3VyZmFj
ZURpbWVuc2lvbkNBKCkKIHsKLSAgICBJbnRTaXplIG1heFNpemUoY2xhbXBUb0ludGVnZXIoSU9T
dXJmYWNlR2V0UHJvcGVydHlNYXhpbXVtKGtJT1N1cmZhY2VXaWR0aCkpLCBjbGFtcFRvSW50ZWdl
cihJT1N1cmZhY2VHZXRQcm9wZXJ0eU1heGltdW0oa0lPU3VyZmFjZUhlaWdodCkpKTsKLQotICAg
IC8vIFByb3RlY3QgYWdhaW5zdCBtYXhTaXplIGJlaW5nIHsgMCwgMCB9LgotICAgIGNvbnN0IGlu
dCBtYXhTdXJmYWNlRGltZW5zaW9uTG93ZXJCb3VuZCA9IDEwMjQ7Ci0KLSNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgIC8vIE1hdGNoIGxpbWl0cyBpbXBvc2VkIGJ5IENvcmUgQW5pbWF0aW9u
LiBGSVhNRTogc2hvdWxkIGhhdmUgQVBJIGZvciB0aGlzIDxyZGFyOi8vcHJvYmxlbS8yNTQ1NDE0
OD4KKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGNvbnN0IGludCBtYXhTdXJmYWNlRGlt
ZW5zaW9uID0gOCAqIDEwMjQ7CiAjZWxzZQogICAgIC8vIElPU3VyZmFjZTo6bWF4aW11bVNpemUo
KSBjYW4gcmV0dXJuIHsgSU5UX01BWCwgSU5UX01BWCB9IHdoZW4gaGFyZHdhcmUgYWNjZWxlcmF0
aW9uIGlzIHVuYXZhaWxhYmxlLgogICAgIGNvbnN0IGludCBtYXhTdXJmYWNlRGltZW5zaW9uID0g
MzIgKiAxMDI0OwogI2VuZGlmCisgICAgcmV0dXJuIHsgbWF4U3VyZmFjZURpbWVuc2lvbiwgbWF4
U3VyZmFjZURpbWVuc2lvbiB9OworfQogCi0gICAgcmV0dXJuIG1heFNpemUuY29uc3RyYWluZWRC
ZXR3ZWVuKHsgbWF4U3VyZmFjZURpbWVuc2lvbkxvd2VyQm91bmQsIG1heFN1cmZhY2VEaW1lbnNp
b25Mb3dlckJvdW5kIH0sIHsgbWF4U3VyZmFjZURpbWVuc2lvbiwgbWF4U3VyZmFjZURpbWVuc2lv
biB9KTsKK3N0YXRpYyBJbnRTaXplIGNvbXB1dGVNYXhpbXVtU3VyZmFjZVNpemUoKQoreworI2lm
IFBMQVRGT1JNKElPUykKKyAgICByZXR1cm4gbWF4U3VyZmFjZURpbWVuc2lvbkNBKCk7CisjZWxz
ZQorICAgIEludFNpemUgbWF4U2l6ZShjbGFtcFRvSW50ZWdlcihJT1N1cmZhY2VHZXRQcm9wZXJ0
eU1heGltdW0oa0lPU3VyZmFjZVdpZHRoKSksIGNsYW1wVG9JbnRlZ2VyKElPU3VyZmFjZUdldFBy
b3BlcnR5TWF4aW11bShrSU9TdXJmYWNlSGVpZ2h0KSkpOworCisgICAgLy8gUHJvdGVjdCBhZ2Fp
bnN0IG1heFNpemUgYmVpbmcgeyAwLCAwIH0uCisgICAgY29uc3QgaW50IG1heFN1cmZhY2VEaW1l
bnNpb25Mb3dlckJvdW5kID0gMTAyNDsKKworICAgIHJldHVybiBtYXhTaXplLmNvbnN0cmFpbmVk
QmV0d2Vlbih7IG1heFN1cmZhY2VEaW1lbnNpb25Mb3dlckJvdW5kLCBtYXhTdXJmYWNlRGltZW5z
aW9uTG93ZXJCb3VuZCB9LCBtYXhTdXJmYWNlRGltZW5zaW9uQ0EoKSApOworI2VuZGlmCiB9CiAK
IHN0YXRpYyBXVEY6OkF0b21pYzxJbnRTaXplPiYgc3VyZmFjZU1heGltdW1TaXplKCkK
</data>
<flag name="review"
          id="476050"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449843</attachid>
            <date>2022-01-24 12:32:53 -0800</date>
            <delta_ts>2022-01-24 12:32:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235526-20220124123253.patch</filename>
            <type>text/plain</type>
            <size>2704</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODQ2MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAxLTI0ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBdm9pZCBjYWxs
aW5nIElPU3VyZmFjZUdldFByb3BlcnR5TWF4aW11bQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NTI2CisgICAgICAgIDxyZGFyOi8vODUxMjg0MzE+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyIGFuZCBEYXJpbiBBZGxlci4KKwor
ICAgICAgICBUaGVyZSBzaG91bGQgYmUgbm8gbmVlZCB0byBjYWxsIElPU3VyZmFjZUdldFByb3Bl
cnR5TWF4aW11bSBvbiBpT1MsIHNpbmNlIHRoZSByZXR1cm4gdmFsdWUgd2lsbCBleGNlZWQgdGhl
IGhhcmRjb2RlZCBtYXhpbXVtLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
SU9TdXJmYWNlLm1tOgorICAgICAgICAoV2ViQ29yZTo6bWF4U3VyZmFjZURpbWVuc2lvbkNBKToK
KyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVNYXhpbXVtU3VyZmFjZVNpemUpOgorCiAyMDIyLTAx
LTI0ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFBhc3Mg
dGhlIERvY3VtZW50IHRocm91Z2ggYmluZGluZ3MgdG8gS2V5ZnJhbWVFZmZlY3Q6OnNldEtleWZy
YW1lcygpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1
cmZhY2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvSU9TdXJmYWNlLm1tCShyZXZpc2lvbiAyODgyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTIy
OCwyMiArMjI4LDI5IEBAIElPU3VyZmFjZTo6SU9TdXJmYWNlKElPU3VyZmFjZVJlZiBzdXJmYWMK
IAogSU9TdXJmYWNlOjp+SU9TdXJmYWNlKCkgPSBkZWZhdWx0OwogCitzdGF0aWMgSW50U2l6ZSBt
YXhTdXJmYWNlRGltZW5zaW9uQ0EoKQoreworICAgIC8vIE1hdGNoIGxpbWl0cyBpbXBvc2VkIGJ5
IENvcmUgQW5pbWF0aW9uLiBGSVhNRTogc2hvdWxkIGhhdmUgQVBJIGZvciB0aGlzIDxyZGFyOi8v
cHJvYmxlbS8yNTQ1NDE0OD4KKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGNvbnN0ZXhw
ciBpbnQgbWF4U3VyZmFjZURpbWVuc2lvbiA9IDggKiAxMDI0OworI2Vsc2UKKyAgICBjb25zdGV4
cHIgaW50IG1heFN1cmZhY2VEaW1lbnNpb24gPSAzMiAqIDEwMjQ7CisjZW5kaWYKKyAgICByZXR1
cm4geyBtYXhTdXJmYWNlRGltZW5zaW9uLCBtYXhTdXJmYWNlRGltZW5zaW9uIH07Cit9CisKIHN0
YXRpYyBJbnRTaXplIGNvbXB1dGVNYXhpbXVtU3VyZmFjZVNpemUoKQogeworI2lmIFBMQVRGT1JN
KElPUykKKyAgICByZXR1cm4gbWF4U3VyZmFjZURpbWVuc2lvbkNBKCk7CisjZWxzZQogICAgIElu
dFNpemUgbWF4U2l6ZShjbGFtcFRvSW50ZWdlcihJT1N1cmZhY2VHZXRQcm9wZXJ0eU1heGltdW0o
a0lPU3VyZmFjZVdpZHRoKSksIGNsYW1wVG9JbnRlZ2VyKElPU3VyZmFjZUdldFByb3BlcnR5TWF4
aW11bShrSU9TdXJmYWNlSGVpZ2h0KSkpOwogCiAgICAgLy8gUHJvdGVjdCBhZ2FpbnN0IG1heFNp
emUgYmVpbmcgeyAwLCAwIH0uCi0gICAgY29uc3QgaW50IG1heFN1cmZhY2VEaW1lbnNpb25Mb3dl
ckJvdW5kID0gMTAyNDsKKyAgICBjb25zdGV4cHIgaW50IG1heFN1cmZhY2VEaW1lbnNpb25Mb3dl
ckJvdW5kID0gMTAyNDsKIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgLy8gTWF0Y2gg
bGltaXRzIGltcG9zZWQgYnkgQ29yZSBBbmltYXRpb24uIEZJWE1FOiBzaG91bGQgaGF2ZSBBUEkg
Zm9yIHRoaXMgPHJkYXI6Ly9wcm9ibGVtLzI1NDU0MTQ4PgotICAgIGNvbnN0IGludCBtYXhTdXJm
YWNlRGltZW5zaW9uID0gOCAqIDEwMjQ7Ci0jZWxzZQotICAgIC8vIElPU3VyZmFjZTo6bWF4aW11
bVNpemUoKSBjYW4gcmV0dXJuIHsgSU5UX01BWCwgSU5UX01BWCB9IHdoZW4gaGFyZHdhcmUgYWNj
ZWxlcmF0aW9uIGlzIHVuYXZhaWxhYmxlLgotICAgIGNvbnN0IGludCBtYXhTdXJmYWNlRGltZW5z
aW9uID0gMzIgKiAxMDI0OworICAgIHJldHVybiBtYXhTaXplLmNvbnN0cmFpbmVkQmV0d2Vlbih7
IG1heFN1cmZhY2VEaW1lbnNpb25Mb3dlckJvdW5kLCBtYXhTdXJmYWNlRGltZW5zaW9uTG93ZXJC
b3VuZCB9LCBtYXhTdXJmYWNlRGltZW5zaW9uQ0EoKSApOwogI2VuZGlmCi0KLSAgICByZXR1cm4g
bWF4U2l6ZS5jb25zdHJhaW5lZEJldHdlZW4oeyBtYXhTdXJmYWNlRGltZW5zaW9uTG93ZXJCb3Vu
ZCwgbWF4U3VyZmFjZURpbWVuc2lvbkxvd2VyQm91bmQgfSwgeyBtYXhTdXJmYWNlRGltZW5zaW9u
LCBtYXhTdXJmYWNlRGltZW5zaW9uIH0pOwogfQogCiBzdGF0aWMgV1RGOjpBdG9taWM8SW50U2l6
ZT4mIHN1cmZhY2VNYXhpbXVtU2l6ZSgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449870</attachid>
            <date>2022-01-24 15:12:22 -0800</date>
            <delta_ts>2022-01-24 17:03:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235526-20220124151221.patch</filename>
            <type>text/plain</type>
            <size>2822</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODQ2MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAxLTI0ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBdm9pZCBjYWxs
aW5nIElPU3VyZmFjZUdldFByb3BlcnR5TWF4aW11bQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NTI2CisgICAgICAgIDxyZGFyOi8vODUxMjg0MzE+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyIGFuZCBEYXJpbiBBZGxlci4KKwor
ICAgICAgICBUaGVyZSBzaG91bGQgYmUgbm8gbmVlZCB0byBjYWxsIElPU3VyZmFjZUdldFByb3Bl
cnR5TWF4aW11bSBvbiBpT1MsIHNpbmNlIHRoZSByZXR1cm4gdmFsdWUgd2lsbCBleGNlZWQgdGhl
IGhhcmRjb2RlZCBtYXhpbXVtLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
SU9TdXJmYWNlLm1tOgorICAgICAgICAoV2ViQ29yZTo6bWF4U3VyZmFjZURpbWVuc2lvbkNBKToK
KyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVNYXhpbXVtU3VyZmFjZVNpemUpOgorCiAyMDIyLTAx
LTI0ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFBhc3Mg
dGhlIERvY3VtZW50IHRocm91Z2ggYmluZGluZ3MgdG8gS2V5ZnJhbWVFZmZlY3Q6OnNldEtleWZy
YW1lcygpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1
cmZhY2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvSU9TdXJmYWNlLm1tCShyZXZpc2lvbiAyODgyNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTIy
OCwyMiArMjI4LDMwIEBAIElPU3VyZmFjZTo6SU9TdXJmYWNlKElPU3VyZmFjZVJlZiBzdXJmYWMK
IAogSU9TdXJmYWNlOjp+SU9TdXJmYWNlKCkgPSBkZWZhdWx0OwogCitzdGF0aWMgY29uc3RleHBy
IEludFNpemUgbWF4U3VyZmFjZURpbWVuc2lvbkNBKCkKK3sKKyAgICAvLyBNYXRjaCBsaW1pdHMg
aW1wb3NlZCBieSBDb3JlIEFuaW1hdGlvbi4gRklYTUU6IHNob3VsZCBoYXZlIEFQSSBmb3IgdGhp
cyA8cmRhcjovL3Byb2JsZW0vMjU0NTQxNDg+CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAg
ICBjb25zdGV4cHIgaW50IG1heFN1cmZhY2VEaW1lbnNpb24gPSA4ICogMTAyNDsKKyNlbHNlCisg
ICAgLy8gSU9TdXJmYWNlOjptYXhpbXVtU2l6ZSgpIGNhbiByZXR1cm4geyBJTlRfTUFYLCBJTlRf
TUFYIH0gd2hlbiBoYXJkd2FyZSBhY2NlbGVyYXRpb24gaXMgdW5hdmFpbGFibGUuCisgICAgY29u
c3RleHByIGludCBtYXhTdXJmYWNlRGltZW5zaW9uID0gMzIgKiAxMDI0OworI2VuZGlmCisgICAg
cmV0dXJuIHsgbWF4U3VyZmFjZURpbWVuc2lvbiwgbWF4U3VyZmFjZURpbWVuc2lvbiB9OworfQor
CiBzdGF0aWMgSW50U2l6ZSBjb21wdXRlTWF4aW11bVN1cmZhY2VTaXplKCkKIHsKKyNpZiBQTEFU
Rk9STShJT1MpCisgICAgcmV0dXJuIG1heFN1cmZhY2VEaW1lbnNpb25DQSgpOworI2Vsc2UKICAg
ICBJbnRTaXplIG1heFNpemUoY2xhbXBUb0ludGVnZXIoSU9TdXJmYWNlR2V0UHJvcGVydHlNYXhp
bXVtKGtJT1N1cmZhY2VXaWR0aCkpLCBjbGFtcFRvSW50ZWdlcihJT1N1cmZhY2VHZXRQcm9wZXJ0
eU1heGltdW0oa0lPU3VyZmFjZUhlaWdodCkpKTsKIAogICAgIC8vIFByb3RlY3QgYWdhaW5zdCBt
YXhTaXplIGJlaW5nIHsgMCwgMCB9LgotICAgIGNvbnN0IGludCBtYXhTdXJmYWNlRGltZW5zaW9u
TG93ZXJCb3VuZCA9IDEwMjQ7CisgICAgY29uc3RleHByIGludCBtYXhTdXJmYWNlRGltZW5zaW9u
TG93ZXJCb3VuZCA9IDEwMjQ7CiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIC8vIE1h
dGNoIGxpbWl0cyBpbXBvc2VkIGJ5IENvcmUgQW5pbWF0aW9uLiBGSVhNRTogc2hvdWxkIGhhdmUg
QVBJIGZvciB0aGlzIDxyZGFyOi8vcHJvYmxlbS8yNTQ1NDE0OD4KLSAgICBjb25zdCBpbnQgbWF4
U3VyZmFjZURpbWVuc2lvbiA9IDggKiAxMDI0OwotI2Vsc2UKLSAgICAvLyBJT1N1cmZhY2U6Om1h
eGltdW1TaXplKCkgY2FuIHJldHVybiB7IElOVF9NQVgsIElOVF9NQVggfSB3aGVuIGhhcmR3YXJl
IGFjY2VsZXJhdGlvbiBpcyB1bmF2YWlsYWJsZS4KLSAgICBjb25zdCBpbnQgbWF4U3VyZmFjZURp
bWVuc2lvbiA9IDMyICogMTAyNDsKKyAgICByZXR1cm4gbWF4U2l6ZS5jb25zdHJhaW5lZEJldHdl
ZW4oeyBtYXhTdXJmYWNlRGltZW5zaW9uTG93ZXJCb3VuZCwgbWF4U3VyZmFjZURpbWVuc2lvbkxv
d2VyQm91bmQgfSwgbWF4U3VyZmFjZURpbWVuc2lvbkNBKCkgKTsKICNlbmRpZgotCi0gICAgcmV0
dXJuIG1heFNpemUuY29uc3RyYWluZWRCZXR3ZWVuKHsgbWF4U3VyZmFjZURpbWVuc2lvbkxvd2Vy
Qm91bmQsIG1heFN1cmZhY2VEaW1lbnNpb25Mb3dlckJvdW5kIH0sIHsgbWF4U3VyZmFjZURpbWVu
c2lvbiwgbWF4U3VyZmFjZURpbWVuc2lvbiB9KTsKIH0KIAogc3RhdGljIFdURjo6QXRvbWljPElu
dFNpemU+JiBzdXJmYWNlTWF4aW11bVNpemUoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>