<?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>65154</bug_id>
          
          <creation_ts>2011-07-25 17:23:24 -0700</creation_ts>
          <short_desc>Scroll animation refinements.</short_desc>
          <delta_ts>2011-07-29 12:12:08 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Scott Byer">scottbyer</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>442012</commentid>
    <comment_count>0</comment_count>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2011-07-25 17:23:24 -0700</bug_when>
    <thetext>Scroll animation refinements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442023</commentid>
    <comment_count>1</comment_count>
      <attachid>101951</attachid>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2011-07-25 17:32:25 -0700</bug_when>
    <thetext>Created attachment 101951
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442569</commentid>
    <comment_count>2</comment_count>
      <attachid>102060</attachid>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2011-07-26 15:20:51 -0700</bug_when>
    <thetext>Created attachment 102060
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443995</commentid>
    <comment_count>3</comment_count>
      <attachid>102060</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-29 10:42:04 -0700</bug_when>
    <thetext>Comment on attachment 102060
Patch

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

&gt; Source/WebCore/platform/ScrollAnimatorNone.h:62
&gt; -        Parameters(bool, double, Curve, double, Curve, double);
&gt; +        Parameters(bool, double, double, Curve, double, Curve, double);

It would be nice to have names for these parameters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444002</commentid>
    <comment_count>4</comment_count>
      <attachid>102374</attachid>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2011-07-29 10:50:24 -0700</bug_when>
    <thetext>Created attachment 102374
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444004</commentid>
    <comment_count>5</comment_count>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2011-07-29 10:51:36 -0700</bug_when>
    <thetext>Agreed, parameter names added in the header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444039</commentid>
    <comment_count>6</comment_count>
      <attachid>102374</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-29 12:12:03 -0700</bug_when>
    <thetext>Comment on attachment 102374
Patch

Clearing flags on attachment: 102374

Committed r92002: &lt;http://trac.webkit.org/changeset/92002&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444040</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-29 12:12:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101951</attachid>
            <date>2011-07-25 17:32:25 -0700</date>
            <delta_ts>2011-07-26 15:20:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65154-20110725173224.patch</filename>
            <type>text/plain</type>
            <size>24739</size>
            <attacher name="Scott Byer">scottbyer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE2NzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkOTgwOTY1OTRhMzQwYzY4
