<?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>92265</bug_id>
          
          <creation_ts>2012-07-25 10:14:25 -0700</creation_ts>
          <short_desc>Web Inspector: SASS source mapping straw man (behind experiment)</short_desc>
          <delta_ts>2012-07-26 10:25:26 -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>678186</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-07-25 10:14:25 -0700</bug_when>
    <thetext>This change introduces SASS mapping support (behind the experiment).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678190</commentid>
    <comment_count>1</comment_count>
      <attachid>154382</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-07-25 10:17:05 -0700</bug_when>
    <thetext>Created attachment 154382
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678383</commentid>
    <comment_count>2</comment_count>
      <attachid>154382</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-07-25 13:18:25 -0700</bug_when>
    <thetext>Comment on attachment 154382
Patch

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

&gt; Source/WebCore/inspector/front-end/SASSSourceMapping.js:51
&gt; +        function populateFrame(frame)

We seem to have a few similar hand-written traversals - might warrant a visitor...

&gt; Source/WebCore/inspector/front-end/SASSSourceMapping.js:83
&gt; +            var regex = /@media\s\-sass\-debug\-info{filename{font-family:([^}]+)}line{font-family:\\[0]+([^}]*)}}/i;

&quot;[0]&quot; does not need the square brackets around &apos;0&apos; (if I&apos;m reading it correctly as a single-character class).

&gt; Source/WebCore/inspector/front-end/ScriptsPanel.js:-472
&gt; -

seems like a stray change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679398</commentid>
    <comment_count>3</comment_count>
      <attachid>154382</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-07-26 09:13:25 -0700</bug_when>
    <thetext>Comment on attachment 154382
Patch

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

&gt; Source/WebCore/inspector/front-end/SASSSourceMapping.js:98
&gt; +                var rawLocation = resource.url + &quot;:&quot; + (lineNumber + 1);

Please use another name (e.g. rawLocationString or rawLocationId) for this variable as it is not a RawLocation.

&gt; Source/WebCore/inspector/front-end/SASSSourceMapping.js:128
&gt; +        return new WebInspector.CSSLocation(uiSourceCode.contentURL() || &quot;&quot;, lineNumber);

Please add a FIXME: comment saying this is a stub implementation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679475</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-07-26 10:25:26 -0700</bug_when>
    <thetext>Committed r123768: &lt;http://trac.webkit.org/changeset/123768&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154382</attachid>
            <date>2012-07-25 10:17:05 -0700</date>
            <delta_ts>2012-07-26 09:13:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92265-20120725211654.patch</filename>
            <type>text/plain</type>
            <size>24981</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWMyNzY0MmQyZjQ1MWJl
