<?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>74805</bug_id>
          
          <creation_ts>2011-12-17 23:43:34 -0800</creation_ts>
          <short_desc>Move timestamp down from PlatformEvent subclasses to the base class</short_desc>
          <delta_ts>2011-12-18 11:45:48 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>523411</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-12-17 23:43:34 -0800</bug_when>
    <thetext>Move timestamp down from PlatformEvent subclasses to the base class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523412</commentid>
    <comment_count>1</comment_count>
      <attachid>119753</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-12-17 23:45:05 -0800</bug_when>
    <thetext>Created attachment 119753
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523413</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-17 23:47:15 -0800</bug_when>
    <thetext>Attachment 119753 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/win/PlatformMouseEventWin.cpp:89:  Extra space before last semicolon. If this should be an empty statement, use { } instead.  [whitespace/semicolon] [5]
Source/WebCore/platform/wx/MouseEventWx.cpp:29:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 22 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523414</commentid>
    <comment_count>3</comment_count>
      <attachid>119754</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-12-17 23:49:58 -0800</bug_when>
    <thetext>Created attachment 119754
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523415</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-17 23:52:45 -0800</bug_when>
    <thetext>Attachment 119754 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/wx/MouseEventWx.cpp:29:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 22 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523497</commentid>
    <comment_count>5</comment_count>
      <attachid>119770</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-12-18 11:36:03 -0800</bug_when>
    <thetext>Created attachment 119770
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523498</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-18 11:38:11 -0800</bug_when>
    <thetext>Attachment 119770 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/wx/MouseEventWx.cpp:29:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebCore/platform/wx/MouseEventWx.cpp:32:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 23 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523504</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-12-18 11:45:48 -0800</bug_when>
    <thetext>Committed r103181: &lt;http://trac.webkit.org/changeset/103181&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119753</attachid>
            <date>2011-12-17 23:45:05 -0800</date>
            <delta_ts>2011-12-17 23:49:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74805-20111217234452.patch</filename>
            <type>text/plain</type>
            <size>32846</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU5IEBACisyMDExLTEyLTE3ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSB0aW1lc3RhbXAgZG93biBmcm9t
