<?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>166962</bug_id>
          
          <creation_ts>2017-01-11 20:30:54 -0800</creation_ts>
          <short_desc>Large negative animation-delays may not work depending on machine uptime</short_desc>
          <delta_ts>2017-04-14 09:55:15 -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>Animations</component>
          <version>Safari 10</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Bruchmann">david.bruchmann</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>buildbot</cc>
    
    <cc>david.bruchmann</cc>
    
    <cc>dino</cc>
    
    <cc>dstockwell</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1266057</commentid>
    <comment_count>0</comment_count>
    <who name="David Bruchmann">david.bruchmann</who>
    <bug_when>2017-01-11 20:30:54 -0800</bug_when>
    <thetext>if some CSS like this is used:

.circle-hours-r3730 { 
	stroke:rgba(0,0,180,0.6);
	animation: keyframes-hours-r3730 43200s infinite;  /* steps(12)*/
	animation-timing-function: linear;
	animation-delay:-21600s;
}

the animation is only working if the seconds for ANIMATION-DELAY cover round about half a day or less.
The detailed amount of accepted seconds seems not clear for me and changing randomly.
So in general the feature animation-delay is working but useless for larger amount of seconds.
As I don&apos;t have safari by my own I rely on customer reports. Before declining (hopefully not) please check all possible versions and frameworks.
The randomly changing accepted amount of seconds I discovered with Midori-browser on ubuntu.

An example SVG is this:

&lt;svg width=&quot;200&quot; height=&quot;200&quot; class=&quot;main-container&quot; version=&quot;1.1&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;
	&lt;style type=&quot;text/css&quot;&gt;
		svg.main-container{
			background:transparent;
		}
	&lt;/style&gt;
	&lt;svg class=&quot;circle-watch-content&quot; viewBox=&quot;0 0 10000 10000&quot; preserveAspectRatio=&quot;none&quot;&gt;
		&lt;style type=&quot;text/css&quot;&gt;
			.circle-watch-content .donuts {
				-webkit-transform-origin:5000px 5000px;
				-moz-transform-origin:5000px 5000px;
				transform-origin:5000px 5000px;
				
				-webkit-transform: rotate(-90deg);
				-moz-transform: rotate(-90deg);
				transform: rotate(-90deg);
			}
			.circle-watch-content .donuts .donut circle {
				stroke-width:350;
				stroke-dashoffset:0;
				fill:transparent;
			}
			.circle-background { stroke:rgba(256,256,256,0.7); fill:transparent;}
		&lt;/style&gt;
		&lt;g class=&quot;donuts&quot;&gt;
			&lt;svg class=&quot;donut donut-r3730&quot;&gt;
				&lt;style type=&quot;text/css&quot;&gt;
					@keyframes keyframes-hours-r3730 {
						  0%      { stroke-dasharray:0 23437; }
						100%      { stroke-dasharray:23436.28 23437; }
					}
					.circle-hours-r3730 { 
						stroke:rgba(0,0,180,0.6);
						animation: keyframes-hours-r3730 43200s infinite;  /* steps(12)*/
						animation-timing-function: linear;
						animation-delay:-21600s;
					}
				&lt;/style&gt;
				&lt;circle cx=&quot;5000&quot; cy=&quot;5000&quot; r=&quot;3730&quot; class=&quot;circle-background circle-background-r3730&quot;&gt;&lt;/circle&gt;
				&lt;circle cx=&quot;5000&quot; cy=&quot;5000&quot; r=&quot;3730&quot; class=&quot;circle-hours circle-hours-r3730&quot; id=&quot;circle-hours-r3730&quot;&gt;&lt;/circle&gt;
			&lt;/svg&gt;
		&lt;/g&gt;
	&lt;/svg&gt;
&lt;/svg&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266790</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-01-14 00:23:58 -0800</bug_when>
    <thetext>Please clarify why it is desirable to have such long time periods. It is normal that browsers have implementation defined limits, and to consider raising those, a compelling use case would be helpful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266819</commentid>
    <comment_count>2</comment_count>
    <who name="David Bruchmann">david.bruchmann</who>
    <bug_when>2017-01-14 10:40:45 -0800</bug_when>
    <thetext>A simple example and also my purpose was to create an animated watch with 12h and 24h animations. Even if the animation is running is only for a few minutes on client-side I need the long animation-delay to adjust the style applying to the current time.
In chrome and firefox my example above is running, so the bug in safari / webkit is regrettable a reason that the animation is not fully browser-compatible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266830</commentid>
    <comment_count>3</comment_count>
    <who name="David Bruchmann">david.bruchmann</who>
    <bug_when>2017-01-14 11:39:38 -0800</bug_when>
    <thetext>If there exist any limits in firefox and chrome it might be desire-able that any limits in webkit / safari are adjusted to those.
Having own definitions about limits will always raise bug-reports if the limits are more limiting than in other browsers.
In my opinion limits should be given by CSS, JavaScript or the programming-language of Webkit, but not be defined additional.

This is related to all limits that might exist and not only to that of animation-delay.
Nevertheless, I primary am concerned about animaton-delay now and any other limits had to be discussed in other bugs or more general perhaps.

Concerning animaton-delay it&apos;s thinkable that it could be used for animations of calendars too, so weeks, month or years (in seconds) could be shown too without limits that are too strict for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266839</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-01-14 13:00:27 -0800</bug_when>
    <thetext>The CSS spec allows user agents to clamp large values, as long as the clamped values round-trip.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266874</commentid>
    <comment_count>5</comment_count>
    <who name="David Bruchmann">david.bruchmann</who>
    <bug_when>2017-01-14 18:01:11 -0800</bug_when>
    <thetext>@Simon Fraser, can you give an example?
And does it help to solve the bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268037</commentid>
    <comment_count>6</comment_count>
    <who name="David Bruchmann">david.bruchmann</who>
    <bug_when>2017-01-18 22:25:43 -0800</bug_when>
    <thetext>You can see the an example svg here:
https://webdevelopment.barlians.com/news/details/article/clock-just-by-svg-and-css.html

Safari displays the outer circle not and that&apos;s related to the problem I mentioned here. The example above is reduced to the outer circle of the online-example.

@Simon Fraser the problems are this:
1) &quot;clamp large values&quot; is not in conformance with other browsers and Safari concerning this and other features is for me as webdeveloper a neck-breaker.
2) Why values are clamped without any reason or why the limits are so low. The unix timestamp works with values since 1970 and I suppose that&apos;s not an issue in general.
3) Ranges of values should be defined by applications or real definitions and standards, I don&apos;t see any reason that Safari is doing it&apos;s own miracles.
4) Round-Tripping concerning hours in a day is not given and if you exceed your own definition the duration of round-tripping is not defined. You can use it for seconds but also for centuries or millennia. Safari is not even covering seconds of a half day and that&apos;s my issue here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268039</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-01-18 22:51:53 -0800</bug_when>
    <thetext>The actual bug happens when animation-delay is a large enough negative number that monotonicallyIncreasingTime() + delay becomes negative. So the longer your machine has been running, the greater the negative values that work. This isn&apos;t about clamping, it&apos;s about WebKit assuming that m_startTime += m_animation-&gt;delay() is always positive (where m_startTime is set from monotonicallyIncreasingTime()).

Simpler reduction attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268040</commentid>
    <comment_count>8</comment_count>
      <attachid>299233</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-01-18 22:52:09 -0800</bug_when>
    <thetext>Created attachment 299233
Testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268041</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-01-18 22:53:46 -0800</bug_when>
    <thetext>&lt;rdar://problem/30091526&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268042</commentid>
    <comment_count>10</comment_count>
      <attachid>299234</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-01-18 22:56:15 -0800</bug_when>
    <thetext>Created attachment 299234
SVG testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268043</commentid>
    <comment_count>11</comment_count>
    <who name="David Bruchmann">david.bruchmann</who>
    <bug_when>2017-01-18 23:05:49 -0800</bug_when>
    <thetext>Ok, thanks for the clarification and adding my example too.