Nzg2YmY0ZmJlZjgzYzAwYmRiZDUxMDMyNC4uYjBhM2YxNDFhMTNjYjg4MjI4Njg3YTBhM2YyMGRj
MWNiZjMxYjkyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEyLTA3LTI1ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFNBU1Mgc291cmNlIG1hcHBpbmcgc3RyYXcgbWFuIChiZWhpbmQgZXhwZXJpbWVudCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyMjY1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjaGFuZ2Ug
aW50cm9kdWNlcyBTQVNTIG1hcHBpbmcgc3VwcG9ydCAoYmVoaW5kIHRoZSBleHBlcmltZW50KS4K
KworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvajoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0
eWxlTW9kZWwucHJvdG90eXBlLnJlc291cmNlQmluZGluZyk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ1NTU3R5bGVNb2RlbC5wcm90b3R5cGUuc2V0U291cmNlTWFwcGluZyk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5wcm90b3R5cGUucmVzZXRTb3VyY2VNYXBwaW5ncyk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5wcm90b3R5cGUuX3Jhd0xvY2F0
aW9uVG9VSUxvY2F0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NMb2NhdGlvbik6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTUnVsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NT
UnVsZS5wcm90b3R5cGUuZ2V0IGlzUmVndWxhcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NT
UnVsZS5wcm90b3R5cGUudWlMb2NhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9Db250ZW50UHJvdmlkZXJzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0YXRpY0NvbnRl
bnRQcm92aWRlci5wcm90b3R5cGUuY29udGVudFR5cGUpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanM6IEFkZGVkLgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlNBU1NTb3VyY2VNYXBwaW5nKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TQVNTU291cmNl
TWFwcGluZy5wcm90b3R5cGUuX3BvcHVsYXRlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TQVNT
U291cmNlTWFwcGluZy5wcm90b3R5cGUuX3Jlc291cmNlQWRkZWQuZGlkUmVxdWVzdENvbnRlbnQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNBU1NTb3VyY2VNYXBwaW5nLnByb3RvdHlwZS5fcmVz
b3VyY2VBZGRlZCk6CisgICAgICAgIChyYXdMb2NhdGlvblRvVUlMb2NhdGlvbik6CisgICAgICAg
ICh1aUxvY2F0aW9uVG9SYXdMb2NhdGlvbik6CisgICAgICAgICh1aVNvdXJjZUNvZGVzKToKKyAg
ICAgICAgKHJlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TQVNTU291cmNlKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5TQVNTU291cmNlLnByb3RvdHlwZS5pc0VkaXRhYmxlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl9jcmVhdGVTb3VyY2VGcmFtZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5FeHBlcmltZW50c1NldHRpbmdzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L1N0eWxlc1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlc1VJU291cmNlQ29k
ZVByb3ZpZGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZXNVSVNvdXJjZUNvZGVQcm92
aWRlci5wcm90b3R5cGUucmF3TG9jYXRpb25Ub1VJTG9jYXRpb24pOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlN0eWxlc1VJU291cmNlQ29kZVByb3ZpZGVyLnByb3RvdHlwZS51aUxvY2F0aW9uVG9S
YXdMb2NhdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVzVUlTb3VyY2VDb2RlUHJv
dmlkZXIucHJvdG90eXBlLl9yZXNvdXJjZUFkZGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
dHlsZXNVSVNvdXJjZUNvZGVQcm92aWRlci5wcm90b3R5cGUucmVzZXQpOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSk6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VUlMb2NhdGlvbi5wcm90b3R5cGUudWlMb2NhdGlvblRvUmF3TG9jYXRpb24pOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlVJTG9jYXRpb24ucHJvdG90eXBlLnVybCk6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9Xb3Jrc3BhY2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuV29ya3Nw
YWNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorCiAy
MDEyLTA3LTI1ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTIzNjA2LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmlu
ZGV4IGRmN2NkMGE5MzVhM2M2ZjQ1ZTZkOGQyZjUyMzI1NDMwOWQ4ZThjMmIuLjk4M2E5ZWI1MWU4
ODcxM2MyM2M2MzRkMmU0YmExZjk3MWM5NWVhZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTYzNTEs
NiArNjM1MSw3IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVdl
YlNvY2tldEZyYW1lVmlldy5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9S
ZXNvdXJjZXNQYW5lbC5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9SZXZp
c2lvbkhpc3RvcnlWaWV3LmpzJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1NB
U1NTb3VyY2VNYXBwaW5nLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1Nj
b3BlQ2hhaW5TaWRlYmFyUGFuZS5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVu
ZC9TY3JpcHQuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0Rm9y
bWF0dGVyLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKaW5kZXggYTNmZTM2ZDYxNTY3MzdjYWUzOTc0NDI4MGZiYzExMzNmNDE4MjI3OS4uMTExNTBh
MmJiYzUzMGVhYzdiZDFkZWJkYjlmMTI1YmI3Y2Q1MzFhNCAxMDA3NTUKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTc1NzM0LDYgKzc1NzM0LDEwIEBACiAJ
CQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNw
ZWN0b3JcZnJvbnQtZW5kXFNBU1NTb3VyY2VNYXBwaW5nLmpzIgorCQkJCQk+CisJCQkJPC9GaWxl
PgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxT
Y29wZUNoYWluU2lkZWJhclBhbmUuanMiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkKaW5kZXggZDkyMzM5M2FjZjky
MGUwNDMxOTNhMGRkOTEwODY3ZjAyMTNmZGE1NS4uNGQyOWY3NzA2N2YzYTk5NzdhZmE3NjkwZTNl
ZGRlNWJkMDUyNzM1ZSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBp
bGUtZnJvbnQtZW5kLnB5CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZy
b250LWVuZC5weQpAQCAtODcsNiArODcsNyBAQCBtb2R1bGVzID0gWwogICAgICAgICAgICAgIkxp
bmtpZmllci5qcyIsCiAgICAgICAgICAgICAiTmV0d29ya0xvZy5qcyIsCiAgICAgICAgICAgICAi
UGxhY2FyZC5qcyIsCisgICAgICAgICAgICAiU0FTU1NvdXJjZU1hcHBpbmcuanMiLAogICAgICAg
ICAgICAgIlNjcmlwdC5qcyIsCiAgICAgICAgICAgICAiU2NyaXB0Rm9ybWF0dGVyLmpzIiwKICAg
ICAgICAgICAgICJTY3JpcHRTbmlwcGV0TW9kZWwuanMiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzCmluZGV4IGViN2EzYzM2M2Ux
ZTAwY2RlMDM1ZjNlNDUwYzE0NGNlNGUwNWMyYjUuLjVhZTUyMTUzNWJhNDYwNGIyNTAzYjU4NGUz
NzIzZmViNGU3MTg3OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ1NTU3R5bGVNb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0NTU1N0eWxlTW9kZWwuanMKQEAgLTM1LDYgKzM1LDcgQEAKIFdlYkluc3BlY3Rvci5D
U1NTdHlsZU1vZGVsID0gZnVuY3Rpb24oKQogewogICAgIHRoaXMuX3BlbmRpbmdDb21tYW5kc01h
am9yU3RhdGUgPSBbXTsKKyAgICB0aGlzLl9zb3VyY2VNYXBwaW5ncyA9IHt9OwogICAgIFdlYklu
c3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5F
dmVudHMuVW5kb1JlZG9SZXF1ZXN0ZWQsIHRoaXMuX3VuZG9SZWRvUmVxdWVzdGVkLCB0aGlzKTsK
ICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3Iu
RE9NQWdlbnQuRXZlbnRzLlVuZG9SZWRvQ29tcGxldGVkLCB0aGlzLl91bmRvUmVkb0NvbXBsZXRl
ZCwgdGhpcyk7CiAgICAgdGhpcy5fcmVzb3VyY2VCaW5kaW5nID0gbmV3IFdlYkluc3BlY3Rvci5D
U1NTdHlsZU1vZGVsUmVzb3VyY2VCaW5kaW5nKHRoaXMpOwpAQCAtMzg4LDYgKzM4OSwzMCBAQCBX
ZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgcmVzb3VyY2VCaW5k
aW5nOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VCaW5k
aW5nOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsCisgICAg
ICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuU291cmNlTWFwcGluZ30gc291cmNlTWFwcGluZworICAg
ICAqLworICAgIHNldFNvdXJjZU1hcHBpbmc6IGZ1bmN0aW9uKHVybCwgc291cmNlTWFwcGluZykK
KyAgICB7CisgICAgICAgIHRoaXMuX3NvdXJjZU1hcHBpbmdzW3VybF0gPSBzb3VyY2VNYXBwaW5n
OworICAgIH0sCisKKyAgICByZXNldFNvdXJjZU1hcHBpbmdzOiBmdW5jdGlvbigpCisgICAgewor
ICAgICAgICB0aGlzLl9zb3VyY2VNYXBwaW5ncyA9IHt9OworICAgIH0sCisKKyAgICAvKioKKyAg
ICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5DU1NMb2NhdGlvbn0gcmF3TG9jYXRpb24KKyAgICAg
KiBAcmV0dXJuIHs/V2ViSW5zcGVjdG9yLlVJTG9jYXRpb259CisgICAgICovCisgICAgX3Jhd0xv
Y2F0aW9uVG9VSUxvY2F0aW9uOiBmdW5jdGlvbihyYXdMb2NhdGlvbikKKyAgICB7CisgICAgICAg
IHZhciBzb3VyY2VNYXBwaW5nID0gdGhpcy5fc291cmNlTWFwcGluZ3NbcmF3TG9jYXRpb24udXJs
XTsKKyAgICAgICAgcmV0dXJuIHNvdXJjZU1hcHBpbmcgPyBzb3VyY2VNYXBwaW5nLnJhd0xvY2F0
aW9uVG9VSUxvY2F0aW9uKHJhd0xvY2F0aW9uKSA6IG51bGw7CiAgICAgfQogfQogCkBAIC0zOTUs
NiArNDIwLDE4IEBAIFdlYkluc3BlY3Rvci5DU1NTdHlsZU1vZGVsLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKIAogLyoqCiAgKiBAY29uc3RydWN0
b3IKKyAqIEBpbXBsZW1lbnRzIHtXZWJJbnNwZWN0b3IuUmF3TG9jYXRpb259CisgKiBAcGFyYW0g
e3N0cmluZ30gdXJsCisgKiBAcGFyYW0ge251bWJlcn0gbGluZU51bWJlcgorICovCitXZWJJbnNw
ZWN0b3IuQ1NTTG9jYXRpb24gPSBmdW5jdGlvbih1cmwsIGxpbmVOdW1iZXIpCit7CisgICAgdGhp
cy51cmwgPSB1cmw7CisgICAgdGhpcy5saW5lTnVtYmVyID0gbGluZU51bWJlcjsKK30KKworLyoq
CisgKiBAY29uc3RydWN0b3IKICAqIEBwYXJhbSB7Q1NTQWdlbnQuQ1NTU3R5bGV9IHBheWxvYWQK
ICAqLwogV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb24gPSBmdW5jdGlvbihwYXlsb2Fk
KQpAQCAtNjE3LDYgKzY1NCw4IEBAIFdlYkluc3BlY3Rvci5DU1NSdWxlID0gZnVuY3Rpb24ocGF5
bG9hZCkKICAgICB0aGlzLnNlbGVjdG9yVGV4dCA9IHBheWxvYWQuc2VsZWN0b3JUZXh0OwogICAg
IHRoaXMuc291cmNlTGluZSA9IHBheWxvYWQuc291cmNlTGluZTsKICAgICB0aGlzLnNvdXJjZVVS
TCA9IHBheWxvYWQuc291cmNlVVJMOworICAgIGlmIChwYXlsb2FkLnNvdXJjZVVSTCkKKyAgICAg
ICAgdGhpcy5fcmF3TG9jYXRpb24gPSBuZXcgV2ViSW5zcGVjdG9yLkNTU0xvY2F0aW9uKHBheWxv
YWQuc291cmNlVVJMLCBwYXlsb2FkLnNvdXJjZUxpbmUpOwogICAgIHRoaXMub3JpZ2luID0gcGF5
bG9hZC5vcmlnaW47CiAgICAgdGhpcy5zdHlsZSA9IFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xh
cmF0aW9uLnBhcnNlUGF5bG9hZChwYXlsb2FkLnN0eWxlKTsKICAgICB0aGlzLnN0eWxlLnBhcmVu
dFJ1bGUgPSB0aGlzOwpAQCAtNjUzLDYgKzY5MiwxNiBAQCBXZWJJbnNwZWN0b3IuQ1NTUnVsZS5w
cm90b3R5cGUgPSB7CiAgICAgZ2V0IGlzUmVndWxhcigpCiAgICAgewogICAgICAgICByZXR1cm4g
dGhpcy5vcmlnaW4gPT09ICJyZWd1bGFyIjsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHJl
dHVybiB7P1dlYkluc3BlY3Rvci5VSUxvY2F0aW9ufQorICAgICAqLworICAgIHVpTG9jYXRpb246
IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5fcmF3TG9jYXRpb24pCisgICAg
ICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5jc3NNb2Rl
bC5fcmF3TG9jYXRpb25Ub1VJTG9jYXRpb24odGhpcy5fcmF3TG9jYXRpb24pOwogICAgIH0KIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db250ZW50
UHJvdmlkZXJzLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db250ZW50
UHJvdmlkZXJzLmpzCmluZGV4IDlkYTcyN2M4MTVjMDUxOWM1OTZjNGM3OTVhNDE2NjFhZmJjNzJm
ZGIuLmUxYzM5OTZmMzFlMWNkYTNkZjU2YWM4YzhhMmMwYjZlNWVjYjU5ODUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29udGVudFByb3ZpZGVycy5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnRlbnRQcm92aWRlcnMu
anMKQEAgLTI2Myw3ICsyNjMsNyBAQCBXZWJJbnNwZWN0b3IuU3RhdGljQ29udGVudFByb3ZpZGVy
LnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAgICBjb250ZW50VHlwZTogZnVuY3Rpb24oKQogICAg
IHsKLSAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlNjcmlwdDsKKyAg
ICAgICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRUeXBlOwogICAgIH0sCiAKICAgICAvKioKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU0FTU1NvdXJjZU1hcHBp
bmcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NBU1NTb3VyY2VNYXBw
aW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFhZjg3M2EwZmE0MGFlYmIxOTBhODczOGU2N2I5MDdjZTVjMDE0
MGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NBU1NTb3VyY2VNYXBwaW5nLmpzCkBAIC0wLDAgKzEsMTcyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLyoqCisgKiBAY29uc3RydWN0
b3IKKyAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuT2JqZWN0fQorICogQGltcGxlbWVudHMge1dl
Ykluc3BlY3Rvci5Tb3VyY2VNYXBwaW5nfQorICogQGltcGxlbWVudHMge1dlYkluc3BlY3Rvci5V
SVNvdXJjZUNvZGVQcm92aWRlcn0KKyAqLworV2ViSW5zcGVjdG9yLlNBU1NTb3VyY2VNYXBwaW5n
ID0gZnVuY3Rpb24oKQoreworICAgIC8qKgorICAgICAqIEB0eXBlIHtBcnJheS48V2ViSW5zcGVj
dG9yLlVJU291cmNlQ29kZT59CisgICAgICovCisgICAgdGhpcy5fdWlTb3VyY2VDb2RlcyA9IFtd
OworICAgIHRoaXMuX3VpU291cmNlQ29kZUZvclVSTCA9IHt9OworICAgIHRoaXMuX3VpTG9jYXRp
b25zID0ge307CisgICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMuUmVzb3VyY2VB
ZGRlZCwgdGhpcy5fcmVzb3VyY2VBZGRlZCwgdGhpcyk7Cit9CisKK1dlYkluc3BlY3Rvci5TQVNT
U291cmNlTWFwcGluZy5wcm90b3R5cGUgPSB7CisgICAgX3BvcHVsYXRlOiBmdW5jdGlvbigpCisg
ICAgeworICAgICAgICBmdW5jdGlvbiBwb3B1bGF0ZUZyYW1lKGZyYW1lKQorICAgICAgICB7Cisg
ICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZyYW1lLmNoaWxkRnJhbWVzLmxlbmd0aDsg
KytpKQorICAgICAgICAgICAgICAgIHBvcHVsYXRlRnJhbWUuY2FsbCh0aGlzLCBmcmFtZS5jaGls
ZEZyYW1lc1tpXSk7CisKKyAgICAgICAgICAgIHZhciByZXNvdXJjZXMgPSBmcmFtZS5yZXNvdXJj
ZXMoKTsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzb3VyY2VzLmxlbmd0aDsg
KytpKQorICAgICAgICAgICAgICAgIHRoaXMuX3Jlc291cmNlQWRkZWQoe2RhdGE6cmVzb3VyY2Vz
W2ldfSk7CisgICAgICAgIH0KKworICAgICAgICBwb3B1bGF0ZUZyYW1lLmNhbGwodGhpcywgV2Vi
SW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLm1haW5GcmFtZSk7CisgICAgfSwKKworICAgIC8q
KgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkV2ZW50fSBldmVudAorICAgICAqLworICAg
IF9yZXNvdXJjZUFkZGVkOiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHZhciByZXNv
dXJjZSA9IC8qKiBAdHlwZSB7V2ViSW5zcGVjdG9yLlJlc291cmNlfSAqLyBldmVudC5kYXRhOwor
ICAgICAgICBpZiAocmVzb3VyY2UudHlwZSAhPT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMu
U3R5bGVzaGVldCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAvKioKKyAgICAgICAg
ICogQHBhcmFtIHs/c3RyaW5nfSBjb250ZW50CisgICAgICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0g
Y29udGVudEVuY29kZWQKKyAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG1pbWVUeXBlCisgICAg
ICAgICAqLworICAgICAgICBmdW5jdGlvbiBkaWRSZXF1ZXN0Q29udGVudChjb250ZW50LCBjb250
ZW50RW5jb2RlZCwgbWltZVR5cGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghY29udGVu
dCkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB2YXIgbGluZXMgPSBjb250
ZW50LnNwbGl0KC9ccj9cbi8pOworICAgICAgICAgICAgdmFyIHJlZ2V4ID0gL0BtZWRpYVxzXC1z
YXNzXC1kZWJ1Z1wtaW5mb3tmaWxlbmFtZXtmb250LWZhbWlseTooW159XSspfWxpbmV7Zm9udC1m
YW1pbHk6XFxbMF0rKFtefV0qKX19L2k7CisgICAgICAgICAgICBmb3IgKHZhciBsaW5lTnVtYmVy
ID0gMDsgbGluZU51bWJlciA8IGxpbmVzLmxlbmd0aDsgKytsaW5lTnVtYmVyKSB7CisgICAgICAg
ICAgICAgICAgdmFyIG1hdGNoID0gcmVnZXguZXhlYyhsaW5lc1tsaW5lTnVtYmVyXSk7CisgICAg
ICAgICAgICAgICAgaWYgKCFtYXRjaCkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICAgICAgdmFyIHVybCA9IG1hdGNoWzFdLnJlcGxhY2UoL1xcKC4pL2csICIkMSIp
OworICAgICAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSB0aGlzLl91aVNvdXJjZUNvZGVG
b3JVUkxbdXJsXTsKKyAgICAgICAgICAgICAgICBpZiAoIXVpU291cmNlQ29kZSkgeworICAgICAg
ICAgICAgICAgICAgICB1aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlNBU1NTb3VyY2Uo
dXJsKTsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fdWlTb3VyY2VDb2RlRm9yVVJMW3VybF0g
PSB1aVNvdXJjZUNvZGU7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX3VpU291cmNlQ29kZXMu
cHVzaCh1aVNvdXJjZUNvZGUpOworICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZl
bnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlUHJvdmlkZXIuRXZlbnRzLlVJ
U291cmNlQ29kZUFkZGVkLCB1aVNvdXJjZUNvZGUpOworICAgICAgICAgICAgICAgICAgICBXZWJJ
bnNwZWN0b3IuY3NzTW9kZWwuc2V0U291cmNlTWFwcGluZyhyZXNvdXJjZS51cmwsIHRoaXMpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB2YXIgbGluZSA9IHBhcnNlSW50KGRl
Y29kZVVSSShtYXRjaFsyXS5yZXBsYWNlKC8oLi4pL2csICIlJDEiKSksIDEwKSAtIDE7CisgICAg
ICAgICAgICAgICAgdmFyIHJhd0xvY2F0aW9uID0gcmVzb3VyY2UudXJsICsgIjoiICsgKGxpbmVO
dW1iZXIgKyAxKTsKKyAgICAgICAgICAgICAgICB0aGlzLl91aUxvY2F0aW9uc1tyYXdMb2NhdGlv
bl0gPSBuZXcgV2ViSW5zcGVjdG9yLlVJTG9jYXRpb24odWlTb3VyY2VDb2RlLCBsaW5lLCAwKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXNvdXJjZS5yZXF1ZXN0Q29udGVu
dChkaWRSZXF1ZXN0Q29udGVudC5iaW5kKHRoaXMpKTsKKyAgICB9LAorCisgICAgLyoqCisgICAg
ICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuUmF3TG9jYXRpb259IHJhd0xvY2F0aW9uCisgICAgICog
QHJldHVybiB7V2ViSW5zcGVjdG9yLlVJTG9jYXRpb259CisgICAgICovCisgICAgcmF3TG9jYXRp
b25Ub1VJTG9jYXRpb246IGZ1bmN0aW9uKHJhd0xvY2F0aW9uKQorICAgIHsKKyAgICAgICAgdmFy
IGxvY2F0aW9uID0gLyoqIEB0eXBlIFdlYkluc3BlY3Rvci5DU1NMb2NhdGlvbiAqLyByYXdMb2Nh
dGlvbjsKKyAgICAgICAgdmFyIHVpTG9jYXRpb24gPSB0aGlzLl91aUxvY2F0aW9uc1tsb2NhdGlv
bi51cmwgKyAiOiIgKyBsb2NhdGlvbi5saW5lTnVtYmVyXTsKKyAgICAgICAgaWYgKCF1aUxvY2F0
aW9uKSB7CisgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gV2ViSW5zcGVjdG9yLndvcmtz
cGFjZS51aVNvdXJjZUNvZGVGb3JVUkwobG9jYXRpb24udXJsKTsKKyAgICAgICAgICAgIHVpTG9j
YXRpb24gPSBuZXcgV2ViSW5zcGVjdG9yLlVJTG9jYXRpb24odWlTb3VyY2VDb2RlLCBsb2NhdGlv
bi5saW5lTnVtYmVyLCAwKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdWlMb2NhdGlvbjsK
KyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VD
b2RlfSB1aVNvdXJjZUNvZGUKKyAgICAgKiBAcGFyYW0ge251bWJlcn0gbGluZU51bWJlcgorICAg
ICAqIEBwYXJhbSB7bnVtYmVyfSBjb2x1bW5OdW1iZXIKKyAgICAgKiBAcmV0dXJuIHtXZWJJbnNw
ZWN0b3IuUmF3TG9jYXRpb259CisgICAgICovCisgICAgdWlMb2NhdGlvblRvUmF3TG9jYXRpb246
IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuQ1NTTG9jYXRpb24odWlTb3VyY2VDb2Rl
LmNvbnRlbnRVUkwoKSB8fCAiIiwgbGluZU51bWJlcik7CisgICAgfSwKKworICAgIC8qKgorICAg
ICAqIEByZXR1cm4ge0FycmF5LjxXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlPn0KKyAgICAgKi8K
KyAgICB1aVNvdXJjZUNvZGVzOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhp
cy5fdWlTb3VyY2VDb2RlczsKKyAgICB9LAorCisgICAgcmVzZXQ6IGZ1bmN0aW9uKCkKKyAgICB7
CisgICAgICAgIHRoaXMuX3VpU291cmNlQ29kZXMgPSBbXTsKKyAgICAgICAgdGhpcy5fdWlTb3Vy
Y2VDb2RlRm9yVVJMID0ge307CisgICAgICAgIHRoaXMuX3VpTG9jYXRpb25zID0ge307CisgICAg
ICAgIHRoaXMuX3BvcHVsYXRlKCk7CisgICAgfQorfQorCitXZWJJbnNwZWN0b3IuU0FTU1NvdXJj
ZU1hcHBpbmcucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90
eXBlOworCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5V
SVNvdXJjZUNvZGV9CisgKiBAcGFyYW0ge3N0cmluZ30gc2Fzc1VSTAorICovCitXZWJJbnNwZWN0
b3IuU0FTU1NvdXJjZSA9IGZ1bmN0aW9uKHNhc3NVUkwpCit7CisgICAgdmFyIGNvbnRlbnQgPSBJ
bnNwZWN0b3JGcm9udGVuZEhvc3QubG9hZFJlc291cmNlU3luY2hyb25vdXNseShzYXNzVVJMKTsK
KyAgICB2YXIgY29udGVudFByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50
UHJvdmlkZXIoV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU3R5bGVzaGVldCwgY29udGVudCk7
CisgICAgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5jYWxsKHRoaXMsIHNhc3NVUkwsIG51bGws
IGNvbnRlbnRQcm92aWRlcik7Cit9CisKK1dlYkluc3BlY3Rvci5TQVNTU291cmNlLnByb3RvdHlw
ZSA9IHsKKyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtib29sZWFufQorICAgICAqLworICAgIGlz
RWRpdGFibGU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
K30KKworV2ViSW5zcGVjdG9yLlNBU1NTb3VyY2UucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYklu
c3BlY3Rvci5VSVNvdXJjZUNvZGUucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwppbmRleCA4ZGE5ZDdmNzlkZWVkZGY1
Y2Q4MjlhZDRhZWViOTAwMjNkMzhiOWUyLi5mZDI5ZWM5YjAxZTBiMGVmYjQ2M2VkZTFlZjYxMGQ0
MWQxNWQ4ODNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NjcmlwdHNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NjcmlwdHNQYW5lbC5qcwpAQCAtNDY5LDcgKzQ2OSw2IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRz
UGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHNvdXJjZUZyYW1lID0gbmV3IFdl
Ykluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUodGhpcywgamF2YVNjcmlwdFNvdXJjZSk7
CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgc291cmNlRnJhbWUgPSBuZXcgV2ViSW5zcGVj
dG9yLlVJU291cmNlQ29kZUZyYW1lKHVpU291cmNlQ29kZSk7Ci0KICAgICAgICAgdGhpcy5fc291
cmNlRnJhbWVzQnlVSVNvdXJjZUNvZGUucHV0KHVpU291cmNlQ29kZSwgc291cmNlRnJhbWUpOwog
ICAgICAgICByZXR1cm4gc291cmNlRnJhbWU7CiAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzCmluZGV4IGZjNjkzOGE0MWNlODk2NTRkMjU4
ZDBiOGQ3ZjgxMjY5NTE2MWJlNzguLjA4MGJhY2VkYjkxMDFmOGIyZjhkMzdhNDk5ODVhYTA1MWQ4
OGU3NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0
dGluZ3MuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5n
cy5qcwpAQCAtMTg3LDYgKzE4Nyw3IEBAIFdlYkluc3BlY3Rvci5FeHBlcmltZW50c1NldHRpbmdz
ID0gZnVuY3Rpb24oKQogICAgIHRoaXMubGl2ZU5hdGl2ZU1lbW9yeUNoYXJ0ID0gdGhpcy5fY3Jl
YXRlRXhwZXJpbWVudCgibGl2ZU5hdGl2ZU1lbW9yeUNoYXJ0IiwgIkxpdmUgbmF0aXZlIG1lbW9y
eSBjaGFydCIpOwogICAgIHRoaXMuZmlsZVN5c3RlbUluc3BlY3Rpb24gPSB0aGlzLl9jcmVhdGVF
eHBlcmltZW50KCJmaWxlU3lzdGVtSW5zcGVjdGlvbiIsICJGaWxlU3lzdGVtIGluc3BlY3Rpb24i
KTsKICAgICB0aGlzLm1haW5UaHJlYWRNb25pdG9yaW5nID0gdGhpcy5fY3JlYXRlRXhwZXJpbWVu
dCgibWFpblRocmVhZE1vbml0b3JpbmciLCAiU2hvdyBDUFUgYWN0aXZpdHkgaW4gVGltZWxpbmUi
KTsKKyAgICB0aGlzLnNhc3MgPSB0aGlzLl9jcmVhdGVFeHBlcmltZW50KCJzYXNzIiwgIlN1cHBv
cnQgZm9yIFNBU1MiKTsKIAogICAgIHRoaXMuX2NsZWFuVXBTZXR0aW5nKCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1BhbmVsLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNQYW5lbC5qcwppbmRleCBh
ZDFhYjRhNjc0YTkwYzk4Yzg1OWRjY2YwODViNDIzZjkwMWZhOWYxLi5jNDFkYzdmYWZhNGY5ZGU1
OTVlMDJiOTAzMDc4OWE5MmJlMjQxZTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU3R5bGVzUGFuZWwuanMKQEAgLTMwLDYgKzMwLDcgQEAKICAqIEBjb25z
dHJ1Y3RvcgogICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5PYmplY3R9CiAgKiBAaW1wbGVtZW50
cyB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZVByb3ZpZGVyfQorICogQGltcGxlbWVudHMge1dl
Ykluc3BlY3Rvci5Tb3VyY2VNYXBwaW5nfQogICovCiBXZWJJbnNwZWN0b3IuU3R5bGVzVUlTb3Vy
Y2VDb2RlUHJvdmlkZXIgPSBmdW5jdGlvbigpCiB7CkBAIC0zNyw2ICszOCw3IEBAIFdlYkluc3Bl
Y3Rvci5TdHlsZXNVSVNvdXJjZUNvZGVQcm92aWRlciA9IGZ1bmN0aW9uKCkKICAgICAgKiBAdHlw
ZSB7QXJyYXkuPFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGU+fQogICAgICAqLwogICAgIHRoaXMu
X3VpU291cmNlQ29kZXMgPSBbXTsKKyAgICB0aGlzLl91aVNvdXJjZUNvZGVGb3JVUkwgPSB7fTsK
ICAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5SZXNvdXJjZUFkZGVkLCB0aGlz
Ll9yZXNvdXJjZUFkZGVkLCB0aGlzKTsKIH0KIApAQCAtNDksNiArNTEsMjggQEAgV2ViSW5zcGVj
dG9yLlN0eWxlc1VJU291cmNlQ29kZVByb3ZpZGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0
dXJuIHRoaXMuX3VpU291cmNlQ29kZXM7CiAgICAgfSwKIAorICAgIC8qKgorICAgICAqIEBwYXJh
bSB7V2ViSW5zcGVjdG9yLlJhd0xvY2F0aW9ufSByYXdMb2NhdGlvbgorICAgICAqIEByZXR1cm4g
e1dlYkluc3BlY3Rvci5VSUxvY2F0aW9ufQorICAgICAqLworICAgIHJhd0xvY2F0aW9uVG9VSUxv
Y2F0aW9uOiBmdW5jdGlvbihyYXdMb2NhdGlvbikKKyAgICB7CisgICAgICAgIHZhciBsb2NhdGlv
biA9IC8qKiBAdHlwZSBXZWJJbnNwZWN0b3IuQ1NTTG9jYXRpb24gKi8gcmF3TG9jYXRpb247Cisg
ICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSB0aGlzLl91aVNvdXJjZUNvZGVGb3JVUkxbbG9jYXRp
b24udXJsXTsKKyAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuVUlMb2NhdGlvbih1aVNv
dXJjZUNvZGUsIGxvY2F0aW9uLmxpbmVOdW1iZXIsIDApOworICAgIH0sCisKKyAgICAvKioKKyAg
ICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNlQ29kZQorICAg
ICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lTnVtYmVyCisgICAgICogQHBhcmFtIHtudW1iZXJ9IGNv
bHVtbk51bWJlcgorICAgICAqIEByZXR1cm4ge1dlYkluc3BlY3Rvci5SYXdMb2NhdGlvbn0KKyAg
ICAgKi8KKyAgICB1aUxvY2F0aW9uVG9SYXdMb2NhdGlvbjogZnVuY3Rpb24odWlTb3VyY2VDb2Rl
LCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpCisgICAgeworICAgICAgICByZXR1cm4gbmV3IFdl
Ykluc3BlY3Rvci5DU1NMb2NhdGlvbih1aVNvdXJjZUNvZGUuY29udGVudFVSTCgpIHx8ICIiLCBs
aW5lTnVtYmVyKTsKKyAgICB9LAorCiAgICAgX3BvcHVsYXRlOiBmdW5jdGlvbigpCiAgICAgewog
ICAgICAgICBmdW5jdGlvbiBwb3B1bGF0ZUZyYW1lKGZyYW1lKQpAQCAtNjQsMTkgKzg4LDI2IEBA
IFdlYkluc3BlY3Rvci5TdHlsZXNVSVNvdXJjZUNvZGVQcm92aWRlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHBvcHVsYXRlRnJhbWUuY2FsbCh0aGlzLCBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVl
TW9kZWwubWFpbkZyYW1lKTsKICAgICB9LAogCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJ
bnNwZWN0b3IuRXZlbnR9IGV2ZW50CisgICAgICovCiAgICAgX3Jlc291cmNlQWRkZWQ6IGZ1bmN0
aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gZXZlbnQuZGF0YTsKKyAg
ICAgICAgdmFyIHJlc291cmNlID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuUmVzb3VyY2V9ICov
IGV2ZW50LmRhdGE7CiAgICAgICAgIGlmIChyZXNvdXJjZS50eXBlICE9PSBXZWJJbnNwZWN0b3Iu
cmVzb3VyY2VUeXBlcy5TdHlsZXNoZWV0KQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB2
YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5TdHlsZVNvdXJjZShyZXNvdXJjZSk7
CiAgICAgICAgIHRoaXMuX3VpU291cmNlQ29kZXMucHVzaCh1aVNvdXJjZUNvZGUpOworICAgICAg
ICB0aGlzLl91aVNvdXJjZUNvZGVGb3JVUkxbcmVzb3VyY2UudXJsXSA9IHVpU291cmNlQ29kZTsK
KyAgICAgICAgV2ViSW5zcGVjdG9yLmNzc01vZGVsLnNldFNvdXJjZU1hcHBpbmcocmVzb3VyY2Uu
dXJsLCB0aGlzKTsKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5z
cGVjdG9yLlVJU291cmNlQ29kZVByb3ZpZGVyLkV2ZW50cy5VSVNvdXJjZUNvZGVBZGRlZCwgdWlT
b3VyY2VDb2RlKTsKICAgICB9LAogCiAgICAgcmVzZXQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAg
ICAgIHRoaXMuX3VpU291cmNlQ29kZXMgPSBbXTsKKyAgICAgICAgdGhpcy5fdWlTb3VyY2VDb2Rl
Rm9yVVJMID0ge307CisgICAgICAgIFdlYkluc3BlY3Rvci5jc3NNb2RlbC5yZXNldFNvdXJjZU1h
cHBpbmdzKCk7CiAgICAgICAgIHRoaXMuX3BvcHVsYXRlKCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUu
anMKaW5kZXggMWY5OGIwYjRiNjBlMjZhMjlmNTgxNWJkYTJlNzgzY2YxZjgzNTNhYS4uZDAxZjZh
NDVkNjMyYWJmYWEwYjg5ZGQ2ZGEyYTU2OGM3ZmNiY2Y0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCkBAIC0x
MTgwLDYgKzExODAsMTAgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydGllc1NlY3Rpb24ucHJv
dG90eXBlID0gewogCiAgICAgX2NyZWF0ZVJ1bGVPcmlnaW5Ob2RlOiBmdW5jdGlvbigpCiAgICAg
eworICAgICAgICAvKioKKyAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHVybAorICAgICAgICAg
KiBAcGFyYW0ge251bWJlcn0gbGluZQorICAgICAgICAgKi8KICAgICAgICAgZnVuY3Rpb24gbGlu
a2lmeVVuY29weWFibGUodXJsLCBsaW5lKQogICAgICAgICB7CiAgICAgICAgICAgICB2YXIgbGlu
ayA9IFdlYkluc3BlY3Rvci5saW5raWZ5UmVzb3VyY2VBc05vZGUodXJsLCBsaW5lLCAiIiwgdXJs
ICsgIjoiICsgKGxpbmUgKyAxKSk7CkBAIC0xMTkwLDggKzExOTQsMTMgQEAgV2ViSW5zcGVjdG9y
LlN0eWxlUHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJu
IGxpbms7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAodGhpcy5zdHlsZVJ1bGUuc291cmNlVVJM
KQotICAgICAgICAgICAgcmV0dXJuIGxpbmtpZnlVbmNvcHlhYmxlKHRoaXMuc3R5bGVSdWxlLnNv
dXJjZVVSTCwgdGhpcy5ydWxlLnNvdXJjZUxpbmUpOworICAgICAgICBpZiAodGhpcy5zdHlsZVJ1
bGUuc291cmNlVVJMKSB7CisgICAgICAgICAgICB2YXIgdWlMb2NhdGlvbiA9IHRoaXMucnVsZS51
aUxvY2F0aW9uKCk7CisgICAgICAgICAgICBpZiAodWlMb2NhdGlvbikKKyAgICAgICAgICAgICAg
ICByZXR1cm4gbGlua2lmeVVuY29weWFibGUodWlMb2NhdGlvbi51cmwoKSwgdWlMb2NhdGlvbi5s
aW5lTnVtYmVyKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gbGlu
a2lmeVVuY29weWFibGUodGhpcy5zdHlsZVJ1bGUuc291cmNlVVJMLCB0aGlzLnJ1bGUuc291cmNl
TGluZSk7CisgICAgICAgIH0KIAogICAgICAgICBpZiAoIXRoaXMucnVsZSkKICAgICAgICAgICAg
IHJldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIik7CkBAIC0yMDA2LDggKzIwMTUsMTAg
QEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHZhciBsaXZlUHJvcGVydHkgPSB0aGlzLnN0eWxl
LmdldExpdmVQcm9wZXJ0eShuYW1lKTsKLSAgICAgICAgICAgIHZhciBpdGVtID0gbmV3IFdlYklu
c3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQodGhpcy5zZWN0aW9uLCB0aGlzLl9wYXJl
bnRQYW5lLCB0aGlzLl9zdHlsZVJ1bGUsIHRoaXMuc3R5bGUsIGxpdmVQcm9wZXJ0eSwgZmFsc2Us
IGluaGVyaXRlZCwgb3ZlcmxvYWRlZCk7Ci0gICAgICAgICAgICB0aGlzLmFwcGVuZENoaWxkKGl0
ZW0pOworICAgICAgICAgICAgaWYgKGxpdmVQcm9wZXJ0eSkgeworICAgICAgICAgICAgICAgIHZh
ciBpdGVtID0gbmV3IFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQodGhpcy5z
ZWN0aW9uLCB0aGlzLl9wYXJlbnRQYW5lLCB0aGlzLl9zdHlsZVJ1bGUsIHRoaXMuc3R5bGUsIGxp
dmVQcm9wZXJ0eSwgZmFsc2UsIGluaGVyaXRlZCwgb3ZlcmxvYWRlZCk7CisgICAgICAgICAgICAg
ICAgdGhpcy5hcHBlbmRDaGlsZChpdGVtKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAg
IH0sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVUlT
b3VyY2VDb2RlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJj
ZUNvZGUuanMKaW5kZXggY2UyNDExNjU0MWM2MGY4MTE3N2Q1Y2JmMTViMzFkN2FlZjE2YjMyYi4u
YTAxNzY4ZjcwOTFjOTUwYTIxYTQ4ZTA4MWI1NmUwZjYyYWRjYjFlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMKQEAgLTUwOSw2
ICs1MDksMTQgQEAgV2ViSW5zcGVjdG9yLlVJTG9jYXRpb24ucHJvdG90eXBlID0gewogICAgIHVp
TG9jYXRpb25Ub1Jhd0xvY2F0aW9uOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4g
dGhpcy51aVNvdXJjZUNvZGUudWlMb2NhdGlvblRvUmF3TG9jYXRpb24odGhpcy5saW5lTnVtYmVy
LCB0aGlzLmNvbHVtbk51bWJlcik7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEByZXR1cm4g
ez9zdHJpbmd9CisgICAgICovCisgICAgdXJsOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBy
ZXR1cm4gdGhpcy51aVNvdXJjZUNvZGUuY29udGVudFVSTCgpOwogICAgIH0KIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCmluZGV4IDQzNDUyNWUx
MWEzODA5YTk1NTk5NWRlMDk1MzRkMDExY2MwYTYxOTQuLmIwMjhmZDllMTJlZmVjNmU1YzMyMDM0
YzBhZTQxYmMxMGU5MTA3MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvV2ViS2l0LnFyYworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1dlYktpdC5xcmMKQEAgLTEzMyw2ICsxMzMsNyBAQAogICAgIDxmaWxlPlJlc291cmNlV2Vi
U29ja2V0RnJhbWVWaWV3LmpzPC9maWxlPgogICAgIDxmaWxlPlJlc291cmNlc1BhbmVsLmpzPC9m
aWxlPgogICAgIDxmaWxlPlJldmlzaW9uSGlzdG9yeVZpZXcuanM8L2ZpbGU+CisgICAgPGZpbGU+
U0FTU1NvdXJjZU1hcHBpbmcuanM8L2ZpbGU+CiAgICAgPGZpbGU+U2NvcGVDaGFpblNpZGViYXJQ
YW5lLmpzPC9maWxlPgogICAgIDxmaWxlPlNjcmlwdC5qczwvZmlsZT4KICAgICA8ZmlsZT5TY3Jp
cHRGb3JtYXR0ZXIuanM8L2ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1dvcmtzcGFjZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvV29ya3NwYWNlLmpzCmluZGV4IDMyMTgyZDU5NTkyN2UwMGM5NjU2YWFmMWJmY2MzMzI5
ODE1ZDg0NGQuLjQwZGE4ZGQyOThhODQyYmIwNWZlMmRiOGFkMzE0MzFkYjU1Njg4MGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya3NwYWNlLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya3NwYWNlLmpzCkBAIC0x
MjMsMTAgKzEyMywxMiBAQCBXZWJJbnNwZWN0b3IuQ29tcG9zaXRlVUlTb3VyY2VDb2RlUHJvdmlk
ZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5PYgogV2ViSW5zcGVjdG9yLldv
cmtzcGFjZSA9IGZ1bmN0aW9uKCkKIHsKICAgICB2YXIgc2NyaXB0TWFwcGluZyA9IG5ldyBXZWJJ
bnNwZWN0b3IuRGVidWdnZXJTY3JpcHRNYXBwaW5nKCk7Ci0gICAgdmFyIHByb3ZpZGVycyA9IHNj
cmlwdE1hcHBpbmcudWlTb3VyY2VDb2RlUHJvdmlkZXJzKCk7Ci0gICAgcHJvdmlkZXJzID0gcHJv
dmlkZXJzLmNvbmNhdChuZXcgV2ViSW5zcGVjdG9yLlN0eWxlc1VJU291cmNlQ29kZVByb3ZpZGVy
KCkpOworICAgIHZhciBzdHlsZVByb3ZpZGVycyA9IFtuZXcgV2ViSW5zcGVjdG9yLlN0eWxlc1VJ
U291cmNlQ29kZVByb3ZpZGVyKCldOworICAgIGlmIChXZWJJbnNwZWN0b3IuZXhwZXJpbWVudHNT
ZXR0aW5ncy5zYXNzLmlzRW5hYmxlZCgpKQorICAgICAgICBzdHlsZVByb3ZpZGVycy5wdXNoKG5l
dyBXZWJJbnNwZWN0b3IuU0FTU1NvdXJjZU1hcHBpbmcoKSk7CisgICAgdmFyIHByb3ZpZGVycyA9
IHNjcmlwdE1hcHBpbmcudWlTb3VyY2VDb2RlUHJvdmlkZXJzKCkuY29uY2F0KHN0eWxlUHJvdmlk
ZXJzKTsKICAgICBXZWJJbnNwZWN0b3IuQ29tcG9zaXRlVUlTb3VyY2VDb2RlUHJvdmlkZXIuY2Fs
bCh0aGlzLCBwcm92aWRlcnMpOwotICAgIAorCiAgICAgbmV3IFdlYkluc3BlY3Rvci5QcmVzZW50
YXRpb25Db25zb2xlTWVzc2FnZUhlbHBlcih0aGlzKTsKICAgICAKICAgICBXZWJJbnNwZWN0b3Iu
cmVzb3VyY2VUcmVlTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmVzb3VyY2VU
cmVlTW9kZWwuRXZlbnRUeXBlcy5NYWluRnJhbWVOYXZpZ2F0ZWQsIHRoaXMuX3Jlc2V0LCB0aGlz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmh0bWwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5o
dG1sCmluZGV4IDYxOTA2NDBlMzMyYmM4OTYwYWVjMzM4OGQ2OTQ4ZTZiOTY2YTk1MzUuLjU3N2Q5
YzE0MjhjMWQ0MzU4YTljZGM2MTVlY2ZjNzVkMmQzMzlmM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbApAQCAtMTk3LDYgKzE5Nyw3
IEBAIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iUmF3
U291cmNlQ29kZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iUmVzb3VyY2VTY3JpcHRNYXBwaW5nLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJDb21waWxlclNjcmlwdE1hcHBpbmcuanMiPjwv
c2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlNBU1NTb3Vy
Y2VNYXBwaW5nLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJTY3JpcHRzU2VhcmNoU2NvcGUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkRPTUFnZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJUaW1lbGluZVByZXNlbnRhdGlvbk1vZGVs
LmpzIj48L3NjcmlwdD4K
</data>
<flag name="review"
          id="163581"
          type_id="1"
          status="+"
          setter="vsevik"
    />
          </attachment>
      

    </bug>

</bugzilla>