IFBsYXRmb3JtRXZlbnQgc3ViY2xhc3NlcyB0byB0aGUgYmFzZSBjbGFzcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtRXZl
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtRXZlbnQ6OnR5cGUpOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1FdmVudDo6dGltZXN0YW1wKToKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtRXZlbnQ6OlBsYXRmb3JtRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3Jt
R2VzdHVyZUV2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudDo6
UGxhdGZvcm1HZXN0dXJlRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtTW91c2VF
dmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1v
dXNlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpjbGlja0Nv
dW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoRXZlbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXRmb3JtVG91Y2hFdmVudDo6UGxhdGZvcm1Ub3VjaEV2ZW50KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9lZmwvUGxhdGZvcm1LZXlib2FyZEV2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9lZmwvUGxhdGZvcm1Nb3VzZUV2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBsYXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9lZmwvUGxhdGZvcm1Ub3VjaEV2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtVG91Y2hFdmVudDo6UGxhdGZvcm1Ub3VjaEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9lZmwvUGxhdGZvcm1XaGVlbEV2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvUGxhdGZvcm1LZXlib2FyZEV2ZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvUGxhdGZvcm1XaGVlbEV2ZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvS2V5RXZlbnRNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUtleWJvYXJk
RXZlbnQ6OlBsYXRmb3JtS2V5Ym9hcmRFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bs
YXRmb3JtTW91c2VFdmVudE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTW91c2VF
dmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2hlZWxF
dmVudE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZv
cm1XaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9QbGF0Zm9ybUtleWJvYXJkRXZl
bnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OlBsYXRm
b3JtS2V5Ym9hcmRFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vcXQvV2hlZWxFdmVudFF0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2
ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vS2V5RXZlbnRXaW4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6c2luZ2xlQ2hhcmFjdGVyU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KToKKyAgICAgICAgKiBwbGF0
Zm9ybS93aW4vUGxhdGZvcm1Nb3VzZUV2ZW50V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vV2hlZWxFdmVudFdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVs
RXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vd3gvS2V5Ym9h
cmRFdmVudFd4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6
UGxhdGZvcm1LZXlib2FyZEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS93eC9Nb3VzZUV2ZW50
V3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1v
dXNlRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL3d4L01vdXNlV2hlZWxFdmVudFd4LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50
KToKKwogMjAxMS0xMi0xNyAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZWZhY3RvciBpbnB1dCB0eXBlIGNvbG9yIFdlYkNvcmUgcGFydApJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1FdmVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtRXZlbnQuaAkocmV2aXNpb24gMTAzMTY4KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1FdmVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC02NSwxMSArNjUsNiBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB9OwogCi0gICAgVHlwZSB0eXBl
KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4obV90eXBlKTsgfQotCi0KLSAgICAv
LyBFdmVudCBNb2RpZmllcnMKLQogICAgIGVudW0gTW9kaWZpZXJLZXkgewogICAgICAgICBBbHRL
ZXkgPSAxIDw8IDAsCiAgICAgICAgIEN0cmxLZXkgPSAxIDw8IDEsCkBAIC03Nyw2ICs3Miw4IEBA
IHB1YmxpYzoKICAgICAgICAgU2hpZnRLZXkgPSAxIDw8IDMKICAgICB9OwogCisgICAgVHlwZSB0
eXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4obV90eXBlKTsgfQorCiAgICAg
Ym9vbCBzaGlmdEtleSgpIGNvbnN0IHsgcmV0dXJuIG1fc2hpZnRLZXk7IH0KICAgICBib29sIGN0
cmxLZXkoKSBjb25zdCB7IHJldHVybiBtX2N0cmxLZXk7IH0KICAgICBib29sIGFsdEtleSgpIGNv
bnN0IHsgcmV0dXJuIG1fYWx0S2V5OyB9CkBAIC05MCwzMSArODcsMzYgQEAgcHVibGljOgogICAg
ICAgICAgICAgfCAoc2hpZnRLZXkoKSA/IFNoaWZ0S2V5IDogMCk7CiAgICAgfQogCisgICAgZG91
YmxlIHRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXN0YW1wOyB9CisKIHByb3RlY3Rl
ZDoKICAgICBQbGF0Zm9ybUV2ZW50KCkKLSAgICAgICAgOiBtX3NoaWZ0S2V5KGZhbHNlKQorICAg
ICAgICA6IG1fdHlwZShOb1R5cGUpCisgICAgICAgICwgbV9zaGlmdEtleShmYWxzZSkKICAgICAg
ICAgLCBtX2N0cmxLZXkoZmFsc2UpCiAgICAgICAgICwgbV9hbHRLZXkoZmFsc2UpCiAgICAgICAg
ICwgbV9tZXRhS2V5KGZhbHNlKQotICAgICAgICAsIG1fdHlwZShOb1R5cGUpCisgICAgICAgICwg
bV90aW1lc3RhbXAoMCkKICAgICB7CiAgICAgfQogCiAgICAgUGxhdGZvcm1FdmVudChUeXBlIHR5
cGUpCi0gICAgICAgIDogbV9zaGlmdEtleShmYWxzZSkKKyAgICAgICAgOiBtX3R5cGUodHlwZSkK
KyAgICAgICAgLCBtX3NoaWZ0S2V5KGZhbHNlKQogICAgICAgICAsIG1fY3RybEtleShmYWxzZSkK
ICAgICAgICAgLCBtX2FsdEtleShmYWxzZSkKICAgICAgICAgLCBtX21ldGFLZXkoZmFsc2UpCi0g
ICAgICAgICwgbV90eXBlKHR5cGUpCisgICAgICAgICwgbV90aW1lc3RhbXAoMCkKICAgICB7CiAg
ICAgfQogCi0gICAgUGxhdGZvcm1FdmVudChUeXBlIHR5cGUsIGJvb2wgc2hpZnRLZXksIGJvb2wg
Y3RybEtleSwgYm9vbCBhbHRLZXksIGJvb2wgbWV0YUtleSkKLSAgICAgICAgOiBtX3NoaWZ0S2V5
KHNoaWZ0S2V5KQorICAgIFBsYXRmb3JtRXZlbnQoVHlwZSB0eXBlLCBib29sIHNoaWZ0S2V5LCBi
b29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIG1ldGFLZXksIGRvdWJsZSB0aW1lc3RhbXAp
CisgICAgICAgIDogbV90eXBlKHR5cGUpCisgICAgICAgICwgbV9zaGlmdEtleShzaGlmdEtleSkK
ICAgICAgICAgLCBtX2N0cmxLZXkoY3RybEtleSkKICAgICAgICAgLCBtX2FsdEtleShhbHRLZXkp
CiAgICAgICAgICwgbV9tZXRhS2V5KG1ldGFLZXkpCi0gICAgICAgICwgbV90eXBlKHR5cGUpCisg
ICAgICAgICwgbV90aW1lc3RhbXAodGltZXN0YW1wKQogICAgIHsKICAgICB9CiAKQEAgLTEyNCwx
MSArMTI2LDEyIEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgfQogCisgICAgdW5zaWduZWQgbV90
eXBlOwogICAgIGJvb2wgbV9zaGlmdEtleTsKICAgICBib29sIG1fY3RybEtleTsKICAgICBib29s
IG1fYWx0S2V5OwogICAgIGJvb2wgbV9tZXRhS2V5OwotICAgIHVuc2lnbmVkIG1fdHlwZTsKKyAg
ICBkb3VibGUgbV90aW1lc3RhbXA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUdlc3R1cmVFdmVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVyZUV2ZW50LmgJKHJl
dmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVy
ZUV2ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDE3ICszNywxNSBAQCBjbGFzcyBQbGF0Zm9y
bUdlc3R1cmVFdmVudCA6IHB1YmxpYyBQbGF0CiBwdWJsaWM6CiAgICAgUGxhdGZvcm1HZXN0dXJl
RXZlbnQoKQogICAgICAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6R2VzdHVyZVNj
cm9sbEJlZ2luKQotICAgICAgICAsIG1fdGltZXN0YW1wKDApCiAgICAgICAgICwgbV9kZWx0YVgo
MCkKICAgICAgICAgLCBtX2RlbHRhWSgwKQogICAgIHsKICAgICB9CiAKICAgICBQbGF0Zm9ybUdl
c3R1cmVFdmVudChUeXBlIHR5cGUsIGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgSW50
UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBkb3VibGUgdGltZXN0YW1wLCBmbG9hdCBkZWx0YVgsIGZs
b2F0IGRlbHRhWSwgYm9vbCBzaGlmdEtleSwgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwgYm9v
bCBtZXRhS2V5KQotICAgICAgICA6IFBsYXRmb3JtRXZlbnQodHlwZSwgc2hpZnRLZXksIGN0cmxL
ZXksIGFsdEtleSwgbWV0YUtleSkKKyAgICAgICAgOiBQbGF0Zm9ybUV2ZW50KHR5cGUsIHNoaWZ0
S2V5LCBjdHJsS2V5LCBhbHRLZXksIG1ldGFLZXksIHRpbWVzdGFtcCkKICAgICAgICAgLCBtX3Bv
c2l0aW9uKHBvc2l0aW9uKQogICAgICAgICAsIG1fZ2xvYmFsUG9zaXRpb24oZ2xvYmFsUG9zaXRp
b24pCi0gICAgICAgICwgbV90aW1lc3RhbXAodGltZXN0YW1wKQogICAgICAgICAsIG1fZGVsdGFY
KGRlbHRhWCkKICAgICAgICAgLCBtX2RlbHRhWShkZWx0YVkpCiAgICAgewpAQCAtNTYsOCArNTQs
NiBAQCBwdWJsaWM6CiAgICAgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uKCkgY29uc3QgeyByZXR1
cm4gbV9wb3NpdGlvbjsgfSAvLyBQbGF0Zm9ybVdpbmRvdyBjb29yZGluYXRlcy4KICAgICBjb25z
dCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbFBvc2l0
aW9uOyB9IC8vIFNjcmVlbiBjb29yZGluYXRlcy4KIAotICAgIGRvdWJsZSB0aW1lc3RhbXAoKSBj
b25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQotCiAgICAgZmxvYXQgZGVsdGFYKCkgY29uc3Qg
eyByZXR1cm4gbV9kZWx0YVg7IH0KICAgICBmbG9hdCBkZWx0YVkoKSBjb25zdCB7IHJldHVybiBt
X2RlbHRhWTsgfQogICAgIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1N
b3VzZUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZv
cm1Nb3VzZUV2ZW50LmgJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1BsYXRmb3JtTW91c2VFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw3ICs2OSw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9y
bUV2ZW50OjpNb3VzZU1vdmVkKQogICAgICAgICAgICAgLCBtX2J1dHRvbihOb0J1dHRvbikKICAg
ICAgICAgICAgICwgbV9jbGlja0NvdW50KDApCi0gICAgICAgICAgICAsIG1fdGltZXN0YW1wKDAp
CiAgICAgICAgICAgICAsIG1fbW9kaWZpZXJGbGFncygwKQogI2lmIFBMQVRGT1JNKE1BQykKICAg
ICAgICAgICAgICwgbV9ldmVudE51bWJlcigwKQpAQCAtODEsMTIgKzgwLDExIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgICAgICBQbGF0Zm9ybU1vdXNlRXZlbnQoY29uc3QgSW50UG9pbnQm
IHBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE1vdXNlQnV0dG9uIGJ1
dHRvbiwgUGxhdGZvcm1FdmVudDo6VHlwZSB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGNsaWNrQ291bnQsIGJvb2wgc2hpZnRLZXksIGJvb2wgY3RybEtleSwgYm9vbCBhbHRL
ZXksIGJvb2wgbWV0YUtleSwgZG91YmxlIHRpbWVzdGFtcCkKLSAgICAgICAgICAgIDogUGxhdGZv
cm1FdmVudCh0eXBlLCBzaGlmdEtleSwgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5KQorICAgICAg
ICAgICAgOiBQbGF0Zm9ybUV2ZW50KHR5cGUsIHNoaWZ0S2V5LCBjdHJsS2V5LCBhbHRLZXksIG1l
dGFLZXksIHRpbWVzdGFtcCkKICAgICAgICAgICAgICwgbV9wb3NpdGlvbihwb3NpdGlvbikKICAg
ICAgICAgICAgICwgbV9nbG9iYWxQb3NpdGlvbihnbG9iYWxQb3NpdGlvbikKICAgICAgICAgICAg
ICwgbV9idXR0b24oYnV0dG9uKQogICAgICAgICAgICAgLCBtX2NsaWNrQ291bnQoY2xpY2tDb3Vu
dCkKLSAgICAgICAgICAgICwgbV90aW1lc3RhbXAodGltZXN0YW1wKQogICAgICAgICAgICAgLCBt
X21vZGlmaWVyRmxhZ3MoMCkKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAgICAgICAsIG1fZXZl
bnROdW1iZXIoMCkKQEAgLTEwNSwxNiArMTAzLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgaW50IG1vdmVtZW50WCgpIGNvbnN0IHsgcmV0dXJuIG1fbW92ZW1lbnREZWx0YS54KCk7
IH0KICAgICAgICAgaW50IG1vdmVtZW50WSgpIGNvbnN0IHsgcmV0dXJuIG1fbW92ZW1lbnREZWx0
YS55KCk7IH0KICNlbmRpZgorCiAgICAgICAgIE1vdXNlQnV0dG9uIGJ1dHRvbigpIGNvbnN0IHsg
cmV0dXJuIG1fYnV0dG9uOyB9CiAgICAgICAgIGludCBjbGlja0NvdW50KCkgY29uc3QgeyByZXR1
cm4gbV9jbGlja0NvdW50OyB9Ci0gICAgICAgIGJvb2wgc2hpZnRLZXkoKSBjb25zdCB7IHJldHVy
biBtX3NoaWZ0S2V5OyB9Ci0gICAgICAgIGJvb2wgY3RybEtleSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y3RybEtleTsgfQotICAgICAgICBib29sIGFsdEtleSgpIGNvbnN0IHsgcmV0dXJuIG1fYWx0S2V5
OyB9Ci0gICAgICAgIGJvb2wgbWV0YUtleSgpIGNvbnN0IHsgcmV0dXJuIG1fbWV0YUtleTsgfQog
ICAgICAgICB1bnNpZ25lZCBtb2RpZmllckZsYWdzKCkgY29uc3QgeyByZXR1cm4gbV9tb2RpZmll
ckZsYWdzOyB9CiAgICAgICAgIAotICAgICAgICAvLyBUaW1lIGluIHNlY29uZHMuCi0gICAgICAg
IGRvdWJsZSB0aW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQogCiAjaWYg
UExBVEZPUk0oR1RLKSAKICAgICAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50KEdka0V2ZW50QnV0dG9u
Kik7CkBAIC0xNjIsNyArMTU1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAgICAg
ICAgIE1vdXNlQnV0dG9uIG1fYnV0dG9uOwogICAgICAgICBpbnQgbV9jbGlja0NvdW50OwotICAg
ICAgICBkb3VibGUgbV90aW1lc3RhbXA7IC8vIHVuaXQ6IHNlY29uZHMKICAgICAgICAgdW5zaWdu
ZWQgbV9tb2RpZmllckZsYWdzOwogCiAjaWYgUExBVEZPUk0oTUFDKQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaEV2ZW50LmgJKHJldmlzaW9uIDEwMzE2OCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC00Myw3ICs0Myw2IEBAIGNsYXNzIFBsYXRmb3JtVG91Y2hFdmVudCA6IHB1Ymxp
YyBQbGF0Zm8KIHB1YmxpYzoKICAgICBQbGF0Zm9ybVRvdWNoRXZlbnQoKQogICAgICAgICA6IFBs
YXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6VG91Y2hTdGFydCkKLSAgICAgICAgLCBtX3RpbWVz
dGFtcCgwKQogICAgIHsKICAgICB9CiAKQEAgLTU1LDEyICs1NCw4IEBAIHB1YmxpYzoKIAogICAg
IGNvbnN0IFZlY3RvcjxQbGF0Zm9ybVRvdWNoUG9pbnQ+JiB0b3VjaFBvaW50cygpIGNvbnN0IHsg
cmV0dXJuIG1fdG91Y2hQb2ludHM7IH0KIAotICAgIC8vIFRpbWUgaW4gc2Vjb25kcy4KLSAgICBk
b3VibGUgdGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lc3RhbXA7IH0KLQogcHJvdGVj
dGVkOgogICAgIFZlY3RvcjxQbGF0Zm9ybVRvdWNoUG9pbnQ+IG1fdG91Y2hQb2ludHM7Ci0gICAg
ZG91YmxlIG1fdGltZXN0YW1wOwogfTsKIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC05
OSwxMyArOTksMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgLCBtX2hhc1By
ZWNpc2VTY3JvbGxpbmdEZWx0YXMoZmFsc2UpCiAgICAgICAgICAgICAsIG1fcGhhc2UoUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2VOb25lKQogICAgICAgICAgICAgLCBtX21vbWVudHVtUGhhc2UoUGxh
dGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lKQotICAgICAgICAgICAgLCBtX3RpbWVzdGFtcCgwKQog
I2VuZGlmCiAgICAgICAgIHsKICAgICAgICAgfQogCiAgICAgICAgIFBsYXRmb3JtV2hlZWxFdmVu
dChJbnRQb2ludCBwb3NpdGlvbiwgSW50UG9pbnQgZ2xvYmFsUG9zaXRpb24sIGZsb2F0IGRlbHRh
WCwgZmxvYXQgZGVsdGFZLCBmbG9hdCB3aGVlbFRpY2tzWCwgZmxvYXQgd2hlZWxUaWNrc1ksIFBs
YXRmb3JtV2hlZWxFdmVudEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBib29sIHNoaWZ0S2V5LCBi
b29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIG1ldGFLZXkpCi0gICAgICAgICAgICA6IFBs
YXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6V2hlZWwsIHNoaWZ0S2V5LCBjdHJsS2V5LCBhbHRL
ZXksIG1ldGFLZXkpCisgICAgICAgICAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6
V2hlZWwsIHNoaWZ0S2V5LCBjdHJsS2V5LCBhbHRLZXksIG1ldGFLZXksIDApCiAgICAgICAgICAg
ICAsIG1fcG9zaXRpb24ocG9zaXRpb24pCiAgICAgICAgICAgICAsIG1fZ2xvYmFsUG9zaXRpb24o
Z2xvYmFsUG9zaXRpb24pCiAgICAgICAgICAgICAsIG1fZGVsdGFYKGRlbHRhWCkKQEAgLTExOCw3
ICsxMTcsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAsIG1faGFzUHJlY2lz
ZVNjcm9sbGluZ0RlbHRhcyhmYWxzZSkKICAgICAgICAgICAgICwgbV9waGFzZShQbGF0Zm9ybVdo
ZWVsRXZlbnRQaGFzZU5vbmUpCiAgICAgICAgICAgICAsIG1fbW9tZW50dW1QaGFzZShQbGF0Zm9y
bVdoZWVsRXZlbnRQaGFzZU5vbmUpCi0gICAgICAgICAgICAsIG1fdGltZXN0YW1wKDApCiAjZW5k
aWYKICAgICAgICAgewogICAgICAgICB9CkBAIC0yMDMsNyArMjAxLDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBib29sIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhczsKICAgICAg
ICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgbV9waGFzZTsKICAgICAgICAgUGxhdGZvcm1XaGVl
bEV2ZW50UGhhc2UgbV9tb21lbnR1bVBoYXNlOwotICAgICAgICBkb3VibGUgbV90aW1lc3RhbXA7
CiAjZW5kaWYKICAgICB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxh
dGZvcm1LZXlib2FyZEV2ZW50RWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9lZmwvUGxhdGZvcm1LZXlib2FyZEV2ZW50RWZsLmNwcAkocmV2aXNpb24gMTAzMTY4
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtS2V5Ym9hcmRFdmVudEVm
bC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDExICszNiwxMiBAQAogI2luY2x1ZGUgIlRleHRF
bmNvZGluZy5oIgogI2luY2x1ZGUgPEV2YXMuaD4KICNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1
ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBsYXRmb3Jt
S2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KGNvbnN0IEV2YXNfRXZlbnRfS2V5
X0Rvd24qIGV2ZW50KQotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpLZXlEb3du
LCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIlNoaWZ0IiksIGV2
YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFz
X2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9t
b2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIk1ldGEiKSkKKyAgICA6IFBsYXRmb3Jt
RXZlbnQoUGxhdGZvcm1FdmVudDo6S2V5RG93biwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2
ZW50LT5tb2RpZmllcnMsICJTaGlmdCIpLCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQt
Pm1vZGlmaWVycywgIkNvbnRyb2wiKSwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5t
b2RpZmllcnMsICJBbHQiKSwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmll
cnMsICJNZXRhIiksIGN1cnJlbnRUaW1lKCkpCiAgICAgLCBtX3RleHQoU3RyaW5nOjpmcm9tVVRG
OChldmVudC0+c3RyaW5nKSkKICAgICAsIG1fdW5tb2RpZmllZFRleHQoU3RyaW5nOjpmcm9tVVRG
OChldmVudC0+c3RyaW5nKSkKIHsKQEAgLTU0LDcgKzU1LDcgQEAgUGxhdGZvcm1LZXlib2FyZEV2
ZW50OjpQbGF0Zm9ybUtleWJvYXJkRQogfQogCiBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OlBsYXRm
b3JtS2V5Ym9hcmRFdmVudChjb25zdCBFdmFzX0V2ZW50X0tleV9VcCogZXZlbnQpCi0gICAgOiBQ
bGF0Zm9ybUV2ZW50KFBsYXRmb3JtRXZlbnQ6OktleVVwLCBldmFzX2tleV9tb2RpZmllcl9pc19z
ZXQoZXZlbnQtPm1vZGlmaWVycywgIlNoaWZ0IiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChl
dmVudC0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZl
bnQtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1v
ZGlmaWVycywgIk1ldGEiKSkKKyAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6S2V5
VXAsIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiU2hpZnQiKSwg
ZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJDb250cm9sIiksIGV2
YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQWx0IiksIGV2YXNfa2V5
X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiTWV0YSIpLCBjdXJyZW50VGltZSgp
KQogICAgICwgbV90ZXh0KFN0cmluZzo6ZnJvbVVURjgoZXZlbnQtPnN0cmluZykpCiB7CiAgICAg
U3RyaW5nIGtleU5hbWUgPSBTdHJpbmcoZXZlbnQtPmtleSk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9lZmwvUGxhdGZvcm1Nb3VzZUV2ZW50RWZsLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxhdGZvcm1Nb3VzZUV2ZW50RWZsLmNwcAkocmV2
aXNpb24gMTAzMTY4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtTW91
c2VFdmVudEVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDMyICs0OCwyOSBAQCB2b2lkIFBs
YXRmb3JtTW91c2VFdmVudDo6c2V0Q2xpY2tDb3VudCh1CiB9CiAKIFBsYXRmb3JtTW91c2VFdmVu
dDo6UGxhdGZvcm1Nb3VzZUV2ZW50KGNvbnN0IEV2YXNfRXZlbnRfTW91c2VfRG93biogZXZlbnQs
IEludFBvaW50IHBvc2l0aW9uKQotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpN
b3VzZVByZXNzZWQsIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAi
U2hpZnQiKSwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJDb250
cm9sIiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQWx0Iiks
IGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiTWV0YSIpKQorICAg
IDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpNb3VzZVByZXNzZWQsIGV2YXNfa2V5X21v
ZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiU2hpZnQiKSwgZXZhc19rZXlfbW9kaWZp
ZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJDb250cm9sIiksIGV2YXNfa2V5X21vZGlmaWVy
X2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQWx0IiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3Nl
dChldmVudC0+bW9kaWZpZXJzLCAiTWV0YSIpLCBjdXJyZW50VGltZSgpKQogICAgICwgbV9wb3Np
dGlvbihJbnRQb2ludChldmVudC0+Y2FudmFzLnggLSBwb3NpdGlvbi54KCksIGV2ZW50LT5jYW52
YXMueSAtIHBvc2l0aW9uLnkoKSkpCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9uKEludFBvaW50KGV2
ZW50LT5jYW52YXMueCwgZXZlbnQtPmNhbnZhcy55KSkKICAgICAsIG1fYnV0dG9uKE1vdXNlQnV0
dG9uKGV2ZW50LT5idXR0b24gLSAxKSkKLSAgICAsIG1fdGltZXN0YW1wKGN1cnJlbnRUaW1lKCkp
CiB7CiAgICAgc2V0Q2xpY2tDb3VudChldmVudC0+ZmxhZ3MpOwogfQogCiBQbGF0Zm9ybU1vdXNl
RXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudChjb25zdCBFdmFzX0V2ZW50X01vdXNlX1VwKiBldmVu
dCwgSW50UG9pbnQgcG9zaXRpb24pCi0gICAgOiBQbGF0Zm9ybUV2ZW50KFBsYXRmb3JtRXZlbnQ6
Ok1vdXNlUmVsZWFzZWQsIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJz
LCAiU2hpZnQiKSwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJD
b250cm9sIiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQWx0
IiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiTWV0YSIpKQor
ICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpNb3VzZVJlbGVhc2VkLCBldmFzX2tl
eV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIlNoaWZ0IiksIGV2YXNfa2V5X21v
ZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFzX2tleV9tb2Rp
Zmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9tb2RpZmllcl9p
c19zZXQoZXZlbnQtPm1vZGlmaWVycywgIk1ldGEiKSwgY3VycmVudFRpbWUoKSkKICAgICAsIG1f
cG9zaXRpb24oSW50UG9pbnQoZXZlbnQtPmNhbnZhcy54IC0gcG9zaXRpb24ueCgpLCBldmVudC0+
Y2FudmFzLnkgLSBwb3NpdGlvbi55KCkpKQogICAgICwgbV9nbG9iYWxQb3NpdGlvbihJbnRQb2lu
dChldmVudC0+Y2FudmFzLngsIGV2ZW50LT5jYW52YXMueSkpCiAgICAgLCBtX2J1dHRvbihNb3Vz
ZUJ1dHRvbihldmVudC0+YnV0dG9uIC0gMSkpCi0gICAgLCBtX3RpbWVzdGFtcChjdXJyZW50VGlt
ZSgpKQogewogICAgIHNldENsaWNrQ291bnQoZXZlbnQtPmZsYWdzKTsKIH0KIAogUGxhdGZvcm1N
b3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoY29uc3QgRXZhc19FdmVudF9Nb3VzZV9Nb3Zl
KiBldmVudCwgSW50UG9pbnQgcG9zaXRpb24pCi0gICAgOiBQbGF0Zm9ybUV2ZW50KFBsYXRmb3Jt
RXZlbnQ6Ok1vdXNlTW92ZWQsIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZp
ZXJzLCAiU2hpZnQiKSwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMs
ICJDb250cm9sIiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAi
QWx0IiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiTWV0YSIp
KQorICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpNb3VzZU1vdmVkLCBldmFzX2tl
eV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIlNoaWZ0IiksIGV2YXNfa2V5X21v
ZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFzX2tleV9tb2Rp
Zmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9tb2RpZmllcl9p
c19zZXQoZXZlbnQtPm1vZGlmaWVycywgIk1ldGEiKSwgY3VycmVudFRpbWUoKSkKICAgICAsIG1f
cG9zaXRpb24oSW50UG9pbnQoZXZlbnQtPmN1ci5jYW52YXMueCAtIHBvc2l0aW9uLngoKSwgZXZl
bnQtPmN1ci5jYW52YXMueSAtIHBvc2l0aW9uLnkoKSkpCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9u
KEludFBvaW50KGV2ZW50LT5jdXIuY2FudmFzLngsIGV2ZW50LT5jdXIuY2FudmFzLnkpKQogICAg
ICwgbV9idXR0b24oTW91c2VCdXR0b24oZXZlbnQtPmJ1dHRvbnMgLSAxKSkKICAgICAsIG1fY2xp
Y2tDb3VudCgwKQotICAgICwgbV90aW1lc3RhbXAoY3VycmVudFRpbWUoKSkKIHsKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hFdmVudEVmbC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hF
dmVudEVmbC5jcHAJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2VmbC9QbGF0Zm9ybVRvdWNoRXZlbnRFZmwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMyAr
MjksMTQgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVRvdWNoRXZlbnQuaCIKIAogI2luY2x1ZGUgImV3
a19mcmFtZS5oIgorI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiAjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBQbGF0Zm9ybVRvdWNoRXZlbnQ6
OlBsYXRmb3JtVG91Y2hFdmVudChFaW5hX0xpc3QqIHBvaW50cywgY29uc3QgSW50UG9pbnQgcG9z
LCBQbGF0Zm9ybUV2ZW50OjpUeXBlIHR5cGUsIGludCBtZXRhU3RhdGUpCi0gICAgOiBQbGF0Zm9y
bUV2ZW50KHR5cGUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKQorICAgIDogUGxhdGZvcm1F
dmVudCh0eXBlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgY3VycmVudFRpbWUoKSkKIHsK
ICAgICB2b2lkKiBpdGVtOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxh
dGZvcm1XaGVlbEV2ZW50RWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9lZmwvUGxhdGZvcm1XaGVlbEV2ZW50RWZsLmNwcAkocmV2aXNpb24gMTAzMTY4KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtV2hlZWxFdmVudEVmbC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJTY3JvbGxiYXIuaCIKIAog
I2luY2x1ZGUgPEV2YXMuaD4KKyNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00Myw3ICs0NCw3IEBAIGVudW0gewogfTsKIAogUGxhdGZvcm1X
aGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQoY29uc3QgRXZhc19FdmVudF9Nb3VzZV9XaGVl
bCogZXYpCi0gICAgOiBQbGF0Zm9ybUV2ZW50KFBsYXRmb3JtRXZlbnQ6OldoZWVsLCBldmFzX2tl
eV9tb2RpZmllcl9pc19zZXQoZXYtPm1vZGlmaWVycywgIlNoaWZ0IiksIGV2YXNfa2V5X21vZGlm
aWVyX2lzX3NldChldi0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFzX2tleV9tb2RpZmllcl9p
c19zZXQoZXYtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXYt
Pm1vZGlmaWVycywgIk1ldGEiKSkKKyAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6
V2hlZWwsIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldi0+bW9kaWZpZXJzLCAiU2hpZnQiKSwg
ZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2LT5tb2RpZmllcnMsICJDb250cm9sIiksIGV2YXNf
a2V5X21vZGlmaWVyX2lzX3NldChldi0+bW9kaWZpZXJzLCAiQWx0IiksIGV2YXNfa2V5X21vZGlm
aWVyX2lzX3NldChldi0+bW9kaWZpZXJzLCAiTWV0YSIpLCBjdXJyZW50VGltZSgpKQogICAgICwg
bV9wb3NpdGlvbihJbnRQb2ludChldi0+Y2FudmFzLngsIGV2LT5jYW52YXMueSkpCiAgICAgLCBt
X2dsb2JhbFBvc2l0aW9uKEludFBvaW50KGV2LT5jYW52YXMueCwgZXYtPmNhbnZhcy55KSkKICAg
ICAsIG1fZ3JhbnVsYXJpdHkoU2Nyb2xsQnlQaXhlbFdoZWVsRXZlbnQpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGxhdGZvcm1LZXlib2FyZEV2ZW50R3RrLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGxhdGZvcm1LZXlib2FyZEV2ZW50
R3RrLmNwcAkocmV2aXNpb24gMTAzMTY4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Rr
L1BsYXRmb3JtS2V5Ym9hcmRFdmVudEd0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3
LDcgQEAKIAogI2luY2x1ZGUgPGdkay9nZGsuaD4KICNpbmNsdWRlIDxnZGsvZ2Rra2V5c3ltcy5o
PgorI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTU0Nyw3ICs1NDgsNyBAQCBTdHJpbmcgUGxhdGZvcm1LZXlib2FyZEV2ZW50OjpzaW5nbGVD
aGFyCiAvLyBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIHRoZSBvdGhlciBwbGF0Zm9ybSBldmVudCBj
b25zdHJ1Y3RvcnMKIC8vIFRPRE86IG1fZ2RrRXZlbnRLZXkgc2hvdWxkIGJlIHJlZmNvdW50ZWQK
IFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KEdka0V2ZW50S2V5
KiBldmVudCkKLSAgICA6IFBsYXRmb3JtRXZlbnQoKGV2ZW50LT50eXBlID09IEdES19LRVlfUkVM
RUFTRSkgPyBQbGF0Zm9ybUV2ZW50OjpLZXlVcCA6IFBsYXRmb3JtRXZlbnQ6OktleURvd24sIChl
dmVudC0+c3RhdGUgJiBHREtfU0hJRlRfTUFTSykgfHwgKGV2ZW50LT5rZXl2YWwgPT0gR0RLXzMy
NzBfQmFja1RhYiksIGV2ZW50LT5zdGF0ZSAmIEdES19DT05UUk9MX01BU0ssIGV2ZW50LT5zdGF0
ZSAmIEdES19NT0QxX01BU0ssIGV2ZW50LT5zdGF0ZSAmIEdES19NRVRBX01BU0spCisgICAgOiBQ
bGF0Zm9ybUV2ZW50KChldmVudC0+dHlwZSA9PSBHREtfS0VZX1JFTEVBU0UpID8gUGxhdGZvcm1F
dmVudDo6S2V5VXAgOiBQbGF0Zm9ybUV2ZW50OjpLZXlEb3duLCAoZXZlbnQtPnN0YXRlICYgR0RL
X1NISUZUX01BU0spIHx8IChldmVudC0+a2V5dmFsID09IEdES18zMjcwX0JhY2tUYWIpLCBldmVu
dC0+c3RhdGUgJiBHREtfQ09OVFJPTF9NQVNLLCBldmVudC0+c3RhdGUgJiBHREtfTU9EMV9NQVNL
LCBldmVudC0+c3RhdGUgJiBHREtfTUVUQV9NQVNLLCBjdXJyZW50VGltZSgpKQogICAgICwgbV90
ZXh0KHNpbmdsZUNoYXJhY3RlclN0cmluZyhldmVudC0+a2V5dmFsKSkKICAgICAsIG1fdW5tb2Rp
ZmllZFRleHQoc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGV2ZW50LT5rZXl2YWwpKQogICAgICwgbV9r
ZXlJZGVudGlmaWVyKGtleUlkZW50aWZpZXJGb3JHZGtLZXlDb2RlKGV2ZW50LT5rZXl2YWwpKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1BsYXRmb3JtV2hlZWxFdmVudEd0ay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1BsYXRmb3JtV2hl
ZWxFdmVudEd0ay5jcHAJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2d0ay9QbGF0Zm9ybVdoZWVsRXZlbnRHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2
ICszMCw3IEBACiAjaW5jbHVkZSAiU2Nyb2xsYmFyLmgiCiAKICNpbmNsdWRlIDxnZGsvZ2RrLmg+
CisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzksNiArNDAsNyBAQCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChH
CiAgICAgc3RhdGljIGNvbnN0IGZsb2F0IGRlbHRhID0gMTsKIAogICAgIG1fdHlwZSA9IFBsYXRm
b3JtRXZlbnQ6OldoZWVsOworICAgIG1fdGltZXN0YW1wID0gY3VycmVudFRpbWUoKTsKIAogICAg
IG1fZGVsdGFYID0gMDsKICAgICBtX2RlbHRhWSA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvS2V5RXZlbnRNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL0tleUV2ZW50TWFjLm1tCShyZXZpc2lvbiAxMDMxNjgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvS2V5RXZlbnRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE4
OSw3ICsxODksNyBAQCBzdGF0aWMgaW50IHdpbmRvd3NLZXlDb2RlRm9yS2V5RXZlbnQoTlNFCiB9
CiAKIFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KE5TRXZlbnQg
KmV2ZW50KQotICAgIDogUGxhdGZvcm1FdmVudChpc0tleVVwRXZlbnQoZXZlbnQpID8gUGxhdGZv
cm1FdmVudDo6S2V5VXAgOiBQbGF0Zm9ybUV2ZW50OjpLZXlEb3duLCBbZXZlbnQgbW9kaWZpZXJG
bGFnc10gJiBOU1NoaWZ0S2V5TWFzaywgW2V2ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNDb250cm9s
S2V5TWFzaywgW2V2ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNBbHRlcm5hdGVLZXlNYXNrLCBbZXZl
bnQgbW9kaWZpZXJGbGFnc10gJiBOU0NvbW1hbmRLZXlNYXNrKQorICAgIDogUGxhdGZvcm1FdmVu
dChpc0tleVVwRXZlbnQoZXZlbnQpID8gUGxhdGZvcm1FdmVudDo6S2V5VXAgOiBQbGF0Zm9ybUV2
ZW50OjpLZXlEb3duLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU1NoaWZ0S2V5TWFzaywgW2V2
ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNDb250cm9sS2V5TWFzaywgW2V2ZW50IG1vZGlmaWVyRmxh
Z3NdICYgTlNBbHRlcm5hdGVLZXlNYXNrLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU0NvbW1h
bmRLZXlNYXNrLCBbZXZlbnQgdGltZXN0YW1wXSkKICAgICAsIG1fdGV4dCh0ZXh0RnJvbUV2ZW50
KGV2ZW50KSkKICAgICAsIG1fdW5tb2RpZmllZFRleHQodW5tb2RpZmllZFRleHRGcm9tRXZlbnQo
ZXZlbnQpKQogICAgICwgbV9rZXlJZGVudGlmaWVyKGtleUlkZW50aWZpZXJGb3JLZXlFdmVudChl
dmVudCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1Nb3VzZUV2
ZW50TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0
Zm9ybU1vdXNlRXZlbnRNYWMubW0JKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9QbGF0Zm9ybU1vdXNlRXZlbnRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAg
LTE0MywxMiArMTQzLDExIEBAIHN0YXRpYyBQbGF0Zm9ybUV2ZW50OjpUeXBlIG1vdXNlRXZlbnRG
b3IKIH0KIAogUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoTlNFdmVudCog
ZXZlbnQsIE5TVmlldyAqd2luZG93VmlldykKLSAgICA6IFBsYXRmb3JtRXZlbnQobW91c2VFdmVu
dEZvck5TRXZlbnQoZXZlbnQpLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU1NoaWZ0S2V5TWFz
aywgW2V2ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNDb250cm9sS2V5TWFzaywgW2V2ZW50IG1vZGlm
aWVyRmxhZ3NdICYgTlNBbHRlcm5hdGVLZXlNYXNrLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBO
U0NvbW1hbmRLZXlNYXNrKQorICAgIDogUGxhdGZvcm1FdmVudChtb3VzZUV2ZW50Rm9yTlNFdmVu
dChldmVudCksIFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5TU2hpZnRLZXlNYXNrLCBbZXZlbnQg
bW9kaWZpZXJGbGFnc10gJiBOU0NvbnRyb2xLZXlNYXNrLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10g
JiBOU0FsdGVybmF0ZUtleU1hc2ssIFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5TQ29tbWFuZEtl
eU1hc2ssIFtldmVudCB0aW1lc3RhbXBdKQogICAgICwgbV9wb3NpdGlvbihwb2ludEZvckV2ZW50
KGV2ZW50LCB3aW5kb3dWaWV3KSkKICAgICAsIG1fZ2xvYmFsUG9zaXRpb24oZ2xvYmFsUG9pbnRG
b3JFdmVudChldmVudCkpCiAgICAgLCBtX2J1dHRvbihtb3VzZUJ1dHRvbkZvckV2ZW50KGV2ZW50
KSkKICAgICAsIG1fY2xpY2tDb3VudChjbGlja0NvdW50Rm9yRXZlbnQoZXZlbnQpKQotICAgICwg
bV90aW1lc3RhbXAoW2V2ZW50IHRpbWVzdGFtcF0pCiAgICAgLCBtX21vZGlmaWVyRmxhZ3MoW2V2
ZW50IG1vZGlmaWVyRmxhZ3NdKQogICAgICwgbV9ldmVudE51bWJlcihbZXZlbnQgZXZlbnROdW1i
ZXJdKQogewpAQCAtMTU3LDEyICsxNTYsMTEgQEAgUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9y
bU1vdXNlRXZlbnQoTgogUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoaW50
IHgsIGludCB5LCBpbnQgZ2xvYmFsWCwgaW50IGdsb2JhbFksIE1vdXNlQnV0dG9uIGJ1dHRvbiwg
UGxhdGZvcm1FdmVudDo6VHlwZSB0eXBlLAogICAgICAgICAgICAgICAgICAgIGludCBjbGlja0Nv
dW50LCBib29sIHNoaWZ0S2V5LCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIG1ldGFL
ZXksIGRvdWJsZSB0aW1lc3RhbXAsCiAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbW9kaWZp
ZXJGbGFncywgaW50IGV2ZW50TnVtYmVyKQotICAgIDogUGxhdGZvcm1FdmVudCh0eXBlLCBzaGlm
dEtleSwgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5KQorICAgIDogUGxhdGZvcm1FdmVudCh0eXBl
LCBzaGlmdEtleSwgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5LCB0aW1lc3RhbXApCiAgICAgLCBt
X3Bvc2l0aW9uKEludFBvaW50KHgsIHkpKQogICAgICwgbV9nbG9iYWxQb3NpdGlvbihJbnRQb2lu
dChnbG9iYWxYLCBnbG9iYWxZKSkKICAgICAsIG1fYnV0dG9uKGJ1dHRvbikKICAgICAsIG1fY2xp
Y2tDb3VudChjbGlja0NvdW50KQotICAgICwgbV90aW1lc3RhbXAodGltZXN0YW1wKQogICAgICwg
bV9tb2RpZmllckZsYWdzKG1vZGlmaWVyRmxhZ3MpCiAgICAgLCBtX2V2ZW50TnVtYmVyKGV2ZW50
TnVtYmVyKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1doZWVsRXZlbnRN
YWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1doZWVsRXZl
bnRNYWMubW0JKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9XaGVlbEV2ZW50TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05MCwxMyArOTAsMTIgQEAgc3Rh
dGljIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIHBoYXNlRm9yRQogfQogCiBQbGF0Zm9ybVdoZWVs
RXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChOU0V2ZW50KiBldmVudCwgTlNWaWV3ICp3aW5kb3dW
aWV3KQotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpXaGVlbCwgW2V2ZW50IG1v
ZGlmaWVyRmxhZ3NdICYgTlNTaGlmdEtleU1hc2ssIFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5T
Q29udHJvbEtleU1hc2ssIFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5TQWx0ZXJuYXRlS2V5TWFz
aywgW2V2ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNDb21tYW5kS2V5TWFzaykKKyAgICA6IFBsYXRm
b3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6V2hlZWwsIFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5T
U2hpZnRLZXlNYXNrLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU0NvbnRyb2xLZXlNYXNrLCBb
ZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU0FsdGVybmF0ZUtleU1hc2ssIFtldmVudCBtb2RpZmll
ckZsYWdzXSAmIE5TQ29tbWFuZEtleU1hc2ssIFtldmVudCB0aW1lc3RhbXBdKQogICAgICwgbV9w
b3NpdGlvbihwb2ludEZvckV2ZW50KGV2ZW50LCB3aW5kb3dWaWV3KSkKICAgICAsIG1fZ2xvYmFs
UG9zaXRpb24oZ2xvYmFsUG9pbnRGb3JFdmVudChldmVudCkpCiAgICAgLCBtX2dyYW51bGFyaXR5
KFNjcm9sbEJ5UGl4ZWxXaGVlbEV2ZW50KQogICAgICwgbV9waGFzZShwaGFzZUZvckV2ZW50KGV2
ZW50KSkKICAgICAsIG1fbW9tZW50dW1QaGFzZShtb21lbnR1bVBoYXNlRm9yRXZlbnQoZXZlbnQp
KQotICAgICwgbV90aW1lc3RhbXAoW2V2ZW50IHRpbWVzdGFtcF0pCiB7CiAgICAgQk9PTCBjb250
aW51b3VzOwogICAgIHdrR2V0V2hlZWxFdmVudERlbHRhcyhldmVudCwgJm1fZGVsdGFYLCAmbV9k
ZWx0YVksICZjb250aW51b3VzKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1Bs
YXRmb3JtS2V5Ym9hcmRFdmVudFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9QbGF0Zm9ybUtleWJvYXJkRXZlbnRRdC5jcHAJKHJldmlzaW9uIDEwMzE2OCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtS2V5Ym9hcmRFdmVudFF0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5jbHVkZSA8UUtleUV2ZW50
PgogI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjA5LDYgKzYxMCw3IEBAIFBsYXRmb3JtS2V5Ym9hcmRF
dmVudDo6UGxhdGZvcm1LZXlib2FyZEUKICAgICBtX25hdGl2ZVZpcnR1YWxLZXlDb2RlID0gZXZl
bnQtPm5hdGl2ZVZpcnR1YWxLZXkoKTsKICAgICBtX3NoaWZ0S2V5ID0gKHN0YXRlICYgUXQ6OlNo
aWZ0TW9kaWZpZXIpIHx8IGV2ZW50LT5rZXkoKSA9PSBRdDo6S2V5X0JhY2t0YWI7IC8vIFNpbXVs
YXRlIFNoaWZ0K1RhYiB3aXRoIEtleV9CYWNrdGFiCiAgICAgbV9xdEV2ZW50ID0gZXZlbnQ7Cisg
ICAgbV90aW1lc3RhbXAgPSBXVEY6OmN1cnJlbnRUaW1lKCk7CiB9CiAKIHZvaWQgUGxhdGZvcm1L
ZXlib2FyZEV2ZW50OjpkaXNhbWJpZ3VhdGVLZXlEb3duRXZlbnQoVHlwZSB0eXBlLCBib29sKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvV2hlZWxFdmVudFF0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaGVlbEV2ZW50UXQuY3BwCShyZXZp
c2lvbiAxMDMxNjgpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaGVlbEV2ZW50UXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8UUdyYXBoaWNz
U2NlbmVXaGVlbEV2ZW50PgogI2luY2x1ZGUgPFFXaGVlbEV2ZW50PgogI2luY2x1ZGUgPHFhcHBs
aWNhdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTU5LDcgKzYwLDcgQEAgdm9pZCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OmFwcGx5
RGVsdGEoaW50IAogCiBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChRR3Jh
cGhpY3NTY2VuZVdoZWVsRXZlbnQqIGUpCiAjaWZuZGVmIFFUX05PX1dIRUVMRVZFTlQKLSAgICA6
IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6V2hlZWwsIGUtPm1vZGlmaWVycygpICYgUXQ6
OlNoaWZ0TW9kaWZpZXIsIGUtPm1vZGlmaWVycygpICYgUXQ6OkNvbnRyb2xNb2RpZmllciwgZS0+
bW9kaWZpZXJzKCkgJiBRdDo6QWx0TW9kaWZpZXIsIGUtPm1vZGlmaWVycygpICYgUXQ6Ok1ldGFN
b2RpZmllcikKKyAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6V2hlZWwsIGUtPm1v
ZGlmaWVycygpICYgUXQ6OlNoaWZ0TW9kaWZpZXIsIGUtPm1vZGlmaWVycygpICYgUXQ6OkNvbnRy
b2xNb2RpZmllciwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6QWx0TW9kaWZpZXIsIGUtPm1vZGlmaWVy
cygpICYgUXQ6Ok1ldGFNb2RpZmllciwgV1RGOjpjdXJyZW50VGltZSgpKQogICAgICwgbV9wb3Np
dGlvbihlLT5wb3MoKS50b1BvaW50KCkpCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9uKGUtPnNjcmVl
blBvcygpKQogICAgICwgbV9ncmFudWxhcml0eShTY3JvbGxCeVBpeGVsV2hlZWxFdmVudCkKQEAg
LTc1LDcgKzc2LDcgQEAgUGxhdGZvcm1XaGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQoUQog
CiBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChRV2hlZWxFdmVudCogZSkK
ICNpZm5kZWYgUVRfTk9fV0hFRUxFVkVOVAotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2
ZW50OjpXaGVlbCwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6U2hpZnRNb2RpZmllciwgZS0+bW9kaWZp
ZXJzKCkgJiBRdDo6Q29udHJvbE1vZGlmaWVyLCBlLT5tb2RpZmllcnMoKSAmIFF0OjpBbHRNb2Rp
ZmllciwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6TWV0YU1vZGlmaWVyKQorICAgIDogUGxhdGZvcm1F
dmVudChQbGF0Zm9ybUV2ZW50OjpXaGVlbCwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6U2hpZnRNb2Rp
ZmllciwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6Q29udHJvbE1vZGlmaWVyLCBlLT5tb2RpZmllcnMo
KSAmIFF0OjpBbHRNb2RpZmllciwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6TWV0YU1vZGlmaWVyLCBX
VEY6OmN1cnJlbnRUaW1lKCkpCiAgICAgLCBtX3Bvc2l0aW9uKGUtPnBvcygpKQogICAgICwgbV9n
bG9iYWxQb3NpdGlvbihlLT5nbG9iYWxQb3MoKSkKICAgICAsIG1fZ3JhbnVsYXJpdHkoU2Nyb2xs
QnlQaXhlbFdoZWVsRXZlbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vS2V5
RXZlbnRXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9L
ZXlFdmVudFdpbi5jcHAJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3dpbi9LZXlFdmVudFdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4NCwxMCArMTg0LDEz
IEBAIHN0YXRpYyBib29sIGlzS2V5cGFkRXZlbnQoV1BBUkFNIGNvZGUsIEwKICAgICB9CiB9CiAK
LXN0YXRpYyBpbmxpbmUgU3RyaW5nIHNpbmdsZUNoYXJhY3RlclN0cmluZyhVQ2hhciBjKSB7IHJl
dHVybiBTdHJpbmcoJmMsIDEpOyB9CitzdGF0aWMgaW5saW5lIFN0cmluZyBzaW5nbGVDaGFyYWN0
ZXJTdHJpbmcoVUNoYXIgYykKK3sKKyAgICByZXR1cm4gU3RyaW5nKCZjLCAxKTsKK30KIAogUGxh
dGZvcm1LZXlib2FyZEV2ZW50OjpQbGF0Zm9ybUtleWJvYXJkRXZlbnQoSFdORCwgV1BBUkFNIGNv
ZGUsIExQQVJBTSBrZXlEYXRhLCBUeXBlIHR5cGUsIGJvb2wgc3lzdGVtS2V5KQotICAgIDogUGxh
dGZvcm1FdmVudCh0eXBlLCBHZXRLZXlTdGF0ZShWS19TSElGVCkgJiBISUdIX0JJVF9NQVNLX1NI
T1JULCBHZXRLZXlTdGF0ZShWS19DT05UUk9MKSAmIEhJR0hfQklUX01BU0tfU0hPUlQsIEdldEtl
eVN0YXRlKFZLX01FTlUpICYgSElHSF9CSVRfTUFTS19TSE9SVCwgZmFsc2UpCisgICAgOiBQbGF0
Zm9ybUV2ZW50KHR5cGUsIEdldEtleVN0YXRlKFZLX1NISUZUKSAmIEhJR0hfQklUX01BU0tfU0hP
UlQsIEdldEtleVN0YXRlKFZLX0NPTlRST0wpICYgSElHSF9CSVRfTUFTS19TSE9SVCwgR2V0S2V5
U3RhdGUoVktfTUVOVSkgJiBISUdIX0JJVF9NQVNLX1NIT1JULCBmYWxzZSwgOjpHZXRUaWNrQ291
bnQoKSAqIDAuMDAxKQogICAgICwgbV90ZXh0KCh0eXBlID09IFBsYXRmb3JtRXZlbnQ6OkNoYXIp
ID8gc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGNvZGUpIDogU3RyaW5nKCkpCiAgICAgLCBtX3VubW9k
aWZpZWRUZXh0KCh0eXBlID09IFBsYXRmb3JtRXZlbnQ6OkNoYXIpID8gc2luZ2xlQ2hhcmFjdGVy
U3RyaW5nKGNvZGUpIDogU3RyaW5nKCkpCiAgICAgLCBtX2tleUlkZW50aWZpZXIoKHR5cGUgPT0g
UGxhdGZvcm1FdmVudDo6Q2hhcikgPyBTdHJpbmcoKSA6IGtleUlkZW50aWZpZXJGb3JXaW5kb3dz
S2V5Q29kZShjb2RlKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9QbGF0Zm9y
bU1vdXNlRXZlbnRXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9QbGF0Zm9ybU1vdXNlRXZlbnRXaW4uY3BwCShyZXZpc2lvbiAxMDMxNjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGxhdGZvcm1Nb3VzZUV2ZW50V2luLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzksMTQgKzc5LDE0IEBAIHN0YXRpYyBQbGF0Zm9ybUV2ZW50OjpUeXBlIG1l
c3NhZ2VUb0V2ZW4KIH0KIAogUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQo
SFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0sIGJv
b2wgZGlkQWN0aXZhdGVXZWJWaWV3KQotICAgIDogUGxhdGZvcm1FdmVudChtZXNzYWdlVG9FdmVu
dFR5cGUobWVzc2FnZSksIHdQYXJhbSAmIE1LX1NISUZULCB3UGFyYW0gJiBNS19DT05UUk9MLCBH
ZXRLZXlTdGF0ZShWS19NRU5VKSAmIEhJR0hfQklUX01BU0tfU0hPUlQsIEdldEtleVN0YXRlKFZL
X01FTlUpICYgSElHSF9CSVRfTUFTS19TSE9SVCkKKyAgICA6IFBsYXRmb3JtRXZlbnQobWVzc2Fn
ZVRvRXZlbnRUeXBlKG1lc3NhZ2UpLCB3UGFyYW0gJiBNS19TSElGVCwgd1BhcmFtICYgTUtfQ09O
VFJPTCwgR2V0S2V5U3RhdGUoVktfTUVOVSkgJiBISUdIX0JJVF9NQVNLX1NIT1JULCBHZXRLZXlT
dGF0ZShWS19NRU5VKSAmIEhJR0hfQklUX01BU0tfU0hPUlQsIDo6R2V0VGlja0NvdW50KCkgKiAw
LjAwMSkKICAgICAsIG1fcG9zaXRpb24ocG9zaXRpb25Gb3JFdmVudChoV25kLCBsUGFyYW0pKQog
ICAgICwgbV9nbG9iYWxQb3NpdGlvbihnbG9iYWxQb3NpdGlvbkZvckV2ZW50KGhXbmQsIGxQYXJh
bSkpCiAgICAgLCBtX2NsaWNrQ291bnQoMCkKICAgICAsIG1fZGlkQWN0aXZhdGVXZWJWaWV3KGRp
ZEFjdGl2YXRlV2ViVmlldykKICAgICAsIG1fbW9kaWZpZXJGbGFncyh3UGFyYW0pCiB7Ci0gICAg
bV90aW1lc3RhbXAgPSA6OkdldFRpY2tDb3VudCgpKjAuMDAxOyAvLyBHZXRUaWNrQ291bnQgcmV0
dXJucyBtaWxsaXNlY29uZHMKKyAgICBtX3RpbWVzdGFtcCA9IDsgLy8gR2V0VGlja0NvdW50IHJl
dHVybnMgbWlsbGlzZWNvbmRzCiAKICAgICBzd2l0Y2ggKG1lc3NhZ2UpIHsKICAgICAgICAgY2Fz
ZSBXTV9MQlVUVE9ORE9XTjoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaGVl
bEV2ZW50V2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4v
V2hlZWxFdmVudFdpbi5jcHAJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9XaGVlbEV2ZW50V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODUsNyArODUs
NyBAQCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChICiB9CiAKIFBsYXRm
b3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KEhXTkQgaFduZCwgV1BBUkFNIHdQYXJh
bSwgTFBBUkFNIGxQYXJhbSwgYm9vbCBpc01vdXNlSFdoZWVsKQotICAgIDogUGxhdGZvcm1FdmVu
dChQbGF0Zm9ybUV2ZW50OjpXaGVlbCwgd1BhcmFtICYgTUtfU0hJRlQsIHdQYXJhbSAmIE1LX0NP
TlRST0wsIEdldEtleVN0YXRlKFZLX01FTlUpICYgSElHSF9CSVRfTUFTS19TSE9SVCwgR2V0S2V5
U3RhdGUoVktfTUVOVSkgJiBISUdIX0JJVF9NQVNLX1NIT1JUKQorICAgIDogUGxhdGZvcm1FdmVu
dChQbGF0Zm9ybUV2ZW50OjpXaGVlbCwgd1BhcmFtICYgTUtfU0hJRlQsIHdQYXJhbSAmIE1LX0NP
TlRST0wsIEdldEtleVN0YXRlKFZLX01FTlUpICYgSElHSF9CSVRfTUFTS19TSE9SVCwgR2V0S2V5
U3RhdGUoVktfTUVOVSkgJiBISUdIX0JJVF9NQVNLX1NIT1JULCA6OkdldFRpY2tDb3VudCgpICog
MC4wMDEpCiAgICAgLCBtX3Bvc2l0aW9uKHBvc2l0aW9uRm9yRXZlbnQoaFduZCwgbFBhcmFtKSkK
ICAgICAsIG1fZ2xvYmFsUG9zaXRpb24oZ2xvYmFsUG9zaXRpb25Gb3JFdmVudChoV25kLCBsUGFy
YW0pKQogICAgICwgbV9kaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UoZmFsc2UpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93eC9LZXlib2FyZEV2ZW50V3guY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3d4L0tleWJvYXJkRXZlbnRXeC5jcHAJKHJldmlz
aW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3d4L0tleWJvYXJkRXZlbnRX
eC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDggQEAKICNpbmNsdWRlICJQbGF0Zm9y
bUtleWJvYXJkRXZlbnQuaCIKIAogI2luY2x1ZGUgIldpbmRvd3NLZXlib2FyZENvZGVzLmgiCisj
aW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisKICNpbmNsdWRlIDx3eC9kZWZzLmg+CiAjaW5j
bHVkZSA8d3gvZXZlbnQuaD4KIApAQCAtMzY2LDYgKzM2OCw3IEBAIFBsYXRmb3JtS2V5Ym9hcmRF
dmVudDo6UGxhdGZvcm1LZXlib2FyZEUKICAgICBtX2N0cmxLZXkgPSBldmVudC5DbWREb3duKCk7
CiAgICAgbV9hbHRLZXkgPSBldmVudC5BbHREb3duKCk7CiAgICAgbV9tZXRhS2V5ID0gZXZlbnQu
TWV0YURvd24oKTsKKyAgICBtX3RpbWVzdGFtcCA9IFdURjo6Y3VycmVudFRpbWUoKTsKIH0KIAog
dm9pZCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OmRpc2FtYmlndWF0ZUtleURvd25FdmVudChUeXBl
IHR5cGUsIGJvb2wpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93eC9Nb3VzZUV2ZW50
V3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3d4L01vdXNlRXZl
bnRXeC5jcHAJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3d4
L01vdXNlRXZlbnRXeC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0LDggKzI0LDkgQEAKICAqLwog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgogI2luY2x1ZGUg
IlBsYXRmb3JtTW91c2VFdmVudC5oIgorCisjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgogI2luY2x1
ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiAjaW5jbHVkZSA8d3gvZGVmcy5oPgpAQCAtNDgsOCAr
NDksOCBAQCBzdGF0aWMgUGxhdGZvcm1FdmVudDo6VHlwZSB0eXBlRnJvbU1vdXNlCiB9CiAKIFBs
YXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KGNvbnN0IHd4TW91c2VFdmVudCYg
ZXZlbnQsIGNvbnN0IHd4UG9pbnQmIGdsb2JhbFBvaW50LCBpbnQgY2xpY2tDb3VudCkKLSAgICA6
IFBsYXRmb3JtRXZlbnQodHlwZUZyb21Nb3VzZUV2ZW50KGV2ZW50KSwgZXZlbnQuU2hpZnREb3du
KCksIGV2ZW50LkNtZERvd24oKSB8fCBldmVudC5Db250cm9sRG93bigpLCBldmVudC5BbHREb3du
KCksIGV2ZW50Lk1ldGFEb3duKCkpCi0gICAgOiBtX3Bvc2l0aW9uKGV2ZW50LkdldFBvc2l0aW9u
KCkpCisgICAgOiBQbGF0Zm9ybUV2ZW50KHR5cGVGcm9tTW91c2VFdmVudChldmVudCksIGV2ZW50
LlNoaWZ0RG93bigpLCBldmVudC5DbWREb3duKCkgfHwgZXZlbnQuQ29udHJvbERvd24oKSwgZXZl
bnQuQWx0RG93bigpLCBldmVudC5NZXRhRG93bigpLCBXVEY6OmN1cnJlbnRUaW1lKCkpCisgICAg
LCBtX3Bvc2l0aW9uKGV2ZW50LkdldFBvc2l0aW9uKCkpCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9u
KGdsb2JhbFBvaW50KQogewogCkBAIC02NCw4ICs2NSw2IEBAIFBsYXRmb3JtTW91c2VFdmVudDo6
UGxhdGZvcm1Nb3VzZUV2ZW50KGMKICAgICAgICAgbV9jbGlja0NvdW50ID0gMDsKICAgICBlbHNl
CiAgICAgICAgIG1fY2xpY2tDb3VudCA9IGNsaWNrQ291bnQ7Ci0KLSAgICBtX3RpbWVzdGFtcCA9
IFdURjo6Y3VycmVudFRpbWUoKTsKIH0KIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd3gvTW91c2VXaGVlbEV2ZW50V3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3d4L01vdXNlV2hlZWxFdmVudFd4LmNwcAkocmV2aXNpb24gMTAzMTY4KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvTW91c2VXaGVlbEV2ZW50V3guY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNSw3ICsyNSw5IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybVdoZWVsRXZlbnQuaCIKKwogI2luY2x1ZGUgIlNjcm9sbGJhci5oIgorI2luY2x1
ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiAjaW5jbHVkZSA8d3gvZGVmcy5oPgogI2luY2x1ZGUg
PHd4L2V2ZW50Lmg+CkBAIC0zMyw3ICszNSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBs
YXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KGNvbnN0IHd4TW91c2VFdmVudCYg
ZXZlbnQsIGNvbnN0IHd4UG9pbnQmIGdsb2JhbFBvaW50KQotICAgIDogUGxhdGZvcm1FdmVudChQ
bGF0Zm9ybUV2ZW50OjpXaGVlbCwgZXZlbnQuU2hpZnREb3duKCksIGV2ZW50LkNvbnRyb2xEb3du
KCksIGV2ZW50LkFsdERvd24oKSwgZXZlbnQuTWV0YURvd24oKSkKKyAgICA6IFBsYXRmb3JtRXZl
bnQoUGxhdGZvcm1FdmVudDo6V2hlZWwsIGV2ZW50LlNoaWZ0RG93bigpLCBldmVudC5Db250cm9s
RG93bigpLCBldmVudC5BbHREb3duKCksIGV2ZW50Lk1ldGFEb3duKCksIFdURjo6Y3VycmVudFRp
bWUoKSkKICAgICAsIG1fcG9zaXRpb24oZXZlbnQuR2V0UG9zaXRpb24oKSkKICAgICAsIG1fZ2xv
YmFsUG9zaXRpb24oZ2xvYmFsUG9pbnQpCiAgICAgLCBtX2dyYW51bGFyaXR5KFNjcm9sbEJ5UGl4
ZWxXaGVlbEV2ZW50KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119754</attachid>
            <date>2011-12-17 23:49:58 -0800</date>
            <delta_ts>2011-12-18 11:35:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74805-20111217234946.patch</filename>
            <type>text/plain</type>
            <size>32816</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU5IEBACisyMDExLTEyLTE3ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSB0aW1lc3RhbXAgZG93biBmcm9t