ZmNkZDRmY2RkOTA3ZjljMWIxOWM0N2Q5Li5hMzY4NmE2YzY2MTViZGQwNTYyY2NlNmQxYTAxYWY0
ZWI2MjllNWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDctMjUgIFNjb3R0
IEJ5ZXIgIDxzY290dGJ5ZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFNjcm9sbCBhbmltYXRp
b24gcmVmaW5lbWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02NTE1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEZpeCBzY3JvbGwgYW5pbWF0aW9uIGJ1Z3Mgd2hlbiBzY3JvbGxpbmcgdG8gdGhlIGVu
ZHMgb2YgYSBkb2N1bWVudC4gU21vb3RoIG92ZXIgc2xvdyBldmVudCByZXBlYXQgcmF0ZXMKKyAg
ICAgICAgYmV0dGVyLiBGaXggdGVzdHMgdG8gYWxsb3cgZm9yIHVuaXQgdGVzdGluZyBvZiBzY3Jv
bGxpbmcgdXAgYW5kIG5vdCBqdXN0IGRvd24uCisKKyAgICAgICAgQWRkaXRpb25hbCB1bml0IHRl
c3RzIGFkZGVkIHRvIFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6CisgICAgICAgIFNjcm9sbFF1YWRy
YXRpY1Ntb290aGVkLCBTY3JvbGxMb3RzUXVhZHJhdGljU21vb3RoZWQsIFNjcm9sbERvd25Ub0J1
bXBlciwgU2Nyb2xsVXBUb0J1bXBlcgorCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3JOb25lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1l
dGVyczo6UGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck5vbmU6
OlBlckF4aXNEYXRhOjp1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsQW5pbWF0b3JOb25lOjpzY3JvbGwpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yTm9uZS5oOgorCiAyMDExLTA3LTI1ICBBbmRyZXcgV2Fzb24gIDxyZWN0YWxvZ2lj
QHJlY3RhbG9naWMuY29tPgogCiAgICAgICAgIGdsQWN0aXZlVGV4dHVyZSgwKSBpcyBpbnZhbGlk
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcAppbmRl
eCAzNGI3YTliOWE5NmMwZDBjNDFkNmFhYWY4YWExMDBjYzgwNWI3OThjLi45ZTBkZDA0YzM5OTA5
MTNlOTliMWFiNWIyNGZkYWQ3MzYwOGIxZDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAKQEAgLTYzLDkgKzYzLDEwIEBAIFNjcm9sbEFuaW1h
dG9yTm9uZTo6UGFyYW1ldGVyczo6UGFyYW1ldGVycygpCiB7CiB9CiAKLVNjcm9sbEFuaW1hdG9y
Tm9uZTo6UGFyYW1ldGVyczo6UGFyYW1ldGVycyhib29sIGlzRW5hYmxlZCwgZG91YmxlIGFuaW1h
dGlvblRpbWUsIEN1cnZlIGF0dGFja0N1cnZlLCBkb3VibGUgYXR0YWNrVGltZSwgQ3VydmUgcmVs
ZWFzZUN1cnZlLCBkb3VibGUgcmVsZWFzZVRpbWUpCitTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFt
ZXRlcnM6OlBhcmFtZXRlcnMoYm9vbCBpc0VuYWJsZWQsIGRvdWJsZSBhbmltYXRpb25UaW1lLCBk
b3VibGUgcmVwZWF0TWluaW11bVN1c3RhaW5UaW1lLCBDdXJ2ZSBhdHRhY2tDdXJ2ZSwgZG91Ymxl
IGF0dGFja1RpbWUsIEN1cnZlIHJlbGVhc2VDdXJ2ZSwgZG91YmxlIHJlbGVhc2VUaW1lKQogICAg
IDogbV9pc0VuYWJsZWQoaXNFbmFibGVkKQogICAgICwgbV9hbmltYXRpb25UaW1lKGFuaW1hdGlv
blRpbWUpCisgICAgLCBtX3JlcGVhdE1pbmltdW1TdXN0YWluVGltZShyZXBlYXRNaW5pbXVtU3Vz
dGFpblRpbWUpCiAgICAgLCBtX2F0dGFja0N1cnZlKGF0dGFja0N1cnZlKQogICAgICwgbV9hdHRh
Y2tUaW1lKGF0dGFja1RpbWUpCiAgICAgLCBtX3JlbGVhc2VDdXJ2ZShyZWxlYXNlQ3VydmUpCkBA
IC0xNTksNyArMTYwLDggQEAgdm9pZCBTY3JvbGxBbmltYXRvck5vbmU6OlBlckF4aXNEYXRhOjpy
ZXNldCgpCiAKIGJvb2wgU2Nyb2xsQW5pbWF0b3JOb25lOjpQZXJBeGlzRGF0YTo6dXBkYXRlRGF0
YUZyb21QYXJhbWV0ZXJzKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBmbG9hdCBz
dGVwLCBmbG9hdCBtdWx0aXBsaWVyLCBmbG9hdCBzY3JvbGxhYmxlU2l6ZSwgZG91YmxlIGN1cnJl
bnRUaW1lLCBQYXJhbWV0ZXJzKiBwYXJhbWV0ZXJzKQogewotICAgIG1fYW5pbWF0aW9uVGltZSA9
IHBhcmFtZXRlcnMtPm1fYW5pbWF0aW9uVGltZTsKKyAgICBpZiAocGFyYW1ldGVycy0+bV9hbmlt
YXRpb25UaW1lID4gbV9hbmltYXRpb25UaW1lKQorICAgICAgICBtX2FuaW1hdGlvblRpbWUgPSBw
YXJhbWV0ZXJzLT5tX2FuaW1hdGlvblRpbWU7CiAgICAgbV9hdHRhY2tUaW1lID0gcGFyYW1ldGVy
cy0+bV9hdHRhY2tUaW1lOwogICAgIG1fcmVsZWFzZVRpbWUgPSBwYXJhbWV0ZXJzLT5tX3JlbGVh
c2VUaW1lOwogICAgIG1fYXR0YWNrQ3VydmUgPSBwYXJhbWV0ZXJzLT5tX2F0dGFja0N1cnZlOwpA
QCAtMTc0LDcgKzE3Niw3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JOb25lOjpQZXJBeGlzRGF0YTo6
dXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFNjcm9sbGJhck9yaWVudGF0CiAKICAgICBtX29yaWVu
dGF0aW9uID0gb3JpZW50YXRpb247CiAKLSAgICBpZiAoIW1fZGVzaXJlZFBvc2l0aW9uKQorICAg
IGlmICghbV9zdGFydFRpbWUpCiAgICAgICAgIG1fZGVzaXJlZFBvc2l0aW9uID0gKm1fY3VycmVu
dFBvc2l0aW9uOwogICAgIGZsb2F0IG5ld1Bvc2l0aW9uID0gbV9kZXNpcmVkUG9zaXRpb24gKyAo
c3RlcCAqIG11bHRpcGxpZXIpOwogCkBAIC0xOTksMTMgKzIwMSwxNSBAQCBib29sIFNjcm9sbEFu
aW1hdG9yTm9uZTo6UGVyQXhpc0RhdGE6OnVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhTY3JvbGxi
YXJPcmllbnRhdAogICAgIGRvdWJsZSBhdHRhY2tBcmVhTGVmdCA9IDA7CiAKICAgICBkb3VibGUg
ZGVsdGFUaW1lID0gbV9sYXN0QW5pbWF0aW9uVGltZSAtIG1fc3RhcnRUaW1lOworICAgIGRvdWJs
ZSBhdHRhY2tUaW1lTGVmdCA9IHN0ZDo6bWF4KDAuLCBtX2F0dGFja1RpbWUgLSBkZWx0YVRpbWUp
OwogICAgIGRvdWJsZSB0aW1lTGVmdCA9IG1fYW5pbWF0aW9uVGltZSAtIGRlbHRhVGltZTsKLSAg
ICBpZiAodGltZUxlZnQgPCBtX3JlbGVhc2VUaW1lKSB7Ci0gICAgICAgIG1fYW5pbWF0aW9uVGlt
ZSA9IGRlbHRhVGltZSArIG1fcmVsZWFzZVRpbWU7Ci0gICAgICAgIHRpbWVMZWZ0ID0gbV9yZWxl
YXNlVGltZTsKKyAgICBkb3VibGUgbWluVGltZUxlZnQgPSBtX3JlbGVhc2VUaW1lICsgc3RkOjpt
aW4ocGFyYW1ldGVycy0+bV9yZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUsIG1fYW5pbWF0aW9uVGlt
ZSAtIG1fcmVsZWFzZVRpbWUgLSBhdHRhY2tUaW1lTGVmdCk7CisgICAgaWYgKHRpbWVMZWZ0IDwg
bWluVGltZUxlZnQpIHsKKyAgICAgICAgbV9hbmltYXRpb25UaW1lID0gZGVsdGFUaW1lICsgbWlu
VGltZUxlZnQ7CisgICAgICAgIHRpbWVMZWZ0ID0gbWluVGltZUxlZnQ7CiAgICAgfQorCiAgICAg
ZG91YmxlIHJlbGVhc2VUaW1lTGVmdCA9IHN0ZDo6bWluKHRpbWVMZWZ0LCBtX3JlbGVhc2VUaW1l
KTsKLSAgICBkb3VibGUgYXR0YWNrVGltZUxlZnQgPSBzdGQ6Om1heCgwLiwgbV9hdHRhY2tUaW1l
IC0gZGVsdGFUaW1lKTsKICAgICBkb3VibGUgc3VzdGFpblRpbWVMZWZ0ID0gc3RkOjptYXgoMC4s
IHRpbWVMZWZ0IC0gcmVsZWFzZVRpbWVMZWZ0IC0gYXR0YWNrVGltZUxlZnQpOwogCiAgICAgaWYg
KGF0dGFja1RpbWVMZWZ0KSB7CkBAIC0yODksMTMgKzI5MywxMyBAQCBib29sIFNjcm9sbEFuaW1h
dG9yTm9uZTo6c2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxH
cmFudWxhcgogICAgIGNhc2UgU2Nyb2xsQnlEb2N1bWVudDoKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBTY3JvbGxCeUxpbmU6Ci0gICAgICAgIHBhcmFtZXRlcnMgPSBQYXJhbWV0ZXJzKHRydWUs
IDEwICoga1RpY2tUaW1lLCBRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFF1YWRyYXRpYywgMyAq
IGtUaWNrVGltZSk7CisgICAgICAgIHBhcmFtZXRlcnMgPSBQYXJhbWV0ZXJzKHRydWUsIDEwICog
a1RpY2tUaW1lLCA3ICoga1RpY2tUaW1lLCBRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFF1YWRy
YXRpYywgMyAqIGtUaWNrVGltZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2Nyb2xsQnlQ
YWdlOgotICAgICAgICBwYXJhbWV0ZXJzID0gUGFyYW1ldGVycyh0cnVlLCAxNSAqIGtUaWNrVGlt
ZSwgUXVhZHJhdGljLCA1ICoga1RpY2tUaW1lLCBRdWFkcmF0aWMsIDUgKiBrVGlja1RpbWUpOwor
ICAgICAgICBwYXJhbWV0ZXJzID0gUGFyYW1ldGVycyh0cnVlLCAxNSAqIGtUaWNrVGltZSwgMTAg
KiBrVGlja1RpbWUsIFF1YWRyYXRpYywgNSAqIGtUaWNrVGltZSwgUXVhZHJhdGljLCA1ICoga1Rp
Y2tUaW1lKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTY3JvbGxCeVBpeGVsOgotICAgICAg
ICBwYXJhbWV0ZXJzID0gUGFyYW1ldGVycyh0cnVlLCAxMSAqIGtUaWNrVGltZSwgUXVhZHJhdGlj
LCAzICoga1RpY2tUaW1lLCBRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUpOworICAgICAgICBwYXJh
bWV0ZXJzID0gUGFyYW1ldGVycyh0cnVlLCAxMSAqIGtUaWNrVGltZSwgMiAqIGtUaWNrVGltZSwg
UXVhZHJhdGljLCAzICoga1RpY2tUaW1lLCBRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUpOwogICAg
ICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmgKaW5kZXggNjc2OTk2MTJiYjRiNGYzMDUx
MGI5MDA2YWE1YTFhNTE3NDI0ZWExNS4uYWNmZTNlZTQyNmJlNGE5NDU1OWNiN2FiNjQ2NGRiZTVk
ODA3OTIxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3JOb25lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25l
LmgKQEAgLTU5LDEzICs1OSwxNCBAQCBwdWJsaWM6CiAKICAgICBzdHJ1Y3QgUGFyYW1ldGVycyB7
CiAgICAgICAgIFBhcmFtZXRlcnMoKTsKLSAgICAgICAgUGFyYW1ldGVycyhib29sLCBkb3VibGUs
IEN1cnZlLCBkb3VibGUsIEN1cnZlLCBkb3VibGUpOworICAgICAgICBQYXJhbWV0ZXJzKGJvb2ws
IGRvdWJsZSwgZG91YmxlLCBDdXJ2ZSwgZG91YmxlLCBDdXJ2ZSwgZG91YmxlKTsKIAogICAgICAg
ICAvLyBOb3RlIHRoYXQgdGhlIHRpbWVzIGNhbiBiZSBvdmVyc3BlY2lmaWVkIHN1Y2ggdGhhdCBy
ZWxlYXNlVGltZSBvciByZWxlYXNlVGltZSBhbmQgYXR0YWNrVGltZSBhcmUgZ3JlYXRlcgogICAg
ICAgICAvLyB0aGFuIGFuaW1hdGlvblRpbWUuIGFuaW1hdGlvblRpbWUgdGFrZXMgcHJpb3JpdHkg
b3ZlciByZWxlYXNlVGltZSwgY2FwcGluZyBpdC4gYXR0YWNrVGltZSBpcyBjYXBwZWQgYXQKICAg
ICAgICAgLy8gd2hhdGV2ZXIgdGltZSByZW1haW5zLCBvciB6ZXJvIGlmIG5vbmUuCiAgICAgICAg
IGJvb2wgbV9pc0VuYWJsZWQ7CiAgICAgICAgIGRvdWJsZSBtX2FuaW1hdGlvblRpbWU7CisgICAg
ICAgIGRvdWJsZSBtX3JlcGVhdE1pbmltdW1TdXN0YWluVGltZTsKIAogICAgICAgICBDdXJ2ZSBt
X2F0dGFja0N1cnZlOwogICAgICAgICBkb3VibGUgbV9hdHRhY2tUaW1lOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwppbmRleCA1NGQ0NDkzNTU3MzAxNjFiYTMzNTI4MTM5NmQ3NzYwZGNjNDkzNTNk
Li4wMGYzYjAzNmZmNzQyZmNmYTk3MWFjMGMwMTY4NzAxMjVkODliODQwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTA3LTI1ICBTY290dCBCeWVyICA8
c2NvdHRieWVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBTY3JvbGwgYW5pbWF0aW9uIHJlZmlu
ZW1lbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjUxNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBG
aXggc2Nyb2xsIGFuaW1hdGlvbiBidWdzIHdoZW4gc2Nyb2xsaW5nIHRvIHRoZSBlbmRzIG9mIGEg
ZG9jdW1lbnQuIFNtb290aCBvdmVyIHNsb3cgZXZlbnQgcmVwZWF0IHJhdGVzCisgICAgICAgIGJl
dHRlci4gRml4IHRlc3RzIHRvIGFsbG93IGZvciB1bml0IHRlc3Rpbmcgb2Ygc2Nyb2xsaW5nIHVw
IGFuZCBub3QganVzdCBkb3duLgorCisgICAgICAgIEFkZGl0aW9uYWwgdW5pdCB0ZXN0cyBhZGRl
ZCB0byBTY3JvbGxBbmltYXRvck5vbmVUZXN0OgorICAgICAgICBTY3JvbGxRdWFkcmF0aWNTbW9v
dGhlZCwgU2Nyb2xsTG90c1F1YWRyYXRpY1Ntb290aGVkLCBTY3JvbGxEb3duVG9CdW1wZXIsIFNj
cm9sbFVwVG9CdW1wZXIKKyAgICAgICAgCisgICAgICAgICogdGVzdHMvU2Nyb2xsQW5pbWF0b3JO
b25lVGVzdC5jcHA6CisgICAgICAgIChTY3JvbGxBbmltYXRvck5vbmVUZXN0OjpyZXNldCk6Cisg
ICAgICAgIChTY3JvbGxBbmltYXRvck5vbmVUZXN0Ojp1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMp
OgorICAgICAgICAoU2Nyb2xsQW5pbWF0b3JOb25lVGVzdDo6YW5pbWF0ZVNjcm9sbCk6CisgICAg
ICAgIChTY3JvbGxBbmltYXRvck5vbmVUZXN0OjpjaGVja0Rlc2lyZWRQb3NpdGlvbik6CisgICAg
ICAgIChTY3JvbGxBbmltYXRvck5vbmVUZXN0OjpjaGVja1NvZnRMYW5kaW5nKToKKwogMjAxMS0w
Ny0yMyAgQWxvayBQcml5YWRhcnNoaSAgPGFsb2twQGNocm9taXVtLm9yZz4KIAogICAgICAgICBT
d2l0Y2hpbmcgb2ZmIGFjY2VsZXJhdGlvbiBmb3Igc21hbGwgY2FudmFzIGJyb2tlIGdwdSB0ZXN0
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxBbmltYXRv
ck5vbmVUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsQW5pbWF0
b3JOb25lVGVzdC5jcHAKaW5kZXggZjk5YTYwMWM0OGFkNjVmMDQxZDc2ZjRlMjc2NDRlZWMwMDUy
YjNjNC4uODNiM2I4OTI4YjZhN2MwNjdlOGYzY2I3NzFhYTkwYTI0MGNlOWI5ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxBbmltYXRvck5vbmVUZXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1Njcm9sbEFuaW1hdG9yTm9uZVRl
c3QuY3BwCkBAIC0xNzYsMTIgKzE3NiwxNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBjdXJ2ZVRlc3RJ
bm5lcihTY3JvbGxBbmltYXRvck5vbmU6OkN1cnZlLCBkb3VibGUgc3RlcCwgZG91YmxlIHRpbWUp
OwogICAgIHZvaWQgY3VydmVUZXN0KFNjcm9sbEFuaW1hdG9yTm9uZTo6Q3VydmUpOwogCisgICAg
dm9pZCBjaGVja0Rlc2lyZWRQb3NpdGlvbihmbG9hdCBleHBlY3RlZFBvc2l0aW9uKTsKKyAgICB2
b2lkIGNoZWNrU29mdExhbmRpbmcoZmxvYXQgZXhwZWN0ZWRQb3NpdGlvbik7CisKICAgICBzdGF0
aWMgZG91YmxlIGtUaWNrVGltZTsKICAgICBzdGF0aWMgZG91YmxlIGtBbmltYXRpb25UaW1lOwog
ICAgIHN0YXRpYyBkb3VibGUga1N0YXJ0VGltZTsKICAgICBzdGF0aWMgZG91YmxlIGtFbmRUaW1l
OwogICAgIGZsb2F0IG1fY3VycmVudFBvc2l0aW9uOwogICAgIE1vY2tTY3JvbGxBbmltYXRvck5v
bmUgbV9tb2NrU2Nyb2xsQW5pbWF0b3JOb25lOworICAgIGJvb2wgbV9zY3JvbGxpbmdEb3duOwog
ICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGVyQXhpc0RhdGEqIG1fZGF0YTsKIH07CiAKQEAgLTE5
MywxNSArMTk3LDIxIEBAIGRvdWJsZSBTY3JvbGxBbmltYXRvck5vbmVUZXN0OjprRW5kVGltZSA9
IDIwLjA7CiB2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6OnJlc2V0KCkKIHsKICAgICBtX2Rh
dGEtPnJlc2V0KCk7CisgICAgbV9zY3JvbGxpbmdEb3duID0gdHJ1ZTsKIH0KIAogYm9vbCBTY3Jv
bGxBbmltYXRvck5vbmVUZXN0Ojp1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoU2Nyb2xsYmFyT3Jp
ZW50YXRpb24gb3JpZW50YXRpb24sIGZsb2F0IHN0ZXAsIGZsb2F0IG11bHRpcGxpZXIsIGZsb2F0
IHNjcm9sbGFibGVTaXplLCBkb3VibGUgY3VycmVudFRpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6
UGFyYW1ldGVycyogcGFyYW1ldGVycykKIHsKKyAgICBtX3Njcm9sbGluZ0Rvd24gPSAoc3RlcCAq
IG11bHRpcGxpZXIgPiAwKTsKKwogICAgIGRvdWJsZSBvbGRWZWxvY2l0eSA9IG1fZGF0YS0+bV9j
dXJyZW50VmVsb2NpdHk7CiAgICAgZG91YmxlIG9sZERlc2lyZWRWZWxvY2l0eSA9IG1fZGF0YS0+
bV9kZXNpcmVkVmVsb2NpdHk7CiAgICAgZG91YmxlIG9sZFRpbWVMZWZ0ID0gbV9kYXRhLT5tX2Fu
aW1hdGlvblRpbWUgLSAobV9kYXRhLT5tX2xhc3RBbmltYXRpb25UaW1lIC0gbV9kYXRhLT5tX3N0
YXJ0VGltZSk7CiAgICAgYm9vbCByZXN1bHQgPSBtX2RhdGEtPnVwZGF0ZURhdGFGcm9tUGFyYW1l
dGVycyhvcmllbnRhdGlvbiwgc3RlcCwgbXVsdGlwbGllciwgc2Nyb2xsYWJsZVNpemUsIGN1cnJl
bnRUaW1lLCBwYXJhbWV0ZXJzKTsKLSAgICBFWFBFQ1RfTEUob2xkVmVsb2NpdHksIG1fZGF0YS0+
bV9jdXJyZW50VmVsb2NpdHkpOworICAgIGlmIChtX3Njcm9sbGluZ0Rvd24pCisgICAgICAgIEVY
UEVDVF9MRShvbGRWZWxvY2l0eSwgbV9kYXRhLT5tX2N1cnJlbnRWZWxvY2l0eSk7CisgICAgZWxz
ZQorICAgICAgICBFWFBFQ1RfR0Uob2xkVmVsb2NpdHksIG1fZGF0YS0+bV9jdXJyZW50VmVsb2Np
dHkpOwogCiAgICAgZG91YmxlIGRlbHRhVGltZSA9IG1fZGF0YS0+bV9sYXN0QW5pbWF0aW9uVGlt
ZSAtIG1fZGF0YS0+bV9zdGFydFRpbWU7CiAgICAgZG91YmxlIHRpbWVMZWZ0ID0gbV9kYXRhLT5t
X2FuaW1hdGlvblRpbWUgLSBkZWx0YVRpbWU7CkBAIC0yMTIsMTAgKzIyMiwxNyBAQCBib29sIFNj
cm9sbEFuaW1hdG9yTm9uZVRlc3Q6OnVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhTY3JvbGxiYXJP
cmllbnRhdGlvbiBvcmllbgogICAgIC8vIElmIHdlJ3JlIGdldHRpbmcgbmVhciB0aGUgZmluaXNo
LCB0aGUgZGVzaXJlZCB2ZWxvY2l0eSBjYW4gZGVjcmVhc2Ugc2luY2UgdGhlIHRpbWUgbGVmdCBn
ZXRzIGluY3JlYXNlZC4KICAgICBkb3VibGUgYWxsb3dlZFZlbG9jaXR5RGVjcmVhc2VGYWN0b3Ig
PSAwLjk5ICogb2xkVGltZUxlZnQgLyB0aW1lTGVmdDsKICAgICBhbGxvd2VkVmVsb2NpdHlEZWNy
ZWFzZUZhY3RvciAqPSBhbGxvd2VkVmVsb2NpdHlEZWNyZWFzZUZhY3RvcjsKLSAgICBFWFBFQ1Rf
TEUob2xkRGVzaXJlZFZlbG9jaXR5ICogYWxsb3dlZFZlbG9jaXR5RGVjcmVhc2VGYWN0b3IsIG1f
ZGF0YS0+bV9kZXNpcmVkVmVsb2NpdHkpOwotCi0gICAgZG91YmxlIGV4cGVjdGVkUmVsZWFzZVBv
c2l0aW9uID0gc3RkOjptYXg8ZG91YmxlPihtX2N1cnJlbnRQb3NpdGlvbiwgbV9kYXRhLT5tX2F0
dGFja1Bvc2l0aW9uKSArIHN1c3RhaW5UaW1lTGVmdCAqIG1fZGF0YS0+bV9kZXNpcmVkVmVsb2Np
dHk7Ci0gICAgRVhQRUNUX0RPVUJMRV9FUShleHBlY3RlZFJlbGVhc2VQb3NpdGlvbiwgbV9kYXRh
LT5tX3JlbGVhc2VQb3NpdGlvbik7CisgICAgaWYgKG1fc2Nyb2xsaW5nRG93bikKKyAgICAgICAg
RVhQRUNUX0xFKG9sZERlc2lyZWRWZWxvY2l0eSAqIGFsbG93ZWRWZWxvY2l0eURlY3JlYXNlRmFj
dG9yLCBtX2RhdGEtPm1fZGVzaXJlZFZlbG9jaXR5KTsKKyAgICBlbHNlCisgICAgICAgIEVYUEVD
VF9HRShvbGREZXNpcmVkVmVsb2NpdHkgKiBhbGxvd2VkVmVsb2NpdHlEZWNyZWFzZUZhY3Rvciwg
bV9kYXRhLT5tX2Rlc2lyZWRWZWxvY2l0eSk7CisKKyAgICBkb3VibGUgc3RhcnRQb3NpdGlvbiA9
IG1fc2Nyb2xsaW5nRG93biA/IHN0ZDo6bWF4PGRvdWJsZT4obV9jdXJyZW50UG9zaXRpb24sIG1f
ZGF0YS0+bV9hdHRhY2tQb3NpdGlvbikgOiBzdGQ6Om1pbjxkb3VibGU+KG1fY3VycmVudFBvc2l0
aW9uLCBtX2RhdGEtPm1fYXR0YWNrUG9zaXRpb24pOworICAgIGRvdWJsZSBleHBlY3RlZFJlbGVh
c2VQb3NpdGlvbiA9IHN0YXJ0UG9zaXRpb24gKyBzdXN0YWluVGltZUxlZnQgKiBtX2RhdGEtPm1f
ZGVzaXJlZFZlbG9jaXR5OworICAgIGlmIChyZXN1bHQpCisgICAgICAgIEVYUEVDVF9ET1VCTEVf
RVEoZXhwZWN0ZWRSZWxlYXNlUG9zaXRpb24sIG1fZGF0YS0+bV9yZWxlYXNlUG9zaXRpb24pOwor
ICAgIGVsc2UKKyAgICAgICAgRVhQRUNUX05FQVIoZXhwZWN0ZWRSZWxlYXNlUG9zaXRpb24sIG1f
ZGF0YS0+bV9yZWxlYXNlUG9zaXRpb24sIDEpOwogCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAg
LTIzNCwxMSArMjUxLDE2IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JOb25lVGVzdDo6YW5pbWF0ZVNj
cm9sbChkb3VibGUgY3VycmVudFRpbWUpCiAgICAgZG91YmxlIHN1c3RhaW5UaW1lTGVmdCA9IHN0
ZDo6bWF4KDAuLCB0aW1lTGVmdCAtIHJlbGVhc2VUaW1lTGVmdCAtIGF0dGFja1RpbWVMZWZ0KTsK
ICAgICBkb3VibGUgZGlzdGFuY2VMZWZ0ID0gbV9kYXRhLT5tX2Rlc2lyZWRQb3NpdGlvbiAtICpt
X2RhdGEtPm1fY3VycmVudFBvc2l0aW9uOwogCi0gICAgRVhQRUNUX0xFKDAsIG1fZGF0YS0+bV9j
dXJyZW50VmVsb2NpdHkpOwotICAgIEVYUEVDVF9MRShvbGRQb3NpdGlvbiwgKm1fZGF0YS0+bV9j
dXJyZW50UG9zaXRpb24pOwotICAgIEVYUEVDVF9HRShtX2RhdGEtPm1fZGVzaXJlZFZlbG9jaXR5
ICogMiwgbV9kYXRhLT5tX2N1cnJlbnRWZWxvY2l0eSk7CisgICAgaWYgKG1fc2Nyb2xsaW5nRG93
bikgeworICAgICAgICBFWFBFQ1RfTEUoMCwgbV9kYXRhLT5tX2N1cnJlbnRWZWxvY2l0eSk7Cisg
ICAgICAgIEVYUEVDVF9MRShvbGRQb3NpdGlvbiwgKm1fZGF0YS0+bV9jdXJyZW50UG9zaXRpb24p
OworICAgIH0gZWxzZSB7CisgICAgICAgIEVYUEVDVF9HRSgwLCBtX2RhdGEtPm1fY3VycmVudFZl
bG9jaXR5KTsKKyAgICAgICAgRVhQRUNUX0dFKG9sZFBvc2l0aW9uLCAqbV9kYXRhLT5tX2N1cnJl
bnRQb3NpdGlvbik7CisgICAgfQorICAgIEVYUEVDVF9HRShmYWJzKG1fZGF0YS0+bV9kZXNpcmVk
VmVsb2NpdHkpICogMiwgZmFicyhtX2RhdGEtPm1fY3VycmVudFZlbG9jaXR5KSk7CiAgICAgaWYg
KHRlc3RFc3RpbWF0ZWRNYXhWZWxvY2l0eSkKLSAgICAgICAgRVhQRUNUX0dFKChkaXN0YW5jZUxl
ZnQgLyBzdXN0YWluVGltZUxlZnQpICogMS4yLCBtX2RhdGEtPm1fY3VycmVudFZlbG9jaXR5KTsK
KyAgICAgICAgRVhQRUNUX0dFKGZhYnMoZGlzdGFuY2VMZWZ0IC8gc3VzdGFpblRpbWVMZWZ0KSAq
IDEuMiwgZmFicyhtX2RhdGEtPm1fY3VycmVudFZlbG9jaXR5KSk7CiAKICAgICByZXR1cm4gcmVz
dWx0OwogfQpAQCAtMzYzLDYgKzM4NSwxNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6
OmN1cnZlVGVzdChTY3JvbGxBbmltYXRvck5vbmU6OkN1cnZlIGN1cnZlKQogICAgIGN1cnZlVGVz
dElubmVyKGN1cnZlLCAwLjI1LCA0MCk7CiB9CiAKK3ZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lVGVz
dDo6Y2hlY2tEZXNpcmVkUG9zaXRpb24oZmxvYXQgZXhwZWN0ZWRQb3NpdGlvbikKK3sKKyAgICBF
WFBFQ1RfRVEoZXhwZWN0ZWRQb3NpdGlvbiwgbV9kYXRhLT5tX2Rlc2lyZWRQb3NpdGlvbik7Cit9
CisKK3ZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lVGVzdDo6Y2hlY2tTb2Z0TGFuZGluZyhmbG9hdCBl
eHBlY3RlZFBvc2l0aW9uKQoreworICAgIEVYUEVDVF9FUShleHBlY3RlZFBvc2l0aW9uLCBtX2N1
cnJlbnRQb3NpdGlvbik7CisgICAgRVhQRUNUX0xFKG1fZGF0YS0+bV9kZXNpcmVkVmVsb2NpdHkg
LyAyLCBtX2RhdGEtPm1fY3VycmVudFZlbG9jaXR5KTsKK30KKwogVEVTVF9GKFNjcm9sbEFuaW1h
dG9yTm9uZVRlc3QsIEN1cnZlTWF0aExpbmVhcikKIHsKICAgICBjdXJ2ZVRlc3QoU2Nyb2xsQW5p
bWF0b3JOb25lOjpMaW5lYXIpOwpAQCAtMzg1LDcgKzQxOCw3IEBAIFRFU1RfRihTY3JvbGxBbmlt
YXRvck5vbmVUZXN0LCBDdXJ2ZU1hdGhCb3VuY2UpCiAKIFRFU1RfRihTY3JvbGxBbmltYXRvck5v
bmVUZXN0LCBTY3JvbGxPbmNlTGluZWFyKQogewotICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFy
YW1ldGVycyBwYXJhbWV0ZXJzKHRydWUsIDcgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9u
ZTo6TGluZWFyLCAzICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OkxpbmVhciwgMyAq
IGtUaWNrVGltZSk7CisgICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRl
cnModHJ1ZSwgNyAqIGtUaWNrVGltZSwgMCwgU2Nyb2xsQW5pbWF0b3JOb25lOjpMaW5lYXIsIDMg
KiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6TGluZWFyLCAzICoga1RpY2tUaW1lKTsK
IAogICAgIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMSwgNDAs
IDEwMDAsIGtTdGFydFRpbWUsICZwYXJhbWV0ZXJzKTsKICAgICBib29sIHJlc3VsdCA9IHRydWU7
CkBAIC0zOTUsNyArNDI4LDcgQEAgVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9s
bE9uY2VMaW5lYXIpCiAKIFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxPbmNl
UXVhZHJhdGljKQogewotICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0
ZXJzKHRydWUsIDcgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAz
ICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywgMyAqIGtUaWNrVGlt
ZSk7CisgICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwg
NyAqIGtUaWNrVGltZSwgMCwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlj
a1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lKTsKIAog
ICAgIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMSwgNDAsIDEw
MDAsIGtTdGFydFRpbWUsICZwYXJhbWV0ZXJzKTsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CkBA
IC00MDUsNyArNDM4LDcgQEAgVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9sbE9u
Y2VRdWFkcmF0aWMpCiAKIFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxMb25n
UXVhZHJhdGljKQogewotICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0
ZXJzKHRydWUsIDIwICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywg
MyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1Rp
bWUpOworICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0ZXJzKHRydWUs
IDIwICoga1RpY2tUaW1lLCAwLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywgMyAqIGtU
aWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUpOwog
CiAgICAgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLCA0MCwg
MTAwMCwga1N0YXJ0VGltZSwgJnBhcmFtZXRlcnMpOwogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsK
QEAgLTQxNSw3ICs0NDgsMTcgQEAgVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9s
bExvbmdRdWFkcmF0aWMpCiAKIFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxR
dWFkcmF0aWNOb1N1c3RhaW4pCiB7Ci0gICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJz
IHBhcmFtZXRlcnModHJ1ZSwgOCAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFk
cmF0aWMsIDQgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCA0ICog
a1RpY2tUaW1lKTsKKyAgICBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVy
cyh0cnVlLCA4ICoga1RpY2tUaW1lLCAwLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywg
NCAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDQgKiBrVGlja1Rp
bWUpOworCisgICAgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAx
LCA0MCwgMTAwMCwga1N0YXJ0VGltZSwgJnBhcmFtZXRlcnMpOworICAgIGJvb2wgcmVzdWx0ID0g
dHJ1ZTsKKyAgICBmb3IgKGRvdWJsZSB0ID0ga1N0YXJ0VGltZTsgcmVzdWx0ICYmIHQgPCBrRW5k
VGltZTsgdCArPSBrQW5pbWF0aW9uVGltZSkKKyAgICAgICAgcmVzdWx0ID0gYW5pbWF0ZVNjcm9s
bCh0KTsKK30KKworVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9sbFF1YWRyYXRp
Y1Ntb290aGVkKQoreworICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0
ZXJzKHRydWUsIDggKiBrVGlja1RpbWUsIDggKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9u
ZTo6UXVhZHJhdGljLCA0ICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRp
YywgNCAqIGtUaWNrVGltZSk7CiAKICAgICB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGlj
YWxTY3JvbGxiYXIsIDEsIDQwLCAxMDAwLCBrU3RhcnRUaW1lLCAmcGFyYW1ldGVycyk7CiAgICAg
Ym9vbCByZXN1bHQgPSB0cnVlOwpAQCAtNDI1LDcgKzQ2OCw3IEBAIFRFU1RfRihTY3JvbGxBbmlt
YXRvck5vbmVUZXN0LCBTY3JvbGxRdWFkcmF0aWNOb1N1c3RhaW4pCiAKIFRFU1RfRihTY3JvbGxB
bmltYXRvck5vbmVUZXN0LCBTY3JvbGxPbmNlQ3ViaWMpCiB7Ci0gICAgU2Nyb2xsQW5pbWF0b3JO
b25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgNyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5p
bWF0b3JOb25lOjpDdWJpYywgMyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpDdWJp
YywgMyAqIGtUaWNrVGltZSk7CisgICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBh
cmFtZXRlcnModHJ1ZSwgNyAqIGtUaWNrVGltZSwgMCwgU2Nyb2xsQW5pbWF0b3JOb25lOjpDdWJp
YywgMyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpDdWJpYywgMyAqIGtUaWNrVGlt
ZSk7CiAKICAgICB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEs
IDQwLCAxMDAwLCBrU3RhcnRUaW1lLCAmcGFyYW1ldGVycyk7CiAgICAgYm9vbCByZXN1bHQgPSB0
cnVlOwpAQCAtNDM1LDcgKzQ3OCw3IEBAIFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBT
Y3JvbGxPbmNlQ3ViaWMpCiAKIFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxP
bmNlU2hvcnQpCiB7Ci0gICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRl
cnModHJ1ZSwgNyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpDdWJpYywgMyAqIGtU
aWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpDdWJpYywgMyAqIGtUaWNrVGltZSk7CisgICAg
U2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgNyAqIGtUaWNr
VGltZSwgMCwgU2Nyb2xsQW5pbWF0b3JOb25lOjpDdWJpYywgMyAqIGtUaWNrVGltZSwgU2Nyb2xs
QW5pbWF0b3JOb25lOjpDdWJpYywgMyAqIGtUaWNrVGltZSk7CiAKICAgICB1cGRhdGVEYXRhRnJv
bVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEsIDQwLCAxMDAwLCBrU3RhcnRUaW1lLCAm
cGFyYW1ldGVycyk7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwpAQCAtNDQ1LDcgKzQ4OCw3IEBA
IFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxPbmNlU2hvcnQpCiAKIFRFU1Rf
RihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxUd2ljZVF1YWRyYXRpYykKIHsKLSAgICBT
Y3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCA3ICoga1RpY2tU
aW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSwgU2Nyb2xs
QW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUpOworICAgIFNjcm9sbEFuaW1h
dG9yTm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0ZXJzKHRydWUsIDcgKiBrVGlja1RpbWUsIDAsIFNj
cm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRv
ck5vbmU6OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSk7CiAKICAgICB1cGRhdGVEYXRhRnJvbVBh
cmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEsIDQwLCAxMDAwLCBrU3RhcnRUaW1lLCAmcGFy
YW1ldGVycyk7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwpAQCAtNDc2LDcgKzUxOSwyOCBAQCBU
RVNUX0YoU2Nyb2xsQW5pbWF0b3JOb25lVGVzdCwgU2Nyb2xsVHdpY2VRdWFkcmF0aWMpCiAKIFRF
U1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxMb3RzUXVhZHJhdGljKQogewotICAg
IFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0ZXJzKHRydWUsIDcgKiBrVGlj
a1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lLCBTY3Jv
bGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSk7CisgICAgU2Nyb2xsQW5p
bWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgNyAqIGtUaWNrVGltZSwgMCwg
U2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1h
dG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lKTsKKworICAgIHVwZGF0ZURhdGFGcm9t
UGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMSwgNDAsIDEwMDAsIGtTdGFydFRpbWUsICZw
YXJhbWV0ZXJzKTsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgZG91YmxlIHQ7CisgICAg
Zm9yICh0ID0ga1N0YXJ0VGltZTsgcmVzdWx0ICYmIHQgPCBrU3RhcnRUaW1lICsgMS41ICoga1Rp
Y2tUaW1lOyB0ICs9IGtBbmltYXRpb25UaW1lKQorICAgICAgICByZXN1bHQgPSBhbmltYXRlU2Ny
b2xsKHQpOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCAyMDsgKytpKSB7CisgICAgICAgIHQg
Kz0ga0FuaW1hdGlvblRpbWU7CisgICAgICAgIHJlc3VsdCA9IHJlc3VsdCAmJiBhbmltYXRlU2Ny
b2xsKHQpOworICAgICAgICByZXN1bHQgPSByZXN1bHQgJiYgdXBkYXRlRGF0YUZyb21QYXJhbWV0
ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAzLCA0MCwgMTAwMDAsIHQsICZwYXJhbWV0ZXJzKTsKKyAg
ICB9CisKKyAgICB0ICs9IGtBbmltYXRpb25UaW1lOworICAgIGZvciAoOyByZXN1bHQgJiYgdCA8
IGtFbmRUaW1lOyB0ICs9IGtBbmltYXRpb25UaW1lKQorICAgICAgICByZXN1bHQgPSByZXN1bHQg
JiYgYW5pbWF0ZVNjcm9sbCh0KTsKK30KKworVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Qs
IFNjcm9sbExvdHNRdWFkcmF0aWNTbW9vdGhlZCkKK3sKKyAgICBTY3JvbGxBbmltYXRvck5vbmU6
OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCAxMCAqIGtUaWNrVGltZSwgNiAqIGtUaWNrVGlt
ZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFNjcm9sbEFu
aW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lKTsKIAogICAgIHVwZGF0ZURhdGFG
cm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMSwgNDAsIDEwMDAsIGtTdGFydFRpbWUs
ICZwYXJhbWV0ZXJzKTsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CkBAIC00OTcsNyArNTYxLDMx
IEBAIFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxMb3RzUXVhZHJhdGljKQog
CiBURVNUX0YoU2Nyb2xsQW5pbWF0b3JOb25lVGVzdCwgU2Nyb2xsV2hlZWxUcmFjZSkKIHsKLSAg
ICBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCAxMSAqIGtU
aWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFNj
cm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lKTsKKyAgICBTY3JvbGxB
bmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCAxMSAqIGtUaWNrVGltZSwg
MCwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFNjcm9sbEFu
aW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lKTsKKworICAgIC8vIENvbnN0cnVj
dGVkIGZyb20gYW4gYWN0dWFsIHNjcm9sbCB3aGVlbCB0cmFjZSB0aGF0IGV4aGliaXRlZCBhIGds
aXRjaC4KKyAgICBib29sIHJlc3VsdCA9IHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNh
bFNjcm9sbGJhciwgMSwgNTMuMzMsIDEwMDAsIDEwMC41NzgxLCAmcGFyYW1ldGVycyk7CisgICAg
cmVzdWx0ID0gYW5pbWF0ZVNjcm9sbCgxMDAuNTkzMyk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
IGFuaW1hdGVTY3JvbGwoMTAwLjYwODUpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB1cGRhdGVE
YXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEsIDUzLjMzLCAxMDAwLCAxMDAu
NjQ4NSwgJnBhcmFtZXRlcnMpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xs
KDEwMC42NTE1KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCgxMDAuNjg1
Myk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0
aWNhbFNjcm9sbGJhciwgMSwgNTMuMzMsIDEwMDAsIDEwMC42ODYzLCAmcGFyYW1ldGVycyk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwoMTAwLjcwMDUpOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKDEwMC43MTU3KTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgYW5pbWF0ZVNjcm9sbCgxMDAuNzMxMik7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHVw
ZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMSwgNTMuMzMsIDEwMDAs
IDEwMC43Mzc5LCAmcGFyYW1ldGVycyk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVT
Y3JvbGwoMTAwLjc0NjQpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKDEw
MC43NjE3KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCgxMDAuNzc3NSk7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNh
bFNjcm9sbGJhciwgMSwgNTMuMzMsIDEwMDAsIDEwMC43Nzc5LCAmcGFyYW1ldGVycyk7CisgICAg
Zm9yIChkb3VibGUgdCA9IDEwMC43OTI4OyByZXN1bHQgJiYgdCA8IDIwMDsgdCArPSAwLjAxNSkK
KyAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwodCk7Cit9CisKK1RFU1Rf
RihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxXaGVlbFRyYWNlU21vb3RoZWQpCit7Cisg
ICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgMTEgKiBr
VGlja1RpbWUsIDcgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAz
ICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywgMyAqIGtUaWNrVGlt
ZSk7CiAKICAgICAvLyBDb25zdHJ1Y3RlZCBmcm9tIGFuIGFjdHVhbCBzY3JvbGwgd2hlZWwgdHJh
Y2UgdGhhdCBleGhpYml0ZWQgYSBnbGl0Y2guCiAgICAgYm9vbCByZXN1bHQgPSB1cGRhdGVEYXRh
RnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEsIDUzLjMzLCAxMDAwLCAxMDAuNTc4
MSwgJnBhcmFtZXRlcnMpOwpAQCAtNTIxLDcgKzYwOSwzNyBAQCBURVNUX0YoU2Nyb2xsQW5pbWF0
b3JOb25lVGVzdCwgU2Nyb2xsV2hlZWxUcmFjZSkKIAogVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9u
ZVRlc3QsIExpbnV4VHJhY2tQYWRUcmFjZSkKIHsKLSAgICBTY3JvbGxBbmltYXRvck5vbmU6OlBh
cmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCAxMSAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JO
b25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJh
dGljLCAzICoga1RpY2tUaW1lKTsKKyAgICBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMg
cGFyYW1ldGVycyh0cnVlLCAxMSAqIGtUaWNrVGltZSwgMCwgU2Nyb2xsQW5pbWF0b3JOb25lOjpR
dWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAz
ICoga1RpY2tUaW1lKTsKKworICAgIGJvb2wgcmVzdWx0ID0gdXBkYXRlRGF0YUZyb21QYXJhbWV0
ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLjAwLCA2MC4wMCwgMTAwMCwgMTAwLjY4NjMsICZwYXJh
bWV0ZXJzKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJz
KFZlcnRpY2FsU2Nyb2xsYmFyLCAxLjAwLCAyMC4wMCwgMTAwMCwgMTAwLjY4OTcsICZwYXJhbWV0
ZXJzKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZl
cnRpY2FsU2Nyb2xsYmFyLCAxLjAwLCAyMC4wMCwgMTAwMCwgMTAwLjcwMDEsICZwYXJhbWV0ZXJz
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCgxMDAuNzAxNSk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwoMTAwLjcxNjkpOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEu
MDAsIDQwLjAwLCAxMDAwLCAxMDAuNzE3OSwgJnBhcmFtZXRlcnMpOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiBhbmltYXRlU2Nyb2xsKDEwMC43MzIyKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
dXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLjAwLCAyMC4wMCwg
MTAwMCwgMTAwLjczMzIsICZwYXJhbWV0ZXJzKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5p
bWF0ZVNjcm9sbCgxMDAuNzQ5MSk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHVwZGF0ZURhdGFG
cm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMS4wMCwgMjAuMDAsIDEwMDAsIDEwMC43
NTE5LCAmcGFyYW1ldGVycyk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwo
MTAwLjc2NzYpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB1cGRhdGVEYXRhRnJvbVBhcmFtZXRl
cnMoVmVydGljYWxTY3JvbGxiYXIsIDEuMDAsIDIwLjAwLCAxMDAwLCAxMDAuNzY5OCwgJnBhcmFt
ZXRlcnMpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMo
VmVydGljYWxTY3JvbGxiYXIsIDEuMDAsIDIwLjAwLCAxMDAwLCAxMDAuNzgzMCwgJnBhcmFtZXRl
cnMpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKDEwMC43ODM0KTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCgxMDAuNzk5Nyk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwg
MS4wMCwgMjAuMDAsIDEwMDAsIDEwMC44MDE5LCAmcGFyYW1ldGVycyk7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwoMTAwLjgxNTQpOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEuMDAsIDIwLjAw
LCAxMDAwLCAxMDAuODI0MSwgJnBhcmFtZXRlcnMpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiBh
bmltYXRlU2Nyb2xsKDEwMC44MzM1KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgdXBkYXRlRGF0
YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLjAwLCAyMC4wMCwgMTAwMCwgMTAw
Ljg0NjUsICZwYXJhbWV0ZXJzKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9s
bCgxMDAuODUxMyk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHVwZGF0ZURhdGFGcm9tUGFyYW1l
dGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMS4wMCwgMjAuMDAsIDEwMDAsIDEwMC44NjIzLCAmcGFy
YW1ldGVycyk7CisgICAgZm9yIChkb3VibGUgdCA9IDEwMC44Njc0OyByZXN1bHQgJiYgdCA8IDIw
MDsgdCArPSAwLjAxNSkKKyAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwo
dCk7Cit9CisKK1RFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBMaW51eFRyYWNrUGFkVHJh
Y2VTbW9vdGhlZCkKK3sKKyAgICBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1l
dGVycyh0cnVlLCAxMSAqIGtUaWNrVGltZSwgNyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JO
b25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJh
dGljLCAzICoga1RpY2tUaW1lKTsKIAogICAgIGJvb2wgcmVzdWx0ID0gdXBkYXRlRGF0YUZyb21Q
YXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLjAwLCA2MC4wMCwgMTAwMCwgMTAwLjY4NjMs
ICZwYXJhbWV0ZXJzKTsKICAgICByZXN1bHQgPSByZXN1bHQgJiYgdXBkYXRlRGF0YUZyb21QYXJh
bWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLjAwLCAyMC4wMCwgMTAwMCwgMTAwLjY4OTcsICZw
YXJhbWV0ZXJzKTsKQEAgLTU0OSw0ICs2NjcsNDUgQEAgVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9u
ZVRlc3QsIExpbnV4VHJhY2tQYWRUcmFjZSkKICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFu
aW1hdGVTY3JvbGwodCk7CiB9CiAKK1RFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3Jv
bGxEb3duVG9CdW1wZXIpCit7CisgICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBh
cmFtZXRlcnModHJ1ZSwgMTAgKiBrVGlja1RpbWUsIDcgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1h
dG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1
YWRyYXRpYywgMyAqIGtUaWNrVGltZSk7CisKKyAgICB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMo
VmVydGljYWxTY3JvbGxiYXIsIDEsIDIwLCAyMDAsIGtTdGFydFRpbWUsICZwYXJhbWV0ZXJzKTsK
KyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgZG91YmxlIHQgPSBrU3RhcnRUaW1lOworICAg
IGZvciAoaW50IGkgPSAwOyBpIDwgMTA7ICsraSkgeworICAgICAgICB0ICs9IGtBbmltYXRpb25U
aW1lOworICAgICAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCh0KTsKKyAgICAg
ICAgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLCAyMCwgMjAw
LCB0LCAmcGFyYW1ldGVycyk7CisgICAgfQorICAgIGNoZWNrRGVzaXJlZFBvc2l0aW9uKDIwMCk7
CisKKyAgICB0ICs9IGtBbmltYXRpb25UaW1lOworICAgIGZvciAoOyByZXN1bHQgJiYgdCA8IGtF
bmRUaW1lOyB0ICs9IGtBbmltYXRpb25UaW1lKQorICAgICAgICByZXN1bHQgPSByZXN1bHQgJiYg
YW5pbWF0ZVNjcm9sbCh0KTsKKyAgICBjaGVja1NvZnRMYW5kaW5nKDIwMCk7Cit9CisKKworVEVT
VF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9sbFVwVG9CdW1wZXIpCit7CisgICAgU2Ny
b2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgMTAgKiBrVGlja1Rp
bWUsIDcgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1Rp
Y2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSk7CisK
KyAgICB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEsIC0yMCwg
MjAwLCBrU3RhcnRUaW1lLCAmcGFyYW1ldGVycyk7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOwor
ICAgIGRvdWJsZSB0ID0ga1N0YXJ0VGltZTsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IDEwOyAr
K2kpIHsKKyAgICAgICAgdCArPSBrQW5pbWF0aW9uVGltZTsKKyAgICAgICAgcmVzdWx0ID0gcmVz
dWx0ICYmIGFuaW1hdGVTY3JvbGwodCk7CisgICAgICAgIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVy
cyhWZXJ0aWNhbFNjcm9sbGJhciwgMSwgLTIwLCAyMDAsIHQsICZwYXJhbWV0ZXJzKTsKKyAgICB9
CisgICAgY2hlY2tEZXNpcmVkUG9zaXRpb24oMCk7CisKKyAgICB0ICs9IGtBbmltYXRpb25UaW1l
OworICAgIGZvciAoOyByZXN1bHQgJiYgdCA8IGtFbmRUaW1lOyB0ICs9IGtBbmltYXRpb25UaW1l
KQorICAgICAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCh0KTsKKyAgICBjaGVj
a1NvZnRMYW5kaW5nKDApOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKFNNT09USF9TQ1JPTExJTkcp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102060</attachid>
            <date>2011-07-26 15:20:51 -0700</date>
            <delta_ts>2011-07-29 10:50:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65154-20110726152050.patch</filename>
            <type>text/plain</type>
            <size>25401</size>
            <attacher name="Scott Byer">scottbyer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE3MzAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwMTE3ZTc3MTNiNmM0NDNk
