<?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>56268</bug_id>
          
          <creation_ts>2011-03-13 13:35:32 -0700</creation_ts>
          <short_desc>Web Inspector: make DOMAgent event target, remove dependency from ElementsPanel.</short_desc>
          <delta_ts>2011-03-14 02:45:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Nobody">webkit-unassigned</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>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>366722</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-13 13:35:32 -0700</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366729</commentid>
    <comment_count>1</comment_count>
      <attachid>85622</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-13 14:22:49 -0700</bug_when>
    <thetext>Created attachment 85622
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366911</commentid>
    <comment_count>2</comment_count>
      <attachid>85622</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-14 02:45:23 -0700</bug_when>
    <thetext>Comment on attachment 85622
Patch

Clearing flags on attachment: 85622

Committed r81010: &lt;http://trac.webkit.org/changeset/81010&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366912</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-14 02:45:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85622</attachid>
            <date>2011-03-13 14:22:49 -0700</date>
            <delta_ts>2011-03-14 02:45:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56268-20110314002246.patch</filename>
            <type>text/plain</type>
            <size>25675</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA5MzQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjOTdiOGRhZWM1ZWZiMTM0YTlmZTk2
YWI5NTZhZDc0ZGRjNjdhNjg3Li4yMjdlNTYxYmI5OGQzNGZlYWZiZjRmZWNiNjIwOGVmYjg2ZGYy
ZGEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDMtMTMgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogbWFrZSBET01BZ2VudCBldmVudCB0YXJnZXQs
IHJlbW92ZSBkZXBlbmRlbmN5IGZyb20gRWxlbWVudHNQYW5lbC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2MjY4CisKKyAgICAgICAgKiBpbnNwZWN0
b3IvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtc2VhcmNoLmh0bWw6CisgICAgICAgICogaW5zcGVj
dG9yL2VsZW1lbnRzL211dGF0ZS11bmtub3duLW5vZGUuaHRtbDoKKwogMjAxMS0wMy0xMiAgUGF2
ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVt
ZW50cy9lbGVtZW50cy1wYW5lbC1zZWFyY2guaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9l
bGVtZW50cy9lbGVtZW50cy1wYW5lbC1zZWFyY2guaHRtbAppbmRleCA0ZGJmZTIwYTcyZmQzZjFm
YjJiZTkzMWQzZTRlZTNkMzliMTVjMDM0Li5mNGRkNWRjYjA5ZTBjOTI5MWUyNmFkNWZjZDExMWI0
ZTJlNWM0NjUxIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWxl
bWVudHMtcGFuZWwtc2VhcmNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1l
bnRzL2VsZW1lbnRzLXBhbmVsLXNlYXJjaC5odG1sCkBAIC0yMyw3ICsyMyw3IEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICBzZWFyY2hSZXN1bHRzLnB1c2gobWFya3VwVmFsdWUpOwogICAgIH0K
IAotICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuYWRkTm9kZXNUb1NlYXJjaFJlc3Vs
dCA9IGZ1bmN0aW9uKG5vZGVJZHMpCisgICAgZnVuY3Rpb24gYWRkTm9kZXNUb1NlYXJjaFJlc3Vs
dChub2RlSWRzKQogICAgIHsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlSWRzLmxl
bmd0aDsgKytpKSB7CiAgICAgICAgICAgICB2YXIgbm9kZSA9IFdlYkluc3BlY3Rvci5kb21BZ2Vu
dC5ub2RlRm9ySWQobm9kZUlkc1tpXSk7CkBAIC0zNCwyMiArMzQsMjcgQEAgZnVuY3Rpb24gdGVz
dCgpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICAvLyBQbGFpbiB0ZXh0LgotICAgIERPTUFnZW50
LnBlcmZvcm1TZWFyY2goIkZvbyIgKyAiQmFyIiwgdHJ1ZSk7Ci0gICAgLy8gUGFydGlhbCB0ZXh0
LgotICAgIERPTUFnZW50LnBlcmZvcm1TZWFyY2goIm9vIiArICJCYSIsIHRydWUpOwotICAgIC8v
IFN0YXJ0IHRhZy4KLSAgICBET01BZ2VudC5wZXJmb3JtU2VhcmNoKCI8aW5wdSIgKyAidCIsIHRy
dWUpOwotICAgIC8vIFBhcnRpYWwgdGFnLgotICAgIERPTUFnZW50LnBlcmZvcm1TZWFyY2goIm5w
dSIgKyAidCIsIHRydWUpOwotICAgIC8vIEV4YWN0IGF0dHJpYnV0ZSBuYW1lLgotICAgIERPTUFn
ZW50LnBlcmZvcm1TZWFyY2goInZhbHUiICsgImUiLCB0cnVlKTsKLSAgICAvLyBFeGFjdCBhdHRy
aWJ1dGUgdmFsPD51ZS4KLSAgICBET01BZ2VudC5wZXJmb3JtU2VhcmNoKCJJbiIgKyAicHV0VmEi
ICsgImwiLCB0cnVlKTsKLSAgICAvLyBQYXJ0aWFsIGF0dHJpYnV0ZSB2YWw8PnVlLgotICAgIERP
TUFnZW50LnBlcmZvcm1TZWFyY2goIm4iICsgInB1dFZhIiArICJsIiwgdHJ1ZSk7Ci0gICAgLy8g
VGVybWluYXRvci4KLSAgICBET01BZ2VudC5wZXJmb3JtU2VhcmNoKCJ0ZXIiICsgIm1pIiArICJu
YXRvciIsIHRydWUpOworICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5yZXF1ZXN0RG9jdW1lbnQo
c3RlcDEpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgLy8gUGxhaW4g
dGV4dC4KKyAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnBlcmZvcm1TZWFyY2goIkZvbyIg
KyAiQmFyIiwgYWRkTm9kZXNUb1NlYXJjaFJlc3VsdCwgdHJ1ZSk7CisgICAgICAgIC8vIFBhcnRp
YWwgdGV4dC4KKyAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnBlcmZvcm1TZWFyY2goIm9v
IiArICJCYSIsIGFkZE5vZGVzVG9TZWFyY2hSZXN1bHQsIHRydWUpOworICAgICAgICAvLyBTdGFy
dCB0YWcuCisgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJmb3JtU2VhcmNoKCI8aW5w
dSIgKyAidCIsIGFkZE5vZGVzVG9TZWFyY2hSZXN1bHQsIHRydWUpOworICAgICAgICAvLyBQYXJ0
aWFsIHRhZy4KKyAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnBlcmZvcm1TZWFyY2goIm5w
dSIgKyAidCIsIGFkZE5vZGVzVG9TZWFyY2hSZXN1bHQsIHRydWUpOworICAgICAgICAvLyBFeGFj
dCBhdHRyaWJ1dGUgbmFtZS4KKyAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnBlcmZvcm1T
ZWFyY2goInZhbHUiICsgImUiLCBhZGROb2Rlc1RvU2VhcmNoUmVzdWx0LCB0cnVlKTsKKyAgICAg
ICAgLy8gRXhhY3QgYXR0cmlidXRlIHZhbDw+dWUuCisgICAgICAgIFdlYkluc3BlY3Rvci5kb21B
Z2VudC5wZXJmb3JtU2VhcmNoKCJJbiIgKyAicHV0VmEiICsgImwiLCBhZGROb2Rlc1RvU2VhcmNo
UmVzdWx0LCB0cnVlKTsKKyAgICAgICAgLy8gUGFydGlhbCBhdHRyaWJ1dGUgdmFsPD51ZS4KKyAg
ICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnBlcmZvcm1TZWFyY2goIm4iICsgInB1dFZhIiAr
ICJsIiwgYWRkTm9kZXNUb1NlYXJjaFJlc3VsdCwgdHJ1ZSk7CisgICAgICAgIC8vIFRlcm1pbmF0
b3IuCisgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJmb3JtU2VhcmNoKCJ0ZXIiICsg
Im1pIiArICJuYXRvciIsIGFkZE5vZGVzVG9TZWFyY2hSZXN1bHQsIHRydWUpOworICAgIH0KIH0K
IDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Vs
ZW1lbnRzL211dGF0ZS11bmtub3duLW5vZGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9l
bGVtZW50cy9tdXRhdGUtdW5rbm93bi1ub2RlLmh0bWwKaW5kZXggZmY2Y2NkMTA1MTBiNzQ3NTFm
N2Y3OGMxMGU5ZjdiN2Y3MjRhMWQ4Ny4uMTJhNzg1MmI3OGM1ZTJkZGYyNzhmZTExMzE3ZTFlYTdh
NDllZWEzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL211dGF0
ZS11bmtub3duLW5vZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMv
bXV0YXRlLXVua25vd24tbm9kZS5odG1sCkBAIC0yOCwxNyArMjgsMTggQEAgZnVuY3Rpb24gdGVz
dCgpCiB7CiAgICAgZnVuY3Rpb24gbGlzdGVuZXIodHlwZSwgZXZlbnQpCiAgICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRE9NQWdlbnQgZXZlbnQgZmlyZWQuIFNob3VsZCBv
bmx5IGhhcHBlbiBvbmNlIGZvciBvdXRwdXQgbm9kZTogIiArIHR5cGUgKyAiICIgKyBldmVudC50
YXJnZXQubm9kZU5hbWUoKSArICIjIiArIGV2ZW50LnRhcmdldC5nZXRBdHRyaWJ1dGUoImlkIikp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRE9NQWdlbnQgZXZlbnQgZmlyZWQu
IFNob3VsZCBvbmx5IGhhcHBlbiBvbmNlIGZvciBvdXRwdXQgbm9kZTogIiArIHR5cGUgKyAiICIg
KyBldmVudC5kYXRhLm5vZGVOYW1lKCkgKyAiIyIgKyBldmVudC5kYXRhLmdldEF0dHJpYnV0ZSgi
aWQiKSk7CiAgICAgfQogCisgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5BdHRyTW9kaWZpZWQsIGxpc3RlbmVyLmJp
bmQodGhpcywgIkRPTUF0dHJNb2RpZmllZCIpKTsKKyAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQu
YWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkNoYXJhY3RlckRh
dGFNb2RpZmllZCwgbGlzdGVuZXIuYmluZCh0aGlzLCAiRE9NQ2hhcmFjdGVyRGF0YU1vZGlmaWVk
IikpOworICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5ET01BZ2VudC5FdmVudHMuTm9kZUluc2VydGVkLCBsaXN0ZW5lci5iaW5kKHRoaXMsICJE
T01Ob2RlSW5zZXJ0ZWQiKSk7CisgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5Ob2RlUmVtb3ZlZCwgbGlzdGVuZXIu
YmluZCh0aGlzLCAiRE9NTm9kZVJlbW92ZWQiKSk7CisKICAgICBXZWJJbnNwZWN0b3IuZG9tQWdl
bnQucmVxdWVzdERvY3VtZW50KHN0ZXAwLmJpbmQodGhpcykpOwogCi0gICAgZnVuY3Rpb24gc3Rl
cDAoZG9jKQorICAgIGZ1bmN0aW9uIHN0ZXAwKCkKICAgICB7Ci0gICAgICAgIGRvYy5hZGRFdmVu
dExpc3RlbmVyKCJET01BdHRyTW9kaWZpZWQiLCBsaXN0ZW5lci5iaW5kKHRoaXMsICJET01BdHRy
TW9kaWZpZWQiKSk7Ci0gICAgICAgIGRvYy5hZGRFdmVudExpc3RlbmVyKCJET01DaGFyYWN0ZXJE
YXRhTW9kaWZpZWQiLCBsaXN0ZW5lci5iaW5kKHRoaXMsICJET01DaGFyYWN0ZXJEYXRhTW9kaWZp
ZWQiKSk7Ci0gICAgICAgIGRvYy5hZGRFdmVudExpc3RlbmVyKCJET01Ob2RlSW5zZXJ0ZWQiLCBs
aXN0ZW5lci5iaW5kKHRoaXMsICJET01Ob2RlSW5zZXJ0ZWQiKSk7Ci0gICAgICAgIGRvYy5hZGRF
dmVudExpc3RlbmVyKCJET01Ob2RlUmVtb3ZlZCIsIGxpc3RlbmVyLmJpbmQodGhpcywgIkRPTU5v
ZGVSZW1vdmVkIikpOwogICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJhcHBl
bmRDaGlsZCgpIiwgc3RlcDEpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGMyYTkwODc3MmJhYWZh
M2FlOThmMDcyNTc2OGI2OGQ2YjE3MjVhMTIuLjcwYTY4OTI3ODJmNjc1ODcwYWNkNDQxZTZmY2U5
M2E5NTBkMGNkZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxMS0wMy0xMyAgUGF2
ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBtYWtlIERPTUFnZW50
IGV2ZW50IHRhcmdldCwgcmVtb3ZlIGRlcGVuZGVuY3kgZnJvbSBFbGVtZW50c1BhbmVsLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYyNjgKKworICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuaWRsOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6
cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OnBlcmZvcm1TZWFy
Y2gpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmNhbmNlbFNlYXJjaCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6b25NYXRjaEpvYnNUaW1lcik6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6cmVwb3J0Tm9kZXNBc1NlYXJj
aFJlc3VsdHMpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlLnJlcXVlc3REb2N1bWVudC5teWNhbGxiYWNrKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5cGUucmVxdWVzdERvY3VtZW50KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5cGUuX2F0dHJpYnV0ZXNVcGRh
dGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5cGUuX2NoYXJhY3Rl
ckRhdGFNb2RpZmllZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJvdG90eXBl
Ll9kb2N1bWVudFVwZGF0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTUFnZW50LnByb3Rv
dHlwZS5fc2V0RG9jdW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTUFnZW50LnByb3Rv
dHlwZS5fY2hpbGROb2RlQ291bnRVcGRhdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01B
Z2VudC5wcm90b3R5cGUuX2NoaWxkTm9kZUluc2VydGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5ET01BZ2VudC5wcm90b3R5cGUuX2NoaWxkTm9kZVJlbW92ZWQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkRPTUFnZW50LnByb3RvdHlwZS5fcmVtb3ZlQnJlYWtwb2ludHMpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkRPTUFnZW50LnByb3RvdHlwZS5wZXJmb3JtU2VhcmNoKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5cGUuY2FuY2VsU2VhcmNoKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5ET01EaXNwYXRjaGVyLnByb3RvdHlwZS5zZWFyY2hSZXN1bHRzKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVu
dHNQYW5lbC5wcm90b3R5cGUuX3Jlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50
c1BhbmVsLnByb3RvdHlwZS5fZG9jdW1lbnRVcGRhdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS5zZWFyY2hDYW5jZWxlZCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUucGVyZm9ybVNlYXJjaCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUuX2FkZE5vZGVzVG9TZWFyY2hS
ZXN1bHQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLl9h
dHRyaWJ1dGVzVXBkYXRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5w
cm90b3R5cGUuX2NoYXJhY3RlckRhdGFNb2RpZmllZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RWxlbWVudHNQYW5lbC5wcm90b3R5cGUuX25vZGVJbnNlcnRlZCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUuX25vZGVSZW1vdmVkKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS5fY2hpbGROb2RlQ291bnRVcGRhdGVk
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS51cGRhdGVN
b2RpZmllZE5vZGVzKToKKwogMjAxMS0wMy0xMiAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuaWRsIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5pZGwKaW5kZXggOTIwMWEyNzc1YmIyYjMxNzE1YWU2
MzYxZTk3NjhhNzI3NTY4YTM2NC4uMDYzZTNlOWZlMjJkYjYxNWVkMTg3MGIzYzgyOGY1OTU1NmFh
Njk4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5pZGwKQEAgLTE1NiwxMyAr
MTU2LDEyIEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgdm9pZCBzZXRPdXRlckhUTUwoaW4gbG9u
ZyBub2RlSWQsIGluIFN0cmluZyBvdXRlckhUTUwsIG91dCBsb25nIG91dE5vZGVJZCk7CiAKICAg
ICAgICAgdm9pZCBwZXJmb3JtU2VhcmNoKGluIFN0cmluZyBxdWVyeSwgaW4gYm9vbGVhbiBydW5T
eW5jaHJvbm91c2x5KTsKLSAgICAgICAgdm9pZCBzZWFyY2hDYW5jZWxlZCgpOworICAgICAgICB2
b2lkIGNhbmNlbFNlYXJjaCgpOwogCisgICAgICAgIHZvaWQgcHVzaE5vZGVUb0Zyb250ZW5kKGlu
IE9iamVjdCBvYmplY3RJZCwgb3V0IGxvbmcgbm9kZUlkKTsKICAgICAgICAgdm9pZCBwdXNoTm9k
ZUJ5UGF0aFRvRnJvbnRlbmQoaW4gU3RyaW5nIHBhdGgsIG91dCBsb25nIG5vZGVJZCk7CiAgICAg
ICAgIHZvaWQgcmVzb2x2ZU5vZGUoaW4gbG9uZyBub2RlSWQsIGluIFN0cmluZyBvYmplY3RHcm91
cCwgb3V0IFZhbHVlIHJlc3VsdCk7Ci0gICAgICAgIHZvaWQgcHVzaE5vZGVUb0Zyb250ZW5kKGlu
IE9iamVjdCBvYmplY3RJZCwgb3V0IGxvbmcgbm9kZUlkKTsKIAotICAgICAgICBbZXZlbnRdIHZv
aWQgYWRkTm9kZXNUb1NlYXJjaFJlc3VsdChvdXQgQXJyYXkgbm9kZUlkcyk7CiAgICAgICAgIFtl
dmVudF0gdm9pZCBkb2N1bWVudFVwZGF0ZWQoKTsKICAgICAgICAgW2V2ZW50XSB2b2lkIHNldENo
aWxkTm9kZXMob3V0IGxvbmcgcGFyZW50SWQsIG91dCBBcnJheSBub2Rlcyk7CiAgICAgICAgIFtl
dmVudF0gdm9pZCBhdHRyaWJ1dGVzVXBkYXRlZChvdXQgbG9uZyBpZCwgb3V0IEFycmF5IGF0dHJp
YnV0ZXMpOwpAQCAtMTcxLDYgKzE3MCw3IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgW2V2ZW50
XSB2b2lkIGNoaWxkTm9kZUNvdW50VXBkYXRlZChvdXQgbG9uZyBpZCwgb3V0IGludCBuZXdWYWx1
ZSk7CiAgICAgICAgIFtldmVudF0gdm9pZCBjaGlsZE5vZGVJbnNlcnRlZChvdXQgbG9uZyBwYXJl
bnRJZCwgb3V0IGxvbmcgcHJldklkLCBvdXQgT2JqZWN0IG5vZGUpOwogICAgICAgICBbZXZlbnRd
IHZvaWQgY2hpbGROb2RlUmVtb3ZlZChvdXQgbG9uZyBwYXJlbnRJZCwgb3V0IGxvbmcgaWQpOwor
ICAgICAgICBbZXZlbnRdIHZvaWQgc2VhcmNoUmVzdWx0cyhvdXQgQXJyYXkgbm9kZUlkcyk7CiAg
ICAgfTsKIAogICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SXSBDU1MgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggYjZl
N2FiNDM1Yzc1NjlkN2YxZTgxNjk1N2E5M2MxNDc1YWJhMTdmMi4uY2U5ZDY2ODI2MDVhOTY2YzU3
N2M2OGQ3OTg4NjYyMTE5N2I2ZjVjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0yOTUsNyArMjk1LDcgQEAgVmVjdG9yPERvY3VtZW50
Kj4gSW5zcGVjdG9yRE9NQWdlbnQ6OmRvY3VtZW50cygpCiB2b2lkIEluc3BlY3RvckRPTUFnZW50
OjpyZXNldCgpCiB7CiAgICAgRXJyb3JTdHJpbmcgZXJyb3I7Ci0gICAgc2VhcmNoQ2FuY2VsZWQo
JmVycm9yKTsKKyAgICBjYW5jZWxTZWFyY2goJmVycm9yKTsKICAgICBkaXNjYXJkQmluZGluZ3Mo
KTsKICAgICBpZiAobV9yZXZhbGlkYXRlU3R5bGVBdHRyVGFzaykKICAgICAgICAgbV9yZXZhbGlk
YXRlU3R5bGVBdHRyVGFzay0+cmVzZXQoKTsKQEAgLTc4NSw3ICs3ODUsNyBAQCB2b2lkIEluc3Bl
Y3RvckRPTUFnZW50OjpwZXJmb3JtU2VhcmNoKEVycm9yU3RyaW5nKiBlcnJvciwgY29uc3QgU3Ry
aW5nJiB3aGl0ZXNwYQogICAgIGVzY2FwZWRUYWdOYW1lUXVlcnkucmVwbGFjZSgiJyIsICJcXCci
KTsKIAogICAgIC8vIENsZWFyIHBlbmRpbmcgam9icy4KLSAgICBzZWFyY2hDYW5jZWxlZChlcnJv
cik7CisgICAgY2FuY2VsU2VhcmNoKGVycm9yKTsKIAogICAgIC8vIEZpbmQgYWxsIGZyYW1lcywg
aWZyYW1lcyBhbmQgb2JqZWN0IGVsZW1lbnRzIHRvIHNlYXJjaCB0aGVpciBkb2N1bWVudHMuCiAg
ICAgVmVjdG9yPERvY3VtZW50Kj4gZG9jcyA9IGRvY3VtZW50cygpOwpAQCAtODM5LDEzICs4Mzks
MTMgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cGVyZm9ybVNlYXJjaChFcnJvclN0cmluZyog
ZXJyb3IsIGNvbnN0IFN0cmluZyYgd2hpdGVzcGEKICAgICAgICAgZm9yIChEZXF1ZTxNYXRjaEpv
Yio+OjppdGVyYXRvciBpdCA9IG1fcGVuZGluZ01hdGNoSm9icy5iZWdpbigpOyBpdCAhPSBtX3Bl
bmRpbmdNYXRjaEpvYnMuZW5kKCk7ICsraXQpCiAgICAgICAgICAgICAoKml0KS0+bWF0Y2gocmVz
dWx0Q29sbGVjdG9yKTsKICAgICAgICAgcmVwb3J0Tm9kZXNBc1NlYXJjaFJlc3VsdHMocmVzdWx0
Q29sbGVjdG9yKTsKLSAgICAgICAgc2VhcmNoQ2FuY2VsZWQoZXJyb3IpOworICAgICAgICBjYW5j
ZWxTZWFyY2goZXJyb3IpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fbWF0Y2hKb2Jz
VGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIEluc3BlY3RvckRPTUFnZW50OjpzZWFy
Y2hDYW5jZWxlZChFcnJvclN0cmluZyopCit2b2lkIEluc3BlY3RvckRPTUFnZW50OjpjYW5jZWxT
ZWFyY2goRXJyb3JTdHJpbmcqKQogewogICAgIGlmIChtX21hdGNoSm9ic1RpbWVyLmlzQWN0aXZl
KCkpCiAgICAgICAgIG1fbWF0Y2hKb2JzVGltZXIuc3RvcCgpOwpAQCAtMTIxNiw3ICsxMjE2LDcg
QEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6b25NYXRjaEpvYnNUaW1lcihUaW1lcjxJbnNwZWN0
b3JET01BZ2VudD4qKQogewogICAgIGlmICghbV9wZW5kaW5nTWF0Y2hKb2JzLnNpemUoKSkgewog
ICAgICAgICBFcnJvclN0cmluZyBlcnJvcjsKLSAgICAgICAgc2VhcmNoQ2FuY2VsZWQoJmVycm9y
KTsKKyAgICAgICAgY2FuY2VsU2VhcmNoKCZlcnJvcik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKQEAgLTEyMzksNyArMTIzOSw3IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnJlcG9ydE5v
ZGVzQXNTZWFyY2hSZXN1bHRzKExpc3RIYXNoU2V0PE5vZGUqPiYgcmVzdWx0Q29sCiAgICAgICAg
IG1fc2VhcmNoUmVzdWx0cy5hZGQoKml0KTsKICAgICAgICAgbm9kZUlkcy0+cHVzaE51bWJlcihz
dGF0aWNfY2FzdDxsb25nIGxvbmc+KHB1c2hOb2RlUGF0aFRvRnJvbnRlbmQoKml0KSkpOwogICAg
IH0KLSAgICBtX2Zyb250ZW5kLT5hZGROb2Rlc1RvU2VhcmNoUmVzdWx0KG5vZGVJZHMucmVsZWFz
ZSgpKTsKKyAgICBtX2Zyb250ZW5kLT5zZWFyY2hSZXN1bHRzKG5vZGVJZHMucmVsZWFzZSgpKTsK
IH0KIAogdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6Y29weU5vZGUoRXJyb3JTdHJpbmcqLCBsb25n
IG5vZGVJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgK
aW5kZXggYTdjNDhmYWM1YjU2OGY5ZGFlZDM1ZDM5OTAyYjA1ZDkyYzk0OTdlMC4uNDVjYzkzYzFk
MjE4MGEwOTFlNTAzZmJhOTU3OWU2MzI2ODQyZWEzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKQEAgLTEyMCw3ICsxMjAsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXROb2RlVmFsdWUoRXJyb3JTdHJpbmcqLCBsb25nIG5vZGVJZCwgY29uc3QgU3Ry
aW5nJiB2YWx1ZSwgYm9vbCogc3VjY2Vzcyk7CiAgICAgdm9pZCBnZXRFdmVudExpc3RlbmVyc0Zv
ck5vZGUoRXJyb3JTdHJpbmcqLCBsb25nIG5vZGVJZCwgUmVmUHRyPEluc3BlY3RvckFycmF5Piog
bGlzdGVuZXJzQXJyYXkpOwogICAgIHZvaWQgcGVyZm9ybVNlYXJjaChFcnJvclN0cmluZyosIGNv
bnN0IFN0cmluZyYgd2hpdGVzcGFjZVRyaW1tZWRRdWVyeSwgYm9vbCBydW5TeW5jaHJvbm91c2x5
KTsKLSAgICB2b2lkIHNlYXJjaENhbmNlbGVkKEVycm9yU3RyaW5nKik7CisgICAgdm9pZCBjYW5j
ZWxTZWFyY2goRXJyb3JTdHJpbmcqKTsKICAgICB2b2lkIHJlc29sdmVOb2RlKEVycm9yU3RyaW5n
KiwgbG9uZyBub2RlSWQsIGNvbnN0IFN0cmluZyYgb2JqZWN0R3JvdXAsIFJlZlB0cjxJbnNwZWN0
b3JWYWx1ZT4qIHJlc3VsdCk7CiAgICAgdm9pZCBwdXNoTm9kZVRvRnJvbnRlbmQoRXJyb3JTdHJp
bmcqLCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gb2JqZWN0SWQsIGxvbmcqIG5vZGVJZCk7
CiAgICAgdm9pZCBwdXNoTm9kZUJ5UGF0aFRvRnJvbnRlbmQoRXJyb3JTdHJpbmcqLCBjb25zdCBT
dHJpbmcmIHBhdGgsIGxvbmcqIG5vZGVJZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9ET01BZ2VudC5qcwppbmRleCA2ODFhYTBmOWEwMWZjOGQzMzQzZmY1OTFhZmI3
ODhlYTIzOWI1NTJhLi5jNjBhOWQ5NTgyNDU2MGMyZWNlNDM1MTRlMGY5ZmM4YmU0ZDUzZDVmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50Lmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMKQEAg
LTI5Nyw0MiArMjk3LDYgQEAgV2ViSW5zcGVjdG9yLkRPTURvY3VtZW50ID0gZnVuY3Rpb24oZG9t
QWdlbnQsIHBheWxvYWQpCiAgICAgdGhpcy5fZG9tQWdlbnQgPSBkb21BZ2VudDsKIH0KIAotV2Vi
SW5zcGVjdG9yLkRPTURvY3VtZW50LnByb3RvdHlwZSA9IHsKLQotICAgIGFkZEV2ZW50TGlzdGVu
ZXI6IGZ1bmN0aW9uKG5hbWUsIGNhbGxiYWNrKQotICAgIHsKLSAgICAgICAgdmFyIGxpc3RlbmVy
cyA9IHRoaXMuX2xpc3RlbmVyc1tuYW1lXTsKLSAgICAgICAgaWYgKCFsaXN0ZW5lcnMpIHsKLSAg
ICAgICAgICAgIGxpc3RlbmVycyA9IFtdOwotICAgICAgICAgICAgdGhpcy5fbGlzdGVuZXJzW25h
bWVdID0gbGlzdGVuZXJzOwotICAgICAgICB9Ci0gICAgICAgIGxpc3RlbmVycy5wdXNoKGNhbGxi
YWNrKTsKLSAgICB9LAotCi0gICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcjogZnVuY3Rpb24obmFtZSwg
Y2FsbGJhY2spCi0gICAgewotICAgICAgICB2YXIgbGlzdGVuZXJzID0gdGhpcy5fbGlzdGVuZXJz
W25hbWVdOwotICAgICAgICBpZiAoIWxpc3RlbmVycykKLSAgICAgICAgICAgIHJldHVybjsKLQot
ICAgICAgICB2YXIgaW5kZXggPSBsaXN0ZW5lcnMuaW5kZXhPZihjYWxsYmFjayk7Ci0gICAgICAg
IGlmIChpbmRleCAhPSAtMSkKLSAgICAgICAgICAgIGxpc3RlbmVycy5zcGxpY2UoaW5kZXgsIDEp
OwotICAgIH0sCi0KLSAgICBfZmlyZURvbUV2ZW50OiBmdW5jdGlvbihuYW1lLCBldmVudCkKLSAg
ICB7Ci0gICAgICAgIHZhciBsaXN0ZW5lcnMgPSB0aGlzLl9saXN0ZW5lcnNbbmFtZV07Ci0gICAg
ICAgIGlmICghbGlzdGVuZXJzKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgbGlzdGVuZXJzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIg
bGlzdGVuZXIgPSBsaXN0ZW5lcnNbaV07Ci0gICAgICAgICAgICBsaXN0ZW5lci5jYWxsKHRoaXMs
IGV2ZW50KTsKLSAgICAgICAgfQotICAgIH0KLX0KLQogV2ViSW5zcGVjdG9yLkRPTURvY3VtZW50
LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGU7CiAK
IFdlYkluc3BlY3Rvci5ET01BZ2VudCA9IGZ1bmN0aW9uKCkgewpAQCAtMzQxLDE0ICszMDUsMzMg
QEAgV2ViSW5zcGVjdG9yLkRPTUFnZW50ID0gZnVuY3Rpb24oKSB7CiAgICAgSW5zcGVjdG9yQmFj
a2VuZC5yZWdpc3RlckRvbWFpbkRpc3BhdGNoZXIoIkRPTSIsIG5ldyBXZWJJbnNwZWN0b3IuRE9N
RGlzcGF0Y2hlcih0aGlzKSk7CiB9CiAKK1dlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMgPSB7
CisgICAgQXR0ck1vZGlmaWVkOiAiQXR0ck1vZGlmaWVkIiwKKyAgICBDaGFyYWN0ZXJEYXRhTW9k
aWZpZWQ6ICJDaGFyYWN0ZXJEYXRhTW9kaWZpZWQiLAorICAgIE5vZGVJbnNlcnRlZDogIk5vZGVJ
bnNlcnRlZCIsCisgICAgTm9kZVJlbW92ZWQ6ICJOb2RlUmVtb3ZlZCIsCisgICAgRG9jdW1lbnRV
cGRhdGVkOiAiRG9jdW1lbnRVcGRhdGVkIiwKKyAgICBDaGlsZE5vZGVDb3VudFVwZGF0ZWQ6ICJD
aGlsZE5vZGVDb3VudFVwZGF0ZWQiCit9CisKIFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5
cGUgPSB7CiAgICAgcmVxdWVzdERvY3VtZW50OiBmdW5jdGlvbihjYWxsYmFjaykKICAgICB7CiAg
ICAgICAgIGlmICh0aGlzLl9kb2N1bWVudCkgewogICAgICAgICAgICAgaWYgKGNhbGxiYWNrKQog
ICAgICAgICAgICAgICAgIGNhbGxiYWNrKHRoaXMuX2RvY3VtZW50KTsKLSAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICB0aGlzLl9kb2N1bWVudFVwZGF0ZWQoY2FsbGJhY2spOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gbXljYWxsYmFjayhlcnJv
ciwgcm9vdCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFlcnJvcikKKyAgICAgICAgICAg
ICAgICB0aGlzLl9zZXREb2N1bWVudChyb290KTsKKworICAgICAgICAgICAgaWYgKGNhbGxiYWNr
KQorICAgICAgICAgICAgICAgIGNhbGxiYWNrKHRoaXMuX2RvY3VtZW50KTsKKyAgICAgICAgfQor
ICAgICAgICBET01BZ2VudC5nZXREb2N1bWVudChteWNhbGxiYWNrLmJpbmQodGhpcykpOwogICAg
IH0sCiAKICAgICBwdXNoTm9kZVRvRnJvbnRlbmQ6IGZ1bmN0aW9uKG9iamVjdElkLCBjYWxsYmFj
aykKQEAgLTM5MiwxNiArMzc1LDE0IEBAIFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5cGUg
PSB7CiAgICAgewogICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX2lkVG9ET01Ob2RlW25vZGVJZF07
CiAgICAgICAgIG5vZGUuX3NldEF0dHJpYnV0ZXNQYXlsb2FkKGF0dHJzQXJyYXkpOwotICAgICAg
ICB2YXIgZXZlbnQgPSB7dGFyZ2V0OiBub2RlfTsKLSAgICAgICAgdGhpcy5fZG9jdW1lbnQuX2Zp
cmVEb21FdmVudCgiRE9NQXR0ck1vZGlmaWVkIiwgZXZlbnQpOworICAgICAgICB0aGlzLmRpc3Bh
dGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2Rp
ZmllZCwgbm9kZSk7CiAgICAgfSwKIAogICAgIF9jaGFyYWN0ZXJEYXRhTW9kaWZpZWQ6IGZ1bmN0
aW9uKG5vZGVJZCwgbmV3VmFsdWUpCiAgICAgewogICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX2lk
VG9ET01Ob2RlW25vZGVJZF07CiAgICAgICAgIG5vZGUuX25vZGVWYWx1ZSA9IG5ld1ZhbHVlOwot
ICAgICAgICB2YXIgZXZlbnQgPSB7IHRhcmdldCA6IG5vZGUgfTsKLSAgICAgICAgdGhpcy5fZG9j
dW1lbnQuX2ZpcmVEb21FdmVudCgiRE9NQ2hhcmFjdGVyRGF0YU1vZGlmaWVkIiwgZXZlbnQpOwor
ICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRE9NQWdl
bnQuRXZlbnRzLkNoYXJhY3RlckRhdGFNb2RpZmllZCwgbm9kZSk7CiAgICAgfSwKIAogICAgIG5v
ZGVGb3JJZDogZnVuY3Rpb24obm9kZUlkKQpAQCAtNDA5LDE4ICszOTAsMTAgQEAgV2ViSW5zcGVj
dG9yLkRPTUFnZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2lkVG9ET01O
b2RlW25vZGVJZF07CiAgICAgfSwKIAotICAgIF9kb2N1bWVudFVwZGF0ZWQ6IGZ1bmN0aW9uKGNh
bGxiYWNrKQorICAgIF9kb2N1bWVudFVwZGF0ZWQ6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAg
IGZ1bmN0aW9uIG15Y2FsbGJhY2soZXJyb3IsIHJvb3QpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IGlmIChlcnJvcikKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIHRoaXMu
X3NldERvY3VtZW50KHJvb3QpOwotICAgICAgICAgICAgaWYgKGNhbGxiYWNrKQotICAgICAgICAg
ICAgICAgIGNhbGxiYWNrKHRoaXMuX2RvY3VtZW50KTsKLSAgICAgICAgfQotICAgICAgICBET01B
Z2VudC5nZXREb2N1bWVudChteWNhbGxiYWNrLmJpbmQodGhpcykpOworICAgICAgICB0aGlzLl9z
ZXREb2N1bWVudChudWxsKTsKKyAgICAgICAgdGhpcy5yZXF1ZXN0RG9jdW1lbnQoKTsKICAgICB9
LAogCiAgICAgX3NldERvY3VtZW50OiBmdW5jdGlvbihwYXlsb2FkKQpAQCAtNDMwLDEwICs0MDMs
OSBAQCBXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhp
cy5fZG9jdW1lbnQgPSBuZXcgV2ViSW5zcGVjdG9yLkRPTURvY3VtZW50KHRoaXMsIHBheWxvYWQp
OwogICAgICAgICAgICAgdGhpcy5faWRUb0RPTU5vZGVbcGF5bG9hZC5pZF0gPSB0aGlzLl9kb2N1
bWVudDsKICAgICAgICAgICAgIHRoaXMuX2JpbmROb2Rlcyh0aGlzLl9kb2N1bWVudC5jaGlsZHJl
bik7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuYnJlYWtwb2ludE1hbmFnZXIucmVzdG9yZURP
TUJyZWFrcG9pbnRzKCk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgdGhpcy5fZG9jdW1l
bnQgPSBudWxsOwotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNldERvY3Vt
ZW50KHRoaXMuX2RvY3VtZW50KTsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5l
cnMoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5Eb2N1bWVudFVwZGF0ZWQsIHRoaXMuX2Rv
Y3VtZW50KTsKICAgICB9LAogCiAgICAgX3NldERldGFjaGVkUm9vdDogZnVuY3Rpb24ocGF5bG9h
ZCkKQEAgLTQ2OCwxMCArNDQwLDcgQEAgV2ViSW5zcGVjdG9yLkRPTUFnZW50LnByb3RvdHlwZSA9
IHsKICAgICB7CiAgICAgICAgIHZhciBub2RlID0gdGhpcy5faWRUb0RPTU5vZGVbbm9kZUlkXTsK
ICAgICAgICAgbm9kZS5fY2hpbGROb2RlQ291bnQgPSBuZXdWYWx1ZTsKLSAgICAgICAgdmFyIG91
dGxpbmUgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnRyZWVPdXRsaW5lOwotICAgICAg
ICB2YXIgdHJlZUVsZW1lbnQgPSBvdXRsaW5lLmZpbmRUcmVlRWxlbWVudChub2RlKTsKLSAgICAg
ICAgaWYgKHRyZWVFbGVtZW50KQotICAgICAgICAgICAgdHJlZUVsZW1lbnQuaGFzQ2hpbGRyZW4g
PSBuZXdWYWx1ZTsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5z
cGVjdG9yLkRPTUFnZW50LkV2ZW50cy5DaGlsZE5vZGVDb3VudFVwZGF0ZWQsIG5vZGUpOwogICAg
IH0sCiAKICAgICBfY2hpbGROb2RlSW5zZXJ0ZWQ6IGZ1bmN0aW9uKHBhcmVudElkLCBwcmV2SWQs
IHBheWxvYWQpCkBAIC00ODAsOCArNDQ5LDcgQEAgV2ViSW5zcGVjdG9yLkRPTUFnZW50LnByb3Rv
dHlwZSA9IHsKICAgICAgICAgdmFyIHByZXYgPSB0aGlzLl9pZFRvRE9NTm9kZVtwcmV2SWRdOwog
ICAgICAgICB2YXIgbm9kZSA9IHBhcmVudC5faW5zZXJ0Q2hpbGQocHJldiwgcGF5bG9hZCk7CiAg
ICAgICAgIHRoaXMuX2lkVG9ET01Ob2RlW25vZGUuaWRdID0gbm9kZTsKLSAgICAgICAgdmFyIGV2
ZW50ID0geyB0YXJnZXQgOiBub2RlLCByZWxhdGVkTm9kZSA6IHBhcmVudCB9OwotICAgICAgICB0
aGlzLl9kb2N1bWVudC5fZmlyZURvbUV2ZW50KCJET01Ob2RlSW5zZXJ0ZWQiLCBldmVudCk7Cisg
ICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5ET01BZ2Vu
dC5FdmVudHMuTm9kZUluc2VydGVkLCBub2RlKTsKICAgICB9LAogCiAgICAgX2NoaWxkTm9kZVJl
bW92ZWQ6IGZ1bmN0aW9uKHBhcmVudElkLCBub2RlSWQpCkBAIC00ODksOCArNDU3LDcgQEAgV2Vi
SW5zcGVjdG9yLkRPTUFnZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIHBhcmVudCA9IHRo
aXMuX2lkVG9ET01Ob2RlW3BhcmVudElkXTsKICAgICAgICAgdmFyIG5vZGUgPSB0aGlzLl9pZFRv
RE9NTm9kZVtub2RlSWRdOwogICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGRfKG5vZGUpOwotICAg
ICAgICB2YXIgZXZlbnQgPSB7IHRhcmdldCA6IG5vZGUsIHJlbGF0ZWROb2RlIDogcGFyZW50IH07
Ci0gICAgICAgIHRoaXMuX2RvY3VtZW50Ll9maXJlRG9tRXZlbnQoIkRPTU5vZGVSZW1vdmVkIiwg
ZXZlbnQpOworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0
b3IuRE9NQWdlbnQuRXZlbnRzLk5vZGVSZW1vdmVkLCB7bm9kZTpub2RlLCBwYXJlbnQ6cGFyZW50
fSk7CiAgICAgICAgIGRlbGV0ZSB0aGlzLl9pZFRvRE9NTm9kZVtub2RlSWRdOwogICAgICAgICB0
aGlzLl9yZW1vdmVCcmVha3BvaW50cyhub2RlKTsKICAgICB9LApAQCAtNTAzLDkgKzQ3MCwyMyBA
QCBXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGUuY2hpbGRyZW4ubGVuZ3RoOyArK2kp
CiAgICAgICAgICAgICB0aGlzLl9yZW1vdmVCcmVha3BvaW50cyhub2RlLmNoaWxkcmVuW2ldKTsK
KyAgICB9LAorCisgICAgcGVyZm9ybVNlYXJjaDogZnVuY3Rpb24ocXVlcnksIHNlYXJjaFJlc3Vs
dENvbGxlY3Rvciwgc2VhcmNoU3luY2hyb25vdXNseSkKKyAgICB7CisgICAgICAgIHRoaXMuX3Nl
YXJjaFJlc3VsdENvbGxlY3RvciA9IHNlYXJjaFJlc3VsdENvbGxlY3RvcjsKKyAgICAgICAgRE9N
QWdlbnQucGVyZm9ybVNlYXJjaChxdWVyeSwgISFzZWFyY2hTeW5jaHJvbm91c2x5KTsKKyAgICB9
LAorCisgICAgY2FuY2VsU2VhcmNoOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBkZWxldGUg
dGhpcy5fc2VhcmNoUmVzdWx0Q29sbGVjdG9yOworICAgICAgICBET01BZ2VudC5jYW5jZWxTZWFy
Y2goKTsKICAgICB9CiB9CiAKK1dlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5cGUuX19wcm90
b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CisKIFdlYkluc3BlY3Rvci5ET01E
aXNwYXRjaGVyID0gZnVuY3Rpb24oZG9tQWdlbnQpCiB7CiAgICAgdGhpcy5fZG9tQWdlbnQgPSBk
b21BZ2VudDsKQEAgLTU1Miw5ICs1MzMsMTAgQEAgV2ViSW5zcGVjdG9yLkRPTURpc3BhdGNoZXIu
cHJvdG90eXBlID0gewogICAgICAgICBXZWJJbnNwZWN0b3IudXBkYXRlRm9jdXNlZE5vZGUobm9k
ZUlkKTsKICAgICB9LAogCi0gICAgYWRkTm9kZXNUb1NlYXJjaFJlc3VsdDogZnVuY3Rpb24obm9k
ZUlkcykKKyAgICBzZWFyY2hSZXN1bHRzOiBmdW5jdGlvbihub2RlSWRzKQogICAgIHsKLSAgICAg
ICAgV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50cy5hZGROb2Rlc1RvU2VhcmNoUmVzdWx0KG5v
ZGVJZHMpOworICAgICAgICBpZiAodGhpcy5fZG9tQWdlbnQuX3NlYXJjaFJlc3VsdENvbGxlY3Rv
cikKKyAgICAgICAgICAgIHRoaXMuX2RvbUFnZW50Ll9zZWFyY2hSZXN1bHRDb2xsZWN0b3Iobm9k
ZUlkcyk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0VsZW1lbnRzUGFuZWwuanMKaW5kZXggMGM4ODRhOTM3MDhhMzc0NGI4OTNhNmVmNWZh
N2Y3YWIwZTYxZTgwOC4uODdlNDkxYmFmODVmOGEwMTRlNjlmMGJlYjUyZjViN2JkMTJjNDk3MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1Bh
bmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQ
YW5lbC5qcwpAQCAtMTEzLDcgKzExMywxNCBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbCA9
IGZ1bmN0aW9uKCkKIAogICAgIHRoaXMuX3JlZ2lzdGVyU2hvcnRjdXRzKCk7CiAKLSAgICB0aGlz
LnJlc2V0KCk7CisgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2Vi
SW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5Ob2RlSW5zZXJ0ZWQsIHRoaXMuX25vZGVJbnNlcnRl
ZCwgdGhpcyk7CisgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2Vi
SW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5Ob2RlUmVtb3ZlZCwgdGhpcy5fbm9kZVJlbW92ZWQs
IHRoaXMpOworICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYklu
c3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkLCB0aGlzLl9hdHRyaWJ1dGVzVXBk
YXRlZCwgdGhpcyk7CisgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5DaGFyYWN0ZXJEYXRhTW9kaWZpZWQsIHRoaXMu
X2NoYXJhY3RlckRhdGFNb2RpZmllZCwgdGhpcyk7CisgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50
LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5Eb2N1bWVudFVw
ZGF0ZWQsIHRoaXMuX2RvY3VtZW50VXBkYXRlZCwgdGhpcyk7CisgICAgV2ViSW5zcGVjdG9yLmRv
bUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5DaGls
ZE5vZGVDb3VudFVwZGF0ZWQsIHRoaXMuX2NoaWxkTm9kZUNvdW50VXBkYXRlZCwgdGhpcyk7CisK
KyAgICB0aGlzLnJlY2VudGx5TW9kaWZpZWROb2RlcyA9IFtdOwogfQogCiBXZWJJbnNwZWN0b3Iu
RWxlbWVudHNQYW5lbC5wcm90b3R5cGUgPSB7CkBAIC0xNjQsNyArMTcxLDcgQEAgV2ViSW5zcGVj
dG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLnVwZGF0ZUJyZWFk
Y3J1bWJTaXplcygpOwogICAgIH0sCiAKLSAgICByZXNldDogZnVuY3Rpb24oKQorICAgIF9yZXNl
dDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuZm9jdXNlZERPTU5vZGUpCiAg
ICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFBhdGhPblJlc2V0ID0gdGhpcy5mb2N1c2VkRE9NTm9k
ZS5wYXRoKCk7CkBAIC0xNzksMTggKzE4NiwyMSBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5l
bC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGRlbGV0ZSB0aGlzLmN1cnJlbnRRdWVyeTsKICAgICB9
LAogCi0gICAgc2V0RG9jdW1lbnQ6IGZ1bmN0aW9uKGluc3BlY3RlZFJvb3REb2N1bWVudCkKKyAg
ICBfZG9jdW1lbnRVcGRhdGVkOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIHRoaXMu
cmVzZXQoKTsKKyAgICAgICAgdGhpcy5fc2V0RG9jdW1lbnQoZXZlbnQuZGF0YSk7CisgICAgfSwK
KworICAgIF9zZXREb2N1bWVudDogZnVuY3Rpb24oaW5zcGVjdGVkUm9vdERvY3VtZW50KQorICAg
IHsKKyAgICAgICAgdGhpcy5fcmVzZXQoKTsKICAgICAgICAgdGhpcy5zZWFyY2hDYW5jZWxlZCgp
OwogCiAgICAgICAgIGlmICghaW5zcGVjdGVkUm9vdERvY3VtZW50KQogICAgICAgICAgICAgcmV0
dXJuOwogCi0gICAgICAgIGluc3BlY3RlZFJvb3REb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJE
T01Ob2RlSW5zZXJ0ZWQiLCB0aGlzLl9ub2RlSW5zZXJ0ZWQuYmluZCh0aGlzKSk7Ci0gICAgICAg
IGluc3BlY3RlZFJvb3REb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Ob2RlUmVtb3ZlZCIs
IHRoaXMuX25vZGVSZW1vdmVkLmJpbmQodGhpcykpOwotICAgICAgICBpbnNwZWN0ZWRSb290RG9j
dW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQXR0ck1vZGlmaWVkIiwgdGhpcy5fYXR0cmlidXRl
c1VwZGF0ZWQuYmluZCh0aGlzKSk7Ci0gICAgICAgIGluc3BlY3RlZFJvb3REb2N1bWVudC5hZGRF
dmVudExpc3RlbmVyKCJET01DaGFyYWN0ZXJEYXRhTW9kaWZpZWQiLCB0aGlzLl9jaGFyYWN0ZXJE
YXRhTW9kaWZpZWQuYmluZCh0aGlzKSk7CisgICAgICAgIFdlYkluc3BlY3Rvci5icmVha3BvaW50
TWFuYWdlci5yZXN0b3JlRE9NQnJlYWtwb2ludHMoKTsKKwogCiAgICAgICAgIHRoaXMucm9vdERP
TU5vZGUgPSBpbnNwZWN0ZWRSb290RG9jdW1lbnQ7CiAKQEAgLTIzMyw3ICsyNDMsNyBAQCBXZWJJ
bnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgZGVsZXRlIHRo
aXMuX2N1cnJlbnRTZWFyY2hSZXN1bHRJbmRleDsKICAgICAgICAgdGhpcy5fc2VhcmNoUmVzdWx0
cyA9IFtdOwotICAgICAgICBET01BZ2VudC5zZWFyY2hDYW5jZWxlZCgpOworICAgICAgICBXZWJJ
bnNwZWN0b3IuZG9tQWdlbnQuY2FuY2VsU2VhcmNoKCk7CiAgICAgfSwKIAogICAgIHBlcmZvcm1T
ZWFyY2g6IGZ1bmN0aW9uKHF1ZXJ5KQpAQCAtMjQ5LDcgKzI1OSw3IEBAIFdlYkluc3BlY3Rvci5F
bGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fbWF0Y2hlc0NvdW50VXBk
YXRlVGltZW91dCA9IG51bGw7CiAgICAgICAgIHRoaXMuX3NlYXJjaFF1ZXJ5ID0gcXVlcnk7CiAK
LSAgICAgICAgRE9NQWdlbnQucGVyZm9ybVNlYXJjaCh3aGl0ZXNwYWNlVHJpbW1lZFF1ZXJ5LCBm
YWxzZSk7CisgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJmb3JtU2VhcmNoKHdoaXRl
c3BhY2VUcmltbWVkUXVlcnksIHRoaXMuX2FkZE5vZGVzVG9TZWFyY2hSZXN1bHQuYmluZCh0aGlz
KSk7CiAgICAgfSwKIAogICAgIF9jb250ZXh0TWVudUV2ZW50RmlyZWQ6IGZ1bmN0aW9uKGV2ZW50
KQpAQCAtMzIwLDcgKzMzMCw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgdGhpcy5fbWF0Y2hlc0NvdW50VXBkYXRlVGltZW91dCA9IHNldFRpbWVv
dXQodGhpcy5fdXBkYXRlTWF0Y2hlc0NvdW50LmJpbmQodGhpcyksIDUwMCk7CiAgICAgfSwKIAot
ICAgIGFkZE5vZGVzVG9TZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKG5vZGVJZHMpCisgICAgX2FkZE5v
ZGVzVG9TZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKG5vZGVJZHMpCiAgICAgewogICAgICAgICBpZiAo
IW5vZGVJZHMubGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJuOwpAQCAtNDEwLDM1ICs0MjAsNDIg
QEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgX2F0dHJp
YnV0ZXNVcGRhdGVkOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIHRoaXMucmVjZW50
bHlNb2RpZmllZE5vZGVzLnB1c2goe25vZGU6IGV2ZW50LnRhcmdldCwgdXBkYXRlZDogdHJ1ZX0p
OworICAgICAgICB0aGlzLnJlY2VudGx5TW9kaWZpZWROb2Rlcy5wdXNoKHtub2RlOiBldmVudC5k
YXRhLCB1cGRhdGVkOiB0cnVlfSk7CiAgICAgICAgIGlmICh0aGlzLnZpc2libGUpCiAgICAgICAg
ICAgICB0aGlzLl91cGRhdGVNb2RpZmllZE5vZGVzU29vbigpOwogCi0gICAgICAgIGlmICghdGhp
cy5zaWRlYmFyUGFuZXMuc3R5bGVzLmlzTW9kaWZ5aW5nU3R5bGUgJiYgZXZlbnQudGFyZ2V0ID09
PSB0aGlzLmZvY3VzZWRET01Ob2RlKQorICAgICAgICBpZiAoIXRoaXMuc2lkZWJhclBhbmVzLnN0
eWxlcy5pc01vZGlmeWluZ1N0eWxlICYmIGV2ZW50LmRhdGEgPT09IHRoaXMuZm9jdXNlZERPTU5v
ZGUpCiAgICAgICAgICAgICB0aGlzLl9zdHlsZVNoZWV0Q2hhbmdlZCgpOwogICAgIH0sCiAKICAg
ICBfY2hhcmFjdGVyRGF0YU1vZGlmaWVkOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAg
IHRoaXMucmVjZW50bHlNb2RpZmllZE5vZGVzLnB1c2goe25vZGU6IGV2ZW50LnRhcmdldCwgdXBk
YXRlZDogdHJ1ZX0pOworICAgICAgICB0aGlzLnJlY2VudGx5TW9kaWZpZWROb2Rlcy5wdXNoKHtu
b2RlOiBldmVudC5kYXRhLCB1cGRhdGVkOiB0cnVlfSk7CiAgICAgICAgIGlmICh0aGlzLnZpc2li
bGUpCiAgICAgICAgICAgICB0aGlzLl91cGRhdGVNb2RpZmllZE5vZGVzU29vbigpOwogICAgIH0s
CiAKICAgICBfbm9kZUluc2VydGVkOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIHRo
aXMucmVjZW50bHlNb2RpZmllZE5vZGVzLnB1c2goe25vZGU6IGV2ZW50LnRhcmdldCwgcGFyZW50
OiBldmVudC5yZWxhdGVkTm9kZSwgaW5zZXJ0ZWQ6IHRydWV9KTsKKyAgICAgICAgdGhpcy5yZWNl
bnRseU1vZGlmaWVkTm9kZXMucHVzaCh7bm9kZTogZXZlbnQuZGF0YSwgcGFyZW50OiBldmVudC5k
YXRhLnBhcmVudE5vZGUsIGluc2VydGVkOiB0cnVlfSk7CiAgICAgICAgIGlmICh0aGlzLnZpc2li
bGUpCiAgICAgICAgICAgICB0aGlzLl91cGRhdGVNb2RpZmllZE5vZGVzU29vbigpOwogICAgIH0s
CiAKICAgICBfbm9kZVJlbW92ZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgdGhp
cy5yZWNlbnRseU1vZGlmaWVkTm9kZXMucHVzaCh7bm9kZTogZXZlbnQudGFyZ2V0LCBwYXJlbnQ6
IGV2ZW50LnJlbGF0ZWROb2RlLCByZW1vdmVkOiB0cnVlfSk7CisgICAgICAgIHRoaXMucmVjZW50
bHlNb2RpZmllZE5vZGVzLnB1c2goe25vZGU6IGV2ZW50LmRhdGEubm9kZSwgcGFyZW50OiBldmVu
dC5kYXRhLnBhcmVudCwgcmVtb3ZlZDogdHJ1ZX0pOwogICAgICAgICBpZiAodGhpcy52aXNpYmxl
KQogICAgICAgICAgICAgdGhpcy5fdXBkYXRlTW9kaWZpZWROb2Rlc1Nvb24oKTsKICAgICB9LAog
CisgICAgX2NoaWxkTm9kZUNvdW50VXBkYXRlZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAg
ICAgICB2YXIgdHJlZUVsZW1lbnQgPSB0aGlzLnRyZWVPdXRsaW5lLmZpbmRUcmVlRWxlbWVudChl
dmVudC5kYXRhKTsKKyAgICAgICAgaWYgKHRyZWVFbGVtZW50KQorICAgICAgICAgICAgdHJlZUVs
ZW1lbnQuaGFzQ2hpbGRyZW4gPSBldmVudC5kYXRhLmhhc0NoaWxkTm9kZXMoKTsKKyAgICB9LAor
CiAgICAgX3VwZGF0ZU1vZGlmaWVkTm9kZXNTb29uOiBmdW5jdGlvbigpCiAgICAgewogICAgICAg
ICBpZiAoIl91cGRhdGVNb2RpZmllZE5vZGVzVGltZW91dCIgaW4gdGhpcykKQEAgLTQ1Nyw3ICs0
NzQsNiBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAg
IHZhciB1cGRhdGVCcmVhZGNydW1icyA9IGZhbHNlOwogCiAgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgdGhpcy5yZWNlbnRseU1vZGlmaWVkTm9kZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAg
ICAgIHZhciByZXBsYWNlZCA9IHRoaXMucmVjZW50bHlNb2RpZmllZE5vZGVzW2ldLnJlcGxhY2Vk
OwogICAgICAgICAgICAgdmFyIHBhcmVudCA9IHRoaXMucmVjZW50bHlNb2RpZmllZE5vZGVzW2ld
LnBhcmVudDsKICAgICAgICAgICAgIHZhciBub2RlID0gdGhpcy5yZWNlbnRseU1vZGlmaWVkTm9k
ZXNbaV0ubm9kZTsKIApAQCAtNDczLDcgKzQ4OSw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1Bh
bmVsLnByb3RvdHlwZSA9IHsKIAogICAgICAgICAgICAgdmFyIHBhcmVudE5vZGVJdGVtID0gdGhp
cy50cmVlT3V0bGluZS5maW5kVHJlZUVsZW1lbnQocGFyZW50KTsKICAgICAgICAgICAgIGlmIChw
YXJlbnROb2RlSXRlbSAmJiAhcGFyZW50Tm9kZUl0ZW0uYWxyZWFkeVVwZGF0ZWRDaGlsZHJlbikg
ewotICAgICAgICAgICAgICAgIHBhcmVudE5vZGVJdGVtLnVwZGF0ZUNoaWxkcmVuKHJlcGxhY2Vk
KTsKKyAgICAgICAgICAgICAgICBwYXJlbnROb2RlSXRlbS51cGRhdGVDaGlsZHJlbigpOwogICAg
ICAgICAgICAgICAgIHBhcmVudE5vZGVJdGVtLmFscmVhZHlVcGRhdGVkQ2hpbGRyZW4gPSB0cnVl
OwogICAgICAgICAgICAgICAgIHVwZGF0ZWRQYXJlbnRUcmVlRWxlbWVudHMucHVzaChwYXJlbnRO
b2RlSXRlbSk7CiAgICAgICAgICAgICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>