IFBsYXRmb3JtRXZlbnQgc3ViY2xhc3NlcyB0byB0aGUgYmFzZSBjbGFzcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtRXZl
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtRXZlbnQ6OnR5cGUpOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1FdmVudDo6dGltZXN0YW1wKToKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtRXZlbnQ6OlBsYXRmb3JtRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3Jt
R2VzdHVyZUV2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudDo6
UGxhdGZvcm1HZXN0dXJlRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtTW91c2VF
dmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1v
dXNlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpjbGlja0Nv
dW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoRXZlbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXRmb3JtVG91Y2hFdmVudDo6UGxhdGZvcm1Ub3VjaEV2ZW50KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9lZmwvUGxhdGZvcm1LZXlib2FyZEV2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9lZmwvUGxhdGZvcm1Nb3VzZUV2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBsYXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9lZmwvUGxhdGZvcm1Ub3VjaEV2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtVG91Y2hFdmVudDo6UGxhdGZvcm1Ub3VjaEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9lZmwvUGxhdGZvcm1XaGVlbEV2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvUGxhdGZvcm1LZXlib2FyZEV2ZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvUGxhdGZvcm1XaGVlbEV2ZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvS2V5RXZlbnRNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUtleWJvYXJk
RXZlbnQ6OlBsYXRmb3JtS2V5Ym9hcmRFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bs
YXRmb3JtTW91c2VFdmVudE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTW91c2VF
dmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2hlZWxF
dmVudE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZv
cm1XaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9QbGF0Zm9ybUtleWJvYXJkRXZl
bnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OlBsYXRm
b3JtS2V5Ym9hcmRFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vcXQvV2hlZWxFdmVudFF0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2
ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vS2V5RXZlbnRXaW4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6c2luZ2xlQ2hhcmFjdGVyU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KToKKyAgICAgICAgKiBwbGF0
Zm9ybS93aW4vUGxhdGZvcm1Nb3VzZUV2ZW50V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vV2hlZWxFdmVudFdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVs
RXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vd3gvS2V5Ym9h
cmRFdmVudFd4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6
UGxhdGZvcm1LZXlib2FyZEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS93eC9Nb3VzZUV2ZW50
V3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1v
dXNlRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL3d4L01vdXNlV2hlZWxFdmVudFd4LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50
KToKKwogMjAxMS0xMi0xNyAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZWZhY3RvciBpbnB1dCB0eXBlIGNvbG9yIFdlYkNvcmUgcGFydApJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1FdmVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtRXZlbnQuaAkocmV2aXNpb24gMTAzMTY4KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1FdmVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC02NSwxMSArNjUsNiBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB9OwogCi0gICAgVHlwZSB0eXBl
KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4obV90eXBlKTsgfQotCi0KLSAgICAv
LyBFdmVudCBNb2RpZmllcnMKLQogICAgIGVudW0gTW9kaWZpZXJLZXkgewogICAgICAgICBBbHRL
ZXkgPSAxIDw8IDAsCiAgICAgICAgIEN0cmxLZXkgPSAxIDw8IDEsCkBAIC03Nyw2ICs3Miw4IEBA
IHB1YmxpYzoKICAgICAgICAgU2hpZnRLZXkgPSAxIDw8IDMKICAgICB9OwogCisgICAgVHlwZSB0
eXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4obV90eXBlKTsgfQorCiAgICAg
Ym9vbCBzaGlmdEtleSgpIGNvbnN0IHsgcmV0dXJuIG1fc2hpZnRLZXk7IH0KICAgICBib29sIGN0
cmxLZXkoKSBjb25zdCB7IHJldHVybiBtX2N0cmxLZXk7IH0KICAgICBib29sIGFsdEtleSgpIGNv
bnN0IHsgcmV0dXJuIG1fYWx0S2V5OyB9CkBAIC05MCwzMSArODcsMzYgQEAgcHVibGljOgogICAg
ICAgICAgICAgfCAoc2hpZnRLZXkoKSA/IFNoaWZ0S2V5IDogMCk7CiAgICAgfQogCisgICAgZG91
YmxlIHRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXN0YW1wOyB9CisKIHByb3RlY3Rl
ZDoKICAgICBQbGF0Zm9ybUV2ZW50KCkKLSAgICAgICAgOiBtX3NoaWZ0S2V5KGZhbHNlKQorICAg
ICAgICA6IG1fdHlwZShOb1R5cGUpCisgICAgICAgICwgbV9zaGlmdEtleShmYWxzZSkKICAgICAg
ICAgLCBtX2N0cmxLZXkoZmFsc2UpCiAgICAgICAgICwgbV9hbHRLZXkoZmFsc2UpCiAgICAgICAg
ICwgbV9tZXRhS2V5KGZhbHNlKQotICAgICAgICAsIG1fdHlwZShOb1R5cGUpCisgICAgICAgICwg
bV90aW1lc3RhbXAoMCkKICAgICB7CiAgICAgfQogCiAgICAgUGxhdGZvcm1FdmVudChUeXBlIHR5
cGUpCi0gICAgICAgIDogbV9zaGlmdEtleShmYWxzZSkKKyAgICAgICAgOiBtX3R5cGUodHlwZSkK
KyAgICAgICAgLCBtX3NoaWZ0S2V5KGZhbHNlKQogICAgICAgICAsIG1fY3RybEtleShmYWxzZSkK
ICAgICAgICAgLCBtX2FsdEtleShmYWxzZSkKICAgICAgICAgLCBtX21ldGFLZXkoZmFsc2UpCi0g
ICAgICAgICwgbV90eXBlKHR5cGUpCisgICAgICAgICwgbV90aW1lc3RhbXAoMCkKICAgICB7CiAg
ICAgfQogCi0gICAgUGxhdGZvcm1FdmVudChUeXBlIHR5cGUsIGJvb2wgc2hpZnRLZXksIGJvb2wg
Y3RybEtleSwgYm9vbCBhbHRLZXksIGJvb2wgbWV0YUtleSkKLSAgICAgICAgOiBtX3NoaWZ0S2V5
KHNoaWZ0S2V5KQorICAgIFBsYXRmb3JtRXZlbnQoVHlwZSB0eXBlLCBib29sIHNoaWZ0S2V5LCBi
b29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIG1ldGFLZXksIGRvdWJsZSB0aW1lc3RhbXAp
CisgICAgICAgIDogbV90eXBlKHR5cGUpCisgICAgICAgICwgbV9zaGlmdEtleShzaGlmdEtleSkK
ICAgICAgICAgLCBtX2N0cmxLZXkoY3RybEtleSkKICAgICAgICAgLCBtX2FsdEtleShhbHRLZXkp
CiAgICAgICAgICwgbV9tZXRhS2V5KG1ldGFLZXkpCi0gICAgICAgICwgbV90eXBlKHR5cGUpCisg
ICAgICAgICwgbV90aW1lc3RhbXAodGltZXN0YW1wKQogICAgIHsKICAgICB9CiAKQEAgLTEyNCwx
MSArMTI2LDEyIEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgfQogCisgICAgdW5zaWduZWQgbV90
eXBlOwogICAgIGJvb2wgbV9zaGlmdEtleTsKICAgICBib29sIG1fY3RybEtleTsKICAgICBib29s
IG1fYWx0S2V5OwogICAgIGJvb2wgbV9tZXRhS2V5OwotICAgIHVuc2lnbmVkIG1fdHlwZTsKKyAg
ICBkb3VibGUgbV90aW1lc3RhbXA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUdlc3R1cmVFdmVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVyZUV2ZW50LmgJKHJl
dmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVy
ZUV2ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDE3ICszNywxNSBAQCBjbGFzcyBQbGF0Zm9y
bUdlc3R1cmVFdmVudCA6IHB1YmxpYyBQbGF0CiBwdWJsaWM6CiAgICAgUGxhdGZvcm1HZXN0dXJl
RXZlbnQoKQogICAgICAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6R2VzdHVyZVNj
cm9sbEJlZ2luKQotICAgICAgICAsIG1fdGltZXN0YW1wKDApCiAgICAgICAgICwgbV9kZWx0YVgo
MCkKICAgICAgICAgLCBtX2RlbHRhWSgwKQogICAgIHsKICAgICB9CiAKICAgICBQbGF0Zm9ybUdl
c3R1cmVFdmVudChUeXBlIHR5cGUsIGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgSW50
UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBkb3VibGUgdGltZXN0YW1wLCBmbG9hdCBkZWx0YVgsIGZs
b2F0IGRlbHRhWSwgYm9vbCBzaGlmdEtleSwgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwgYm9v
bCBtZXRhS2V5KQotICAgICAgICA6IFBsYXRmb3JtRXZlbnQodHlwZSwgc2hpZnRLZXksIGN0cmxL
ZXksIGFsdEtleSwgbWV0YUtleSkKKyAgICAgICAgOiBQbGF0Zm9ybUV2ZW50KHR5cGUsIHNoaWZ0
S2V5LCBjdHJsS2V5LCBhbHRLZXksIG1ldGFLZXksIHRpbWVzdGFtcCkKICAgICAgICAgLCBtX3Bv
c2l0aW9uKHBvc2l0aW9uKQogICAgICAgICAsIG1fZ2xvYmFsUG9zaXRpb24oZ2xvYmFsUG9zaXRp
b24pCi0gICAgICAgICwgbV90aW1lc3RhbXAodGltZXN0YW1wKQogICAgICAgICAsIG1fZGVsdGFY
KGRlbHRhWCkKICAgICAgICAgLCBtX2RlbHRhWShkZWx0YVkpCiAgICAgewpAQCAtNTYsOCArNTQs
NiBAQCBwdWJsaWM6CiAgICAgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uKCkgY29uc3QgeyByZXR1
cm4gbV9wb3NpdGlvbjsgfSAvLyBQbGF0Zm9ybVdpbmRvdyBjb29yZGluYXRlcy4KICAgICBjb25z
dCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbFBvc2l0
aW9uOyB9IC8vIFNjcmVlbiBjb29yZGluYXRlcy4KIAotICAgIGRvdWJsZSB0aW1lc3RhbXAoKSBj
b25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQotCiAgICAgZmxvYXQgZGVsdGFYKCkgY29uc3Qg
eyByZXR1cm4gbV9kZWx0YVg7IH0KICAgICBmbG9hdCBkZWx0YVkoKSBjb25zdCB7IHJldHVybiBt
X2RlbHRhWTsgfQogICAgIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1N
b3VzZUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZv
cm1Nb3VzZUV2ZW50LmgJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1BsYXRmb3JtTW91c2VFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw3ICs2OSw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9y
bUV2ZW50OjpNb3VzZU1vdmVkKQogICAgICAgICAgICAgLCBtX2J1dHRvbihOb0J1dHRvbikKICAg
ICAgICAgICAgICwgbV9jbGlja0NvdW50KDApCi0gICAgICAgICAgICAsIG1fdGltZXN0YW1wKDAp
CiAgICAgICAgICAgICAsIG1fbW9kaWZpZXJGbGFncygwKQogI2lmIFBMQVRGT1JNKE1BQykKICAg
ICAgICAgICAgICwgbV9ldmVudE51bWJlcigwKQpAQCAtODEsMTIgKzgwLDExIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgICAgICBQbGF0Zm9ybU1vdXNlRXZlbnQoY29uc3QgSW50UG9pbnQm
IHBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE1vdXNlQnV0dG9uIGJ1
dHRvbiwgUGxhdGZvcm1FdmVudDo6VHlwZSB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGNsaWNrQ291bnQsIGJvb2wgc2hpZnRLZXksIGJvb2wgY3RybEtleSwgYm9vbCBhbHRL
ZXksIGJvb2wgbWV0YUtleSwgZG91YmxlIHRpbWVzdGFtcCkKLSAgICAgICAgICAgIDogUGxhdGZv
cm1FdmVudCh0eXBlLCBzaGlmdEtleSwgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5KQorICAgICAg
ICAgICAgOiBQbGF0Zm9ybUV2ZW50KHR5cGUsIHNoaWZ0S2V5LCBjdHJsS2V5LCBhbHRLZXksIG1l
dGFLZXksIHRpbWVzdGFtcCkKICAgICAgICAgICAgICwgbV9wb3NpdGlvbihwb3NpdGlvbikKICAg
ICAgICAgICAgICwgbV9nbG9iYWxQb3NpdGlvbihnbG9iYWxQb3NpdGlvbikKICAgICAgICAgICAg
ICwgbV9idXR0b24oYnV0dG9uKQogICAgICAgICAgICAgLCBtX2NsaWNrQ291bnQoY2xpY2tDb3Vu
dCkKLSAgICAgICAgICAgICwgbV90aW1lc3RhbXAodGltZXN0YW1wKQogICAgICAgICAgICAgLCBt
X21vZGlmaWVyRmxhZ3MoMCkKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAgICAgICAsIG1fZXZl
bnROdW1iZXIoMCkKQEAgLTEwNSwxNiArMTAzLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgaW50IG1vdmVtZW50WCgpIGNvbnN0IHsgcmV0dXJuIG1fbW92ZW1lbnREZWx0YS54KCk7
IH0KICAgICAgICAgaW50IG1vdmVtZW50WSgpIGNvbnN0IHsgcmV0dXJuIG1fbW92ZW1lbnREZWx0
YS55KCk7IH0KICNlbmRpZgorCiAgICAgICAgIE1vdXNlQnV0dG9uIGJ1dHRvbigpIGNvbnN0IHsg
cmV0dXJuIG1fYnV0dG9uOyB9CiAgICAgICAgIGludCBjbGlja0NvdW50KCkgY29uc3QgeyByZXR1
cm4gbV9jbGlja0NvdW50OyB9Ci0gICAgICAgIGJvb2wgc2hpZnRLZXkoKSBjb25zdCB7IHJldHVy
biBtX3NoaWZ0S2V5OyB9Ci0gICAgICAgIGJvb2wgY3RybEtleSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y3RybEtleTsgfQotICAgICAgICBib29sIGFsdEtleSgpIGNvbnN0IHsgcmV0dXJuIG1fYWx0S2V5
OyB9Ci0gICAgICAgIGJvb2wgbWV0YUtleSgpIGNvbnN0IHsgcmV0dXJuIG1fbWV0YUtleTsgfQog
ICAgICAgICB1bnNpZ25lZCBtb2RpZmllckZsYWdzKCkgY29uc3QgeyByZXR1cm4gbV9tb2RpZmll
ckZsYWdzOyB9CiAgICAgICAgIAotICAgICAgICAvLyBUaW1lIGluIHNlY29uZHMuCi0gICAgICAg
IGRvdWJsZSB0aW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQogCiAjaWYg
UExBVEZPUk0oR1RLKSAKICAgICAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50KEdka0V2ZW50QnV0dG9u
Kik7CkBAIC0xNjIsNyArMTU1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAgICAg
ICAgIE1vdXNlQnV0dG9uIG1fYnV0dG9uOwogICAgICAgICBpbnQgbV9jbGlja0NvdW50OwotICAg
ICAgICBkb3VibGUgbV90aW1lc3RhbXA7IC8vIHVuaXQ6IHNlY29uZHMKICAgICAgICAgdW5zaWdu
ZWQgbV9tb2RpZmllckZsYWdzOwogCiAjaWYgUExBVEZPUk0oTUFDKQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaEV2ZW50LmgJKHJldmlzaW9uIDEwMzE2OCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC00Myw3ICs0Myw2IEBAIGNsYXNzIFBsYXRmb3JtVG91Y2hFdmVudCA6IHB1Ymxp
YyBQbGF0Zm8KIHB1YmxpYzoKICAgICBQbGF0Zm9ybVRvdWNoRXZlbnQoKQogICAgICAgICA6IFBs
YXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6VG91Y2hTdGFydCkKLSAgICAgICAgLCBtX3RpbWVz
dGFtcCgwKQogICAgIHsKICAgICB9CiAKQEAgLTU1LDEyICs1NCw4IEBAIHB1YmxpYzoKIAogICAg
IGNvbnN0IFZlY3RvcjxQbGF0Zm9ybVRvdWNoUG9pbnQ+JiB0b3VjaFBvaW50cygpIGNvbnN0IHsg
cmV0dXJuIG1fdG91Y2hQb2ludHM7IH0KIAotICAgIC8vIFRpbWUgaW4gc2Vjb25kcy4KLSAgICBk
b3VibGUgdGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lc3RhbXA7IH0KLQogcHJvdGVj
dGVkOgogICAgIFZlY3RvcjxQbGF0Zm9ybVRvdWNoUG9pbnQ+IG1fdG91Y2hQb2ludHM7Ci0gICAg
ZG91YmxlIG1fdGltZXN0YW1wOwogfTsKIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC05
OSwxMyArOTksMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgLCBtX2hhc1By
ZWNpc2VTY3JvbGxpbmdEZWx0YXMoZmFsc2UpCiAgICAgICAgICAgICAsIG1fcGhhc2UoUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2VOb25lKQogICAgICAgICAgICAgLCBtX21vbWVudHVtUGhhc2UoUGxh
dGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lKQotICAgICAgICAgICAgLCBtX3RpbWVzdGFtcCgwKQog
I2VuZGlmCiAgICAgICAgIHsKICAgICAgICAgfQogCiAgICAgICAgIFBsYXRmb3JtV2hlZWxFdmVu
dChJbnRQb2ludCBwb3NpdGlvbiwgSW50UG9pbnQgZ2xvYmFsUG9zaXRpb24sIGZsb2F0IGRlbHRh
WCwgZmxvYXQgZGVsdGFZLCBmbG9hdCB3aGVlbFRpY2tzWCwgZmxvYXQgd2hlZWxUaWNrc1ksIFBs
YXRmb3JtV2hlZWxFdmVudEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBib29sIHNoaWZ0S2V5LCBi
b29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIG1ldGFLZXkpCi0gICAgICAgICAgICA6IFBs
YXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6V2hlZWwsIHNoaWZ0S2V5LCBjdHJsS2V5LCBhbHRL
ZXksIG1ldGFLZXkpCisgICAgICAgICAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6
V2hlZWwsIHNoaWZ0S2V5LCBjdHJsS2V5LCBhbHRLZXksIG1ldGFLZXksIDApCiAgICAgICAgICAg
ICAsIG1fcG9zaXRpb24ocG9zaXRpb24pCiAgICAgICAgICAgICAsIG1fZ2xvYmFsUG9zaXRpb24o
Z2xvYmFsUG9zaXRpb24pCiAgICAgICAgICAgICAsIG1fZGVsdGFYKGRlbHRhWCkKQEAgLTExOCw3
ICsxMTcsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAsIG1faGFzUHJlY2lz
ZVNjcm9sbGluZ0RlbHRhcyhmYWxzZSkKICAgICAgICAgICAgICwgbV9waGFzZShQbGF0Zm9ybVdo
ZWVsRXZlbnRQaGFzZU5vbmUpCiAgICAgICAgICAgICAsIG1fbW9tZW50dW1QaGFzZShQbGF0Zm9y
bVdoZWVsRXZlbnRQaGFzZU5vbmUpCi0gICAgICAgICAgICAsIG1fdGltZXN0YW1wKDApCiAjZW5k
aWYKICAgICAgICAgewogICAgICAgICB9CkBAIC0yMDMsNyArMjAxLDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBib29sIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhczsKICAgICAg
ICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgbV9waGFzZTsKICAgICAgICAgUGxhdGZvcm1XaGVl
bEV2ZW50UGhhc2UgbV9tb21lbnR1bVBoYXNlOwotICAgICAgICBkb3VibGUgbV90aW1lc3RhbXA7
CiAjZW5kaWYKICAgICB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxh
dGZvcm1LZXlib2FyZEV2ZW50RWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9lZmwvUGxhdGZvcm1LZXlib2FyZEV2ZW50RWZsLmNwcAkocmV2aXNpb24gMTAzMTY4
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtS2V5Ym9hcmRFdmVudEVm
bC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDExICszNiwxMiBAQAogI2luY2x1ZGUgIlRleHRF
bmNvZGluZy5oIgogI2luY2x1ZGUgPEV2YXMuaD4KICNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1
ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBsYXRmb3Jt
S2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KGNvbnN0IEV2YXNfRXZlbnRfS2V5
X0Rvd24qIGV2ZW50KQotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpLZXlEb3du
LCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIlNoaWZ0IiksIGV2
YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFz
X2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9t
b2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIk1ldGEiKSkKKyAgICA6IFBsYXRmb3Jt
RXZlbnQoUGxhdGZvcm1FdmVudDo6S2V5RG93biwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2
ZW50LT5tb2RpZmllcnMsICJTaGlmdCIpLCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQt
Pm1vZGlmaWVycywgIkNvbnRyb2wiKSwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5t
b2RpZmllcnMsICJBbHQiKSwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmll
cnMsICJNZXRhIiksIGN1cnJlbnRUaW1lKCkpCiAgICAgLCBtX3RleHQoU3RyaW5nOjpmcm9tVVRG
OChldmVudC0+c3RyaW5nKSkKICAgICAsIG1fdW5tb2RpZmllZFRleHQoU3RyaW5nOjpmcm9tVVRG
OChldmVudC0+c3RyaW5nKSkKIHsKQEAgLTU0LDcgKzU1LDcgQEAgUGxhdGZvcm1LZXlib2FyZEV2
ZW50OjpQbGF0Zm9ybUtleWJvYXJkRQogfQogCiBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OlBsYXRm
b3JtS2V5Ym9hcmRFdmVudChjb25zdCBFdmFzX0V2ZW50X0tleV9VcCogZXZlbnQpCi0gICAgOiBQ
bGF0Zm9ybUV2ZW50KFBsYXRmb3JtRXZlbnQ6OktleVVwLCBldmFzX2tleV9tb2RpZmllcl9pc19z
ZXQoZXZlbnQtPm1vZGlmaWVycywgIlNoaWZ0IiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChl
dmVudC0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZl
bnQtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1v
ZGlmaWVycywgIk1ldGEiKSkKKyAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6S2V5
VXAsIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiU2hpZnQiKSwg
ZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJDb250cm9sIiksIGV2
YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQWx0IiksIGV2YXNfa2V5
X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiTWV0YSIpLCBjdXJyZW50VGltZSgp
KQogICAgICwgbV90ZXh0KFN0cmluZzo6ZnJvbVVURjgoZXZlbnQtPnN0cmluZykpCiB7CiAgICAg
U3RyaW5nIGtleU5hbWUgPSBTdHJpbmcoZXZlbnQtPmtleSk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9lZmwvUGxhdGZvcm1Nb3VzZUV2ZW50RWZsLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxhdGZvcm1Nb3VzZUV2ZW50RWZsLmNwcAkocmV2
aXNpb24gMTAzMTY4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtTW91
c2VFdmVudEVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDMyICs0OCwyOSBAQCB2b2lkIFBs
YXRmb3JtTW91c2VFdmVudDo6c2V0Q2xpY2tDb3VudCh1CiB9CiAKIFBsYXRmb3JtTW91c2VFdmVu
dDo6UGxhdGZvcm1Nb3VzZUV2ZW50KGNvbnN0IEV2YXNfRXZlbnRfTW91c2VfRG93biogZXZlbnQs
IEludFBvaW50IHBvc2l0aW9uKQotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpN
b3VzZVByZXNzZWQsIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAi
U2hpZnQiKSwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJDb250
cm9sIiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQWx0Iiks
IGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiTWV0YSIpKQorICAg
IDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpNb3VzZVByZXNzZWQsIGV2YXNfa2V5X21v
ZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiU2hpZnQiKSwgZXZhc19rZXlfbW9kaWZp
ZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJDb250cm9sIiksIGV2YXNfa2V5X21vZGlmaWVy
X2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQWx0IiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3Nl
dChldmVudC0+bW9kaWZpZXJzLCAiTWV0YSIpLCBjdXJyZW50VGltZSgpKQogICAgICwgbV9wb3Np
dGlvbihJbnRQb2ludChldmVudC0+Y2FudmFzLnggLSBwb3NpdGlvbi54KCksIGV2ZW50LT5jYW52
YXMueSAtIHBvc2l0aW9uLnkoKSkpCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9uKEludFBvaW50KGV2
ZW50LT5jYW52YXMueCwgZXZlbnQtPmNhbnZhcy55KSkKICAgICAsIG1fYnV0dG9uKE1vdXNlQnV0
dG9uKGV2ZW50LT5idXR0b24gLSAxKSkKLSAgICAsIG1fdGltZXN0YW1wKGN1cnJlbnRUaW1lKCkp
CiB7CiAgICAgc2V0Q2xpY2tDb3VudChldmVudC0+ZmxhZ3MpOwogfQogCiBQbGF0Zm9ybU1vdXNl
RXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudChjb25zdCBFdmFzX0V2ZW50X01vdXNlX1VwKiBldmVu
dCwgSW50UG9pbnQgcG9zaXRpb24pCi0gICAgOiBQbGF0Zm9ybUV2ZW50KFBsYXRmb3JtRXZlbnQ6
Ok1vdXNlUmVsZWFzZWQsIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJz
LCAiU2hpZnQiKSwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJD
b250cm9sIiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQWx0
IiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiTWV0YSIpKQor
ICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpNb3VzZVJlbGVhc2VkLCBldmFzX2tl
eV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIlNoaWZ0IiksIGV2YXNfa2V5X21v
ZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFzX2tleV9tb2Rp
Zmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9tb2RpZmllcl9p
c19zZXQoZXZlbnQtPm1vZGlmaWVycywgIk1ldGEiKSwgY3VycmVudFRpbWUoKSkKICAgICAsIG1f
cG9zaXRpb24oSW50UG9pbnQoZXZlbnQtPmNhbnZhcy54IC0gcG9zaXRpb24ueCgpLCBldmVudC0+
Y2FudmFzLnkgLSBwb3NpdGlvbi55KCkpKQogICAgICwgbV9nbG9iYWxQb3NpdGlvbihJbnRQb2lu
dChldmVudC0+Y2FudmFzLngsIGV2ZW50LT5jYW52YXMueSkpCiAgICAgLCBtX2J1dHRvbihNb3Vz
ZUJ1dHRvbihldmVudC0+YnV0dG9uIC0gMSkpCi0gICAgLCBtX3RpbWVzdGFtcChjdXJyZW50VGlt
ZSgpKQogewogICAgIHNldENsaWNrQ291bnQoZXZlbnQtPmZsYWdzKTsKIH0KIAogUGxhdGZvcm1N
b3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoY29uc3QgRXZhc19FdmVudF9Nb3VzZV9Nb3Zl
KiBldmVudCwgSW50UG9pbnQgcG9zaXRpb24pCi0gICAgOiBQbGF0Zm9ybUV2ZW50KFBsYXRmb3Jt
RXZlbnQ6Ok1vdXNlTW92ZWQsIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZp
ZXJzLCAiU2hpZnQiKSwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMs
ICJDb250cm9sIiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAi
QWx0IiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiTWV0YSIp
KQorICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpNb3VzZU1vdmVkLCBldmFzX2tl
eV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIlNoaWZ0IiksIGV2YXNfa2V5X21v
ZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFzX2tleV9tb2Rp
Zmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9tb2RpZmllcl9p
c19zZXQoZXZlbnQtPm1vZGlmaWVycywgIk1ldGEiKSwgY3VycmVudFRpbWUoKSkKICAgICAsIG1f
cG9zaXRpb24oSW50UG9pbnQoZXZlbnQtPmN1ci5jYW52YXMueCAtIHBvc2l0aW9uLngoKSwgZXZl
bnQtPmN1ci5jYW52YXMueSAtIHBvc2l0aW9uLnkoKSkpCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9u
KEludFBvaW50KGV2ZW50LT5jdXIuY2FudmFzLngsIGV2ZW50LT5jdXIuY2FudmFzLnkpKQogICAg
ICwgbV9idXR0b24oTW91c2VCdXR0b24oZXZlbnQtPmJ1dHRvbnMgLSAxKSkKICAgICAsIG1fY2xp
Y2tDb3VudCgwKQotICAgICwgbV90aW1lc3RhbXAoY3VycmVudFRpbWUoKSkKIHsKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hFdmVudEVmbC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hF
dmVudEVmbC5jcHAJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2VmbC9QbGF0Zm9ybVRvdWNoRXZlbnRFZmwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMyAr
MjksMTQgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVRvdWNoRXZlbnQuaCIKIAogI2luY2x1ZGUgImV3
a19mcmFtZS5oIgorI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiAjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBQbGF0Zm9ybVRvdWNoRXZlbnQ6
OlBsYXRmb3JtVG91Y2hFdmVudChFaW5hX0xpc3QqIHBvaW50cywgY29uc3QgSW50UG9pbnQgcG9z
LCBQbGF0Zm9ybUV2ZW50OjpUeXBlIHR5cGUsIGludCBtZXRhU3RhdGUpCi0gICAgOiBQbGF0Zm9y
bUV2ZW50KHR5cGUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKQorICAgIDogUGxhdGZvcm1F
dmVudCh0eXBlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgY3VycmVudFRpbWUoKSkKIHsK
ICAgICB2b2lkKiBpdGVtOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxh
dGZvcm1XaGVlbEV2ZW50RWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9lZmwvUGxhdGZvcm1XaGVlbEV2ZW50RWZsLmNwcAkocmV2aXNpb24gMTAzMTY4KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtV2hlZWxFdmVudEVmbC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJTY3JvbGxiYXIuaCIKIAog
I2luY2x1ZGUgPEV2YXMuaD4KKyNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00Myw3ICs0NCw3IEBAIGVudW0gewogfTsKIAogUGxhdGZvcm1X
aGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQoY29uc3QgRXZhc19FdmVudF9Nb3VzZV9XaGVl
bCogZXYpCi0gICAgOiBQbGF0Zm9ybUV2ZW50KFBsYXRmb3JtRXZlbnQ6OldoZWVsLCBldmFzX2tl
eV9tb2RpZmllcl9pc19zZXQoZXYtPm1vZGlmaWVycywgIlNoaWZ0IiksIGV2YXNfa2V5X21vZGlm
aWVyX2lzX3NldChldi0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFzX2tleV9tb2RpZmllcl9p
c19zZXQoZXYtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXYt
Pm1vZGlmaWVycywgIk1ldGEiKSkKKyAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6
V2hlZWwsIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldi0+bW9kaWZpZXJzLCAiU2hpZnQiKSwg
ZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2LT5tb2RpZmllcnMsICJDb250cm9sIiksIGV2YXNf
a2V5X21vZGlmaWVyX2lzX3NldChldi0+bW9kaWZpZXJzLCAiQWx0IiksIGV2YXNfa2V5X21vZGlm
aWVyX2lzX3NldChldi0+bW9kaWZpZXJzLCAiTWV0YSIpLCBjdXJyZW50VGltZSgpKQogICAgICwg
bV9wb3NpdGlvbihJbnRQb2ludChldi0+Y2FudmFzLngsIGV2LT5jYW52YXMueSkpCiAgICAgLCBt
X2dsb2JhbFBvc2l0aW9uKEludFBvaW50KGV2LT5jYW52YXMueCwgZXYtPmNhbnZhcy55KSkKICAg
ICAsIG1fZ3JhbnVsYXJpdHkoU2Nyb2xsQnlQaXhlbFdoZWVsRXZlbnQpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGxhdGZvcm1LZXlib2FyZEV2ZW50R3RrLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGxhdGZvcm1LZXlib2FyZEV2ZW50
R3RrLmNwcAkocmV2aXNpb24gMTAzMTY4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Rr
L1BsYXRmb3JtS2V5Ym9hcmRFdmVudEd0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3
LDcgQEAKIAogI2luY2x1ZGUgPGdkay9nZGsuaD4KICNpbmNsdWRlIDxnZGsvZ2Rra2V5c3ltcy5o
PgorI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTU0Nyw3ICs1NDgsNyBAQCBTdHJpbmcgUGxhdGZvcm1LZXlib2FyZEV2ZW50OjpzaW5nbGVD
aGFyCiAvLyBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIHRoZSBvdGhlciBwbGF0Zm9ybSBldmVudCBj
b25zdHJ1Y3RvcnMKIC8vIFRPRE86IG1fZ2RrRXZlbnRLZXkgc2hvdWxkIGJlIHJlZmNvdW50ZWQK
IFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KEdka0V2ZW50S2V5
KiBldmVudCkKLSAgICA6IFBsYXRmb3JtRXZlbnQoKGV2ZW50LT50eXBlID09IEdES19LRVlfUkVM
RUFTRSkgPyBQbGF0Zm9ybUV2ZW50OjpLZXlVcCA6IFBsYXRmb3JtRXZlbnQ6OktleURvd24sIChl
dmVudC0+c3RhdGUgJiBHREtfU0hJRlRfTUFTSykgfHwgKGV2ZW50LT5rZXl2YWwgPT0gR0RLXzMy
NzBfQmFja1RhYiksIGV2ZW50LT5zdGF0ZSAmIEdES19DT05UUk9MX01BU0ssIGV2ZW50LT5zdGF0
ZSAmIEdES19NT0QxX01BU0ssIGV2ZW50LT5zdGF0ZSAmIEdES19NRVRBX01BU0spCisgICAgOiBQ
bGF0Zm9ybUV2ZW50KChldmVudC0+dHlwZSA9PSBHREtfS0VZX1JFTEVBU0UpID8gUGxhdGZvcm1F
dmVudDo6S2V5VXAgOiBQbGF0Zm9ybUV2ZW50OjpLZXlEb3duLCAoZXZlbnQtPnN0YXRlICYgR0RL
X1NISUZUX01BU0spIHx8IChldmVudC0+a2V5dmFsID09IEdES18zMjcwX0JhY2tUYWIpLCBldmVu
dC0+c3RhdGUgJiBHREtfQ09OVFJPTF9NQVNLLCBldmVudC0+c3RhdGUgJiBHREtfTU9EMV9NQVNL
LCBldmVudC0+c3RhdGUgJiBHREtfTUVUQV9NQVNLLCBjdXJyZW50VGltZSgpKQogICAgICwgbV90
ZXh0KHNpbmdsZUNoYXJhY3RlclN0cmluZyhldmVudC0+a2V5dmFsKSkKICAgICAsIG1fdW5tb2Rp
ZmllZFRleHQoc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGV2ZW50LT5rZXl2YWwpKQogICAgICwgbV9r
ZXlJZGVudGlmaWVyKGtleUlkZW50aWZpZXJGb3JHZGtLZXlDb2RlKGV2ZW50LT5rZXl2YWwpKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1BsYXRmb3JtV2hlZWxFdmVudEd0ay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1BsYXRmb3JtV2hl
ZWxFdmVudEd0ay5jcHAJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2d0ay9QbGF0Zm9ybVdoZWVsRXZlbnRHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2
ICszMCw3IEBACiAjaW5jbHVkZSAiU2Nyb2xsYmFyLmgiCiAKICNpbmNsdWRlIDxnZGsvZ2RrLmg+
CisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzksNiArNDAsNyBAQCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChH
CiAgICAgc3RhdGljIGNvbnN0IGZsb2F0IGRlbHRhID0gMTsKIAogICAgIG1fdHlwZSA9IFBsYXRm
b3JtRXZlbnQ6OldoZWVsOworICAgIG1fdGltZXN0YW1wID0gY3VycmVudFRpbWUoKTsKIAogICAg
IG1fZGVsdGFYID0gMDsKICAgICBtX2RlbHRhWSA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvS2V5RXZlbnRNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL0tleUV2ZW50TWFjLm1tCShyZXZpc2lvbiAxMDMxNjgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvS2V5RXZlbnRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE4
OSw3ICsxODksNyBAQCBzdGF0aWMgaW50IHdpbmRvd3NLZXlDb2RlRm9yS2V5RXZlbnQoTlNFCiB9
CiAKIFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KE5TRXZlbnQg
KmV2ZW50KQotICAgIDogUGxhdGZvcm1FdmVudChpc0tleVVwRXZlbnQoZXZlbnQpID8gUGxhdGZv
cm1FdmVudDo6S2V5VXAgOiBQbGF0Zm9ybUV2ZW50OjpLZXlEb3duLCBbZXZlbnQgbW9kaWZpZXJG
bGFnc10gJiBOU1NoaWZ0S2V5TWFzaywgW2V2ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNDb250cm9s
S2V5TWFzaywgW2V2ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNBbHRlcm5hdGVLZXlNYXNrLCBbZXZl
bnQgbW9kaWZpZXJGbGFnc10gJiBOU0NvbW1hbmRLZXlNYXNrKQorICAgIDogUGxhdGZvcm1FdmVu
dChpc0tleVVwRXZlbnQoZXZlbnQpID8gUGxhdGZvcm1FdmVudDo6S2V5VXAgOiBQbGF0Zm9ybUV2
ZW50OjpLZXlEb3duLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU1NoaWZ0S2V5TWFzaywgW2V2
ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNDb250cm9sS2V5TWFzaywgW2V2ZW50IG1vZGlmaWVyRmxh
Z3NdICYgTlNBbHRlcm5hdGVLZXlNYXNrLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU0NvbW1h
bmRLZXlNYXNrLCBbZXZlbnQgdGltZXN0YW1wXSkKICAgICAsIG1fdGV4dCh0ZXh0RnJvbUV2ZW50
KGV2ZW50KSkKICAgICAsIG1fdW5tb2RpZmllZFRleHQodW5tb2RpZmllZFRleHRGcm9tRXZlbnQo
ZXZlbnQpKQogICAgICwgbV9rZXlJZGVudGlmaWVyKGtleUlkZW50aWZpZXJGb3JLZXlFdmVudChl
dmVudCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1Nb3VzZUV2
ZW50TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0
Zm9ybU1vdXNlRXZlbnRNYWMubW0JKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9QbGF0Zm9ybU1vdXNlRXZlbnRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAg
LTE0MywxMiArMTQzLDExIEBAIHN0YXRpYyBQbGF0Zm9ybUV2ZW50OjpUeXBlIG1vdXNlRXZlbnRG
b3IKIH0KIAogUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoTlNFdmVudCog
ZXZlbnQsIE5TVmlldyAqd2luZG93VmlldykKLSAgICA6IFBsYXRmb3JtRXZlbnQobW91c2VFdmVu
dEZvck5TRXZlbnQoZXZlbnQpLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU1NoaWZ0S2V5TWFz
aywgW2V2ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNDb250cm9sS2V5TWFzaywgW2V2ZW50IG1vZGlm
aWVyRmxhZ3NdICYgTlNBbHRlcm5hdGVLZXlNYXNrLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBO
U0NvbW1hbmRLZXlNYXNrKQorICAgIDogUGxhdGZvcm1FdmVudChtb3VzZUV2ZW50Rm9yTlNFdmVu
dChldmVudCksIFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5TU2hpZnRLZXlNYXNrLCBbZXZlbnQg
bW9kaWZpZXJGbGFnc10gJiBOU0NvbnRyb2xLZXlNYXNrLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10g
JiBOU0FsdGVybmF0ZUtleU1hc2ssIFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5TQ29tbWFuZEtl
eU1hc2ssIFtldmVudCB0aW1lc3RhbXBdKQogICAgICwgbV9wb3NpdGlvbihwb2ludEZvckV2ZW50
KGV2ZW50LCB3aW5kb3dWaWV3KSkKICAgICAsIG1fZ2xvYmFsUG9zaXRpb24oZ2xvYmFsUG9pbnRG
b3JFdmVudChldmVudCkpCiAgICAgLCBtX2J1dHRvbihtb3VzZUJ1dHRvbkZvckV2ZW50KGV2ZW50
KSkKICAgICAsIG1fY2xpY2tDb3VudChjbGlja0NvdW50Rm9yRXZlbnQoZXZlbnQpKQotICAgICwg
bV90aW1lc3RhbXAoW2V2ZW50IHRpbWVzdGFtcF0pCiAgICAgLCBtX21vZGlmaWVyRmxhZ3MoW2V2
ZW50IG1vZGlmaWVyRmxhZ3NdKQogICAgICwgbV9ldmVudE51bWJlcihbZXZlbnQgZXZlbnROdW1i
ZXJdKQogewpAQCAtMTU3LDEyICsxNTYsMTEgQEAgUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9y
bU1vdXNlRXZlbnQoTgogUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoaW50
IHgsIGludCB5LCBpbnQgZ2xvYmFsWCwgaW50IGdsb2JhbFksIE1vdXNlQnV0dG9uIGJ1dHRvbiwg
UGxhdGZvcm1FdmVudDo6VHlwZSB0eXBlLAogICAgICAgICAgICAgICAgICAgIGludCBjbGlja0Nv
dW50LCBib29sIHNoaWZ0S2V5LCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIG1ldGFL
ZXksIGRvdWJsZSB0aW1lc3RhbXAsCiAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbW9kaWZp
ZXJGbGFncywgaW50IGV2ZW50TnVtYmVyKQotICAgIDogUGxhdGZvcm1FdmVudCh0eXBlLCBzaGlm
dEtleSwgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5KQorICAgIDogUGxhdGZvcm1FdmVudCh0eXBl
LCBzaGlmdEtleSwgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5LCB0aW1lc3RhbXApCiAgICAgLCBt
X3Bvc2l0aW9uKEludFBvaW50KHgsIHkpKQogICAgICwgbV9nbG9iYWxQb3NpdGlvbihJbnRQb2lu
dChnbG9iYWxYLCBnbG9iYWxZKSkKICAgICAsIG1fYnV0dG9uKGJ1dHRvbikKICAgICAsIG1fY2xp
Y2tDb3VudChjbGlja0NvdW50KQotICAgICwgbV90aW1lc3RhbXAodGltZXN0YW1wKQogICAgICwg
bV9tb2RpZmllckZsYWdzKG1vZGlmaWVyRmxhZ3MpCiAgICAgLCBtX2V2ZW50TnVtYmVyKGV2ZW50
TnVtYmVyKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1doZWVsRXZlbnRN
YWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1doZWVsRXZl
bnRNYWMubW0JKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9XaGVlbEV2ZW50TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05MCwxMyArOTAsMTIgQEAgc3Rh
dGljIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIHBoYXNlRm9yRQogfQogCiBQbGF0Zm9ybVdoZWVs
RXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChOU0V2ZW50KiBldmVudCwgTlNWaWV3ICp3aW5kb3dW
aWV3KQotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpXaGVlbCwgW2V2ZW50IG1v
ZGlmaWVyRmxhZ3NdICYgTlNTaGlmdEtleU1hc2ssIFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5T
Q29udHJvbEtleU1hc2ssIFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5TQWx0ZXJuYXRlS2V5TWFz
aywgW2V2ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNDb21tYW5kS2V5TWFzaykKKyAgICA6IFBsYXRm
b3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6V2hlZWwsIFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5T
U2hpZnRLZXlNYXNrLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU0NvbnRyb2xLZXlNYXNrLCBb
ZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU0FsdGVybmF0ZUtleU1hc2ssIFtldmVudCBtb2RpZmll
ckZsYWdzXSAmIE5TQ29tbWFuZEtleU1hc2ssIFtldmVudCB0aW1lc3RhbXBdKQogICAgICwgbV9w
b3NpdGlvbihwb2ludEZvckV2ZW50KGV2ZW50LCB3aW5kb3dWaWV3KSkKICAgICAsIG1fZ2xvYmFs
UG9zaXRpb24oZ2xvYmFsUG9pbnRGb3JFdmVudChldmVudCkpCiAgICAgLCBtX2dyYW51bGFyaXR5
KFNjcm9sbEJ5UGl4ZWxXaGVlbEV2ZW50KQogICAgICwgbV9waGFzZShwaGFzZUZvckV2ZW50KGV2
ZW50KSkKICAgICAsIG1fbW9tZW50dW1QaGFzZShtb21lbnR1bVBoYXNlRm9yRXZlbnQoZXZlbnQp
KQotICAgICwgbV90aW1lc3RhbXAoW2V2ZW50IHRpbWVzdGFtcF0pCiB7CiAgICAgQk9PTCBjb250
aW51b3VzOwogICAgIHdrR2V0V2hlZWxFdmVudERlbHRhcyhldmVudCwgJm1fZGVsdGFYLCAmbV9k
ZWx0YVksICZjb250aW51b3VzKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1Bs
YXRmb3JtS2V5Ym9hcmRFdmVudFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9QbGF0Zm9ybUtleWJvYXJkRXZlbnRRdC5jcHAJKHJldmlzaW9uIDEwMzE2OCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtS2V5Ym9hcmRFdmVudFF0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5jbHVkZSA8UUtleUV2ZW50
PgogI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjA5LDYgKzYxMCw3IEBAIFBsYXRmb3JtS2V5Ym9hcmRF
dmVudDo6UGxhdGZvcm1LZXlib2FyZEUKICAgICBtX25hdGl2ZVZpcnR1YWxLZXlDb2RlID0gZXZl
bnQtPm5hdGl2ZVZpcnR1YWxLZXkoKTsKICAgICBtX3NoaWZ0S2V5ID0gKHN0YXRlICYgUXQ6OlNo
aWZ0TW9kaWZpZXIpIHx8IGV2ZW50LT5rZXkoKSA9PSBRdDo6S2V5X0JhY2t0YWI7IC8vIFNpbXVs
YXRlIFNoaWZ0K1RhYiB3aXRoIEtleV9CYWNrdGFiCiAgICAgbV9xdEV2ZW50ID0gZXZlbnQ7Cisg
ICAgbV90aW1lc3RhbXAgPSBXVEY6OmN1cnJlbnRUaW1lKCk7CiB9CiAKIHZvaWQgUGxhdGZvcm1L
ZXlib2FyZEV2ZW50OjpkaXNhbWJpZ3VhdGVLZXlEb3duRXZlbnQoVHlwZSB0eXBlLCBib29sKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvV2hlZWxFdmVudFF0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaGVlbEV2ZW50UXQuY3BwCShyZXZp
c2lvbiAxMDMxNjgpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaGVlbEV2ZW50UXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8UUdyYXBoaWNz
U2NlbmVXaGVlbEV2ZW50PgogI2luY2x1ZGUgPFFXaGVlbEV2ZW50PgogI2luY2x1ZGUgPHFhcHBs
aWNhdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTU5LDcgKzYwLDcgQEAgdm9pZCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OmFwcGx5
RGVsdGEoaW50IAogCiBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChRR3Jh
cGhpY3NTY2VuZVdoZWVsRXZlbnQqIGUpCiAjaWZuZGVmIFFUX05PX1dIRUVMRVZFTlQKLSAgICA6
IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6V2hlZWwsIGUtPm1vZGlmaWVycygpICYgUXQ6
OlNoaWZ0TW9kaWZpZXIsIGUtPm1vZGlmaWVycygpICYgUXQ6OkNvbnRyb2xNb2RpZmllciwgZS0+
bW9kaWZpZXJzKCkgJiBRdDo6QWx0TW9kaWZpZXIsIGUtPm1vZGlmaWVycygpICYgUXQ6Ok1ldGFN
b2RpZmllcikKKyAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6V2hlZWwsIGUtPm1v
ZGlmaWVycygpICYgUXQ6OlNoaWZ0TW9kaWZpZXIsIGUtPm1vZGlmaWVycygpICYgUXQ6OkNvbnRy
b2xNb2RpZmllciwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6QWx0TW9kaWZpZXIsIGUtPm1vZGlmaWVy
cygpICYgUXQ6Ok1ldGFNb2RpZmllciwgV1RGOjpjdXJyZW50VGltZSgpKQogICAgICwgbV9wb3Np
dGlvbihlLT5wb3MoKS50b1BvaW50KCkpCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9uKGUtPnNjcmVl
blBvcygpKQogICAgICwgbV9ncmFudWxhcml0eShTY3JvbGxCeVBpeGVsV2hlZWxFdmVudCkKQEAg
LTc1LDcgKzc2LDcgQEAgUGxhdGZvcm1XaGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQoUQog
CiBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChRV2hlZWxFdmVudCogZSkK
ICNpZm5kZWYgUVRfTk9fV0hFRUxFVkVOVAotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2
ZW50OjpXaGVlbCwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6U2hpZnRNb2RpZmllciwgZS0+bW9kaWZp
ZXJzKCkgJiBRdDo6Q29udHJvbE1vZGlmaWVyLCBlLT5tb2RpZmllcnMoKSAmIFF0OjpBbHRNb2Rp
ZmllciwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6TWV0YU1vZGlmaWVyKQorICAgIDogUGxhdGZvcm1F
dmVudChQbGF0Zm9ybUV2ZW50OjpXaGVlbCwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6U2hpZnRNb2Rp
ZmllciwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6Q29udHJvbE1vZGlmaWVyLCBlLT5tb2RpZmllcnMo
KSAmIFF0OjpBbHRNb2RpZmllciwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6TWV0YU1vZGlmaWVyLCBX
VEY6OmN1cnJlbnRUaW1lKCkpCiAgICAgLCBtX3Bvc2l0aW9uKGUtPnBvcygpKQogICAgICwgbV9n
bG9iYWxQb3NpdGlvbihlLT5nbG9iYWxQb3MoKSkKICAgICAsIG1fZ3JhbnVsYXJpdHkoU2Nyb2xs
QnlQaXhlbFdoZWVsRXZlbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vS2V5
RXZlbnRXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9L
ZXlFdmVudFdpbi5jcHAJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3dpbi9LZXlFdmVudFdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4NCwxMCArMTg0LDEz
IEBAIHN0YXRpYyBib29sIGlzS2V5cGFkRXZlbnQoV1BBUkFNIGNvZGUsIEwKICAgICB9CiB9CiAK
LXN0YXRpYyBpbmxpbmUgU3RyaW5nIHNpbmdsZUNoYXJhY3RlclN0cmluZyhVQ2hhciBjKSB7IHJl
dHVybiBTdHJpbmcoJmMsIDEpOyB9CitzdGF0aWMgaW5saW5lIFN0cmluZyBzaW5nbGVDaGFyYWN0
ZXJTdHJpbmcoVUNoYXIgYykKK3sKKyAgICByZXR1cm4gU3RyaW5nKCZjLCAxKTsKK30KIAogUGxh
dGZvcm1LZXlib2FyZEV2ZW50OjpQbGF0Zm9ybUtleWJvYXJkRXZlbnQoSFdORCwgV1BBUkFNIGNv
ZGUsIExQQVJBTSBrZXlEYXRhLCBUeXBlIHR5cGUsIGJvb2wgc3lzdGVtS2V5KQotICAgIDogUGxh
dGZvcm1FdmVudCh0eXBlLCBHZXRLZXlTdGF0ZShWS19TSElGVCkgJiBISUdIX0JJVF9NQVNLX1NI
T1JULCBHZXRLZXlTdGF0ZShWS19DT05UUk9MKSAmIEhJR0hfQklUX01BU0tfU0hPUlQsIEdldEtl
eVN0YXRlKFZLX01FTlUpICYgSElHSF9CSVRfTUFTS19TSE9SVCwgZmFsc2UpCisgICAgOiBQbGF0
Zm9ybUV2ZW50KHR5cGUsIEdldEtleVN0YXRlKFZLX1NISUZUKSAmIEhJR0hfQklUX01BU0tfU0hP
UlQsIEdldEtleVN0YXRlKFZLX0NPTlRST0wpICYgSElHSF9CSVRfTUFTS19TSE9SVCwgR2V0S2V5
U3RhdGUoVktfTUVOVSkgJiBISUdIX0JJVF9NQVNLX1NIT1JULCBmYWxzZSwgOjpHZXRUaWNrQ291
bnQoKSAqIDAuMDAxKQogICAgICwgbV90ZXh0KCh0eXBlID09IFBsYXRmb3JtRXZlbnQ6OkNoYXIp
ID8gc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGNvZGUpIDogU3RyaW5nKCkpCiAgICAgLCBtX3VubW9k
aWZpZWRUZXh0KCh0eXBlID09IFBsYXRmb3JtRXZlbnQ6OkNoYXIpID8gc2luZ2xlQ2hhcmFjdGVy
U3RyaW5nKGNvZGUpIDogU3RyaW5nKCkpCiAgICAgLCBtX2tleUlkZW50aWZpZXIoKHR5cGUgPT0g
UGxhdGZvcm1FdmVudDo6Q2hhcikgPyBTdHJpbmcoKSA6IGtleUlkZW50aWZpZXJGb3JXaW5kb3dz
S2V5Q29kZShjb2RlKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9QbGF0Zm9y
bU1vdXNlRXZlbnRXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9QbGF0Zm9ybU1vdXNlRXZlbnRXaW4uY3BwCShyZXZpc2lvbiAxMDMxNjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGxhdGZvcm1Nb3VzZUV2ZW50V2luLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzksMTUgKzc5LDEzIEBAIHN0YXRpYyBQbGF0Zm9ybUV2ZW50OjpUeXBlIG1l
c3NhZ2VUb0V2ZW4KIH0KIAogUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQo
SFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0sIGJv
b2wgZGlkQWN0aXZhdGVXZWJWaWV3KQotICAgIDogUGxhdGZvcm1FdmVudChtZXNzYWdlVG9FdmVu
dFR5cGUobWVzc2FnZSksIHdQYXJhbSAmIE1LX1NISUZULCB3UGFyYW0gJiBNS19DT05UUk9MLCBH
ZXRLZXlTdGF0ZShWS19NRU5VKSAmIEhJR0hfQklUX01BU0tfU0hPUlQsIEdldEtleVN0YXRlKFZL
X01FTlUpICYgSElHSF9CSVRfTUFTS19TSE9SVCkKKyAgICA6IFBsYXRmb3JtRXZlbnQobWVzc2Fn
ZVRvRXZlbnRUeXBlKG1lc3NhZ2UpLCB3UGFyYW0gJiBNS19TSElGVCwgd1BhcmFtICYgTUtfQ09O
VFJPTCwgR2V0S2V5U3RhdGUoVktfTUVOVSkgJiBISUdIX0JJVF9NQVNLX1NIT1JULCBHZXRLZXlT
dGF0ZShWS19NRU5VKSAmIEhJR0hfQklUX01BU0tfU0hPUlQsIDo6R2V0VGlja0NvdW50KCkgKiAw
LjAwMSkKICAgICAsIG1fcG9zaXRpb24ocG9zaXRpb25Gb3JFdmVudChoV25kLCBsUGFyYW0pKQog
ICAgICwgbV9nbG9iYWxQb3NpdGlvbihnbG9iYWxQb3NpdGlvbkZvckV2ZW50KGhXbmQsIGxQYXJh
bSkpCiAgICAgLCBtX2NsaWNrQ291bnQoMCkKICAgICAsIG1fZGlkQWN0aXZhdGVXZWJWaWV3KGRp
ZEFjdGl2YXRlV2ViVmlldykKICAgICAsIG1fbW9kaWZpZXJGbGFncyh3UGFyYW0pCiB7Ci0gICAg
bV90aW1lc3RhbXAgPSA6OkdldFRpY2tDb3VudCgpKjAuMDAxOyAvLyBHZXRUaWNrQ291bnQgcmV0
dXJucyBtaWxsaXNlY29uZHMKLQogICAgIHN3aXRjaCAobWVzc2FnZSkgewogICAgICAgICBjYXNl
IFdNX0xCVVRUT05ET1dOOgogICAgICAgICBjYXNlIFdNX0xCVVRUT05VUDoKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaGVlbEV2ZW50V2luLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2hlZWxFdmVudFdpbi5jcHAJKHJldmlzaW9uIDEw
MzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaGVlbEV2ZW50V2luLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODUsNyArODUsNyBAQCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRm
b3JtV2hlZWxFdmVudChICiB9CiAKIFBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2
ZW50KEhXTkQgaFduZCwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSwgYm9vbCBpc01vdXNl
SFdoZWVsKQotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpXaGVlbCwgd1BhcmFt
ICYgTUtfU0hJRlQsIHdQYXJhbSAmIE1LX0NPTlRST0wsIEdldEtleVN0YXRlKFZLX01FTlUpICYg
SElHSF9CSVRfTUFTS19TSE9SVCwgR2V0S2V5U3RhdGUoVktfTUVOVSkgJiBISUdIX0JJVF9NQVNL
X1NIT1JUKQorICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpXaGVlbCwgd1BhcmFt
ICYgTUtfU0hJRlQsIHdQYXJhbSAmIE1LX0NPTlRST0wsIEdldEtleVN0YXRlKFZLX01FTlUpICYg
SElHSF9CSVRfTUFTS19TSE9SVCwgR2V0S2V5U3RhdGUoVktfTUVOVSkgJiBISUdIX0JJVF9NQVNL
X1NIT1JULCA6OkdldFRpY2tDb3VudCgpICogMC4wMDEpCiAgICAgLCBtX3Bvc2l0aW9uKHBvc2l0
aW9uRm9yRXZlbnQoaFduZCwgbFBhcmFtKSkKICAgICAsIG1fZ2xvYmFsUG9zaXRpb24oZ2xvYmFs
UG9zaXRpb25Gb3JFdmVudChoV25kLCBsUGFyYW0pKQogICAgICwgbV9kaXJlY3Rpb25JbnZlcnRl
ZEZyb21EZXZpY2UoZmFsc2UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93eC9LZXli
b2FyZEV2ZW50V3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3d4
L0tleWJvYXJkRXZlbnRXeC5jcHAJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3d4L0tleWJvYXJkRXZlbnRXeC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYg
KzI3LDggQEAKICNpbmNsdWRlICJQbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCIKIAogI2luY2x1ZGUg
IldpbmRvd3NLZXlib2FyZENvZGVzLmgiCisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisK
ICNpbmNsdWRlIDx3eC9kZWZzLmg+CiAjaW5jbHVkZSA8d3gvZXZlbnQuaD4KIApAQCAtMzY2LDYg
KzM2OCw3IEBAIFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEUKICAgICBt
X2N0cmxLZXkgPSBldmVudC5DbWREb3duKCk7CiAgICAgbV9hbHRLZXkgPSBldmVudC5BbHREb3du
KCk7CiAgICAgbV9tZXRhS2V5ID0gZXZlbnQuTWV0YURvd24oKTsKKyAgICBtX3RpbWVzdGFtcCA9
IFdURjo6Y3VycmVudFRpbWUoKTsKIH0KIAogdm9pZCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OmRp
c2FtYmlndWF0ZUtleURvd25FdmVudChUeXBlIHR5cGUsIGJvb2wpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93eC9Nb3VzZUV2ZW50V3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3d4L01vdXNlRXZlbnRXeC5jcHAJKHJldmlzaW9uIDEwMzE2OCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3d4L01vdXNlRXZlbnRXeC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI0LDggKzI0LDkgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVk
ZSAiQXNzZXJ0aW9ucy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgorCisjaW5j
bHVkZSAiQXNzZXJ0aW9ucy5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiAjaW5j
bHVkZSA8d3gvZGVmcy5oPgpAQCAtNDgsOCArNDksOCBAQCBzdGF0aWMgUGxhdGZvcm1FdmVudDo6
VHlwZSB0eXBlRnJvbU1vdXNlCiB9CiAKIFBsYXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3Vz
ZUV2ZW50KGNvbnN0IHd4TW91c2VFdmVudCYgZXZlbnQsIGNvbnN0IHd4UG9pbnQmIGdsb2JhbFBv
aW50LCBpbnQgY2xpY2tDb3VudCkKLSAgICA6IFBsYXRmb3JtRXZlbnQodHlwZUZyb21Nb3VzZUV2
ZW50KGV2ZW50KSwgZXZlbnQuU2hpZnREb3duKCksIGV2ZW50LkNtZERvd24oKSB8fCBldmVudC5D
b250cm9sRG93bigpLCBldmVudC5BbHREb3duKCksIGV2ZW50Lk1ldGFEb3duKCkpCi0gICAgOiBt
X3Bvc2l0aW9uKGV2ZW50LkdldFBvc2l0aW9uKCkpCisgICAgOiBQbGF0Zm9ybUV2ZW50KHR5cGVG
cm9tTW91c2VFdmVudChldmVudCksIGV2ZW50LlNoaWZ0RG93bigpLCBldmVudC5DbWREb3duKCkg
fHwgZXZlbnQuQ29udHJvbERvd24oKSwgZXZlbnQuQWx0RG93bigpLCBldmVudC5NZXRhRG93bigp
LCBXVEY6OmN1cnJlbnRUaW1lKCkpCisgICAgLCBtX3Bvc2l0aW9uKGV2ZW50LkdldFBvc2l0aW9u
KCkpCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9uKGdsb2JhbFBvaW50KQogewogCkBAIC02NCw4ICs2
NSw2IEBAIFBsYXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KGMKICAgICAgICAg
bV9jbGlja0NvdW50ID0gMDsKICAgICBlbHNlCiAgICAgICAgIG1fY2xpY2tDb3VudCA9IGNsaWNr
Q291bnQ7Ci0KLSAgICBtX3RpbWVzdGFtcCA9IFdURjo6Y3VycmVudFRpbWUoKTsKIH0KIAogfQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvTW91c2VXaGVlbEV2ZW50V3guY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3d4L01vdXNlV2hlZWxFdmVudFd4
LmNwcAkocmV2aXNpb24gMTAzMTY4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvTW91
c2VXaGVlbEV2ZW50V3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw5IEBACiAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVdoZWVsRXZlbnQuaCIKKwogI2lu
Y2x1ZGUgIlNjcm9sbGJhci5oIgorI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiAjaW5j
bHVkZSA8d3gvZGVmcy5oPgogI2luY2x1ZGUgPHd4L2V2ZW50Lmg+CkBAIC0zMyw3ICszNSw3IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVl
bEV2ZW50KGNvbnN0IHd4TW91c2VFdmVudCYgZXZlbnQsIGNvbnN0IHd4UG9pbnQmIGdsb2JhbFBv
aW50KQotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpXaGVlbCwgZXZlbnQuU2hp
ZnREb3duKCksIGV2ZW50LkNvbnRyb2xEb3duKCksIGV2ZW50LkFsdERvd24oKSwgZXZlbnQuTWV0
YURvd24oKSkKKyAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6V2hlZWwsIGV2ZW50
LlNoaWZ0RG93bigpLCBldmVudC5Db250cm9sRG93bigpLCBldmVudC5BbHREb3duKCksIGV2ZW50
Lk1ldGFEb3duKCksIFdURjo6Y3VycmVudFRpbWUoKSkKICAgICAsIG1fcG9zaXRpb24oZXZlbnQu
R2V0UG9zaXRpb24oKSkKICAgICAsIG1fZ2xvYmFsUG9zaXRpb24oZ2xvYmFsUG9pbnQpCiAgICAg
LCBtX2dyYW51bGFyaXR5KFNjcm9sbEJ5UGl4ZWxXaGVlbEV2ZW50KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119770</attachid>
            <date>2011-12-18 11:36:03 -0800</date>
            <delta_ts>2011-12-18 11:37:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74805-20111218113549.patch</filename>
            <type>text/plain</type>
            <size>35667</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU5IEBACisyMDExLTEyLTE3ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSB0aW1lc3RhbXAgZG93biBmcm9t