Your example is working fine, but I use chrome on windows and not safari.
Would be nice if the monotonicallyIncreasingTime-function could be changed or removed.
About the negative/positive values I don&apos;t know the problem in Safari but in my animation I need working with negative values and in important other browsers that&apos;s not an issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1297258</commentid>
    <comment_count>12</comment_count>
      <attachid>307070</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-04-13 18:49:30 -0700</bug_when>
    <thetext>Created attachment 307070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1297261</commentid>
    <comment_count>13</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-04-13 18:57:19 -0700</bug_when>
    <thetext>Committed r215352: &lt;http://trac.webkit.org/changeset/215352&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1297372</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-04-14 02:36:17 -0700</bug_when>
    <thetext>Nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1297408</commentid>
    <comment_count>15</comment_count>
    <who name="David Bruchmann">david.bruchmann</who>
    <bug_when>2017-04-14 09:55:15 -0700</bug_when>
    <thetext>Can&apos;t test it in lack of safari / apple but assume it&apos;s fine.
Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>299233</attachid>
            <date>2017-01-18 22:52:09 -0800</date>
            <delta_ts>2017-01-18 22:52:09 -0800</delta_ts>
            <desc>Testcase</desc>
            <filename>long-animation-delay.html</filename>
            <type>text/html</type>
            <size>506</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KPGhlYWQ+CiAgICA8c3R5bGU+CgogICAgLmJveCB7CiAg
ICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICBo
ZWlnaHQ6IDEwMHB4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CiAgICAgICAgYW5p
bWF0aW9uOiBtb3ZlIDIwcyBpbmZpbml0ZSBmb3J3YXJkczsKICAgICAgICBhbmltYXRpb24tdGlt
aW5nLWZ1bmN0aW9uOiBsaW5lYXI7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtOTk5OTk5czsK
ICAgIH0KICAgIAogICAgQGtleWZyYW1lcyBtb3ZlIHsKICAgICAgICAgIDAlIHsgbGVmdDogMDsg
fQogICAgICAgIDEwMCUgeyBsZWZ0OiA1MDBweDsgfQogICAgfQogICAgICAgIAogICAgPC9zdHls
ZT4KPC9oZWFkPgo8Ym9keT4KICAgIDxwPlRoaXMgYm94IHNob3VsZCBiZSBhbmltYXRpbmc8L3A+
CiAgICA8ZGl2IGNsYXNzPSJib3giPgogICAgPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>299234</attachid>
            <date>2017-01-18 22:56:15 -0800</date>
            <delta_ts>2017-01-18 22:56:15 -0800</delta_ts>
            <desc>SVG testcase</desc>
            <filename>clock.svg</filename>
            <type>text/html</type>
            <size>1711</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgY2xhc3M9Im1haW4tY29udGFpbmVyIiB2ZXJz
aW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgogICAgICAgIHN2Zy5tYWluLWNvbnRhaW5lcnsKICAgICAgICAgICAg
YmFja2dyb3VuZDp0cmFuc3BhcmVudDsKICAgICAgICB9CiAgICA8L3N0eWxlPgogICAgPHN2ZyBj
bGFzcz0iY2lyY2xlLXdhdGNoLWNvbnRlbnQiIHZpZXdCb3g9IjAgMCAxMDAwMCAxMDAwMCIgcHJl
c2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
ICAgICAgICAgICAgLmNpcmNsZS13YXRjaC1jb250ZW50IC5kb251dHMgewogICAgICAgICAgICAg
ICAgdHJhbnNmb3JtLW9yaWdpbjo1MDAwcHggNTAwMHB4OwogICAgICAgICAgICAgICAgdHJhbnNm
b3JtOiByb3RhdGUoLTkwZGVnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAuY2lyY2xlLXdh
dGNoLWNvbnRlbnQgLmRvbnV0cyAuZG9udXQgY2lyY2xlIHsKICAgICAgICAgICAgICAgIHN0cm9r
ZS13aWR0aDozNTA7CiAgICAgICAgICAgICAgICBzdHJva2UtZGFzaG9mZnNldDowOwogICAgICAg
ICAgICAgICAgZmlsbDpncmF5OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5jaXJjbGUtYmFj
a2dyb3VuZCB7IHN0cm9rZTpyZ2JhKDI1NiwyNTYsMjU2LDAuNyk7IGZpbGw6dHJhbnNwYXJlbnQ7
fQogICAgICAgIDwvc3R5bGU+CiAgICAgICAgPGcgY2xhc3M9ImRvbnV0cyI+CiAgICAgICAgICAg
IDxzdmcgY2xhc3M9ImRvbnV0IGRvbnV0LXIzNzMwIj4KICAgICAgICAgICAgICAgIDxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgICAgICAgICAgICAgQGtleWZyYW1lcyBrZXlmcmFtZXMt
aG91cnMtcjM3MzAgewogICAgICAgICAgICAgICAgICAgICAgICAgIDAlICAgICAgeyBzdHJva2Ut
ZGFzaGFycmF5OjAgMjM0Mzc7IH0KICAgICAgICAgICAgICAgICAgICAgICAgMTAwJSAgICAgIHsg
c3Ryb2tlLWRhc2hhcnJheToyMzQzNi4yOCAyMzQzNzsgfQogICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICAuY2lyY2xlLWhvdXJzLXIzNzMwIHsgCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cm9rZTpyZ2JhKDAsMCwxODAsMC42KTsKICAgICAgICAgICAgICAgICAgICAg
ICAgYW5pbWF0aW9uOiBrZXlmcmFtZXMtaG91cnMtcjM3MzAgNDMyMDBzIGluZmluaXRlOyAgLyog
c3RlcHMoMTIpKi8KICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5j
dGlvbjogbGluZWFyOwogICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6LTIx
NjAwczsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICA8L3N0eWxlPgogICAg
ICAgICAgICAgICAgPGNpcmNsZSBjeD0iNTAwMCIgY3k9IjUwMDAiIHI9IjM3MzAiIGNsYXNzPSJj
aXJjbGUtYmFja2dyb3VuZCBjaXJjbGUtYmFja2dyb3VuZC1yMzczMCI+PC9jaXJjbGU+CiAgICAg
ICAgICAgICAgICA8Y2lyY2xlIGN4PSI1MDAwIiBjeT0iNTAwMCIgcj0iMzczMCIgY2xhc3M9ImNp
cmNsZS1ob3VycyBjaXJjbGUtaG91cnMtcjM3MzAiIGlkPSJjaXJjbGUtaG91cnMtcjM3MzAiPjwv
Y2lyY2xlPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L2c+CiAgICA8L3N2Zz4KPC9zdmc+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307070</attachid>
            <date>2017-04-13 18:49:30 -0700</date>
            <delta_ts>2017-04-13 18:50:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166962-20170414114928.patch</filename>
            <type>text/plain</type>
            <size>19234</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1Mjk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTlhN2MxODcyYzUyNzk2