YzVhNjBmNzQ5ZjE1YmFiOTNhZDAyNDk5Li42ZDQxYmU5OWNjMjlhNDJkMDA1NzhiYjQ1N2ZiOGVl
NTc3NTVkYzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDctMjUgIFNjb3R0
IEJ5ZXIgIDxzY290dGJ5ZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFNjcm9sbCBhbmltYXRp
b24gcmVmaW5lbWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02NTE1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEZpeCBzY3JvbGwgYW5pbWF0aW9uIGJ1Z3Mgd2hlbiBzY3JvbGxpbmcgdG8gdGhlIGVu
ZHMgb2YgYSBkb2N1bWVudC4gU21vb3RoIG92ZXIgc2xvdyBldmVudCByZXBlYXQgcmF0ZXMKKyAg
ICAgICAgYmV0dGVyLiBGaXggdGVzdHMgdG8gYWxsb3cgZm9yIHVuaXQgdGVzdGluZyBvZiBzY3Jv
bGxpbmcgdXAgYW5kIG5vdCBqdXN0IGRvd24uCisKKyAgICAgICAgQWRkaXRpb25hbCB1bml0IHRl
c3RzIGFkZGVkIHRvIFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6CisgICAgICAgIFNjcm9sbFF1YWRy
YXRpY1Ntb290aGVkLCBTY3JvbGxMb3RzUXVhZHJhdGljU21vb3RoZWQsIFNjcm9sbERvd25Ub0J1
bXBlciwgU2Nyb2xsVXBUb0J1bXBlcgorCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3JOb25lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1l
dGVyczo6UGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck5vbmU6
OlBlckF4aXNEYXRhOjp1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsQW5pbWF0b3JOb25lOjpzY3JvbGwpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yTm9uZS5oOgorCiAyMDExLTA3LTI1ICBJYW4gSGVuZGVyc29uICA8aWFuaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgV2ViRnJhbWUgc2hvdWxkIGhhdmUgYSBtZXRob2QgdG8gZGV0ZXJt
aW5lIGl0cyB2aXN1YWwgZW1wdGluZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0b3JOb25lLmNwcAppbmRleCAzNGI3YTliOWE5NmMwZDBjNDFkNmFhYWY4YWExMDBj
YzgwNWI3OThjLi5hMTBjZjAxMWZmYTkyNDZmNDcyNmFmYTgzNDI3ZmE5ODY3M2M2NDUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAKQEAgLTQ0
LDYgKzQ0LDggQEAKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgogCit1c2luZyBuYW1lc3BhY2Ugc3RkOworCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIHN0YXRpYyBkb3VibGUga1RpY2tUaW1lID0gLjAxNjY7CkBAIC02Myw5ICs2NSwxMCBA
QCBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnM6OlBhcmFtZXRlcnMoKQogewogfQogCi1T
Y3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnM6OlBhcmFtZXRlcnMoYm9vbCBpc0VuYWJsZWQs
IGRvdWJsZSBhbmltYXRpb25UaW1lLCBDdXJ2ZSBhdHRhY2tDdXJ2ZSwgZG91YmxlIGF0dGFja1Rp
bWUsIEN1cnZlIHJlbGVhc2VDdXJ2ZSwgZG91YmxlIHJlbGVhc2VUaW1lKQorU2Nyb2xsQW5pbWF0
b3JOb25lOjpQYXJhbWV0ZXJzOjpQYXJhbWV0ZXJzKGJvb2wgaXNFbmFibGVkLCBkb3VibGUgYW5p
bWF0aW9uVGltZSwgZG91YmxlIHJlcGVhdE1pbmltdW1TdXN0YWluVGltZSwgQ3VydmUgYXR0YWNr
Q3VydmUsIGRvdWJsZSBhdHRhY2tUaW1lLCBDdXJ2ZSByZWxlYXNlQ3VydmUsIGRvdWJsZSByZWxl
YXNlVGltZSkKICAgICA6IG1faXNFbmFibGVkKGlzRW5hYmxlZCkKICAgICAsIG1fYW5pbWF0aW9u
VGltZShhbmltYXRpb25UaW1lKQorICAgICwgbV9yZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUocmVw
ZWF0TWluaW11bVN1c3RhaW5UaW1lKQogICAgICwgbV9hdHRhY2tDdXJ2ZShhdHRhY2tDdXJ2ZSkK
ICAgICAsIG1fYXR0YWNrVGltZShhdHRhY2tUaW1lKQogICAgICwgbV9yZWxlYXNlQ3VydmUocmVs
ZWFzZUN1cnZlKQpAQCAtMTU5LDcgKzE2Miw4IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjpQ
ZXJBeGlzRGF0YTo6cmVzZXQoKQogCiBib29sIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGVyQXhpc0Rh
dGE6OnVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRh
dGlvbiwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllciwgZmxvYXQgc2Nyb2xsYWJsZVNpemUs
IGRvdWJsZSBjdXJyZW50VGltZSwgUGFyYW1ldGVycyogcGFyYW1ldGVycykKIHsKLSAgICBtX2Fu
aW1hdGlvblRpbWUgPSBwYXJhbWV0ZXJzLT5tX2FuaW1hdGlvblRpbWU7CisgICAgaWYgKHBhcmFt
ZXRlcnMtPm1fYW5pbWF0aW9uVGltZSA+IG1fYW5pbWF0aW9uVGltZSkKKyAgICAgICAgbV9hbmlt
YXRpb25UaW1lID0gcGFyYW1ldGVycy0+bV9hbmltYXRpb25UaW1lOwogICAgIG1fYXR0YWNrVGlt
ZSA9IHBhcmFtZXRlcnMtPm1fYXR0YWNrVGltZTsKICAgICBtX3JlbGVhc2VUaW1lID0gcGFyYW1l
dGVycy0+bV9yZWxlYXNlVGltZTsKICAgICBtX2F0dGFja0N1cnZlID0gcGFyYW1ldGVycy0+bV9h
dHRhY2tDdXJ2ZTsKQEAgLTE3NCwxMiArMTc4LDEyIEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JOb25l
OjpQZXJBeGlzRGF0YTo6dXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFNjcm9sbGJhck9yaWVudGF0
CiAKICAgICBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247CiAKLSAgICBpZiAoIW1fZGVzaXJl
ZFBvc2l0aW9uKQorICAgIGlmICghbV9zdGFydFRpbWUpCiAgICAgICAgIG1fZGVzaXJlZFBvc2l0
aW9uID0gKm1fY3VycmVudFBvc2l0aW9uOwogICAgIGZsb2F0IG5ld1Bvc2l0aW9uID0gbV9kZXNp
cmVkUG9zaXRpb24gKyAoc3RlcCAqIG11bHRpcGxpZXIpOwogCiAgICAgaWYgKG5ld1Bvc2l0aW9u
IDwgMCB8fCBuZXdQb3NpdGlvbiA+IHNjcm9sbGFibGVTaXplKQotICAgICAgICBuZXdQb3NpdGlv
biA9IHN0ZDo6bWF4KHN0ZDo6bWluKG5ld1Bvc2l0aW9uLCBzY3JvbGxhYmxlU2l6ZSksIDAuMGYp
OworICAgICAgICBuZXdQb3NpdGlvbiA9IG1heChtaW4obmV3UG9zaXRpb24sIHNjcm9sbGFibGVT
aXplKSwgMC4wZik7CiAKICAgICBpZiAobmV3UG9zaXRpb24gPT0gbV9kZXNpcmVkUG9zaXRpb24p
CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTE5OSwxNCArMjAzLDE2IEBAIGJvb2wgU2Nyb2xs
QW5pbWF0b3JOb25lOjpQZXJBeGlzRGF0YTo6dXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFNjcm9s
bGJhck9yaWVudGF0CiAgICAgZG91YmxlIGF0dGFja0FyZWFMZWZ0ID0gMDsKIAogICAgIGRvdWJs
ZSBkZWx0YVRpbWUgPSBtX2xhc3RBbmltYXRpb25UaW1lIC0gbV9zdGFydFRpbWU7CisgICAgZG91
YmxlIGF0dGFja1RpbWVMZWZ0ID0gbWF4KDAuLCBtX2F0dGFja1RpbWUgLSBkZWx0YVRpbWUpOwog
ICAgIGRvdWJsZSB0aW1lTGVmdCA9IG1fYW5pbWF0aW9uVGltZSAtIGRlbHRhVGltZTsKLSAgICBp
ZiAodGltZUxlZnQgPCBtX3JlbGVhc2VUaW1lKSB7Ci0gICAgICAgIG1fYW5pbWF0aW9uVGltZSA9
IGRlbHRhVGltZSArIG1fcmVsZWFzZVRpbWU7Ci0gICAgICAgIHRpbWVMZWZ0ID0gbV9yZWxlYXNl
VGltZTsKKyAgICBkb3VibGUgbWluVGltZUxlZnQgPSBtX3JlbGVhc2VUaW1lICsgbWluKHBhcmFt
ZXRlcnMtPm1fcmVwZWF0TWluaW11bVN1c3RhaW5UaW1lLCBtX2FuaW1hdGlvblRpbWUgLSBtX3Jl
bGVhc2VUaW1lIC0gYXR0YWNrVGltZUxlZnQpOworICAgIGlmICh0aW1lTGVmdCA8IG1pblRpbWVM
ZWZ0KSB7CisgICAgICAgIG1fYW5pbWF0aW9uVGltZSA9IGRlbHRhVGltZSArIG1pblRpbWVMZWZ0
OworICAgICAgICB0aW1lTGVmdCA9IG1pblRpbWVMZWZ0OwogICAgIH0KLSAgICBkb3VibGUgcmVs
ZWFzZVRpbWVMZWZ0ID0gc3RkOjptaW4odGltZUxlZnQsIG1fcmVsZWFzZVRpbWUpOwotICAgIGRv
dWJsZSBhdHRhY2tUaW1lTGVmdCA9IHN0ZDo6bWF4KDAuLCBtX2F0dGFja1RpbWUgLSBkZWx0YVRp
bWUpOwotICAgIGRvdWJsZSBzdXN0YWluVGltZUxlZnQgPSBzdGQ6Om1heCgwLiwgdGltZUxlZnQg
LSByZWxlYXNlVGltZUxlZnQgLSBhdHRhY2tUaW1lTGVmdCk7CisKKyAgICBkb3VibGUgcmVsZWFz
ZVRpbWVMZWZ0ID0gbWluKHRpbWVMZWZ0LCBtX3JlbGVhc2VUaW1lKTsKKyAgICBkb3VibGUgc3Vz
dGFpblRpbWVMZWZ0ID0gbWF4KDAuLCB0aW1lTGVmdCAtIHJlbGVhc2VUaW1lTGVmdCAtIGF0dGFj
a1RpbWVMZWZ0KTsKIAogICAgIGlmIChhdHRhY2tUaW1lTGVmdCkgewogICAgICAgICBkb3VibGUg
YXR0YWNrU3BvdCA9IGRlbHRhVGltZSAvIG1fYXR0YWNrVGltZTsKQEAgLTI4OSwxMyArMjk1LDEz
IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JOb25lOjpzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb24g
b3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyCiAgICAgY2FzZSBTY3JvbGxCeURvY3VtZW50Ogog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFNjcm9sbEJ5TGluZToKLSAgICAgICAgcGFyYW1ldGVy
cyA9IFBhcmFtZXRlcnModHJ1ZSwgMTAgKiBrVGlja1RpbWUsIFF1YWRyYXRpYywgMyAqIGtUaWNr
VGltZSwgUXVhZHJhdGljLCAzICoga1RpY2tUaW1lKTsKKyAgICAgICAgcGFyYW1ldGVycyA9IFBh
cmFtZXRlcnModHJ1ZSwgMTAgKiBrVGlja1RpbWUsIDcgKiBrVGlja1RpbWUsIFF1YWRyYXRpYywg
MyAqIGtUaWNrVGltZSwgUXVhZHJhdGljLCAzICoga1RpY2tUaW1lKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBTY3JvbGxCeVBhZ2U6Ci0gICAgICAgIHBhcmFtZXRlcnMgPSBQYXJhbWV0ZXJz
KHRydWUsIDE1ICoga1RpY2tUaW1lLCBRdWFkcmF0aWMsIDUgKiBrVGlja1RpbWUsIFF1YWRyYXRp
YywgNSAqIGtUaWNrVGltZSk7CisgICAgICAgIHBhcmFtZXRlcnMgPSBQYXJhbWV0ZXJzKHRydWUs
IDE1ICoga1RpY2tUaW1lLCAxMCAqIGtUaWNrVGltZSwgUXVhZHJhdGljLCA1ICoga1RpY2tUaW1l
LCBRdWFkcmF0aWMsIDUgKiBrVGlja1RpbWUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNj
cm9sbEJ5UGl4ZWw6Ci0gICAgICAgIHBhcmFtZXRlcnMgPSBQYXJhbWV0ZXJzKHRydWUsIDExICog
a1RpY2tUaW1lLCBRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFF1YWRyYXRpYywgMyAqIGtUaWNr
VGltZSk7CisgICAgICAgIHBhcmFtZXRlcnMgPSBQYXJhbWV0ZXJzKHRydWUsIDExICoga1RpY2tU
aW1lLCAyICoga1RpY2tUaW1lLCBRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFF1YWRyYXRpYywg
MyAqIGtUaWNrVGltZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJy
ZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JO
b25lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuaAppbmRl
eCA2NzY5OTYxMmJiNGI0ZjMwNTEwYjkwMDZhYTVhMWE1MTc0MjRlYTE1Li5hY2ZlM2VlNDI2YmU0
YTk0NTU5Y2I3YWI2NDY0ZGJlNWQ4MDc5MjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRvck5vbmUuaApAQCAtNTksMTMgKzU5LDE0IEBAIHB1YmxpYzoKIAogICAg
IHN0cnVjdCBQYXJhbWV0ZXJzIHsKICAgICAgICAgUGFyYW1ldGVycygpOwotICAgICAgICBQYXJh
bWV0ZXJzKGJvb2wsIGRvdWJsZSwgQ3VydmUsIGRvdWJsZSwgQ3VydmUsIGRvdWJsZSk7CisgICAg
ICAgIFBhcmFtZXRlcnMoYm9vbCwgZG91YmxlLCBkb3VibGUsIEN1cnZlLCBkb3VibGUsIEN1cnZl
LCBkb3VibGUpOwogCiAgICAgICAgIC8vIE5vdGUgdGhhdCB0aGUgdGltZXMgY2FuIGJlIG92ZXJz
cGVjaWZpZWQgc3VjaCB0aGF0IHJlbGVhc2VUaW1lIG9yIHJlbGVhc2VUaW1lIGFuZCBhdHRhY2tU
aW1lIGFyZSBncmVhdGVyCiAgICAgICAgIC8vIHRoYW4gYW5pbWF0aW9uVGltZS4gYW5pbWF0aW9u
VGltZSB0YWtlcyBwcmlvcml0eSBvdmVyIHJlbGVhc2VUaW1lLCBjYXBwaW5nIGl0LiBhdHRhY2tU
aW1lIGlzIGNhcHBlZCBhdAogICAgICAgICAvLyB3aGF0ZXZlciB0aW1lIHJlbWFpbnMsIG9yIHpl
cm8gaWYgbm9uZS4KICAgICAgICAgYm9vbCBtX2lzRW5hYmxlZDsKICAgICAgICAgZG91YmxlIG1f
YW5pbWF0aW9uVGltZTsKKyAgICAgICAgZG91YmxlIG1fcmVwZWF0TWluaW11bVN1c3RhaW5UaW1l
OwogCiAgICAgICAgIEN1cnZlIG1fYXR0YWNrQ3VydmU7CiAgICAgICAgIGRvdWJsZSBtX2F0dGFj
a1RpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDE1NTllZTg0OTQ1YjA0OTkyN2Qy
YjIyNTRjZTEzOTY2NmQxNjQ0ZjkuLmY1ZDcxYTI0OTdlMTgwZDUxMjFhN2RjNWYxNjhkYmM4NTc2
NTY2YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEt
MDctMjUgIFNjb3R0IEJ5ZXIgIDxzY290dGJ5ZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFNj
cm9sbCBhbmltYXRpb24gcmVmaW5lbWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEZpeCBzY3JvbGwgYW5pbWF0aW9uIGJ1Z3Mgd2hlbiBzY3JvbGxp
bmcgdG8gdGhlIGVuZHMgb2YgYSBkb2N1bWVudC4gU21vb3RoIG92ZXIgc2xvdyBldmVudCByZXBl
YXQgcmF0ZXMKKyAgICAgICAgYmV0dGVyLiBGaXggdGVzdHMgdG8gYWxsb3cgZm9yIHVuaXQgdGVz
dGluZyBvZiBzY3JvbGxpbmcgdXAgYW5kIG5vdCBqdXN0IGRvd24uCisKKyAgICAgICAgQWRkaXRp
b25hbCB1bml0IHRlc3RzIGFkZGVkIHRvIFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6CisgICAgICAg
IFNjcm9sbFF1YWRyYXRpY1Ntb290aGVkLCBTY3JvbGxMb3RzUXVhZHJhdGljU21vb3RoZWQsIFNj
cm9sbERvd25Ub0J1bXBlciwgU2Nyb2xsVXBUb0J1bXBlcgorICAgICAgICAKKyAgICAgICAgKiB0
ZXN0cy9TY3JvbGxBbmltYXRvck5vbmVUZXN0LmNwcDoKKyAgICAgICAgKFNjcm9sbEFuaW1hdG9y
Tm9uZVRlc3Q6OnJlc2V0KToKKyAgICAgICAgKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6OnVwZGF0
ZURhdGFGcm9tUGFyYW1ldGVycyk6CisgICAgICAgIChTY3JvbGxBbmltYXRvck5vbmVUZXN0Ojph
bmltYXRlU2Nyb2xsKToKKyAgICAgICAgKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6OmNoZWNrRGVz
aXJlZFBvc2l0aW9uKToKKyAgICAgICAgKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6OmNoZWNrU29m
dExhbmRpbmcpOgorCiAyMDExLTA3LTI1ICBOaWNvIFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBbY2hyb21pdW1dIERvbid0IGxpbmsgaW4gYm90aCBsaWJqcGVnIGFuZCBs
aWJqcGVnX3R1cmJvIGluIHRoZSBjb21wb25lbnRzIGJ1aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL1Njcm9sbEFuaW1hdG9yTm9uZVRlc3QuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxBbmltYXRvck5vbmVUZXN0LmNwcAppbmRleCBm
OTlhNjAxYzQ4YWQ2NWYwNDFkNzZmNGUyNzY0NGVlYzAwNTJiM2M0Li44M2IzYjg5MjhiNmE3YzA2
N2U4ZjNjYjc3MWFhOTBhMjQwY2U5YjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL1Njcm9sbEFuaW1hdG9yTm9uZVRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvU2Nyb2xsQW5pbWF0b3JOb25lVGVzdC5jcHAKQEAgLTE3NiwxMiArMTc2
LDE2IEBAIHB1YmxpYzoKICAgICB2b2lkIGN1cnZlVGVzdElubmVyKFNjcm9sbEFuaW1hdG9yTm9u
ZTo6Q3VydmUsIGRvdWJsZSBzdGVwLCBkb3VibGUgdGltZSk7CiAgICAgdm9pZCBjdXJ2ZVRlc3Qo
U2Nyb2xsQW5pbWF0b3JOb25lOjpDdXJ2ZSk7CiAKKyAgICB2b2lkIGNoZWNrRGVzaXJlZFBvc2l0
aW9uKGZsb2F0IGV4cGVjdGVkUG9zaXRpb24pOworICAgIHZvaWQgY2hlY2tTb2Z0TGFuZGluZyhm
bG9hdCBleHBlY3RlZFBvc2l0aW9uKTsKKwogICAgIHN0YXRpYyBkb3VibGUga1RpY2tUaW1lOwog
ICAgIHN0YXRpYyBkb3VibGUga0FuaW1hdGlvblRpbWU7CiAgICAgc3RhdGljIGRvdWJsZSBrU3Rh
cnRUaW1lOwogICAgIHN0YXRpYyBkb3VibGUga0VuZFRpbWU7CiAgICAgZmxvYXQgbV9jdXJyZW50
UG9zaXRpb247CiAgICAgTW9ja1Njcm9sbEFuaW1hdG9yTm9uZSBtX21vY2tTY3JvbGxBbmltYXRv
ck5vbmU7CisgICAgYm9vbCBtX3Njcm9sbGluZ0Rvd247CiAgICAgU2Nyb2xsQW5pbWF0b3JOb25l
OjpQZXJBeGlzRGF0YSogbV9kYXRhOwogfTsKIApAQCAtMTkzLDE1ICsxOTcsMjEgQEAgZG91Ymxl
IFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6OmtFbmRUaW1lID0gMjAuMDsKIHZvaWQgU2Nyb2xsQW5p
bWF0b3JOb25lVGVzdDo6cmVzZXQoKQogewogICAgIG1fZGF0YS0+cmVzZXQoKTsKKyAgICBtX3Nj
cm9sbGluZ0Rvd24gPSB0cnVlOwogfQogCiBib29sIFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6OnVw
ZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwg
ZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllciwgZmxvYXQgc2Nyb2xsYWJsZVNpemUsIGRvdWJs
ZSBjdXJyZW50VGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzKiBwYXJhbWV0ZXJz
KQogeworICAgIG1fc2Nyb2xsaW5nRG93biA9IChzdGVwICogbXVsdGlwbGllciA+IDApOworCiAg
ICAgZG91YmxlIG9sZFZlbG9jaXR5ID0gbV9kYXRhLT5tX2N1cnJlbnRWZWxvY2l0eTsKICAgICBk
b3VibGUgb2xkRGVzaXJlZFZlbG9jaXR5ID0gbV9kYXRhLT5tX2Rlc2lyZWRWZWxvY2l0eTsKICAg
ICBkb3VibGUgb2xkVGltZUxlZnQgPSBtX2RhdGEtPm1fYW5pbWF0aW9uVGltZSAtIChtX2RhdGEt
Pm1fbGFzdEFuaW1hdGlvblRpbWUgLSBtX2RhdGEtPm1fc3RhcnRUaW1lKTsKICAgICBib29sIHJl
c3VsdCA9IG1fZGF0YS0+dXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKG9yaWVudGF0aW9uLCBzdGVw
LCBtdWx0aXBsaWVyLCBzY3JvbGxhYmxlU2l6ZSwgY3VycmVudFRpbWUsIHBhcmFtZXRlcnMpOwot
ICAgIEVYUEVDVF9MRShvbGRWZWxvY2l0eSwgbV9kYXRhLT5tX2N1cnJlbnRWZWxvY2l0eSk7Cisg
ICAgaWYgKG1fc2Nyb2xsaW5nRG93bikKKyAgICAgICAgRVhQRUNUX0xFKG9sZFZlbG9jaXR5LCBt
X2RhdGEtPm1fY3VycmVudFZlbG9jaXR5KTsKKyAgICBlbHNlCisgICAgICAgIEVYUEVDVF9HRShv
bGRWZWxvY2l0eSwgbV9kYXRhLT5tX2N1cnJlbnRWZWxvY2l0eSk7CiAKICAgICBkb3VibGUgZGVs
dGFUaW1lID0gbV9kYXRhLT5tX2xhc3RBbmltYXRpb25UaW1lIC0gbV9kYXRhLT5tX3N0YXJ0VGlt
ZTsKICAgICBkb3VibGUgdGltZUxlZnQgPSBtX2RhdGEtPm1fYW5pbWF0aW9uVGltZSAtIGRlbHRh
VGltZTsKQEAgLTIxMiwxMCArMjIyLDE3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JOb25lVGVzdDo6
dXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVuCiAgICAg
Ly8gSWYgd2UncmUgZ2V0dGluZyBuZWFyIHRoZSBmaW5pc2gsIHRoZSBkZXNpcmVkIHZlbG9jaXR5
IGNhbiBkZWNyZWFzZSBzaW5jZSB0aGUgdGltZSBsZWZ0IGdldHMgaW5jcmVhc2VkLgogICAgIGRv
dWJsZSBhbGxvd2VkVmVsb2NpdHlEZWNyZWFzZUZhY3RvciA9IDAuOTkgKiBvbGRUaW1lTGVmdCAv
IHRpbWVMZWZ0OwogICAgIGFsbG93ZWRWZWxvY2l0eURlY3JlYXNlRmFjdG9yICo9IGFsbG93ZWRW
ZWxvY2l0eURlY3JlYXNlRmFjdG9yOwotICAgIEVYUEVDVF9MRShvbGREZXNpcmVkVmVsb2NpdHkg
KiBhbGxvd2VkVmVsb2NpdHlEZWNyZWFzZUZhY3RvciwgbV9kYXRhLT5tX2Rlc2lyZWRWZWxvY2l0
eSk7Ci0KLSAgICBkb3VibGUgZXhwZWN0ZWRSZWxlYXNlUG9zaXRpb24gPSBzdGQ6Om1heDxkb3Vi
bGU+KG1fY3VycmVudFBvc2l0aW9uLCBtX2RhdGEtPm1fYXR0YWNrUG9zaXRpb24pICsgc3VzdGFp
blRpbWVMZWZ0ICogbV9kYXRhLT5tX2Rlc2lyZWRWZWxvY2l0eTsKLSAgICBFWFBFQ1RfRE9VQkxF
X0VRKGV4cGVjdGVkUmVsZWFzZVBvc2l0aW9uLCBtX2RhdGEtPm1fcmVsZWFzZVBvc2l0aW9uKTsK
KyAgICBpZiAobV9zY3JvbGxpbmdEb3duKQorICAgICAgICBFWFBFQ1RfTEUob2xkRGVzaXJlZFZl
bG9jaXR5ICogYWxsb3dlZFZlbG9jaXR5RGVjcmVhc2VGYWN0b3IsIG1fZGF0YS0+bV9kZXNpcmVk
VmVsb2NpdHkpOworICAgIGVsc2UKKyAgICAgICAgRVhQRUNUX0dFKG9sZERlc2lyZWRWZWxvY2l0
eSAqIGFsbG93ZWRWZWxvY2l0eURlY3JlYXNlRmFjdG9yLCBtX2RhdGEtPm1fZGVzaXJlZFZlbG9j
aXR5KTsKKworICAgIGRvdWJsZSBzdGFydFBvc2l0aW9uID0gbV9zY3JvbGxpbmdEb3duID8gc3Rk
OjptYXg8ZG91YmxlPihtX2N1cnJlbnRQb3NpdGlvbiwgbV9kYXRhLT5tX2F0dGFja1Bvc2l0aW9u
KSA6IHN0ZDo6bWluPGRvdWJsZT4obV9jdXJyZW50UG9zaXRpb24sIG1fZGF0YS0+bV9hdHRhY2tQ
b3NpdGlvbik7CisgICAgZG91YmxlIGV4cGVjdGVkUmVsZWFzZVBvc2l0aW9uID0gc3RhcnRQb3Np
dGlvbiArIHN1c3RhaW5UaW1lTGVmdCAqIG1fZGF0YS0+bV9kZXNpcmVkVmVsb2NpdHk7CisgICAg
aWYgKHJlc3VsdCkKKyAgICAgICAgRVhQRUNUX0RPVUJMRV9FUShleHBlY3RlZFJlbGVhc2VQb3Np
dGlvbiwgbV9kYXRhLT5tX3JlbGVhc2VQb3NpdGlvbik7CisgICAgZWxzZQorICAgICAgICBFWFBF
Q1RfTkVBUihleHBlY3RlZFJlbGVhc2VQb3NpdGlvbiwgbV9kYXRhLT5tX3JlbGVhc2VQb3NpdGlv
biwgMSk7CiAKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjM0LDExICsyNTEsMTYgQEAgYm9v
bCBTY3JvbGxBbmltYXRvck5vbmVUZXN0OjphbmltYXRlU2Nyb2xsKGRvdWJsZSBjdXJyZW50VGlt
ZSkKICAgICBkb3VibGUgc3VzdGFpblRpbWVMZWZ0ID0gc3RkOjptYXgoMC4sIHRpbWVMZWZ0IC0g
cmVsZWFzZVRpbWVMZWZ0IC0gYXR0YWNrVGltZUxlZnQpOwogICAgIGRvdWJsZSBkaXN0YW5jZUxl
ZnQgPSBtX2RhdGEtPm1fZGVzaXJlZFBvc2l0aW9uIC0gKm1fZGF0YS0+bV9jdXJyZW50UG9zaXRp
b247CiAKLSAgICBFWFBFQ1RfTEUoMCwgbV9kYXRhLT5tX2N1cnJlbnRWZWxvY2l0eSk7Ci0gICAg
RVhQRUNUX0xFKG9sZFBvc2l0aW9uLCAqbV9kYXRhLT5tX2N1cnJlbnRQb3NpdGlvbik7Ci0gICAg
RVhQRUNUX0dFKG1fZGF0YS0+bV9kZXNpcmVkVmVsb2NpdHkgKiAyLCBtX2RhdGEtPm1fY3VycmVu
dFZlbG9jaXR5KTsKKyAgICBpZiAobV9zY3JvbGxpbmdEb3duKSB7CisgICAgICAgIEVYUEVDVF9M
RSgwLCBtX2RhdGEtPm1fY3VycmVudFZlbG9jaXR5KTsKKyAgICAgICAgRVhQRUNUX0xFKG9sZFBv
c2l0aW9uLCAqbV9kYXRhLT5tX2N1cnJlbnRQb3NpdGlvbik7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgRVhQRUNUX0dFKDAsIG1fZGF0YS0+bV9jdXJyZW50VmVsb2NpdHkpOworICAgICAgICBFWFBF
Q1RfR0Uob2xkUG9zaXRpb24sICptX2RhdGEtPm1fY3VycmVudFBvc2l0aW9uKTsKKyAgICB9Cisg
ICAgRVhQRUNUX0dFKGZhYnMobV9kYXRhLT5tX2Rlc2lyZWRWZWxvY2l0eSkgKiAyLCBmYWJzKG1f
ZGF0YS0+bV9jdXJyZW50VmVsb2NpdHkpKTsKICAgICBpZiAodGVzdEVzdGltYXRlZE1heFZlbG9j
aXR5KQotICAgICAgICBFWFBFQ1RfR0UoKGRpc3RhbmNlTGVmdCAvIHN1c3RhaW5UaW1lTGVmdCkg
KiAxLjIsIG1fZGF0YS0+bV9jdXJyZW50VmVsb2NpdHkpOworICAgICAgICBFWFBFQ1RfR0UoZmFi
cyhkaXN0YW5jZUxlZnQgLyBzdXN0YWluVGltZUxlZnQpICogMS4yLCBmYWJzKG1fZGF0YS0+bV9j
dXJyZW50VmVsb2NpdHkpKTsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0zNjMsNiArMzg1
LDE3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lVGVzdDo6Y3VydmVUZXN0KFNjcm9sbEFuaW1h
dG9yTm9uZTo6Q3VydmUgY3VydmUpCiAgICAgY3VydmVUZXN0SW5uZXIoY3VydmUsIDAuMjUsIDQw
KTsKIH0KIAordm9pZCBTY3JvbGxBbmltYXRvck5vbmVUZXN0OjpjaGVja0Rlc2lyZWRQb3NpdGlv
bihmbG9hdCBleHBlY3RlZFBvc2l0aW9uKQoreworICAgIEVYUEVDVF9FUShleHBlY3RlZFBvc2l0
aW9uLCBtX2RhdGEtPm1fZGVzaXJlZFBvc2l0aW9uKTsKK30KKwordm9pZCBTY3JvbGxBbmltYXRv
ck5vbmVUZXN0OjpjaGVja1NvZnRMYW5kaW5nKGZsb2F0IGV4cGVjdGVkUG9zaXRpb24pCit7Cisg
ICAgRVhQRUNUX0VRKGV4cGVjdGVkUG9zaXRpb24sIG1fY3VycmVudFBvc2l0aW9uKTsKKyAgICBF
WFBFQ1RfTEUobV9kYXRhLT5tX2Rlc2lyZWRWZWxvY2l0eSAvIDIsIG1fZGF0YS0+bV9jdXJyZW50
VmVsb2NpdHkpOworfQorCiBURVNUX0YoU2Nyb2xsQW5pbWF0b3JOb25lVGVzdCwgQ3VydmVNYXRo
TGluZWFyKQogewogICAgIGN1cnZlVGVzdChTY3JvbGxBbmltYXRvck5vbmU6OkxpbmVhcik7CkBA
IC0zODUsNyArNDE4LDcgQEAgVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIEN1cnZlTWF0
aEJvdW5jZSkKIAogVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9sbE9uY2VMaW5l
YXIpCiB7Ci0gICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1
ZSwgNyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpMaW5lYXIsIDMgKiBrVGlja1Rp
bWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6TGluZWFyLCAzICoga1RpY2tUaW1lKTsKKyAgICBTY3Jv
bGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCA3ICoga1RpY2tUaW1l
LCAwLCBTY3JvbGxBbmltYXRvck5vbmU6OkxpbmVhciwgMyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5p
bWF0b3JOb25lOjpMaW5lYXIsIDMgKiBrVGlja1RpbWUpOwogCiAgICAgdXBkYXRlRGF0YUZyb21Q
YXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLCA0MCwgMTAwMCwga1N0YXJ0VGltZSwgJnBh
cmFtZXRlcnMpOwogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKQEAgLTM5NSw3ICs0MjgsNyBAQCBU
RVNUX0YoU2Nyb2xsQW5pbWF0b3JOb25lVGVzdCwgU2Nyb2xsT25jZUxpbmVhcikKIAogVEVTVF9G
KFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9sbE9uY2VRdWFkcmF0aWMpCiB7Ci0gICAgU2Ny
b2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgNyAqIGtUaWNrVGlt
ZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFNjcm9sbEFu
aW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lKTsKKyAgICBTY3JvbGxBbmltYXRv
ck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCA3ICoga1RpY2tUaW1lLCAwLCBTY3Jv
bGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JO
b25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUpOwogCiAgICAgdXBkYXRlRGF0YUZyb21QYXJh
bWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLCA0MCwgMTAwMCwga1N0YXJ0VGltZSwgJnBhcmFt
ZXRlcnMpOwogICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKQEAgLTQwNSw3ICs0MzgsNyBAQCBURVNU
X0YoU2Nyb2xsQW5pbWF0b3JOb25lVGVzdCwgU2Nyb2xsT25jZVF1YWRyYXRpYykKIAogVEVTVF9G
KFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9sbExvbmdRdWFkcmF0aWMpCiB7Ci0gICAgU2Ny
b2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgMjAgKiBrVGlja1Rp
bWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lLCBTY3JvbGxB
bmltYXRvck5vbmU6OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSk7CisgICAgU2Nyb2xsQW5pbWF0
b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgMjAgKiBrVGlja1RpbWUsIDAsIFNj
cm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRv
ck5vbmU6OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSk7CiAKICAgICB1cGRhdGVEYXRhRnJvbVBh
cmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEsIDQwLCAxMDAwLCBrU3RhcnRUaW1lLCAmcGFy
YW1ldGVycyk7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwpAQCAtNDE1LDcgKzQ0OCwxNyBAQCBU
RVNUX0YoU2Nyb2xsQW5pbWF0b3JOb25lVGVzdCwgU2Nyb2xsTG9uZ1F1YWRyYXRpYykKIAogVEVT
VF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9sbFF1YWRyYXRpY05vU3VzdGFpbikKIHsK
LSAgICBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCA4ICog
a1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywgNCAqIGtUaWNrVGltZSwg
U2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDQgKiBrVGlja1RpbWUpOworICAgIFNjcm9s
bEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0ZXJzKHRydWUsIDggKiBrVGlja1RpbWUs
IDAsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCA0ICoga1RpY2tUaW1lLCBTY3JvbGxB
bmltYXRvck5vbmU6OlF1YWRyYXRpYywgNCAqIGtUaWNrVGltZSk7CisKKyAgICB1cGRhdGVEYXRh
RnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEsIDQwLCAxMDAwLCBrU3RhcnRUaW1l
LCAmcGFyYW1ldGVycyk7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIGZvciAoZG91Ymxl
IHQgPSBrU3RhcnRUaW1lOyByZXN1bHQgJiYgdCA8IGtFbmRUaW1lOyB0ICs9IGtBbmltYXRpb25U
aW1lKQorICAgICAgICByZXN1bHQgPSBhbmltYXRlU2Nyb2xsKHQpOworfQorCitURVNUX0YoU2Ny
b2xsQW5pbWF0b3JOb25lVGVzdCwgU2Nyb2xsUXVhZHJhdGljU21vb3RoZWQpCit7CisgICAgU2Ny
b2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgOCAqIGtUaWNrVGlt
ZSwgOCAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDQgKiBrVGlj
a1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCA0ICoga1RpY2tUaW1lKTsKIAog
ICAgIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMSwgNDAsIDEw
MDAsIGtTdGFydFRpbWUsICZwYXJhbWV0ZXJzKTsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CkBA
IC00MjUsNyArNDY4LDcgQEAgVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9sbFF1
YWRyYXRpY05vU3VzdGFpbikKIAogVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9s
bE9uY2VDdWJpYykKIHsKLSAgICBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1l
dGVycyh0cnVlLCA3ICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OkN1YmljLCAzICog
a1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OkN1YmljLCAzICoga1RpY2tUaW1lKTsKKyAg
ICBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCA3ICoga1Rp
Y2tUaW1lLCAwLCBTY3JvbGxBbmltYXRvck5vbmU6OkN1YmljLCAzICoga1RpY2tUaW1lLCBTY3Jv
bGxBbmltYXRvck5vbmU6OkN1YmljLCAzICoga1RpY2tUaW1lKTsKIAogICAgIHVwZGF0ZURhdGFG
cm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMSwgNDAsIDEwMDAsIGtTdGFydFRpbWUs
ICZwYXJhbWV0ZXJzKTsKICAgICBib29sIHJlc3VsdCA9IHRydWU7CkBAIC00MzUsNyArNDc4LDcg
QEAgVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9sbE9uY2VDdWJpYykKIAogVEVT
VF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9sbE9uY2VTaG9ydCkKIHsKLSAgICBTY3Jv
bGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCA3ICoga1RpY2tUaW1l
LCBTY3JvbGxBbmltYXRvck5vbmU6OkN1YmljLCAzICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRv
ck5vbmU6OkN1YmljLCAzICoga1RpY2tUaW1lKTsKKyAgICBTY3JvbGxBbmltYXRvck5vbmU6OlBh
cmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCA3ICoga1RpY2tUaW1lLCAwLCBTY3JvbGxBbmltYXRv
ck5vbmU6OkN1YmljLCAzICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OkN1YmljLCAz
ICoga1RpY2tUaW1lKTsKIAogICAgIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNj
cm9sbGJhciwgMSwgNDAsIDEwMDAsIGtTdGFydFRpbWUsICZwYXJhbWV0ZXJzKTsKICAgICBib29s
IHJlc3VsdCA9IHRydWU7CkBAIC00NDUsNyArNDg4LDcgQEAgVEVTVF9GKFNjcm9sbEFuaW1hdG9y
Tm9uZVRlc3QsIFNjcm9sbE9uY2VTaG9ydCkKIAogVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRl
c3QsIFNjcm9sbFR3aWNlUXVhZHJhdGljKQogewotICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFy
YW1ldGVycyBwYXJhbWV0ZXJzKHRydWUsIDcgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9u
ZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRp
YywgMyAqIGtUaWNrVGltZSk7CisgICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBh
cmFtZXRlcnModHJ1ZSwgNyAqIGtUaWNrVGltZSwgMCwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFk
cmF0aWMsIDMgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICog
a1RpY2tUaW1lKTsKIAogICAgIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9s
bGJhciwgMSwgNDAsIDEwMDAsIGtTdGFydFRpbWUsICZwYXJhbWV0ZXJzKTsKICAgICBib29sIHJl
c3VsdCA9IHRydWU7CkBAIC00NzYsNyArNTE5LDI4IEBAIFRFU1RfRihTY3JvbGxBbmltYXRvck5v
bmVUZXN0LCBTY3JvbGxUd2ljZVF1YWRyYXRpYykKIAogVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9u
ZVRlc3QsIFNjcm9sbExvdHNRdWFkcmF0aWMpCiB7Ci0gICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQ
YXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgNyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JO
b25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJh
dGljLCAzICoga1RpY2tUaW1lKTsKKyAgICBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMg
cGFyYW1ldGVycyh0cnVlLCA3ICoga1RpY2tUaW1lLCAwLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1
YWRyYXRpYywgMyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMg
KiBrVGlja1RpbWUpOworCisgICAgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Ny
b2xsYmFyLCAxLCA0MCwgMTAwMCwga1N0YXJ0VGltZSwgJnBhcmFtZXRlcnMpOworICAgIGJvb2wg
cmVzdWx0ID0gdHJ1ZTsKKyAgICBkb3VibGUgdDsKKyAgICBmb3IgKHQgPSBrU3RhcnRUaW1lOyBy
ZXN1bHQgJiYgdCA8IGtTdGFydFRpbWUgKyAxLjUgKiBrVGlja1RpbWU7IHQgKz0ga0FuaW1hdGlv
blRpbWUpCisgICAgICAgIHJlc3VsdCA9IGFuaW1hdGVTY3JvbGwodCk7CisKKyAgICBmb3IgKGlu
dCBpID0gMDsgaSA8IDIwOyArK2kpIHsKKyAgICAgICAgdCArPSBrQW5pbWF0aW9uVGltZTsKKyAg
ICAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwodCk7CisgICAgICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIs
IDMsIDQwLCAxMDAwMCwgdCwgJnBhcmFtZXRlcnMpOworICAgIH0KKworICAgIHQgKz0ga0FuaW1h
dGlvblRpbWU7CisgICAgZm9yICg7IHJlc3VsdCAmJiB0IDwga0VuZFRpbWU7IHQgKz0ga0FuaW1h
dGlvblRpbWUpCisgICAgICAgIHJlc3VsdCA9IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKHQpOwor
fQorCitURVNUX0YoU2Nyb2xsQW5pbWF0b3JOb25lVGVzdCwgU2Nyb2xsTG90c1F1YWRyYXRpY1Nt
b290aGVkKQoreworICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0ZXJz
KHRydWUsIDEwICoga1RpY2tUaW1lLCA2ICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6
OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMs
IDMgKiBrVGlja1RpbWUpOwogCiAgICAgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2Fs
U2Nyb2xsYmFyLCAxLCA0MCwgMTAwMCwga1N0YXJ0VGltZSwgJnBhcmFtZXRlcnMpOwogICAgIGJv
b2wgcmVzdWx0ID0gdHJ1ZTsKQEAgLTQ5Nyw3ICs1NjEsMzEgQEAgVEVTVF9GKFNjcm9sbEFuaW1h
dG9yTm9uZVRlc3QsIFNjcm9sbExvdHNRdWFkcmF0aWMpCiAKIFRFU1RfRihTY3JvbGxBbmltYXRv
ck5vbmVUZXN0LCBTY3JvbGxXaGVlbFRyYWNlKQogewotICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6
UGFyYW1ldGVycyBwYXJhbWV0ZXJzKHRydWUsIDExICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRv
ck5vbmU6OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFk
cmF0aWMsIDMgKiBrVGlja1RpbWUpOworICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVy
cyBwYXJhbWV0ZXJzKHRydWUsIDExICoga1RpY2tUaW1lLCAwLCBTY3JvbGxBbmltYXRvck5vbmU6
OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMs
IDMgKiBrVGlja1RpbWUpOworCisgICAgLy8gQ29uc3RydWN0ZWQgZnJvbSBhbiBhY3R1YWwgc2Ny
b2xsIHdoZWVsIHRyYWNlIHRoYXQgZXhoaWJpdGVkIGEgZ2xpdGNoLgorICAgIGJvb2wgcmVzdWx0
ID0gdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLCA1My4zMywg
MTAwMCwgMTAwLjU3ODEsICZwYXJhbWV0ZXJzKTsKKyAgICByZXN1bHQgPSBhbmltYXRlU2Nyb2xs
KDEwMC41OTMzKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCgxMDAuNjA4
NSk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0
aWNhbFNjcm9sbGJhciwgMSwgNTMuMzMsIDEwMDAsIDEwMC42NDg1LCAmcGFyYW1ldGVycyk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwoMTAwLjY1MTUpOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKDEwMC42ODUzKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLCA1My4z
MywgMTAwMCwgMTAwLjY4NjMsICZwYXJhbWV0ZXJzKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
YW5pbWF0ZVNjcm9sbCgxMDAuNzAwNSk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVT
Y3JvbGwoMTAwLjcxNTcpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKDEw
MC43MzEyKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJz
KFZlcnRpY2FsU2Nyb2xsYmFyLCAxLCA1My4zMywgMTAwMCwgMTAwLjczNzksICZwYXJhbWV0ZXJz
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCgxMDAuNzQ2NCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwoMTAwLjc2MTcpOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKDEwMC43Nzc1KTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLCA1My4zMywg
MTAwMCwgMTAwLjc3NzksICZwYXJhbWV0ZXJzKTsKKyAgICBmb3IgKGRvdWJsZSB0ID0gMTAwLjc5
Mjg7IHJlc3VsdCAmJiB0IDwgMjAwOyB0ICs9IDAuMDE1KQorICAgICAgICByZXN1bHQgPSByZXN1
bHQgJiYgYW5pbWF0ZVNjcm9sbCh0KTsKK30KKworVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRl
c3QsIFNjcm9sbFdoZWVsVHJhY2VTbW9vdGhlZCkKK3sKKyAgICBTY3JvbGxBbmltYXRvck5vbmU6
OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCAxMSAqIGtUaWNrVGltZSwgNyAqIGtUaWNrVGlt
ZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFNjcm9sbEFu
aW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lKTsKIAogICAgIC8vIENvbnN0cnVj
dGVkIGZyb20gYW4gYWN0dWFsIHNjcm9sbCB3aGVlbCB0cmFjZSB0aGF0IGV4aGliaXRlZCBhIGds
aXRjaC4KICAgICBib29sIHJlc3VsdCA9IHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNh
bFNjcm9sbGJhciwgMSwgNTMuMzMsIDEwMDAsIDEwMC41NzgxLCAmcGFyYW1ldGVycyk7CkBAIC01
MjEsNyArNjA5LDM3IEBAIFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxXaGVl
bFRyYWNlKQogCiBURVNUX0YoU2Nyb2xsQW5pbWF0b3JOb25lVGVzdCwgTGludXhUcmFja1BhZFRy
YWNlKQogewotICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0ZXJzKHRy
dWUsIDExICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywgMyAqIGtU
aWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUpOwor
ICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0ZXJzKHRydWUsIDExICog
a1RpY2tUaW1lLCAwLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywgMyAqIGtUaWNrVGlt
ZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUpOworCisgICAg
Ym9vbCByZXN1bHQgPSB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIs
IDEuMDAsIDYwLjAwLCAxMDAwLCAxMDAuNjg2MywgJnBhcmFtZXRlcnMpOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEu
MDAsIDIwLjAwLCAxMDAwLCAxMDAuNjg5NywgJnBhcmFtZXRlcnMpOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEuMDAs
IDIwLjAwLCAxMDAwLCAxMDAuNzAwMSwgJnBhcmFtZXRlcnMpOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiBhbmltYXRlU2Nyb2xsKDEwMC43MDE1KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5p
bWF0ZVNjcm9sbCgxMDAuNzE2OSk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHVwZGF0ZURhdGFG
cm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMS4wMCwgNDAuMDAsIDEwMDAsIDEwMC43
MTc5LCAmcGFyYW1ldGVycyk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwo
MTAwLjczMjIpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB1cGRhdGVEYXRhRnJvbVBhcmFtZXRl
cnMoVmVydGljYWxTY3JvbGxiYXIsIDEuMDAsIDIwLjAwLCAxMDAwLCAxMDAuNzMzMiwgJnBhcmFt
ZXRlcnMpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKDEwMC43NDkxKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2Fs
U2Nyb2xsYmFyLCAxLjAwLCAyMC4wMCwgMTAwMCwgMTAwLjc1MTksICZwYXJhbWV0ZXJzKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCgxMDAuNzY3Nik7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwg
MS4wMCwgMjAuMDAsIDEwMDAsIDEwMC43Njk4LCAmcGFyYW1ldGVycyk7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMS4w
MCwgMjAuMDAsIDEwMDAsIDEwMC43ODMwLCAmcGFyYW1ldGVycyk7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmIGFuaW1hdGVTY3JvbGwoMTAwLjc4MzQpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiBh
bmltYXRlU2Nyb2xsKDEwMC43OTk3KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgdXBkYXRlRGF0
YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLjAwLCAyMC4wMCwgMTAwMCwgMTAw
LjgwMTksICZwYXJhbWV0ZXJzKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9s
bCgxMDAuODE1NCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHVwZGF0ZURhdGFGcm9tUGFyYW1l
dGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMS4wMCwgMjAuMDAsIDEwMDAsIDEwMC44MjQxLCAmcGFy
YW1ldGVycyk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwoMTAwLjgzMzUp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGlj
YWxTY3JvbGxiYXIsIDEuMDAsIDIwLjAwLCAxMDAwLCAxMDAuODQ2NSwgJnBhcmFtZXRlcnMpOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKDEwMC44NTEzKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFy
LCAxLjAwLCAyMC4wMCwgMTAwMCwgMTAwLjg2MjMsICZwYXJhbWV0ZXJzKTsKKyAgICBmb3IgKGRv
dWJsZSB0ID0gMTAwLjg2NzQ7IHJlc3VsdCAmJiB0IDwgMjAwOyB0ICs9IDAuMDE1KQorICAgICAg
ICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCh0KTsKK30KKworVEVTVF9GKFNjcm9s
bEFuaW1hdG9yTm9uZVRlc3QsIExpbnV4VHJhY2tQYWRUcmFjZVNtb290aGVkKQoreworICAgIFNj
cm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0ZXJzKHRydWUsIDExICoga1RpY2tU
aW1lLCA3ICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywgMyAqIGtU
aWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUpOwog
CiAgICAgYm9vbCByZXN1bHQgPSB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3Jv
bGxiYXIsIDEuMDAsIDYwLjAwLCAxMDAwLCAxMDAuNjg2MywgJnBhcmFtZXRlcnMpOwogICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxi
YXIsIDEuMDAsIDIwLjAwLCAxMDAwLCAxMDAuNjg5NywgJnBhcmFtZXRlcnMpOwpAQCAtNTQ5LDQg
KzY2Nyw0NSBAQCBURVNUX0YoU2Nyb2xsQW5pbWF0b3JOb25lVGVzdCwgTGludXhUcmFja1BhZFRy
YWNlKQogICAgICAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCh0KTsKIH0KIAor
VEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9sbERvd25Ub0J1bXBlcikKK3sKKyAg
ICBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCAxMCAqIGtU
aWNrVGltZSwgNyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMg
KiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1l
KTsKKworICAgIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMSwg
MjAsIDIwMCwga1N0YXJ0VGltZSwgJnBhcmFtZXRlcnMpOworICAgIGJvb2wgcmVzdWx0ID0gdHJ1
ZTsKKyAgICBkb3VibGUgdCA9IGtTdGFydFRpbWU7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCAx
MDsgKytpKSB7CisgICAgICAgIHQgKz0ga0FuaW1hdGlvblRpbWU7CisgICAgICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKHQpOworICAgICAgICB1cGRhdGVEYXRhRnJvbVBhcmFt
ZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEsIDIwLCAyMDAsIHQsICZwYXJhbWV0ZXJzKTsKKyAg
ICB9CisgICAgY2hlY2tEZXNpcmVkUG9zaXRpb24oMjAwKTsKKworICAgIHQgKz0ga0FuaW1hdGlv
blRpbWU7CisgICAgZm9yICg7IHJlc3VsdCAmJiB0IDwga0VuZFRpbWU7IHQgKz0ga0FuaW1hdGlv
blRpbWUpCisgICAgICAgIHJlc3VsdCA9IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKHQpOworICAg
IGNoZWNrU29mdExhbmRpbmcoMjAwKTsKK30KKworCitURVNUX0YoU2Nyb2xsQW5pbWF0b3JOb25l
VGVzdCwgU2Nyb2xsVXBUb0J1bXBlcikKK3sKKyAgICBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFt
ZXRlcnMgcGFyYW1ldGVycyh0cnVlLCAxMCAqIGtUaWNrVGltZSwgNyAqIGtUaWNrVGltZSwgU2Ny
b2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9y
Tm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lKTsKKworICAgIHVwZGF0ZURhdGFGcm9tUGFy
YW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMSwgLTIwLCAyMDAsIGtTdGFydFRpbWUsICZwYXJh
bWV0ZXJzKTsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgZG91YmxlIHQgPSBrU3RhcnRU
aW1lOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTA7ICsraSkgeworICAgICAgICB0ICs9IGtB
bmltYXRpb25UaW1lOworICAgICAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCh0
KTsKKyAgICAgICAgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAx
LCAtMjAsIDIwMCwgdCwgJnBhcmFtZXRlcnMpOworICAgIH0KKyAgICBjaGVja0Rlc2lyZWRQb3Np
dGlvbigwKTsKKworICAgIHQgKz0ga0FuaW1hdGlvblRpbWU7CisgICAgZm9yICg7IHJlc3VsdCAm
JiB0IDwga0VuZFRpbWU7IHQgKz0ga0FuaW1hdGlvblRpbWUpCisgICAgICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiBhbmltYXRlU2Nyb2xsKHQpOworICAgIGNoZWNrU29mdExhbmRpbmcoMCk7Cit9CisK
ICNlbmRpZiAvLyBFTkFCTEUoU01PT1RIX1NDUk9MTElORykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102374</attachid>
            <date>2011-07-29 10:50:24 -0700</date>
            <delta_ts>2011-07-29 12:12:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65154-20110729105023.patch</filename>
            <type>text/plain</type>
            <size>25504</size>
            <attacher name="Scott Byer">scottbyer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE5MzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4Mzg1ODkyNTRmYjBiYWFm
