<?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>235836</bug_id>
          
          <creation_ts>2022-01-28 14:18:49 -0800</creation_ts>
          <short_desc>Inert subtrees fail to block activation from contained svg elements</short_desc>
          <delta_ts>2022-05-26 14:51:58 -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>Layout and Rendering</component>
          <version>Safari Technology Preview</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://github.com/web-platform-tests/wpt/pull/32940</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>84635</blocked>
    
    <blocked>165279</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dan Hite">danhite</reporter>
          <assigned_to name="Tim Nguyen (:ntim)">ntim</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>clopez</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>ntim</cc>
    
    <cc>pdr</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1835149</commentid>
    <comment_count>0</comment_count>
    <who name="Dan Hite">danhite</who>
    <bug_when>2022-01-28 14:18:49 -0800</bug_when>
    <thetext>I just got ipadOS 15.4beta 1 and was excited to try the new &quot;inert&quot; idl/attribute
which worked as expected wrt the spec (good work, very cool!!);
https://html.spec.whatwg.org/multipage/interaction.html#inert

however the spec itself has a blindspot in that it refers to ~just html elements, ignoring the
&lt;svg&gt; elements integration within html

that is, on very first page I tried testing inert, which describes the inert attribute:
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert

^ then setting document.body.inert = true
Immediately I found an oops-isn&apos;t-actually-inert misfeature when tapping around the (inert) page suddenly nav&apos;ed me

you see, MDN does their upper left logo/link html &lt;a&gt; as having an &lt;svg&gt; graphic within it

if you replace the innerHTML of their &lt;a&gt; with text (ie html not svg) then the page was satisfactorily inert

but your hit-test-event-dispatch code for a tap within the svg apparently doesn&apos;t follow your new html inert logic
since it dispatches and bubbles into the html &lt;a&gt; and thus navs


