<?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>78601</bug_id>
          
          <creation_ts>2012-02-14 06:03:36 -0800</creation_ts>
          <short_desc>Web Inspector: implement redo for DOM actions.</short_desc>
          <delta_ts>2012-02-15 01:12:34 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>556266</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-02-14 06:03:36 -0800</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556289</commentid>
    <comment_count>1</comment_count>
      <attachid>126976</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-02-14 07:16:36 -0800</bug_when>
    <thetext>Created attachment 126976
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556292</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-14 07:18:25 -0800</bug_when>
    <thetext>Attachment 126976 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;]&quot; exit_code: 9

Updating OpenSource
First, rewinding head to replay your work on top of it...
Applying: [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets
Using index info to reconstruct a base tree...
&lt;stdin&gt;:1578: trailing whitespace.
        
&lt;stdin&gt;:1647: trailing whitespace.
    
&lt;stdin&gt;:1657: trailing whitespace.
    
&lt;stdin&gt;:1672: trailing whitespace.
        return 0;        
&lt;stdin&gt;:1674: trailing whitespace.
    
warning: squelched 7 whitespace errors
warning: 12 lines add whitespace errors.
Falling back to patching base and 3-way merge...
warning: too many files (created: 168776 deleted: 3), skipping inexact rename detection
Auto-merging LayoutTests/ChangeLog
CONFLICT (content): Merge conflict in LayoutTests/ChangeLog
Auto-merging Source/WebCore/ChangeLog
CONFLICT (content): Merge conflict in Source/WebCore/ChangeLog
Auto-merging Source/WebKit2/ChangeLog
CONFLICT (content): Merge conflict in Source/WebKit2/ChangeLog
Auto-merging Tools/ChangeLog
CONFLICT (content): Merge conflict in Tools/ChangeLog
Failed to merge in the changes.
Patch failed at 0001 [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557017</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-02-15 01:12:34 -0800</bug_when>
    <thetext>Committed r107792: &lt;http://trac.webkit.org/changeset/107792&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126976</attachid>
            <date>2012-02-14 07:16:36 -0800</date>
            <delta_ts>2012-02-14 07:52:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78601-20120214191639.patch</filename>
            <type>text/plain</type>
            <size>39660</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNkN2EyYjdlNzdhYjE1
ODVhMTRiNTM0Mzk2ZjdjZDliYWYxZGMxZi4uNThkMjFjOGJhZGMzNDFiMWVmNzg4YTRhYmU4MGY2
ZmI2NmIyNjEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDc5IEBACiAyMDEyLTAyLTE0ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGltcGxlbWVudCByZWRvIGZvciBET00gYWN0aW9ucy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NjAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvRE9NRWRpdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTUVkaXRvcjo6UmVtb3ZlQ2hpbGRBY3Rpb246OnBlcmZvcm0pOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NRWRpdG9yOjpSZW1vdmVDaGlsZEFjdGlvbjo6cmVkbyk6Cisg
ICAgICAgIChET01FZGl0b3I6OlJlbW92ZUNoaWxkQWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkRPTUVkaXRvcjo6SW5zZXJ0QmVmb3JlQWN0aW9uOjpyZWRvKToKKyAgICAgICAgKERPTUVkaXRv
cjo6SW5zZXJ0QmVmb3JlQWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUVkaXRvcjo6UmVt
b3ZlQXR0cmlidXRlQWN0aW9uOjpwZXJmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUVkaXRv
cjo6UmVtb3ZlQXR0cmlidXRlQWN0aW9uOjpyZWRvKToKKyAgICAgICAgKERPTUVkaXRvcjo6UmVt
b3ZlQXR0cmlidXRlQWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUVkaXRvcjo6U2V0QXR0
cmlidXRlQWN0aW9uOjpwZXJmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUVkaXRvcjo6U2V0
QXR0cmlidXRlQWN0aW9uOjpyZWRvKToKKyAgICAgICAgKERPTUVkaXRvcjo6U2V0QXR0cmlidXRl
QWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUVkaXRvcjo6U2V0T3V0ZXJIVE1MQWN0aW9u
OjpyZWRvKToKKyAgICAgICAgKERPTUVkaXRvcjo6U2V0T3V0ZXJIVE1MQWN0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRPTUVkaXRvcjo6UmVwbGFjZVdob2xlVGV4dEFjdGlvbjo6cGVyZm9ybSk6
CisgICAgICAgIChXZWJDb3JlOjpET01FZGl0b3I6OlJlcGxhY2VXaG9sZVRleHRBY3Rpb246OnJl
ZG8pOgorICAgICAgICAoRE9NRWRpdG9yOjpSZXBsYWNlV2hvbGVUZXh0QWN0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRPTUVkaXRvcjo6UmVwbGFjZUNoaWxkTm9kZUFjdGlvbjo6cGVyZm9ybSk6
CisgICAgICAgIChXZWJDb3JlOjpET01FZGl0b3I6OlJlcGxhY2VDaGlsZE5vZGVBY3Rpb246OnJl
ZG8pOgorICAgICAgICAoRE9NRWRpdG9yOjpSZXBsYWNlQ2hpbGROb2RlQWN0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRPTUVkaXRvcjo6U2V0Tm9kZVZhbHVlQWN0aW9uOjpwZXJmb3JtKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTUVkaXRvcjo6U2V0Tm9kZVZhbHVlQWN0aW9uOjpyZWRvKToKKyAg
ICAgICAgKERPTUVkaXRvcjo6U2V0Tm9kZVZhbHVlQWN0aW9uKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNTU0FnZW50OjpTZXRTdHlsZVNoZWV0
VGV4dEFjdGlvbjo6cGVyZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDU1NBZ2Vu
dDo6U2V0U3R5bGVTaGVldFRleHRBY3Rpb246OnVuZG8pOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yQ1NTQWdlbnQ6OlNldFN0eWxlU2hlZXRUZXh0QWN0aW9uOjpyZWRvKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNTU0FnZW50OjpTZXRQcm9wZXJ0eVRleHRBY3Rpb246OnBlcmZv
cm0pOgorICAgICAgICAoSW5zcGVjdG9yQ1NTQWdlbnQ6OlNldFByb3BlcnR5VGV4dEFjdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDU1NBZ2VudDo6U2V0UHJvcGVydHlUZXh0QWN0
aW9uOjp1bmRvKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNTU0FnZW50OjpTZXRQcm9w
ZXJ0eVRleHRBY3Rpb246OnJlZG8pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1NTQWdl
bnQ6OlRvZ2dsZVByb3BlcnR5QWN0aW9uOjpwZXJmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckNTU0FnZW50OjpUb2dnbGVQcm9wZXJ0eUFjdGlvbjo6cmVkbyk6CisgICAgICAgIChJ
bnNwZWN0b3JDU1NBZ2VudDo6VG9nZ2xlUHJvcGVydHlBY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yQ1NTQWdlbnQ6OlNldFJ1bGVTZWxlY3RvckFjdGlvbjo6cGVyZm9ybSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDU1NBZ2VudDo6U2V0UnVsZVNlbGVjdG9yQWN0aW9u
OjpyZWRvKToKKyAgICAgICAgKEluc3BlY3RvckNTU0FnZW50OjpTZXRSdWxlU2VsZWN0b3JBY3Rp
b24pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1NTQWdlbnQ6OkFkZFJ1bGVBY3Rpb246
OnBlcmZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1NTQWdlbnQ6OkFkZFJ1bGVB
Y3Rpb246OnJlZG8pOgorICAgICAgICAoSW5zcGVjdG9yQ1NTQWdlbnQ6OkFkZFJ1bGVBY3Rpb24p
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6c2V0Tm9kZVZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckRPTUFnZW50OjpyZWRvKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oOgorICAgICAgICAoSW5zcGVjdG9yRE9N
QWdlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JIaXN0b3J5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckhpc3Rvcnk6Okluc3BlY3Rvckhpc3RvcnkpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9ySGlzdG9yeTo6cGVyZm9ybSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JIaXN0b3J5OjptYXJrVW5kb2FibGVTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JIaXN0b3J5Ojp1bmRvKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckhp
c3Rvcnk6OnJlZG8pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvckhpc3RvcnkuaDoKKyAgICAgICAgKEFjdGlvbik6CisgICAgICAgIChJbnNwZWN0b3JI
aXN0b3J5KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxlTW9kZWwuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ1NTU3R5bGVNb2RlbC5wcm90b3R5cGUuX3VuZG9SZWRvUmVxdWVzdGVkKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZU1vZGVsLnByb3RvdHlwZS5fdW5kb1JlZG9Db21wbGV0
ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlLmdldCB1bmRvKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5cGUucmVkbyk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1l
bnRzUGFuZWwucHJvdG90eXBlLmhhbmRsZVNob3J0Y3V0KToKKworMjAxMi0wMi0xNCAgUGF2ZWwg
RmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBMaXN0IGV4cGFuc2lvbiBhcnJvd3MgaXMgcG9pbnRpbmcgZG93biBldmVuCiAgICAgICAgIHdo
ZW4gdGhlIGxpc3Qgb2YgZXZlbnRMaXN0ZW5lcnMgYXJlIGhpZGRlbiBpbiB0aGUgRWxlbWVudHMg
dGFiCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODM2
MApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmNwcAppbmRleCBmMGEzMTQwYjYzOTFh
NGNhODY1MTg2ZDhlZDQ4NzI3NjI5MWU2MThmLi5iYjhhYzE0MDA1ZGI2ZTNjMzY5MTg4N2VkYWIz
NDk1MTA0ZDllMmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRp
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmNwcApAQCAt
NjIsNyArNjIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHBlcmZvcm0oRXhjZXB0aW9u
Q29kZSYgZWMpCiAgICAgewogICAgICAgICBtX2FuY2hvck5vZGUgPSBtX25vZGUtPm5leHRTaWJs
aW5nKCk7Ci0gICAgICAgIHJldHVybiBtX3BhcmVudE5vZGUtPnJlbW92ZUNoaWxkKG1fbm9kZS5n
ZXQoKSwgZWMpOworICAgICAgICByZXR1cm4gcmVkbyhlYyk7CiAgICAgfQogCiAgICAgdmlydHVh
bCBib29sIHVuZG8oRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC03MCw2ICs3MCwxMSBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBtX3BhcmVudE5vZGUtPmluc2VydEJlZm9yZShtX25vZGUuZ2V0KCks
IG1fYW5jaG9yTm9kZS5nZXQoKSwgZWMpOwogICAgIH0KIAorICAgIHZpcnR1YWwgYm9vbCByZWRv
KEV4Y2VwdGlvbkNvZGUmIGVjKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fcGFyZW50Tm9kZS0+
cmVtb3ZlQ2hpbGQobV9ub2RlLmdldCgpLCBlYyk7CisgICAgfQorCiBwcml2YXRlOgogICAgIFJl
ZlB0cjxOb2RlPiBtX3BhcmVudE5vZGU7CiAgICAgUmVmUHRyPE5vZGU+IG1fbm9kZTsKQEAgLTEw
Niw2ICsxMTEsMTMgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKKyAg
ICB2aXJ0dWFsIGJvb2wgcmVkbyhFeGNlcHRpb25Db2RlJiBlYykKKyAgICB7CisgICAgICAgIGlm
IChtX3JlbW92ZUNoaWxkQWN0aW9uICYmICFtX3JlbW92ZUNoaWxkQWN0aW9uLT5yZWRvKGVjKSkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIG1fcGFyZW50Tm9kZS0+
aW5zZXJ0QmVmb3JlKG1fbm9kZS5nZXQoKSwgbV9hbmNob3JOb2RlLmdldCgpLCBlYyk7CisgICAg
fQorCiBwcml2YXRlOgogICAgIFJlZlB0cjxOb2RlPiBtX3BhcmVudE5vZGU7CiAgICAgUmVmUHRy
PE5vZGU+IG1fbm9kZTsKQEAgLTEyMywxMSArMTM1LDEwIEBAIHB1YmxpYzoKICAgICB7CiAgICAg
fQogCi0gICAgdmlydHVhbCBib29sIHBlcmZvcm0oRXhjZXB0aW9uQ29kZSYpCisgICAgdmlydHVh
bCBib29sIHBlcmZvcm0oRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgewogICAgICAgICBtX3ZhbHVl
ID0gbV9lbGVtZW50LT5nZXRBdHRyaWJ1dGUobV9uYW1lKTsKLSAgICAgICAgbV9lbGVtZW50LT5y
ZW1vdmVBdHRyaWJ1dGUobV9uYW1lKTsKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJl
dHVybiByZWRvKGVjKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIGJvb2wgdW5kbyhFeGNlcHRpb25D
b2RlJiBlYykKQEAgLTEzNiw2ICsxNDcsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgcmVkbyhFeGNlcHRpb25Db2RlJiBlYykKKyAg
ICB7CisgICAgICAgIG1fZWxlbWVudC0+cmVtb3ZlQXR0cmlidXRlKG1fbmFtZSk7CisgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKwogcHJpdmF0ZToKICAgICBSZWZQdHI8RWxlbWVudD4gbV9l
bGVtZW50OwogICAgIFN0cmluZyBtX25hbWU7CkBAIC0xNTksOCArMTc2LDcgQEAgcHVibGljOgog
ICAgICAgICBtX2hhZEF0dHJpYnV0ZSA9IG1fZWxlbWVudC0+aGFzQXR0cmlidXRlKG1fbmFtZSk7
CiAgICAgICAgIGlmIChtX2hhZEF0dHJpYnV0ZSkKICAgICAgICAgICAgIG1fb2xkVmFsdWUgPSBt
X2VsZW1lbnQtPmdldEF0dHJpYnV0ZShtX25hbWUpOwotICAgICAgICBtX2VsZW1lbnQtPnNldEF0
dHJpYnV0ZShtX25hbWUsIG1fdmFsdWUsIGVjKTsKLSAgICAgICAgcmV0dXJuICFlYzsKKyAgICAg
ICAgcmV0dXJuIHJlZG8oZWMpOwogICAgIH0KIAogICAgIHZpcnR1YWwgYm9vbCB1bmRvKEV4Y2Vw
dGlvbkNvZGUmIGVjKQpAQCAtMTcyLDYgKzE4OCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIH0KIAorICAgIHZpcnR1YWwgYm9vbCByZWRvKEV4Y2VwdGlvbkNvZGUmIGVj
KQorICAgIHsKKyAgICAgICAgbV9lbGVtZW50LT5zZXRBdHRyaWJ1dGUobV9uYW1lLCBtX3ZhbHVl
LCBlYyk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogcHJpdmF0ZToKICAgICBSZWZQ
dHI8RWxlbWVudD4gbV9lbGVtZW50OwogICAgIFN0cmluZyBtX25hbWU7CkBAIC0yMDcsNiArMjI5
LDExIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1faGlzdG9yeS0+dW5kbyhlYyk7CiAgICAg
fQogCisgICAgdmlydHVhbCBib29sIHJlZG8oRXhjZXB0aW9uQ29kZSYgZWMpCisgICAgeworICAg
ICAgICByZXR1cm4gbV9oaXN0b3J5LT5yZWRvKGVjKTsKKyAgICB9CisKICAgICBOb2RlKiBuZXdO
b2RlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX25ld05vZGU7CkBAIC0yMzUsOCArMjYyLDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBwZXJmb3JtKEV4Y2VwdGlvbkNvZGUmIGVjKQog
ICAgIHsKICAgICAgICAgbV9vbGRUZXh0ID0gbV90ZXh0Tm9kZS0+d2hvbGVUZXh0KCk7Ci0gICAg
ICAgIG1fdGV4dE5vZGUtPnJlcGxhY2VXaG9sZVRleHQobV90ZXh0LCBlYyk7Ci0gICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICByZXR1cm4gcmVkbyhlYyk7CiAgICAgfQogCiAgICAgdmlydHVh
bCBib29sIHVuZG8oRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC0yNDUsNiArMjcxLDEyIEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCisgICAgdmlydHVhbCBib29sIHJlZG8o
RXhjZXB0aW9uQ29kZSYgZWMpCisgICAgeworICAgICAgICBtX3RleHROb2RlLT5yZXBsYWNlV2hv
bGVUZXh0KG1fdGV4dCwgZWMpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKIHByaXZh
dGU6CiAgICAgUmVmUHRyPFRleHQ+IG1fdGV4dE5vZGU7CiAgICAgU3RyaW5nIG1fdGV4dDsKQEAg
LTI2NCw3ICsyOTYsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgcGVyZm9ybShFeGNl
cHRpb25Db2RlJiBlYykKICAgICB7Ci0gICAgICAgIHJldHVybiBtX3BhcmVudE5vZGUtPnJlcGxh
Y2VDaGlsZChtX25ld05vZGUsIG1fb2xkTm9kZS5nZXQoKSwgZWMpOworICAgICAgICByZXR1cm4g
cmVkbyhlYyk7CiAgICAgfQogCiAgICAgdmlydHVhbCBib29sIHVuZG8oRXhjZXB0aW9uQ29kZSYg
ZWMpCkBAIC0yNzIsNiArMzA0LDExIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fcGFyZW50
Tm9kZS0+cmVwbGFjZUNoaWxkKG1fb2xkTm9kZSwgbV9uZXdOb2RlLmdldCgpLCBlYyk7CiAgICAg
fQogCisgICAgdmlydHVhbCBib29sIHJlZG8oRXhjZXB0aW9uQ29kZSYgZWMpCisgICAgeworICAg
ICAgICByZXR1cm4gbV9wYXJlbnROb2RlLT5yZXBsYWNlQ2hpbGQobV9uZXdOb2RlLCBtX29sZE5v
ZGUuZ2V0KCksIGVjKTsKKyAgICB9CisKIHByaXZhdGU6CiAgICAgUmVmUHRyPE5vZGU+IG1fcGFy
ZW50Tm9kZTsKICAgICBSZWZQdHI8Tm9kZT4gbV9uZXdOb2RlOwpAQCAtMjkxLDggKzMyOCw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgcGVyZm9ybShFeGNlcHRpb25Db2RlJiBlYykKICAg
ICB7CiAgICAgICAgIG1fb2xkVmFsdWUgPSBtX25vZGUtPm5vZGVWYWx1ZSgpOwotICAgICAgICBt
X25vZGUtPnNldE5vZGVWYWx1ZShtX3ZhbHVlLCBlYyk7Ci0gICAgICAgIHJldHVybiAhZWM7Cisg
ICAgICAgIHJldHVybiByZWRvKGVjKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIGJvb2wgdW5kbyhF
eGNlcHRpb25Db2RlJiBlYykKQEAgLTMwMSw2ICszMzcsMTIgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gIWVjOwogICAgIH0KIAorICAgIHZpcnR1YWwgYm9vbCByZWRvKEV4Y2VwdGlvbkNvZGUm
IGVjKQorICAgIHsKKyAgICAgICAgbV9ub2RlLT5zZXROb2RlVmFsdWUobV92YWx1ZSwgZWMpOwor
ICAgICAgICByZXR1cm4gIWVjOworICAgIH0KKwogcHJpdmF0ZToKICAgICBSZWZQdHI8Tm9kZT4g
bV9ub2RlOwogICAgIFN0cmluZyBtX3ZhbHVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvci5qc29uCmluZGV4IDU0NTFmM2QyNjliN2U1N2Q3YjYxMTVjM2JhYjE4NmRkNGU1ZGRlNTUu
LjliMTk4ZDc3NDk2ZGVlNWIyMGRlODdhYjc2YzJhZjdmOWUzMzAxZDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTE1MjMsNiArMTUyMywxMSBAQAogICAgICAg
ICAgICAgICAgICJoaWRkZW4iOiB0cnVlCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICJuYW1lIjogInJlZG8iLAorICAgICAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJSZS1kb2VzIHRoZSBsYXN0IHVuZG9uZSBhY3Rpb24uIiwKKyAgICAgICAgICAgICAg
ICAiaGlkZGVuIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJtYXJrVW5kb2FibGVTdGF0ZSIsCiAgICAgICAgICAgICAgICAgImRl
c2NyaXB0aW9uIjogIk1hcmtzIGxhc3QgdW5kb2FibGUgc3RhdGUuIiwKICAgICAgICAgICAgICAg
ICAiaGlkZGVuIjogdHJ1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNTU0FnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
U1NBZ2VudC5jcHAKaW5kZXggYjFhYzQ1OTUyZDNmOTk5ODE5ODcyMzI0OGFhYWQ4NzIzZjljZDUy
Yy4uNTRjYTlhMjc5MjIxMzAwM2ZiZjg4N2M3ODM2YzM5YjRiNGFkZWI2NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0yNDAsMjIgKzI0
MCwyNiBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIHZpcnR1YWwgYm9vbCBwZXJmb3Jt
KEV4Y2VwdGlvbkNvZGUmKQorICAgIHZpcnR1YWwgYm9vbCBwZXJmb3JtKEV4Y2VwdGlvbkNvZGUm
IGVjKQogICAgIHsKICAgICAgICAgaWYgKCFtX3N0eWxlU2hlZXQtPmdldFRleHQoJm1fb2xkVGV4
dCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiByZWRvKGVjKTsK
KyAgICB9CiAKLSAgICAgICAgaWYgKG1fc3R5bGVTaGVldC0+c2V0VGV4dChtX3RleHQpKSB7Ci0g
ICAgICAgICAgICBtX3N0eWxlU2hlZXQtPnJlcGFyc2VTdHlsZVNoZWV0KG1fdGV4dCk7CisgICAg
dmlydHVhbCBib29sIHVuZG8oRXhjZXB0aW9uQ29kZSYpCisgICAgeworICAgICAgICBpZiAobV9z
dHlsZVNoZWV0LT5zZXRUZXh0KG1fb2xkVGV4dCkpIHsKKyAgICAgICAgICAgIG1fc3R5bGVTaGVl
dC0+cmVwYXJzZVN0eWxlU2hlZXQobV9vbGRUZXh0KTsKICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICB2aXJ0dWFs
IGJvb2wgdW5kbyhFeGNlcHRpb25Db2RlJikKKyAgICB2aXJ0dWFsIGJvb2wgcmVkbyhFeGNlcHRp
b25Db2RlJikKICAgICB7Ci0gICAgICAgIGlmIChtX3N0eWxlU2hlZXQtPnNldFRleHQobV9vbGRU
ZXh0KSkgewotICAgICAgICAgICAgbV9zdHlsZVNoZWV0LT5yZXBhcnNlU3R5bGVTaGVldChtX29s
ZFRleHQpOworICAgICAgICBpZiAobV9zdHlsZVNoZWV0LT5zZXRUZXh0KG1fdGV4dCkpIHsKKyAg
ICAgICAgICAgIG1fc3R5bGVTaGVldC0+cmVwYXJzZVN0eWxlU2hlZXQobV90ZXh0KTsKICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAg
LTI5OCw2ICszMDIsMTcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHBlcmZvcm0oRXhj
ZXB0aW9uQ29kZSYgZWMpCiAgICAgeworICAgICAgICByZXR1cm4gcmVkbyhlYyk7CisgICAgfQor
CisgICAgdmlydHVhbCBib29sIHVuZG8oRXhjZXB0aW9uQ29kZSYgZWMpCisgICAgeworICAgICAg
ICBTdHJpbmcgcGxhY2Vob2xkZXI7CisgICAgICAgIHJldHVybiBtX3N0eWxlU2hlZXQtPnNldFBy
b3BlcnR5VGV4dChtX2Nzc0lkLCBtX3Byb3BlcnR5SW5kZXgsIG1fb3ZlcndyaXRlID8gbV9vbGRU
ZXh0IDogIiIsIHRydWUsICZwbGFjZWhvbGRlciwgZWMpOworICAgIH0KKworICAgIHZpcnR1YWwg
Ym9vbCByZWRvKEV4Y2VwdGlvbkNvZGUmIGVjKQorICAgIHsKICAgICAgICAgU3RyaW5nIG9sZFRl
eHQ7CiAgICAgICAgIGJvb2wgcmVzdWx0ID0gbV9zdHlsZVNoZWV0LT5zZXRQcm9wZXJ0eVRleHQo
bV9jc3NJZCwgbV9wcm9wZXJ0eUluZGV4LCBtX3RleHQsIG1fb3ZlcndyaXRlLCAmb2xkVGV4dCwg
ZWMpOwogICAgICAgICBtX29sZFRleHQgPSBvbGRUZXh0LnN0cmlwV2hpdGVTcGFjZSgpOwpAQCAt
MzA3LDEyICszMjIsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQog
Ci0gICAgdmlydHVhbCBib29sIHVuZG8oRXhjZXB0aW9uQ29kZSYgZWMpCi0gICAgewotICAgICAg
ICBTdHJpbmcgcGxhY2Vob2xkZXI7Ci0gICAgICAgIHJldHVybiBtX3N0eWxlU2hlZXQtPnNldFBy
b3BlcnR5VGV4dChtX2Nzc0lkLCBtX3Byb3BlcnR5SW5kZXgsIG1fb3ZlcndyaXRlID8gbV9vbGRU
ZXh0IDogIiIsIHRydWUsICZwbGFjZWhvbGRlciwgZWMpOwotICAgIH0KLQogICAgIHZpcnR1YWwg
U3RyaW5nIG1lcmdlSWQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCJT
ZXRQcm9wZXJ0eVRleHQgJXM6JXU6JXMiLCBtX3N0eWxlU2hlZXQtPmlkKCkudXRmOCgpLmRhdGEo
KSwgbV9wcm9wZXJ0eUluZGV4LCBtX292ZXJ3cml0ZSA/ICJ0cnVlIiA6ICJmYWxzZSIpOwpAQCAt
MzQ3LDcgKzM1Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBwZXJmb3JtKEV4Y2Vw
dGlvbkNvZGUmIGVjKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fc3R5bGVTaGVldC0+dG9nZ2xl
UHJvcGVydHkobV9jc3NJZCwgbV9wcm9wZXJ0eUluZGV4LCBtX2Rpc2FibGUsIGVjKTsKKyAgICAg
ICAgcmV0dXJuIHJlZG8oZWMpOwogICAgIH0KIAogICAgIHZpcnR1YWwgYm9vbCB1bmRvKEV4Y2Vw
dGlvbkNvZGUmIGVjKQpAQCAtMzU1LDYgKzM2NCwxMSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBtX3N0eWxlU2hlZXQtPnRvZ2dsZVByb3BlcnR5KG1fY3NzSWQsIG1fcHJvcGVydHlJbmRleCwg
IW1fZGlzYWJsZSwgZWMpOwogICAgIH0KIAorICAgIHZpcnR1YWwgYm9vbCByZWRvKEV4Y2VwdGlv
bkNvZGUmIGVjKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fc3R5bGVTaGVldC0+dG9nZ2xlUHJv
cGVydHkobV9jc3NJZCwgbV9wcm9wZXJ0eUluZGV4LCBtX2Rpc2FibGUsIGVjKTsKKyAgICB9CisK
IHByaXZhdGU6CiAgICAgSW5zcGVjdG9yQ1NTSWQgbV9jc3NJZDsKICAgICB1bnNpZ25lZCBtX3By
b3BlcnR5SW5kZXg7CkBAIC0zNzYsNyArMzkwLDcgQEAgcHVibGljOgogICAgICAgICBtX29sZFNl
bGVjdG9yID0gbV9zdHlsZVNoZWV0LT5ydWxlU2VsZWN0b3IobV9jc3NJZCwgZWMpOwogICAgICAg
ICBpZiAoZWMpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJldHVybiBtX3N0
eWxlU2hlZXQtPnNldFJ1bGVTZWxlY3RvcihtX2Nzc0lkLCBtX3NlbGVjdG9yLCBlYyk7CisgICAg
ICAgIHJldHVybiByZWRvKGVjKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIGJvb2wgdW5kbyhFeGNl
cHRpb25Db2RlJiBlYykKQEAgLTM4NCw2ICszOTgsMTEgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gbV9zdHlsZVNoZWV0LT5zZXRSdWxlU2VsZWN0b3IobV9jc3NJZCwgbV9vbGRTZWxlY3Rvciwg
ZWMpOwogICAgIH0KIAorICAgIHZpcnR1YWwgYm9vbCByZWRvKEV4Y2VwdGlvbkNvZGUmIGVjKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIG1fc3R5bGVTaGVldC0+c2V0UnVsZVNlbGVjdG9yKG1fY3Nz
SWQsIG1fc2VsZWN0b3IsIGVjKTsKKyAgICB9CisKIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yQ1NT
SWQgbV9jc3NJZDsKICAgICBTdHJpbmcgbV9zZWxlY3RvcjsKQEAgLTQwMSwxMSArNDIwLDcgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHBlcmZvcm0oRXhjZXB0aW9uQ29kZSYgZWMpCiAg
ICAgewotICAgICAgICBDU1NTdHlsZVJ1bGUqIGNzc1N0eWxlUnVsZSA9IG1fc3R5bGVTaGVldC0+
YWRkUnVsZShtX3NlbGVjdG9yLCBlYyk7Ci0gICAgICAgIGlmIChlYykKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAgICAgbV9uZXdJZCA9IG1fc3R5bGVTaGVldC0+cnVsZUlkKGNzc1N0
eWxlUnVsZSk7Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gcmVkbyhlYyk7
CiAgICAgfQogCiAgICAgdmlydHVhbCBib29sIHVuZG8oRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC00
MTMsNiArNDI4LDE1IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fc3R5bGVTaGVldC0+ZGVs
ZXRlUnVsZShtX25ld0lkLCBlYyk7CiAgICAgfQogCisgICAgdmlydHVhbCBib29sIHJlZG8oRXhj
ZXB0aW9uQ29kZSYgZWMpCisgICAgeworICAgICAgICBDU1NTdHlsZVJ1bGUqIGNzc1N0eWxlUnVs
ZSA9IG1fc3R5bGVTaGVldC0+YWRkUnVsZShtX3NlbGVjdG9yLCBlYyk7CisgICAgICAgIGlmIChl
YykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgbV9uZXdJZCA9IG1fc3R5bGVT
aGVldC0+cnVsZUlkKGNzc1N0eWxlUnVsZSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KwogICAgIEluc3BlY3RvckNTU0lkIG5ld1J1bGVJZCgpIHsgcmV0dXJuIG1fbmV3SWQ7IH0KIAog
cHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwCmluZGV4IGI5ZjIwNzgyMDY5ZWFjNWRjYWNhYTljODZjMGZiMTY1ZjNhNTNiZTIuLjVlYjNl
ZTlhZWVhZjlkMmFjNmJlYzUyMDM5NDk4MWY1MDY4YWNmYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtNzA3LDYgKzcwNyw3IEBAIHZv
aWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnNldE5vZGVWYWx1ZShFcnJvclN0cmluZyogZXJyb3JTdHJp
bmcsIGludCBub2RlSWQsIGNvbnN0CiAgICAgfQogCiAgICAgbV9kb21FZGl0b3ItPnJlcGxhY2VX
aG9sZVRleHQodG9UZXh0KG5vZGUpLCB2YWx1ZSwgZXJyb3JTdHJpbmcpOworICAgIG1faGlzdG9y
eS0+bWFya1VuZG9hYmxlU3RhdGUoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6Z2V0
RXZlbnRMaXN0ZW5lcnNGb3JOb2RlKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCwgUmVmUHRyPElu
c3BlY3RvckFycmF5PiYgbGlzdGVuZXJzQXJyYXkpCkBAIC0xMDkxLDYgKzEwOTIsMTMgQEAgdm9p
ZCBJbnNwZWN0b3JET01BZ2VudDo6dW5kbyhFcnJvclN0cmluZyogZXJyb3JTdHJpbmcpCiAgICAg
KmVycm9yU3RyaW5nID0gSW5zcGVjdG9yRE9NQWdlbnQ6OnRvRXJyb3JTdHJpbmcoZWMpOwogfQog
Cit2b2lkIEluc3BlY3RvckRPTUFnZW50OjpyZWRvKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZykK
K3sKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBtX2hpc3RvcnktPnJlZG8oZWMpOwor
ICAgICplcnJvclN0cmluZyA9IEluc3BlY3RvckRPTUFnZW50Ojp0b0Vycm9yU3RyaW5nKGVjKTsK
K30KKwogdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6bWFya1VuZG9hYmxlU3RhdGUoRXJyb3JTdHJp
bmcqKQogewogICAgIG1faGlzdG9yeS0+bWFya1VuZG9hYmxlU3RhdGUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggMjhhYWJlOWY3M2E3MjJk
YTk3Y2FlZmJiZjFkZTkyMWQ1NGQwMmVjYi4uNmI4MzM3YmJiZWUxNThiY2M2Mjg5Yjk4OTZhMDI1
NWNmZGNkMzQwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFn
ZW50LmgKQEAgLTE0Nyw2ICsxNDcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIG1vdmVU
byhFcnJvclN0cmluZyosIGludCBub2RlSWQsIGludCB0YXJnZXROb2RlSWQsIGNvbnN0IGludCog
YW5jaG9yTm9kZUlkLCBpbnQqIG5ld05vZGVJZCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFRvdWNo
RW11bGF0aW9uRW5hYmxlZChFcnJvclN0cmluZyosIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCB1
bmRvKEVycm9yU3RyaW5nKik7CisgICAgdmlydHVhbCB2b2lkIHJlZG8oRXJyb3JTdHJpbmcqKTsK
ICAgICB2aXJ0dWFsIHZvaWQgbWFya1VuZG9hYmxlU3RhdGUoRXJyb3JTdHJpbmcqKTsKIAogICAg
IE5vZGUqIGhpZ2hsaWdodGVkTm9kZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvckhpc3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckhpc3RvcnkuY3BwCmluZGV4IDgzMjQ4OTc2YjhkOTBjYTdkYzhmMDk1Yzhk
YzA2NmM5MzE3OWNkOTkuLmY5ZGI1YzY1ZDhkZGQxNzI3OGU4MjliMmVkYzI5MWEwYjVjMjAyMmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JIaXN0b3J5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9yeS5jcHAKQEAg
LTQ3LDYgKzQ3LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHVuZG8oRXhjZXB0aW9u
Q29kZSYpIHsgcmV0dXJuIHRydWU7IH0KIAorICAgIHZpcnR1YWwgYm9vbCByZWRvKEV4Y2VwdGlv
bkNvZGUmKSB7IHJldHVybiB0cnVlOyB9CisKICAgICB2aXJ0dWFsIGJvb2wgaXNVbmRvYWJsZVN0
YXRlTWFyaygpIHsgcmV0dXJuIHRydWU7IH0KIH07CiAKQEAgLTc5LDcgKzgxLDcgQEAgdm9pZCBJ
bnNwZWN0b3JIaXN0b3J5OjpBY3Rpb246Om1lcmdlKFBhc3NPd25QdHI8QWN0aW9uPikKIHsKIH0K
IAotSW5zcGVjdG9ySGlzdG9yeTo6SW5zcGVjdG9ySGlzdG9yeSgpIHsgfQorSW5zcGVjdG9ySGlz
dG9yeTo6SW5zcGVjdG9ySGlzdG9yeSgpIDogbV9hZnRlckxhc3RBY3Rpb25JbmRleCgwKSB7IH0K
IAogSW5zcGVjdG9ySGlzdG9yeTo6fkluc3BlY3Rvckhpc3RvcnkoKSB7IH0KIApAQCAtODgsMzgg
KzkwLDYwIEBAIGJvb2wgSW5zcGVjdG9ySGlzdG9yeTo6cGVyZm9ybShQYXNzT3duUHRyPEFjdGlv
bj4gYWN0aW9uLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBpZiAoIWFjdGlvbi0+cGVyZm9ybShl
YykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmICghbV9oaXN0b3J5LmlzRW1wdHko
KSAmJiAhYWN0aW9uLT5tZXJnZUlkKCkuaXNFbXB0eSgpICYmIGFjdGlvbi0+bWVyZ2VJZCgpID09
IG1faGlzdG9yeS5maXJzdCgpLT5tZXJnZUlkKCkpCi0gICAgICAgIG1faGlzdG9yeS5maXJzdCgp
LT5tZXJnZShhY3Rpb24pOwotICAgIGVsc2UKLSAgICAgICAgbV9oaXN0b3J5LnByZXBlbmQoYWN0
aW9uKTsKLQorICAgIGlmICghbV9oaXN0b3J5LmlzRW1wdHkoKSAmJiAhYWN0aW9uLT5tZXJnZUlk
KCkuaXNFbXB0eSgpICYmIGFjdGlvbi0+bWVyZ2VJZCgpID09IG1faGlzdG9yeVttX2FmdGVyTGFz
dEFjdGlvbkluZGV4IC0gMV0tPm1lcmdlSWQoKSkKKyAgICAgICAgbV9oaXN0b3J5W21fYWZ0ZXJM
YXN0QWN0aW9uSW5kZXggLSAxXS0+bWVyZ2UoYWN0aW9uKTsKKyAgICBlbHNlIHsKKyAgICAgICAg
bV9oaXN0b3J5LnJlc2l6ZShtX2FmdGVyTGFzdEFjdGlvbkluZGV4KTsKKyAgICAgICAgbV9oaXN0
b3J5LmFwcGVuZChhY3Rpb24pOworICAgICAgICArK21fYWZ0ZXJMYXN0QWN0aW9uSW5kZXg7Cisg
ICAgfQogICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIEluc3BlY3Rvckhpc3Rvcnk6Om1hcmtV
bmRvYWJsZVN0YXRlKCkKIHsKLSAgICBtX2hpc3RvcnkucHJlcGVuZChhZG9wdFB0cihuZXcgVW5k
b2FibGVTdGF0ZU1hcmsoKSkpOworICAgIEV4Y2VwdGlvbkNvZGUgZWM7CisgICAgcGVyZm9ybShh
ZG9wdFB0cihuZXcgVW5kb2FibGVTdGF0ZU1hcmsoKSksIGVjKTsKIH0KIAogYm9vbCBJbnNwZWN0
b3JIaXN0b3J5Ojp1bmRvKEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIHdoaWxlICghbV9oaXN0
b3J5LmlzRW1wdHkoKSAmJiBtX2hpc3RvcnkuZmlyc3QoKS0+aXNVbmRvYWJsZVN0YXRlTWFyaygp
KQotICAgICAgICBtX2hpc3RvcnkucmVtb3ZlRmlyc3QoKTsKKyAgICB3aGlsZSAobV9hZnRlckxh
c3RBY3Rpb25JbmRleCA+IDAgJiYgbV9oaXN0b3J5W21fYWZ0ZXJMYXN0QWN0aW9uSW5kZXggLSAx
XS0+aXNVbmRvYWJsZVN0YXRlTWFyaygpKQorICAgICAgICAtLW1fYWZ0ZXJMYXN0QWN0aW9uSW5k
ZXg7CiAKLSAgICB3aGlsZSAoIW1faGlzdG9yeS5pc0VtcHR5KCkpIHsKLSAgICAgICAgT3duUHRy
PEFjdGlvbj4gZmlyc3QgPSBtX2hpc3RvcnkudGFrZUZpcnN0KCk7Ci0gICAgICAgIGlmICghZmly
c3QtPnVuZG8oZWMpKSB7CisgICAgd2hpbGUgKG1fYWZ0ZXJMYXN0QWN0aW9uSW5kZXggPiAwKSB7
CisgICAgICAgIEFjdGlvbiogYWN0aW9uID0gbV9oaXN0b3J5W21fYWZ0ZXJMYXN0QWN0aW9uSW5k
ZXggLSAxXS5nZXQoKTsKKyAgICAgICAgaWYgKCFhY3Rpb24tPnVuZG8oZWMpKSB7CiAgICAgICAg
ICAgICBtX2hpc3RvcnkuY2xlYXIoKTsKKyAgICAgICAgICAgIG1fYWZ0ZXJMYXN0QWN0aW9uSW5k
ZXggPSAwOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9Ci0KLSAgICAgICAg
aWYgKGZpcnN0LT5pc1VuZG9hYmxlU3RhdGVNYXJrKCkpCisgICAgICAgIC0tbV9hZnRlckxhc3RB
Y3Rpb25JbmRleDsKKyAgICAgICAgaWYgKGFjdGlvbi0+aXNVbmRvYWJsZVN0YXRlTWFyaygpKQog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wg
SW5zcGVjdG9ySGlzdG9yeTo6cmVkbyhFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICB3aGlsZSAo
bV9hZnRlckxhc3RBY3Rpb25JbmRleCA8IG1faGlzdG9yeS5zaXplKCkgJiYgbV9oaXN0b3J5W21f
YWZ0ZXJMYXN0QWN0aW9uSW5kZXhdLT5pc1VuZG9hYmxlU3RhdGVNYXJrKCkpCisgICAgICAgICsr
bV9hZnRlckxhc3RBY3Rpb25JbmRleDsKKworICAgIHdoaWxlIChtX2FmdGVyTGFzdEFjdGlvbklu
ZGV4IDwgbV9oaXN0b3J5LnNpemUoKSkgeworICAgICAgICBBY3Rpb24qIGFjdGlvbiA9IG1faGlz
dG9yeVttX2FmdGVyTGFzdEFjdGlvbkluZGV4XS5nZXQoKTsKKyAgICAgICAgaWYgKCFhY3Rpb24t
PnJlZG8oZWMpKSB7CisgICAgICAgICAgICBtX2hpc3RvcnkucmVzaXplKG1fYWZ0ZXJMYXN0QWN0
aW9uSW5kZXgpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgICAg
ICsrbV9hZnRlckxhc3RBY3Rpb25JbmRleDsKKyAgICAgICAgaWYgKGFjdGlvbi0+aXNVbmRvYWJs
ZVN0YXRlTWFyaygpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybiB0cnVl
OworfQorCiB2b2lkIEluc3BlY3Rvckhpc3Rvcnk6OnJlc2V0KCkKIHsKICAgICBtX2hpc3Rvcnku
Y2xlYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JI
aXN0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9yeS5oCmlu
ZGV4IGE0ODgzMzgyNjRmZDk1MTI4ODkxMWNmOWQwYjIyYmIwNjAzZmEzNDEuLmIwNDdjZWIxMTAy
MzA4NzE5NDc1OTZkMTQwNTczZDQwMmJkYzUwZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JIaXN0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckhpc3RvcnkuaApAQCAtMzMsOCArMzMsOCBAQAogCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgogCi0jaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTQsMTMgKzU0LDE1IEBAIHB1Ymxp
YzoKICAgICAgICAgdmlydHVhbCB+QWN0aW9uKCk7CiAgICAgICAgIHZpcnR1YWwgU3RyaW5nIHRv
U3RyaW5nKCk7CiAKLSAgICAgICAgdmlydHVhbCBib29sIGlzVW5kb2FibGVTdGF0ZU1hcmsoKTsK
LQogICAgICAgICB2aXJ0dWFsIFN0cmluZyBtZXJnZUlkKCk7CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBtZXJnZShQYXNzT3duUHRyPEFjdGlvbj4pOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBwZXJm
b3JtKEV4Y2VwdGlvbkNvZGUmKSA9IDA7CisKICAgICAgICAgdmlydHVhbCBib29sIHVuZG8oRXhj
ZXB0aW9uQ29kZSYpID0gMDsKKyAgICAgICAgdmlydHVhbCBib29sIHJlZG8oRXhjZXB0aW9uQ29k
ZSYpID0gMDsKKworICAgICAgICB2aXJ0dWFsIGJvb2wgaXNVbmRvYWJsZVN0YXRlTWFyaygpOwog
ICAgIHByaXZhdGU6CiAgICAgICAgIFN0cmluZyBtX25hbWU7CiAgICAgfTsKQEAgLTcyLDExICs3
NCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBtYXJrVW5kb2FibGVTdGF0ZSgpOwogCiAgICAgYm9v
bCB1bmRvKEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBib29sIHJlZG8oRXhjZXB0aW9uQ29kZSYpOwog
ICAgIHZvaWQgcmVzZXQoKTsKIAogcHJpdmF0ZToKICAgICB2b2lkIGR1bXAoKTsKLSAgICBEZXF1
ZTxPd25QdHI8QWN0aW9uPiA+IG1faGlzdG9yeTsKKyAgICBWZWN0b3I8T3duUHRyPEFjdGlvbj4g
PiBtX2hpc3Rvcnk7CisgICAgc2l6ZV90IG1fYWZ0ZXJMYXN0QWN0aW9uSW5kZXg7CiB9OwogCiAj
ZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVNb2RlbC5qcwppbmRleCA0YWExOTZmMzlhZjk5Yjg1MmU4
MDMyNDQ5MDc0MzMyZDA3M2ZmOWFiLi5mZTE2ZmZhNGY5YWNmNGI5YmNjMzExZmVkNWM3MzEwMzUw
YjliZGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NT
U1N0eWxlTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9D
U1NTdHlsZU1vZGVsLmpzCkBAIC0zNSw4ICszNSw4IEBACiBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVN
b2RlbCA9IGZ1bmN0aW9uKCkKIHsKICAgICB0aGlzLl9wZW5kaW5nQ29tbWFuZHNNYWpvclN0YXRl
ID0gW107Ci0gICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLkRPTUFnZW50LkV2ZW50cy5VbmRvUmVxdWVzdGVkLCB0aGlzLl91bmRvUmVxdWVzdGVk
LCB0aGlzKTsKLSAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLlVuZG9Db21wbGV0ZWQsIHRoaXMuX3VuZG9Db21wbGV0
ZWQsIHRoaXMpOworICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdl
Ykluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuVW5kb1JlZG9SZXF1ZXN0ZWQsIHRoaXMuX3VuZG9S
ZWRvUmVxdWVzdGVkLCB0aGlzKTsKKyAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLlVuZG9SZWRvQ29tcGxldGVkLCB0
aGlzLl91bmRvUmVkb0NvbXBsZXRlZCwgdGhpcyk7CiAgICAgbmV3IFdlYkluc3BlY3Rvci5DU1NT
dHlsZU1vZGVsUmVzb3VyY2VCaW5kaW5nKHRoaXMpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJDU1NEaXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0b3IuQ1NTRGlzcGF0Y2hlcih0aGlzKSk7
CiAgICAgQ1NTQWdlbnQuZW5hYmxlKCk7CkBAIC0yOTMsMTIgKzI5MywxMiBAQCBXZWJJbnNwZWN0
b3IuQ1NTU3R5bGVNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBET01BZ2VudC5tYXJr
VW5kb2FibGVTdGF0ZSgpOwogICAgIH0sCiAKLSAgICBfdW5kb1JlcXVlc3RlZDogZnVuY3Rpb24o
KQorICAgIF91bmRvUmVkb1JlcXVlc3RlZDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhp
cy5fcGVuZGluZ0NvbW1hbmRzTWFqb3JTdGF0ZS5wdXNoKHRydWUpOwogICAgIH0sCiAKLSAgICBf
dW5kb0NvbXBsZXRlZDogZnVuY3Rpb24oKQorICAgIF91bmRvUmVkb0NvbXBsZXRlZDogZnVuY3Rp
b24oKQogICAgIHsKICAgICAgICAgdGhpcy5fcGVuZGluZ0NvbW1hbmRzTWFqb3JTdGF0ZS5wb3Ao
KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0RPTUFnZW50LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2Vu
dC5qcwppbmRleCAyZmIwMTM2OTMwY2RjYmEwYTgyNzVkNGVlMDBkMGIyYzQ3OWJhYTVjLi5lZjcw
OGM0M2QwN2ViN2FhNzFiMTY5YWRlZTE0NzJhNzQ5NzdiNjE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMKQEAgLTY3OCw4ICs2NzgsOCBAQCBX
ZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzID0gewogICAgIENoaWxkTm9kZUNvdW50VXBkYXRl
ZDogIkNoaWxkTm9kZUNvdW50VXBkYXRlZCIsCiAgICAgSW5zcGVjdEVsZW1lbnRSZXF1ZXN0ZWQ6
ICJJbnNwZWN0RWxlbWVudFJlcXVlc3RlZCIsCiAgICAgU3R5bGVJbnZhbGlkYXRlZDogIlN0eWxl
SW52YWxpZGF0ZWQiLAotICAgIFVuZG9SZXF1ZXN0ZWQ6ICJVbmRvUmVxdWVzdGVkIiwKLSAgICBV
bmRvQ29tcGxldGVkOiAiVW5kb0NvbXBsZXRlZCIKKyAgICBVbmRvUmVkb1JlcXVlc3RlZDogIlVu
ZG9SZWRvUmVxdWVzdGVkIiwKKyAgICBVbmRvUmVkb0NvbXBsZXRlZDogIlVuZG9SZWRvQ29tcGxl
dGVkIgogfQogCiBXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlID0gewpAQCAtMTE3MCwx
MiArMTE3MCwyNyBAQCBXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlID0gewogICAgIHsK
ICAgICAgICAgZnVuY3Rpb24gbXljYWxsYmFjayhlcnJvcikKICAgICAgICAgewotICAgICAgICAg
ICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2
ZW50cy5VbmRvQ29tcGxldGVkKTsKKyAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlz
dGVuZXJzKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuVW5kb1JlZG9Db21wbGV0ZWQpOwog
ICAgICAgICAgICAgY2FsbGJhY2soZXJyb3IpOwogICAgICAgICB9CiAKLSAgICAgICAgdGhpcy5k
aXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5VbmRv
UmVxdWVzdGVkKTsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5z
cGVjdG9yLkRPTUFnZW50LkV2ZW50cy5VbmRvUmVkb1JlcXVlc3RlZCk7CiAgICAgICAgIERPTUFn
ZW50LnVuZG8oY2FsbGJhY2spOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge2Z1
bmN0aW9uKD9Qcm90b2NvbC5FcnJvcik9fSBjYWxsYmFjaworICAgICAqLworICAgIHJlZG86IGZ1
bmN0aW9uKGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24gbXljYWxsYmFjayhlcnJv
cikKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMo
V2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5VbmRvUmVkb0NvbXBsZXRlZCk7CisgICAgICAg
ICAgICBjYWxsYmFjayhlcnJvcik7CisgICAgICAgIH0KKworICAgICAgICB0aGlzLmRpc3BhdGNo
RXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLlVuZG9SZWRvUmVx
dWVzdGVkKTsKKyAgICAgICAgRE9NQWdlbnQucmVkbyhjYWxsYmFjayk7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFu
ZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwu
anMKaW5kZXggMjk2YTRmYWNiZTJjM2RkYzRhNzU1MmY1NzZjNTk5NGY5YzIwOTZhYy4uNDMwMDI4
YmM3ZjRiODA4MGI0N2I0MGQxMDU4NDYzOTk0ODFiZGZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qcwpAQCAtOTMyLDYgKzkz
MiwxMSBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQuZXZlbnRIYXNDdHJsT3JNZXRhKGV2ZW50KSAmJiBldmVudC5rZXlJZGVudGlm
aWVyID09PSAiVSswMDU5IikgeyAvLyBZIGtleQorICAgICAgICAgICAgRE9NQWdlbnQucmVkbyh0
aGlzLl91cGRhdGVTaWRlYmFycy5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorCiAgICAgICAgIHRoaXMudHJlZU91dGxpbmUuaGFuZGxlU2hvcnRjdXQoZXZlbnQp
OwogICAgIH0sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA5YmJjMTFmYTA1OTk4NzliY2QzOGY4YmM0YzQ3ZDcyOTNhNzVj
NDRlLi43YTcwYzNlNWU2MGM3OTgzOTNmMDcxNWZhMzJlMWRkYTZmMDYwYmQ2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjUgQEAKKzIwMTItMDItMTQgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogaW1wbGVtZW50IHJlZG8gZm9yIERPTSBh
Y3Rpb25zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Nzg2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGh0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanM6CisgICAgICAgIChpbml0aWFs
aXplX0VsZW1lbnRUZXN0Lkluc3BlY3RvclRlc3QuZ2VuZXJhdGVVbmRvVGVzdCk6CisgICAgICAg
ICogaW5zcGVjdG9yL2VsZW1lbnRzL3VuZG8tZG9tLWVkaXRzLTItZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGluc3BlY3Rvci9lbGVtZW50cy91bmRvLWRvbS1lZGl0cy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogaW5zcGVjdG9yL3N0eWxlcy91bmRvLWFkZC1uZXctcnVsZS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogaW5zcGVjdG9yL3N0eWxlcy91bmRvLWFkZC1uZXctcnVsZS5odG1sOgorICAg
ICAgICAqIGluc3BlY3Rvci9zdHlsZXMvdW5kby1hZGQtcHJvcGVydHktZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMvdW5kby1hZGQtcHJvcGVydHkuaHRtbDoKKyAgICAg
ICAgKiBpbnNwZWN0b3Ivc3R5bGVzL3VuZG8tY2hhbmdlLXByb3BlcnR5LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBpbnNwZWN0b3Ivc3R5bGVzL3VuZG8tY2hhbmdlLXByb3BlcnR5Lmh0bWw6Cisg
ICAgICAgICogaW5zcGVjdG9yL3N0eWxlcy91bmRvLXByb3BlcnR5LXRvZ2dsZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaW5zcGVjdG9yL3N0eWxlcy91bmRvLXByb3BlcnR5LXRvZ2dsZS5odG1s
OgorICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMvdW5kby1zZXQtc2VsZWN0b3ItdGV4dC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL3N0eWxlcy91bmRvLXNldC1zZWxlY3Rvci10
ZXh0Lmh0bWw6CisKIDIwMTItMDItMTQgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0
Lm9yZz4KIAogICAgICAgICBbUXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMKaW5kZXggMzEyZWY3
N2RhMWQ3MTU3MjUxNzczMDczZDFjOWFkODhhMzc5NWNkMi4uMDgwYmU4OGIyMjNiNmZhODI2M2Vi
MjlmNGYwMGExY2NiYjE3MzAzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzCkBAIC00MDQsMTkgKzQwNCwyNiBAQCBJbnNwZWN0b3JU
ZXN0LmdlbmVyYXRlVW5kb1Rlc3QgPSBmdW5jdGlvbih0ZXN0Qm9keSkKICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIkluaXRpYWw6Iik7CiAgICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cEVsZW1lbnRzVHJlZSh0ZXN0Tm9kZSk7CiAKLSAgICAgICAgdGVzdEJvZHkoc3RlcDEpOworICAg
ICAgICB0ZXN0Qm9keSh1bmRvKTsKIAotICAgICAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgICAg
IGZ1bmN0aW9uIHVuZG8oKQogICAgICAgICB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiUG9zdC1hY3Rpb246Iik7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBF
bGVtZW50c1RyZWUodGVzdE5vZGUpOwotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50
LnVuZG8oc3RlcDIpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnVuZG8ocmVk
byk7CiAgICAgICAgIH0KIAotICAgICAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgICAgIGZ1bmN0
aW9uIHJlZG8oKQogICAgICAgICB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiUG9zdC11bmRvIChpbml0aWFsKToiKTsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cEVsZW1lbnRzVHJlZSh0ZXN0Tm9kZSk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdl
bnQucmVkbyhkb25lKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGRvbmUoKQorICAg
ICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUG9zdC1yZWRvIChh
Y3Rpb24pOiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWxlbWVudHNUcmVlKHRl
c3ROb2RlKTsKICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy91bmRvLWRvbS1lZGl0cy0yLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy91bmRvLWRvbS1lZGl0cy0y
LWV4cGVjdGVkLnR4dAppbmRleCBmMDFhZWQ2OTRiYTQ5ZGU4OGI4ZTE4MGEzZDgwYWIwYmYyNjhm
YTljLi4xNjc2NTAyNThjYTRlMDA4ZmVlNjIyNTlkMDNkMGFmMjA2ZmI5YzIwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvdW5kby1kb20tZWRpdHMtMi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3VuZG8tZG9tLWVkaXRz
LTItZXhwZWN0ZWQudHh0CkBAIC0xNiw2ICsxNiwxMCBAQCBQb3N0LXVuZG8gKGluaXRpYWwpOgog
LSA8ZGl2IGlkPSJ0ZXN0U2V0QXR0cmlidXRlIj4KICAgICAgIDxkaXYgaWQ9Im5vZGUtdG8tc2V0
LWF0dHJpYnV0ZSIgZm9vPSJhdHRyaWJ1dGUgdmFsdWUiPjwvZGl2PgogICA8L2Rpdj4KK1Bvc3Qt
cmVkbyAoYWN0aW9uKToKKy0gPGRpdiBpZD0idGVzdFNldEF0dHJpYnV0ZSI+CisgICAgICA8ZGl2
IGlkPSJub2RlLXRvLXNldC1hdHRyaWJ1dGUiIGJhcj0iZWRpdGVkIGF0dHJpYnV0ZSI+PC9kaXY+
CisgIDwvZGl2PgogCiBSdW5uaW5nOiB0ZXN0UmVtb3ZlQXR0cmlidXRlCiBJbml0aWFsOgpAQCAt
MzAsNiArMzQsMTAgQEAgUG9zdC11bmRvIChpbml0aWFsKToKIC0gPGRpdiBpZD0idGVzdFJlbW92
ZUF0dHJpYnV0ZSI+CiAgICAgICA8ZGl2IGlkPSJub2RlLXRvLXJlbW92ZS1hdHRyaWJ1dGUiIGZv
bz0iYXR0cmlidXRlIHZhbHVlIj48L2Rpdj4KICAgPC9kaXY+CitQb3N0LXJlZG8gKGFjdGlvbik6
CistIDxkaXYgaWQ9InRlc3RSZW1vdmVBdHRyaWJ1dGUiPgorICAgICAgPGRpdiBpZD0ibm9kZS10
by1yZW1vdmUtYXR0cmlidXRlIj48L2Rpdj4KKyAgPC9kaXY+CiAKIFJ1bm5pbmc6IHRlc3RBZGRB
dHRyaWJ1dGUKIEluaXRpYWw6CkBAIC00NCw0ICs1Miw4IEBAIFBvc3QtdW5kbyAoaW5pdGlhbCk6
CiAtIDxkaXYgaWQ9InRlc3RBZGRBdHRyaWJ1dGUiPgogICAgICAgPGRpdiBpZD0ibm9kZS10by1h
ZGQtYXR0cmlidXRlIj48L2Rpdj4KICAgPC9kaXY+CitQb3N0LXJlZG8gKGFjdGlvbik6CistIDxk
aXYgaWQ9InRlc3RBZGRBdHRyaWJ1dGUiPgorICAgICAgPGRpdiBpZD0ibm9kZS10by1hZGQtYXR0
cmlidXRlIiBuZXdhdHRyPSJuZXctdmFsdWUiPjwvZGl2PgorICA8L2Rpdj4KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3VuZG8tZG9tLWVkaXRzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy91bmRvLWRvbS1lZGl0cy1leHBl
Y3RlZC50eHQKaW5kZXggZmE4MzM3ZmI0MGM1YWI4MDU2MjczNWRiNWVjYWFlYTcxMGVlODJmYi4u
ZTJhYjI0MjMwMDM2ZDBlZDkxNjk0MjhjNWQ0ODVjYjNjZGMzOWJmNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3VuZG8tZG9tLWVkaXRzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvdW5kby1kb20tZWRpdHMtZXhwZWN0
ZWQudHh0CkBAIC0xNSw2ICsxNSw5IEBAIFBvc3QtdW5kbyAoaW5pdGlhbCk6CiAtIDxkaXYgaWQ9
InRlc3RSZW1vdmUiPgogICAgICAgPGRpdiBpZD0ibm9kZS10by1yZW1vdmUiPjwvZGl2PgogICA8
L2Rpdj4KK1Bvc3QtcmVkbyAoYWN0aW9uKToKKy0gPGRpdiBpZD0idGVzdFJlbW92ZSI+CisgIDwv
ZGl2PgogCiBSdW5uaW5nOiB0ZXN0U2V0Tm9kZU5hbWUKIEluaXRpYWw6CkBAIC0yOSw2ICszMiwx
MCBAQCBQb3N0LXVuZG8gKGluaXRpYWwpOgogLSA8ZGl2IGlkPSJ0ZXN0U2V0Tm9kZU5hbWUiPgog
ICAgICAgPGRpdiBpZD0ibm9kZS10by1zZXQtbmFtZSI+PC9kaXY+CiAgIDwvZGl2PgorUG9zdC1y
ZWRvIChhY3Rpb24pOgorLSA8ZGl2IGlkPSJ0ZXN0U2V0Tm9kZU5hbWUiPgorICAgICAgPHNwYW4g
aWQ9Im5vZGUtdG8tc2V0LW5hbWUiPjwvc3Bhbj4KKyAgPC9kaXY+CiAKIFJ1bm5pbmc6IHRlc3RT
ZXROb2RlVmFsdWUKIEluaXRpYWw6CkBAIC00Myw2ICs1MCwxMCBAQCBQb3N0LXVuZG8gKGluaXRp
YWwpOgogLSA8ZGl2IGlkPSJ0ZXN0U2V0Tm9kZVZhbHVlIj4KICAgICAgIDxkaXYgaWQ9Im5vZGUt
dG8tc2V0LXZhbHVlIj5UZXh0PC9kaXY+CiAgIDwvZGl2PgorUG9zdC1yZWRvIChhY3Rpb24pOgor
LSA8ZGl2IGlkPSJ0ZXN0U2V0Tm9kZVZhbHVlIj4KKyAgICAgIDxkaXYgaWQ9Im5vZGUtdG8tc2V0
LXZhbHVlIj5OZXcgVGV4dDwvZGl2PgorICA8L2Rpdj4KIAogUnVubmluZzogdGVzdEVkaXRBc0hU
TUwKIEluaXRpYWw6CkBAIC02MCw0ICs3MSw5IEBAIFBvc3QtdW5kbyAoaW5pdGlhbCk6CiAtIDxk
aXYgaWQ9InRlc3RFZGl0QXNIVE1MIj4KICAgICArIDxkaXYgaWQ9Im5vZGUtdG8tZWRpdC1hcy1o
dG1sIj7igKY8L2Rpdj4KICAgPC9kaXY+CitQb3N0LXJlZG8gKGFjdGlvbik6CistIDxkaXYgaWQ9
InRlc3RFZGl0QXNIVE1MIj4KKyAgICArIDxkaXYgaWQ9Im5vZGUtdG8tZWRpdC1hcy1odG1sIj7i
gKY8L2Rpdj4KKyAgICAgIDxzcGFuPlNlY29uZCBub2RlPC9zcGFuPgorICA8L2Rpdj4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLWFkZC1uZXctcnVsZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3VuZG8tYWRkLW5ldy1y
dWxlLWV4cGVjdGVkLnR4dAppbmRleCBjNTMyNzRmODQ4NTk4NzEyYmYwNWRkNzkyNDQ5YTU0NDE0
N2Y4NzM4Li44ZmVjOTIwZjg5NDFhZTNlZDNmYjdiNjRjNzQ5OTBkN2I0MTI0NjJhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3VuZG8tYWRkLW5ldy1ydWxlLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3VuZG8tYWRkLW5ldy1y
dWxlLWV4cGVjdGVkLnR4dApAQCAtNDAsNCArNDAsMjYgQEAgZGlzcGxheTogYmxvY2s7CiBkaXYu
Zm9vIHt9CiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitBZnRlciByZWRvOgorW2V4
cGFuZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsgKCkKK2ZvbnQtc2l6ZTogMTJweDsKKworPT09PT09
PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KK1tleHBhbmRlZF0gCitkaXYuZm9vICB7ICh2
aWEgaW5zcGVjdG9yKQorCitbZXhwYW5kZWRdIAorZGl2LmZvbyAgeyAodmlhIGluc3BlY3RvcikK
KworW2V4cGFuZGVkXSAKK2RpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQorZGlzcGxheTog
YmxvY2s7CisKKworPT09PT0gU3R5bGUgc2hlZXQgdGV4dDogPT09PT0KK2Rpdi5mb28ge30KKwor
ZGl2LmZvbyB7fQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLWFkZC1uZXctcnVsZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLWFkZC1uZXctcnVsZS5odG1sCmluZGV4IDA3
NDQ1Njg0N2M0ZDM3MzNjNDliZWJjODU4N2FhNGI1NGUzOWFlMWUuLjZmM2ZlNDJmNDhhYjk0NGE2
MmMxNjU3NGQxN2ZiNmU0NzVkYTE3ZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zdHlsZXMvdW5kby1hZGQtbmV3LXJ1bGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Ivc3R5bGVzL3VuZG8tYWRkLW5ldy1ydWxlLmh0bWwKQEAgLTQzLDYgKzQzLDE5IEBAIGZ1bmN0
aW9uIHRlc3QoKQogCiAgICAgZnVuY3Rpb24gc3RlcDYoKQogICAgIHsKKyAgICAgICAgV2ViSW5z
cGVjdG9yLmRvbUFnZW50LnJlZG8oKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2Rl
QW5kV2FpdEZvclN0eWxlcygiaW5zcGVjdGVkIiwgc3RlcDcpOworICAgIH0KKworICAgIGZ1bmN0
aW9uIHN0ZXA3KCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRl
ciByZWRvOiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHls
ZXModHJ1ZSwgZmFsc2UsIHRydWUpOworICAgICAgICBwcmludFN0eWxlU2hlZXRBbmRDYWxsKHN0
ZXA4KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwOCgpCisgICAgewogICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLWFkZC1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3VuZG8tYWRkLXByb3BlcnR5LWV4cGVjdGVkLnR4dApp
bmRleCA5MmVlZTlhMzFiOTUxZWEzZWM4ZTY0YjI3N2IwZTc5OTc0YWUwODBiLi4zOTJkY2ZlMDQw
NDM4ODYxMWJjMTE5MmVlODVjZTkyYjA2NDYzMmI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Ivc3R5bGVzL3VuZG8tYWRkLXByb3BlcnR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3VuZG8tYWRkLXByb3BlcnR5LWV4cGVjdGVkLnR4dApA
QCAtNiw3ICs2LDcgQEAgZWxlbWVudC5zdHlsZSAgeyAoKQogCiA9PT09PT09PSBNYXRjaGVkIENT
UyBSdWxlcyA9PT09PT09PQogW2V4cGFuZGVkXSAKLSNjb250YWluZXIgIHsgKHVuZG8tYWRkLXBy
b3BlcnR5Lmh0bWw6NykKKy5jb250YWluZXIgIHsgKHVuZG8tYWRkLXByb3BlcnR5Lmh0bWw6NykK
IGZvbnQtd2VpZ2h0OiBib2xkOwogCiBbZXhwYW5kZWRdIApAQCAtMjAsNyArMjAsNyBAQCBlbGVt
ZW50LnN0eWxlICB7ICgpCiAKID09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09CiBb
ZXhwYW5kZWRdIAotI2NvbnRhaW5lciAgeyAodW5kby1hZGQtcHJvcGVydHkuaHRtbDo3KQorLmNv
bnRhaW5lciAgeyAodW5kby1hZGQtcHJvcGVydHkuaHRtbDo3KQogZm9udC13ZWlnaHQ6IGJvbGQ7
CiBtYXJnaW4tbGVmdDogMXB4OwogCkBAIC0zNSw3ICszNSw3IEBAIGVsZW1lbnQuc3R5bGUgIHsg
KCkKIAogPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KIFtleHBhbmRlZF0gCi0j
Y29udGFpbmVyICB7ICh1bmRvLWFkZC1wcm9wZXJ0eS5odG1sOjcpCisuY29udGFpbmVyICB7ICh1
bmRvLWFkZC1wcm9wZXJ0eS5odG1sOjcpCiBmb250LXdlaWdodDogYm9sZDsKIAogW2V4cGFuZGVk
XSAKQEAgLTQzLDQgKzQzLDE5IEBAIGRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQogZGlz
cGxheTogYmxvY2s7CiAKIAorQWZ0ZXIgcmVkbworW2V4cGFuZGVkXSAKK2VsZW1lbnQuc3R5bGUg
IHsgKCkKKworPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KK1tleHBhbmRlZF0g
CisuY29udGFpbmVyICB7ICh1bmRvLWFkZC1wcm9wZXJ0eS5odG1sOjcpCitmb250LXdlaWdodDog
Ym9sZDsKK21hcmdpbi1sZWZ0OiAxcHg7CisKK1tleHBhbmRlZF0gCitkaXYgIHsgKHVzZXIgYWdl
bnQgc3R5bGVzaGVldCkKK2Rpc3BsYXk6IGJsb2NrOworCisKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLWFkZC1wcm9wZXJ0eS5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLWFkZC1wcm9wZXJ0eS5odG1sCmluZGV4IDMyMDBhNzQ2
ZWFiODdhNDYwNDQ2NzgzYmU1M2FlM2VlZjFiYTQ1NzUuLjE4YTcwYjFhOWYwNTg0YTJmMGZiNmZi
OTBkYWMyYTBjMDdlMTJiZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHls
ZXMvdW5kby1hZGQtcHJvcGVydHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5
bGVzL3VuZG8tYWRkLXByb3BlcnR5Lmh0bWwKQEAgLTQsNyArNCw3IEBACiA8c2NyaXB0IHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+CiAK
IDxzdHlsZT4KLSNjb250YWluZXIgeworLmNvbnRhaW5lciB7CiAgIGZvbnQtd2VpZ2h0OiBib2xk
CiB9CiA8L3N0eWxlPgpAQCAtMjIsMzAgKzIyLDMxIEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAg
ICAgIHZhciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0TWF0Y2hlZFN0eWxlUHJvcGVydHlU
cmVlSXRlbSgiZm9udC13ZWlnaHQiKTsKICAgICAgICAgdmFyIHRyZWVFbGVtZW50ID0gdHJlZUl0
ZW0uc2VjdGlvbi5hZGROZXdCbGFua1Byb3BlcnR5KCk7Ci0gICAgICAgIHRyZWVFbGVtZW50LnN0
YXJ0RWRpdGluZygpOwotICAgICAgICB0cmVlRWxlbWVudC5uYW1lRWxlbWVudC50ZXh0Q29udGVu
dCA9ICJtYXJnaW4tbGVmdCI7Ci0gICAgICAgIHRyZWVFbGVtZW50Lm5hbWVFbGVtZW50LmRpc3Bh
dGNoRXZlbnQoSW5zcGVjdG9yVGVzdC5jcmVhdGVLZXlFdmVudCgiRW50ZXIiKSk7Ci0gICAgICAg
IHRyZWVFbGVtZW50LnZhbHVlRWxlbWVudC50ZXh0Q29udGVudCA9ICIxcHgiOwotICAgICAgICB0
cmVlRWxlbWVudC5uYW1lRWxlbWVudC5kaXNwYXRjaEV2ZW50KEluc3BlY3RvclRlc3QuY3JlYXRl
S2V5RXZlbnQoIkVudGVyIikpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGlu
Z0Rpc3BhdGNoZXMoc3RlcDIpOworICAgICAgICB0cmVlRWxlbWVudC5hcHBseVN0eWxlVGV4dCgi
bWFyZ2luLWxlZnQ6IDFweCIsIHRydWUsIGZhbHNlKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53
YWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVwMik7CiAgICAgfQogCiAgICAgZnVuY3Rpb24g
c3RlcDIoKQogICAgIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIGFk
ZGluZyBwcm9wZXJ0eSIpOwogICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1l
bnRTdHlsZXModHJ1ZSk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC51bmRvKHN0ZXAz
KTsKKworICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQudW5kbygpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJvdGhlciIsIHN0ZXAzKTsKICAg
ICB9CiAKICAgICBmdW5jdGlvbiBzdGVwMygpCiAgICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LndhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIsIHN0ZXA0KTsKLSAgICAgICAgV2ViSW5zcGVjdG9y
LnBhbmVscy5lbGVtZW50cy5fdXBkYXRlU2lkZWJhcnMoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIkFmdGVyIHVuZG8iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2Vs
ZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOworCisgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2Vu
dC5yZWRvKCk7CisgICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHls
ZXMoIm90aGVyIiwgc3RlcDQpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHN0ZXA0KCkKICAgICB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciB1bmRvIik7CisgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciByZWRvIik7CiAgICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKICAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKICAgICB9CkBAIC01OCw4ICs1OSw4IEBAIGZ1bmN0aW9uIHRl
c3QoKQogVGVzdHMgdGhhdCBhZGRpbmcgYSBwcm9wZXJ0eSBpcyB1bmRvbmUgcHJvcGVybHkuCiA8
L3A+CiAKLTxkaXYgaWQ9ImNvbnRhaW5lciI+Ci08L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciIg
Y2xhc3M9ImNvbnRhaW5lciI+PC9kaXY+Cis8ZGl2IGlkPSJvdGhlciIgY2xhc3M9ImNvbnRhaW5l
ciI+PC9kaXY+CiAKIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9zdHlsZXMvdW5kby1jaGFuZ2UtcHJvcGVydHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLWNoYW5nZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQK
aW5kZXggMjVkYzQ4NThkMTI1NmQzYTc3MzQ5YzBmM2IxZjUyOWM1YjYyYzU4NS4uNTcyMGQ2OGM3
ZGIzMTc3NzkwOGMxM2VmMDhlZGIzZTAwMDFiN2FiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3N0eWxlcy91bmRvLWNoYW5nZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLWNoYW5nZS1wcm9wZXJ0eS1leHBlY3Rl
ZC50eHQKQEAgLTYsNyArNiw3IEBAIGVsZW1lbnQuc3R5bGUgIHsgKCkKIAogPT09PT09PT0gTWF0
Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KIFtleHBhbmRlZF0gCi0jY29udGFpbmVyICB7ICh1bmRv
LWNoYW5nZS1wcm9wZXJ0eS5odG1sOjcpCisuY29udGFpbmVyICB7ICh1bmRvLWNoYW5nZS1wcm9w
ZXJ0eS5odG1sOjcpCiBmb250LXdlaWdodDogYm9sZDsKIAogW2V4cGFuZGVkXSAKQEAgLTIwLDcg
KzIwLDcgQEAgZWxlbWVudC5zdHlsZSAgeyAoKQogCiA9PT09PT09PSBNYXRjaGVkIENTUyBSdWxl
cyA9PT09PT09PQogW2V4cGFuZGVkXSAKLSNjb250YWluZXIgIHsgKHVuZG8tY2hhbmdlLXByb3Bl
cnR5Lmh0bWw6NykKKy5jb250YWluZXIgIHsgKHVuZG8tY2hhbmdlLXByb3BlcnR5Lmh0bWw6NykK
IGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAKIFtleHBhbmRlZF0gCkBAIC0zNCw3ICszNCw3IEBAIGVs
ZW1lbnQuc3R5bGUgIHsgKCkKIAogPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0K
IFtleHBhbmRlZF0gCi0jY29udGFpbmVyICB7ICh1bmRvLWNoYW5nZS1wcm9wZXJ0eS5odG1sOjcp
CisuY29udGFpbmVyICB7ICh1bmRvLWNoYW5nZS1wcm9wZXJ0eS5odG1sOjcpCiBmb250LXdlaWdo
dDogYm9sZDsKIAogW2V4cGFuZGVkXSAKQEAgLTQyLDQgKzQyLDE4IEBAIGRpdiAgeyAodXNlciBh
Z2VudCBzdHlsZXNoZWV0KQogZGlzcGxheTogYmxvY2s7CiAKIAorQWZ0ZXIgcmVkbworW2V4cGFu
ZGVkXSAKK2VsZW1lbnQuc3R5bGUgIHsgKCkKKworPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMg
PT09PT09PT0KK1tleHBhbmRlZF0gCisuY29udGFpbmVyICB7ICh1bmRvLWNoYW5nZS1wcm9wZXJ0
eS5odG1sOjcpCitmb250LXdlaWdodDogbm9ybWFsOworCitbZXhwYW5kZWRdIAorZGl2ICB7ICh1
c2VyIGFnZW50IHN0eWxlc2hlZXQpCitkaXNwbGF5OiBibG9jazsKKworCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvdW5kby1jaGFuZ2UtcHJvcGVydHkuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvdW5kby1jaGFuZ2UtcHJvcGVydHkuaHRtbApp
bmRleCA3NGQ0YmRiMzMzMzUzNmI3ZGRhYjhiYTNiYmM2Zjk4M2FlYzAxNDdlLi5lYTljZDRiNDc2
MzlmNTgxODZiZDAwMjg2ZGI0ODQzMTliMDRhODVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Ivc3R5bGVzL3VuZG8tY2hhbmdlLXByb3BlcnR5Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLWNoYW5nZS1wcm9wZXJ0eS5odG1sCkBAIC00LDcgKzQs
NyBAQAogPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRl
c3QuanMiPjwvc2NyaXB0PgogCiA8c3R5bGU+Ci0jY29udGFpbmVyIHsKKy5jb250YWluZXIgewog
ICBmb250LXdlaWdodDogYm9sZAogfQogPC9zdHlsZT4KQEAgLTI5LDE4ICsyOSwyMyBAQCBmdW5j
dGlvbiB0ZXN0KCkKICAgICB7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRl
ciBjaGFuZ2luZyBwcm9wZXJ0eSIpOwogICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3Rl
ZEVsZW1lbnRTdHlsZXModHJ1ZSk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC51bmRv
KHN0ZXAzKTsKKworICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQudW5kbygpOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJvdGhlciIsIHN0ZXAz
KTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBzdGVwMygpCiAgICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LndhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIsIHN0ZXA0KTsKLSAgICAgICAgV2ViSW5z
cGVjdG9yLnBhbmVscy5lbGVtZW50cy5fdXBkYXRlU2lkZWJhcnMoKTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIHVuZG8iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5k
dW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOworCisgICAgICAgIFdlYkluc3BlY3Rvci5k
b21BZ2VudC5yZWRvKCk7CisgICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRG
b3JTdHlsZXMoIm90aGVyIiwgc3RlcDQpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHN0ZXA0KCkK
ICAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciB1bmRvIik7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciByZWRvIik7CiAgICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKICAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKICAgICB9CkBAIC01Myw4ICs1OCw4IEBAIGZ1bmN0
aW9uIHRlc3QoKQogVGVzdHMgdGhhdCBjaGFuZ2luZyBhIHByb3BlcnR5IGlzIHVuZG9uZSBwcm9w
ZXJseS4KIDwvcD4KIAotPGRpdiBpZD0iY29udGFpbmVyIj4KLTwvZGl2PgorPGRpdiBpZD0iY29u
dGFpbmVyIiBjbGFzcz0iY29udGFpbmVyIj48L2Rpdj4KKzxkaXYgaWQ9Im90aGVyIiBjbGFzcz0i
Y29udGFpbmVyIj48L2Rpdj4KIAogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLXByb3BlcnR5LXRvZ2dsZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3VuZG8tcHJvcGVydHktdG9nZ2xlLWV4cGVj
dGVkLnR4dAppbmRleCBkYzUxOGQ1Y2I1ZDY0MDZkYTExZWI3NzMxYWM1NjJmZTcyOTljODA0Li5h
M2NiN2U0NDRhNjk3NjhhYzIyYWE3OWE0MTIzOGI2OTc1NGM2YWY2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3VuZG8tcHJvcGVydHktdG9nZ2xlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3VuZG8tcHJvcGVydHktdG9nZ2xl
LWV4cGVjdGVkLnR4dApAQCAtNiw0ICs2LDYgQEAgQWZ0ZXIgZGlzYWJsZQogLy0tIG92ZXJsb2Fk
ZWQgLS0vIC8tLSBkaXNhYmxlZCAtLS8gZm9udC13ZWlnaHQ6IGJvbGQ7CiBBZnRlciB1bmRvCiBm
b250LXdlaWdodDogYm9sZDsKK0FmdGVyIHJlZG8KKy8tLSBvdmVybG9hZGVkIC0tLyAvLS0gZGlz
YWJsZWQgLS0vIGZvbnQtd2VpZ2h0OiBib2xkOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Ivc3R5bGVzL3VuZG8tcHJvcGVydHktdG9nZ2xlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Ivc3R5bGVzL3VuZG8tcHJvcGVydHktdG9nZ2xlLmh0bWwKaW5kZXggODZjZjc2MTg2
ODlmOTJkZTA3ZDAyY2Q1MTBlNGUyZDM0OTJjMDQ4ZS4uNmQxNDEwMTAyZDMzZDAwM2E4ZDM1NThi
YjA4MTJkMTdkNzE4MjBjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxl
cy91bmRvLXByb3BlcnR5LXRvZ2dsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9z
dHlsZXMvdW5kby1wcm9wZXJ0eS10b2dnbGUuaHRtbApAQCAtMzQsNiArMzQsMTUgQEAgZnVuY3Rp
b24gdGVzdCgpCiAgICAgICAgIHZhciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0RWxlbWVu
dFN0eWxlUHJvcGVydHlUcmVlSXRlbSgiZm9udC13ZWlnaHQiKTsKICAgICAgICAgSW5zcGVjdG9y
VGVzdC5kdW1wU3R5bGVUcmVlSXRlbSh0cmVlSXRlbSwgIiIpOwogCisgICAgICAgIFdlYkluc3Bl
Y3Rvci5kb21BZ2VudC5yZWRvKCk7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvclN0eWxl
cygiY29udGFpbmVyIiwgc3RlcDQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA0KCkKKyAg
ICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciByZWRvIik7CisgICAg
ICAgIHZhciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0RWxlbWVudFN0eWxlUHJvcGVydHlU
cmVlSXRlbSgiZm9udC13ZWlnaHQiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU3R5bGVU
cmVlSXRlbSh0cmVlSXRlbSwgIiIpOwogICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVz
dCgpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMv
dW5kby1zZXQtc2VsZWN0b3ItdGV4dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Ivc3R5bGVzL3VuZG8tc2V0LXNlbGVjdG9yLXRleHQtZXhwZWN0ZWQudHh0CmluZGV4IDc1ODY4
OTNkNmUwZWMyYTFhZDk0ODQxNTYyYTFjMmYyMjJlMzFlZDcuLjNiODcxOWJmNDUyYmM5YmEwMTU3
ODM1N2M5MGM2MGFjYzBjN2RmNTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9z
dHlsZXMvdW5kby1zZXQtc2VsZWN0b3ItdGV4dC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3N0eWxlcy91bmRvLXNldC1zZWxlY3Rvci10ZXh0LWV4cGVjdGVkLnR4dApA
QCAtNDIsNCArNDIsMTggQEAgZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCiBkaXNwbGF5
OiBibG9jazsKIAogCis9PT0gQWZ0ZXIgcmVkbyA9PT0KK1tleHBhbmRlZF0gCitlbGVtZW50LnN0
eWxlICB7ICgpCisKKz09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09CitbZXhwYW5k
ZWRdIAorI2luc3BlY3RlZCwgI290aGVyICB7ICh1bmRvLXNldC1zZWxlY3Rvci10ZXh0Lmh0bWw6
NCkKK2NvbG9yOiBncmVlbjsKKworW2V4cGFuZGVkXSAKK2RpdiAgeyAodXNlciBhZ2VudCBzdHls
ZXNoZWV0KQorZGlzcGxheTogYmxvY2s7CisKKwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Ivc3R5bGVzL3VuZG8tc2V0LXNlbGVjdG9yLXRleHQuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9zdHlsZXMvdW5kby1zZXQtc2VsZWN0b3ItdGV4dC5odG1sCmluZGV4IDgzNGNm
ZDNhNTlkMGIxN2UwMjEwMTg2MjIzNzRmODM3ZWZhMjgxMDguLjMxNDJjZDFkYmE1ZGQ5ODlkNDky
M2JmMGE4ZDNlYWJkMTA1ZDI0MzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9z
dHlsZXMvdW5kby1zZXQtc2VsZWN0b3ItdGV4dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9zdHlsZXMvdW5kby1zZXQtc2VsZWN0b3ItdGV4dC5odG1sCkBAIC0zNyw2ICszNywxNSBA
QCBmdW5jdGlvbiB0ZXN0KCkKICAgICB7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCI9PT0gQWZ0ZXIgdW5kbyA9PT0iKTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0
ZWRFbGVtZW50U3R5bGVzKHRydWUpOworCisgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5y
ZWRvKCk7CisgICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMo
Im90aGVyIiwgc3RlcDQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA0KCkKKyAgICB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gQWZ0ZXIgcmVkbyA9PT0iKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOwogICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwogICAgIH0KIH0K
</data>
<flag name="review"
          id="128956"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>