OWI2NmY5OWM3MGYxM2ZmZjY5YmVmZGU1My4uMDA0ZTZiZmJmOWUwZTZlNDBhOWM0MjE2ZmM3NjQ5
YTkwZDQyOGY2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE3LTA0LTEzICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBMYXJnZSBuZWdhdGl2ZSBhbmlt
YXRpb24tZGVsYXlzIG1heSBub3Qgd29yayBkZXBlbmRpbmcgb24gbWFjaGluZSB1cHRpbWUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Njk2MgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzAwOTE1MjY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgeW91IHNldCBhIHJlYWxseSBuZWdhdGl2ZSBhbmlt
YXRpb24gZGVsYXksIGl0IHdvdWxkIGNhdXNlCisgICAgICAgIEFuaW1hdGlvbkJhc2U6Om1fc3Rh
cnRUaW1lIHRvIGJlY29tZSBuZWdhdGl2ZSwgYmVjYXVzZSB0aGUgZGVsYXkKKyAgICAgICAgdmFs
dWUgd2FzICJiaWdnZXIiIHRoYW4gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lLgorCisgICAg
ICAgIEhvd2V2ZXIsIHRoZSBzdGF0ZSBtYWNoaW5lIHdhcyB1c2luZyAtMSB0byBtZWFuIHRoYXQg
dGhlIHN0YXJ0IHRpbWUKKyAgICAgICAgaGFkbid0IHlldCBiZWVuIHNldC4gQ2xhc3NpYyBjbWFy
cmluIQorCisgICAgICAgIFJlcGxhY2UgYWxsIHRoZSBzcGVjaWFsIHZhbHVlcyB3aXRoIHN0ZDo6
b3B0aW9uYWwsIGFuZCB1c2UgbnVsbG9wdAorICAgICAgICB0byBtZWFuIHRoZSB2YWx1ZSBkb2Vz
bid0IGV4aXN0IHlldC4KKworICAgICAgICBUZXN0OiBhbmltYXRpb25zL2xhcmdlLW5lZ2F0aXZl
LWRlbGF5Lmh0bWwKKworICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQmFzZTo6dXBkYXRlU3RhdGVNYWNoaW5lKToK
KyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkJhc2U6OmZpcmVBbmltYXRpb25FdmVudHNJZk5l
ZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25CYXNlOjpnZXRUaW1lVG9OZXh0RXZl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQmFzZTo6ZnJlZXplQXRUaW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkJhc2U6OmdldEVsYXBzZWRUaW1lKToKKyAgICAgICAg
KiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmg6IFVzZSBzdGQ6Om9wdGlvbmFsLgorICAg
ICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQmFzZTo6cGF1c2VkKToKKwogMjAxNy0wNC0xMiAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFR3ZWFrIFdlYkNv
cmU6OnNldE1ldGFkYXRhVVJMIGZ1bmN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCmluZGV4IGEwNGUxN2JmMjIzZjRmNzBjYWY5ZmFlNjFh
ZGJiZjg2MzA4ZTllNGIuLjVlOTNmODM2NzdkNWY1NmNhZWI3ZDgwZTkwZDgyMDdhMTVlZWFlNzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3Bw
CkBAIC0xNjMsMTAgKzE2MywxMCBAQCB2b2lkIEFuaW1hdGlvbkJhc2U6OnVwZGF0ZVN0YXRlTWFj
aGluZShBbmltYXRpb25TdGF0ZUlucHV0IGlucHV0LCBkb3VibGUgcGFyYW0pCiAgICAgICAgICAg
ICBtX2NvbXBvc2l0ZUFuaW1hdGlvbi0+YW5pbWF0aW9uQ29udHJvbGxlcigpLnJlbW92ZUZyb21B
bmltYXRpb25zV2FpdGluZ0ZvclN0eWxlKHRoaXMpOwogICAgICAgICBMT0coQW5pbWF0aW9ucywg
IiVwIEFuaW1hdGlvblN0YXRlICVzIC0+IE5ldyIsIHRoaXMsIG5hbWVGb3JTdGF0ZShtX2FuaW1h
dGlvblN0YXRlKSk7CiAgICAgICAgIG1fYW5pbWF0aW9uU3RhdGUgPSBBbmltYXRpb25TdGF0ZTo6
TmV3OwotICAgICAgICBtX3N0YXJ0VGltZSA9IDA7Ci0gICAgICAgIG1fcGF1c2VUaW1lID0gLTE7
CisgICAgICAgIG1fc3RhcnRUaW1lID0gc3RkOjpudWxsb3B0OworICAgICAgICBtX3BhdXNlVGlt
ZSA9IHN0ZDo6bnVsbG9wdDsKICAgICAgICAgbV9yZXF1ZXN0ZWRTdGFydFRpbWUgPSAwOwotICAg
ICAgICBtX25leHRJdGVyYXRpb25EdXJhdGlvbiA9IC0xOworICAgICAgICBtX25leHRJdGVyYXRp
b25EdXJhdGlvbiA9IHN0ZDo6bnVsbG9wdDsKICAgICAgICAgZW5kQW5pbWF0aW9uKCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CkBAIC0xNzYsMTAgKzE3NiwxMCBAQCB2b2lkIEFuaW1hdGlvbkJh
c2U6OnVwZGF0ZVN0YXRlTWFjaGluZShBbmltYXRpb25TdGF0ZUlucHV0IGlucHV0LCBkb3VibGUg
cGFyYW0pCiAgICAgICAgICAgICBtX2NvbXBvc2l0ZUFuaW1hdGlvbi0+YW5pbWF0aW9uQ29udHJv
bGxlcigpLnJlbW92ZUZyb21BbmltYXRpb25zV2FpdGluZ0ZvclN0eWxlKHRoaXMpOwogICAgICAg
ICBMT0coQW5pbWF0aW9ucywgIiVwIEFuaW1hdGlvblN0YXRlICVzIC0+IE5ldyIsIHRoaXMsIG5h
bWVGb3JTdGF0ZShtX2FuaW1hdGlvblN0YXRlKSk7CiAgICAgICAgIG1fYW5pbWF0aW9uU3RhdGUg
PSBBbmltYXRpb25TdGF0ZTo6TmV3OwotICAgICAgICBtX3N0YXJ0VGltZSA9IDA7Ci0gICAgICAg
IG1fcGF1c2VUaW1lID0gLTE7CisgICAgICAgIG1fc3RhcnRUaW1lID0gc3RkOjpudWxsb3B0Owor
ICAgICAgICBtX3BhdXNlVGltZSA9IHN0ZDo6bnVsbG9wdDsKICAgICAgICAgbV9yZXF1ZXN0ZWRT
dGFydFRpbWUgPSAwOwotICAgICAgICBtX25leHRJdGVyYXRpb25EdXJhdGlvbiA9IC0xOworICAg
ICAgICBtX25leHRJdGVyYXRpb25EdXJhdGlvbiA9IHN0ZDo6bnVsbG9wdDsKICAgICAgICAgZW5k
QW5pbWF0aW9uKCk7CiAKICAgICAgICAgaWYgKCFwYXVzZWQoKSkKQEAgLTIwOSw3ICsyMDksNyBA
QCB2b2lkIEFuaW1hdGlvbkJhc2U6OnVwZGF0ZVN0YXRlTWFjaGluZShBbmltYXRpb25TdGF0ZUlu
cHV0IGlucHV0LCBkb3VibGUgcGFyYW0pCiAgICAgaWYgKGlucHV0ID09IEFuaW1hdGlvblN0YXRl
SW5wdXQ6OlJlc3VtZU92ZXJyaWRlKSB7CiAgICAgICAgIGlmIChtX2FuaW1hdGlvblN0YXRlID09
IEFuaW1hdGlvblN0YXRlOjpMb29waW5nIHx8IG1fYW5pbWF0aW9uU3RhdGUgPT0gQW5pbWF0aW9u
U3RhdGU6OkVuZGluZykgewogICAgICAgICAgICAgLy8gU3RhcnQgdGhlIGFuaW1hdGlvbgotICAg
ICAgICAgICAgc3RhcnRBbmltYXRpb24oYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkgLSBtX3N0
YXJ0VGltZSk7CisgICAgICAgICAgICBzdGFydEFuaW1hdGlvbihiZWdpbkFuaW1hdGlvblVwZGF0
ZVRpbWUoKSAtIG1fc3RhcnRUaW1lLnZhbHVlX29yKDApKTsKICAgICAgICAgfQogICAgICAgICBy
ZXR1cm47CiAgICAgfQpAQCAtMjI3LDcgKzIyNyw3IEBAIHZvaWQgQW5pbWF0aW9uQmFzZTo6dXBk
YXRlU3RhdGVNYWNoaW5lKEFuaW1hdGlvblN0YXRlSW5wdXQgaW5wdXQsIGRvdWJsZSBwYXJhbSkK
ICAgICAgICAgICAgICAgICAvLyBXZSBhcmUgcGF1c2luZyBiZWZvcmUgd2UgZXZlbiBzdGFydGVk
LgogICAgICAgICAgICAgICAgIExPRyhBbmltYXRpb25zLCAiJXAgQW5pbWF0aW9uU3RhdGUgJXMg
LT4gQW5pbWF0aW9uU3RhdGU6OlBhdXNlZE5ldyIsIHRoaXMsIG5hbWVGb3JTdGF0ZShtX2FuaW1h
dGlvblN0YXRlKSk7CiAgICAgICAgICAgICAgICAgbV9hbmltYXRpb25TdGF0ZSA9IEFuaW1hdGlv
blN0YXRlOjpQYXVzZWROZXc7Ci0gICAgICAgICAgICAgICAgbV9wYXVzZVRpbWUgPSAwOworICAg
ICAgICAgICAgICAgIG1fcGF1c2VUaW1lID0gc3RkOjpudWxsb3B0OwogICAgICAgICAgICAgfQog
CiAjaWYgRU5BQkxFKENTU19BTklNQVRJT05TX0xFVkVMXzIpCkBAIC0yOTksMTEgKzI5OSwxMSBA
QCB2b2lkIEFuaW1hdGlvbkJhc2U6OnVwZGF0ZVN0YXRlTWFjaGluZShBbmltYXRpb25TdGF0ZUlu
cHV0IGlucHV0LCBkb3VibGUgcGFyYW0pCiAgICAgICAgICAgICAgICAgTE9HKEFuaW1hdGlvbnMs
ICIlcCBBbmltYXRpb25TdGF0ZSAlcyAtPiBTdGFydFRpbWVTZXQgKHRpbWUgaXMgJWYpIiwgdGhp
cywgbmFtZUZvclN0YXRlKG1fYW5pbWF0aW9uU3RhdGUpLCBwYXJhbSk7CiAKICAgICAgICAgICAg
ICAgICAvLyBXZSBoYXZlIGEgc3RhcnQgdGltZSwgc2V0IGl0LCB1bmxlc3MgdGhlIHN0YXJ0VGlt
ZSBpcyBhbHJlYWR5IHNldAotICAgICAgICAgICAgICAgIGlmIChtX3N0YXJ0VGltZSA8PSAwKSB7
CisgICAgICAgICAgICAgICAgaWYgKCFtX3N0YXJ0VGltZSkgewogICAgICAgICAgICAgICAgICAg
ICBtX3N0YXJ0VGltZSA9IHBhcmFtOwogICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgdmFs
dWUgZm9yICdhbmltYXRpb24tZGVsYXknIGlzIG5lZ2F0aXZlIHRoZW4gdGhlIGFuaW1hdGlvbiBh
cHBlYXJzIHRvIGhhdmUgc3RhcnRlZCBpbiB0aGUgcGFzdC4KICAgICAgICAgICAgICAgICAgICAg
aWYgKG1fYW5pbWF0aW9uLT5kZWxheSgpIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1f
c3RhcnRUaW1lICs9IG1fYW5pbWF0aW9uLT5kZWxheSgpOworICAgICAgICAgICAgICAgICAgICAg
ICAgbV9zdGFydFRpbWUgPSBtX3N0YXJ0VGltZS52YWx1ZSgpICsgbV9hbmltYXRpb24tPmRlbGF5
KCk7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgLy8gTm93IHRoYXQgd2Ug
a25vdyB0aGUgc3RhcnQgdGltZSwgZmlyZSB0aGUgc3RhcnQgZXZlbnQuCkBAIC0zMTksNyArMzE5
LDcgQEAgdm9pZCBBbmltYXRpb25CYXNlOjp1cGRhdGVTdGF0ZU1hY2hpbmUoQW5pbWF0aW9uU3Rh
dGVJbnB1dCBpbnB1dCwgZG91YmxlIHBhcmFtKQogICAgICAgICAgICAgICAgIC8vIFdlIGFyZSBw
YXVzaW5nIHdoaWxlIHdhaXRpbmcgZm9yIGEgc3RhcnQgcmVzcG9uc2UuIENhbmNlbCB0aGUgYW5p
bWF0aW9uIGFuZCB3YWl0LiBXaGVuIAogICAgICAgICAgICAgICAgIC8vIHdlIHVucGF1c2UsIHdl
IHdpbGwgYWN0IGFzIHRob3VnaCB0aGUgc3RhcnQgdGltZXIganVzdCBmaXJlZAogICAgICAgICAg
ICAgICAgIG1fcGF1c2VUaW1lID0gYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCk7Ci0gICAgICAg
ICAgICAgICAgcGF1c2VBbmltYXRpb24oYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkgLSBtX3N0
YXJ0VGltZSk7CisgICAgICAgICAgICAgICAgcGF1c2VBbmltYXRpb24oYmVnaW5BbmltYXRpb25V
cGRhdGVUaW1lKCkgLSBtX3N0YXJ0VGltZS52YWx1ZV9vcigwKSk7CiAgICAgICAgICAgICAgICAg
TE9HKEFuaW1hdGlvbnMsICIlcCBBbmltYXRpb25TdGF0ZSAlcyAtPiBQYXVzZWRXYWl0UmVzcG9u
c2UiLCB0aGlzLCBuYW1lRm9yU3RhdGUobV9hbmltYXRpb25TdGF0ZSkpOwogICAgICAgICAgICAg
ICAgIG1fYW5pbWF0aW9uU3RhdGUgPSBBbmltYXRpb25TdGF0ZTo6UGF1c2VkV2FpdFJlc3BvbnNl
OwogICAgICAgICAgICAgfQpAQCAtMzM5LDcgKzMzOSw3IEBAIHZvaWQgQW5pbWF0aW9uQmFzZTo6
dXBkYXRlU3RhdGVNYWNoaW5lKEFuaW1hdGlvblN0YXRlSW5wdXQgaW5wdXQsIGRvdWJsZSBwYXJh
bSkKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgLy8gV2UgYXJlIHBhdXNp
bmcgd2hpbGUgcnVubmluZy4gQ2FuY2VsIHRoZSBhbmltYXRpb24gYW5kIHdhaXQKICAgICAgICAg
ICAgICAgICBtX3BhdXNlVGltZSA9IGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSgpOwotICAgICAg
ICAgICAgICAgIHBhdXNlQW5pbWF0aW9uKGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSgpIC0gbV9z
dGFydFRpbWUpOworICAgICAgICAgICAgICAgIHBhdXNlQW5pbWF0aW9uKGJlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZSgpIC0gbV9zdGFydFRpbWUudmFsdWVfb3IoMCkpOwogICAgICAgICAgICAgICAg
IExPRyhBbmltYXRpb25zLCAiJXAgQW5pbWF0aW9uU3RhdGUgJXMgLT4gUGF1c2VkUnVuIiwgdGhp
cywgbmFtZUZvclN0YXRlKG1fYW5pbWF0aW9uU3RhdGUpKTsKICAgICAgICAgICAgICAgICBtX2Fu
aW1hdGlvblN0YXRlID0gQW5pbWF0aW9uU3RhdGU6OlBhdXNlZFJ1bjsKICAgICAgICAgICAgIH0K
QEAgLTM3MSw3ICszNzEsNyBAQCB2b2lkIEFuaW1hdGlvbkJhc2U6OnVwZGF0ZVN0YXRlTWFjaGlu
ZShBbmltYXRpb25TdGF0ZUlucHV0IGlucHV0LCBkb3VibGUgcGFyYW0pCiAgICAgICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgICAgIC8vIFdlIGFyZSBwYXVzaW5nIHdoaWxlIHJ1bm5pbmcu
IENhbmNlbCB0aGUgYW5pbWF0aW9uIGFuZCB3YWl0CiAgICAgICAgICAgICAgICAgbV9wYXVzZVRp
bWUgPSBiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoKTsKLSAgICAgICAgICAgICAgICBwYXVzZUFu
aW1hdGlvbihiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoKSAtIG1fc3RhcnRUaW1lKTsKKyAgICAg
ICAgICAgICAgICBwYXVzZUFuaW1hdGlvbihiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoKSAtIG1f
c3RhcnRUaW1lLnZhbHVlX29yKDApKTsKICAgICAgICAgICAgICAgICBMT0coQW5pbWF0aW9ucywg
IiVwIEFuaW1hdGlvblN0YXRlICVzIC0+IFBhdXNlZFJ1biIsIHRoaXMsIG5hbWVGb3JTdGF0ZSht
X2FuaW1hdGlvblN0YXRlKSk7CiAgICAgICAgICAgICAgICAgbV9hbmltYXRpb25TdGF0ZSA9IEFu
aW1hdGlvblN0YXRlOjpQYXVzZWRSdW47CiAgICAgICAgICAgICB9CkBAIC0zODEsOCArMzgxLDgg
QEAgdm9pZCBBbmltYXRpb25CYXNlOjp1cGRhdGVTdGF0ZU1hY2hpbmUoQW5pbWF0aW9uU3RhdGVJ
bnB1dCBpbnB1dCwgZG91YmxlIHBhcmFtKQogICAgICAgICAgICAgQVNTRVJUKGlucHV0ID09IEFu
aW1hdGlvblN0YXRlSW5wdXQ6OlBsYXlTdGF0ZVJ1bm5pbmcpOwogICAgICAgICAgICAgQVNTRVJU
KHBhdXNlZCgpKTsKICAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgdGltZXMKLSAgICAgICAgICAg
IG1fc3RhcnRUaW1lICs9IGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSgpIC0gbV9wYXVzZVRpbWU7
Ci0gICAgICAgICAgICBtX3BhdXNlVGltZSA9IC0xOworICAgICAgICAgICAgbV9zdGFydFRpbWUg
PSBtX3N0YXJ0VGltZS52YWx1ZSgpICsgYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkgLSBtX3Bh
dXNlVGltZS52YWx1ZV9vcigwKTsKKyAgICAgICAgICAgIG1fcGF1c2VUaW1lID0gc3RkOjpudWxs
b3B0OwogCiAgICAgICAgICAgICAvLyB3ZSB3ZXJlIHdhaXRpbmcgZm9yIHRoZSBzdGFydCB0aW1l
ciB0byBmaXJlLCBnbyBiYWNrIGFuZCB3YWl0IGFnYWluCiAgICAgICAgICAgICBMT0coQW5pbWF0
aW9ucywgIiVwIEFuaW1hdGlvblN0YXRlICVzIC0+IE5ldyIsIHRoaXMsIG5hbWVGb3JTdGF0ZSht
X2FuaW1hdGlvblN0YXRlKSk7CkBAIC00MDYsMTggKzQwNiwxOCBAQCB2b2lkIEFuaW1hdGlvbkJh
c2U6OnVwZGF0ZVN0YXRlTWFjaGluZShBbmltYXRpb25TdGF0ZUlucHV0IGlucHV0LCBkb3VibGUg
cGFyYW0pCiAgICAgICAgICAgICAgICAgICAgIC8vIHRvIHN0YXJ0LCBzbyBqdW1wIGJhY2sgdG8g
dGhlIE5ldyBzdGF0ZSBhbmQgcmVzZXQuCiAgICAgICAgICAgICAgICAgICAgIExPRyhBbmltYXRp
b25zLCAiJXAgQW5pbWF0aW9uU3RhdGUgJXMgLT4gQW5pbWF0aW9uU3RhdGU6Ok5ldyIsIHRoaXMs
IG5hbWVGb3JTdGF0ZShtX2FuaW1hdGlvblN0YXRlKSk7CiAgICAgICAgICAgICAgICAgICAgIG1f
YW5pbWF0aW9uU3RhdGUgPSBBbmltYXRpb25TdGF0ZTo6TmV3OwotICAgICAgICAgICAgICAgICAg
ICBtX3BhdXNlVGltZSA9IC0xOworICAgICAgICAgICAgICAgICAgICBtX3BhdXNlVGltZSA9IHN0
ZDo6bnVsbG9wdDsKICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3RhdGVNYWNoaW5lKGlucHV0
LCBwYXJhbSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgdGltZXMKICAgICAgICAgICAgICAgICBp
ZiAobV9hbmltYXRpb25TdGF0ZSA9PSBBbmltYXRpb25TdGF0ZTo6UGF1c2VkUnVuKQotICAgICAg
ICAgICAgICAgICAgICBtX3N0YXJ0VGltZSArPSBiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoKSAt
IG1fcGF1c2VUaW1lOworICAgICAgICAgICAgICAgICAgICBtX3N0YXJ0VGltZSA9IG1fc3RhcnRU
aW1lLnZhbHVlKCkgKyBiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoKSAtIG1fcGF1c2VUaW1lLnZh
bHVlX29yKDApOwogICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgbV9z
dGFydFRpbWUgPSAwOwogCi0gICAgICAgICAgICAgICAgbV9wYXVzZVRpbWUgPSAtMTsKKyAgICAg
ICAgICAgICAgICBtX3BhdXNlVGltZSA9IHN0ZDo6bnVsbG9wdDsKIAogICAgICAgICAgICAgICAg
IGlmIChtX2FuaW1hdGlvblN0YXRlID09IEFuaW1hdGlvblN0YXRlOjpQYXVzZWRXYWl0U3R5bGVB
dmFpbGFibGUpIHsKICAgICAgICAgICAgICAgICAgICAgTE9HKEFuaW1hdGlvbnMsICIlcCBBbmlt
YXRpb25TdGF0ZSAlcyAtPiBTdGFydFdhaXRTdHlsZUF2YWlsYWJsZSIsIHRoaXMsIG5hbWVGb3JT
dGF0ZShtX2FuaW1hdGlvblN0YXRlKSk7CkBAIC00MzYsNyArNDM2LDcgQEAgdm9pZCBBbmltYXRp
b25CYXNlOjp1cGRhdGVTdGF0ZU1hY2hpbmUoQW5pbWF0aW9uU3RhdGVJbnB1dCBpbnB1dCwgZG91
YmxlIHBhcmFtKQogICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3RhdGVNYWNoaW5lKEFu
aW1hdGlvblN0YXRlSW5wdXQ6OlN0YXJ0VGltZVNldCwgYmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
KCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgbV9pc0FjY2VsZXJhdGVkID0gdHJ1ZTsKICAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wg
c3RhcnRlZCA9IHN0YXJ0QW5pbWF0aW9uKGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSgpIC0gbV9z
dGFydFRpbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBzdGFydGVkID0gc3RhcnRB
bmltYXRpb24oYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkgLSBtX3N0YXJ0VGltZS52YWx1ZV9v
cigwKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBtX2NvbXBvc2l0ZUFuaW1hdGlvbi0+YW5p
bWF0aW9uQ29udHJvbGxlcigpLmFkZFRvQW5pbWF0aW9uc1dhaXRpbmdGb3JTdGFydFRpbWVSZXNw
b25zZSh0aGlzLCBzdGFydGVkKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG1faXNBY2NlbGVy
YXRlZCA9IHN0YXJ0ZWQ7CiAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTQ1MSw5ICs0NTEsOSBA
QCB2b2lkIEFuaW1hdGlvbkJhc2U6OnVwZGF0ZVN0YXRlTWFjaGluZShBbmltYXRpb25TdGF0ZUlu
cHV0IGlucHV0LCBkb3VibGUgcGFyYW0pCiAgICAgICAgICAgICAgICAgLy8gV2UgaWdub3JlIHRo
ZSBzdGFydCB0aW1lIGFuZCBqdXN0IG1vdmUgaW50byB0aGUgcGF1c2VkLXJ1biBzdGF0ZS4KICAg
ICAgICAgICAgICAgICBMT0coQW5pbWF0aW9ucywgIiVwIEFuaW1hdGlvblN0YXRlICVzIC0+IFBh
dXNlZFJ1biAodGltZSBpcyAlZikiLCB0aGlzLCBuYW1lRm9yU3RhdGUobV9hbmltYXRpb25TdGF0
ZSksIHBhcmFtKTsKICAgICAgICAgICAgICAgICBtX2FuaW1hdGlvblN0YXRlID0gQW5pbWF0aW9u
U3RhdGU6OlBhdXNlZFJ1bjsKLSAgICAgICAgICAgICAgICBBU1NFUlQobV9zdGFydFRpbWUgPT0g
MCk7CisgICAgICAgICAgICAgICAgQVNTRVJUKCFtX3N0YXJ0VGltZSk7CiAgICAgICAgICAgICAg
ICAgbV9zdGFydFRpbWUgPSBwYXJhbTsKLSAgICAgICAgICAgICAgICBtX3BhdXNlVGltZSArPSBt
X3N0YXJ0VGltZTsKKyAgICAgICAgICAgICAgICBtX3BhdXNlVGltZSA9IG1fcGF1c2VUaW1lLnZh
bHVlX29yKDApICsgcGFyYW07CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9
CiAKQEAgLTUwNiw3ICs1MDYsNyBAQCB2b2lkIEFuaW1hdGlvbkJhc2U6OmZpcmVBbmltYXRpb25F
dmVudHNJZk5lZWRlZCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBkb3VibGUgZWxh
cHNlZER1cmF0aW9uID0gYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkgLSBtX3N0YXJ0VGltZTsK
KyAgICBkb3VibGUgZWxhcHNlZER1cmF0aW9uID0gYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkg
LSBtX3N0YXJ0VGltZS52YWx1ZV9vcigwKTsKICNpZiBFTkFCTEUoQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMikKICAgICAvLyBJZiB3ZSBhcmUgYSB0cmlnZ2VyZWQgYW5pbWF0aW9uIHRoYXQgZGVwZW5k
cyBvbiBzY3JvbGwsIG91ciBlbGFwc2VkCiAgICAgLy8gdGltZSBpcyBkZXRlcm1pbmVkIGJ5IHRo
ZSBzY3JvbGwgcG9zaXRpb24uCkBAIC01MjAsMTcgKzUyMCwxNyBAQCB2b2lkIEFuaW1hdGlvbkJh
c2U6OmZpcmVBbmltYXRpb25FdmVudHNJZk5lZWRlZCgpCiAgICAgZWxhcHNlZER1cmF0aW9uID0g
c3RkOjptYXgoZWxhcHNlZER1cmF0aW9uLCAwLjApOwogICAgIAogICAgIC8vIENoZWNrIGZvciBl
bmQgdGltZW91dAotICAgIGlmIChtX3RvdGFsRHVyYXRpb24gPj0gMCAmJiBlbGFwc2VkRHVyYXRp
b24gPj0gbV90b3RhbER1cmF0aW9uKSB7CisgICAgaWYgKG1fdG90YWxEdXJhdGlvbiAmJiBlbGFw
c2VkRHVyYXRpb24gPj0gbV90b3RhbER1cmF0aW9uLnZhbHVlKCkpIHsKICAgICAgICAgLy8gV2Ug
bWF5IHN0aWxsIGJlIGluIEFuaW1hdGlvblN0YXRlOjpMb29waW5nIGlmIHdlJ3ZlIG1hbmFnZWQg
dG8gc2tpcCBhCiAgICAgICAgIC8vIHdob2xlIGl0ZXJhdGlvbiwgaW4gd2hpY2ggY2FzZSB3ZSBz
aG91bGQganVtcCB0byB0aGUgZW5kIHN0YXRlLgogICAgICAgICBMT0coQW5pbWF0aW9ucywgIiVw
IEFuaW1hdGlvblN0YXRlICVzIC0+IEVuZGluZyIsIHRoaXMsIG5hbWVGb3JTdGF0ZShtX2FuaW1h
dGlvblN0YXRlKSk7CiAgICAgICAgIG1fYW5pbWF0aW9uU3RhdGUgPSBBbmltYXRpb25TdGF0ZTo6
RW5kaW5nOwogCiAgICAgICAgIC8vIEZpcmUgYW4gZW5kIGV2ZW50Ci0gICAgICAgIHVwZGF0ZVN0
YXRlTWFjaGluZShBbmltYXRpb25TdGF0ZUlucHV0OjpFbmRUaW1lckZpcmVkLCBtX3RvdGFsRHVy
YXRpb24pOworICAgICAgICB1cGRhdGVTdGF0ZU1hY2hpbmUoQW5pbWF0aW9uU3RhdGVJbnB1dDo6
RW5kVGltZXJGaXJlZCwgbV90b3RhbER1cmF0aW9uLnZhbHVlKCkpOwogICAgIH0gZWxzZSB7CiAg
ICAgICAgIC8vIENoZWNrIGZvciBpdGVyYXRpb24gdGltZW91dAotICAgICAgICBpZiAobV9uZXh0
SXRlcmF0aW9uRHVyYXRpb24gPCAwKSB7CisgICAgICAgIGlmICghbV9uZXh0SXRlcmF0aW9uRHVy
YXRpb24pIHsKICAgICAgICAgICAgIC8vIEhhc24ndCBiZWVuIHNldCB5ZXQsIHNldCBpdAogICAg
ICAgICAgICAgZG91YmxlIGR1cmF0aW9uTGVmdCA9IG1fYW5pbWF0aW9uLT5kdXJhdGlvbigpIC0g
Zm1vZChlbGFwc2VkRHVyYXRpb24sIG1fYW5pbWF0aW9uLT5kdXJhdGlvbigpKTsKICAgICAgICAg
ICAgIG1fbmV4dEl0ZXJhdGlvbkR1cmF0aW9uID0gZWxhcHNlZER1cmF0aW9uICsgZHVyYXRpb25M
ZWZ0OwpAQCAtNTM4LDcgKzUzOCw3IEBAIHZvaWQgQW5pbWF0aW9uQmFzZTo6ZmlyZUFuaW1hdGlv
bkV2ZW50c0lmTmVlZGVkKCkKICAgICAgICAgCiAgICAgICAgIGlmIChlbGFwc2VkRHVyYXRpb24g
Pj0gbV9uZXh0SXRlcmF0aW9uRHVyYXRpb24pIHsKICAgICAgICAgICAgIC8vIFNldCB0byB0aGUg
bmV4dCBpdGVyYXRpb24KLSAgICAgICAgICAgIGRvdWJsZSBwcmV2aW91cyA9IG1fbmV4dEl0ZXJh
dGlvbkR1cmF0aW9uOworICAgICAgICAgICAgZG91YmxlIHByZXZpb3VzID0gbV9uZXh0SXRlcmF0
aW9uRHVyYXRpb24udmFsdWUoKTsKICAgICAgICAgICAgIGRvdWJsZSBkdXJhdGlvbkxlZnQgPSBt
X2FuaW1hdGlvbi0+ZHVyYXRpb24oKSAtIGZtb2QoZWxhcHNlZER1cmF0aW9uLCBtX2FuaW1hdGlv
bi0+ZHVyYXRpb24oKSk7CiAgICAgICAgICAgICBtX25leHRJdGVyYXRpb25EdXJhdGlvbiA9IGVs
YXBzZWREdXJhdGlvbiArIGR1cmF0aW9uTGVmdDsKICAgICAgICAgICAgIApAQCAtNjc4LDE2ICs2
NzgsMTYgQEAgZG91YmxlIEFuaW1hdGlvbkJhc2U6OnByb2dyZXNzKGRvdWJsZSBzY2FsZSwgZG91
YmxlIG9mZnNldCwgY29uc3QgVGltaW5nRnVuY3Rpb24KIHZvaWQgQW5pbWF0aW9uQmFzZTo6Z2V0
VGltZVRvTmV4dEV2ZW50KFNlY29uZHMmIHRpbWUsIGJvb2wmIGlzTG9vcGluZykgY29uc3QKIHsK
ICAgICAvLyBEZWNpZGUgd2hlbiB0aGUgZW5kIG9yIGxvb3AgZXZlbnQgbmVlZHMgdG8gZmlyZQot
ICAgIGNvbnN0IGRvdWJsZSBlbGFwc2VkRHVyYXRpb24gPSBzdGQ6Om1heChiZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWUoKSAtIG1fc3RhcnRUaW1lLCAwLjApOworICAgIGNvbnN0IGRvdWJsZSBlbGFw
c2VkRHVyYXRpb24gPSBzdGQ6Om1heChiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoKSAtIG1fc3Rh
cnRUaW1lLnZhbHVlX29yKDApLCAwLjApOwogICAgIGRvdWJsZSBkdXJhdGlvbkxlZnQgPSAwOwot
ICAgIGRvdWJsZSBuZXh0SXRlcmF0aW9uVGltZSA9IG1fdG90YWxEdXJhdGlvbjsKKyAgICBkb3Vi
bGUgbmV4dEl0ZXJhdGlvblRpbWUgPSBtX3RvdGFsRHVyYXRpb24udmFsdWVfb3IoMCk7CiAKLSAg
ICBpZiAobV90b3RhbER1cmF0aW9uIDwgMCB8fCBlbGFwc2VkRHVyYXRpb24gPCBtX3RvdGFsRHVy
YXRpb24pIHsKKyAgICBpZiAoIW1fdG90YWxEdXJhdGlvbiB8fCBlbGFwc2VkRHVyYXRpb24gPCBt
X3RvdGFsRHVyYXRpb24udmFsdWUoKSkgewogICAgICAgICBkdXJhdGlvbkxlZnQgPSBtX2FuaW1h
dGlvbi0+ZHVyYXRpb24oKSA+IDAgPyAobV9hbmltYXRpb24tPmR1cmF0aW9uKCkgLSBmbW9kKGVs
YXBzZWREdXJhdGlvbiwgbV9hbmltYXRpb24tPmR1cmF0aW9uKCkpKSA6IDA7CiAgICAgICAgIG5l
eHRJdGVyYXRpb25UaW1lID0gZWxhcHNlZER1cmF0aW9uICsgZHVyYXRpb25MZWZ0OwogICAgIH0K
ICAgICAKLSAgICBpZiAobV90b3RhbER1cmF0aW9uIDwgMCB8fCBuZXh0SXRlcmF0aW9uVGltZSA8
IG1fdG90YWxEdXJhdGlvbikgeworICAgIGlmICghbV90b3RhbER1cmF0aW9uIHx8IG5leHRJdGVy
YXRpb25UaW1lIDwgbV90b3RhbER1cmF0aW9uLnZhbHVlKCkpIHsKICAgICAgICAgLy8gV2UgYXJl
IG5vdCBhdCB0aGUgZW5kIHlldAogICAgICAgICBBU1NFUlQobmV4dEl0ZXJhdGlvblRpbWUgPiAw
KTsKICAgICAgICAgaXNMb29waW5nID0gdHJ1ZTsKQEAgLTcyMiwxMiArNzIyLDEyIEBAIHZvaWQg
QW5pbWF0aW9uQmFzZTo6ZnJlZXplQXRUaW1lKGRvdWJsZSB0KQogCiAgICAgQVNTRVJUKG1fc3Rh
cnRUaW1lKTsgLy8gSWYgbV9zdGFydFRpbWUgaXMgemVybywgd2UgaGF2ZW4ndCBzdGFydGVkIHll
dCwgc28gd2UnbGwgZ2V0IGEgYmFkIHBhdXNlIHRpbWUuCiAgICAgaWYgKHQgPD0gbV9hbmltYXRp
b24tPmRlbGF5KCkpCi0gICAgICAgIG1fcGF1c2VUaW1lID0gbV9zdGFydFRpbWU7CisgICAgICAg
IG1fcGF1c2VUaW1lID0gbV9zdGFydFRpbWUudmFsdWVfb3IoMCk7CiAgICAgZWxzZQotICAgICAg
ICBtX3BhdXNlVGltZSA9IG1fc3RhcnRUaW1lICsgdCAtIG1fYW5pbWF0aW9uLT5kZWxheSgpOwor
ICAgICAgICBtX3BhdXNlVGltZSA9IG1fc3RhcnRUaW1lLnZhbHVlX29yKDApICsgdCAtIG1fYW5p
bWF0aW9uLT5kZWxheSgpOwogCiAgICAgaWYgKG1fb2JqZWN0ICYmIG1fb2JqZWN0LT5pc0NvbXBv
c2l0ZWQoKSkKLSAgICAgICAgZG93bmNhc3Q8UmVuZGVyQm94TW9kZWxPYmplY3Q+KCptX29iamVj
dCkuc3VzcGVuZEFuaW1hdGlvbnMobV9wYXVzZVRpbWUpOworICAgICAgICBkb3duY2FzdDxSZW5k
ZXJCb3hNb2RlbE9iamVjdD4oKm1fb2JqZWN0KS5zdXNwZW5kQW5pbWF0aW9ucyhtX3BhdXNlVGlt
ZS52YWx1ZSgpKTsKIH0KIAogZG91YmxlIEFuaW1hdGlvbkJhc2U6OmJlZ2luQW5pbWF0aW9uVXBk
YXRlVGltZSgpIGNvbnN0CkBAIC03NTgsMTYgKzc1OCwxNiBAQCBkb3VibGUgQW5pbWF0aW9uQmFz
ZTo6Z2V0RWxhcHNlZFRpbWUoKSBjb25zdAogCiAgICAgaWYgKHBhdXNlZCgpKSB7CiAgICAgICAg
IGRvdWJsZSBkZWxheU9mZnNldCA9ICghbV9zdGFydFRpbWUgJiYgbV9hbmltYXRpb24tPmRlbGF5
KCkgPCAwKSA/IG1fYW5pbWF0aW9uLT5kZWxheSgpIDogMDsKLSAgICAgICAgcmV0dXJuIG1fcGF1
c2VUaW1lIC0gbV9zdGFydFRpbWUgLSBkZWxheU9mZnNldDsKKyAgICAgICAgcmV0dXJuIG1fcGF1
c2VUaW1lLnZhbHVlX29yKDApIC0gbV9zdGFydFRpbWUudmFsdWVfb3IoMCkgLSBkZWxheU9mZnNl
dDsKICAgICB9CiAKLSAgICBpZiAobV9zdGFydFRpbWUgPD0gMCkKKyAgICBpZiAoIW1fc3RhcnRU
aW1lKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIGlmIChwb3N0QWN0aXZlKCkgfHwgZmlsbGlu
Z0ZvcndhcmRzKCkpCi0gICAgICAgIHJldHVybiBtX3RvdGFsRHVyYXRpb247CisgICAgICAgIHJl
dHVybiBtX3RvdGFsRHVyYXRpb24udmFsdWVfb3IoMCk7CiAKLSAgICByZXR1cm4gYmVnaW5Bbmlt
YXRpb25VcGRhdGVUaW1lKCkgLSBtX3N0YXJ0VGltZTsKKyAgICByZXR1cm4gYmVnaW5BbmltYXRp
b25VcGRhdGVUaW1lKCkgLSBtX3N0YXJ0VGltZS52YWx1ZV9vcigwKTsKIH0KIAogdm9pZCBBbmlt
YXRpb25CYXNlOjpzZXRFbGFwc2VkVGltZShkb3VibGUgdGltZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuaAppbmRleCA3NjkwYzkxZGRjZGFkZmQ1ODdj
ZTBiZjZlZTVmZTFiNjZjODc4MDU2Li5jYmViNzQ4MTYxZDg2MjAwZmIwYzJhMmVlMWZiMzA2Mjdi
YzczMTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRp
b25CYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFz
ZS5oCkBAIC0xMjEsNyArMTIxLDcgQEAgcHVibGljOgogICAgIGJvb2wgZmlsbGluZ0ZvcndhcmRz
KCkgY29uc3QgeyByZXR1cm4gbV9hbmltYXRpb25TdGF0ZSA9PSBBbmltYXRpb25TdGF0ZTo6Rmls
bGluZ0ZvcndhcmRzOyB9CiAgICAgYm9vbCBhY3RpdmUoKSBjb25zdCB7IHJldHVybiAhcG9zdEFj
dGl2ZSgpICYmICFwcmVBY3RpdmUoKTsgfQogICAgIGJvb2wgcnVubmluZygpIGNvbnN0IHsgcmV0
dXJuICFpc05ldygpICYmICFwb3N0QWN0aXZlKCk7IH0KLSAgICBib29sIHBhdXNlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fcGF1c2VUaW1lID49IDAgfHwgbV9hbmltYXRpb25TdGF0ZSA9PSBBbmltYXRp
b25TdGF0ZTo6UGF1c2VkTmV3OyB9CisgICAgYm9vbCBwYXVzZWQoKSBjb25zdCB7IHJldHVybiBt
X3BhdXNlVGltZSB8fCBtX2FuaW1hdGlvblN0YXRlID09IEFuaW1hdGlvblN0YXRlOjpQYXVzZWRO
ZXc7IH0KICAgICBib29sIGluUGF1c2VkU3RhdGUoKSBjb25zdCB7IHJldHVybiBtX2FuaW1hdGlv
blN0YXRlID49IEFuaW1hdGlvblN0YXRlOjpQYXVzZWROZXcgJiYgbV9hbmltYXRpb25TdGF0ZSA8
PSBBbmltYXRpb25TdGF0ZTo6UGF1c2VkUnVuOyB9CiAgICAgYm9vbCBpc05ldygpIGNvbnN0IHsg
cmV0dXJuIG1fYW5pbWF0aW9uU3RhdGUgPT0gQW5pbWF0aW9uU3RhdGU6Ok5ldyB8fCBtX2FuaW1h
dGlvblN0YXRlID09IEFuaW1hdGlvblN0YXRlOjpQYXVzZWROZXc7IH0KICAgICBib29sIHdhaXRp
bmdGb3JTdGFydFRpbWUoKSBjb25zdCB7IHJldHVybiBtX2FuaW1hdGlvblN0YXRlID09IEFuaW1h
dGlvblN0YXRlOjpTdGFydFdhaXRSZXNwb25zZTsgfQpAQCAtMjQ0LDExICsyNDQsMTEgQEAgcHJv
dGVjdGVkOgogICAgIENvbXBvc2l0ZUFuaW1hdGlvbiogbV9jb21wb3NpdGVBbmltYXRpb247IC8v
IElkZWFsbHkgdGhpcyB3b3VsZCBiZSBhIHJlZmVyZW5jZSwgYnV0IGl0IGhhcyB0byBiZSBjbGVh
cmVkIGlmIGFuIGFuaW1hdGlvbiBpcyBkZXN0cm95ZWQgaW5zaWRlIGFuIGV2ZW50IGNhbGxiYWNr
LgogICAgIFJlZjxBbmltYXRpb24+IG1fYW5pbWF0aW9uOwogCi0gICAgZG91YmxlIG1fc3RhcnRU
aW1lIHsgMCB9OwotICAgIGRvdWJsZSBtX3BhdXNlVGltZSB7IC0xIH07CisgICAgc3RkOjpvcHRp
b25hbDxkb3VibGU+IG1fc3RhcnRUaW1lOworICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBtX3Bh
dXNlVGltZTsKICAgICBkb3VibGUgbV9yZXF1ZXN0ZWRTdGFydFRpbWUgeyAwIH07Ci0gICAgZG91
YmxlIG1fdG90YWxEdXJhdGlvbiB7IC0xIH07Ci0gICAgZG91YmxlIG1fbmV4dEl0ZXJhdGlvbkR1
cmF0aW9uIHsgLTEgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gbV90b3RhbER1cmF0aW9u
OworICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBtX25leHRJdGVyYXRpb25EdXJhdGlvbjsKIAog
ICAgIEFuaW1hdGlvblN0YXRlIG1fYW5pbWF0aW9uU3RhdGUgeyBBbmltYXRpb25TdGF0ZTo6TmV3
IH07CiAgICAgYm9vbCBtX2lzQWNjZWxlcmF0ZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDFkMDgwNzA1
ZmQwMWY5YTkxZDA5MTRlZmM1YTI1MjU5YTczMjBhZjcuLmUzYzI0YTAzYzI2NWFlMWIxZDFjM2Uw
N2I1Mzc4MjE0NGZiMDE2ZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0wNC0xMyAgRGVh
biBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgTGFyZ2UgbmVnYXRpdmUgYW5p
bWF0aW9uLWRlbGF5cyBtYXkgbm90IHdvcmsgZGVwZW5kaW5nIG9uIG1hY2hpbmUgdXB0aW1lCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY5NjIKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMDkxNTI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogYW5pbWF0aW9ucy9sYXJnZS1uZWdhdGl2ZS1kZWxh
eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFuaW1hdGlvbnMvbGFyZ2UtbmVnYXRp
dmUtZGVsYXkuaHRtbDogQWRkZWQuCisKIDIwMTctMDQtMTEgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgogCiAgICAgICAgIGNhbnZhcy8yZC5ncmFkaWVudC4qIExheW91dFRlc3RzIGZh
aWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvbGFyZ2UtbmVnYXRpdmUt
ZGVsYXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9sYXJnZS1uZWdhdGl2
ZS1kZWxheS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzhlYjA0MzIxOTQ0OTZkYTUwOTU0ZGQ0
NmYyYzc2MjhkZTEyNjc5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FuaW1hdGlv
bnMvbGFyZ2UtbmVnYXRpdmUtZGVsYXktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFT
UzogU2F3IGl0ZXJhdGlvbiBldmVudC4gVGhlIGFuaW1hdGlvbiBkaWQgc3RhcnQuCitQQVNTOiBF
bGFwc2VkIHRpbWUgaXMgbGFyZ2UuIFRoZSBhbmltYXRpb24gdGhpbmtzIGl0IHN0YXJ0ZWQgYSBs
b25nIHRpbWUgYWdvLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2xhcmdl
LW5lZ2F0aXZlLWRlbGF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2xhcmdlLW5lZ2F0
aXZlLWRlbGF5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmM4ZTAzMjZhNzgwMGJkOGYyYzQ1YTIwMjA2ZDI5
NGQ3YTAyZTA1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvbGFy
Z2UtbmVnYXRpdmUtZGVsYXkuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8c3R5bGU+CisjYm94IHsK
KyAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB3aWR0aDog
MTAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgICBhbmltYXRpb24tbmFtZTog
bW92ZTsKKyAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7CisgICAgYW5pbWF0aW9uLWl0ZXJh
dGlvbi1jb3VudDogaW5maW5pdGU7CisgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGlu
ZWFyOworICAgIGFuaW1hdGlvbi1kZWxheTogLTk5OTk5OXM7Cit9CisKK0BrZXlmcmFtZXMgbW92
ZSB7CisgICAgICAwJSB7IGxlZnQ6IDA7IH0KKyAgICAxMDAlIHsgbGVmdDogMzAwcHg7IH0KK30K
Kzwvc3R5bGU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cit9CisK
K2Z1bmN0aW9uIG91dHB1dChtc2cpIHsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVz
dWx0JykuaW5uZXJIVE1MICs9IGAke21zZ308YnI+YDsKK30KKworZnVuY3Rpb24gaXRlcmF0ZWQo
ZXZlbnQpIHsKKyAgICBvdXRwdXQoIlBBU1M6IFNhdyBpdGVyYXRpb24gZXZlbnQuIFRoZSBhbmlt
YXRpb24gZGlkIHN0YXJ0LiIpOworCisgICAgaWYgKGV2ZW50LmVsYXBzZWRUaW1lID4gMTAwMCkK
KyAgICAgICAgb3V0cHV0KCJQQVNTOiBFbGFwc2VkIHRpbWUgaXMgbGFyZ2UuIFRoZSBhbmltYXRp
b24gdGhpbmtzIGl0IHN0YXJ0ZWQgYSBsb25nIHRpbWUgYWdvLiIpOworICAgIGVsc2UKKyAgICAg
ICAgb3V0cHV0KCJGQUlMOiBFbGFwc2VkIHRpbWUgd2Fzbid0IGJpZyBlbm91Z2guIik7CisKKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworfQorCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYW5pbWF0aW9uaXRlcmF0aW9uIiwgaXRl
cmF0ZWQsIHsgb25jZTogdHJ1ZSB9KTsKKzwvc2NyaXB0PgorPGRpdiBpZD0iYm94Ij48L2Rpdj4K
KzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cg==
</data>
<flag name="review"
          id="328362"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>