IFBsYXRmb3JtRXZlbnQgc3ViY2xhc3NlcyB0byB0aGUgYmFzZSBjbGFzcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtRXZl
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtRXZlbnQ6OnR5cGUpOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1FdmVudDo6dGltZXN0YW1wKToKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtRXZlbnQ6OlBsYXRmb3JtRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3Jt
R2VzdHVyZUV2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudDo6
UGxhdGZvcm1HZXN0dXJlRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtTW91c2VF
dmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1v
dXNlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpjbGlja0Nv
dW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoRXZlbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXRmb3JtVG91Y2hFdmVudDo6UGxhdGZvcm1Ub3VjaEV2ZW50KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9lZmwvUGxhdGZvcm1LZXlib2FyZEV2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9lZmwvUGxhdGZvcm1Nb3VzZUV2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBsYXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9lZmwvUGxhdGZvcm1Ub3VjaEV2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtVG91Y2hFdmVudDo6UGxhdGZvcm1Ub3VjaEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9lZmwvUGxhdGZvcm1XaGVlbEV2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvUGxhdGZvcm1LZXlib2FyZEV2ZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvUGxhdGZvcm1XaGVlbEV2ZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvS2V5RXZlbnRNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUtleWJvYXJk
RXZlbnQ6OlBsYXRmb3JtS2V5Ym9hcmRFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bs
YXRmb3JtTW91c2VFdmVudE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTW91c2VF
dmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2hlZWxF
dmVudE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZv
cm1XaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9QbGF0Zm9ybUtleWJvYXJkRXZl
bnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OlBsYXRm
b3JtS2V5Ym9hcmRFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vcXQvV2hlZWxFdmVudFF0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2
ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vS2V5RXZlbnRXaW4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6c2luZ2xlQ2hhcmFjdGVyU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KToKKyAgICAgICAgKiBwbGF0
Zm9ybS93aW4vUGxhdGZvcm1Nb3VzZUV2ZW50V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vV2hlZWxFdmVudFdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVs
RXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vd3gvS2V5Ym9h
cmRFdmVudFd4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6
UGxhdGZvcm1LZXlib2FyZEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS93eC9Nb3VzZUV2ZW50
V3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1v
dXNlRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL3d4L01vdXNlV2hlZWxFdmVudFd4LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50
KToKKwogMjAxMS0xMi0xNyAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZWZhY3RvciBpbnB1dCB0eXBlIGNvbG9yIFdlYkNvcmUgcGFydApJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1FdmVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtRXZlbnQuaAkocmV2aXNpb24gMTAzMTY4KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1FdmVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC02NSwxMSArNjUsNiBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB9OwogCi0gICAgVHlwZSB0eXBl
KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4obV90eXBlKTsgfQotCi0KLSAgICAv
LyBFdmVudCBNb2RpZmllcnMKLQogICAgIGVudW0gTW9kaWZpZXJLZXkgewogICAgICAgICBBbHRL
ZXkgPSAxIDw8IDAsCiAgICAgICAgIEN0cmxLZXkgPSAxIDw8IDEsCkBAIC03Nyw2ICs3Miw4IEBA
IHB1YmxpYzoKICAgICAgICAgU2hpZnRLZXkgPSAxIDw8IDMKICAgICB9OwogCisgICAgVHlwZSB0
eXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4obV90eXBlKTsgfQorCiAgICAg
Ym9vbCBzaGlmdEtleSgpIGNvbnN0IHsgcmV0dXJuIG1fc2hpZnRLZXk7IH0KICAgICBib29sIGN0
cmxLZXkoKSBjb25zdCB7IHJldHVybiBtX2N0cmxLZXk7IH0KICAgICBib29sIGFsdEtleSgpIGNv
bnN0IHsgcmV0dXJuIG1fYWx0S2V5OyB9CkBAIC05MCwzMSArODcsMzYgQEAgcHVibGljOgogICAg
ICAgICAgICAgfCAoc2hpZnRLZXkoKSA/IFNoaWZ0S2V5IDogMCk7CiAgICAgfQogCisgICAgZG91
YmxlIHRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXN0YW1wOyB9CisKIHByb3RlY3Rl
ZDoKICAgICBQbGF0Zm9ybUV2ZW50KCkKLSAgICAgICAgOiBtX3NoaWZ0S2V5KGZhbHNlKQorICAg
ICAgICA6IG1fdHlwZShOb1R5cGUpCisgICAgICAgICwgbV9zaGlmdEtleShmYWxzZSkKICAgICAg
ICAgLCBtX2N0cmxLZXkoZmFsc2UpCiAgICAgICAgICwgbV9hbHRLZXkoZmFsc2UpCiAgICAgICAg
ICwgbV9tZXRhS2V5KGZhbHNlKQotICAgICAgICAsIG1fdHlwZShOb1R5cGUpCisgICAgICAgICwg
bV90aW1lc3RhbXAoMCkKICAgICB7CiAgICAgfQogCiAgICAgUGxhdGZvcm1FdmVudChUeXBlIHR5
cGUpCi0gICAgICAgIDogbV9zaGlmdEtleShmYWxzZSkKKyAgICAgICAgOiBtX3R5cGUodHlwZSkK
KyAgICAgICAgLCBtX3NoaWZ0S2V5KGZhbHNlKQogICAgICAgICAsIG1fY3RybEtleShmYWxzZSkK
ICAgICAgICAgLCBtX2FsdEtleShmYWxzZSkKICAgICAgICAgLCBtX21ldGFLZXkoZmFsc2UpCi0g
ICAgICAgICwgbV90eXBlKHR5cGUpCisgICAgICAgICwgbV90aW1lc3RhbXAoMCkKICAgICB7CiAg
ICAgfQogCi0gICAgUGxhdGZvcm1FdmVudChUeXBlIHR5cGUsIGJvb2wgc2hpZnRLZXksIGJvb2wg
Y3RybEtleSwgYm9vbCBhbHRLZXksIGJvb2wgbWV0YUtleSkKLSAgICAgICAgOiBtX3NoaWZ0S2V5
KHNoaWZ0S2V5KQorICAgIFBsYXRmb3JtRXZlbnQoVHlwZSB0eXBlLCBib29sIHNoaWZ0S2V5LCBi
b29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIG1ldGFLZXksIGRvdWJsZSB0aW1lc3RhbXAp
CisgICAgICAgIDogbV90eXBlKHR5cGUpCisgICAgICAgICwgbV9zaGlmdEtleShzaGlmdEtleSkK
ICAgICAgICAgLCBtX2N0cmxLZXkoY3RybEtleSkKICAgICAgICAgLCBtX2FsdEtleShhbHRLZXkp
CiAgICAgICAgICwgbV9tZXRhS2V5KG1ldGFLZXkpCi0gICAgICAgICwgbV90eXBlKHR5cGUpCisg
ICAgICAgICwgbV90aW1lc3RhbXAodGltZXN0YW1wKQogICAgIHsKICAgICB9CiAKQEAgLTEyNCwx
MSArMTI2LDEyIEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgfQogCisgICAgdW5zaWduZWQgbV90
eXBlOwogICAgIGJvb2wgbV9zaGlmdEtleTsKICAgICBib29sIG1fY3RybEtleTsKICAgICBib29s
IG1fYWx0S2V5OwogICAgIGJvb2wgbV9tZXRhS2V5OwotICAgIHVuc2lnbmVkIG1fdHlwZTsKKyAg
ICBkb3VibGUgbV90aW1lc3RhbXA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUdlc3R1cmVFdmVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVyZUV2ZW50LmgJKHJl
dmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVy
ZUV2ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDE3ICszNywxNSBAQCBjbGFzcyBQbGF0Zm9y
bUdlc3R1cmVFdmVudCA6IHB1YmxpYyBQbGF0CiBwdWJsaWM6CiAgICAgUGxhdGZvcm1HZXN0dXJl
RXZlbnQoKQogICAgICAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6R2VzdHVyZVNj
cm9sbEJlZ2luKQotICAgICAgICAsIG1fdGltZXN0YW1wKDApCiAgICAgICAgICwgbV9kZWx0YVgo
MCkKICAgICAgICAgLCBtX2RlbHRhWSgwKQogICAgIHsKICAgICB9CiAKICAgICBQbGF0Zm9ybUdl
c3R1cmVFdmVudChUeXBlIHR5cGUsIGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgSW50
UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBkb3VibGUgdGltZXN0YW1wLCBmbG9hdCBkZWx0YVgsIGZs
b2F0IGRlbHRhWSwgYm9vbCBzaGlmdEtleSwgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtleSwgYm9v
bCBtZXRhS2V5KQotICAgICAgICA6IFBsYXRmb3JtRXZlbnQodHlwZSwgc2hpZnRLZXksIGN0cmxL
ZXksIGFsdEtleSwgbWV0YUtleSkKKyAgICAgICAgOiBQbGF0Zm9ybUV2ZW50KHR5cGUsIHNoaWZ0
S2V5LCBjdHJsS2V5LCBhbHRLZXksIG1ldGFLZXksIHRpbWVzdGFtcCkKICAgICAgICAgLCBtX3Bv
c2l0aW9uKHBvc2l0aW9uKQogICAgICAgICAsIG1fZ2xvYmFsUG9zaXRpb24oZ2xvYmFsUG9zaXRp
b24pCi0gICAgICAgICwgbV90aW1lc3RhbXAodGltZXN0YW1wKQogICAgICAgICAsIG1fZGVsdGFY
KGRlbHRhWCkKICAgICAgICAgLCBtX2RlbHRhWShkZWx0YVkpCiAgICAgewpAQCAtNTYsOCArNTQs
NiBAQCBwdWJsaWM6CiAgICAgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uKCkgY29uc3QgeyByZXR1
cm4gbV9wb3NpdGlvbjsgfSAvLyBQbGF0Zm9ybVdpbmRvdyBjb29yZGluYXRlcy4KICAgICBjb25z
dCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbFBvc2l0
aW9uOyB9IC8vIFNjcmVlbiBjb29yZGluYXRlcy4KIAotICAgIGRvdWJsZSB0aW1lc3RhbXAoKSBj
b25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQotCiAgICAgZmxvYXQgZGVsdGFYKCkgY29uc3Qg
eyByZXR1cm4gbV9kZWx0YVg7IH0KICAgICBmbG9hdCBkZWx0YVkoKSBjb25zdCB7IHJldHVybiBt
X2RlbHRhWTsgfQogICAgIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1N
b3VzZUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZv
cm1Nb3VzZUV2ZW50LmgJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1BsYXRmb3JtTW91c2VFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw3ICs2OSw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9y
bUV2ZW50OjpNb3VzZU1vdmVkKQogICAgICAgICAgICAgLCBtX2J1dHRvbihOb0J1dHRvbikKICAg
ICAgICAgICAgICwgbV9jbGlja0NvdW50KDApCi0gICAgICAgICAgICAsIG1fdGltZXN0YW1wKDAp
CiAgICAgICAgICAgICAsIG1fbW9kaWZpZXJGbGFncygwKQogI2lmIFBMQVRGT1JNKE1BQykKICAg
ICAgICAgICAgICwgbV9ldmVudE51bWJlcigwKQpAQCAtODEsMTIgKzgwLDExIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgICAgICBQbGF0Zm9ybU1vdXNlRXZlbnQoY29uc3QgSW50UG9pbnQm
IHBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE1vdXNlQnV0dG9uIGJ1
dHRvbiwgUGxhdGZvcm1FdmVudDo6VHlwZSB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IGNsaWNrQ291bnQsIGJvb2wgc2hpZnRLZXksIGJvb2wgY3RybEtleSwgYm9vbCBhbHRL
ZXksIGJvb2wgbWV0YUtleSwgZG91YmxlIHRpbWVzdGFtcCkKLSAgICAgICAgICAgIDogUGxhdGZv
cm1FdmVudCh0eXBlLCBzaGlmdEtleSwgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5KQorICAgICAg
ICAgICAgOiBQbGF0Zm9ybUV2ZW50KHR5cGUsIHNoaWZ0S2V5LCBjdHJsS2V5LCBhbHRLZXksIG1l
dGFLZXksIHRpbWVzdGFtcCkKICAgICAgICAgICAgICwgbV9wb3NpdGlvbihwb3NpdGlvbikKICAg
ICAgICAgICAgICwgbV9nbG9iYWxQb3NpdGlvbihnbG9iYWxQb3NpdGlvbikKICAgICAgICAgICAg
ICwgbV9idXR0b24oYnV0dG9uKQogICAgICAgICAgICAgLCBtX2NsaWNrQ291bnQoY2xpY2tDb3Vu
dCkKLSAgICAgICAgICAgICwgbV90aW1lc3RhbXAodGltZXN0YW1wKQogICAgICAgICAgICAgLCBt
X21vZGlmaWVyRmxhZ3MoMCkKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAgICAgICAsIG1fZXZl
bnROdW1iZXIoMCkKQEAgLTEwNSwxNiArMTAzLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgaW50IG1vdmVtZW50WCgpIGNvbnN0IHsgcmV0dXJuIG1fbW92ZW1lbnREZWx0YS54KCk7
IH0KICAgICAgICAgaW50IG1vdmVtZW50WSgpIGNvbnN0IHsgcmV0dXJuIG1fbW92ZW1lbnREZWx0
YS55KCk7IH0KICNlbmRpZgorCiAgICAgICAgIE1vdXNlQnV0dG9uIGJ1dHRvbigpIGNvbnN0IHsg
cmV0dXJuIG1fYnV0dG9uOyB9CiAgICAgICAgIGludCBjbGlja0NvdW50KCkgY29uc3QgeyByZXR1
cm4gbV9jbGlja0NvdW50OyB9Ci0gICAgICAgIGJvb2wgc2hpZnRLZXkoKSBjb25zdCB7IHJldHVy
biBtX3NoaWZ0S2V5OyB9Ci0gICAgICAgIGJvb2wgY3RybEtleSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y3RybEtleTsgfQotICAgICAgICBib29sIGFsdEtleSgpIGNvbnN0IHsgcmV0dXJuIG1fYWx0S2V5
OyB9Ci0gICAgICAgIGJvb2wgbWV0YUtleSgpIGNvbnN0IHsgcmV0dXJuIG1fbWV0YUtleTsgfQog
ICAgICAgICB1bnNpZ25lZCBtb2RpZmllckZsYWdzKCkgY29uc3QgeyByZXR1cm4gbV9tb2RpZmll
ckZsYWdzOyB9CiAgICAgICAgIAotICAgICAgICAvLyBUaW1lIGluIHNlY29uZHMuCi0gICAgICAg
IGRvdWJsZSB0aW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQogCiAjaWYg
UExBVEZPUk0oR1RLKSAKICAgICAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50KEdka0V2ZW50QnV0dG9u
Kik7CkBAIC0xNjIsNyArMTU1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAgICAg
ICAgIE1vdXNlQnV0dG9uIG1fYnV0dG9uOwogICAgICAgICBpbnQgbV9jbGlja0NvdW50OwotICAg
ICAgICBkb3VibGUgbV90aW1lc3RhbXA7IC8vIHVuaXQ6IHNlY29uZHMKICAgICAgICAgdW5zaWdu
ZWQgbV9tb2RpZmllckZsYWdzOwogCiAjaWYgUExBVEZPUk0oTUFDKQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaEV2ZW50LmgJKHJldmlzaW9uIDEwMzE2OCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC00Myw3ICs0Myw2IEBAIGNsYXNzIFBsYXRmb3JtVG91Y2hFdmVudCA6IHB1Ymxp
YyBQbGF0Zm8KIHB1YmxpYzoKICAgICBQbGF0Zm9ybVRvdWNoRXZlbnQoKQogICAgICAgICA6IFBs
YXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6VG91Y2hTdGFydCkKLSAgICAgICAgLCBtX3RpbWVz
dGFtcCgwKQogICAgIHsKICAgICB9CiAKQEAgLTU1LDEyICs1NCw4IEBAIHB1YmxpYzoKIAogICAg
IGNvbnN0IFZlY3RvcjxQbGF0Zm9ybVRvdWNoUG9pbnQ+JiB0b3VjaFBvaW50cygpIGNvbnN0IHsg
cmV0dXJuIG1fdG91Y2hQb2ludHM7IH0KIAotICAgIC8vIFRpbWUgaW4gc2Vjb25kcy4KLSAgICBk
b3VibGUgdGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lc3RhbXA7IH0KLQogcHJvdGVj
dGVkOgogICAgIFZlY3RvcjxQbGF0Zm9ybVRvdWNoUG9pbnQ+IG1fdG91Y2hQb2ludHM7Ci0gICAg
ZG91YmxlIG1fdGltZXN0YW1wOwogfTsKIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC05
OSwxMyArOTksMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgLCBtX2hhc1By
ZWNpc2VTY3JvbGxpbmdEZWx0YXMoZmFsc2UpCiAgICAgICAgICAgICAsIG1fcGhhc2UoUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2VOb25lKQogICAgICAgICAgICAgLCBtX21vbWVudHVtUGhhc2UoUGxh
dGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lKQotICAgICAgICAgICAgLCBtX3RpbWVzdGFtcCgwKQog
I2VuZGlmCiAgICAgICAgIHsKICAgICAgICAgfQogCiAgICAgICAgIFBsYXRmb3JtV2hlZWxFdmVu
dChJbnRQb2ludCBwb3NpdGlvbiwgSW50UG9pbnQgZ2xvYmFsUG9zaXRpb24sIGZsb2F0IGRlbHRh
WCwgZmxvYXQgZGVsdGFZLCBmbG9hdCB3aGVlbFRpY2tzWCwgZmxvYXQgd2hlZWxUaWNrc1ksIFBs
YXRmb3JtV2hlZWxFdmVudEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBib29sIHNoaWZ0S2V5LCBi
b29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIG1ldGFLZXkpCi0gICAgICAgICAgICA6IFBs
YXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6V2hlZWwsIHNoaWZ0S2V5LCBjdHJsS2V5LCBhbHRL
ZXksIG1ldGFLZXkpCisgICAgICAgICAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6
V2hlZWwsIHNoaWZ0S2V5LCBjdHJsS2V5LCBhbHRLZXksIG1ldGFLZXksIDApCiAgICAgICAgICAg
ICAsIG1fcG9zaXRpb24ocG9zaXRpb24pCiAgICAgICAgICAgICAsIG1fZ2xvYmFsUG9zaXRpb24o
Z2xvYmFsUG9zaXRpb24pCiAgICAgICAgICAgICAsIG1fZGVsdGFYKGRlbHRhWCkKQEAgLTExOCw3
ICsxMTcsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAsIG1faGFzUHJlY2lz
ZVNjcm9sbGluZ0RlbHRhcyhmYWxzZSkKICAgICAgICAgICAgICwgbV9waGFzZShQbGF0Zm9ybVdo
ZWVsRXZlbnRQaGFzZU5vbmUpCiAgICAgICAgICAgICAsIG1fbW9tZW50dW1QaGFzZShQbGF0Zm9y
bVdoZWVsRXZlbnRQaGFzZU5vbmUpCi0gICAgICAgICAgICAsIG1fdGltZXN0YW1wKDApCiAjZW5k
aWYKICAgICAgICAgewogICAgICAgICB9CkBAIC0yMDMsNyArMjAxLDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBib29sIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhczsKICAgICAg
ICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgbV9waGFzZTsKICAgICAgICAgUGxhdGZvcm1XaGVl
bEV2ZW50UGhhc2UgbV9tb21lbnR1bVBoYXNlOwotICAgICAgICBkb3VibGUgbV90aW1lc3RhbXA7
CiAjZW5kaWYKICAgICB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxh
dGZvcm1LZXlib2FyZEV2ZW50RWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9lZmwvUGxhdGZvcm1LZXlib2FyZEV2ZW50RWZsLmNwcAkocmV2aXNpb24gMTAzMTY4
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtS2V5Ym9hcmRFdmVudEVm
bC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDExICszNiwxMiBAQAogI2luY2x1ZGUgIlRleHRF
bmNvZGluZy5oIgogI2luY2x1ZGUgPEV2YXMuaD4KICNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1
ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBsYXRmb3Jt
S2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KGNvbnN0IEV2YXNfRXZlbnRfS2V5
X0Rvd24qIGV2ZW50KQotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpLZXlEb3du
LCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIlNoaWZ0IiksIGV2
YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFz
X2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9t
b2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIk1ldGEiKSkKKyAgICA6IFBsYXRmb3Jt
RXZlbnQoUGxhdGZvcm1FdmVudDo6S2V5RG93biwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2
ZW50LT5tb2RpZmllcnMsICJTaGlmdCIpLCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQt
Pm1vZGlmaWVycywgIkNvbnRyb2wiKSwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5t
b2RpZmllcnMsICJBbHQiKSwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmll
cnMsICJNZXRhIiksIGN1cnJlbnRUaW1lKCkpCiAgICAgLCBtX3RleHQoU3RyaW5nOjpmcm9tVVRG
OChldmVudC0+c3RyaW5nKSkKICAgICAsIG1fdW5tb2RpZmllZFRleHQoU3RyaW5nOjpmcm9tVVRG
OChldmVudC0+c3RyaW5nKSkKIHsKQEAgLTU0LDcgKzU1LDcgQEAgUGxhdGZvcm1LZXlib2FyZEV2
ZW50OjpQbGF0Zm9ybUtleWJvYXJkRQogfQogCiBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OlBsYXRm
b3JtS2V5Ym9hcmRFdmVudChjb25zdCBFdmFzX0V2ZW50X0tleV9VcCogZXZlbnQpCi0gICAgOiBQ
bGF0Zm9ybUV2ZW50KFBsYXRmb3JtRXZlbnQ6OktleVVwLCBldmFzX2tleV9tb2RpZmllcl9pc19z
ZXQoZXZlbnQtPm1vZGlmaWVycywgIlNoaWZ0IiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChl
dmVudC0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZl
bnQtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1v
ZGlmaWVycywgIk1ldGEiKSkKKyAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6S2V5
VXAsIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiU2hpZnQiKSwg
ZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJDb250cm9sIiksIGV2
YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQWx0IiksIGV2YXNfa2V5
X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiTWV0YSIpLCBjdXJyZW50VGltZSgp
KQogICAgICwgbV90ZXh0KFN0cmluZzo6ZnJvbVVURjgoZXZlbnQtPnN0cmluZykpCiB7CiAgICAg
U3RyaW5nIGtleU5hbWUgPSBTdHJpbmcoZXZlbnQtPmtleSk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9lZmwvUGxhdGZvcm1Nb3VzZUV2ZW50RWZsLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxhdGZvcm1Nb3VzZUV2ZW50RWZsLmNwcAkocmV2
aXNpb24gMTAzMTY4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtTW91
c2VFdmVudEVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDMyICs0OCwyOSBAQCB2b2lkIFBs
YXRmb3JtTW91c2VFdmVudDo6c2V0Q2xpY2tDb3VudCh1CiB9CiAKIFBsYXRmb3JtTW91c2VFdmVu
dDo6UGxhdGZvcm1Nb3VzZUV2ZW50KGNvbnN0IEV2YXNfRXZlbnRfTW91c2VfRG93biogZXZlbnQs
IEludFBvaW50IHBvc2l0aW9uKQotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpN
b3VzZVByZXNzZWQsIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAi
U2hpZnQiKSwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJDb250
cm9sIiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQWx0Iiks
IGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiTWV0YSIpKQorICAg
IDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpNb3VzZVByZXNzZWQsIGV2YXNfa2V5X21v
ZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiU2hpZnQiKSwgZXZhc19rZXlfbW9kaWZp
ZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJDb250cm9sIiksIGV2YXNfa2V5X21vZGlmaWVy
X2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQWx0IiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3Nl
dChldmVudC0+bW9kaWZpZXJzLCAiTWV0YSIpLCBjdXJyZW50VGltZSgpKQogICAgICwgbV9wb3Np
dGlvbihJbnRQb2ludChldmVudC0+Y2FudmFzLnggLSBwb3NpdGlvbi54KCksIGV2ZW50LT5jYW52
YXMueSAtIHBvc2l0aW9uLnkoKSkpCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9uKEludFBvaW50KGV2
ZW50LT5jYW52YXMueCwgZXZlbnQtPmNhbnZhcy55KSkKICAgICAsIG1fYnV0dG9uKE1vdXNlQnV0
dG9uKGV2ZW50LT5idXR0b24gLSAxKSkKLSAgICAsIG1fdGltZXN0YW1wKGN1cnJlbnRUaW1lKCkp
CiB7CiAgICAgc2V0Q2xpY2tDb3VudChldmVudC0+ZmxhZ3MpOwogfQogCiBQbGF0Zm9ybU1vdXNl
RXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudChjb25zdCBFdmFzX0V2ZW50X01vdXNlX1VwKiBldmVu
dCwgSW50UG9pbnQgcG9zaXRpb24pCi0gICAgOiBQbGF0Zm9ybUV2ZW50KFBsYXRmb3JtRXZlbnQ6
Ok1vdXNlUmVsZWFzZWQsIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJz
LCAiU2hpZnQiKSwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMsICJD
b250cm9sIiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQWx0
IiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiTWV0YSIpKQor
ICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpNb3VzZVJlbGVhc2VkLCBldmFzX2tl
eV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIlNoaWZ0IiksIGV2YXNfa2V5X21v
ZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFzX2tleV9tb2Rp
Zmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9tb2RpZmllcl9p
c19zZXQoZXZlbnQtPm1vZGlmaWVycywgIk1ldGEiKSwgY3VycmVudFRpbWUoKSkKICAgICAsIG1f
cG9zaXRpb24oSW50UG9pbnQoZXZlbnQtPmNhbnZhcy54IC0gcG9zaXRpb24ueCgpLCBldmVudC0+
Y2FudmFzLnkgLSBwb3NpdGlvbi55KCkpKQogICAgICwgbV9nbG9iYWxQb3NpdGlvbihJbnRQb2lu
dChldmVudC0+Y2FudmFzLngsIGV2ZW50LT5jYW52YXMueSkpCiAgICAgLCBtX2J1dHRvbihNb3Vz
ZUJ1dHRvbihldmVudC0+YnV0dG9uIC0gMSkpCi0gICAgLCBtX3RpbWVzdGFtcChjdXJyZW50VGlt
ZSgpKQogewogICAgIHNldENsaWNrQ291bnQoZXZlbnQtPmZsYWdzKTsKIH0KIAogUGxhdGZvcm1N
b3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoY29uc3QgRXZhc19FdmVudF9Nb3VzZV9Nb3Zl
KiBldmVudCwgSW50UG9pbnQgcG9zaXRpb24pCi0gICAgOiBQbGF0Zm9ybUV2ZW50KFBsYXRmb3Jt
RXZlbnQ6Ok1vdXNlTW92ZWQsIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZp
ZXJzLCAiU2hpZnQiKSwgZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2ZW50LT5tb2RpZmllcnMs
ICJDb250cm9sIiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAi
QWx0IiksIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiTWV0YSIp
KQorICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpNb3VzZU1vdmVkLCBldmFzX2tl
eV9tb2RpZmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIlNoaWZ0IiksIGV2YXNfa2V5X21v
ZGlmaWVyX2lzX3NldChldmVudC0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFzX2tleV9tb2Rp
Zmllcl9pc19zZXQoZXZlbnQtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9tb2RpZmllcl9p
c19zZXQoZXZlbnQtPm1vZGlmaWVycywgIk1ldGEiKSwgY3VycmVudFRpbWUoKSkKICAgICAsIG1f
cG9zaXRpb24oSW50UG9pbnQoZXZlbnQtPmN1ci5jYW52YXMueCAtIHBvc2l0aW9uLngoKSwgZXZl
bnQtPmN1ci5jYW52YXMueSAtIHBvc2l0aW9uLnkoKSkpCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9u
KEludFBvaW50KGV2ZW50LT5jdXIuY2FudmFzLngsIGV2ZW50LT5jdXIuY2FudmFzLnkpKQogICAg
ICwgbV9idXR0b24oTW91c2VCdXR0b24oZXZlbnQtPmJ1dHRvbnMgLSAxKSkKICAgICAsIG1fY2xp
Y2tDb3VudCgwKQotICAgICwgbV90aW1lc3RhbXAoY3VycmVudFRpbWUoKSkKIHsKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hFdmVudEVmbC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hF
dmVudEVmbC5jcHAJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2VmbC9QbGF0Zm9ybVRvdWNoRXZlbnRFZmwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMyAr
MjksMTQgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVRvdWNoRXZlbnQuaCIKIAogI2luY2x1ZGUgImV3
a19mcmFtZS5oIgorI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiAjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBQbGF0Zm9ybVRvdWNoRXZlbnQ6
OlBsYXRmb3JtVG91Y2hFdmVudChFaW5hX0xpc3QqIHBvaW50cywgY29uc3QgSW50UG9pbnQgcG9z
LCBQbGF0Zm9ybUV2ZW50OjpUeXBlIHR5cGUsIGludCBtZXRhU3RhdGUpCi0gICAgOiBQbGF0Zm9y
bUV2ZW50KHR5cGUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKQorICAgIDogUGxhdGZvcm1F
dmVudCh0eXBlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgY3VycmVudFRpbWUoKSkKIHsK
ICAgICB2b2lkKiBpdGVtOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxh
dGZvcm1XaGVlbEV2ZW50RWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9lZmwvUGxhdGZvcm1XaGVlbEV2ZW50RWZsLmNwcAkocmV2aXNpb24gMTAzMTY4KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtV2hlZWxFdmVudEVmbC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJTY3JvbGxiYXIuaCIKIAog
I2luY2x1ZGUgPEV2YXMuaD4KKyNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00Myw3ICs0NCw3IEBAIGVudW0gewogfTsKIAogUGxhdGZvcm1X
aGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQoY29uc3QgRXZhc19FdmVudF9Nb3VzZV9XaGVl
bCogZXYpCi0gICAgOiBQbGF0Zm9ybUV2ZW50KFBsYXRmb3JtRXZlbnQ6OldoZWVsLCBldmFzX2tl
eV9tb2RpZmllcl9pc19zZXQoZXYtPm1vZGlmaWVycywgIlNoaWZ0IiksIGV2YXNfa2V5X21vZGlm
aWVyX2lzX3NldChldi0+bW9kaWZpZXJzLCAiQ29udHJvbCIpLCBldmFzX2tleV9tb2RpZmllcl9p
c19zZXQoZXYtPm1vZGlmaWVycywgIkFsdCIpLCBldmFzX2tleV9tb2RpZmllcl9pc19zZXQoZXYt
Pm1vZGlmaWVycywgIk1ldGEiKSkKKyAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6
V2hlZWwsIGV2YXNfa2V5X21vZGlmaWVyX2lzX3NldChldi0+bW9kaWZpZXJzLCAiU2hpZnQiKSwg
ZXZhc19rZXlfbW9kaWZpZXJfaXNfc2V0KGV2LT5tb2RpZmllcnMsICJDb250cm9sIiksIGV2YXNf
a2V5X21vZGlmaWVyX2lzX3NldChldi0+bW9kaWZpZXJzLCAiQWx0IiksIGV2YXNfa2V5X21vZGlm
aWVyX2lzX3NldChldi0+bW9kaWZpZXJzLCAiTWV0YSIpLCBjdXJyZW50VGltZSgpKQogICAgICwg
bV9wb3NpdGlvbihJbnRQb2ludChldi0+Y2FudmFzLngsIGV2LT5jYW52YXMueSkpCiAgICAgLCBt
X2dsb2JhbFBvc2l0aW9uKEludFBvaW50KGV2LT5jYW52YXMueCwgZXYtPmNhbnZhcy55KSkKICAg
ICAsIG1fZ3JhbnVsYXJpdHkoU2Nyb2xsQnlQaXhlbFdoZWVsRXZlbnQpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGxhdGZvcm1LZXlib2FyZEV2ZW50R3RrLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGxhdGZvcm1LZXlib2FyZEV2ZW50
R3RrLmNwcAkocmV2aXNpb24gMTAzMTY4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Rr
L1BsYXRmb3JtS2V5Ym9hcmRFdmVudEd0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3
LDcgQEAKIAogI2luY2x1ZGUgPGdkay9nZGsuaD4KICNpbmNsdWRlIDxnZGsvZ2Rra2V5c3ltcy5o
PgorI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTU0Nyw3ICs1NDgsNyBAQCBTdHJpbmcgUGxhdGZvcm1LZXlib2FyZEV2ZW50OjpzaW5nbGVD
aGFyCiAvLyBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIHRoZSBvdGhlciBwbGF0Zm9ybSBldmVudCBj
b25zdHJ1Y3RvcnMKIC8vIFRPRE86IG1fZ2RrRXZlbnRLZXkgc2hvdWxkIGJlIHJlZmNvdW50ZWQK
IFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KEdka0V2ZW50S2V5
KiBldmVudCkKLSAgICA6IFBsYXRmb3JtRXZlbnQoKGV2ZW50LT50eXBlID09IEdES19LRVlfUkVM
RUFTRSkgPyBQbGF0Zm9ybUV2ZW50OjpLZXlVcCA6IFBsYXRmb3JtRXZlbnQ6OktleURvd24sIChl
dmVudC0+c3RhdGUgJiBHREtfU0hJRlRfTUFTSykgfHwgKGV2ZW50LT5rZXl2YWwgPT0gR0RLXzMy
NzBfQmFja1RhYiksIGV2ZW50LT5zdGF0ZSAmIEdES19DT05UUk9MX01BU0ssIGV2ZW50LT5zdGF0
ZSAmIEdES19NT0QxX01BU0ssIGV2ZW50LT5zdGF0ZSAmIEdES19NRVRBX01BU0spCisgICAgOiBQ
bGF0Zm9ybUV2ZW50KChldmVudC0+dHlwZSA9PSBHREtfS0VZX1JFTEVBU0UpID8gUGxhdGZvcm1F
dmVudDo6S2V5VXAgOiBQbGF0Zm9ybUV2ZW50OjpLZXlEb3duLCAoZXZlbnQtPnN0YXRlICYgR0RL
X1NISUZUX01BU0spIHx8IChldmVudC0+a2V5dmFsID09IEdES18zMjcwX0JhY2tUYWIpLCBldmVu
dC0+c3RhdGUgJiBHREtfQ09OVFJPTF9NQVNLLCBldmVudC0+c3RhdGUgJiBHREtfTU9EMV9NQVNL
LCBldmVudC0+c3RhdGUgJiBHREtfTUVUQV9NQVNLLCBjdXJyZW50VGltZSgpKQogICAgICwgbV90
ZXh0KHNpbmdsZUNoYXJhY3RlclN0cmluZyhldmVudC0+a2V5dmFsKSkKICAgICAsIG1fdW5tb2Rp
ZmllZFRleHQoc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGV2ZW50LT5rZXl2YWwpKQogICAgICwgbV9r
ZXlJZGVudGlmaWVyKGtleUlkZW50aWZpZXJGb3JHZGtLZXlDb2RlKGV2ZW50LT5rZXl2YWwpKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1BsYXRmb3JtV2hlZWxFdmVudEd0ay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1BsYXRmb3JtV2hl
ZWxFdmVudEd0ay5jcHAJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2d0ay9QbGF0Zm9ybVdoZWVsRXZlbnRHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2
ICszMCw3IEBACiAjaW5jbHVkZSAiU2Nyb2xsYmFyLmgiCiAKICNpbmNsdWRlIDxnZGsvZ2RrLmg+
CisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzksNiArNDAsNyBAQCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChH
CiAgICAgc3RhdGljIGNvbnN0IGZsb2F0IGRlbHRhID0gMTsKIAogICAgIG1fdHlwZSA9IFBsYXRm
b3JtRXZlbnQ6OldoZWVsOworICAgIG1fdGltZXN0YW1wID0gY3VycmVudFRpbWUoKTsKIAogICAg
IG1fZGVsdGFYID0gMDsKICAgICBtX2RlbHRhWSA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvS2V5RXZlbnRNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL0tleUV2ZW50TWFjLm1tCShyZXZpc2lvbiAxMDMxNjgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvS2V5RXZlbnRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE4
OSw3ICsxODksNyBAQCBzdGF0aWMgaW50IHdpbmRvd3NLZXlDb2RlRm9yS2V5RXZlbnQoTlNFCiB9
CiAKIFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KE5TRXZlbnQg
KmV2ZW50KQotICAgIDogUGxhdGZvcm1FdmVudChpc0tleVVwRXZlbnQoZXZlbnQpID8gUGxhdGZv
cm1FdmVudDo6S2V5VXAgOiBQbGF0Zm9ybUV2ZW50OjpLZXlEb3duLCBbZXZlbnQgbW9kaWZpZXJG
bGFnc10gJiBOU1NoaWZ0S2V5TWFzaywgW2V2ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNDb250cm9s
S2V5TWFzaywgW2V2ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNBbHRlcm5hdGVLZXlNYXNrLCBbZXZl
bnQgbW9kaWZpZXJGbGFnc10gJiBOU0NvbW1hbmRLZXlNYXNrKQorICAgIDogUGxhdGZvcm1FdmVu
dChpc0tleVVwRXZlbnQoZXZlbnQpID8gUGxhdGZvcm1FdmVudDo6S2V5VXAgOiBQbGF0Zm9ybUV2
ZW50OjpLZXlEb3duLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU1NoaWZ0S2V5TWFzaywgW2V2
ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNDb250cm9sS2V5TWFzaywgW2V2ZW50IG1vZGlmaWVyRmxh
Z3NdICYgTlNBbHRlcm5hdGVLZXlNYXNrLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU0NvbW1h
bmRLZXlNYXNrLCBbZXZlbnQgdGltZXN0YW1wXSkKICAgICAsIG1fdGV4dCh0ZXh0RnJvbUV2ZW50
KGV2ZW50KSkKICAgICAsIG1fdW5tb2RpZmllZFRleHQodW5tb2RpZmllZFRleHRGcm9tRXZlbnQo
ZXZlbnQpKQogICAgICwgbV9rZXlJZGVudGlmaWVyKGtleUlkZW50aWZpZXJGb3JLZXlFdmVudChl
dmVudCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1Nb3VzZUV2
ZW50TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0
Zm9ybU1vdXNlRXZlbnRNYWMubW0JKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9QbGF0Zm9ybU1vdXNlRXZlbnRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAg
LTE0MywxMiArMTQzLDExIEBAIHN0YXRpYyBQbGF0Zm9ybUV2ZW50OjpUeXBlIG1vdXNlRXZlbnRG
b3IKIH0KIAogUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoTlNFdmVudCog
ZXZlbnQsIE5TVmlldyAqd2luZG93VmlldykKLSAgICA6IFBsYXRmb3JtRXZlbnQobW91c2VFdmVu
dEZvck5TRXZlbnQoZXZlbnQpLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU1NoaWZ0S2V5TWFz
aywgW2V2ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNDb250cm9sS2V5TWFzaywgW2V2ZW50IG1vZGlm
aWVyRmxhZ3NdICYgTlNBbHRlcm5hdGVLZXlNYXNrLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBO
U0NvbW1hbmRLZXlNYXNrKQorICAgIDogUGxhdGZvcm1FdmVudChtb3VzZUV2ZW50Rm9yTlNFdmVu
dChldmVudCksIFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5TU2hpZnRLZXlNYXNrLCBbZXZlbnQg
bW9kaWZpZXJGbGFnc10gJiBOU0NvbnRyb2xLZXlNYXNrLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10g
JiBOU0FsdGVybmF0ZUtleU1hc2ssIFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5TQ29tbWFuZEtl
eU1hc2ssIFtldmVudCB0aW1lc3RhbXBdKQogICAgICwgbV9wb3NpdGlvbihwb2ludEZvckV2ZW50
KGV2ZW50LCB3aW5kb3dWaWV3KSkKICAgICAsIG1fZ2xvYmFsUG9zaXRpb24oZ2xvYmFsUG9pbnRG
b3JFdmVudChldmVudCkpCiAgICAgLCBtX2J1dHRvbihtb3VzZUJ1dHRvbkZvckV2ZW50KGV2ZW50
KSkKICAgICAsIG1fY2xpY2tDb3VudChjbGlja0NvdW50Rm9yRXZlbnQoZXZlbnQpKQotICAgICwg
bV90aW1lc3RhbXAoW2V2ZW50IHRpbWVzdGFtcF0pCiAgICAgLCBtX21vZGlmaWVyRmxhZ3MoW2V2
ZW50IG1vZGlmaWVyRmxhZ3NdKQogICAgICwgbV9ldmVudE51bWJlcihbZXZlbnQgZXZlbnROdW1i
ZXJdKQogewpAQCAtMTU3LDEyICsxNTYsMTEgQEAgUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9y
bU1vdXNlRXZlbnQoTgogUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoaW50
IHgsIGludCB5LCBpbnQgZ2xvYmFsWCwgaW50IGdsb2JhbFksIE1vdXNlQnV0dG9uIGJ1dHRvbiwg
UGxhdGZvcm1FdmVudDo6VHlwZSB0eXBlLAogICAgICAgICAgICAgICAgICAgIGludCBjbGlja0Nv
dW50LCBib29sIHNoaWZ0S2V5LCBib29sIGN0cmxLZXksIGJvb2wgYWx0S2V5LCBib29sIG1ldGFL
ZXksIGRvdWJsZSB0aW1lc3RhbXAsCiAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbW9kaWZp
ZXJGbGFncywgaW50IGV2ZW50TnVtYmVyKQotICAgIDogUGxhdGZvcm1FdmVudCh0eXBlLCBzaGlm
dEtleSwgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5KQorICAgIDogUGxhdGZvcm1FdmVudCh0eXBl
LCBzaGlmdEtleSwgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5LCB0aW1lc3RhbXApCiAgICAgLCBt
X3Bvc2l0aW9uKEludFBvaW50KHgsIHkpKQogICAgICwgbV9nbG9iYWxQb3NpdGlvbihJbnRQb2lu
dChnbG9iYWxYLCBnbG9iYWxZKSkKICAgICAsIG1fYnV0dG9uKGJ1dHRvbikKICAgICAsIG1fY2xp
Y2tDb3VudChjbGlja0NvdW50KQotICAgICwgbV90aW1lc3RhbXAodGltZXN0YW1wKQogICAgICwg
bV9tb2RpZmllckZsYWdzKG1vZGlmaWVyRmxhZ3MpCiAgICAgLCBtX2V2ZW50TnVtYmVyKGV2ZW50
TnVtYmVyKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1doZWVsRXZlbnRN
YWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1doZWVsRXZl
bnRNYWMubW0JKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9XaGVlbEV2ZW50TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05MCwxMyArOTAsMTIgQEAgc3Rh
dGljIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIHBoYXNlRm9yRQogfQogCiBQbGF0Zm9ybVdoZWVs
RXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChOU0V2ZW50KiBldmVudCwgTlNWaWV3ICp3aW5kb3dW
aWV3KQotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpXaGVlbCwgW2V2ZW50IG1v
ZGlmaWVyRmxhZ3NdICYgTlNTaGlmdEtleU1hc2ssIFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5T
Q29udHJvbEtleU1hc2ssIFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5TQWx0ZXJuYXRlS2V5TWFz
aywgW2V2ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNDb21tYW5kS2V5TWFzaykKKyAgICA6IFBsYXRm
b3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6V2hlZWwsIFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5T
U2hpZnRLZXlNYXNrLCBbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU0NvbnRyb2xLZXlNYXNrLCBb
ZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU0FsdGVybmF0ZUtleU1hc2ssIFtldmVudCBtb2RpZmll
ckZsYWdzXSAmIE5TQ29tbWFuZEtleU1hc2ssIFtldmVudCB0aW1lc3RhbXBdKQogICAgICwgbV9w
b3NpdGlvbihwb2ludEZvckV2ZW50KGV2ZW50LCB3aW5kb3dWaWV3KSkKICAgICAsIG1fZ2xvYmFs
UG9zaXRpb24oZ2xvYmFsUG9pbnRGb3JFdmVudChldmVudCkpCiAgICAgLCBtX2dyYW51bGFyaXR5
KFNjcm9sbEJ5UGl4ZWxXaGVlbEV2ZW50KQogICAgICwgbV9waGFzZShwaGFzZUZvckV2ZW50KGV2
ZW50KSkKICAgICAsIG1fbW9tZW50dW1QaGFzZShtb21lbnR1bVBoYXNlRm9yRXZlbnQoZXZlbnQp
KQotICAgICwgbV90aW1lc3RhbXAoW2V2ZW50IHRpbWVzdGFtcF0pCiB7CiAgICAgQk9PTCBjb250
aW51b3VzOwogICAgIHdrR2V0V2hlZWxFdmVudERlbHRhcyhldmVudCwgJm1fZGVsdGFYLCAmbV9k
ZWx0YVksICZjb250aW51b3VzKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1Bs
YXRmb3JtS2V5Ym9hcmRFdmVudFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9QbGF0Zm9ybUtleWJvYXJkRXZlbnRRdC5jcHAJKHJldmlzaW9uIDEwMzE2OCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtS2V5Ym9hcmRFdmVudFF0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5jbHVkZSA8UUtleUV2ZW50
PgogI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjA5LDYgKzYxMCw3IEBAIFBsYXRmb3JtS2V5Ym9hcmRF
dmVudDo6UGxhdGZvcm1LZXlib2FyZEUKICAgICBtX25hdGl2ZVZpcnR1YWxLZXlDb2RlID0gZXZl
bnQtPm5hdGl2ZVZpcnR1YWxLZXkoKTsKICAgICBtX3NoaWZ0S2V5ID0gKHN0YXRlICYgUXQ6OlNo
aWZ0TW9kaWZpZXIpIHx8IGV2ZW50LT5rZXkoKSA9PSBRdDo6S2V5X0JhY2t0YWI7IC8vIFNpbXVs
YXRlIFNoaWZ0K1RhYiB3aXRoIEtleV9CYWNrdGFiCiAgICAgbV9xdEV2ZW50ID0gZXZlbnQ7Cisg
ICAgbV90aW1lc3RhbXAgPSBXVEY6OmN1cnJlbnRUaW1lKCk7CiB9CiAKIHZvaWQgUGxhdGZvcm1L
ZXlib2FyZEV2ZW50OjpkaXNhbWJpZ3VhdGVLZXlEb3duRXZlbnQoVHlwZSB0eXBlLCBib29sKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvV2hlZWxFdmVudFF0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaGVlbEV2ZW50UXQuY3BwCShyZXZp
c2lvbiAxMDMxNjgpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaGVlbEV2ZW50UXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8UUdyYXBoaWNz
U2NlbmVXaGVlbEV2ZW50PgogI2luY2x1ZGUgPFFXaGVlbEV2ZW50PgogI2luY2x1ZGUgPHFhcHBs
aWNhdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTU5LDcgKzYwLDcgQEAgdm9pZCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OmFwcGx5
RGVsdGEoaW50IAogCiBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChRR3Jh
cGhpY3NTY2VuZVdoZWVsRXZlbnQqIGUpCiAjaWZuZGVmIFFUX05PX1dIRUVMRVZFTlQKLSAgICA6
IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6V2hlZWwsIGUtPm1vZGlmaWVycygpICYgUXQ6
OlNoaWZ0TW9kaWZpZXIsIGUtPm1vZGlmaWVycygpICYgUXQ6OkNvbnRyb2xNb2RpZmllciwgZS0+
bW9kaWZpZXJzKCkgJiBRdDo6QWx0TW9kaWZpZXIsIGUtPm1vZGlmaWVycygpICYgUXQ6Ok1ldGFN
b2RpZmllcikKKyAgICA6IFBsYXRmb3JtRXZlbnQoUGxhdGZvcm1FdmVudDo6V2hlZWwsIGUtPm1v
ZGlmaWVycygpICYgUXQ6OlNoaWZ0TW9kaWZpZXIsIGUtPm1vZGlmaWVycygpICYgUXQ6OkNvbnRy
b2xNb2RpZmllciwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6QWx0TW9kaWZpZXIsIGUtPm1vZGlmaWVy
cygpICYgUXQ6Ok1ldGFNb2RpZmllciwgV1RGOjpjdXJyZW50VGltZSgpKQogICAgICwgbV9wb3Np
dGlvbihlLT5wb3MoKS50b1BvaW50KCkpCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9uKGUtPnNjcmVl
blBvcygpKQogICAgICwgbV9ncmFudWxhcml0eShTY3JvbGxCeVBpeGVsV2hlZWxFdmVudCkKQEAg
LTc1LDcgKzc2LDcgQEAgUGxhdGZvcm1XaGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQoUQog
CiBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChRV2hlZWxFdmVudCogZSkK
ICNpZm5kZWYgUVRfTk9fV0hFRUxFVkVOVAotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2
ZW50OjpXaGVlbCwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6U2hpZnRNb2RpZmllciwgZS0+bW9kaWZp
ZXJzKCkgJiBRdDo6Q29udHJvbE1vZGlmaWVyLCBlLT5tb2RpZmllcnMoKSAmIFF0OjpBbHRNb2Rp
ZmllciwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6TWV0YU1vZGlmaWVyKQorICAgIDogUGxhdGZvcm1F
dmVudChQbGF0Zm9ybUV2ZW50OjpXaGVlbCwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6U2hpZnRNb2Rp
ZmllciwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6Q29udHJvbE1vZGlmaWVyLCBlLT5tb2RpZmllcnMo
KSAmIFF0OjpBbHRNb2RpZmllciwgZS0+bW9kaWZpZXJzKCkgJiBRdDo6TWV0YU1vZGlmaWVyLCBX
VEY6OmN1cnJlbnRUaW1lKCkpCiAgICAgLCBtX3Bvc2l0aW9uKGUtPnBvcygpKQogICAgICwgbV9n
bG9iYWxQb3NpdGlvbihlLT5nbG9iYWxQb3MoKSkKICAgICAsIG1fZ3JhbnVsYXJpdHkoU2Nyb2xs
QnlQaXhlbFdoZWVsRXZlbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vS2V5
RXZlbnRXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9L
ZXlFdmVudFdpbi5jcHAJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3dpbi9LZXlFdmVudFdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4NCwxMCArMTg0LDEz
IEBAIHN0YXRpYyBib29sIGlzS2V5cGFkRXZlbnQoV1BBUkFNIGNvZGUsIEwKICAgICB9CiB9CiAK
LXN0YXRpYyBpbmxpbmUgU3RyaW5nIHNpbmdsZUNoYXJhY3RlclN0cmluZyhVQ2hhciBjKSB7IHJl
dHVybiBTdHJpbmcoJmMsIDEpOyB9CitzdGF0aWMgaW5saW5lIFN0cmluZyBzaW5nbGVDaGFyYWN0
ZXJTdHJpbmcoVUNoYXIgYykKK3sKKyAgICByZXR1cm4gU3RyaW5nKCZjLCAxKTsKK30KIAogUGxh
dGZvcm1LZXlib2FyZEV2ZW50OjpQbGF0Zm9ybUtleWJvYXJkRXZlbnQoSFdORCwgV1BBUkFNIGNv
ZGUsIExQQVJBTSBrZXlEYXRhLCBUeXBlIHR5cGUsIGJvb2wgc3lzdGVtS2V5KQotICAgIDogUGxh
dGZvcm1FdmVudCh0eXBlLCBHZXRLZXlTdGF0ZShWS19TSElGVCkgJiBISUdIX0JJVF9NQVNLX1NI
T1JULCBHZXRLZXlTdGF0ZShWS19DT05UUk9MKSAmIEhJR0hfQklUX01BU0tfU0hPUlQsIEdldEtl
eVN0YXRlKFZLX01FTlUpICYgSElHSF9CSVRfTUFTS19TSE9SVCwgZmFsc2UpCisgICAgOiBQbGF0
Zm9ybUV2ZW50KHR5cGUsIEdldEtleVN0YXRlKFZLX1NISUZUKSAmIEhJR0hfQklUX01BU0tfU0hP
UlQsIEdldEtleVN0YXRlKFZLX0NPTlRST0wpICYgSElHSF9CSVRfTUFTS19TSE9SVCwgR2V0S2V5
U3RhdGUoVktfTUVOVSkgJiBISUdIX0JJVF9NQVNLX1NIT1JULCBmYWxzZSwgOjpHZXRUaWNrQ291
bnQoKSAqIDAuMDAxKQogICAgICwgbV90ZXh0KCh0eXBlID09IFBsYXRmb3JtRXZlbnQ6OkNoYXIp
ID8gc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGNvZGUpIDogU3RyaW5nKCkpCiAgICAgLCBtX3VubW9k
aWZpZWRUZXh0KCh0eXBlID09IFBsYXRmb3JtRXZlbnQ6OkNoYXIpID8gc2luZ2xlQ2hhcmFjdGVy
U3RyaW5nKGNvZGUpIDogU3RyaW5nKCkpCiAgICAgLCBtX2tleUlkZW50aWZpZXIoKHR5cGUgPT0g
UGxhdGZvcm1FdmVudDo6Q2hhcikgPyBTdHJpbmcoKSA6IGtleUlkZW50aWZpZXJGb3JXaW5kb3dz
S2V5Q29kZShjb2RlKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9QbGF0Zm9y
bU1vdXNlRXZlbnRXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9QbGF0Zm9ybU1vdXNlRXZlbnRXaW4uY3BwCShyZXZpc2lvbiAxMDMxNjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGxhdGZvcm1Nb3VzZUV2ZW50V2luLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzksMTUgKzc5LDEzIEBAIHN0YXRpYyBQbGF0Zm9ybUV2ZW50OjpUeXBlIG1l
c3NhZ2VUb0V2ZW4KIH0KIAogUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQo
SFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0sIGJv
b2wgZGlkQWN0aXZhdGVXZWJWaWV3KQotICAgIDogUGxhdGZvcm1FdmVudChtZXNzYWdlVG9FdmVu
dFR5cGUobWVzc2FnZSksIHdQYXJhbSAmIE1LX1NISUZULCB3UGFyYW0gJiBNS19DT05UUk9MLCBH
ZXRLZXlTdGF0ZShWS19NRU5VKSAmIEhJR0hfQklUX01BU0tfU0hPUlQsIEdldEtleVN0YXRlKFZL
X01FTlUpICYgSElHSF9CSVRfTUFTS19TSE9SVCkKKyAgICA6IFBsYXRmb3JtRXZlbnQobWVzc2Fn
ZVRvRXZlbnRUeXBlKG1lc3NhZ2UpLCB3UGFyYW0gJiBNS19TSElGVCwgd1BhcmFtICYgTUtfQ09O
VFJPTCwgR2V0S2V5U3RhdGUoVktfTUVOVSkgJiBISUdIX0JJVF9NQVNLX1NIT1JULCBHZXRLZXlT
dGF0ZShWS19NRU5VKSAmIEhJR0hfQklUX01BU0tfU0hPUlQsIDo6R2V0VGlja0NvdW50KCkgKiAw
LjAwMSkKICAgICAsIG1fcG9zaXRpb24ocG9zaXRpb25Gb3JFdmVudChoV25kLCBsUGFyYW0pKQog
ICAgICwgbV9nbG9iYWxQb3NpdGlvbihnbG9iYWxQb3NpdGlvbkZvckV2ZW50KGhXbmQsIGxQYXJh
bSkpCiAgICAgLCBtX2NsaWNrQ291bnQoMCkKICAgICAsIG1fZGlkQWN0aXZhdGVXZWJWaWV3KGRp
ZEFjdGl2YXRlV2ViVmlldykKICAgICAsIG1fbW9kaWZpZXJGbGFncyh3UGFyYW0pCiB7Ci0gICAg
bV90aW1lc3RhbXAgPSA6OkdldFRpY2tDb3VudCgpKjAuMDAxOyAvLyBHZXRUaWNrQ291bnQgcmV0
dXJucyBtaWxsaXNlY29uZHMKLQogICAgIHN3aXRjaCAobWVzc2FnZSkgewogICAgICAgICBjYXNl
IFdNX0xCVVRUT05ET1dOOgogICAgICAgICBjYXNlIFdNX0xCVVRUT05VUDoKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaGVlbEV2ZW50V2luLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2hlZWxFdmVudFdpbi5jcHAJKHJldmlzaW9uIDEw
MzE2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaGVlbEV2ZW50V2luLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjYsNyArNjYsNyBAQCBzdGF0aWMgaW50IHZlcnRpY2FsU2Nyb2xs
TGluZXMoKQogfQogCiBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChIV05E
IGhXbmQsIGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEsIGNvbnN0IEZsb2F0UG9pbnQmIGxvY2F0aW9u
KQotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpXaGVlbCwgZmFsc2UsIGZhbHNl
LCBmYWxzZSwgZmFsc2UpCisgICAgOiBQbGF0Zm9ybUV2ZW50KFBsYXRmb3JtRXZlbnQ6OldoZWVs
LCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgOjpHZXRUaWNrQ291bnQoKSAqIDAuMDAxKQog
ICAgICwgbV9kaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UoZmFsc2UpCiB7CiAgICAgbV9kZWx0
YVggPSBkZWx0YS53aWR0aCgpOwpAQCAtODUsNyArODUsNyBAQCBQbGF0Zm9ybVdoZWVsRXZlbnQ6
OlBsYXRmb3JtV2hlZWxFdmVudChICiB9CiAKIFBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1X
aGVlbEV2ZW50KEhXTkQgaFduZCwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSwgYm9vbCBp
c01vdXNlSFdoZWVsKQotICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpXaGVlbCwg
d1BhcmFtICYgTUtfU0hJRlQsIHdQYXJhbSAmIE1LX0NPTlRST0wsIEdldEtleVN0YXRlKFZLX01F
TlUpICYgSElHSF9CSVRfTUFTS19TSE9SVCwgR2V0S2V5U3RhdGUoVktfTUVOVSkgJiBISUdIX0JJ
VF9NQVNLX1NIT1JUKQorICAgIDogUGxhdGZvcm1FdmVudChQbGF0Zm9ybUV2ZW50OjpXaGVlbCwg
d1BhcmFtICYgTUtfU0hJRlQsIHdQYXJhbSAmIE1LX0NPTlRST0wsIEdldEtleVN0YXRlKFZLX01F
TlUpICYgSElHSF9CSVRfTUFTS19TSE9SVCwgR2V0S2V5U3RhdGUoVktfTUVOVSkgJiBISUdIX0JJ
VF9NQVNLX1NIT1JULCA6OkdldFRpY2tDb3VudCgpICogMC4wMDEpCiAgICAgLCBtX3Bvc2l0aW9u
KHBvc2l0aW9uRm9yRXZlbnQoaFduZCwgbFBhcmFtKSkKICAgICAsIG1fZ2xvYmFsUG9zaXRpb24o
Z2xvYmFsUG9zaXRpb25Gb3JFdmVudChoV25kLCBsUGFyYW0pKQogICAgICwgbV9kaXJlY3Rpb25J
bnZlcnRlZEZyb21EZXZpY2UoZmFsc2UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
eC9LZXlib2FyZEV2ZW50V3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3d4L0tleWJvYXJkRXZlbnRXeC5jcHAJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3d4L0tleWJvYXJkRXZlbnRXeC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI3LDYgKzI3LDggQEAKICNpbmNsdWRlICJQbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCIKIAogI2lu
Y2x1ZGUgIldpbmRvd3NLZXlib2FyZENvZGVzLmgiCisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1l
Lmg+CisKICNpbmNsdWRlIDx3eC9kZWZzLmg+CiAjaW5jbHVkZSA8d3gvZXZlbnQuaD4KIApAQCAt
MzY2LDYgKzM2OCw3IEBAIFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6UGxhdGZvcm1LZXlib2FyZEUK
ICAgICBtX2N0cmxLZXkgPSBldmVudC5DbWREb3duKCk7CiAgICAgbV9hbHRLZXkgPSBldmVudC5B
bHREb3duKCk7CiAgICAgbV9tZXRhS2V5ID0gZXZlbnQuTWV0YURvd24oKTsKKyAgICBtX3RpbWVz
dGFtcCA9IFdURjo6Y3VycmVudFRpbWUoKTsKIH0KIAogdm9pZCBQbGF0Zm9ybUtleWJvYXJkRXZl
bnQ6OmRpc2FtYmlndWF0ZUtleURvd25FdmVudChUeXBlIHR5cGUsIGJvb2wpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93eC9Nb3VzZUV2ZW50V3guY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3d4L01vdXNlRXZlbnRXeC5jcHAJKHJldmlzaW9uIDEwMzE2
OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3d4L01vdXNlRXZlbnRXeC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI0LDEyICsyNCwxMiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJBc3NlcnRpb25zLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50Lmgi
Ci0jaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKKyNpbmNsdWRlICJBc3NlcnRpb25zLmgi
CiAjaW5jbHVkZSA8d3gvZGVmcy5oPgogI2luY2x1ZGUgPHd4L2V2ZW50Lmg+CisjaW5jbHVkZSA8
d3RmL0N1cnJlbnRUaW1lLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDgsOCArNDgs
OCBAQCBzdGF0aWMgUGxhdGZvcm1FdmVudDo6VHlwZSB0eXBlRnJvbU1vdXNlCiB9CiAKIFBsYXRm
b3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KGNvbnN0IHd4TW91c2VFdmVudCYgZXZl
bnQsIGNvbnN0IHd4UG9pbnQmIGdsb2JhbFBvaW50LCBpbnQgY2xpY2tDb3VudCkKLSAgICA6IFBs
YXRmb3JtRXZlbnQodHlwZUZyb21Nb3VzZUV2ZW50KGV2ZW50KSwgZXZlbnQuU2hpZnREb3duKCks
IGV2ZW50LkNtZERvd24oKSB8fCBldmVudC5Db250cm9sRG93bigpLCBldmVudC5BbHREb3duKCks
IGV2ZW50Lk1ldGFEb3duKCkpCi0gICAgOiBtX3Bvc2l0aW9uKGV2ZW50LkdldFBvc2l0aW9uKCkp
CisgICAgOiBQbGF0Zm9ybUV2ZW50KHR5cGVGcm9tTW91c2VFdmVudChldmVudCksIGV2ZW50LlNo
aWZ0RG93bigpLCBldmVudC5DbWREb3duKCkgfHwgZXZlbnQuQ29udHJvbERvd24oKSwgZXZlbnQu
QWx0RG93bigpLCBldmVudC5NZXRhRG93bigpLCBXVEY6OmN1cnJlbnRUaW1lKCkpCisgICAgLCBt
X3Bvc2l0aW9uKGV2ZW50LkdldFBvc2l0aW9uKCkpCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9uKGds
b2JhbFBvaW50KQogewogCkBAIC02NCw4ICs2NCw2IEBAIFBsYXRmb3JtTW91c2VFdmVudDo6UGxh
dGZvcm1Nb3VzZUV2ZW50KGMKICAgICAgICAgbV9jbGlja0NvdW50ID0gMDsKICAgICBlbHNlCiAg
ICAgICAgIG1fY2xpY2tDb3VudCA9IGNsaWNrQ291bnQ7Ci0KLSAgICBtX3RpbWVzdGFtcCA9IFdU
Rjo6Y3VycmVudFRpbWUoKTsKIH0KIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d3gvTW91c2VXaGVlbEV2ZW50V3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3d4L01vdXNlV2hlZWxFdmVudFd4LmNwcAkocmV2aXNpb24gMTAzMTY4KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvTW91c2VXaGVlbEV2ZW50V3guY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNSw3ICsyNSw5IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQ
bGF0Zm9ybVdoZWVsRXZlbnQuaCIKKwogI2luY2x1ZGUgIlNjcm9sbGJhci5oIgorI2luY2x1ZGUg
PHd0Zi9DdXJyZW50VGltZS5oPgogCiAjaW5jbHVkZSA8d3gvZGVmcy5oPgogI2luY2x1ZGUgPHd4
L2V2ZW50Lmg+CkBAIC0zMyw3ICszNSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBsYXRm
b3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KGNvbnN0IHd4TW91c2VFdmVudCYgZXZl
bnQsIGNvbnN0IHd4UG9pbnQmIGdsb2JhbFBvaW50KQotICAgIDogUGxhdGZvcm1FdmVudChQbGF0
Zm9ybUV2ZW50OjpXaGVlbCwgZXZlbnQuU2hpZnREb3duKCksIGV2ZW50LkNvbnRyb2xEb3duKCks
IGV2ZW50LkFsdERvd24oKSwgZXZlbnQuTWV0YURvd24oKSkKKyAgICA6IFBsYXRmb3JtRXZlbnQo
UGxhdGZvcm1FdmVudDo6V2hlZWwsIGV2ZW50LlNoaWZ0RG93bigpLCBldmVudC5Db250cm9sRG93
bigpLCBldmVudC5BbHREb3duKCksIGV2ZW50Lk1ldGFEb3duKCksIFdURjo6Y3VycmVudFRpbWUo
KSkKICAgICAsIG1fcG9zaXRpb24oZXZlbnQuR2V0UG9zaXRpb24oKSkKICAgICAsIG1fZ2xvYmFs
UG9zaXRpb24oZ2xvYmFsUG9pbnQpCiAgICAgLCBtX2dyYW51bGFyaXR5KFNjcm9sbEJ5UGl4ZWxX
aGVlbEV2ZW50KQpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lv
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkV2ZW50Q29udmVy
c2lvbi5jcHAJKHJldmlzaW9uIDEwMzE2OCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJF
dmVudENvbnZlcnNpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw2ICs1Myw3IEBAIHB1Ymxp
YzoKICAgICAgICAgbV9jdHJsS2V5ID0gd2ViRXZlbnQuY29udHJvbEtleSgpOwogICAgICAgICBt
X2FsdEtleSA9IHdlYkV2ZW50LmFsdEtleSgpOwogICAgICAgICBtX21ldGFLZXkgPSB3ZWJFdmVu
dC5tZXRhS2V5KCk7CisgICAgICAgIG1fdGltZXN0YW1wID0gd2ViRXZlbnQudGltZXN0YW1wKCk7
CiAKICAgICAgICAgLy8gUGxhdGZvcm1Nb3VzZUV2ZW50CiAgICAgICAgIHN3aXRjaCAod2ViRXZl
bnQuYnV0dG9uKCkpIHsKQEAgLTc1LDcgKzc2LDYgQEAgcHVibGljOgogICAgICAgICBtX3Bvc2l0
aW9uID0gd2ViRXZlbnQucG9zaXRpb24oKTsKICAgICAgICAgbV9nbG9iYWxQb3NpdGlvbiA9IHdl
YkV2ZW50Lmdsb2JhbFBvc2l0aW9uKCk7CiAgICAgICAgIG1fY2xpY2tDb3VudCA9IHdlYkV2ZW50
LmNsaWNrQ291bnQoKTsKLSAgICAgICAgbV90aW1lc3RhbXAgPSB3ZWJFdmVudC50aW1lc3RhbXAo
KTsKIAogICAgICAgICBtX21vZGlmaWVyRmxhZ3MgPSAwOwogICAgICAgICBpZiAobV9zaGlmdEtl
eSkKQEAgLTEwOCw2ICsxMDgsNyBAQCBwdWJsaWM6CiAgICAgICAgIG1fY3RybEtleSA9IHdlYkV2
ZW50LmNvbnRyb2xLZXkoKTsKICAgICAgICAgbV9hbHRLZXkgPSB3ZWJFdmVudC5hbHRLZXkoKTsK
ICAgICAgICAgbV9tZXRhS2V5ID0gd2ViRXZlbnQubWV0YUtleSgpOworICAgICAgICBtX3RpbWVz
dGFtcCA9IHdlYkV2ZW50LnRpbWVzdGFtcCgpOwogCiAgICAgICAgIC8vIFBsYXRmb3JtV2hlZWxF
dmVudAogICAgICAgICBtX3Bvc2l0aW9uID0gd2ViRXZlbnQucG9zaXRpb24oKTsKQEAgLTEyMiw3
ICsxMjMsNiBAQCBwdWJsaWM6CiAgICAgICAgIG1fcGhhc2UgPSBzdGF0aWNfY2FzdDxXZWJDb3Jl
OjpQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZT4od2ViRXZlbnQucGhhc2UoKSk7CiAgICAgICAgIG1f
bW9tZW50dW1QaGFzZSA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudFBo
YXNlPih3ZWJFdmVudC5tb21lbnR1bVBoYXNlKCkpOwogICAgICAgICBtX2hhc1ByZWNpc2VTY3Jv
bGxpbmdEZWx0YXMgPSB3ZWJFdmVudC5oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCk7Ci0gICAg
ICAgIG1fdGltZXN0YW1wID0gd2ViRXZlbnQudGltZXN0YW1wKCk7CiAjZW5kaWYKICAgICB9CiB9
OwpAQCAtMTU4LDYgKzE1OCw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9jdHJsS2V5ID0gd2ViRXZl
bnQuY29udHJvbEtleSgpOwogICAgICAgICBtX2FsdEtleSA9IHdlYkV2ZW50LmFsdEtleSgpOwog
ICAgICAgICBtX21ldGFLZXkgPSB3ZWJFdmVudC5tZXRhS2V5KCk7CisgICAgICAgIG1fdGltZXN0
YW1wID0gd2ViRXZlbnQudGltZXN0YW1wKCk7CiAKICAgICAgICAgLy8gUGxhdGZvcm1LZXlib2Fy
ZEV2ZW50CiAgICAgICAgIG1fdGV4dCA9IHdlYkV2ZW50LnRleHQoKTsKQEAgLTIwNSwxMSArMjA2
LDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9jdHJsS2V5ID0gd2ViRXZlbnQuY29udHJvbEtleSgp
OwogICAgICAgICBtX2FsdEtleSA9IHdlYkV2ZW50LmFsdEtleSgpOwogICAgICAgICBtX21ldGFL
ZXkgPSB3ZWJFdmVudC5tZXRhS2V5KCk7CisgICAgICAgIG1fdGltZXN0YW1wID0gd2ViRXZlbnQu
dGltZXN0YW1wKCk7CiAKICAgICAgICAgLy8gUGxhdGZvcm1HZXN0dXJlRXZlbnQKICAgICAgICAg
bV9wb3NpdGlvbiA9IHdlYkV2ZW50LnBvc2l0aW9uKCk7CiAgICAgICAgIG1fZ2xvYmFsUG9zaXRp
b24gPSB3ZWJFdmVudC5nbG9iYWxQb3NpdGlvbigpOwotICAgICAgICBtX3RpbWVzdGFtcCA9IHdl
YkV2ZW50LnRpbWVzdGFtcCgpOwogICAgIH0KIH07CiAKQEAgLTI3Nyw2ICsyNzgsNyBAQCBwdWJs
aWM6CiAgICAgICAgIG1fYWx0S2V5ID0gd2ViRXZlbnQuYWx0S2V5KCk7CiAgICAgICAgIG1fc2hp
ZnRLZXkgPSB3ZWJFdmVudC5zaGlmdEtleSgpOwogICAgICAgICBtX21ldGFLZXkgPSB3ZWJFdmVu
dC5tZXRhS2V5KCk7CisgICAgICAgIG1fdGltZXN0YW1wID0gd2ViRXZlbnQudGltZXN0YW1wKCk7
CiAKICAgICAgICAgLy8gUGxhdGZvcm1Ub3VjaEV2ZW50CiAgICAgICAgIGZvciAoaW50IGkgPSAw
OyBpIDwgd2ViRXZlbnQudG91Y2hQb2ludHMoKS5zaXplKCk7ICsraSkK
</data>
<flag name="review"
          id="119880"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>