if the inert feature, in future, were in widespread use, then this spec foo could be a minor security issue, as page authors might
assume they&apos;d locked down ui on a piece sanitized html, but suddenly a simplistic attack gets an activation ala
&lt;svg&gt;&lt;a ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835290</commentid>
    <comment_count>1</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2022-01-29 08:48:10 -0800</bug_when>
    <thetext>(In reply to Dan Hite from comment #0)
&gt; I just got ipadOS 15.4beta 1 and was excited to try the new &quot;inert&quot;
&gt; idl/attribute
&gt; which worked as expected wrt the spec (good work, very cool!!);
&gt; https://html.spec.whatwg.org/multipage/interaction.html#inert
&gt; 
&gt; however the spec itself has a blindspot in that it refers to ~just html
&gt; elements, ignoring the
&gt; &lt;svg&gt; elements integration within html

pretty sure from a spec POV it applies to the entire subtree, regardless of whether they&apos;re HTML or SVG or MathML or anything else

&gt; 
&gt; that is, on very first page I tried testing inert, which describes the inert
&gt; attribute:
&gt; https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert
&gt; 
&gt; ^ then setting document.body.inert = true
&gt; Immediately I found an oops-isn&apos;t-actually-inert misfeature when tapping
&gt; around the (inert) page suddenly nav&apos;ed me
&gt; 
&gt; you see, MDN does their upper left logo/link html &lt;a&gt; as having an &lt;svg&gt;
&gt; graphic within it
&gt; 
&gt; if you replace the innerHTML of their &lt;a&gt; with text (ie html not svg) then
&gt; the page was satisfactorily inert
&gt; 
&gt; but your hit-test-event-dispatch code for a tap within the svg apparently
&gt; doesn&apos;t follow your new html inert logic
&gt; since it dispatches and bubbles into the html &lt;a&gt; and thus navs
&gt; 
&gt; 
&gt; if the inert feature, in future, were in widespread use, then this spec foo
&gt; could be a minor security issue, as page authors might
&gt; assume they&apos;d locked down ui on a piece sanitized html, but suddenly a
&gt; simplistic attack gets an activation ala
&gt; &lt;svg&gt;&lt;a ...

That said, this does sound like a bug in WebKit…</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836194</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-01 15:46:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/88352589&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837372</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-02-04 07:21:19 -0800</bug_when>
    <thetext>Seems like this affects inertness created by modal dialogs as well, not just the inert attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837376</commentid>
    <comment_count>4</comment_count>
      <attachid>450893</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-02-04 07:23:13 -0800</bug_when>
    <thetext>Created attachment 450893
Testcase using modal dialogs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837381</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-02-04 07:30:32 -0800</bug_when>
    <thetext>Looks like SVG has its own pointerEvents checks: https://sourcegraph.com/search?q=context:global+repo:%5Egithub%5C.com/WebKit/WebKit%24+pointerEvents%28%29&amp;patternType=literal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844637</commentid>
    <comment_count>6</comment_count>
      <attachid>452854</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-02-22 04:04:41 -0800</bug_when>
    <thetext>Created attachment 452854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844638</commentid>
    <comment_count>7</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-02-22 04:05:18 -0800</bug_when>
    <thetext>Submitted web-platform-tests pull request: https://github.com/web-platform-tests/wpt/pull/32940</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844639</commentid>
    <comment_count>8</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-02-22 04:07:12 -0800</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844644</commentid>
    <comment_count>9</comment_count>
      <attachid>452854</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-02-22 04:30:39 -0800</bug_when>
    <thetext>Comment on attachment 452854
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Re-using visibleToHitTesting in SVG code isn&apos;t possible, because visibleToHitTesting removes visibility: hidden;
&gt; +        content from hit-testing, which we do not want to here, since pointer-events has values for SVG which still

That&apos;s pretty silly. SVG spec really makes invisible things hittable?

&gt; Source/WebCore/rendering/style/RenderStyle.h:716
&gt; +    PointerEvents pointerEventsIncludingInert() const { return effectiveInert() ? PointerEvents::None : pointerEvents(); }

I think you proposed effectiveUserSelect() earlier but we then went with *IncludingInert instead. I think you were right and we should just go with effective* with all these (it reads better and is more expandable), wether backed by a fake property or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844646</commentid>
    <comment_count>10</comment_count>
      <attachid>452854</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-02-22 04:38:24 -0800</bug_when>
    <thetext>Comment on attachment 452854
Patch

visibleToHitTesting() should likely also use the new effective getter. That would fix an apparent bug too where ignoreCSSPointerEventsProperty is not respected for inert. Looking at the call site, it is used for color sampling which should happen on inert elements too (it could use renaming).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844648</commentid>
    <comment_count>11</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-02-22 04:48:00 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #9)
&gt; Comment on attachment 452854 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=452854&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        Re-using visibleToHitTesting in SVG code isn&apos;t possible, because visibleToHitTesting removes visibility: hidden;
&gt; &gt; +        content from hit-testing, which we do not want to here, since pointer-events has values for SVG which still
&gt; 
&gt; That&apos;s pretty silly. SVG spec really makes invisible things hittable?

As surprising as it is, yes: https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events#svg_only_experimental_for_html

There are the visibilePainted/visibleFill/visibleStroke/visible values to omit visibility: hidden elements.

(In reply to Antti Koivisto from comment #10)
&gt; Comment on attachment 452854 [details]
&gt; Patch
&gt; 
&gt; visibleToHitTesting() should likely also use the new effective getter. That
&gt; would fix an apparent bug too where ignoreCSSPointerEventsProperty is not
&gt; respected for inert. Looking at the call site, it is used for color sampling
&gt; which should happen on inert elements too (it could use renaming).

Sounds good, will change that then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844658</commentid>
    <comment_count>12</comment_count>
      <attachid>452858</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-02-22 05:57:29 -0800</bug_when>
    <thetext>Created attachment 452858
[fast-cq] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844699</commentid>
    <comment_count>13</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-02-22 07:46:08 -0800</bug_when>
    <thetext>Committed r290306 (247629@trunk): &lt;https://commits.webkit.org/247629@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1872139</commentid>
    <comment_count>14</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-05-26 14:51:58 -0700</bug_when>
    <thetext>This fix shipped with Safari 15.5 (all platforms).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>450893</attachid>
            <date>2022-02-04 07:23:13 -0800</date>
            <delta_ts>2022-02-04 07:23:13 -0800</delta_ts>
            <desc>Testcase using modal dialogs</desc>
            <filename>inert-svg.html</filename>
            <type>text/html</type>
            <size>6301</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">PGEgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmciPjxzdmcgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNDUxLjc0IDEzNSIgcm9sZT0iaW1n
Ij48dGl0bGU+TUROIExvZ288L3RpdGxlPjxwYXRoIGQ9Ik03LjE0LDguMzVWMTE5LjQxSDExOC4x
OVY4LjM1Wm0xMDMuNzEsNTZjLS40OC45Mi0xLDEuNzktMS40NiwyLjcxYTMuNDQsMy40NCwwLDAs
MS0zLjU0LDIsMi40LDIuNCwwLDAsMC0xLjU1LjVjLTEuMzcuOS0yLjc2LDEuNzktNC4xOCwyLjYz
YTcuMzMsNy4zMywwLDAsMS02LjM1LjM0LDI5LjcxLDI5LjcxLDAsMCwwLTEwLjYzLTIsMTEuNywx
MS43LDAsMCwwLTkuNDYsNC4zMSwxNC44NCwxNC44NCwwLDAsMC0yLjEzLDQuMjljLTEuMjQsMy4w
Ny0yLjMsMjEuMzgtMi4zLDI2LjA1LDAsMC0xNy42Mi0zLjQyLTM0LjE1LTIwLjM0bDQuMzEtMTEu
MzJIMjUuOTFsOS43Ni0xMC4zNUgxOC44N2w5Ljc3LTEwLjM0SDEyLjY5TDMwLjQ1LDM0QTQwLjks
NDAuOSwwLDAsMSw1MC4yMiwyMy4xN2M3LjEtMS4yMiw4LjkzLS41MywxMy4zMS43N2wyLjQzLjcz
Ljg1LjI1LDMuMS45NWExMi41NiwxMi41NiwwLDAsMCw2LjIxLjA5LDExLjM3LDExLjM3LDAsMCwx
LDguMjUsMSw4LjI0LDguMjQsMCwwLDEsNC4xLDYuMjIsNy4yOSw3LjI5LDAsMCwwLDMuNjEsNS40
OSw1OS40NSw1OS40NSwwLDAsMCw5LjMyLDQuMTFjMi4yNy44Niw0LjU0LDEuODQsNi43OSwyLjcy
YTYuODEsNi44MSwwLDAsMSwyLjg2LDIuMDYsNC44MSw0LjgxLDAsMCwxLDEuMSwyLjczYy4xNCwy
LC4zNyw0LC40Nyw2aDBBMTUuMjQsMTUuMjQsMCwwLDEsMTEwLjg1LDY0LjMyWiI+PC9wYXRoPjxw
YXRoIGQ9Ik0zMjAuMTIsMzkuNjJhNS40Miw1LjQyLDAsMCwwLTQuNTMsMi4xMyw3LjM2LDcuMzYs
MCwwLDAtMS43LDQuNDN2Mi4zNmE2LjI4LDYuMjgsMCwwLDAsMS43LDQuNDYsNS42Myw1LjYzLDAs
MCwwLDQuMywxLjgyLDUuMTIsNS4xMiwwLDAsMCw0LjU3LTIuMjdBOS43LDkuNywwLDAsMCwzMjYs
NDdhOC4xMSw4LjExLDAsMCwwLTEuNjctNS41MkE1LjM2LDUuMzYsMCwwLDAsMzIwLjEyLDM5LjYy
WiI+PC9wYXRoPjxwYXRoIGQ9Ik0zODcuMzgsMzkuNTNhNS41Miw1LjUyLDAsMCwwLTQuNywyLjE1
LDguOCw4LjgsMCwwLDAtMS42Myw1LjQ5LDkuMjMsOS4yMywwLDAsMCwxLjU4LDUuNDUsNS4zOCw1
LjM4LDAsMCwwLDQuNywyLjI1LDUuNjEsNS42MSwwLDAsMCw0Ljc0LTIuMiw4LjkxLDguOTEsMCww
LDAsMS42OC01LjU5QTguMjQsOC4yNCwwLDAsMCwzOTIsNDEuNTYsNS43Niw1Ljc2LDAsMCwwLDM4
Ny4zOCwzOS41M1oiPjwvcGF0aD48cGF0aCBkPSJNMjk5LjQ3LDQxLjM1YTQuMzQsNC4zNCwwLDAs
MC00LTEuOTIsNC41NSw0LjU1LDAsMCwwLTMuODksMS43M0E4LjM3LDguMzcsMCwwLDAsMjkwLDQ1
LjMzaDEwLjQ4QTYuMyw2LjMsMCwwLDAsMjk5LjQ3LDQxLjM1WiI+PC9wYXRoPjxwYXRoIGQ9Ik0z
NTcuNzQsMzAuNzVIMzUyVjU0LjA2aDUuNzJxNS40NywwLDguMzUtM1QzNjksNDIuNDFxMC01LjQz
LTIuODgtOC41NVQzNTcuNzQsMzAuNzVaIj48L3BhdGg+PHBhdGggZD0iTTEyMS41NSw4LjM1djcw
LjhoMzIzVjguMzVaTTE2My43NiwzMC44aC00VjU0aDMuNjh2My43M0gxNTIuMTlWNTRoMy4zMVYz
Ni43OWgtLjE5bC05LjYzLDE5LjEyaC0yLjEybC0xMC0xOS40aC0uMTlWNTRoMy40NXYzLjczSDEy
NS42N1Y1NGgzLjY4VjMwLjhoLTRWMjcuMDdIMTMzbDExLjY2LDIyLjU2aC4xOWwxMS4xOC0yMi41
Nmg3LjdabTI5LjEyLDIyLjY3cS00LjExLDQuMjgtMTEuMzgsNC4yOEgxNjcuNDRWNTQuMDZoMy43
M1YzMC43NWgtMy43M1YyNy4wN2gxMy44M3E3LjU5LDAsMTEuNjYsNC4yOWExNS40LDE1LjQsMCww
LDEsNCwxMUExNS4zMywxNS4zMywwLDAsMSwxOTIuODgsNTMuNDdaTTIzMS43NywzMC44aC0zLjY4
djI3aC0yLjZMMjA4LjA4LDM1aC0uMTlWNTRoNC42N3YzLjczSDIwMC4zNFY1NGgzLjQ5VjMwLjho
LTRWMjcuMDdoNy4wOGwxNi45LDIyLjA5SDIyNFYzMC44aC00LjU4VjI3LjA3aDEyLjMyWm00My44
LDI3aC0zLjMxbC03LjgzLTIzLjE4aC0uMTlsLTcuNTUsMjMuMThoLTMuMzVMMjQ0LjU2LDMwLjho
LTIuNjVWMjcuMDdIMjUzVjMwLjhoLTMuODdMMjU1LDUwLjcxaC4yM2w2LjYxLTE5LjkxSDI1OVYy
Ny4wN2gxMVYzMC44aC0yLjc4bDYuNjEsMjAuMWguMjNsNS40My0yMC4xaC00LjE1VjI3LjA3aDEx
VjMwLjhoLTIuNTRabTI2LjcxLTEuNTFhOS42Niw5LjY2LDAsMCwxLTYuNDIsMiwxMC4yLDEwLjIs
MCwwLDEtNy40MS0yLjc0Yy0xLjg5LTEuODItMi44My00LjQ3LTIuODMtNy45M2ExMi4zNywxMi4z
NywwLDAsMSwyLjY0LTguMTIsOSw5LDAsMCwxLDcuMzItMy4yMSw4LjYyLDguNjIsMCwwLDEsNi43
NSwyLjY5LDkuNjUsOS42NSwwLDAsMSwyLjQ1LDYuNTIsMTMuNjcsMTMuNjcsMCwwLDEtLjI4LDIu
NjlIMjkwcS4yOSw2LjcxLDYuMTgsNi43YTUuMiw1LjIsMCwwLDAsMy43MS0xLjE4LDUuODIsNS44
MiwwLDAsMCwxLjY3LTIuODNsMy40NS43MUE3LjIxLDcuMjEsMCwwLDEsMzAyLjI4LDU2LjI0Wm0y
NS43Ny0xLjYzYy0xLjUxLDIuNC0zLjkyLDMuNjEtNy4yMiwzLjYxcy01Ljg0LTEuMjktNy4yMi0z
Ljg3YzAsLjI1LS4xLjgyLS4yMSwxLjdzLS4xOSwxLjQ0LS4yMiwxLjdIMzA5Yy4xNi0xLC4zMS0y
LC40Ny0zLjA3YTIxLjQyLDIxLjQyLDAsMCwwLC4yNC0zLjE2di0yM2gtMy40VjI1LjI3aDcuNTVW
NDAuOWE5Ljc2LDkuNzYsMCwwLDEsMi42Ny0zLjI4LDcuMzMsNy4zMywwLDAsMSw0Ljc0LTEuNEE4
LjQ4LDguNDgsMCwwLDEsMzI3Ljc3LDM5cTIuNTUsMi43NCwyLjU1LDcuNzRBMTQuNiwxNC42LDAs
MCwxLDMyOC4wNSw1NC42MVptNDEuMzktMS4xNHEtNC4xMSw0LjI4LTExLjM3LDQuMjhIMzQ0VjU0
LjA2aDMuNzNWMzAuNzVIMzQ0VjI3LjA3aDEzLjgzcTcuNTksMCwxMS42Niw0LjI5YTE1LjQxLDE1
LjQxLDAsMCwxLDQuMDYsMTFBMTUuMzQsMTUuMzQsMCwwLDEsMzY5LjQ0LDUzLjQ3Wm0yNS42NSwx
LjY4YTEwLjUzLDEwLjUzLDAsMCwxLTcuOSwzLjA3LDEwLDEwLDAsMCwxLTcuNjMtMywxMC45Mywx
MC45MywwLDAsMS0yLjgtNy44MywxMi4xMywxMi4xMywwLDAsMSwyLjY5LTcuOTNxMi42OS0zLjMs
OC0zLjN0OCwzLjI4YTEyLDEyLDAsMCwxLDIuNjQsNy43NkExMC44NiwxMC44NiwwLDAsMSwzOTUu
MDksNTUuMTVabTIyLjYxLjU3Yy0xLjQsMS42Ni0zLjYzLDIuNS02LjY4LDIuNWE5LjU4LDkuNTgs
MCwwLDEtNy4xNS0yLjc2cS0yLjcyLTIuNzYtMi43MS03LjkxYTEyLjI1LDEyLjI1LDAsMCwxLDIu
NjktOCw5LjE3LDkuMTcsMCwwLDEsNy41LTMuMjgsMTUsMTUsMCwwLDEsMy44Mi40OCwxMC4zNywx
MC4zNywwLDAsMSwzLjUsMS42NWwuODUsNS40Ny0zLjM1LjM4LS43Ni0zLjU0YTguMDcsOC4wNyww
LDAsMC00LjExLTEsNC45LDQuOSwwLDAsMC00LjM5LDIuMTUsOS45Myw5LjkzLDAsMCwwLTEuNDEs
NS41NUE4LjksOC45LDAsMCwwLDQwNyw1Mi44NGE1LjIzLDUuMjMsMCwwLDAsNC40NCwyYzIuOTIs
MCw0LjY3LTEuNyw1LjIzLTUuMWwzLjUuNzFBMTAuMzQsMTAuMzQsMCwwLDEsNDE3LjcsNTUuNzJa
bTIwLjQ4Ljc1YTExLjY4LDExLjY4LDAsMCwxLTYuNjMsMS43NSwxNS41MiwxNS41MiwwLDAsMS04
LjI2LTIuMDhMNDI0LDUxbDMuMjYuMzMtLjEsMi43NGE3LDcsMCwwLDAsMi4wNi42NiwxMi42Mywx
Mi42MywwLDAsMCwyLjE5LjE5LDguNjgsOC42OCwwLDAsMCwzLjY2LS43NSwyLjUsMi41LDAsMCww
LDEuNjMtMi4zNiwyLjI1LDIuMjUsMCwwLDAtMS4zMi0yLjIsMTIuNjUsMTIuNjUsMCwwLDAtMy4y
OC0xYy0xLjMxLS4yMi0yLjYxLS40OS0zLjktLjgyYTcuNSw3LjUsMCwwLDEtMy4yNS0xLjcsNC42
Nyw0LjY3LDAsMCwxLTEuMzMtMy42NmMwLTIuMzYuODgtNCwyLjYyLTQuOTFhMTIsMTIsMCwwLDEs
NS42LTEuMzcsMTUsMTUsMCwwLDEsNC4wOC41NSwxNi42NSwxNi42NSwwLDAsMSwzLjQ3LDEuMzls
LjQ3LDUuMS0zLjMuMzctLjQ4LTMuM2E5LjUsOS41LDAsMCwwLTQuMDYtLjksNS42Miw1LjYyLDAs
MCwwLTIuODcuNjZBMi4zMywyLjMzLDAsMCwwLDQyOCw0Mi4yN2EyLjEzLDIuMTMsMCwwLDAsMS4z
LDIuMDcsMTEuOTEsMTEuOTEsMCwwLDAsMy4yMS45MiwzNi42OSwzNi42OSwwLDAsMSwzLjgyLjgz
LDcuNDYsNy40NiwwLDAsMSwzLjIxLDEuNzQsNC45LDQuOSwwLDAsMSwxLjMsMy43M0E1LjU2LDUu
NTYsMCwwLDEsNDM4LjE4LDU2LjQ3WiI+PC9wYXRoPjxwYXRoIGQ9Ik0xODEuMTcsMzAuNzVoLTUu
NzFWNTQuMDZoNS43MXE1LjQ3LDAsOC4zNi0zdDIuODgtOC42MXEwLTUuNDMtMi44OC04LjU1VDE4
MS4xNywzMC43NVoiPjwvcGF0aD48cGF0aCBkPSJNMTIxLjYzLDExOS4zMlY4MS43NEgyMzYuNTR2
MzcuNThaTTE1My4yMiwxMDloLTJ2LTYuODVhNC44LDQuOCwwLDAsMC0xLjU4LTQsNS41Nyw1LjU3
LDAsMCwwLTMuNTUtMS4yNiw1LDUsMCwwLDAtNC45MiwzLjI2LDQuMTksNC4xOSwwLDAsMC0xLjg4
LTIuNDYsNS44Miw1LjgyLDAsMCwwLTMtLjgsNC44OSw0Ljg5LDAsMCwwLTQuNTYsMi41NlY5Ny4y
NGgtNi4yOHYzLjI2aDJWMTA5aC0ydjMuMjNoOS4xMVYxMDlIMTMxLjd2LTUuMjVhNC40LDQuNCww
LDAsMSwuNjktMi41NiwyLjQ3LDIuNDcsMCwwLDEsMi4yMS0xcTIuNTcsMCwyLjU2LDMuNjN2OC40
MWg2LjI5VjEwOWgtMnYtNS4yNWE0LjQ3LDQuNDcsMCwwLDEsLjY3LTIuNTYsMi40MiwyLjQyLDAs
MCwxLDIuMTktMXEyLjYzLDAsMi42MywzLjYzdjguNDFoNi4yOFptOS44OC0xMi4wN3EtNCwwLTYs
Mi4zNmE4LjQxLDguNDEsMCwwLDAtMiw1LjY2LDcuMjUsNy4yNSwwLDAsMCwyLjE3LDUuNjIsOCw4
LDAsMCwwLDUuNjUsMiw4LjU0LDguNTQsMCwwLDAsNS45NC0yLjExLDcuMjcsNy4yNywwLDAsMCwy
LjM0LTUuNjcsOC4yMSw4LjIxLDAsMCwwLTItNS41MVExNjcuMTMsOTYuOTQsMTYzLjEsOTYuOTRa
TTE2MywxMDkuMjhhMywzLDAsMCwxLTIuNjMtMS4zMyw1LjY4LDUuNjgsMCwwLDEtLjktMy4yNiw1
LDUsMCwwLDEsMS0zLjI4LDMuMjMsMy4yMywwLDAsMSwyLjYxLTEuMTgsMy41LDMuNSwwLDAsMSwy
LjU5LDEuMDgsNC41Niw0LjU2LDAsMCwxLDEuMDcsMy4zMSw1LjIxLDUuMjEsMCwwLDEtMSwzLjQx
QTMuMzMsMy4zMywwLDAsMSwxNjMsMTA5LjI4Wm0yNS0yLjMtMy4zOS0uMjktLjcsMi4zMkgxNzls
OC4zMi05LjU0TDE4Nyw5Ny4yNEgxNzMuODFsLS41Myw1LjI1LDMuMTYuMzQuNjctMi4zNmg0LjY1
TDE3My41MSwxMTBsLjQ0LDIuMjZoMTMuMTNabTcuNjItOS43NGgtNC40NnY1LjM5aDQuNDZabTAs
OS42MWgtNC40NnY1LjM5aDQuNDZabTEzLjU0LTE3LjQ5aC00LjIzbC02LjQ4LDIyLjg4aDQuMjJa
bTguNjgsMGgtNC4yM2wtNi40NSwyMi44OGg0LjE5Wm0xNSwyMi41MS0uMDctMi4yNmExLjIyLDEu
MjIsMCwwLDEtLjU2LjFjLS42OSwwLTEtLjM5LTEtMS4xNnYtNi40OWE0LjM5LDQuMzksMCwwLDAt
MS44LTMuODQsNyw3LDAsMCwwLTQuMTYtMS4yOCwxNC41NSwxNC41NSwwLDAsMC0zLjE2LjMsMjQu
MTQsMjQuMTQsMCwwLDAtMy4yOSwxLjA2bC0uNTYsMy40NiwzLjM5LjQuNS0xLjY5YTIuNzgsMi43
OCwwLDAsMSwxLjA4LS4zNywxMS4zLDExLjMsMCwwLDEsMS4yNS0uMDdjMS4xOSwwLDEuODkuMzcs
Mi4wOSwxLjFhOC41NSw4LjU1LDAsMCwxLC4zLDIuMjZ2LjVhOC45MSw4LjkxLDAsMCwwLTEuMTgt
LjExYy0uNDEsMC0uODEsMC0xLjIxLDBhMTIuNjQsMTIuNjQsMCwwLDAtNC44MS44OCwzLjUzLDMu
NTMsMCwwLDAtMi4xOCwzLjY0LDMuNjYsMy42NiwwLDAsMCwxLjQ4LDMuMzMsNS42Myw1LjYzLDAs
MCwwLDMuMTEsMSw0LjY3LDQuNjcsMCwwLDAsMy0uOTEsNi43OCw2Ljc4LDAsMCwwLDEuOC0yLDMs
MywwLDAsMCwzLjMzLDNBNS41NCw1LjU0LDAsMCwwLDIzMi44NSwxMTEuODdabS05LjI1LTIuMzJh
MS42OSwxLjY5LDAsMCwxLTEuMzYtLjUyLDEuODEsMS44MSwwLDAsMS0uNDMtMS4yMSwxLjY3LDEu
NjcsMCwwLDEsLjg2LTEuNjgsNC42Myw0LjYzLDAsMCwxLDItLjQyLDcuNjksNy42OSwwLDAsMSwx
LjA3LjA3bDEuMDYuMTNhMy41OCwzLjU4LDAsMCwxLTEuMDgsMi43NEEzLjI0LDMuMjQsMCwwLDEs
MjIzLjYsMTA5LjU1WiI+PC9wYXRoPjwvc3ZnPjwvYT4KPGRpYWxvZz4KVGhlIE1ETiBsb2dvIHNo
b3VsZCBub3QgYmUgY2xpY2thYmxlCjwvZGlhbG9nPgo8c2NyaXB0Pgpkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCJkaWFsb2ciKS5zaG93TW9kYWwoKTsKPC9zY3JpcHQ+CjxzdHlsZT4KICAgIDo6YmFj
a2Ryb3Age2Rpc3BsYXk6IG5vbmU7fQo8L3N0eWxlPg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452854</attachid>
            <date>2022-02-22 04:04:41 -0800</date>
            <delta_ts>2022-02-22 05:50:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235836-20220222130440.patch</filename>
            <type>text/plain</type>
            <size>20471</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzFlYWU2OTg2YzljOTUx
NTY2OWZlYzQxNjA0YTRiYWM1NGExYTRkMS4uNWU4ZDIzYTUxMjgxZGYwOWIzYjk0NWQxOWZhMGY3
M2U5NjIwYThmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIyLTAyLTIyICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBwb2ludGVyLWV2ZW50cyBj
aGVja3MgZm9yIFNWRyB0YWtlIGluIGFjY291bnQgaW5lcnQgc3VidHJlZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTgzNgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlLXVzaW5nIHZpc2libGVUb0hp
dFRlc3RpbmcgaW4gU1ZHIGNvZGUgaXNuJ3QgcG9zc2libGUsIGJlY2F1c2UgdmlzaWJsZVRvSGl0
VGVzdGluZyByZW1vdmVzIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICAgICAgY29udGVudCBmcm9t
IGhpdC10ZXN0aW5nLCB3aGljaCB3ZSBkbyBub3Qgd2FudCB0byBoZXJlLCBzaW5jZSBwb2ludGVy
LWV2ZW50cyBoYXMgdmFsdWVzIGZvciBTVkcgd2hpY2ggc3RpbGwKKyAgICAgICAgYWxsb3cgY2xp
Y2tpbmcgY29udGVudCByZWdhcmRsZXNzIG9mIHRoZWlyIHZpc2liaWxpdHkgdmFsdWUgKHBvaW50
ZXItZXZlbnRzOiBwYWludGVkL2ZpbGwvc3Ryb2tlL2FsbCkuCisKKyAgICAgICAgSW5zdGVhZCwg
d2UgYWRkIHBvaW50ZXJFdmVudHNJbmNsdWRpbmdJbmVydCwgc2ltaWxhciB0byB1c2VyU2VsZWN0
SW5jbHVkaW5nSW5lcnQgYW5kIHJlLXVzZSB0aGF0IGFjcm9zcyB0aGUgY29kZWJhc2UuCisKKyAg
ICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2luZXJ0LXN2Zy1oaXR0
ZXN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW5lcnQvaW5lcnQtc3ZnLWhpdHRlc3QudGVudGF0aXZlLmh0bWwKKworICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6
OnN0eWxlV2lsbENoYW5nZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmxheWVy
U3R5bGVDaGFuZ2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpwb2ludGVyRXZlbnRzSW5jbHVkaW5nSW5l
cnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZHTW9kZWxP
YmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5UmVuZGVyU1ZHTW9kZWxPYmplY3Q6
OmNoZWNrSW50ZXJzZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeVJlbmRlclNWR01v
ZGVsT2JqZWN0OjpjaGVja0VuY2xvc3VyZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9MZWdh
Y3lSZW5kZXJTVkdTaGFwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lSZW5kZXJTVkdT
aGFwZTo6bm9kZUF0RmxvYXRQb2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdJbWFnZTo6bm9kZUF0Rmxv
YXRQb2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdNb2RlbE9iamVjdDo6Y2hlY2tJbnRlcnNl
Y3Rpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHU2hhcGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHU2hhcGU6Om5vZGVBdFBvaW50KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHVGV4dDo6bm9kZUF0RmxvYXRQb2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdJ
bmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6Om5v
ZGVBdFBvaW50KToKKwogMjAyMi0wMi0yMCAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLCBub24tdW5pZmllZCBidWlsZCBmaXhlcyBhZnRlciAy
NDc1MDhAbWFpbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmlu
ZGV4IGZiYjhiODZlM2ZlMzZjNTNkOTZiMjM0ZmMxZTEwYzQ1OGU5ODNhNTUuLmFiYzgyNmFkM2E3
YWZlNjBjNWM2NDE4ZWQxMTY3MjJjZDViODQ4NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTg0NCw5ICs4NDQsNyBAQCB2b2lkIFJlbmRlckVsZW1l
bnQ6OnN0eWxlV2lsbENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5
bGUmIG5ldwogICAgICAgICB9CiAKICAgICAgICAgYXV0byBuZWVkc0ludmFsaWRhdGVFdmVudFJl
Z2lvbiA9IFsmXSB7Ci0gICAgICAgICAgICBpZiAobV9zdHlsZS5lZmZlY3RpdmVJbmVydCgpICE9
IG5ld1N0eWxlLmVmZmVjdGl2ZUluZXJ0KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgICAgICAgICBpZiAobV9zdHlsZS5wb2ludGVyRXZlbnRzKCkgIT0gbmV3U3R5bGUucG9p
bnRlckV2ZW50cygpKQorICAgICAgICAgICAgaWYgKG1fc3R5bGUucG9pbnRlckV2ZW50c0luY2x1
ZGluZ0luZXJ0KCkgIT0gbmV3U3R5bGUucG9pbnRlckV2ZW50c0luY2x1ZGluZ0luZXJ0KCkpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAjaWYgRU5BQkxFKFRPVUNIX0FDVElPTl9SRUdJ
T05TKQogICAgICAgICAgICAgaWYgKG1fc3R5bGUuZWZmZWN0aXZlVG91Y2hBY3Rpb25zKCkgIT0g
bmV3U3R5bGUuZWZmZWN0aXZlVG91Y2hBY3Rpb25zKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDBiZTAzOWEwZjIzZDU3
ZmY3ZjU3ZDk5MDliNjUzNzVhMDI0MjQzYjQuLmM2NjdkMjM1OTBjODhiNWRmN2UxOWU4NzIyZmY4
MjU2NGU4OWY1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwCkBAIC0xNzMxLDcgKzE3MzEsNyBAQCB2b2lkIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6bGF5ZXJTdHlsZUNoYW5nZWQoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIFJlbmRl
ckxheWVyJgogCiAgICAgaWYgKGRpZmYgPj0gU3R5bGVEaWZmZXJlbmNlOjpSZWNvbXBvc2l0ZUxh
eWVyKSB7CiAgICAgICAgIGlmIChsYXllci5pc0NvbXBvc2l0ZWQoKSkgewotICAgICAgICAgICAg
Ym9vbCBoaXRUZXN0aW5nU3RhdGVDaGFuZ2VkID0gb2xkU3R5bGUgJiYgKG9sZFN0eWxlLT5wb2lu
dGVyRXZlbnRzKCkgIT0gbmV3U3R5bGUucG9pbnRlckV2ZW50cygpIHx8IG9sZFN0eWxlLT5lZmZl
Y3RpdmVJbmVydCgpICE9IG5ld1N0eWxlLmVmZmVjdGl2ZUluZXJ0KCkpOworICAgICAgICAgICAg
Ym9vbCBoaXRUZXN0aW5nU3RhdGVDaGFuZ2VkID0gb2xkU3R5bGUgJiYgKG9sZFN0eWxlLT5wb2lu
dGVyRXZlbnRzSW5jbHVkaW5nSW5lcnQoKSAhPSBuZXdTdHlsZS5wb2ludGVyRXZlbnRzSW5jbHVk
aW5nSW5lcnQoKSk7CiAgICAgICAgICAgICBpZiAoaXM8UmVuZGVyV2lkZ2V0PihsYXllci5yZW5k
ZXJlcigpKSB8fCBoaXRUZXN0aW5nU3RhdGVDaGFuZ2VkKSB7CiAgICAgICAgICAgICAgICAgLy8g
Rm9yIFJlbmRlcldpZGdldHMgdGhpcyBpcyBuZWNlc3NhcnkgdG8gZ2V0IGlmcmFtZSBsYXllcnMg
aG9va2VkIHVwIGluIHJlc3BvbnNlIHRvIHNjaGVkdWxlSW52YWxpZGF0ZVN0eWxlQW5kTGF5ZXJD
b21wb3NpdGlvbigpLgogICAgICAgICAgICAgICAgIGxheWVyLnNldE5lZWRzQ29tcG9zaXRpbmdD
b25maWd1cmF0aW9uVXBkYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oCmluZGV4IDAxOWU2ZWM3MjRlY2E5OWQ1OTI4OTFlMzJmMjA0YTlkM2MwMWUz
MWMuLjFlMTMwZWVkNzZiODU4NTE2MzM5NzlmZmNiZTZmZTY1N2U0MmEyYTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC03MTMsNiArNzEzLDcg
QEAgcHVibGljOgogICAgIExpbmVBbGlnbiBsaW5lQWxpZ24oKSBjb25zdCB7IHJldHVybiBzdGF0
aWNfY2FzdDxMaW5lQWxpZ24+KG1fcmFyZUluaGVyaXRlZERhdGEtPmxpbmVBbGlnbik7IH0KIAog
ICAgIFBvaW50ZXJFdmVudHMgcG9pbnRlckV2ZW50cygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19j
YXN0PFBvaW50ZXJFdmVudHM+KG1faW5oZXJpdGVkRmxhZ3MucG9pbnRlckV2ZW50cyk7IH0KKyAg
ICBQb2ludGVyRXZlbnRzIHBvaW50ZXJFdmVudHNJbmNsdWRpbmdJbmVydCgpIGNvbnN0IHsgcmV0
dXJuIGVmZmVjdGl2ZUluZXJ0KCkgPyBQb2ludGVyRXZlbnRzOjpOb25lIDogcG9pbnRlckV2ZW50
cygpOyB9CiAgICAgY29uc3QgQW5pbWF0aW9uTGlzdCogYW5pbWF0aW9ucygpIGNvbnN0IHsgcmV0
dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmFuaW1hdGlvbnMuZ2V0KCk7IH0KICAgICBjb25z
dCBBbmltYXRpb25MaXN0KiB0cmFuc2l0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbklu
aGVyaXRlZERhdGEtPnRyYW5zaXRpb25zLmdldCgpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9MZWdhY3lSZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAK
aW5kZXggMzI3ZTAyMzFhOGM4YmRkNjhhYzYyZWVjYzcxNmU4YWYwMzkxODQ2NS4uOWFhN2YzYzA0
NTk4NjY2NTc2NTUwZWY3MTE0OGY1MzlmN2U1M2RiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9MZWdhY3lSZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9MZWdhY3lSZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAK
QEAgLTE2OSw3ICsxNjksNyBAQCB2b2lkIExlZ2FjeVJlbmRlclNWR01vZGVsT2JqZWN0OjphYnNv
bHV0ZUZvY3VzUmluZ1F1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+JiBxdWFkcwogICAgIAogYm9vbCBM
ZWdhY3lSZW5kZXJTVkdNb2RlbE9iamVjdDo6Y2hlY2tJbnRlcnNlY3Rpb24oUmVuZGVyRWxlbWVu
dCogcmVuZGVyZXIsIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKIHsKLSAgICBpZiAoIXJlbmRlcmVy
IHx8IHJlbmRlcmVyLT5zdHlsZSgpLnBvaW50ZXJFdmVudHMoKSA9PSBQb2ludGVyRXZlbnRzOjpO
b25lKQorICAgIGlmICghcmVuZGVyZXIgfHwgcmVuZGVyZXItPnN0eWxlKCkucG9pbnRlckV2ZW50
c0luY2x1ZGluZ0luZXJ0KCkgPT0gUG9pbnRlckV2ZW50czo6Tm9uZSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIGlmICghaXNHcmFwaGljc0VsZW1lbnQoKnJlbmRlcmVyKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtMTgyLDcgKzE4Miw3IEBAIGJvb2wgTGVnYWN5UmVuZGVyU1ZHTW9k
ZWxPYmplY3Q6OmNoZWNrSW50ZXJzZWN0aW9uKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLCBjb25z
CiAKIGJvb2wgTGVnYWN5UmVuZGVyU1ZHTW9kZWxPYmplY3Q6OmNoZWNrRW5jbG9zdXJlKFJlbmRl
ckVsZW1lbnQqIHJlbmRlcmVyLCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7Ci0gICAgaWYgKCFy
ZW5kZXJlciB8fCByZW5kZXJlci0+c3R5bGUoKS5wb2ludGVyRXZlbnRzKCkgPT0gUG9pbnRlckV2
ZW50czo6Tm9uZSkKKyAgICBpZiAoIXJlbmRlcmVyIHx8IHJlbmRlcmVyLT5zdHlsZSgpLnBvaW50
ZXJFdmVudHNJbmNsdWRpbmdJbmVydCgpID09IFBvaW50ZXJFdmVudHM6Ok5vbmUpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICBpZiAoIWlzR3JhcGhpY3NFbGVtZW50KCpyZW5kZXJlcikpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvTGVnYWN5UmVuZGVyU1ZHU2hhcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9MZWdhY3lSZW5kZXJTVkdTaGFwZS5jcHAKaW5kZXggOTg2NGRmOGNmYTM4MTkzNDMzZTc1
NjA1YzlkMGI2N2RiOGFjYmRiZi4uMzc3ZTEyMjBhYmQwOWUxNmQ3NjhjMjUzZGI1ZWJlZjg2ZThj
N2YwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9MZWdhY3lSZW5k
ZXJTVkdTaGFwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9MZWdhY3lS
ZW5kZXJTVkdTaGFwZS5jcHAKQEAgLTM1NCw3ICszNTQsNyBAQCBib29sIExlZ2FjeVJlbmRlclNW
R1NoYXBlOjpub2RlQXRGbG9hdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBI
aXRUZQogCiAgICAgU1ZHSGl0VGVzdEN5Y2xlRGV0ZWN0aW9uU2NvcGUgaGl0VGVzdFNjb3BlKCp0
aGlzKTsKIAotICAgIFBvaW50ZXJFdmVudHNIaXRSdWxlcyBoaXRSdWxlcyhQb2ludGVyRXZlbnRz
SGl0UnVsZXM6OlNWR19QQVRIX0hJVFRFU1RJTkcsIHJlcXVlc3QsIHN0eWxlKCkucG9pbnRlckV2
ZW50cygpKTsKKyAgICBQb2ludGVyRXZlbnRzSGl0UnVsZXMgaGl0UnVsZXMoUG9pbnRlckV2ZW50
c0hpdFJ1bGVzOjpTVkdfUEFUSF9ISVRURVNUSU5HLCByZXF1ZXN0LCBzdHlsZSgpLnBvaW50ZXJF
dmVudHNJbmNsdWRpbmdJbmVydCgpKTsKICAgICBib29sIGlzVmlzaWJsZSA9IChzdHlsZSgpLnZp
c2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlKTsKICAgICBpZiAoaXNWaXNpYmxlIHx8
ICFoaXRSdWxlcy5yZXF1aXJlVmlzaWJsZSkgewogICAgICAgICBjb25zdCBTVkdSZW5kZXJTdHls
ZSYgc3ZnU3R5bGUgPSBzdHlsZSgpLnN2Z1N0eWxlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2UuY3BwCmluZGV4IDYxZGM2NzhiOTIxZDBmN2E1N2Y2
NTMwNWI4Njk0MDIxMTk5MTVjMzQuLjEzYjc4MjA0MjJjYzIxY2NlMDQxZTdlOWRlY2I0NDI3NmFh
NTQzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
SW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1h
Z2UuY3BwCkBAIC0yMTYsNyArMjE2LDcgQEAgYm9vbCBSZW5kZXJTVkdJbWFnZTo6bm9kZUF0Rmxv
YXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3UKICAgICBp
ZiAoaGl0VGVzdEFjdGlvbiAhPSBIaXRUZXN0Rm9yZWdyb3VuZCkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgUG9pbnRlckV2ZW50c0hpdFJ1bGVzIGhpdFJ1bGVzKFBvaW50ZXJFdmVudHNI
aXRSdWxlczo6U1ZHX0lNQUdFX0hJVFRFU1RJTkcsIHJlcXVlc3QsIHN0eWxlKCkucG9pbnRlckV2
ZW50cygpKTsKKyAgICBQb2ludGVyRXZlbnRzSGl0UnVsZXMgaGl0UnVsZXMoUG9pbnRlckV2ZW50
c0hpdFJ1bGVzOjpTVkdfSU1BR0VfSElUVEVTVElORywgcmVxdWVzdCwgc3R5bGUoKS5wb2ludGVy
RXZlbnRzSW5jbHVkaW5nSW5lcnQoKSk7CiAgICAgYm9vbCBpc1Zpc2libGUgPSAoc3R5bGUoKS52
aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZSk7CiAgICAgaWYgKGlzVmlzaWJsZSB8
fCAhaGl0UnVsZXMucmVxdWlyZVZpc2libGUpIHsKICAgICAgICAgRmxvYXRQb2ludCBsb2NhbFBv
aW50ID0gdmFsdWVPckRlZmF1bHQobG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpLmludmVyc2UoKSku
bWFwUG9pbnQocG9pbnRJblBhcmVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwCmluZGV4IDE5YTFmZmQ5NjliNDBjZGYy
ZjBlYTZjOTBlOGU0YThhMjA1OGY2ODUuLjAzYWQyNTczMDJjZDI3NzZlMDUwZjMzMjI4MTBlMTI4
ZDA2OThjODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHTW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHTW9kZWxPYmplY3QuY3BwCkBAIC0yNTQsNyArMjU0LDcgQEAgc3RhdGljIGJvb2wgaXNH
cmFwaGljc0VsZW1lbnQoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCiAKIGJvb2wgUmVu
ZGVyU1ZHTW9kZWxPYmplY3Q6OmNoZWNrSW50ZXJzZWN0aW9uKFJlbmRlckVsZW1lbnQqIHJlbmRl
cmVyLCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7Ci0gICAgaWYgKCFyZW5kZXJlciB8fCByZW5k
ZXJlci0+c3R5bGUoKS5wb2ludGVyRXZlbnRzKCkgPT0gUG9pbnRlckV2ZW50czo6Tm9uZSkKKyAg
ICBpZiAoIXJlbmRlcmVyIHx8IHJlbmRlcmVyLT5zdHlsZSgpLnBvaW50ZXJFdmVudHNJbmNsdWRp
bmdJbmVydCgpID09IFBvaW50ZXJFdmVudHM6Ok5vbmUpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICBpZiAoIWlzR3JhcGhpY3NFbGVtZW50KCpyZW5kZXJlcikpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
U2hhcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5j
cHAKaW5kZXggNWFiZWQyMGZjODgwMTIxODdjMDc0NGY0YTQ5NjIxOTQ4OGFkY2MwOS4uODVkNjAx
MzdmZjg2MmEwMzE5OTk3MWQ4MzllMjAyMTJjNTNiYmQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5jcHAKQEAgLTM1OCw3ICszNTgsNyBAQCBi
b29sIFJlbmRlclNWR1NoYXBlOjpub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVx
dWVzdCwgSGl0VGVzdFJlc3VsdCYgcgogCiAgICAgU1ZHSGl0VGVzdEN5Y2xlRGV0ZWN0aW9uU2Nv
cGUgaGl0VGVzdFNjb3BlKCp0aGlzKTsKIAotICAgIFBvaW50ZXJFdmVudHNIaXRSdWxlcyBoaXRS
dWxlcyhQb2ludGVyRXZlbnRzSGl0UnVsZXM6OlNWR19QQVRIX0hJVFRFU1RJTkcsIHJlcXVlc3Qs
IHN0eWxlKCkucG9pbnRlckV2ZW50cygpKTsKKyAgICBQb2ludGVyRXZlbnRzSGl0UnVsZXMgaGl0
UnVsZXMoUG9pbnRlckV2ZW50c0hpdFJ1bGVzOjpTVkdfUEFUSF9ISVRURVNUSU5HLCByZXF1ZXN0
LCBzdHlsZSgpLnBvaW50ZXJFdmVudHNJbmNsdWRpbmdJbmVydCgpKTsKICAgICBib29sIGlzVmlz
aWJsZSA9IChzdHlsZSgpLnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlKTsKICAg
ICBpZiAoaXNWaXNpYmxlIHx8ICFoaXRSdWxlcy5yZXF1aXJlVmlzaWJsZSkgewogICAgICAgICBj
b25zdCBTVkdSZW5kZXJTdHlsZSYgc3ZnU3R5bGUgPSBzdHlsZSgpLnN2Z1N0eWxlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmNwcAppbmRleCAxZGIw
ZWE3NTBkNTU0Y2QzZWVjMTE0Y2MzNjI2MWVhOGFlNGI1Yzg3Li43MTY2NTgxODk0NWRjOThlZTg3
ZTE4MDgxYWUzYjE1YTkzZmFmZDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHVGV4dC5jcHAKQEAgLTQwNCw3ICs0MDQsNyBAQCB2b2lkIFJlbmRlclNWR1Rl
eHQ6OmxheW91dCgpCiAKIGJvb2wgUmVuZGVyU1ZHVGV4dDo6bm9kZUF0RmxvYXRQb2ludChjb25z
dCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBjb25zdCBG
bG9hdFBvaW50JiBwb2ludEluUGFyZW50LCBIaXRUZXN0QWN0aW9uIGhpdFRlc3RBY3Rpb24pCiB7
Ci0gICAgUG9pbnRlckV2ZW50c0hpdFJ1bGVzIGhpdFJ1bGVzKFBvaW50ZXJFdmVudHNIaXRSdWxl
czo6U1ZHX1RFWFRfSElUVEVTVElORywgcmVxdWVzdCwgc3R5bGUoKS5wb2ludGVyRXZlbnRzKCkp
OworICAgIFBvaW50ZXJFdmVudHNIaXRSdWxlcyBoaXRSdWxlcyhQb2ludGVyRXZlbnRzSGl0UnVs
ZXM6OlNWR19URVhUX0hJVFRFU1RJTkcsIHJlcXVlc3QsIHN0eWxlKCkucG9pbnRlckV2ZW50c0lu
Y2x1ZGluZ0luZXJ0KCkpOwogICAgIGJvb2wgaXNWaXNpYmxlID0gKHN0eWxlKCkudmlzaWJpbGl0
eSgpID09IFZpc2liaWxpdHk6OlZpc2libGUpOwogICAgIGlmIChpc1Zpc2libGUgfHwgIWhpdFJ1
bGVzLnJlcXVpcmVWaXNpYmxlKSB7CiAgICAgICAgIGlmICgoaGl0UnVsZXMuY2FuSGl0U3Ryb2tl
ICYmIChzdHlsZSgpLnN2Z1N0eWxlKCkuaGFzU3Ryb2tlKCkgfHwgIWhpdFJ1bGVzLnJlcXVpcmVT
dHJva2UpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxp
bmVUZXh0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4
dEJveC5jcHAKaW5kZXggODMyM2I2NTMzZTU2NGIwOThmYTMwM2ViYmRhYzczOGYxMTgxZWZiZC4u
ZjU4NmUwNzhiNThlOWM1MjQ5NTI4ZWY1M2EzMDQwM2Q0YmZhZDJhOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCkBAIC02MzUsNyAr
NjM1LDcgQEAgYm9vbCBTVkdJbmxpbmVUZXh0Qm94Ojpub2RlQXRQb2ludChjb25zdCBIaXRUZXN0
UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYKICAgICAvLyBGSVhNRTogaW50ZWdyYXRl
IHdpdGggTGVnYWN5SW5saW5lVGV4dEJveDo6bm9kZUF0UG9pbnQgYmV0dGVyLgogICAgIEFTU0VS
VCghaXNMaW5lQnJlYWsoKSk7CiAKLSAgICBQb2ludGVyRXZlbnRzSGl0UnVsZXMgaGl0UnVsZXMo
UG9pbnRlckV2ZW50c0hpdFJ1bGVzOjpTVkdfVEVYVF9ISVRURVNUSU5HLCByZXF1ZXN0LCByZW5k
ZXJlcigpLnN0eWxlKCkucG9pbnRlckV2ZW50cygpKTsKKyAgICBQb2ludGVyRXZlbnRzSGl0UnVs
ZXMgaGl0UnVsZXMoUG9pbnRlckV2ZW50c0hpdFJ1bGVzOjpTVkdfVEVYVF9ISVRURVNUSU5HLCBy
ZXF1ZXN0LCByZW5kZXJlcigpLnN0eWxlKCkucG9pbnRlckV2ZW50c0luY2x1ZGluZ0luZXJ0KCkp
OwogICAgIGJvb2wgaXNWaXNpYmxlID0gcmVuZGVyZXIoKS5zdHlsZSgpLnZpc2liaWxpdHkoKSA9
PSBWaXNpYmlsaXR5OjpWaXNpYmxlOwogICAgIGlmIChpc1Zpc2libGUgfHwgIWhpdFJ1bGVzLnJl
cXVpcmVWaXNpYmxlKSB7CiAgICAgICAgIGlmICgoaGl0UnVsZXMuY2FuSGl0U3Ryb2tlICYmIChy
ZW5kZXJlcigpLnN0eWxlKCkuc3ZnU3R5bGUoKS5oYXNTdHJva2UoKSB8fCAhaGl0UnVsZXMucmVx
dWlyZVN0cm9rZSkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBlMTExNTA3YTBk
NzhjZGNhYjI1MWVjZGQxNDIzMjA2YTdkNTM3MjVmLi44M2NjODFjZWI0ZTg1NjRkM2E1NGY4Yzhl
ZTFlZjMwMmZjMjBlYzcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAyMi0wMi0yMiAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAg
ICAgIE1ha2UgcG9pbnRlci1ldmVudHMgY2hlY2tzIGZvciBTVkcgdGFrZSBpbiBhY2NvdW50IGlu
ZXJ0IHN1YnRyZWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzU4MzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGRlZCB0ZXN0cyBmb3IgYm90aCBpbmVydCBhdHRyaWJ1dGUgJiBtb2RhbCBkaWFsb2cg
Y2FzZXMuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50
ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2luZXJ0LXN2Zy1oaXR0ZXN0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9pbmVydC1zdmct
aGl0dGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW5lcnQv
aW5lcnQtc3ZnLWhpdHRlc3QudGVudGF0aXZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2luZXJ0L2luZXJ0LXN2Zy1oaXR0ZXN0LnRlbnRhdGl2ZS5o
dG1sOiBBZGRlZC4KKwogMjAyMi0wMi0yMCAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFJlYmFzZWxpbmUgaW5lcnQtZm9jdXMtaW4tZnJhbWVzLmh0bWwgYWZ0ZXIgcjI5
MDE5Ny4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVt
ZW50L2luZXJ0LXN2Zy1oaXR0ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVu
dHMvdGhlLWRpYWxvZy1lbGVtZW50L2luZXJ0LXN2Zy1oaXR0ZXN0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42Njc1ZDBhNDBhMmUyOWI4N2YxYmMxMmEwMzY1YTlmNDNkYTU4ZmZhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvaW5l
cnQtc3ZnLWhpdHRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIEhpdC10
ZXN0aW5nIGRvZXNuJ3QgcmVhY2ggY29udGVudHMgb2YgYW4gaW5lcnQgU1ZHCitQQVNTIEhpdC10
ZXN0aW5nIGNhbiByZWFjaCBjb250ZW50cyBvZiBhIG5vIGxvbmdlciBpbmVydCBTVkcKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvaW5lcnQt
c3ZnLWhpdHRlc3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVt
ZW50L2luZXJ0LXN2Zy1oaXR0ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmViNDk2NWVjNzM2YzkwNTQ2
N2I5MzZmMWFkODAzZTBmN2Q0YTIyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUt
ZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2luZXJ0LXN2Zy1oaXR0ZXN0Lmh0bWwKQEAgLTAs
MCArMSw2OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+SGl0LXRlc3Rpbmcgd2l0aCBTVkcgbWFkZSBpbmVydCBieSBtb2RhbCBkaWFsb2c8L3RpdGxl
PgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJUaW0gTmd1eWVuIiBocmVmPSJodHRwczovL2dp
dGh1Yi5jb20vbnQxbSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVj
LndoYXR3Zy5vcmcvbXVsdGlwYWdlL2ludGVyYWN0aW9uLmh0bWwjaW5lcnQiPgorPG1ldGEgYXNz
ZXJ0PSJhc3NlcnQiIGNvbnRlbnQ9IlNWRyBtYWRlIGluZXJ0IGJ5IG1vZGFsIGRpYWxvZyBzaG91
bGQgYmUgdW5yZWFjaGFibGUgd2l0aCBoaXQtdGVzdGluZyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2
ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2
ZXItYWN0aW9ucy5qcyI+PC9zY3JpcHQ+CisKKzxkaXYgaWQ9IndyYXBwZXIiPgorICAgIDxzdmcg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTAwIDUwMCI+
CisgICAgICAgIDxyZWN0IHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBpZD0idGFyZ2V0IiBmaWxs
PSJyZWQiPgorICAgIDwvc3ZnPgorPC9kaXY+CisKKzxkaWFsb2cgaWQ9ImRpYWxvZyI+Q29udGVu
dCBiZWhpbmQgdGhlIG9wZW4gbW9kYWwgZGlhbG9nIHNob3VsZCBub3QgYmUgY2xpY2thYmxlPC9k
aWFsb2c+CisKKzxzdHlsZT4KK2RpYWxvZzo6YmFja2Ryb3AgeworICAgIGRpc3BsYXk6IG5vbmU7
Cit9Cis8L3N0eWxlPgorCis8c2NyaXB0PgorY29uc3QgZGlhbG9nID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImRpYWxvZyIpOworY29uc3Qgd3JhcHBlciA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ3cmFwcGVyIik7Citjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGFyZ2V0Iik7CisKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbigpIHsKKyAgICBkaWFsb2cu
c2hvd01vZGFsKCk7CisgICAgdGhpcy5hZGRfY2xlYW51cCgoKSA9PiBkaWFsb2cuY2xvc2UoKSk7
CisKKyAgICBsZXQgcmVhY2hlZFRhcmdldCA9IGZhbHNlOworICAgIHRhcmdldC5hZGRFdmVudExp
c3RlbmVyKCJtb3VzZWRvd24iLCAoKSA9PiB7CisgICAgICAgIHJlYWNoZWRUYXJnZXQgPSB0cnVl
OworICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgIGF3YWl0IG5ldyB0ZXN0X2RyaXZlci5B
Y3Rpb25zKCkKKyAgICAgICAgLnBvaW50ZXJNb3ZlKDAsIDAsIHsgb3JpZ2luOiB3cmFwcGVyIH0p
CisgICAgICAgIC5wb2ludGVyRG93bigpCisgICAgICAgIC5zZW5kKCk7CisgICAgdGhpcy5hZGRf
Y2xlYW51cCgoKSA9PiB0ZXN0X2RyaXZlci5jbGljayhkb2N1bWVudC5ib2R5KSk7CisKKyAgICBh
c3NlcnRfZmFsc2UodGFyZ2V0Lm1hdGNoZXMoIjphY3RpdmUiKSwgInRhcmdldCBpcyBub3QgYWN0
aXZlIik7CisgICAgYXNzZXJ0X2ZhbHNlKHRhcmdldC5tYXRjaGVzKCI6aG92ZXIiKSwgInRhcmdl
dCBpcyBub3QgaG92ZXJlZCIpOworICAgIGFzc2VydF9mYWxzZShyZWFjaGVkVGFyZ2V0LCAidGFy
Z2V0IGRpZG4ndCBnZXQgZXZlbnQiKTsKK30sICJIaXQtdGVzdGluZyBkb2Vzbid0IHJlYWNoIGNv
bnRlbnRzIG9mIGFuIGluZXJ0IFNWRyIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24o
KSB7CisgICAgYXNzZXJ0X2ZhbHNlKGRpYWxvZy5vcGVuLCAiZGlhbG9nIGlzIGNsb3NlZCIpOwor
CisgICAgbGV0IHJlYWNoZWRUYXJnZXQgPSBmYWxzZTsKKyAgICB0YXJnZXQuYWRkRXZlbnRMaXN0
ZW5lcigibW91c2Vkb3duIiwgKCkgPT4geworICAgICAgICByZWFjaGVkVGFyZ2V0ID0gdHJ1ZTsK
KyAgICB9LCB7IG9uY2U6IHRydWUgfSk7CisKKyAgICBhd2FpdCBuZXcgdGVzdF9kcml2ZXIuQWN0
aW9ucygpCisgICAgICAgIC5wb2ludGVyTW92ZSgwLCAwLCB7IG9yaWdpbjogd3JhcHBlciB9KQor
ICAgICAgICAucG9pbnRlckRvd24oKQorICAgICAgICAuc2VuZCgpOworICAgIHRoaXMuYWRkX2Ns
ZWFudXAoKCkgPT4gdGVzdF9kcml2ZXIuY2xpY2soZG9jdW1lbnQuYm9keSkpOworCisgICAgYXNz
ZXJ0X3RydWUodGFyZ2V0Lm1hdGNoZXMoIjphY3RpdmUiKSwgInRhcmdldCBpcyBhY3RpdmUiKTsK
KyAgICBhc3NlcnRfdHJ1ZShyZWFjaGVkVGFyZ2V0LCAidGFyZ2V0IGdvdCBldmVudCIpOworfSwg
IkhpdC10ZXN0aW5nIGNhbiByZWFjaCBjb250ZW50cyBvZiBhIG5vIGxvbmdlciBpbmVydCBTVkci
KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbmVydC9pbmVydC1zdmctaGl0dGVzdC50ZW50YXRpdmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbmVydC9p
bmVydC1zdmctaGl0dGVzdC50ZW50YXRpdmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2NzVk
MGE0MGEyZTI5Yjg3ZjFiYzEyYTAzNjVhOWY0M2RhNThmZmEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2luZXJ0L2luZXJ0LXN2
Zy1oaXR0ZXN0LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1Mg
SGl0LXRlc3RpbmcgZG9lc24ndCByZWFjaCBjb250ZW50cyBvZiBhbiBpbmVydCBTVkcKK1BBU1Mg
SGl0LXRlc3RpbmcgY2FuIHJlYWNoIGNvbnRlbnRzIG9mIGEgbm8gbG9uZ2VyIGluZXJ0IFNWRwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2luZXJ0L2luZXJ0LXN2Zy1oaXR0ZXN0LnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbmVydC9pbmVydC1zdmctaGl0dGVzdC50ZW50
YXRpdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZGZjMTljMGZhYWYyNTE4MjE4ZTc0MzFmZTY4ZWVjMjY1
MWExMWY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbmVydC9pbmVydC1zdmctaGl0dGVzdC50ZW50YXRpdmUuaHRtbApAQCAt
MCwwICsxLDcwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5IaXQtdGVzdGluZyB3aXRoIGluZXJ0IHN2ZzwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhv
ciIgdGl0bGU9IlRpbSBOZ3V5ZW4iIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9udDFtIj4KKzxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBh
Z2UvaW50ZXJhY3Rpb24uaHRtbCNpbmVydCI+Cis8bWV0YSBhc3NlcnQ9ImFzc2VydCIgY29udGVu
dD0iU1ZHIGluc2lkZSBpbmVydCBlbGVtZW50IHNob3VsZCBiZSB1bnJlYWNoYWJsZSB3aXRoIGhp
dC10ZXN0aW5nIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzIj48L3NjcmlwdD4K
KworPGRpdiBpZD0id3JhcHBlciI+CisgICAgPGRpdiBpbmVydCBpZD0ic3ZnLWNvbnRhaW5lciI+
CisgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94
PSIwIDAgNTAwIDUwMCI+CisgICAgICAgICAgICA8cmVjdCB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUw
MCIgaWQ9InRhcmdldCIgZmlsbD0icmVkIj4KKyAgICAgICAgPC9zdmc+CisgICAgPC9kaXY+Cis8
L2Rpdj4KKworPHNjcmlwdD4KK2NvbnN0IHdyYXBwZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgid3JhcHBlciIpOworY29uc3QgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRh
cmdldCIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24oKSB7CisgICAgbGV0IHJlYWNo
ZWRUYXJnZXQgPSBmYWxzZTsKKyAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3du
IiwgKCkgPT4geworICAgICAgICByZWFjaGVkVGFyZ2V0ID0gdHJ1ZTsKKyAgICB9LCB7IG9uY2U6
IHRydWUgfSk7CisKKyAgICBsZXQgcmVhY2hlZFdyYXBwZXIgPSBmYWxzZTsKKyAgICB3cmFwcGVy
LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsICgpID0+IHsKKyAgICAgICAgcmVhY2hlZFdy
YXBwZXIgPSB0cnVlOworICAgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKworICAgIGF3YWl0IG5ldyB0
ZXN0X2RyaXZlci5BY3Rpb25zKCkKKyAgICAgICAgLnBvaW50ZXJNb3ZlKDAsIDAsIHsgb3JpZ2lu
OiB3cmFwcGVyIH0pCisgICAgICAgIC5wb2ludGVyRG93bigpCisgICAgICAgIC5zZW5kKCk7Cisg
ICAgdGhpcy5hZGRfY2xlYW51cCgoKSA9PiB0ZXN0X2RyaXZlci5jbGljayhkb2N1bWVudC5ib2R5
KSk7CisKKyAgICBhc3NlcnRfZmFsc2UodGFyZ2V0Lm1hdGNoZXMoIjphY3RpdmUiKSwgInRhcmdl
dCBpcyBub3QgYWN0aXZlIik7CisgICAgYXNzZXJ0X2ZhbHNlKHRhcmdldC5tYXRjaGVzKCI6aG92
ZXIiKSwgInRhcmdldCBpcyBub3QgaG92ZXJlZCIpOworICAgIGFzc2VydF9mYWxzZShyZWFjaGVk
VGFyZ2V0LCAidGFyZ2V0IGRpZG4ndCBnZXQgZXZlbnQiKTsKKworICAgIGFzc2VydF90cnVlKHdy
YXBwZXIubWF0Y2hlcygiOmhvdmVyIiksICJ3cmFwcGVyIGlzIGhvdmVyZWQiKTsKKyAgICBhc3Nl
cnRfdHJ1ZShyZWFjaGVkV3JhcHBlciwgIndyYXBwZXIgZ290IGV2ZW50Iik7Cit9LCAiSGl0LXRl
c3RpbmcgZG9lc24ndCByZWFjaCBjb250ZW50cyBvZiBhbiBpbmVydCBTVkciKTsKKworcHJvbWlz
ZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKCkgeworICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNz
dmctY29udGFpbmVyIikuaW5lcnQgPSBmYWxzZTsKKworICAgIGxldCByZWFjaGVkVGFyZ2V0ID0g
ZmFsc2U7CisgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsICgpID0+IHsK
KyAgICAgICAgcmVhY2hlZFRhcmdldCA9IHRydWU7CisgICAgfSwgeyBvbmNlOiB0cnVlIH0pOwor
CisgICAgYXdhaXQgbmV3IHRlc3RfZHJpdmVyLkFjdGlvbnMoKQorICAgICAgICAucG9pbnRlck1v
dmUoMCwgMCwgeyBvcmlnaW46IHdyYXBwZXIgfSkKKyAgICAgICAgLnBvaW50ZXJEb3duKCkKKyAg
ICAgICAgLnNlbmQoKTsKKyAgICB0aGlzLmFkZF9jbGVhbnVwKCgpID0+IHRlc3RfZHJpdmVyLmNs
aWNrKGRvY3VtZW50LmJvZHkpKTsKKworICAgIGFzc2VydF90cnVlKHRhcmdldC5tYXRjaGVzKCI6
YWN0aXZlIiksICJ0YXJnZXQgaXMgYWN0aXZlIik7CisgICAgYXNzZXJ0X3RydWUodGFyZ2V0Lm1h
dGNoZXMoIjpob3ZlciIpLCAidGFyZ2V0IGlzIGhvdmVyZWQiKTsKKyAgICBhc3NlcnRfdHJ1ZShy
ZWFjaGVkVGFyZ2V0LCAidGFyZ2V0IGdvdCBldmVudCIpOworCisgICAgYXNzZXJ0X3RydWUod3Jh
cHBlci5tYXRjaGVzKCI6aG92ZXIiKSwgIndyYXBwZXIgaXMgaG92ZXJlZCIpOworfSwgIkhpdC10
ZXN0aW5nIGNhbiByZWFjaCBjb250ZW50cyBvZiBhIG5vIGxvbmdlciBpbmVydCBTVkciKTsKKzwv
c2NyaXB0Pgo=
</data>
<flag name="review"
          id="480021"
          type_id="1"
          status="+"
          setter="koivisto"
    />
    <flag name="commit-queue"
          id="480028"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452858</attachid>
            <date>2022-02-22 05:57:29 -0800</date>
            <delta_ts>2022-02-22 07:45:44 -0800</delta_ts>
            <desc>[fast-cq] Patch</desc>
            <filename>bug-235836-20220222145728.patch</filename>
            <type>text/plain</type>
            <size>24313</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzFlYWU2OTg2YzljOTUx
NTY2OWZlYzQxNjA0YTRiYWM1NGExYTRkMS4uYzJkOTJhNDc5MzcyYmY5NGE3MDIyNTc1YWM0NGFl
YmY4NzIwN2I4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIyLTAyLTIyICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBwb2ludGVyLWV2ZW50cyBj
aGVja3MgZm9yIFNWRyB0YWtlIGluIGFjY291bnQgaW5lcnQgc3VidHJlZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTgzNgorCisgICAgICAgIFJl
dmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIFJlLXVzaW5nIHZpc2libGVUb0hp
dFRlc3RpbmcgaW4gU1ZHIGNvZGUgaXNuJ3QgcG9zc2libGUsIGJlY2F1c2UgdmlzaWJsZVRvSGl0
VGVzdGluZyByZW1vdmVzIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICAgICAgY29udGVudCBmcm9t
IGhpdC10ZXN0aW5nLCB3aGljaCB3ZSBkbyBub3Qgd2FudCB0byBoZXJlLCBzaW5jZSBwb2ludGVy
LWV2ZW50cyBoYXMgdmFsdWVzIGZvciBTVkcgd2hpY2ggc3RpbGwKKyAgICAgICAgYWxsb3cgY2xp
Y2tpbmcgY29udGVudCByZWdhcmRsZXNzIG9mIHRoZWlyIHZpc2liaWxpdHkgdmFsdWUgKHBvaW50
ZXItZXZlbnRzOiBwYWludGVkL2ZpbGwvc3Ryb2tlL2FsbCkuCisKKyAgICAgICAgSW5zdGVhZCwg
d2UgYWRkIGVmZmVjdGl2ZVBvaW50ZXJFdmVudHMsIHNpbWlsYXIgdG8gdXNlclNlbGVjdEluY2x1
ZGluZ0luZXJ0IGFuZCByZS11c2UgdGhhdCBhY3Jvc3MgdGhlIGNvZGViYXNlLgorCisgICAgICAg
IFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2lu
dGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9pbmVydC1zdmctaGl0dGVzdC5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2luZXJ0
L2luZXJ0LXN2Zy1oaXR0ZXN0LnRlbnRhdGl2ZS5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpzdHls
ZVdpbGxDaGFuZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojp2aXNpYmxlVG9IaXRUZXN0aW5nIGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6bGF5ZXJTdHlsZUNoYW5nZWQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OmVmZmVjdGl2ZVBvaW50ZXJFdmVudHMgY29uc3QpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZHTW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TGVnYWN5UmVuZGVyU1ZHTW9kZWxPYmplY3Q6OmNoZWNrSW50ZXJzZWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxlZ2FjeVJlbmRlclNWR01vZGVsT2JqZWN0OjpjaGVja0VuY2xvc3Vy
ZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9MZWdhY3lSZW5kZXJTVkdTaGFwZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMZWdhY3lSZW5kZXJTVkdTaGFwZTo6bm9kZUF0RmxvYXRQb2ludCk6
CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdJbWFnZTo6bm9kZUF0RmxvYXRQb2ludCk6CisgICAgICAgICogcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTVkdNb2RlbE9iamVjdDo6Y2hlY2tJbnRlcnNlY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU1ZHTW9kZWxPYmplY3Q6OmNoZWNrRW5jbG9zdXJlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1NoYXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R1NoYXBlOjpub2RlQXRQb2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdU
ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1RleHQ6Om5vZGVBdEZsb2F0UG9p
bnQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94Ojpub2RlQXRQb2ludCk6CisKIDIwMjItMDIt
MjAgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgbm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMgYWZ0ZXIgMjQ3NTA4QG1haW4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRleCBmYmI4Yjg2ZTNmZTM2YzUzZDk2
YjIzNGZjMWUxMGM0NThlOTgzYTU1Li5kZjM4YjExM2M5NjBmYTZlYTY5MjVkNWJhZmQ2ZmY2NDAx
MmNlNTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBA
IC04NDQsOSArODQ0LDcgQEAgdm9pZCBSZW5kZXJFbGVtZW50OjpzdHlsZVdpbGxDaGFuZ2UoU3R5
bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlJiBuZXcKICAgICAgICAgfQogCiAg
ICAgICAgIGF1dG8gbmVlZHNJbnZhbGlkYXRlRXZlbnRSZWdpb24gPSBbJl0gewotICAgICAgICAg
ICAgaWYgKG1fc3R5bGUuZWZmZWN0aXZlSW5lcnQoKSAhPSBuZXdTdHlsZS5lZmZlY3RpdmVJbmVy
dCgpKQotICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgaWYgKG1fc3R5
bGUucG9pbnRlckV2ZW50cygpICE9IG5ld1N0eWxlLnBvaW50ZXJFdmVudHMoKSkKKyAgICAgICAg
ICAgIGlmIChtX3N0eWxlLmVmZmVjdGl2ZVBvaW50ZXJFdmVudHMoKSAhPSBuZXdTdHlsZS5lZmZl
Y3RpdmVQb2ludGVyRXZlbnRzKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAjaWYg
RU5BQkxFKFRPVUNIX0FDVElPTl9SRUdJT05TKQogICAgICAgICAgICAgaWYgKG1fc3R5bGUuZWZm
ZWN0aXZlVG91Y2hBY3Rpb25zKCkgIT0gbmV3U3R5bGUuZWZmZWN0aXZlVG91Y2hBY3Rpb25zKCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCBmMzc2Y2VjYjk3
NWNhNzE5ZmRmNjc2ZTVhYzBmYjk1ZDhlMmVkMjIwLi42ZTk3NWQzZDA3MjhjNjU5ODIxNjQ5ZjBm
NTc4MGJmMDYwYWVhYjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmgKQEAgLTE1OSwxMyArMTU5LDEwIEBAIHB1YmxpYzoKIAogICAgIGJvb2wgdmlzaWJsZVRvSGl0
VGVzdGluZyhzdGQ6Om9wdGlvbmFsPEhpdFRlc3RSZXF1ZXN0PiBoaXRUZXN0UmVxdWVzdCA9IHN0
ZDo6bnVsbG9wdCkgY29uc3QKICAgICB7Ci0gICAgICAgIGlmIChzdHlsZSgpLmVmZmVjdGl2ZUlu
ZXJ0KCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KICAgICAgICAgaWYgKHN0eWxlKCku
dmlzaWJpbGl0eSgpICE9IFZpc2liaWxpdHk6OlZpc2libGUpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSAgICAgICAgaWYgKCghaGl0VGVzdFJlcXVlc3QgfHwgIWhpdFRlc3RSZXF1ZXN0
LT5pZ25vcmVDU1NQb2ludGVyRXZlbnRzUHJvcGVydHkoKSkgJiYgc3R5bGUoKS5wb2ludGVyRXZl
bnRzKCkgPT0gUG9pbnRlckV2ZW50czo6Tm9uZSkKKyAgICAgICAgaWYgKCghaGl0VGVzdFJlcXVl
c3QgfHwgIWhpdFRlc3RSZXF1ZXN0LT5pZ25vcmVDU1NQb2ludGVyRXZlbnRzUHJvcGVydHkoKSkg
JiYgc3R5bGUoKS5lZmZlY3RpdmVQb2ludGVyRXZlbnRzKCkgPT0gUG9pbnRlckV2ZW50czo6Tm9u
ZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAK
aW5kZXggMGJlMDM5YTBmMjNkNTdmZjdmNTdkOTkwOWI2NTM3NWEwMjQyNDNiNC4uNGY0NWE0YWQw
ZDVhNDVhMmU0NjVmN2IzOTcwMDQzNDM5N2VhM2ZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTE3MzEsNyArMTczMSw3
IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllclN0eWxlQ2hhbmdlZChTdHlsZURp
ZmZlcmVuY2UgZGlmZiwgUmVuZGVyTGF5ZXImCiAKICAgICBpZiAoZGlmZiA+PSBTdHlsZURpZmZl
cmVuY2U6OlJlY29tcG9zaXRlTGF5ZXIpIHsKICAgICAgICAgaWYgKGxheWVyLmlzQ29tcG9zaXRl
ZCgpKSB7Ci0gICAgICAgICAgICBib29sIGhpdFRlc3RpbmdTdGF0ZUNoYW5nZWQgPSBvbGRTdHls
ZSAmJiAob2xkU3R5bGUtPnBvaW50ZXJFdmVudHMoKSAhPSBuZXdTdHlsZS5wb2ludGVyRXZlbnRz
KCkgfHwgb2xkU3R5bGUtPmVmZmVjdGl2ZUluZXJ0KCkgIT0gbmV3U3R5bGUuZWZmZWN0aXZlSW5l
cnQoKSk7CisgICAgICAgICAgICBib29sIGhpdFRlc3RpbmdTdGF0ZUNoYW5nZWQgPSBvbGRTdHls
ZSAmJiAob2xkU3R5bGUtPmVmZmVjdGl2ZVBvaW50ZXJFdmVudHMoKSAhPSBuZXdTdHlsZS5lZmZl
Y3RpdmVQb2ludGVyRXZlbnRzKCkpOwogICAgICAgICAgICAgaWYgKGlzPFJlbmRlcldpZGdldD4o
bGF5ZXIucmVuZGVyZXIoKSkgfHwgaGl0VGVzdGluZ1N0YXRlQ2hhbmdlZCkgewogICAgICAgICAg
ICAgICAgIC8vIEZvciBSZW5kZXJXaWRnZXRzIHRoaXMgaXMgbmVjZXNzYXJ5IHRvIGdldCBpZnJh
bWUgbGF5ZXJzIGhvb2tlZCB1cCBpbiByZXNwb25zZSB0byBzY2hlZHVsZUludmFsaWRhdGVTdHls
ZUFuZExheWVyQ29tcG9zaXRpb24oKS4KICAgICAgICAgICAgICAgICBsYXllci5zZXROZWVkc0Nv
bXBvc2l0aW5nQ29uZmlndXJhdGlvblVwZGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCAwMTllNmVjNzI0ZWNhOTlkNTkyODkxZTMyZjIw
NGE5ZDNjMDFlMzFjLi4zYzAxMGJlMGQ4YjhkOTJhMTUxMzcxODk0YzRlMDhlNTgyNmY4ZDIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNzEz
LDYgKzcxMyw3IEBAIHB1YmxpYzoKICAgICBMaW5lQWxpZ24gbGluZUFsaWduKCkgY29uc3QgeyBy
ZXR1cm4gc3RhdGljX2Nhc3Q8TGluZUFsaWduPihtX3JhcmVJbmhlcml0ZWREYXRhLT5saW5lQWxp
Z24pOyB9CiAKICAgICBQb2ludGVyRXZlbnRzIHBvaW50ZXJFdmVudHMoKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxQb2ludGVyRXZlbnRzPihtX2luaGVyaXRlZEZsYWdzLnBvaW50ZXJFdmVu
dHMpOyB9CisgICAgUG9pbnRlckV2ZW50cyBlZmZlY3RpdmVQb2ludGVyRXZlbnRzKCkgY29uc3Qg
eyByZXR1cm4gZWZmZWN0aXZlSW5lcnQoKSA/IFBvaW50ZXJFdmVudHM6Ok5vbmUgOiBwb2ludGVy
RXZlbnRzKCk7IH0KICAgICBjb25zdCBBbmltYXRpb25MaXN0KiBhbmltYXRpb25zKCkgY29uc3Qg
eyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+YW5pbWF0aW9ucy5nZXQoKTsgfQogICAg
IGNvbnN0IEFuaW1hdGlvbkxpc3QqIHRyYW5zaXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9yYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+dHJhbnNpdGlvbnMuZ2V0KCk7IH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9MZWdhY3lSZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL0xlZ2FjeVJlbmRlclNWR01vZGVsT2JqZWN0
LmNwcAppbmRleCAzMjdlMDIzMWE4YzhiZGQ2OGFjNjJlZWNjNzE2ZThhZjAzOTE4NDY1Li43NGQy
ODk4ZjY4ZGQ3MWMyYmQ4N2QzODJkYmFjMWFlZWRjOWFlODVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL0xlZ2FjeVJlbmRlclNWR01vZGVsT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL0xlZ2FjeVJlbmRlclNWR01vZGVsT2JqZWN0
LmNwcApAQCAtMTY5LDcgKzE2OSw3IEBAIHZvaWQgTGVnYWN5UmVuZGVyU1ZHTW9kZWxPYmplY3Q6
OmFic29sdXRlRm9jdXNSaW5nUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mIHF1YWRzCiAgICAgCiBi
b29sIExlZ2FjeVJlbmRlclNWR01vZGVsT2JqZWN0OjpjaGVja0ludGVyc2VjdGlvbihSZW5kZXJF
bGVtZW50KiByZW5kZXJlciwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQogewotICAgIGlmICghcmVu
ZGVyZXIgfHwgcmVuZGVyZXItPnN0eWxlKCkucG9pbnRlckV2ZW50cygpID09IFBvaW50ZXJFdmVu
dHM6Ok5vbmUpCisgICAgaWYgKCFyZW5kZXJlciB8fCByZW5kZXJlci0+c3R5bGUoKS5lZmZlY3Rp
dmVQb2ludGVyRXZlbnRzKCkgPT0gUG9pbnRlckV2ZW50czo6Tm9uZSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIGlmICghaXNHcmFwaGljc0VsZW1lbnQoKnJlbmRlcmVyKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtMTgyLDcgKzE4Miw3IEBAIGJvb2wgTGVnYWN5UmVuZGVyU1ZHTW9k
ZWxPYmplY3Q6OmNoZWNrSW50ZXJzZWN0aW9uKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLCBjb25z
CiAKIGJvb2wgTGVnYWN5UmVuZGVyU1ZHTW9kZWxPYmplY3Q6OmNoZWNrRW5jbG9zdXJlKFJlbmRl
ckVsZW1lbnQqIHJlbmRlcmVyLCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7Ci0gICAgaWYgKCFy
ZW5kZXJlciB8fCByZW5kZXJlci0+c3R5bGUoKS5wb2ludGVyRXZlbnRzKCkgPT0gUG9pbnRlckV2
ZW50czo6Tm9uZSkKKyAgICBpZiAoIXJlbmRlcmVyIHx8IHJlbmRlcmVyLT5zdHlsZSgpLmVmZmVj
dGl2ZVBvaW50ZXJFdmVudHMoKSA9PSBQb2ludGVyRXZlbnRzOjpOb25lKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgaWYgKCFpc0dyYXBoaWNzRWxlbWVudCgqcmVuZGVyZXIpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L0xlZ2FjeVJlbmRlclNWR1NoYXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
TGVnYWN5UmVuZGVyU1ZHU2hhcGUuY3BwCmluZGV4IDk4NjRkZjhjZmEzODE5MzQzM2U3NTYwNWM5
ZDBiNjdkYjhhY2JkYmYuLmJkYjYyMjFiNzY3NDZiMmQwNTcxM2E1MjVhNzU1NzAxM2QxMzc3NDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZH
U2hhcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvTGVnYWN5UmVuZGVy
U1ZHU2hhcGUuY3BwCkBAIC0zNTQsNyArMzU0LDcgQEAgYm9vbCBMZWdhY3lSZW5kZXJTVkdTaGFw
ZTo6bm9kZUF0RmxvYXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGUK
IAogICAgIFNWR0hpdFRlc3RDeWNsZURldGVjdGlvblNjb3BlIGhpdFRlc3RTY29wZSgqdGhpcyk7
CiAKLSAgICBQb2ludGVyRXZlbnRzSGl0UnVsZXMgaGl0UnVsZXMoUG9pbnRlckV2ZW50c0hpdFJ1
bGVzOjpTVkdfUEFUSF9ISVRURVNUSU5HLCByZXF1ZXN0LCBzdHlsZSgpLnBvaW50ZXJFdmVudHMo
KSk7CisgICAgUG9pbnRlckV2ZW50c0hpdFJ1bGVzIGhpdFJ1bGVzKFBvaW50ZXJFdmVudHNIaXRS
dWxlczo6U1ZHX1BBVEhfSElUVEVTVElORywgcmVxdWVzdCwgc3R5bGUoKS5lZmZlY3RpdmVQb2lu
dGVyRXZlbnRzKCkpOwogICAgIGJvb2wgaXNWaXNpYmxlID0gKHN0eWxlKCkudmlzaWJpbGl0eSgp
ID09IFZpc2liaWxpdHk6OlZpc2libGUpOwogICAgIGlmIChpc1Zpc2libGUgfHwgIWhpdFJ1bGVz
LnJlcXVpcmVWaXNpYmxlKSB7CiAgICAgICAgIGNvbnN0IFNWR1JlbmRlclN0eWxlJiBzdmdTdHls
ZSA9IHN0eWxlKCkuc3ZnU3R5bGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdJbWFnZS5jcHAKaW5kZXggNjFkYzY3OGI5MjFkMGY3YTU3ZjY1MzA1Yjg2OTQw
MjExOTkxNWMzNC4uZWNmMTcxMzFhMWM1MjU5MmE1ZjczMGE2ZDE1OWYxMWQ4OGFkZmFhNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5jcHAKQEAg
LTIxNiw3ICsyMTYsNyBAQCBib29sIFJlbmRlclNWR0ltYWdlOjpub2RlQXRGbG9hdFBvaW50KGNv
bnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdQogICAgIGlmIChoaXRUZXN0
QWN0aW9uICE9IEhpdFRlc3RGb3JlZ3JvdW5kKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICBQb2ludGVyRXZlbnRzSGl0UnVsZXMgaGl0UnVsZXMoUG9pbnRlckV2ZW50c0hpdFJ1bGVzOjpT
VkdfSU1BR0VfSElUVEVTVElORywgcmVxdWVzdCwgc3R5bGUoKS5wb2ludGVyRXZlbnRzKCkpOwor
ICAgIFBvaW50ZXJFdmVudHNIaXRSdWxlcyBoaXRSdWxlcyhQb2ludGVyRXZlbnRzSGl0UnVsZXM6
OlNWR19JTUFHRV9ISVRURVNUSU5HLCByZXF1ZXN0LCBzdHlsZSgpLmVmZmVjdGl2ZVBvaW50ZXJF
dmVudHMoKSk7CiAgICAgYm9vbCBpc1Zpc2libGUgPSAoc3R5bGUoKS52aXNpYmlsaXR5KCkgPT0g
VmlzaWJpbGl0eTo6VmlzaWJsZSk7CiAgICAgaWYgKGlzVmlzaWJsZSB8fCAhaGl0UnVsZXMucmVx
dWlyZVZpc2libGUpIHsKICAgICAgICAgRmxvYXRQb2ludCBsb2NhbFBvaW50ID0gdmFsdWVPckRl
ZmF1bHQobG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpLmludmVyc2UoKSkubWFwUG9pbnQocG9pbnRJ
blBhcmVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR01vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHTW9kZWxPYmplY3QuY3BwCmluZGV4IDE5YTFmZmQ5NjliNDBjZGYyZjBlYTZjOTBlOGU0YThh
MjA1OGY2ODUuLmVjYzNmMGRkYTZmNDRhNTFjNTZkMjZhN2EyNzk2ZmY2YjcwM2QwOGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmpl
Y3QuY3BwCkBAIC0yNTQsNyArMjU0LDcgQEAgc3RhdGljIGJvb2wgaXNHcmFwaGljc0VsZW1lbnQo
Y29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCiAKIGJvb2wgUmVuZGVyU1ZHTW9kZWxPYmpl
Y3Q6OmNoZWNrSW50ZXJzZWN0aW9uKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLCBjb25zdCBGbG9h
dFJlY3QmIHJlY3QpCiB7Ci0gICAgaWYgKCFyZW5kZXJlciB8fCByZW5kZXJlci0+c3R5bGUoKS5w
b2ludGVyRXZlbnRzKCkgPT0gUG9pbnRlckV2ZW50czo6Tm9uZSkKKyAgICBpZiAoIXJlbmRlcmVy
IHx8IHJlbmRlcmVyLT5zdHlsZSgpLmVmZmVjdGl2ZVBvaW50ZXJFdmVudHMoKSA9PSBQb2ludGVy
RXZlbnRzOjpOb25lKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFpc0dyYXBoaWNz
RWxlbWVudCgqcmVuZGVyZXIpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0yNjYsNyArMjY2
LDcgQEAgYm9vbCBSZW5kZXJTVkdNb2RlbE9iamVjdDo6Y2hlY2tJbnRlcnNlY3Rpb24oUmVuZGVy
RWxlbWVudCogcmVuZGVyZXIsIGNvbnN0IEZsb2EKIAogYm9vbCBSZW5kZXJTVkdNb2RlbE9iamVj
dDo6Y2hlY2tFbmNsb3N1cmUoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIGNvbnN0IEZsb2F0UmVj
dCYgcmVjdCkKIHsKLSAgICBpZiAoIXJlbmRlcmVyIHx8IHJlbmRlcmVyLT5zdHlsZSgpLnBvaW50
ZXJFdmVudHMoKSA9PSBQb2ludGVyRXZlbnRzOjpOb25lKQorICAgIGlmICghcmVuZGVyZXIgfHwg
cmVuZGVyZXItPnN0eWxlKCkuZWZmZWN0aXZlUG9pbnRlckV2ZW50cygpID09IFBvaW50ZXJFdmVu
dHM6Ok5vbmUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWlzR3JhcGhpY3NFbGVt
ZW50KCpyZW5kZXJlcikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHU2hhcGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5jcHAKaW5kZXggNWFiZWQyMGZjODgwMTIx
ODdjMDc0NGY0YTQ5NjIxOTQ4OGFkY2MwOS4uMzI5M2E2YzlmYzNhYzVmMWI5OTk4NjI4YmNjZDk2
NTQyOTMyODhkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdTaGFwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdTaGFwZS5jcHAKQEAgLTM1OCw3ICszNTgsNyBAQCBib29sIFJlbmRlclNWR1NoYXBlOjpub2Rl
QXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcgog
CiAgICAgU1ZHSGl0VGVzdEN5Y2xlRGV0ZWN0aW9uU2NvcGUgaGl0VGVzdFNjb3BlKCp0aGlzKTsK
IAotICAgIFBvaW50ZXJFdmVudHNIaXRSdWxlcyBoaXRSdWxlcyhQb2ludGVyRXZlbnRzSGl0UnVs
ZXM6OlNWR19QQVRIX0hJVFRFU1RJTkcsIHJlcXVlc3QsIHN0eWxlKCkucG9pbnRlckV2ZW50cygp
KTsKKyAgICBQb2ludGVyRXZlbnRzSGl0UnVsZXMgaGl0UnVsZXMoUG9pbnRlckV2ZW50c0hpdFJ1
bGVzOjpTVkdfUEFUSF9ISVRURVNUSU5HLCByZXF1ZXN0LCBzdHlsZSgpLmVmZmVjdGl2ZVBvaW50
ZXJFdmVudHMoKSk7CiAgICAgYm9vbCBpc1Zpc2libGUgPSAoc3R5bGUoKS52aXNpYmlsaXR5KCkg
PT0gVmlzaWJpbGl0eTo6VmlzaWJsZSk7CiAgICAgaWYgKGlzVmlzaWJsZSB8fCAhaGl0UnVsZXMu
cmVxdWlyZVZpc2libGUpIHsKICAgICAgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUmIHN2Z1N0eWxl
ID0gc3R5bGUoKS5zdmdTdHlsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHVGV4dC5jcHAKaW5kZXggMWRiMGVhNzUwZDU1NGNkM2VlYzExNGNjMzYyNjFlYThh
ZTRiNWM4Ny4uMWFlMzEzMGVmZGJjODQzOTA1MWY2OTc3Y2RmZjA4Mjg4OTMzZDQxNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHQuY3BwCkBAIC00MDQs
NyArNDA0LDcgQEAgdm9pZCBSZW5kZXJTVkdUZXh0OjpsYXlvdXQoKQogCiBib29sIFJlbmRlclNW
R1RleHQ6Om5vZGVBdEZsb2F0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhp
dFRlc3RSZXN1bHQmIHJlc3VsdCwgY29uc3QgRmxvYXRQb2ludCYgcG9pbnRJblBhcmVudCwgSGl0
VGVzdEFjdGlvbiBoaXRUZXN0QWN0aW9uKQogewotICAgIFBvaW50ZXJFdmVudHNIaXRSdWxlcyBo
aXRSdWxlcyhQb2ludGVyRXZlbnRzSGl0UnVsZXM6OlNWR19URVhUX0hJVFRFU1RJTkcsIHJlcXVl
c3QsIHN0eWxlKCkucG9pbnRlckV2ZW50cygpKTsKKyAgICBQb2ludGVyRXZlbnRzSGl0UnVsZXMg
aGl0UnVsZXMoUG9pbnRlckV2ZW50c0hpdFJ1bGVzOjpTVkdfVEVYVF9ISVRURVNUSU5HLCByZXF1
ZXN0LCBzdHlsZSgpLmVmZmVjdGl2ZVBvaW50ZXJFdmVudHMoKSk7CiAgICAgYm9vbCBpc1Zpc2li
bGUgPSAoc3R5bGUoKS52aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6VmlzaWJsZSk7CiAgICAg
aWYgKGlzVmlzaWJsZSB8fCAhaGl0UnVsZXMucmVxdWlyZVZpc2libGUpIHsKICAgICAgICAgaWYg
KChoaXRSdWxlcy5jYW5IaXRTdHJva2UgJiYgKHN0eWxlKCkuc3ZnU3R5bGUoKS5oYXNTdHJva2Uo
KSB8fCAhaGl0UnVsZXMucmVxdWlyZVN0cm9rZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAppbmRleCA4MzIzYjY1MzNlNTY0YjA5OGZh
MzAzZWJiZGFjNzM4ZjExODFlZmJkLi4xNTFkMDBkNzI0YjZjZWRmZGU3ZmU3YmY0YTlkNjkwODNl
N2IzZjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGlu
ZVRleHRCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5l
VGV4dEJveC5jcHAKQEAgLTYzNSw3ICs2MzUsNyBAQCBib29sIFNWR0lubGluZVRleHRCb3g6Om5v
ZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0Jgog
ICAgIC8vIEZJWE1FOiBpbnRlZ3JhdGUgd2l0aCBMZWdhY3lJbmxpbmVUZXh0Qm94Ojpub2RlQXRQ
b2ludCBiZXR0ZXIuCiAgICAgQVNTRVJUKCFpc0xpbmVCcmVhaygpKTsKIAotICAgIFBvaW50ZXJF
dmVudHNIaXRSdWxlcyBoaXRSdWxlcyhQb2ludGVyRXZlbnRzSGl0UnVsZXM6OlNWR19URVhUX0hJ
VFRFU1RJTkcsIHJlcXVlc3QsIHJlbmRlcmVyKCkuc3R5bGUoKS5wb2ludGVyRXZlbnRzKCkpOwor
ICAgIFBvaW50ZXJFdmVudHNIaXRSdWxlcyBoaXRSdWxlcyhQb2ludGVyRXZlbnRzSGl0UnVsZXM6
OlNWR19URVhUX0hJVFRFU1RJTkcsIHJlcXVlc3QsIHJlbmRlcmVyKCkuc3R5bGUoKS5lZmZlY3Rp
dmVQb2ludGVyRXZlbnRzKCkpOwogICAgIGJvb2wgaXNWaXNpYmxlID0gcmVuZGVyZXIoKS5zdHls
ZSgpLnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlOwogICAgIGlmIChpc1Zpc2li
bGUgfHwgIWhpdFJ1bGVzLnJlcXVpcmVWaXNpYmxlKSB7CiAgICAgICAgIGlmICgoaGl0UnVsZXMu
Y2FuSGl0U3Ryb2tlICYmIChyZW5kZXJlcigpLnN0eWxlKCkuc3ZnU3R5bGUoKS5oYXNTdHJva2Uo
KSB8fCAhaGl0UnVsZXMucmVxdWlyZVN0cm9rZSkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYmNlNDQ5MTJjZWI3YTFjZGQy
NTNjMmUzNjk2NWQ3ZDcwZTJjNGMxZS4uYjFhOTIxNTIxNDJjN2NmMTYyNDI2M2NkZDFhMDM1M2Q2
MWFkM2IwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTAyLTIyICBUaW0gTmd1eWVuICA8
bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBwb2ludGVyLWV2ZW50cyBjaGVja3MgZm9y
IFNWRyB0YWtlIGluIGFjY291bnQgaW5lcnQgc3VidHJlZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTgzNgorCisgICAgICAgIFJldmlld2VkIGJ5
IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIGlPUyBkb2Vzbid0IHN1cHBvcnQgdGVzdF9hY3Rp
b25zLCBzbyBpdCBuZWVkcyBkaWZmZXJlbnQgYmFzZWxpbmVzLgorCisgICAgICAgICogcGxhdGZv
cm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9pbmVydC1zdmctaGl0dGVz
dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbmVydC9pbmVydC1zdmctaGl0dGVzdC50ZW50YXRp
dmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAyMi0wMi0yMCAgSm9uIExlZSAgPGpvbmxlZUBh
cHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBnYXJkZW5pbmcgZm9yIEdQVSBQcm9jZXNz
IGJvdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGUxMTE1MDdhMGQ3OGNkY2Fi
MjUxZWNkZDE0MjMyMDZhN2Q1MzcyNWYuLjVjOTk0OThhNmMyZmM1ZGIzODAzYmRmMGRlOGE1NDRi
ZjcwNDVlYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDIyLTAyLTIyICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFr
ZSBwb2ludGVyLWV2ZW50cyBjaGVja3MgZm9yIFNWRyB0YWtlIGluIGFjY291bnQgaW5lcnQgc3Vi
dHJlZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
NTgzNgorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIEFk
ZGVkIHRlc3RzIGZvciBib3RoIGluZXJ0IGF0dHJpYnV0ZSAmIG1vZGFsIGRpYWxvZyBjYXNlcy4K
KworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2
ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvaW5lcnQtc3ZnLWhpdHRlc3QtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
aW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2luZXJ0LXN2Zy1oaXR0ZXN0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbmVydC9pbmVydC1z
dmctaGl0dGVzdC50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaW5lcnQvaW5lcnQtc3ZnLWhpdHRlc3QudGVudGF0aXZlLmh0bWw6IEFk
ZGVkLgorCiAyMDIyLTAyLTIwICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmViYXNlbGluZSBpbmVydC1mb2N1cy1pbi1mcmFtZXMuaHRtbCBhZnRlciByMjkwMTk3Lgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvaW5l
cnQtc3ZnLWhpdHRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUt
ZGlhbG9nLWVsZW1lbnQvaW5lcnQtc3ZnLWhpdHRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY2NzVkMGE0MGEyZTI5Yjg3ZjFiYzEyYTAzNjVhOWY0M2RhNThmZmEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9pbmVydC1zdmct
aGl0dGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgSGl0LXRlc3Rpbmcg
ZG9lc24ndCByZWFjaCBjb250ZW50cyBvZiBhbiBpbmVydCBTVkcKK1BBU1MgSGl0LXRlc3Rpbmcg
Y2FuIHJlYWNoIGNvbnRlbnRzIG9mIGEgbm8gbG9uZ2VyIGluZXJ0IFNWRworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9pbmVydC1zdmctaGl0
dGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvaW5l
cnQtc3ZnLWhpdHRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZWI0OTY1ZWM3MzZjOTA1NDY3YjkzNmYx
YWQ4MDNlMGY3ZDRhMjI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50
cy90aGUtZGlhbG9nLWVsZW1lbnQvaW5lcnQtc3ZnLWhpdHRlc3QuaHRtbApAQCAtMCwwICsxLDY5
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5IaXQt
dGVzdGluZyB3aXRoIFNWRyBtYWRlIGluZXJ0IGJ5IG1vZGFsIGRpYWxvZzwvdGl0bGU+Cis8bGlu
ayByZWw9ImF1dGhvciIgdGl0bGU9IlRpbSBOZ3V5ZW4iIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNv
bS9udDFtIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdn
Lm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCNpbmVydCI+Cis8bWV0YSBhc3NlcnQ9ImFz
c2VydCIgY29udGVudD0iU1ZHIG1hZGUgaW5lcnQgYnkgbW9kYWwgZGlhbG9nIHNob3VsZCBiZSB1
bnJlYWNoYWJsZSB3aXRoIGhpdC10ZXN0aW5nIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2
ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5k
b3IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rp
b25zLmpzIj48L3NjcmlwdD4KKworPGRpdiBpZD0id3JhcHBlciI+CisgICAgPHN2ZyB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MDAgNTAwIj4KKyAgICAg
ICAgPHJlY3Qgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIGlkPSJ0YXJnZXQiIGZpbGw9InJlZCI+
CisgICAgPC9zdmc+Cis8L2Rpdj4KKworPGRpYWxvZyBpZD0iZGlhbG9nIj5Db250ZW50IGJlaGlu
ZCB0aGUgb3BlbiBtb2RhbCBkaWFsb2cgc2hvdWxkIG5vdCBiZSBjbGlja2FibGU8L2RpYWxvZz4K
KworPHN0eWxlPgorZGlhbG9nOjpiYWNrZHJvcCB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKzwv
c3R5bGU+CisKKzxzY3JpcHQ+Citjb25zdCBkaWFsb2cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZGlhbG9nIik7Citjb25zdCB3cmFwcGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndy
YXBwZXIiKTsKK2NvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQi
KTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKCkgeworICAgIGRpYWxvZy5zaG93TW9k
YWwoKTsKKyAgICB0aGlzLmFkZF9jbGVhbnVwKCgpID0+IGRpYWxvZy5jbG9zZSgpKTsKKworICAg
IGxldCByZWFjaGVkVGFyZ2V0ID0gZmFsc2U7CisgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIo
Im1vdXNlZG93biIsICgpID0+IHsKKyAgICAgICAgcmVhY2hlZFRhcmdldCA9IHRydWU7CisgICAg
fSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgYXdhaXQgbmV3IHRlc3RfZHJpdmVyLkFjdGlvbnMo
KQorICAgICAgICAucG9pbnRlck1vdmUoMCwgMCwgeyBvcmlnaW46IHdyYXBwZXIgfSkKKyAgICAg
ICAgLnBvaW50ZXJEb3duKCkKKyAgICAgICAgLnNlbmQoKTsKKyAgICB0aGlzLmFkZF9jbGVhbnVw
KCgpID0+IHRlc3RfZHJpdmVyLmNsaWNrKGRvY3VtZW50LmJvZHkpKTsKKworICAgIGFzc2VydF9m
YWxzZSh0YXJnZXQubWF0Y2hlcygiOmFjdGl2ZSIpLCAidGFyZ2V0IGlzIG5vdCBhY3RpdmUiKTsK
KyAgICBhc3NlcnRfZmFsc2UodGFyZ2V0Lm1hdGNoZXMoIjpob3ZlciIpLCAidGFyZ2V0IGlzIG5v
dCBob3ZlcmVkIik7CisgICAgYXNzZXJ0X2ZhbHNlKHJlYWNoZWRUYXJnZXQsICJ0YXJnZXQgZGlk
bid0IGdldCBldmVudCIpOworfSwgIkhpdC10ZXN0aW5nIGRvZXNuJ3QgcmVhY2ggY29udGVudHMg
b2YgYW4gaW5lcnQgU1ZHIik7CisKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbigpIHsKKyAg
ICBhc3NlcnRfZmFsc2UoZGlhbG9nLm9wZW4sICJkaWFsb2cgaXMgY2xvc2VkIik7CisKKyAgICBs
ZXQgcmVhY2hlZFRhcmdldCA9IGZhbHNlOworICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKCJt
b3VzZWRvd24iLCAoKSA9PiB7CisgICAgICAgIHJlYWNoZWRUYXJnZXQgPSB0cnVlOworICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgIGF3YWl0IG5ldyB0ZXN0X2RyaXZlci5BY3Rpb25zKCkK
KyAgICAgICAgLnBvaW50ZXJNb3ZlKDAsIDAsIHsgb3JpZ2luOiB3cmFwcGVyIH0pCisgICAgICAg
IC5wb2ludGVyRG93bigpCisgICAgICAgIC5zZW5kKCk7CisgICAgdGhpcy5hZGRfY2xlYW51cCgo
KSA9PiB0ZXN0X2RyaXZlci5jbGljayhkb2N1bWVudC5ib2R5KSk7CisKKyAgICBhc3NlcnRfdHJ1
ZSh0YXJnZXQubWF0Y2hlcygiOmFjdGl2ZSIpLCAidGFyZ2V0IGlzIGFjdGl2ZSIpOworICAgIGFz
c2VydF90cnVlKHJlYWNoZWRUYXJnZXQsICJ0YXJnZXQgZ290IGV2ZW50Iik7Cit9LCAiSGl0LXRl
c3RpbmcgY2FuIHJlYWNoIGNvbnRlbnRzIG9mIGEgbm8gbG9uZ2VyIGluZXJ0IFNWRyIpOworPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2luZXJ0L2luZXJ0LXN2Zy1oaXR0ZXN0LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2luZXJ0L2luZXJ0LXN2
Zy1oaXR0ZXN0LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjY3NWQwYTQwYTJl
MjliODdmMWJjMTJhMDM2NWE5ZjQzZGE1OGZmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW5lcnQvaW5lcnQtc3ZnLWhpdHRl
c3QudGVudGF0aXZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBIaXQtdGVz
dGluZyBkb2Vzbid0IHJlYWNoIGNvbnRlbnRzIG9mIGFuIGluZXJ0IFNWRworUEFTUyBIaXQtdGVz
dGluZyBjYW4gcmVhY2ggY29udGVudHMgb2YgYSBubyBsb25nZXIgaW5lcnQgU1ZHCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW5lcnQv
aW5lcnQtc3ZnLWhpdHRlc3QudGVudGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2luZXJ0L2luZXJ0LXN2Zy1oaXR0ZXN0LnRlbnRhdGl2ZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY3NDNlZDI1ZjQ1ZjEyNDNhY2YzMGE2ZmQ0MzBlNzA3YTkyOGViZTYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2luZXJ0L2luZXJ0LXN2Zy1oaXR0ZXN0LnRlbnRhdGl2ZS5odG1sCkBAIC0wLDAgKzEs
NzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkhp
dC10ZXN0aW5nIHdpdGggaW5lcnQgU1ZHPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRs
ZT0iVGltIE5ndXllbiIgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL250MW0iPgorPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRl
cmFjdGlvbi5odG1sI2luZXJ0Ij4KKzxtZXRhIGFzc2VydD0iYXNzZXJ0IiBjb250ZW50PSJTVkcg
aW5zaWRlIGVsZW1lbnQgd2l0aCBpbmVydCBhdHRyaWJ1dGUgc2hvdWxkIGJlIHVucmVhY2hhYmxl
IHdpdGggaGl0LXRlc3RpbmciPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanMiPjwv
c2NyaXB0PgorCis8ZGl2IGlkPSJ3cmFwcGVyIj4KKyAgICA8ZGl2IGluZXJ0IGlkPSJzdmctY29u
dGFpbmVyIj4KKyAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
IHZpZXdCb3g9IjAgMCA1MDAgNTAwIj4KKyAgICAgICAgICAgIDxyZWN0IHdpZHRoPSI1MDAiIGhl
aWdodD0iNTAwIiBpZD0idGFyZ2V0IiBmaWxsPSJyZWQiPgorICAgICAgICA8L3N2Zz4KKyAgICA8
L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0PgorY29uc3Qgd3JhcHBlciA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ3cmFwcGVyIik7Citjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0Iik7CisKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbigpIHsKKyAgICBs
ZXQgcmVhY2hlZFRhcmdldCA9IGZhbHNlOworICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKCJt
b3VzZWRvd24iLCAoKSA9PiB7CisgICAgICAgIHJlYWNoZWRUYXJnZXQgPSB0cnVlOworICAgIH0s
IHsgb25jZTogdHJ1ZSB9KTsKKworICAgIGxldCByZWFjaGVkV3JhcHBlciA9IGZhbHNlOworICAg
IHdyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgKCkgPT4geworICAgICAgICBy
ZWFjaGVkV3JhcHBlciA9IHRydWU7CisgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworCisgICAgYXdh
aXQgbmV3IHRlc3RfZHJpdmVyLkFjdGlvbnMoKQorICAgICAgICAucG9pbnRlck1vdmUoMCwgMCwg
eyBvcmlnaW46IHdyYXBwZXIgfSkKKyAgICAgICAgLnBvaW50ZXJEb3duKCkKKyAgICAgICAgLnNl
bmQoKTsKKyAgICB0aGlzLmFkZF9jbGVhbnVwKCgpID0+IHRlc3RfZHJpdmVyLmNsaWNrKGRvY3Vt
ZW50LmJvZHkpKTsKKworICAgIGFzc2VydF9mYWxzZSh0YXJnZXQubWF0Y2hlcygiOmFjdGl2ZSIp
LCAidGFyZ2V0IGlzIG5vdCBhY3RpdmUiKTsKKyAgICBhc3NlcnRfZmFsc2UodGFyZ2V0Lm1hdGNo
ZXMoIjpob3ZlciIpLCAidGFyZ2V0IGlzIG5vdCBob3ZlcmVkIik7CisgICAgYXNzZXJ0X2ZhbHNl
KHJlYWNoZWRUYXJnZXQsICJ0YXJnZXQgZGlkbid0IGdldCBldmVudCIpOworCisgICAgYXNzZXJ0
X3RydWUod3JhcHBlci5tYXRjaGVzKCI6aG92ZXIiKSwgIndyYXBwZXIgaXMgaG92ZXJlZCIpOwor
ICAgIGFzc2VydF90cnVlKHJlYWNoZWRXcmFwcGVyLCAid3JhcHBlciBnb3QgZXZlbnQiKTsKK30s
ICJIaXQtdGVzdGluZyBkb2Vzbid0IHJlYWNoIGNvbnRlbnRzIG9mIGFuIGluZXJ0IFNWRyIpOwor
Citwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24oKSB7CisgICAgZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcigiI3N2Zy1jb250YWluZXIiKS5pbmVydCA9IGZhbHNlOworCisgICAgbGV0IHJlYWNoZWRU
YXJnZXQgPSBmYWxzZTsKKyAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwg
KCkgPT4geworICAgICAgICByZWFjaGVkVGFyZ2V0ID0gdHJ1ZTsKKyAgICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisKKyAgICBhd2FpdCBuZXcgdGVzdF9kcml2ZXIuQWN0aW9ucygpCisgICAgICAgIC5w
b2ludGVyTW92ZSgwLCAwLCB7IG9yaWdpbjogd3JhcHBlciB9KQorICAgICAgICAucG9pbnRlckRv
d24oKQorICAgICAgICAuc2VuZCgpOworICAgIHRoaXMuYWRkX2NsZWFudXAoKCkgPT4gdGVzdF9k
cml2ZXIuY2xpY2soZG9jdW1lbnQuYm9keSkpOworCisgICAgYXNzZXJ0X3RydWUodGFyZ2V0Lm1h
dGNoZXMoIjphY3RpdmUiKSwgInRhcmdldCBpcyBhY3RpdmUiKTsKKyAgICBhc3NlcnRfdHJ1ZSh0
YXJnZXQubWF0Y2hlcygiOmhvdmVyIiksICJ0YXJnZXQgaXMgaG92ZXJlZCIpOworICAgIGFzc2Vy
dF90cnVlKHJlYWNoZWRUYXJnZXQsICJ0YXJnZXQgZ290IGV2ZW50Iik7CisKKyAgICBhc3NlcnRf
dHJ1ZSh3cmFwcGVyLm1hdGNoZXMoIjpob3ZlciIpLCAid3JhcHBlciBpcyBob3ZlcmVkIik7Cit9
LCAiSGl0LXRlc3RpbmcgY2FuIHJlYWNoIGNvbnRlbnRzIG9mIGEgbm8gbG9uZ2VyIGluZXJ0IFNW
RyIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sy
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3Rp
dmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2luZXJ0LXN2Zy1oaXR0ZXN0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9n
LWVsZW1lbnQvaW5lcnQtc3ZnLWhpdHRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2NDUw
NTM4ODBjZjQ1YmMzNzY5YWMyNzRmODRkZTlhNDg1MTMyOTYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50
L2luZXJ0LXN2Zy1oaXR0ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBI
aXQtdGVzdGluZyBkb2Vzbid0IHJlYWNoIGNvbnRlbnRzIG9mIGFuIGluZXJ0IFNWRworRkFJTCBI
aXQtdGVzdGluZyBjYW4gcmVhY2ggY29udGVudHMgb2YgYSBubyBsb25nZXIgaW5lcnQgU1ZHIGFz
c2VydF90cnVlOiB0YXJnZXQgaXMgYWN0aXZlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbmVydC9pbmVydC1zdmctaGl0dGVzdC50ZW50YXRpdmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2luZXJ0L2luZXJ0LXN2Zy1oaXR0ZXN0LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTU4ODlkMDFmOGUzODBmY2U1ZjVmNTg3NjViYjQ2YTNlNWE3MTM1MgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbmVydC9pbmVydC1zdmctaGl0dGVzdC50ZW50YXRpdmUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitGQUlMIEhpdC10ZXN0aW5nIGRvZXNuJ3QgcmVh
Y2ggY29udGVudHMgb2YgYW4gaW5lcnQgU1ZHIGFzc2VydF90cnVlOiB3cmFwcGVyIGlzIGhvdmVy
ZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgSGl0LXRlc3RpbmcgY2FuIHJlYWNoIGNv
bnRlbnRzIG9mIGEgbm8gbG9uZ2VyIGluZXJ0IFNWRyBhc3NlcnRfdHJ1ZTogdGFyZ2V0IGlzIGFj
dGl2ZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>