MDg5YTgzMzZhMjRhNDM1NzBkNDVjNzAwLi5kMjQxZWFlZWM0MTU2MDI5OGYzYTEwYjVmNzFlNWNk
ZDA3MDcyNTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDctMjUgIFNjb3R0
IEJ5ZXIgIDxzY290dGJ5ZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFNjcm9sbCBhbmltYXRp
b24gcmVmaW5lbWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02NTE1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEZpeCBzY3JvbGwgYW5pbWF0aW9uIGJ1Z3Mgd2hlbiBzY3JvbGxpbmcgdG8gdGhlIGVu
ZHMgb2YgYSBkb2N1bWVudC4gU21vb3RoIG92ZXIgc2xvdyBldmVudCByZXBlYXQgcmF0ZXMKKyAg
ICAgICAgYmV0dGVyLiBGaXggdGVzdHMgdG8gYWxsb3cgZm9yIHVuaXQgdGVzdGluZyBvZiBzY3Jv
bGxpbmcgdXAgYW5kIG5vdCBqdXN0IGRvd24uCisKKyAgICAgICAgQWRkaXRpb25hbCB1bml0IHRl
c3RzIGFkZGVkIHRvIFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6CisgICAgICAgIFNjcm9sbFF1YWRy
YXRpY1Ntb290aGVkLCBTY3JvbGxMb3RzUXVhZHJhdGljU21vb3RoZWQsIFNjcm9sbERvd25Ub0J1
bXBlciwgU2Nyb2xsVXBUb0J1bXBlcgorCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3JOb25lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1l
dGVyczo6UGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck5vbmU6
OlBlckF4aXNEYXRhOjp1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsQW5pbWF0b3JOb25lOjpzY3JvbGwpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yTm9uZS5oOgorCiAyMDExLTA3LTI4ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CiAKICAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvNjUyODk+IFJlbW92ZSBH
ZW9sb2NhdGlvblBvc2l0aW9uQ2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxBbmltYXRvck5vbmUuY3BwCmluZGV4IDM0YjdhOWI5YTk2YzBkMGM0MWQ2YWFhZjhhYTEwMGNj
ODA1Yjc5OGMuLmExMGNmMDExZmZhOTI0NmY0NzI2YWZhODM0MjdmYTk4NjczYzY0NTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcApAQCAtNDQs
NiArNDQsOCBAQAogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKK3VzaW5nIG5hbWVzcGFjZSBzdGQ7CisKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogc3RhdGljIGRvdWJsZSBrVGlja1RpbWUgPSAuMDE2NjsKQEAgLTYzLDkgKzY1LDEwIEBA
IFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVyczo6UGFyYW1ldGVycygpCiB7CiB9CiAKLVNj
cm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVyczo6UGFyYW1ldGVycyhib29sIGlzRW5hYmxlZCwg
ZG91YmxlIGFuaW1hdGlvblRpbWUsIEN1cnZlIGF0dGFja0N1cnZlLCBkb3VibGUgYXR0YWNrVGlt
ZSwgQ3VydmUgcmVsZWFzZUN1cnZlLCBkb3VibGUgcmVsZWFzZVRpbWUpCitTY3JvbGxBbmltYXRv
ck5vbmU6OlBhcmFtZXRlcnM6OlBhcmFtZXRlcnMoYm9vbCBpc0VuYWJsZWQsIGRvdWJsZSBhbmlt
YXRpb25UaW1lLCBkb3VibGUgcmVwZWF0TWluaW11bVN1c3RhaW5UaW1lLCBDdXJ2ZSBhdHRhY2tD
dXJ2ZSwgZG91YmxlIGF0dGFja1RpbWUsIEN1cnZlIHJlbGVhc2VDdXJ2ZSwgZG91YmxlIHJlbGVh
c2VUaW1lKQogICAgIDogbV9pc0VuYWJsZWQoaXNFbmFibGVkKQogICAgICwgbV9hbmltYXRpb25U
aW1lKGFuaW1hdGlvblRpbWUpCisgICAgLCBtX3JlcGVhdE1pbmltdW1TdXN0YWluVGltZShyZXBl
YXRNaW5pbXVtU3VzdGFpblRpbWUpCiAgICAgLCBtX2F0dGFja0N1cnZlKGF0dGFja0N1cnZlKQog
ICAgICwgbV9hdHRhY2tUaW1lKGF0dGFja1RpbWUpCiAgICAgLCBtX3JlbGVhc2VDdXJ2ZShyZWxl
YXNlQ3VydmUpCkBAIC0xNTksNyArMTYyLDggQEAgdm9pZCBTY3JvbGxBbmltYXRvck5vbmU6OlBl
ckF4aXNEYXRhOjpyZXNldCgpCiAKIGJvb2wgU2Nyb2xsQW5pbWF0b3JOb25lOjpQZXJBeGlzRGF0
YTo6dXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0
aW9uLCBmbG9hdCBzdGVwLCBmbG9hdCBtdWx0aXBsaWVyLCBmbG9hdCBzY3JvbGxhYmxlU2l6ZSwg
ZG91YmxlIGN1cnJlbnRUaW1lLCBQYXJhbWV0ZXJzKiBwYXJhbWV0ZXJzKQogewotICAgIG1fYW5p
bWF0aW9uVGltZSA9IHBhcmFtZXRlcnMtPm1fYW5pbWF0aW9uVGltZTsKKyAgICBpZiAocGFyYW1l
dGVycy0+bV9hbmltYXRpb25UaW1lID4gbV9hbmltYXRpb25UaW1lKQorICAgICAgICBtX2FuaW1h
dGlvblRpbWUgPSBwYXJhbWV0ZXJzLT5tX2FuaW1hdGlvblRpbWU7CiAgICAgbV9hdHRhY2tUaW1l
ID0gcGFyYW1ldGVycy0+bV9hdHRhY2tUaW1lOwogICAgIG1fcmVsZWFzZVRpbWUgPSBwYXJhbWV0
ZXJzLT5tX3JlbGVhc2VUaW1lOwogICAgIG1fYXR0YWNrQ3VydmUgPSBwYXJhbWV0ZXJzLT5tX2F0
dGFja0N1cnZlOwpAQCAtMTc0LDEyICsxNzgsMTIgQEAgYm9vbCBTY3JvbGxBbmltYXRvck5vbmU6
OlBlckF4aXNEYXRhOjp1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoU2Nyb2xsYmFyT3JpZW50YXQK
IAogICAgIG1fb3JpZW50YXRpb24gPSBvcmllbnRhdGlvbjsKIAotICAgIGlmICghbV9kZXNpcmVk
UG9zaXRpb24pCisgICAgaWYgKCFtX3N0YXJ0VGltZSkKICAgICAgICAgbV9kZXNpcmVkUG9zaXRp
b24gPSAqbV9jdXJyZW50UG9zaXRpb247CiAgICAgZmxvYXQgbmV3UG9zaXRpb24gPSBtX2Rlc2ly
ZWRQb3NpdGlvbiArIChzdGVwICogbXVsdGlwbGllcik7CiAKICAgICBpZiAobmV3UG9zaXRpb24g
PCAwIHx8IG5ld1Bvc2l0aW9uID4gc2Nyb2xsYWJsZVNpemUpCi0gICAgICAgIG5ld1Bvc2l0aW9u
ID0gc3RkOjptYXgoc3RkOjptaW4obmV3UG9zaXRpb24sIHNjcm9sbGFibGVTaXplKSwgMC4wZik7
CisgICAgICAgIG5ld1Bvc2l0aW9uID0gbWF4KG1pbihuZXdQb3NpdGlvbiwgc2Nyb2xsYWJsZVNp
emUpLCAwLjBmKTsKIAogICAgIGlmIChuZXdQb3NpdGlvbiA9PSBtX2Rlc2lyZWRQb3NpdGlvbikK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTk5LDE0ICsyMDMsMTYgQEAgYm9vbCBTY3JvbGxB
bmltYXRvck5vbmU6OlBlckF4aXNEYXRhOjp1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoU2Nyb2xs
YmFyT3JpZW50YXQKICAgICBkb3VibGUgYXR0YWNrQXJlYUxlZnQgPSAwOwogCiAgICAgZG91Ymxl
IGRlbHRhVGltZSA9IG1fbGFzdEFuaW1hdGlvblRpbWUgLSBtX3N0YXJ0VGltZTsKKyAgICBkb3Vi
bGUgYXR0YWNrVGltZUxlZnQgPSBtYXgoMC4sIG1fYXR0YWNrVGltZSAtIGRlbHRhVGltZSk7CiAg
ICAgZG91YmxlIHRpbWVMZWZ0ID0gbV9hbmltYXRpb25UaW1lIC0gZGVsdGFUaW1lOwotICAgIGlm
ICh0aW1lTGVmdCA8IG1fcmVsZWFzZVRpbWUpIHsKLSAgICAgICAgbV9hbmltYXRpb25UaW1lID0g
ZGVsdGFUaW1lICsgbV9yZWxlYXNlVGltZTsKLSAgICAgICAgdGltZUxlZnQgPSBtX3JlbGVhc2VU
aW1lOworICAgIGRvdWJsZSBtaW5UaW1lTGVmdCA9IG1fcmVsZWFzZVRpbWUgKyBtaW4ocGFyYW1l
dGVycy0+bV9yZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUsIG1fYW5pbWF0aW9uVGltZSAtIG1fcmVs
ZWFzZVRpbWUgLSBhdHRhY2tUaW1lTGVmdCk7CisgICAgaWYgKHRpbWVMZWZ0IDwgbWluVGltZUxl
ZnQpIHsKKyAgICAgICAgbV9hbmltYXRpb25UaW1lID0gZGVsdGFUaW1lICsgbWluVGltZUxlZnQ7
CisgICAgICAgIHRpbWVMZWZ0ID0gbWluVGltZUxlZnQ7CiAgICAgfQotICAgIGRvdWJsZSByZWxl
YXNlVGltZUxlZnQgPSBzdGQ6Om1pbih0aW1lTGVmdCwgbV9yZWxlYXNlVGltZSk7Ci0gICAgZG91
YmxlIGF0dGFja1RpbWVMZWZ0ID0gc3RkOjptYXgoMC4sIG1fYXR0YWNrVGltZSAtIGRlbHRhVGlt
ZSk7Ci0gICAgZG91YmxlIHN1c3RhaW5UaW1lTGVmdCA9IHN0ZDo6bWF4KDAuLCB0aW1lTGVmdCAt
IHJlbGVhc2VUaW1lTGVmdCAtIGF0dGFja1RpbWVMZWZ0KTsKKworICAgIGRvdWJsZSByZWxlYXNl
VGltZUxlZnQgPSBtaW4odGltZUxlZnQsIG1fcmVsZWFzZVRpbWUpOworICAgIGRvdWJsZSBzdXN0
YWluVGltZUxlZnQgPSBtYXgoMC4sIHRpbWVMZWZ0IC0gcmVsZWFzZVRpbWVMZWZ0IC0gYXR0YWNr
VGltZUxlZnQpOwogCiAgICAgaWYgKGF0dGFja1RpbWVMZWZ0KSB7CiAgICAgICAgIGRvdWJsZSBh
dHRhY2tTcG90ID0gZGVsdGFUaW1lIC8gbV9hdHRhY2tUaW1lOwpAQCAtMjg5LDEzICsyOTUsMTMg
QEAgYm9vbCBTY3JvbGxBbmltYXRvck5vbmU6OnNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiBv
cmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXIKICAgICBjYXNlIFNjcm9sbEJ5RG9jdW1lbnQ6CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2Nyb2xsQnlMaW5lOgotICAgICAgICBwYXJhbWV0ZXJz
ID0gUGFyYW1ldGVycyh0cnVlLCAxMCAqIGtUaWNrVGltZSwgUXVhZHJhdGljLCAzICoga1RpY2tU
aW1lLCBRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUpOworICAgICAgICBwYXJhbWV0ZXJzID0gUGFy
YW1ldGVycyh0cnVlLCAxMCAqIGtUaWNrVGltZSwgNyAqIGtUaWNrVGltZSwgUXVhZHJhdGljLCAz
ICoga1RpY2tUaW1lLCBRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUpOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFNjcm9sbEJ5UGFnZToKLSAgICAgICAgcGFyYW1ldGVycyA9IFBhcmFtZXRlcnMo
dHJ1ZSwgMTUgKiBrVGlja1RpbWUsIFF1YWRyYXRpYywgNSAqIGtUaWNrVGltZSwgUXVhZHJhdGlj
LCA1ICoga1RpY2tUaW1lKTsKKyAgICAgICAgcGFyYW1ldGVycyA9IFBhcmFtZXRlcnModHJ1ZSwg
MTUgKiBrVGlja1RpbWUsIDEwICoga1RpY2tUaW1lLCBRdWFkcmF0aWMsIDUgKiBrVGlja1RpbWUs
IFF1YWRyYXRpYywgNSAqIGtUaWNrVGltZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2Ny
b2xsQnlQaXhlbDoKLSAgICAgICAgcGFyYW1ldGVycyA9IFBhcmFtZXRlcnModHJ1ZSwgMTEgKiBr
VGlja1RpbWUsIFF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSwgUXVhZHJhdGljLCAzICoga1RpY2tU
aW1lKTsKKyAgICAgICAgcGFyYW1ldGVycyA9IFBhcmFtZXRlcnModHJ1ZSwgMTEgKiBrVGlja1Rp
bWUsIDIgKiBrVGlja1RpbWUsIFF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSwgUXVhZHJhdGljLCAz
ICoga1RpY2tUaW1lKTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJl
YWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5v
bmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oCmluZGV4
IDY3Njk5NjEyYmI0YjRmMzA1MTBiOTAwNmFhNWExYTUxNzQyNGVhMTUuLjNlN2RkMTA2YWRlMjA5
NGMwOGEzYmY3NzQ5Y2ZkNjI4NGQyZDFkYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbEFuaW1hdG9yTm9uZS5oCkBAIC01OSwxMyArNTksMTQgQEAgcHVibGljOgogCiAgICAg
c3RydWN0IFBhcmFtZXRlcnMgewogICAgICAgICBQYXJhbWV0ZXJzKCk7Ci0gICAgICAgIFBhcmFt
ZXRlcnMoYm9vbCwgZG91YmxlLCBDdXJ2ZSwgZG91YmxlLCBDdXJ2ZSwgZG91YmxlKTsKKyAgICAg
ICAgUGFyYW1ldGVycyhib29sIGlzRW5hYmxlZCwgZG91YmxlIGFuaW1hdGlvblRpbWUsIGRvdWJs
ZSByZXBlYXRNaW5pbXVtU3VzdGFpblRpbWUsIEN1cnZlIGF0dGFja0N1cnZlLCBkb3VibGUgYXR0
YWNrVGltZSwgQ3VydmUgcmVsZWFzZUN1cnZlLCBkb3VibGUgcmVsZWFzZVRpbWUpOwogCiAgICAg
ICAgIC8vIE5vdGUgdGhhdCB0aGUgdGltZXMgY2FuIGJlIG92ZXJzcGVjaWZpZWQgc3VjaCB0aGF0
IHJlbGVhc2VUaW1lIG9yIHJlbGVhc2VUaW1lIGFuZCBhdHRhY2tUaW1lIGFyZSBncmVhdGVyCiAg
ICAgICAgIC8vIHRoYW4gYW5pbWF0aW9uVGltZS4gYW5pbWF0aW9uVGltZSB0YWtlcyBwcmlvcml0
eSBvdmVyIHJlbGVhc2VUaW1lLCBjYXBwaW5nIGl0LiBhdHRhY2tUaW1lIGlzIGNhcHBlZCBhdAog
ICAgICAgICAvLyB3aGF0ZXZlciB0aW1lIHJlbWFpbnMsIG9yIHplcm8gaWYgbm9uZS4KICAgICAg
ICAgYm9vbCBtX2lzRW5hYmxlZDsKICAgICAgICAgZG91YmxlIG1fYW5pbWF0aW9uVGltZTsKKyAg
ICAgICAgZG91YmxlIG1fcmVwZWF0TWluaW11bVN1c3RhaW5UaW1lOwogCiAgICAgICAgIEN1cnZl
IG1fYXR0YWNrQ3VydmU7CiAgICAgICAgIGRvdWJsZSBtX2F0dGFja1RpbWU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCmluZGV4IGUxYmJlZTE5NTRkMTQ3ZmY2MGI3ODNmMTYyYTk1MDdkMjc0MGRh
MjYuLmNjZDA4YzRkMmQzZmZjZDYwMWFiZjU0NmExZDgzODc0YzY4ZjlhNzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDctMjUgIFNjb3R0IEJ5ZXIg
IDxzY290dGJ5ZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFNjcm9sbCBhbmltYXRpb24gcmVm
aW5lbWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02NTE1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEZpeCBzY3JvbGwgYW5pbWF0aW9uIGJ1Z3Mgd2hlbiBzY3JvbGxpbmcgdG8gdGhlIGVuZHMgb2Yg
YSBkb2N1bWVudC4gU21vb3RoIG92ZXIgc2xvdyBldmVudCByZXBlYXQgcmF0ZXMKKyAgICAgICAg
YmV0dGVyLiBGaXggdGVzdHMgdG8gYWxsb3cgZm9yIHVuaXQgdGVzdGluZyBvZiBzY3JvbGxpbmcg
dXAgYW5kIG5vdCBqdXN0IGRvd24uCisKKyAgICAgICAgQWRkaXRpb25hbCB1bml0IHRlc3RzIGFk
ZGVkIHRvIFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6CisgICAgICAgIFNjcm9sbFF1YWRyYXRpY1Nt
b290aGVkLCBTY3JvbGxMb3RzUXVhZHJhdGljU21vb3RoZWQsIFNjcm9sbERvd25Ub0J1bXBlciwg
U2Nyb2xsVXBUb0J1bXBlcgorICAgICAgICAKKyAgICAgICAgKiB0ZXN0cy9TY3JvbGxBbmltYXRv
ck5vbmVUZXN0LmNwcDoKKyAgICAgICAgKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6OnJlc2V0KToK
KyAgICAgICAgKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6OnVwZGF0ZURhdGFGcm9tUGFyYW1ldGVy
cyk6CisgICAgICAgIChTY3JvbGxBbmltYXRvck5vbmVUZXN0OjphbmltYXRlU2Nyb2xsKToKKyAg
ICAgICAgKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6OmNoZWNrRGVzaXJlZFBvc2l0aW9uKToKKyAg
ICAgICAgKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6OmNoZWNrU29mdExhbmRpbmcpOgorCiAyMDEx
LTA3LTI3ICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFk
ZGVkIGEgQ2hyb21pdW0gV2ViS2l0IEFQSSBtZXRob2QgdG8gc2V0IHRoZSBtaW5pbXVtIHJvdyBo
ZWlnaHQgb2YgYSBwb3B1cCBsaXN0Ym94LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9TY3JvbGxBbmltYXRvck5vbmVUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvU2Nyb2xsQW5pbWF0b3JOb25lVGVzdC5jcHAKaW5kZXggZjk5YTYwMWM0OGFk
NjVmMDQxZDc2ZjRlMjc2NDRlZWMwMDUyYjNjNC4uODNiM2I4OTI4YjZhN2MwNjdlOGYzY2I3NzFh
YTkwYTI0MGNlOWI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9T
Y3JvbGxBbmltYXRvck5vbmVUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL1Njcm9sbEFuaW1hdG9yTm9uZVRlc3QuY3BwCkBAIC0xNzYsMTIgKzE3NiwxNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBjdXJ2ZVRlc3RJbm5lcihTY3JvbGxBbmltYXRvck5vbmU6OkN1cnZlLCBk
b3VibGUgc3RlcCwgZG91YmxlIHRpbWUpOwogICAgIHZvaWQgY3VydmVUZXN0KFNjcm9sbEFuaW1h
dG9yTm9uZTo6Q3VydmUpOwogCisgICAgdm9pZCBjaGVja0Rlc2lyZWRQb3NpdGlvbihmbG9hdCBl
eHBlY3RlZFBvc2l0aW9uKTsKKyAgICB2b2lkIGNoZWNrU29mdExhbmRpbmcoZmxvYXQgZXhwZWN0
ZWRQb3NpdGlvbik7CisKICAgICBzdGF0aWMgZG91YmxlIGtUaWNrVGltZTsKICAgICBzdGF0aWMg
ZG91YmxlIGtBbmltYXRpb25UaW1lOwogICAgIHN0YXRpYyBkb3VibGUga1N0YXJ0VGltZTsKICAg
ICBzdGF0aWMgZG91YmxlIGtFbmRUaW1lOwogICAgIGZsb2F0IG1fY3VycmVudFBvc2l0aW9uOwog
ICAgIE1vY2tTY3JvbGxBbmltYXRvck5vbmUgbV9tb2NrU2Nyb2xsQW5pbWF0b3JOb25lOworICAg
IGJvb2wgbV9zY3JvbGxpbmdEb3duOwogICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGVyQXhpc0Rh
dGEqIG1fZGF0YTsKIH07CiAKQEAgLTE5MywxNSArMTk3LDIxIEBAIGRvdWJsZSBTY3JvbGxBbmlt
YXRvck5vbmVUZXN0OjprRW5kVGltZSA9IDIwLjA7CiB2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZVRl
c3Q6OnJlc2V0KCkKIHsKICAgICBtX2RhdGEtPnJlc2V0KCk7CisgICAgbV9zY3JvbGxpbmdEb3du
ID0gdHJ1ZTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRvck5vbmVUZXN0Ojp1cGRhdGVEYXRhRnJv
bVBhcmFtZXRlcnMoU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24sIGZsb2F0IHN0ZXAs
IGZsb2F0IG11bHRpcGxpZXIsIGZsb2F0IHNjcm9sbGFibGVTaXplLCBkb3VibGUgY3VycmVudFRp
bWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVycyogcGFyYW1ldGVycykKIHsKKyAgICBt
X3Njcm9sbGluZ0Rvd24gPSAoc3RlcCAqIG11bHRpcGxpZXIgPiAwKTsKKwogICAgIGRvdWJsZSBv
bGRWZWxvY2l0eSA9IG1fZGF0YS0+bV9jdXJyZW50VmVsb2NpdHk7CiAgICAgZG91YmxlIG9sZERl
c2lyZWRWZWxvY2l0eSA9IG1fZGF0YS0+bV9kZXNpcmVkVmVsb2NpdHk7CiAgICAgZG91YmxlIG9s
ZFRpbWVMZWZ0ID0gbV9kYXRhLT5tX2FuaW1hdGlvblRpbWUgLSAobV9kYXRhLT5tX2xhc3RBbmlt
YXRpb25UaW1lIC0gbV9kYXRhLT5tX3N0YXJ0VGltZSk7CiAgICAgYm9vbCByZXN1bHQgPSBtX2Rh
dGEtPnVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhvcmllbnRhdGlvbiwgc3RlcCwgbXVsdGlwbGll
ciwgc2Nyb2xsYWJsZVNpemUsIGN1cnJlbnRUaW1lLCBwYXJhbWV0ZXJzKTsKLSAgICBFWFBFQ1Rf
TEUob2xkVmVsb2NpdHksIG1fZGF0YS0+bV9jdXJyZW50VmVsb2NpdHkpOworICAgIGlmIChtX3Nj
cm9sbGluZ0Rvd24pCisgICAgICAgIEVYUEVDVF9MRShvbGRWZWxvY2l0eSwgbV9kYXRhLT5tX2N1
cnJlbnRWZWxvY2l0eSk7CisgICAgZWxzZQorICAgICAgICBFWFBFQ1RfR0Uob2xkVmVsb2NpdHks
IG1fZGF0YS0+bV9jdXJyZW50VmVsb2NpdHkpOwogCiAgICAgZG91YmxlIGRlbHRhVGltZSA9IG1f
ZGF0YS0+bV9sYXN0QW5pbWF0aW9uVGltZSAtIG1fZGF0YS0+bV9zdGFydFRpbWU7CiAgICAgZG91
YmxlIHRpbWVMZWZ0ID0gbV9kYXRhLT5tX2FuaW1hdGlvblRpbWUgLSBkZWx0YVRpbWU7CkBAIC0y
MTIsMTAgKzIyMiwxNyBAQCBib29sIFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6OnVwZGF0ZURhdGFG
cm9tUGFyYW1ldGVycyhTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbgogICAgIC8vIElmIHdlJ3Jl
IGdldHRpbmcgbmVhciB0aGUgZmluaXNoLCB0aGUgZGVzaXJlZCB2ZWxvY2l0eSBjYW4gZGVjcmVh
c2Ugc2luY2UgdGhlIHRpbWUgbGVmdCBnZXRzIGluY3JlYXNlZC4KICAgICBkb3VibGUgYWxsb3dl
ZFZlbG9jaXR5RGVjcmVhc2VGYWN0b3IgPSAwLjk5ICogb2xkVGltZUxlZnQgLyB0aW1lTGVmdDsK
ICAgICBhbGxvd2VkVmVsb2NpdHlEZWNyZWFzZUZhY3RvciAqPSBhbGxvd2VkVmVsb2NpdHlEZWNy
ZWFzZUZhY3RvcjsKLSAgICBFWFBFQ1RfTEUob2xkRGVzaXJlZFZlbG9jaXR5ICogYWxsb3dlZFZl
bG9jaXR5RGVjcmVhc2VGYWN0b3IsIG1fZGF0YS0+bV9kZXNpcmVkVmVsb2NpdHkpOwotCi0gICAg
ZG91YmxlIGV4cGVjdGVkUmVsZWFzZVBvc2l0aW9uID0gc3RkOjptYXg8ZG91YmxlPihtX2N1cnJl
bnRQb3NpdGlvbiwgbV9kYXRhLT5tX2F0dGFja1Bvc2l0aW9uKSArIHN1c3RhaW5UaW1lTGVmdCAq
IG1fZGF0YS0+bV9kZXNpcmVkVmVsb2NpdHk7Ci0gICAgRVhQRUNUX0RPVUJMRV9FUShleHBlY3Rl
ZFJlbGVhc2VQb3NpdGlvbiwgbV9kYXRhLT5tX3JlbGVhc2VQb3NpdGlvbik7CisgICAgaWYgKG1f
c2Nyb2xsaW5nRG93bikKKyAgICAgICAgRVhQRUNUX0xFKG9sZERlc2lyZWRWZWxvY2l0eSAqIGFs
bG93ZWRWZWxvY2l0eURlY3JlYXNlRmFjdG9yLCBtX2RhdGEtPm1fZGVzaXJlZFZlbG9jaXR5KTsK
KyAgICBlbHNlCisgICAgICAgIEVYUEVDVF9HRShvbGREZXNpcmVkVmVsb2NpdHkgKiBhbGxvd2Vk
VmVsb2NpdHlEZWNyZWFzZUZhY3RvciwgbV9kYXRhLT5tX2Rlc2lyZWRWZWxvY2l0eSk7CisKKyAg
ICBkb3VibGUgc3RhcnRQb3NpdGlvbiA9IG1fc2Nyb2xsaW5nRG93biA/IHN0ZDo6bWF4PGRvdWJs
ZT4obV9jdXJyZW50UG9zaXRpb24sIG1fZGF0YS0+bV9hdHRhY2tQb3NpdGlvbikgOiBzdGQ6Om1p
bjxkb3VibGU+KG1fY3VycmVudFBvc2l0aW9uLCBtX2RhdGEtPm1fYXR0YWNrUG9zaXRpb24pOwor
ICAgIGRvdWJsZSBleHBlY3RlZFJlbGVhc2VQb3NpdGlvbiA9IHN0YXJ0UG9zaXRpb24gKyBzdXN0
YWluVGltZUxlZnQgKiBtX2RhdGEtPm1fZGVzaXJlZFZlbG9jaXR5OworICAgIGlmIChyZXN1bHQp
CisgICAgICAgIEVYUEVDVF9ET1VCTEVfRVEoZXhwZWN0ZWRSZWxlYXNlUG9zaXRpb24sIG1fZGF0
YS0+bV9yZWxlYXNlUG9zaXRpb24pOworICAgIGVsc2UKKyAgICAgICAgRVhQRUNUX05FQVIoZXhw
ZWN0ZWRSZWxlYXNlUG9zaXRpb24sIG1fZGF0YS0+bV9yZWxlYXNlUG9zaXRpb24sIDEpOwogCiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTIzNCwxMSArMjUxLDE2IEBAIGJvb2wgU2Nyb2xsQW5p
bWF0b3JOb25lVGVzdDo6YW5pbWF0ZVNjcm9sbChkb3VibGUgY3VycmVudFRpbWUpCiAgICAgZG91
YmxlIHN1c3RhaW5UaW1lTGVmdCA9IHN0ZDo6bWF4KDAuLCB0aW1lTGVmdCAtIHJlbGVhc2VUaW1l
TGVmdCAtIGF0dGFja1RpbWVMZWZ0KTsKICAgICBkb3VibGUgZGlzdGFuY2VMZWZ0ID0gbV9kYXRh
LT5tX2Rlc2lyZWRQb3NpdGlvbiAtICptX2RhdGEtPm1fY3VycmVudFBvc2l0aW9uOwogCi0gICAg
RVhQRUNUX0xFKDAsIG1fZGF0YS0+bV9jdXJyZW50VmVsb2NpdHkpOwotICAgIEVYUEVDVF9MRShv
bGRQb3NpdGlvbiwgKm1fZGF0YS0+bV9jdXJyZW50UG9zaXRpb24pOwotICAgIEVYUEVDVF9HRSht
X2RhdGEtPm1fZGVzaXJlZFZlbG9jaXR5ICogMiwgbV9kYXRhLT5tX2N1cnJlbnRWZWxvY2l0eSk7
CisgICAgaWYgKG1fc2Nyb2xsaW5nRG93bikgeworICAgICAgICBFWFBFQ1RfTEUoMCwgbV9kYXRh
LT5tX2N1cnJlbnRWZWxvY2l0eSk7CisgICAgICAgIEVYUEVDVF9MRShvbGRQb3NpdGlvbiwgKm1f
ZGF0YS0+bV9jdXJyZW50UG9zaXRpb24pOworICAgIH0gZWxzZSB7CisgICAgICAgIEVYUEVDVF9H
RSgwLCBtX2RhdGEtPm1fY3VycmVudFZlbG9jaXR5KTsKKyAgICAgICAgRVhQRUNUX0dFKG9sZFBv
c2l0aW9uLCAqbV9kYXRhLT5tX2N1cnJlbnRQb3NpdGlvbik7CisgICAgfQorICAgIEVYUEVDVF9H
RShmYWJzKG1fZGF0YS0+bV9kZXNpcmVkVmVsb2NpdHkpICogMiwgZmFicyhtX2RhdGEtPm1fY3Vy
cmVudFZlbG9jaXR5KSk7CiAgICAgaWYgKHRlc3RFc3RpbWF0ZWRNYXhWZWxvY2l0eSkKLSAgICAg
ICAgRVhQRUNUX0dFKChkaXN0YW5jZUxlZnQgLyBzdXN0YWluVGltZUxlZnQpICogMS4yLCBtX2Rh
dGEtPm1fY3VycmVudFZlbG9jaXR5KTsKKyAgICAgICAgRVhQRUNUX0dFKGZhYnMoZGlzdGFuY2VM
ZWZ0IC8gc3VzdGFpblRpbWVMZWZ0KSAqIDEuMiwgZmFicyhtX2RhdGEtPm1fY3VycmVudFZlbG9j
aXR5KSk7CiAKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzYzLDYgKzM4NSwxNyBAQCB2b2lk
IFNjcm9sbEFuaW1hdG9yTm9uZVRlc3Q6OmN1cnZlVGVzdChTY3JvbGxBbmltYXRvck5vbmU6OkN1
cnZlIGN1cnZlKQogICAgIGN1cnZlVGVzdElubmVyKGN1cnZlLCAwLjI1LCA0MCk7CiB9CiAKK3Zv
aWQgU2Nyb2xsQW5pbWF0b3JOb25lVGVzdDo6Y2hlY2tEZXNpcmVkUG9zaXRpb24oZmxvYXQgZXhw
ZWN0ZWRQb3NpdGlvbikKK3sKKyAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRQb3NpdGlvbiwgbV9kYXRh
LT5tX2Rlc2lyZWRQb3NpdGlvbik7Cit9CisKK3ZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lVGVzdDo6
Y2hlY2tTb2Z0TGFuZGluZyhmbG9hdCBleHBlY3RlZFBvc2l0aW9uKQoreworICAgIEVYUEVDVF9F
UShleHBlY3RlZFBvc2l0aW9uLCBtX2N1cnJlbnRQb3NpdGlvbik7CisgICAgRVhQRUNUX0xFKG1f
ZGF0YS0+bV9kZXNpcmVkVmVsb2NpdHkgLyAyLCBtX2RhdGEtPm1fY3VycmVudFZlbG9jaXR5KTsK
K30KKwogVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIEN1cnZlTWF0aExpbmVhcikKIHsK
ICAgICBjdXJ2ZVRlc3QoU2Nyb2xsQW5pbWF0b3JOb25lOjpMaW5lYXIpOwpAQCAtMzg1LDcgKzQx
OCw3IEBAIFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBDdXJ2ZU1hdGhCb3VuY2UpCiAK
IFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxPbmNlTGluZWFyKQogewotICAg
IFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0ZXJzKHRydWUsIDcgKiBrVGlj
a1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6TGluZWFyLCAzICoga1RpY2tUaW1lLCBTY3JvbGxB
bmltYXRvck5vbmU6OkxpbmVhciwgMyAqIGtUaWNrVGltZSk7CisgICAgU2Nyb2xsQW5pbWF0b3JO
b25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgNyAqIGtUaWNrVGltZSwgMCwgU2Nyb2xs
QW5pbWF0b3JOb25lOjpMaW5lYXIsIDMgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6
TGluZWFyLCAzICoga1RpY2tUaW1lKTsKIAogICAgIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhW
ZXJ0aWNhbFNjcm9sbGJhciwgMSwgNDAsIDEwMDAsIGtTdGFydFRpbWUsICZwYXJhbWV0ZXJzKTsK
ICAgICBib29sIHJlc3VsdCA9IHRydWU7CkBAIC0zOTUsNyArNDI4LDcgQEAgVEVTVF9GKFNjcm9s
bEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9sbE9uY2VMaW5lYXIpCiAKIFRFU1RfRihTY3JvbGxBbmlt
YXRvck5vbmVUZXN0LCBTY3JvbGxPbmNlUXVhZHJhdGljKQogewotICAgIFNjcm9sbEFuaW1hdG9y
Tm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0ZXJzKHRydWUsIDcgKiBrVGlja1RpbWUsIFNjcm9sbEFu
aW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6
OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSk7CisgICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJh
bWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgNyAqIGtUaWNrVGltZSwgMCwgU2Nyb2xsQW5pbWF0b3JO
b25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJh
dGljLCAzICoga1RpY2tUaW1lKTsKIAogICAgIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0
aWNhbFNjcm9sbGJhciwgMSwgNDAsIDEwMDAsIGtTdGFydFRpbWUsICZwYXJhbWV0ZXJzKTsKICAg
ICBib29sIHJlc3VsdCA9IHRydWU7CkBAIC00MDUsNyArNDM4LDcgQEAgVEVTVF9GKFNjcm9sbEFu
aW1hdG9yTm9uZVRlc3QsIFNjcm9sbE9uY2VRdWFkcmF0aWMpCiAKIFRFU1RfRihTY3JvbGxBbmlt
YXRvck5vbmVUZXN0LCBTY3JvbGxMb25nUXVhZHJhdGljKQogewotICAgIFNjcm9sbEFuaW1hdG9y
Tm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0ZXJzKHRydWUsIDIwICoga1RpY2tUaW1lLCBTY3JvbGxB
bmltYXRvck5vbmU6OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25l
OjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUpOworICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFy
YW1ldGVycyBwYXJhbWV0ZXJzKHRydWUsIDIwICoga1RpY2tUaW1lLCAwLCBTY3JvbGxBbmltYXRv
ck5vbmU6OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFk
cmF0aWMsIDMgKiBrVGlja1RpbWUpOwogCiAgICAgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZl
cnRpY2FsU2Nyb2xsYmFyLCAxLCA0MCwgMTAwMCwga1N0YXJ0VGltZSwgJnBhcmFtZXRlcnMpOwog
ICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKQEAgLTQxNSw3ICs0NDgsMTcgQEAgVEVTVF9GKFNjcm9s
bEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9sbExvbmdRdWFkcmF0aWMpCiAKIFRFU1RfRihTY3JvbGxB
bmltYXRvck5vbmVUZXN0LCBTY3JvbGxRdWFkcmF0aWNOb1N1c3RhaW4pCiB7Ci0gICAgU2Nyb2xs
QW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgOCAqIGtUaWNrVGltZSwg
U2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDQgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1h
dG9yTm9uZTo6UXVhZHJhdGljLCA0ICoga1RpY2tUaW1lKTsKKyAgICBTY3JvbGxBbmltYXRvck5v
bmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCA4ICoga1RpY2tUaW1lLCAwLCBTY3JvbGxB
bmltYXRvck5vbmU6OlF1YWRyYXRpYywgNCAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25l
OjpRdWFkcmF0aWMsIDQgKiBrVGlja1RpbWUpOworCisgICAgdXBkYXRlRGF0YUZyb21QYXJhbWV0
ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLCA0MCwgMTAwMCwga1N0YXJ0VGltZSwgJnBhcmFtZXRl
cnMpOworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICBmb3IgKGRvdWJsZSB0ID0ga1N0YXJ0
VGltZTsgcmVzdWx0ICYmIHQgPCBrRW5kVGltZTsgdCArPSBrQW5pbWF0aW9uVGltZSkKKyAgICAg
ICAgcmVzdWx0ID0gYW5pbWF0ZVNjcm9sbCh0KTsKK30KKworVEVTVF9GKFNjcm9sbEFuaW1hdG9y
Tm9uZVRlc3QsIFNjcm9sbFF1YWRyYXRpY1Ntb290aGVkKQoreworICAgIFNjcm9sbEFuaW1hdG9y
Tm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0ZXJzKHRydWUsIDggKiBrVGlja1RpbWUsIDggKiBrVGlj
a1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCA0ICoga1RpY2tUaW1lLCBTY3Jv
bGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywgNCAqIGtUaWNrVGltZSk7CiAKICAgICB1cGRhdGVE
YXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEsIDQwLCAxMDAwLCBrU3RhcnRU
aW1lLCAmcGFyYW1ldGVycyk7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwpAQCAtNDI1LDcgKzQ2
OCw3IEBAIFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxRdWFkcmF0aWNOb1N1
c3RhaW4pCiAKIFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxPbmNlQ3ViaWMp
CiB7Ci0gICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwg
NyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpDdWJpYywgMyAqIGtUaWNrVGltZSwg
U2Nyb2xsQW5pbWF0b3JOb25lOjpDdWJpYywgMyAqIGtUaWNrVGltZSk7CisgICAgU2Nyb2xsQW5p
bWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgNyAqIGtUaWNrVGltZSwgMCwg
U2Nyb2xsQW5pbWF0b3JOb25lOjpDdWJpYywgMyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JO
b25lOjpDdWJpYywgMyAqIGtUaWNrVGltZSk7CiAKICAgICB1cGRhdGVEYXRhRnJvbVBhcmFtZXRl
cnMoVmVydGljYWxTY3JvbGxiYXIsIDEsIDQwLCAxMDAwLCBrU3RhcnRUaW1lLCAmcGFyYW1ldGVy
cyk7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVlOwpAQCAtNDM1LDcgKzQ3OCw3IEBAIFRFU1RfRihT
Y3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxPbmNlQ3ViaWMpCiAKIFRFU1RfRihTY3JvbGxB
bmltYXRvck5vbmVUZXN0LCBTY3JvbGxPbmNlU2hvcnQpCiB7Ci0gICAgU2Nyb2xsQW5pbWF0b3JO
b25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgNyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5p
bWF0b3JOb25lOjpDdWJpYywgMyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpDdWJp
YywgMyAqIGtUaWNrVGltZSk7CisgICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBh
cmFtZXRlcnModHJ1ZSwgNyAqIGtUaWNrVGltZSwgMCwgU2Nyb2xsQW5pbWF0b3JOb25lOjpDdWJp
YywgMyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpDdWJpYywgMyAqIGtUaWNrVGlt
ZSk7CiAKICAgICB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEs
IDQwLCAxMDAwLCBrU3RhcnRUaW1lLCAmcGFyYW1ldGVycyk7CiAgICAgYm9vbCByZXN1bHQgPSB0
cnVlOwpAQCAtNDQ1LDcgKzQ4OCw3IEBAIFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBT
Y3JvbGxPbmNlU2hvcnQpCiAKIFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxU
d2ljZVF1YWRyYXRpYykKIHsKLSAgICBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFy
YW1ldGVycyh0cnVlLCA3ICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRp
YywgMyAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlj
a1RpbWUpOworICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVycyBwYXJhbWV0ZXJzKHRy
dWUsIDcgKiBrVGlja1RpbWUsIDAsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICog
a1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSk7
CiAKICAgICB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEsIDQw
LCAxMDAwLCBrU3RhcnRUaW1lLCAmcGFyYW1ldGVycyk7CiAgICAgYm9vbCByZXN1bHQgPSB0cnVl
OwpAQCAtNDc2LDcgKzUxOSwyOCBAQCBURVNUX0YoU2Nyb2xsQW5pbWF0b3JOb25lVGVzdCwgU2Ny
b2xsVHdpY2VRdWFkcmF0aWMpCiAKIFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3Jv
bGxMb3RzUXVhZHJhdGljKQogewotICAgIFNjcm9sbEFuaW1hdG9yTm9uZTo6UGFyYW1ldGVycyBw
YXJhbWV0ZXJzKHRydWUsIDcgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJh
dGljLCAzICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywgMyAqIGtU
aWNrVGltZSk7CisgICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnMo
dHJ1ZSwgNyAqIGtUaWNrVGltZSwgMCwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMg
KiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1l
KTsKKworICAgIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMSwg
NDAsIDEwMDAsIGtTdGFydFRpbWUsICZwYXJhbWV0ZXJzKTsKKyAgICBib29sIHJlc3VsdCA9IHRy
dWU7CisgICAgZG91YmxlIHQ7CisgICAgZm9yICh0ID0ga1N0YXJ0VGltZTsgcmVzdWx0ICYmIHQg
PCBrU3RhcnRUaW1lICsgMS41ICoga1RpY2tUaW1lOyB0ICs9IGtBbmltYXRpb25UaW1lKQorICAg
ICAgICByZXN1bHQgPSBhbmltYXRlU2Nyb2xsKHQpOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkg
PCAyMDsgKytpKSB7CisgICAgICAgIHQgKz0ga0FuaW1hdGlvblRpbWU7CisgICAgICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKHQpOworICAgICAgICByZXN1bHQgPSByZXN1bHQg
JiYgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAzLCA0MCwgMTAw
MDAsIHQsICZwYXJhbWV0ZXJzKTsKKyAgICB9CisKKyAgICB0ICs9IGtBbmltYXRpb25UaW1lOwor
ICAgIGZvciAoOyByZXN1bHQgJiYgdCA8IGtFbmRUaW1lOyB0ICs9IGtBbmltYXRpb25UaW1lKQor
ICAgICAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCh0KTsKK30KKworVEVTVF9G
KFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9sbExvdHNRdWFkcmF0aWNTbW9vdGhlZCkKK3sK
KyAgICBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCAxMCAq
IGtUaWNrVGltZSwgNiAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMs
IDMgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tU
aW1lKTsKIAogICAgIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwg
MSwgNDAsIDEwMDAsIGtTdGFydFRpbWUsICZwYXJhbWV0ZXJzKTsKICAgICBib29sIHJlc3VsdCA9
IHRydWU7CkBAIC00OTcsNyArNTYxLDMxIEBAIFRFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0
LCBTY3JvbGxMb3RzUXVhZHJhdGljKQogCiBURVNUX0YoU2Nyb2xsQW5pbWF0b3JOb25lVGVzdCwg
U2Nyb2xsV2hlZWxUcmFjZSkKIHsKLSAgICBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMg
cGFyYW1ldGVycyh0cnVlLCAxMSAqIGtUaWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFk
cmF0aWMsIDMgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICog
a1RpY2tUaW1lKTsKKyAgICBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVy
cyh0cnVlLCAxMSAqIGtUaWNrVGltZSwgMCwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMs
IDMgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tU
aW1lKTsKKworICAgIC8vIENvbnN0cnVjdGVkIGZyb20gYW4gYWN0dWFsIHNjcm9sbCB3aGVlbCB0
cmFjZSB0aGF0IGV4aGliaXRlZCBhIGdsaXRjaC4KKyAgICBib29sIHJlc3VsdCA9IHVwZGF0ZURh
dGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMSwgNTMuMzMsIDEwMDAsIDEwMC41
NzgxLCAmcGFyYW1ldGVycyk7CisgICAgcmVzdWx0ID0gYW5pbWF0ZVNjcm9sbCgxMDAuNTkzMyk7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwoMTAwLjYwODUpOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxi
YXIsIDEsIDUzLjMzLCAxMDAwLCAxMDAuNjQ4NSwgJnBhcmFtZXRlcnMpOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKDEwMC42NTE1KTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgYW5pbWF0ZVNjcm9sbCgxMDAuNjg1Myk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHVwZGF0
ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMSwgNTMuMzMsIDEwMDAsIDEw
MC42ODYzLCAmcGFyYW1ldGVycyk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3Jv
bGwoMTAwLjcwMDUpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKDEwMC43
MTU3KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCgxMDAuNzMxMik7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNj
cm9sbGJhciwgMSwgNTMuMzMsIDEwMDAsIDEwMC43Mzc5LCAmcGFyYW1ldGVycyk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwoMTAwLjc0NjQpOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiBhbmltYXRlU2Nyb2xsKDEwMC43NjE3KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
YW5pbWF0ZVNjcm9sbCgxMDAuNzc3NSk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHVwZGF0ZURh
dGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMSwgNTMuMzMsIDEwMDAsIDEwMC43
Nzc5LCAmcGFyYW1ldGVycyk7CisgICAgZm9yIChkb3VibGUgdCA9IDEwMC43OTI4OyByZXN1bHQg
JiYgdCA8IDIwMDsgdCArPSAwLjAxNSkKKyAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1h
dGVTY3JvbGwodCk7Cit9CisKK1RFU1RfRihTY3JvbGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxX
aGVlbFRyYWNlU21vb3RoZWQpCit7CisgICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJz
IHBhcmFtZXRlcnModHJ1ZSwgMTEgKiBrVGlja1RpbWUsIDcgKiBrVGlja1RpbWUsIFNjcm9sbEFu
aW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6
OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSk7CiAKICAgICAvLyBDb25zdHJ1Y3RlZCBmcm9tIGFu
IGFjdHVhbCBzY3JvbGwgd2hlZWwgdHJhY2UgdGhhdCBleGhpYml0ZWQgYSBnbGl0Y2guCiAgICAg
Ym9vbCByZXN1bHQgPSB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIs
IDEsIDUzLjMzLCAxMDAwLCAxMDAuNTc4MSwgJnBhcmFtZXRlcnMpOwpAQCAtNTIxLDcgKzYwOSwz
NyBAQCBURVNUX0YoU2Nyb2xsQW5pbWF0b3JOb25lVGVzdCwgU2Nyb2xsV2hlZWxUcmFjZSkKIAog
VEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIExpbnV4VHJhY2tQYWRUcmFjZSkKIHsKLSAg
ICBTY3JvbGxBbmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCAxMSAqIGtU
aWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFNj
cm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lKTsKKyAgICBTY3JvbGxB
bmltYXRvck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCAxMSAqIGtUaWNrVGltZSwg
MCwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFNjcm9sbEFu
aW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lKTsKKworICAgIGJvb2wgcmVzdWx0
ID0gdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLjAwLCA2MC4w
MCwgMTAwMCwgMTAwLjY4NjMsICZwYXJhbWV0ZXJzKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
dXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLjAwLCAyMC4wMCwg
MTAwMCwgMTAwLjY4OTcsICZwYXJhbWV0ZXJzKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgdXBk
YXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLjAwLCAyMC4wMCwgMTAw
MCwgMTAwLjcwMDEsICZwYXJhbWV0ZXJzKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0
ZVNjcm9sbCgxMDAuNzAxNSk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwo
MTAwLjcxNjkpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB1cGRhdGVEYXRhRnJvbVBhcmFtZXRl
cnMoVmVydGljYWxTY3JvbGxiYXIsIDEuMDAsIDQwLjAwLCAxMDAwLCAxMDAuNzE3OSwgJnBhcmFt
ZXRlcnMpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKDEwMC43MzIyKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2Fs
U2Nyb2xsYmFyLCAxLjAwLCAyMC4wMCwgMTAwMCwgMTAwLjczMzIsICZwYXJhbWV0ZXJzKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCgxMDAuNzQ5MSk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwg
MS4wMCwgMjAuMDAsIDEwMDAsIDEwMC43NTE5LCAmcGFyYW1ldGVycyk7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwoMTAwLjc2NzYpOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEuMDAsIDIwLjAw
LCAxMDAwLCAxMDAuNzY5OCwgJnBhcmFtZXRlcnMpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB1
cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEuMDAsIDIwLjAwLCAx
MDAwLCAxMDAuNzgzMCwgJnBhcmFtZXRlcnMpOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiBhbmlt
YXRlU2Nyb2xsKDEwMC43ODM0KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9s
bCgxMDAuNzk5Nyk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHVwZGF0ZURhdGFGcm9tUGFyYW1l
dGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMS4wMCwgMjAuMDAsIDEwMDAsIDEwMC44MDE5LCAmcGFy
YW1ldGVycyk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwoMTAwLjgxNTQp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGlj
YWxTY3JvbGxiYXIsIDEuMDAsIDIwLjAwLCAxMDAwLCAxMDAuODI0MSwgJnBhcmFtZXRlcnMpOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiBhbmltYXRlU2Nyb2xsKDEwMC44MzM1KTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFy
LCAxLjAwLCAyMC4wMCwgMTAwMCwgMTAwLjg0NjUsICZwYXJhbWV0ZXJzKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCgxMDAuODUxMyk7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmIHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMS4wMCwgMjAu
MDAsIDEwMDAsIDEwMC44NjIzLCAmcGFyYW1ldGVycyk7CisgICAgZm9yIChkb3VibGUgdCA9IDEw
MC44Njc0OyByZXN1bHQgJiYgdCA8IDIwMDsgdCArPSAwLjAxNSkKKyAgICAgICAgcmVzdWx0ID0g
cmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwodCk7Cit9CisKK1RFU1RfRihTY3JvbGxBbmltYXRvck5v
bmVUZXN0LCBMaW51eFRyYWNrUGFkVHJhY2VTbW9vdGhlZCkKK3sKKyAgICBTY3JvbGxBbmltYXRv
ck5vbmU6OlBhcmFtZXRlcnMgcGFyYW1ldGVycyh0cnVlLCAxMSAqIGtUaWNrVGltZSwgNyAqIGtU
aWNrVGltZSwgU2Nyb2xsQW5pbWF0b3JOb25lOjpRdWFkcmF0aWMsIDMgKiBrVGlja1RpbWUsIFNj
cm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lKTsKIAogICAgIGJvb2wg
cmVzdWx0ID0gdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLjAw
LCA2MC4wMCwgMTAwMCwgMTAwLjY4NjMsICZwYXJhbWV0ZXJzKTsKICAgICByZXN1bHQgPSByZXN1
bHQgJiYgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRpY2FsU2Nyb2xsYmFyLCAxLjAwLCAy
MC4wMCwgMTAwMCwgMTAwLjY4OTcsICZwYXJhbWV0ZXJzKTsKQEAgLTU0OSw0ICs2NjcsNDUgQEAg
VEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIExpbnV4VHJhY2tQYWRUcmFjZSkKICAgICAg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwodCk7CiB9CiAKK1RFU1RfRihTY3Jv
bGxBbmltYXRvck5vbmVUZXN0LCBTY3JvbGxEb3duVG9CdW1wZXIpCit7CisgICAgU2Nyb2xsQW5p
bWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnModHJ1ZSwgMTAgKiBrVGlja1RpbWUsIDcg
KiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9yTm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1l
LCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRyYXRpYywgMyAqIGtUaWNrVGltZSk7CisKKyAgICB1
cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVydGljYWxTY3JvbGxiYXIsIDEsIDIwLCAyMDAsIGtT
dGFydFRpbWUsICZwYXJhbWV0ZXJzKTsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgZG91
YmxlIHQgPSBrU3RhcnRUaW1lOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTA7ICsraSkgewor
ICAgICAgICB0ICs9IGtBbmltYXRpb25UaW1lOworICAgICAgICByZXN1bHQgPSByZXN1bHQgJiYg
YW5pbWF0ZVNjcm9sbCh0KTsKKyAgICAgICAgdXBkYXRlRGF0YUZyb21QYXJhbWV0ZXJzKFZlcnRp
Y2FsU2Nyb2xsYmFyLCAxLCAyMCwgMjAwLCB0LCAmcGFyYW1ldGVycyk7CisgICAgfQorICAgIGNo
ZWNrRGVzaXJlZFBvc2l0aW9uKDIwMCk7CisKKyAgICB0ICs9IGtBbmltYXRpb25UaW1lOworICAg
IGZvciAoOyByZXN1bHQgJiYgdCA8IGtFbmRUaW1lOyB0ICs9IGtBbmltYXRpb25UaW1lKQorICAg
ICAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5pbWF0ZVNjcm9sbCh0KTsKKyAgICBjaGVja1NvZnRM
YW5kaW5nKDIwMCk7Cit9CisKKworVEVTVF9GKFNjcm9sbEFuaW1hdG9yTm9uZVRlc3QsIFNjcm9s
bFVwVG9CdW1wZXIpCit7CisgICAgU2Nyb2xsQW5pbWF0b3JOb25lOjpQYXJhbWV0ZXJzIHBhcmFt
ZXRlcnModHJ1ZSwgMTAgKiBrVGlja1RpbWUsIDcgKiBrVGlja1RpbWUsIFNjcm9sbEFuaW1hdG9y
Tm9uZTo6UXVhZHJhdGljLCAzICoga1RpY2tUaW1lLCBTY3JvbGxBbmltYXRvck5vbmU6OlF1YWRy
YXRpYywgMyAqIGtUaWNrVGltZSk7CisKKyAgICB1cGRhdGVEYXRhRnJvbVBhcmFtZXRlcnMoVmVy
dGljYWxTY3JvbGxiYXIsIDEsIC0yMCwgMjAwLCBrU3RhcnRUaW1lLCAmcGFyYW1ldGVycyk7Cisg
ICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIGRvdWJsZSB0ID0ga1N0YXJ0VGltZTsKKyAgICBm
b3IgKGludCBpID0gMDsgaSA8IDEwOyArK2kpIHsKKyAgICAgICAgdCArPSBrQW5pbWF0aW9uVGlt
ZTsKKyAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIGFuaW1hdGVTY3JvbGwodCk7CisgICAgICAg
IHVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhWZXJ0aWNhbFNjcm9sbGJhciwgMSwgLTIwLCAyMDAs
IHQsICZwYXJhbWV0ZXJzKTsKKyAgICB9CisgICAgY2hlY2tEZXNpcmVkUG9zaXRpb24oMCk7CisK
KyAgICB0ICs9IGtBbmltYXRpb25UaW1lOworICAgIGZvciAoOyByZXN1bHQgJiYgdCA8IGtFbmRU
aW1lOyB0ICs9IGtBbmltYXRpb25UaW1lKQorICAgICAgICByZXN1bHQgPSByZXN1bHQgJiYgYW5p
bWF0ZVNjcm9sbCh0KTsKKyAgICBjaGVja1NvZnRMYW5kaW5nKDApOworfQorCiAjZW5kaWYgLy8g
RU5BQkxFKFNNT09USF9TQ1JPTExJTkcpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>