<?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>84574</bug_id>
          
          <creation_ts>2012-04-23 01:12:36 -0700</creation_ts>
          <short_desc>Web Inspector: introduce String.prototype.starts/endsWith and use it all over the place.</short_desc>
          <delta_ts>2012-04-23 01:49:54 -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="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>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>607537</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-23 01:12:36 -0700</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607546</commentid>
    <comment_count>1</comment_count>
      <attachid>138309</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-23 01:42:30 -0700</bug_when>
    <thetext>Created attachment 138309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607550</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-23 01:49:54 -0700</bug_when>
    <thetext>Committed r114880: &lt;http://trac.webkit.org/changeset/114880&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138309</attachid>
            <date>2012-04-23 01:42:30 -0700</date>
            <delta_ts>2012-04-23 01:45:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84574-20120423124228.patch</filename>
            <type>text/plain</type>
            <size>21377</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0ODc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjkwNWFkMWQ4N2MzZmEy
ODQ4ZTUxYTZkMjllODMwNGQwYTA0NGJiNy4uYzM3ZGIxYTgwZDU0Yzc5YjQ2ODllY2E2Y2UyNjQ0
ZmQ5NDU4YTc5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTA0LTIzICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGludHJvZHVjZSBTdHJpbmcucHJvdG90eXBlLnN0YXJ0cy9lbmRzV2l0aCBhbmQgdXNlIGl0
IGFsbCBvdmVyIHRoZSBwbGFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg0NTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0UnVsZXMuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5WZW5kb3JQcmVmaXhlZENTU1Byb3BlcnRpZXMucHJv
dG90eXBlLnZpc2l0UHJvcGVydHkpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQnJl
YWtwb2ludHNTaWRlYmFyUGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FdmVudExpc3Rl
bmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX3NldEJyZWFrcG9pbnQpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50c1NpZGViYXJQYW5lLnBy
b3RvdHlwZS5fcmVtb3ZlQnJlYWtwb2ludCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9DU1NDb21wbGV0aW9ucy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9u
cy5wcm90b3R5cGUuc3RhcnRzV2l0aCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTQ29tcGxl
dGlvbnMucHJvdG90eXBlLl9maXJzdEluZGV4T2ZQcmVmaXgpOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29s
ZVZpZXcucHJvdG90eXBlLl9yZXBvcnRDb21wbGV0aW9ucyk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9Db29raWVJdGVtc1ZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29v
a2llcy5jb29raWVNYXRjaGVzUmVzb3VyY2VVUkwpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvRGF0YWJhc2VRdWVyeVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YWJh
c2VRdWVyeVZpZXcucHJvdG90eXBlLmNvbXBsZXRpb25zKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0VsZW1lbnRzVHJlZU91dGxpbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5cGUuX2J1aWxkQXR0cmlidXRlRE9NKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVWaWV3LmpzOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvUHJvZmlsZXNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Q
cm9maWxlc1BhbmVsLnByb3RvdHlwZS5hZGRQcm9maWxlSGVhZGVyKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZS5kaXNwbGF5VGl0bGVGb3JQcm9maWxlTGlu
ayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZVNpZGViYXJUcmVlRWxlbWVudCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZVNpZGViYXJUcmVlRWxlbWVudC5wcm90b3R5cGUu
Z2V0IG1haW5UaXRsZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVV0
aWxzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhcnNlZFVSTCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmxpbmtp
ZnlTdHJpbmdBc0ZyYWdtZW50V2l0aEN1c3RvbUxpbmtpZmllcik6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuY29tcGxldGVVUkwpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU25pcHBl
dHNNb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TbmlwcGV0c01vZGVsLnByb3RvdHlw
ZS5zbmlwcGV0SWRGb3JTb3VyY2VVUkwpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
U291cmNlQ1NTVG9rZW5pemVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rv
a2VuaXplci5wcm90b3R5cGUubmV4dFRva2VuKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1NvdXJjZUNTU1Rva2VuaXplci5yZTJqczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1RleHRQcm9tcHQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdC5wcm90
b3R5cGUuX2NvbXBsZXRlQ29tbW9uUHJlZml4KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1VJVXRpbHMuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qczoKKwogMjAxMi0wNC0yMCAg
UGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5z
cGVjdG9yOiBpbXBsZW1lbnQgIm9wZW4gc3R5bGVzaGVldCIgZGlhbG9nLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdFJ1bGVzLmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdFJ1bGVzLmpzCmluZGV4IGYxNjA4NDUx
ZjhjOWI5ODk1MDJlNWE3MDA4M2I5MzZhZDI0NmI4NmMuLmU5M2ZiYmU4NzA0M2YzMDlhNWM2OTI3
MWMwNmFiNDhhYzg3OTdhMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQXVkaXRSdWxlcy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0F1ZGl0UnVsZXMuanMKQEAgLTExMDYsNyArMTEwNiw3IEBAIFdlYkluc3BlY3Rvci5B
dWRpdFJ1bGVzLlZlbmRvclByZWZpeGVkQ1NTUHJvcGVydGllcy5wcm90b3R5cGUgPSB7CiAKICAg
ICB2aXNpdFByb3BlcnR5OiBmdW5jdGlvbihzdHlsZVNoZWV0LCBwcm9wZXJ0eSwgcmVzdWx0KQog
ICAgIHsKLSAgICAgICAgaWYgKHByb3BlcnR5Lm5hbWUuaW5kZXhPZih0aGlzLl93ZWJraXRQcmVm
aXgpICE9PSAwKQorICAgICAgICBpZiAoIXByb3BlcnR5Lm5hbWUuc3RhcnRzV2l0aCh0aGlzLl93
ZWJraXRQcmVmaXgpKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHZhciBub3JtYWxQ
cm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eS5uYW1lLnN1YnN0cmluZyh0aGlzLl93ZWJraXRQcmVmaXgu
bGVuZ3RoKS50b0xvd2VyQ2FzZSgpOyAvLyBTdGFydCBqdXN0IGFmdGVyIHRoZSAiLXdlYmtpdC0i
IHByZWZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
QnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qcwppbmRleCAzOWViMmQxYjJkNjRkYzE2YzUz
MzA4OTJjMDk4MDk1ZDM4MzkwMTlkLi44YmE0MmFhYWVlMDlmYzU0MDJkNzIzMjY4NzVjMDVjNGVj
OGIzYjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Jy
ZWFrcG9pbnRzU2lkZWJhclBhbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzCkBAIC01NzYsOSArNTc2LDkgQEAgV2Vi
SW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZSA9
IHsKICAgICAgICAgaWYgKCFicmVha3BvaW50SXRlbSkKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgYnJlYWtwb2ludEl0ZW0uY2hlY2tib3guY2hlY2tlZCA9IHRydWU7Ci0gICAgICAgIGlm
IChldmVudE5hbWUuaW5kZXhPZihXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRz
U2lkZWJhclBhbmUuY2F0ZWdvdHlMaXN0ZW5lcikgPT09IDApCisgICAgICAgIGlmIChldmVudE5h
bWUuc3RhcnRzV2l0aChXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzU2lkZWJh
clBhbmUuY2F0ZWdvdHlMaXN0ZW5lcikpCiAgICAgICAgICAgICBET01EZWJ1Z2dlckFnZW50LnNl
dEV2ZW50TGlzdGVuZXJCcmVha3BvaW50KGV2ZW50TmFtZS5zdWJzdHJpbmcoV2ViSW5zcGVjdG9y
LkV2ZW50TGlzdGVuZXJCcmVha3BvaW50c1NpZGViYXJQYW5lLmNhdGVnb3R5TGlzdGVuZXIubGVu
Z3RoKSk7Ci0gICAgICAgIGVsc2UgaWYgKGV2ZW50TmFtZS5pbmRleE9mKFdlYkluc3BlY3Rvci5F
dmVudExpc3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5jYXRlZ290eUluc3RydW1lbnRhdGlv
bikgPT09IDApCisgICAgICAgIGVsc2UgaWYgKGV2ZW50TmFtZS5zdGFydHNXaXRoKFdlYkluc3Bl
Y3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5jYXRlZ290eUluc3RydW1l
bnRhdGlvbikpCiAgICAgICAgICAgICBET01EZWJ1Z2dlckFnZW50LnNldEluc3RydW1lbnRhdGlv
bkJyZWFrcG9pbnQoZXZlbnROYW1lLnN1YnN0cmluZyhXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5l
ckJyZWFrcG9pbnRzU2lkZWJhclBhbmUuY2F0ZWdvdHlJbnN0cnVtZW50YXRpb24ubGVuZ3RoKSk7
CiAgICAgICAgIHRoaXMuX3VwZGF0ZUNhdGVnb3J5Q2hlY2tib3goYnJlYWtwb2ludEl0ZW0ucGFy
ZW50KTsKICAgICB9LApAQCAtNTg5LDkgKzU4OSw5IEBAIFdlYkluc3BlY3Rvci5FdmVudExpc3Rl
bmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICghYnJl
YWtwb2ludEl0ZW0pCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGJyZWFrcG9pbnRJdGVt
LmNoZWNrYm94LmNoZWNrZWQgPSBmYWxzZTsKLSAgICAgICAgaWYgKGV2ZW50TmFtZS5pbmRleE9m
KFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5jYXRlZ290
eUxpc3RlbmVyKSA9PT0gMCkKKyAgICAgICAgaWYgKGV2ZW50TmFtZS5zdGFydHNXaXRoKFdlYklu
c3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5jYXRlZ290eUxpc3Rl
bmVyKSkKICAgICAgICAgICAgIERPTURlYnVnZ2VyQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lckJy
ZWFrcG9pbnQoZXZlbnROYW1lLnN1YnN0cmluZyhXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lckJy
ZWFrcG9pbnRzU2lkZWJhclBhbmUuY2F0ZWdvdHlMaXN0ZW5lci5sZW5ndGgpKTsKLSAgICAgICAg
ZWxzZSBpZiAoZXZlbnROYW1lLmluZGV4T2YoV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVh
a3BvaW50c1NpZGViYXJQYW5lLmNhdGVnb3R5SW5zdHJ1bWVudGF0aW9uKSA9PT0gMCkKKyAgICAg
ICAgZWxzZSBpZiAoZXZlbnROYW1lLnN0YXJ0c1dpdGgoV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVu
ZXJCcmVha3BvaW50c1NpZGViYXJQYW5lLmNhdGVnb3R5SW5zdHJ1bWVudGF0aW9uKSkKICAgICAg
ICAgICAgIERPTURlYnVnZ2VyQWdlbnQucmVtb3ZlSW5zdHJ1bWVudGF0aW9uQnJlYWtwb2ludChl
dmVudE5hbWUuc3Vic3RyaW5nKFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludHNT
aWRlYmFyUGFuZS5jYXRlZ290eUluc3RydW1lbnRhdGlvbi5sZW5ndGgpKTsKICAgICAgICAgdGhp
cy5fdXBkYXRlQ2F0ZWdvcnlDaGVja2JveChicmVha3BvaW50SXRlbS5wYXJlbnQpOwogICAgIH0s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBs
ZXRpb25zLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NDb21wbGV0
aW9ucy5qcwppbmRleCBkZWM5Y2IyMjQxNDFhYTJiYWIwNjU3YWE2OTcxNmZhNWM0MjMxZDY4Li4z
NjNlZjdkNDA2MGJiYjIzYWNjYzk0OTI2YmMyNzIyOWU5NjU5MjVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRpb25zLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTQ29tcGxldGlvbnMuanMKQEAgLTY0
LDcgKzY0LDcgQEAgV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgICAgIHJldHVybiBbXTsKIAogICAgICAgICB2YXIgcmVzdWx0cyA9IFtdOwotICAgICAg
ICB3aGlsZSAoZmlyc3RJbmRleCA8IHRoaXMuX3ZhbHVlcy5sZW5ndGggJiYgdGhpcy5fdmFsdWVz
W2ZpcnN0SW5kZXhdLmluZGV4T2YocHJlZml4KSA9PT0gMCkKKyAgICAgICAgd2hpbGUgKGZpcnN0
SW5kZXggPCB0aGlzLl92YWx1ZXMubGVuZ3RoICYmIHRoaXMuX3ZhbHVlc1tmaXJzdEluZGV4XS5z
dGFydHNXaXRoKHByZWZpeCkpCiAgICAgICAgICAgICByZXN1bHRzLnB1c2godGhpcy5fdmFsdWVz
W2ZpcnN0SW5kZXgrK10pOwogICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICB9LApAQCAtODgs
NyArODgsNyBAQCBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMucHJvdG90eXBlID0gewogCiAg
ICAgICAgIGRvIHsKICAgICAgICAgICAgIHZhciBtaWRkbGVJbmRleCA9IChtYXhJbmRleCArIG1p
bkluZGV4KSA+PiAxOwotICAgICAgICAgICAgaWYgKHRoaXMuX3ZhbHVlc1ttaWRkbGVJbmRleF0u
aW5kZXhPZihwcmVmaXgpID09PSAwKSB7CisgICAgICAgICAgICBpZiAodGhpcy5fdmFsdWVzW21p
ZGRsZUluZGV4XS5zdGFydHNXaXRoKHByZWZpeCkpIHsKICAgICAgICAgICAgICAgICBmb3VuZElu
ZGV4ID0gbWlkZGxlSW5kZXg7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9
CkBAIC0xMDEsNyArMTAxLDcgQEAgV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgaWYgKGZvdW5kSW5kZXggPT09IHVuZGVmaW5lZCkKICAgICAgICAgICAg
IHJldHVybiAtMTsKIAotICAgICAgICB3aGlsZSAoZm91bmRJbmRleCAmJiB0aGlzLl92YWx1ZXNb
Zm91bmRJbmRleCAtIDFdLmluZGV4T2YocHJlZml4KSA9PT0gMCkKKyAgICAgICAgd2hpbGUgKGZv
dW5kSW5kZXggJiYgdGhpcy5fdmFsdWVzW2ZvdW5kSW5kZXggLSAxXS5zdGFydHNXaXRoKHByZWZp
eCkpCiAgICAgICAgICAgICBmb3VuZEluZGV4LS07CiAKICAgICAgICAgcmV0dXJuIGZvdW5kSW5k
ZXg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNv
bGVWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmll
dy5qcwppbmRleCA5YjExOTJjZTNhYjQ0ZDNhZmRjNzgwNjFlZGU5MWUyOWY4NGY5ODZmLi45ZmUx
MmViYWVhNmJkZGRjZjQ4MzlkZjI0MzYxMzE4YmE2MjQ0ZDRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKQEAgLTQ3MSw3ICs0NzEs
NyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlID0gewogCiAgICAgICAgICAg
ICBpZiAocHJvcGVydHkubGVuZ3RoIDwgcHJlZml4Lmxlbmd0aCkKICAgICAgICAgICAgICAgICBj
b250aW51ZTsKLSAgICAgICAgICAgIGlmIChwcmVmaXgubGVuZ3RoICYmIHByb3BlcnR5LmluZGV4
T2YocHJlZml4KSAhPT0gMCkKKyAgICAgICAgICAgIGlmIChwcmVmaXgubGVuZ3RoICYmICFwcm9w
ZXJ0eS5zdGFydHNXaXRoKHByZWZpeCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAg
ICAgICAgICAgIHJlc3VsdHMucHVzaChwcm9wZXJ0eSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nvb2tpZUl0ZW1zVmlldy5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29va2llSXRlbXNWaWV3LmpzCmluZGV4IGQyOGJkNDFk
MTg5NDY1NmRkM2UyYzU0MDY3OTAyZWVkYjYxOTU3MGUuLjE2OThkMzI1Mzc4ZDc4OWRjY2FkYjM0
NTU1MzBiOTZlODkxYTI3ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQ29va2llSXRlbXNWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvQ29va2llSXRlbXNWaWV3LmpzCkBAIC0yNDMsNyArMjQzLDcgQEAgV2ViSW5z
cGVjdG9yLkNvb2tpZXMuY29va2llTWF0Y2hlc1Jlc291cmNlVVJMID0gZnVuY3Rpb24oY29va2ll
LCByZXNvdXJjZVVSTCkKICAgICB2YXIgdXJsID0gcmVzb3VyY2VVUkwuYXNQYXJzZWRVUkwoKTsK
ICAgICBpZiAoIXVybCB8fCAhV2ViSW5zcGVjdG9yLkNvb2tpZXMuY29va2llRG9tYWluTWF0Y2hl
c1Jlc291cmNlRG9tYWluKGNvb2tpZS5kb21haW4sIHVybC5ob3N0KSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIHJldHVybiAodXJsLnBhdGguaW5kZXhPZihjb29raWUucGF0aCkgPT09IDAK
KyAgICByZXR1cm4gKHVybC5wYXRoLnN0YXJ0c1dpdGgoY29va2llLnBhdGgpCiAgICAgICAgICYm
ICghY29va2llLnBvcnQgfHwgdXJsLnBvcnQgPT0gY29va2llLnBvcnQpCiAgICAgICAgICYmICgh
Y29va2llLnNlY3VyZSB8fCB1cmwuc2NoZW1lID09PSAiaHR0cHMiKSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlUXVlcnlWaWV3Lmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFzZVF1ZXJ5Vmlldy5q
cwppbmRleCBkYzVmYmE5NmJhYjM0NzVmYjM3MGYzZjkzMzE1YzMyYTRkNDM5YTcyLi5iOTFlNmY4
NTAxZWU5NzQzMzNhZTQ2NjI2NTEwYjE2YTM3ODg3N2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlUXVlcnlWaWV3LmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YWJhc2VRdWVyeVZpZXcuanMKQEAgLTc1
LDcgKzc1LDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFiYXNlUXVlcnlWaWV3LnByb3RvdHlwZSA9IHsK
ICAgICAgICAgICAgICAgICB2YXIgdGV4dCA9IHRleHRBcnJheVtpXS50b0xvd2VyQ2FzZSgpOwog
ICAgICAgICAgICAgICAgIGlmICh0ZXh0Lmxlbmd0aCA8IHByZWZpeC5sZW5ndGgpCiAgICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIGlmICh0ZXh0LmluZGV4T2Yo
cHJlZml4KSAhPT0gMCkKKyAgICAgICAgICAgICAgICBpZiAoIXRleHQuc3RhcnRzV2l0aChwcmVm
aXgpKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICByZXN1
bHRzLnB1c2godGV4dEFycmF5W2ldKTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5qcwpp
bmRleCAyZGU3ZmQ5NDU1YmE0MTA2MWQ1YzZmMDhlOTQzNzZlZTYwZWJkMGQ1Li4yODNkNjFhMjQw
NTZjZmFmNTFjMGU4ZWJlYTJlOTM2ZWZhYWRlMjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJlZU91dGxpbmUuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1RyZWVPdXRsaW5lLmpzCkBAIC0x
NDk0LDcgKzE0OTQsNyBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5
cGUgPSB7CiAgICAgICAgICAgICAgICAgdmFyIGF0dHJWYWx1ZUVsZW1lbnQgPSBhdHRyU3BhbkVs
ZW1lbnQuY3JlYXRlQ2hpbGQoInNwYW4iLCAid2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIik7
CiAgICAgICAgICAgICAgICAgYXR0clZhbHVlRWxlbWVudC50ZXh0Q29udGVudCA9IHZhbHVlOwog
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAodmFsdWUuaW5kZXhPZigi
ZGF0YToiKSA9PT0gMCkKKyAgICAgICAgICAgICAgICBpZiAodmFsdWUuc3RhcnRzV2l0aCgiZGF0
YToiKSkKICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS50cmltTWlkZGxlKDYwKTsK
ICAgICAgICAgICAgICAgICBhdHRyU3BhbkVsZW1lbnQuYXBwZW5kQ2hpbGQobGlua2lmeShyZXdy
aXR0ZW5IcmVmLCB2YWx1ZSwgIndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSIsIG5vZGUubm9k
ZU5hbWUoKS50b0xvd2VyQ2FzZSgpID09PSAiYSIpKTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJvZmlsZVZpZXcuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVWaWV3LmpzCmluZGV4IDJh
NWZmYzU1YzM4MmZiN2Y3NWExYTExMjYyNWRjOWJkMjFkYTE3M2EuLjJkMzg5OWFmZmQ4YmY5Nzg4
NTdiMWI0YWZhYzhiNTBlMDZiNmUxMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUHJvZmlsZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Qcm9maWxlVmlldy5qcwpAQCAtMjIxLDkgKzIyMSw5IEBAIFdlYkluc3Bl
Y3Rvci5DUFVQcm9maWxlVmlldy5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdGhpcy5fc2VhcmNo
RmluaXNoZWRDYWxsYmFjayA9IGZpbmlzaGVkQ2FsbGJhY2s7CiAKLSAgICAgICAgdmFyIGdyZWF0
ZXJUaGFuID0gKHF1ZXJ5LmluZGV4T2YoIj4iKSA9PT0gMCk7Ci0gICAgICAgIHZhciBsZXNzVGhh
biA9IChxdWVyeS5pbmRleE9mKCI8IikgPT09IDApOwotICAgICAgICB2YXIgZXF1YWxUbyA9IChx
dWVyeS5pbmRleE9mKCI9IikgPT09IDAgfHwgKChncmVhdGVyVGhhbiB8fCBsZXNzVGhhbikgJiYg
cXVlcnkuaW5kZXhPZigiPSIpID09PSAxKSk7CisgICAgICAgIHZhciBncmVhdGVyVGhhbiA9IChx
dWVyeS5zdGFydHNXaXRoKCI+IikpOworICAgICAgICB2YXIgbGVzc1RoYW4gPSAocXVlcnkuc3Rh
cnRzV2l0aCgiPCIpKTsKKyAgICAgICAgdmFyIGVxdWFsVG8gPSAocXVlcnkuc3RhcnRzV2l0aCgi
PSIpIHx8ICgoZ3JlYXRlclRoYW4gfHwgbGVzc1RoYW4pICYmIHF1ZXJ5LmluZGV4T2YoIj0iKSA9
PT0gMSkpOwogICAgICAgICB2YXIgcGVyY2VudFVuaXRzID0gKHF1ZXJ5Lmxhc3RJbmRleE9mKCIl
IikgPT09IChxdWVyeS5sZW5ndGggLSAxKSk7CiAgICAgICAgIHZhciBtaWxsaXNlY29uZHNVbml0
cyA9IChxdWVyeS5sZW5ndGggPiAyICYmIHF1ZXJ5Lmxhc3RJbmRleE9mKCJtcyIpID09PSAocXVl
cnkubGVuZ3RoIC0gMikpOwogICAgICAgICB2YXIgc2Vjb25kc1VuaXRzID0gKCFtaWxsaXNlY29u
ZHNVbml0cyAmJiBxdWVyeS5sYXN0SW5kZXhPZigicyIpID09PSAocXVlcnkubGVuZ3RoIC0gMSkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxl
c1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxlc1Bh
bmVsLmpzCmluZGV4IGRmMmQ0MWZmN2U4YmJkM2UxOWI3MzlkZDAyNzY3NzBlMjc3ZjgwZWUuLmY3
YWRiNDRlMDIyNzNhNzc3YzU2YmEyNWUwYmFjYTkwMDM5ZDVjNTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJvZmlsZXNQYW5lbC5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVzUGFuZWwuanMKQEAgLTMyNSw3
ICszMjUsNyBAQCBXZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIHRoaXMuX3Byb2ZpbGVzLnB1c2gocHJvZmlsZSk7CiAgICAgICAgIHRoaXMuX3Byb2ZpbGVz
SWRNYXBbdGhpcy5fbWFrZUtleShwcm9maWxlLnVpZCwgdHlwZUlkKV0gPSBwcm9maWxlOwogCi0g
ICAgICAgIGlmIChwcm9maWxlLnRpdGxlLmluZGV4T2YoVXNlckluaXRpYXRlZFByb2ZpbGVOYW1l
KSAhPT0gMCkgeworICAgICAgICBpZiAoIXByb2ZpbGUudGl0bGUuc3RhcnRzV2l0aChVc2VySW5p
dGlhdGVkUHJvZmlsZU5hbWUpKSB7CiAgICAgICAgICAgICB2YXIgcHJvZmlsZVRpdGxlS2V5ID0g
dGhpcy5fbWFrZUtleShwcm9maWxlLnRpdGxlLCB0eXBlSWQpOwogICAgICAgICAgICAgaWYgKCEo
cHJvZmlsZVRpdGxlS2V5IGluIHRoaXMuX3Byb2ZpbGVHcm91cHMpKQogICAgICAgICAgICAgICAg
IHRoaXMuX3Byb2ZpbGVHcm91cHNbcHJvZmlsZVRpdGxlS2V5XSA9IFtdOwpAQCAtNTUxLDcgKzU1
MSw3IEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICBkaXNw
bGF5VGl0bGVGb3JQcm9maWxlTGluazogZnVuY3Rpb24odGl0bGUsIHR5cGVJZCkKICAgICB7CiAg
ICAgICAgIHRpdGxlID0gdW5lc2NhcGUodGl0bGUpOwotICAgICAgICBpZiAodGl0bGUuaW5kZXhP
ZihVc2VySW5pdGlhdGVkUHJvZmlsZU5hbWUpID09PSAwKSB7CisgICAgICAgIGlmICh0aXRsZS5z
dGFydHNXaXRoKFVzZXJJbml0aWF0ZWRQcm9maWxlTmFtZSkpIHsKICAgICAgICAgICAgIHRpdGxl
ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQcm9maWxlICVkIiwgdGl0bGUuc3Vic3RyaW5nKFVz
ZXJJbml0aWF0ZWRQcm9maWxlTmFtZS5sZW5ndGggKyAxKSk7CiAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICB2YXIgdGl0bGVLZXkgPSB0aGlzLl9tYWtlS2V5KHRpdGxlLCB0eXBlSWQpOwpA
QCAtOTQwLDcgKzk0MCw3IEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlU2lkZWJhclRyZWVFbGVtZW50
ID0gZnVuY3Rpb24ocHJvZmlsZSwgdGl0bGVGb3JtYXQsIGNsYXNzTmFtCiAgICAgdGhpcy5wcm9m
aWxlID0gcHJvZmlsZTsKICAgICB0aGlzLl90aXRsZUZvcm1hdCA9IHRpdGxlRm9ybWF0OwogCi0g
ICAgaWYgKHRoaXMucHJvZmlsZS50aXRsZS5pbmRleE9mKFVzZXJJbml0aWF0ZWRQcm9maWxlTmFt
ZSkgPT09IDApCisgICAgaWYgKHRoaXMucHJvZmlsZS50aXRsZS5zdGFydHNXaXRoKFVzZXJJbml0
aWF0ZWRQcm9maWxlTmFtZSkpCiAgICAgICAgIHRoaXMuX3Byb2ZpbGVOdW1iZXIgPSB0aGlzLnBy
b2ZpbGUudGl0bGUuc3Vic3RyaW5nKFVzZXJJbml0aWF0ZWRQcm9maWxlTmFtZS5sZW5ndGggKyAx
KTsKIAogICAgIFdlYkluc3BlY3Rvci5TaWRlYmFyVHJlZUVsZW1lbnQuY2FsbCh0aGlzLCBjbGFz
c05hbWUsICIiLCAiIiwgcHJvZmlsZSwgZmFsc2UpOwpAQCAtOTY1LDcgKzk2NSw3IEBAIFdlYklu
c3BlY3Rvci5Qcm9maWxlU2lkZWJhclRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICB7CiAg
ICAgICAgIGlmICh0aGlzLl9tYWluVGl0bGUpCiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbWFp
blRpdGxlOwotICAgICAgICBpZiAodGhpcy5wcm9maWxlLnRpdGxlLmluZGV4T2YoVXNlckluaXRp
YXRlZFByb2ZpbGVOYW1lKSA9PT0gMCkKKyAgICAgICAgaWYgKHRoaXMucHJvZmlsZS50aXRsZS5z
dGFydHNXaXRoKFVzZXJJbml0aWF0ZWRQcm9maWxlTmFtZSkpCiAgICAgICAgICAgICByZXR1cm4g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKHRoaXMuX3RpdGxlRm9ybWF0LCB0aGlzLl9wcm9maWxlTnVt
YmVyKTsKICAgICAgICAgcmV0dXJuIHRoaXMucHJvZmlsZS50aXRsZTsKICAgICB9LApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVV0aWxzLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVV0aWxzLmpzCmlu
ZGV4IDZhYzU5MWU2NTgyYTkyM2JjMDcxNmIwNzBkZTgyYmYxYTI1Y2VhYjIuLjZjMWFiNGYwODkw
MzI4MmY2NzM2ODE1YzZmMjg2ZmEyMTMzOTU1YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VVdGlscy5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVXRpbHMuanMKQEAgLTYwLDEyICs2MCw2IEBA
IFdlYkluc3BlY3Rvci5QYXJzZWRVUkwgPSBmdW5jdGlvbih1cmwpCiAgICAgICAgIHRoaXMucGF0
aCA9IG1hdGNoWzRdIHx8ICIvIjsKICAgICAgICAgdGhpcy5mcmFnbWVudCA9IG1hdGNoWzVdOwog
ICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmICh0aGlzLnVybC5pbmRleE9mKCJkYXRhOiIpID09IDAp
IHsKLSAgICAgICAgICAgIHRoaXMuaXNWYWxpZCA9IHRydWU7Ci0gICAgICAgICAgICB0aGlzLnBh
dGggPSB0aGlzLnVybDsKLSAgICAgICAgICAgIHRoaXMubGFzdFBhdGhDb21wb25lbnQgPSB0aGlz
LnBhdGg7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KICAgICAgICAgaWYgKHRoaXMu
dXJsID09ICJhYm91dDpibGFuayIpIHsKICAgICAgICAgICAgIHRoaXMuaXNWYWxpZCA9IHRydWU7
CiAgICAgICAgICAgICB0aGlzLnNjaGVtZSA9ICJhYm91dCI7CkBAIC0xNzAsNyArMTY0LDcgQEAg
V2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1lRm9yVVJMID0gZnVuY3Rpb24odXJsKQogICAgIHZhciBp
bmRleCA9IFdlYkluc3BlY3Rvci5pbnNwZWN0ZWRQYWdlVVJMLmluZGV4T2YobGFzdFBhdGhDb21w
b25lbnQpOwogICAgIGlmIChpbmRleCAhPT0gLTEgJiYgaW5kZXggKyBsYXN0UGF0aENvbXBvbmVu
dC5sZW5ndGggPT09IFdlYkluc3BlY3Rvci5pbnNwZWN0ZWRQYWdlVVJMLmxlbmd0aCkgewogICAg
ICAgICB2YXIgYmFzZVVSTCA9IFdlYkluc3BlY3Rvci5pbnNwZWN0ZWRQYWdlVVJMLnN1YnN0cmlu
ZygwLCBpbmRleCk7Ci0gICAgICAgIGlmICh1cmwuaW5kZXhPZihiYXNlVVJMKSA9PT0gMCkKKyAg
ICAgICAgaWYgKHVybC5zdGFydHNXaXRoKGJhc2VVUkwpKQogICAgICAgICAgICAgcmV0dXJuIHVy
bC5zdWJzdHJpbmcoaW5kZXgpOwogICAgIH0KIApAQCAtMTk5LDcgKzE5Myw3IEBAIFdlYkluc3Bl
Y3Rvci5saW5raWZ5U3RyaW5nQXNGcmFnbWVudFdpdGhDdXN0b21MaW5raWZpZXIgPSBmdW5jdGlv
bihzdHJpbmcsIGxpbmtpCiAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZShub25MaW5rKSk7CiAKICAgICAgICAgdmFyIHRpdGxlID0gbGlua1N0cmlu
ZzsKLSAgICAgICAgdmFyIHJlYWxVUkwgPSAobGlua1N0cmluZy5pbmRleE9mKCJ3d3cuIikgPT09
IDAgPyAiaHR0cDovLyIgKyBsaW5rU3RyaW5nIDogbGlua1N0cmluZyk7CisgICAgICAgIHZhciBy
ZWFsVVJMID0gKGxpbmtTdHJpbmcuc3RhcnRzV2l0aCgid3d3LiIpID8gImh0dHA6Ly8iICsgbGlu
a1N0cmluZyA6IGxpbmtTdHJpbmcpOwogICAgICAgICB2YXIgbGluZUNvbHVtbk1hdGNoID0gbGlu
ZUNvbHVtblJlZ0V4LmV4ZWMocmVhbFVSTCk7CiAgICAgICAgIGlmIChsaW5lQ29sdW1uTWF0Y2gp
CiAgICAgICAgICAgICByZWFsVVJMID0gcmVhbFVSTC5zdWJzdHJpbmcoMCwgcmVhbFVSTC5sZW5n
dGggLSBsaW5lQ29sdW1uTWF0Y2hbMF0ubGVuZ3RoKTsKQEAgLTMzNSw3ICszMjksNyBAQCBXZWJJ
bnNwZWN0b3IucmVzb3VyY2VVUkxGb3JSZWxhdGVkTm9kZSA9IGZ1bmN0aW9uKG5vZGUsIHVybCkK
ICAgICBpZiAoIXVybCB8fCB1cmwuaW5kZXhPZigiOi8vIikgPiAwKQogICAgICAgICByZXR1cm4g
dXJsOwogCi0gICAgaWYgKHVybC50cmltKCkuaW5kZXhPZigiamF2YXNjcmlwdDoiKSA9PT0gMCkK
KyAgICBpZiAodXJsLnRyaW0oKS5zdGFydHNXaXRoKCJqYXZhc2NyaXB0OiIpKQogICAgICAgICBy
ZXR1cm4gbnVsbDsgLy8gRG8gbm90IHByb3ZpZGUgYSByZXNvdXJjZSBVUkwgZm9yIHNlY3VyaXR5
LgogCiAgICAgZm9yICh2YXIgZnJhbWVPd25lckNhbmRpZGF0ZSA9IG5vZGU7IGZyYW1lT3duZXJD
YW5kaWRhdGU7IGZyYW1lT3duZXJDYW5kaWRhdGUgPSBmcmFtZU93bmVyQ2FuZGlkYXRlLnBhcmVu
dE5vZGUpIHsKQEAgLTM3NSw3ICszNjksNyBAQCBXZWJJbnNwZWN0b3IuY29tcGxldGVVUkwgPSBm
dW5jdGlvbihiYXNlVVJMLCBocmVmKQogCiAgICAgICAgIC8vIFJldHVybiBzcGVjaWFsIFVSTHMg
YXMtaXMuCiAgICAgICAgIHZhciB0cmltbWVkSHJlZiA9IGhyZWYudHJpbSgpOwotICAgICAgICBp
ZiAodHJpbW1lZEhyZWYuaW5kZXhPZigiZGF0YToiKSA9PT0gMCB8fCB0cmltbWVkSHJlZi5pbmRl
eE9mKCJqYXZhc2NyaXB0OiIpID09PSAwKQorICAgICAgICBpZiAodHJpbW1lZEhyZWYuc3RhcnRz
V2l0aCgiZGF0YToiKSB8fCB0cmltbWVkSHJlZi5zdGFydHNXaXRoKCJqYXZhc2NyaXB0OiIpKQog
ICAgICAgICAgICAgcmV0dXJuIGhyZWY7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NuaXBwZXRzTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NuaXBwZXRzTW9kZWwuanMKaW5kZXggMDMyMWZjMmMyMWQ4
NjA1M2I1ZDVmNzgwMWVlMzcxMDI1MTlhNDQ1OS4uMDUwZjMyZjhhM2YyMzkxMjY3ODY1ZjhjYTdm
MDU0MjYyZTAzOGY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TbmlwcGV0c01vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU25pcHBldHNNb2RlbC5qcwpAQCAtMTYyLDcgKzE2Miw3IEBAIFdlYkluc3BlY3Rvci5T
bmlwcGV0c01vZGVsLnByb3RvdHlwZSA9IHsKICAgICBzbmlwcGV0SWRGb3JTb3VyY2VVUkw6IGZ1
bmN0aW9uKHNvdXJjZVVSTCkKICAgICB7CiAgICAgICAgIHZhciBzbmlwcGV0c1ByZWZpeCA9IFdl
Ykluc3BlY3Rvci5TbmlwcGV0c01vZGVsLnNuaXBwZXRzU291cmNlVVJMUHJlZml4OwotICAgICAg
ICBpZiAoc291cmNlVVJMLmluZGV4T2Yoc25pcHBldHNQcmVmaXgpICE9PSAwKQorICAgICAgICBp
ZiAoIXNvdXJjZVVSTC5zdGFydHNXaXRoKHNuaXBwZXRzUHJlZml4KSkKICAgICAgICAgICAgIHJl
dHVybiBudWxsOwogICAgICAgICB2YXIgc3BsaXR0ZWRVUkwgPSBzb3VyY2VVUkwuc3Vic3RyaW5n
KHNuaXBwZXRzUHJlZml4Lmxlbmd0aCkuc3BsaXQoIl8iKTsKICAgICAgICAgdmFyIHNuaXBwZXRJ
ZCA9IHNwbGl0dGVkVVJMWzBdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXplci5qcwppbmRleCA2Mjk1NjYxN2VlNTRkMGVk
MDkwODI3OWE3Njg0NGI4YTVhYjQ2YjQ5Li45YmM1NDE0Zjk4ZTEzOTlkOTI5NWMzNjg0Y2Y4NzUy
MWNhMmI2M2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NvdXJjZUNTU1Rva2VuaXplci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NvdXJjZUNTU1Rva2VuaXplci5qcwpAQCAtMzk1LDcgKzM5NSw3IEBAIGNhc2UgMzI6
CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG9rZW4gPT09ICJAbWVkaWEiKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWF0LXJ1bGUiOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlv
biA9IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9NRURJQV9SVUxFOwotICAgICAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIGlmICh0b2tlbi5pbmRleE9mKCJAIikgPT09IDApIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodG9rZW4uc3RhcnRzV2l0aCgiQCIpKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWF0LXJ1bGUiOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlv
biA9IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9SVUxFOwogICAgICAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NvdXJjZUNTU1Rva2VuaXplci5yZTJqcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpzCmluZGV4IGM4ZTU4NDcwNjUyYzFiYzVlMjEw
YWJkNTA4YjY5NDI4NDc5ZTA4MGQuLmNhYjJjYWQzOGNlOWViMmNlMGRhMTFiN2QxNmNkNGE1MzJk
ZjdiMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291
cmNlQ1NTVG9rZW5pemVyLnJlMmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpzCkBAIC0yNjksNyArMjY5LDcgQEAgV2ViSW5z
cGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAodG9rZW4gPT09ICJAbWVkaWEiKSB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWF0LXJ1bGUiOwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX3BhcnNlQ29u
ZGl0aW9ucy5BVF9NRURJQV9SVUxFOwotICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlm
ICh0b2tlbi5pbmRleE9mKCJAIikgPT09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSBpZiAodG9rZW4uc3RhcnRzV2l0aCgiQCIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWF0LXJ1bGUiOwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX3BhcnNlQ29u
ZGl0aW9ucy5BVF9SVUxFOwogICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRQcm9tcHQuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRQcm9tcHQuanMKaW5kZXggZjA1
NjQwMWI1NDlkYWIyODVkMWNlNzBiMjMwZWM5NjVmODlmZTY2Zi4uNGJlMmM4NDBhMmYyOTFmNWQ2
ODk5ZTRiNjIxY2YzOTliZmRhYzJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9UZXh0UHJvbXB0LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvVGV4dFByb21wdC5qcwpAQCAtNTExLDcgKzUxMSw3IEBAIFdlYkluc3BlY3Rv
ci5UZXh0UHJvbXB0LnByb3RvdHlwZSA9IHsKIAogICAgIF9jb21wbGV0ZUNvbW1vblByZWZpeDog
ZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLmF1dG9Db21wbGV0ZUVsZW1lbnQg
fHwgIXRoaXMuX2NvbW1vblByZWZpeCB8fCAhdGhpcy5fdXNlckVudGVyZWRUZXh0IHx8IHRoaXMu
X2NvbW1vblByZWZpeC5pbmRleE9mKHRoaXMuX3VzZXJFbnRlcmVkVGV4dCkgIT09IDApCisgICAg
ICAgIGlmICghdGhpcy5hdXRvQ29tcGxldGVFbGVtZW50IHx8ICF0aGlzLl9jb21tb25QcmVmaXgg
fHwgIXRoaXMuX3VzZXJFbnRlcmVkVGV4dCB8fCAhdGhpcy5fY29tbW9uUHJlZml4LnN0YXJ0c1dp
dGgodGhpcy5fdXNlckVudGVyZWRUZXh0KSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAg
ICBpZiAoIXRoaXMuaXNTdWdnZXN0Qm94VmlzaWJsZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJVXRpbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1VJVXRpbHMuanMKaW5kZXggM2I5MjIxZmVkYjAwZTNjNjQ1ODBh
MzM4YTcxNTU1ZWYzMWNiNWJjZi4uZTllMDQ5YmY0ODNjZTc2YzFlOWQ2Njk0NGFkOTU0YzhiMDVl
NDQ2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVV0
aWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVUlVdGlscy5q
cwpAQCAtMzU5LDcgKzM1OSw3IEBAIFdlYkluc3BlY3Rvci5zdGFydEVkaXRpbmcgPSBmdW5jdGlv
bihlbGVtZW50LCBjb25maWcpCiAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0ID09PSAiY2FuY2Vs
IikgewogICAgICAgICAgICAgZWRpdGluZ0NhbmNlbGxlZC5jYWxsKGVsZW1lbnQpOwogICAgICAg
ICAgICAgZXZlbnQuY29uc3VtZSh0cnVlKTsKLSAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQgJiYg
cmVzdWx0LmluZGV4T2YoIm1vdmUtIikgPT09IDApIHsKKyAgICAgICAgfSBlbHNlIGlmIChyZXN1
bHQgJiYgcmVzdWx0LnN0YXJ0c1dpdGgoIm1vdmUtIikpIHsKICAgICAgICAgICAgIG1vdmVEaXJl
Y3Rpb24gPSByZXN1bHQuc3Vic3RyaW5nKDUpOwogICAgICAgICAgICAgaWYgKGV2ZW50LmtleUlk
ZW50aWZpZXIgIT09ICJVKzAwMDkiKQogICAgICAgICAgICAgICAgIGJsdXJFdmVudExpc3RlbmVy
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxp
dGllcy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpz
CmluZGV4IDc0MWQ0Mzk5NThmYzFmMzAwNzcwY2I4ZTAwYjA4OGUyZjk0NTg4MzkuLmM2MDQ2Mzkx
YzNiZWU3NTcyNzI1NzEwMGVlNzQ5MmE5YTE1NzVhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCkBAIC0xMjcsNiArMTI3LDE2IEBAIFN0
cmluZy5wcm90b3R5cGUucmVtb3ZlVVJMRnJhZ21lbnQgPSBmdW5jdGlvbigpCiAgICAgcmV0dXJu
IHRoaXMuc3Vic3RyaW5nKDAsIGZyYWdtZW50SW5kZXgpOwogfQogCitTdHJpbmcucHJvdG90eXBl
LnN0YXJ0c1dpdGggPSBmdW5jdGlvbihzdWJzdHJpbmcpCit7CisgICAgcmV0dXJuICF0aGlzLmxh
c3RJbmRleE9mKHN1YnN0cmluZywgMCk7Cit9CisKK1N0cmluZy5wcm90b3R5cGUuZW5kc1dpdGgg
PSBmdW5jdGlvbihzdWJzdHJpbmcpCit7CisgICAgcmV0dXJuIHRoaXMuaW5kZXhPZihzdWJzdHJp
bmcsIHRoaXMubGVuZ3RoIC0gc3Vic3RyaW5nLmxlbmd0aCkgIT09IC0xOworfQorCiBOdW1iZXIu
Y29uc3RyYWluID0gZnVuY3Rpb24obnVtLCBtaW4sIG1heCkKIHsKICAgICBpZiAobnVtIDwgbWlu
KQo=
</data>
<flag name="review"
          id="143617"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>